иректорію зі свідомо меншим розміром вільної пам'яті, ніж необхідно, для його зберігання, на виході програма повинна повідомити користувачеві, що в даній директорії недостатньо вільної пам'яті і надати можливість вибору іншій теці.
2. Пояснювальна записка
. 1 Функціональні та експлуатаційні характеристики
Програма володіє наступними характеристиками:
зручний інтерфейс;
легкість у використанні;
обробляє файли будь-якого типу розміром до 2 Гб
. 2 Опис програми
. 2.1 Функціональне опис
(Основні процедури і функції, використані в програмі) sek2time (double c)//як параметр подається кількість секунд повертається рядок формату чч: мм: cc (bool start)//запускає потік в якому відбувається розшифрування або зашифровування даних, залежно від значення параметра start (String path, String pathOut, int start)//підпрограма реалізує зашифровування даних, параметрами служать шлях до відкритого файлу, шлях до закритого файлу, і змінна вказує на початок (з якого 64-бітного блоку починати зашифровування) (String path, String pathOut, int start)//підпрограма реалізує розшифровування даних, параметрами служать шлях до закритого файлу, шлях до відкритого файлу, і змінна вказує на початок (з якого 64-бітного блоку починати розшифрування) long Zamena (unsigned long b, bool k)//на вхід подається 32-бітний блок даних, де він розбивається на 8 4-бітових блоку, які пропускаються через таблицю замен.long SdvigIter (unsigned long b)//на вхід подається 32-бітний блок даних, який циклічно з рухається на 11 біт в ліво.
. 2.2 Інтерфейс програмного продукту
Після запуску програми на екран виводиться заставка програми:
Після заставки відкривається головне вікно програми:
Висновок
Алгоритми симетричного шифрування - алгоритми шифрування, в яких для зашіфровиванія і розшифрування використовується один і той же ключ, або ключ розшифрування легко обчислюється з ключа зашіфровиванія і навпаки.
Симетричне шифрування буває двох видів: блокове і потокове. Блочне шифрування - в цьому випадку інформація розбивається на блоки фіксованої довжини (наприклад, 64 або 128 бітів), після чого ці блоки по черзі шифруються. Причому в різних алгоритмах шифрування або навіть у різних режимах роботи одного і того ж алгоритму блоки можуть шифруватися незалежно один від одного або «зі зчепленням» - коли результат зашіфровиванія поточного блоку даних залежить від значення попереднього блоку або результату зашіфровиванія попереднього блоку.
Потокове шифрування - необхідно, насамперед, у тих випадках, коли інформацію неможливо розбити на блоки - скажімо, якийсь потік даних, кожен символ яких повинен бути зашифрований і відправлений куди - або, не чекаючи інших даних, достатніх для формування блоку.
До алгоритмів блокового симетричного шифрування відноситься і алгоритм ГОСТ 28147-89.
Алгоритм ГОСТ 28147-89 є обов'язковим для застосування в якості алгоритму шифрування в державних організаціях РФ і ряді комерційних.
Даний алгоритм заснований на т. зв. Мережі Фейстеля, яка передбачає розбиття оброблюваного блоку даних на кілька субблоків (найчастіше - на два), один з яких обробляється якоїсь функцією і накладається на один або кілька інших субблоків.
Алгоритм ГОСТ 28147-89 має 4 режими роботи:
Простий заміни;
гамування;
гамування зі зворотним зв'язком;
Вироблення имитовставки.
Список літератури
Архангельський А.Я. C ++ Builder 6. Довідковий посібник. Книга 1. Мова C ++ [електронний ресурс]/А.Я. Архангельський. М.: Біном-Пресс, 2012р. 544с.
Дінман М.І. С ++. Освой на прикладах [електронний ресурс]/М.І. Дінман. СПб .: БХВ-Петербург, 2010р. 384с.
Шілдт Г. Самовчитель С ++: Пер. з англ.- 3-е изд./Г. Шілдт. СПб.:БХВ-Петербург, 2009р. 688с.
Павловська Т. А. C/C ++. Програмування на мові високого рівня Т.А. Павловська. СПб.:Питер, 2008р. 461с.
Панасенко С.П. Алгоритми шифрування. Спеціальний довідник С.П. Панасенко. СПб.:БХВ-Петербург, 2012р. 576с.
Додаток
Блок-схема підпрограми Kode (String, String, int)