я передачі інформації, вона використовується в стільникового зв'язку, платному цифровому телебаченні при підключенні до Wi-Fi і на транспорті для захисту квитків від підробок, і в банківських операціях, і навіть для захисту електронної пошти від спаму.
. 3 Огляд сучасних криптографічних алгоритмів
. Алгоритм DES: - назва Федерального Стандарту Обробки інформації, який описує алгоритм шифрування даних (Data Encryption Algorithm DEA). У термінах ANSI DEA визначений як стандарт X9.32.DEA - розвиток алгоритму Lucifer, який був розроблений на початку 1970-х років компанією IBM; на заключних стадіях розробки активну участь брало NSA і NBS. З моменту опублікування DEA (більш відомий як DES), широко вивчався і відомий як один з кращих симетричних алгоритмів.
Схема алгоритму, де: вихідний текст (блок 64 біта) зашифрований блок64-х розрядний ключ
числа розрядність на даній гілці алгоритму, Pk перестановкіподстановка 6 біт - gt; 4 біта (i) зрушення (i - номер ітерації) додавання по модулю 2
конкатенація бітових рядків, причому верхня - спереду
розбиття рядка на дві, причому перша - нагорі
обмежений точками ділянку повторюється 16 разів.
Перестановки виконуються за звичайною формулою
[i]=S [P [i]]
Де S - вихідна рядок (масив символів, нумерація з одиниці) - результат перестановки (масив символів, нумерація з одиниці) - таблиця перестановок (масив індексів в рядку S)
S - підстановка 6 gt; 4. У відповідність шести бітам ставиться чотири. Підстановка виробляє?? я за наступним правилом: нехай вихідна бітова рядок -/abcdef /, тоді/af/- номер рядка, а/bcde/- номер стовпчика. Рядок і стовпець визначають місцезнаходження результату в S-таблиці. Наприклад, при використанні таблиці S6, число 58 (111010) переводиться в 13 (+1101).
Крім звичайного його застосування, цей алгоритм можна використовувати для створення «односторонніх» функцій. Для цього ключ і початковий текст міняються місцями: у формулі Crypt=DES (Text, Key) вихідний текст може бути несекретним і фіксованим. А Crypt розглядається як функція ключа - Key.оперірует блоками 64-бітного розміру і використовує 56-бітний ключ (8 парних бітів повного 64-бітного ключа не використовуються). DEA - симетрична криптосистема, визначена як 16-раундовий шифр Фейстеля була спочатку призначена для апаратної реалізації. Коли DEA використовується для передачі інформації, то щоб зашифрувати і розшифрувати повідомлення або щоб створити і перевірити код автентичності повідомлення (MAC) відправник і одержувач повинні знати секретний ключ. DEA може також використовуватися одним користувачем, наприклад, для шифрування файлів на жорсткому диску. У багатокористувацької середовищі організувати захищене розподіл ключа складно; ідеальне рішення цієї проблеми пропонує криптографія загального ключа.
. Алгоритм RSA: - криптографічний система відкритого ключа, що забезпечує такі механізми захисту як шифрування і цифровий підпис (аутентифікація - встановлення автентичності). Криптосистема RSA розроблена в 1977 році і названа на честь її розробників Ronald Rivest, Adi Shamir і Leonard Adleman.относітся до так званих асиметричним алгоритмам, у яких ключ шифрування не збігається з ключем дешифрування. Один з ключів доступний всім (так робиться спеціально) і називається відкритим ключем, інший зберігається тільки у його хазяїна і невідомий нікому іншому. За допомогою одного ключа можна робити операції тільки в одну сторону. Якщо повідомлення зашифровано за допомогою одного ключа, то розшифрувати його можна тільки за допомогою іншого. Маючи один з ключів неможливо (дуже складно) знайти інший ключ, якщо розрядність ключа висока.
Алгоритм RSA складається з наступних пунктів:
1. Вибрати два досить великих простих числа p і q
2. Обчислити n=p * q
. Обчислити m=(p - 1) * (q - 1)
. Вибрати число d взаємно просте з m
. Вибрати число e так, щоб e * d=1 (mod m)
Числа e і d є ключами RSA. Шіфруемие дані необхідно розбити на блоки - числа від 0 до n - 1. Шифрування та дешифрування даних проводяться наступним чином:
· Шифрування: b=ae (mod n)
· Дешифровка: a=bd (mod n)
Слід також зазначити, що ключі e і d рівноправні, тобто повідомлення можна шифрувати як ключем e, так і ключем d, при цьому розшифровка повинна бути зроблена за допомогою іншого ключа.
Алгоритм RSA набагато повільніше ніж DES і інші алгоритми блокового шифрування. Програмна реалізація...