- •Анотація
- •Криптографія та шифрування
- •Що таке криптографія?
- •Історія криптографії
- •Що таке шифрування?
- •Термінологія
- •Етапи шифрування
- •Види шифрування
- •Висновки
- •Розробка алгоритму программи шифрування
- •Ціль алгоритму
- •Створення алгоритму з врахуванням цілі
- •Суть роботи алгоритму
- •Фактична реалізація алгоритму
- •Висновки
- •Формат bmp. Опис та специфікація
- •Початкові відомості
- •Структура файлу
- •Складнощі у використанні
- •Висновки
- •Засоби реалізації алгоритму і программи
- •Обрання мови програмування
- •Обрання допоміжних засобів (бібліотек)
- •Висновки
- •Висновки
- •Список літератури
- •Список сайтів
- •Плани щодо майбутнього програми
- •Додаток а. Текст програми
- •Додаток б. Опис бібліотеки easybmp
- •Додаток в. Застосування програми на практиці
Етапи шифрування
Інформація, що може бути прочитана, осмислена і зрозуміла без яких небудь спеціальних заходів, називається відкритим текстом (plaintext, clear text).
Криптографічний алгоритм, або алгоритм шифрування, — це математична формула, що описує процеси шифрування і розшифрування.
Метод перекручування відкритого тексту таким чином, щоб сховати його суть, називається шифруванням (encryption або enciphering). Шифрування відкритого тексту приводить до його перетворення в незрозумілу абракадабру, іменовану шифртекстом (ciphertext).
Щоб зашифрувати відкритий текст, криптоалгоритм працює в сполученні з ключем — словом, числом або фразою. Те саме повідомлення одним алгоритмом, але різними ключами буде перетворюватися в різний шифротекст (ciphertext), або, як варіант, ключ генерується автоматично на основі того самого відкритого тексту. Захищеність шифротексту цілком залежить від двох речей: стійкості криптоалгоритму і таємності ключа.
Криптоалгоритм (алгоритм шифрування) плюс усілякі ключі і протоколи, що приводять їх у дію, складають криптосистему.
Протилежний процес перетворення шифртекста (ciphertext) в його вихідний вид називається розшифруванням (decryption або deciphering).
Отож, для того, щоб безпечно передати іншій людині файл через незахищені канали зв’язку треба спочатку зашифрувати цей файл, потім його передати і зробити так, щоб отримувач міг його розшифрувати. Наприклад, можна передати отримувачу програму і пароль для розшифрування файлу. Спосіб роз шифровки залежить від реалізації алгоритму.
Види шифрування
Як відомо, шифрування підрозділяється на процес зашифровування і розшифрування.
Залежно від алгоритму перетворення даних, методи шифрування поділяються на гарантованої або тимчасової криптостійкості. Питання криптостійкості розглядатися у цій проектній роботі, як вже було згадано, розглядатися не буде. Але очевидно, що мій алгоритм матиме досить слабку криптостійкість, якщо порівнювати з алгоритмами шифрування типу, навіть, Blowfish3.
Залежно від структури використовуваних ключів методи шифрування поділяються на:
симетричне шифрування: стороннім особам може бути відомий алгоритм шифрування, але невідома невелика порція секретної інформації - ключа, однакового для відправника і одержувача повідомлення;
асиметричне шифрування: стороннім особам може бути відомий алгоритм шифрування, і, можливо, відкритий ключ, але невідомий закритий ключ, відомий тільки одержувачу.
Також є безключові алгоритми.
Далі йде класифікація видів алгоритмів із прикладами їх реалізації:
Безключові:
Хеш-функції – функція, що перетворює вхідні дані будь-якого (як правило, великого) розміру в дані фіксованого розміру.
Односторонні перестановки.
Генератори псевдовипадкових чисел – алгоритм, що генерує послідовність чисел, елементи якої майже незалежні один від одного і підкоряються заданому розподілу (зазвичай рівномірному).
Симетричні схеми:
Шифри – будь-яка система перетворення тексту з секретом (ключем) для забезпечення секретності переданої інформації.
Блокові – різновид симетричного шифру. На відміну від поточного, блоковий шифр обробляє відкритий текст блоками по кілька (як правило 8 або 16) байт за одну ітерацію. Якщо вихідний текст (або його залишок) менше розміру блоку, перед шифруванням його доповнюють.
Потокові – це симетричні шифри, в яких кожен символ відкритого тексту перетворюється на символ шифрованого тексту в залежності не тільки від використовуваного ключа, але і від його розташування в потоці відкритого тексту. Потоковий шифр реалізує інший підхід до симетричного шифрування, ніж блокові шифри.
Хеш-функції.
ЕЦП – реквізит електронного документа, що дозволяє встановити відсутність спотворення інформації в електронному документі з моменту формування ЕП і перевірити приналежність підпису власникові сертифікату ключа ЕП. Значення реквізиту виходить в результаті криптографічного перетворення інформації з використанням закритого ключа ЕП.
Генератори псевдовипадкових чисел.
Примітиви ідентифікації.
Асиметричні схеми:
Шифри.
ЕЦП.
Примітиви ідентифікації.