У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Курсова робота - Криптографія
71
S-комiрки iсну¦ пара вхiдних значень iз рiзницею X, i iсну¦ пара вiдповiдних iм вихiдних значень iз рiзницею Y, то будемо казати, що для даноi S-комiрки X може викликати Y. Якщо ж для заданоi S-комiрки та значень X i Y такоi пари не iсну¦, то будемо казати, що для даноi S-комiрки X не може викликати Y.

Таблиця розподiлу рiзниць S-комiрки ма¦ розмiрнiсть . ¦i рядки вiдповiдають всiм можливим вхiдним рiзницям, а стовпчики - всiм можливим вихiдним рiзницям. Елементом таблицi, що вiдповiда¦ вхiднiй рiзницi X i вихiднiй рiзницi Y, ¦ кiлькiсть пар вхiдних значень iз рiзницею X, яким вiдповiдають пари вихiдних значень iз рiзницею Y. Таким чином, якщо X виклика¦ Y, то елементом таблицi ¦ число бiльше 0, а якщо X не виклика¦ Y, то елементом таблицi ¦ 0.

Будемо казати, що для певноi S-комiрки X може викликати Y iз ймовiрнiстю P, якщо P ¦ вiдношення кiлькостi пар вхiдних значень iз рiзницею X до кiлькостi пар вiдповiдних вихiдних значень iз рiзницею Y. Важливiсть таблицi розподiлу рiзниць поляга¦ в тому, що вона дозволя¦ знайти ймовiрнi пари вхiдних i вихiдних значень по вхiдним i вихiдним рiзницям. Отже, знаючи лише рiзницю мiж двома вхiдними значеннями та рiзницю мiж двома вихiдними значеннями S-комiрки, можна з певною ймовiрнiстю визначити, якi цi вхiднi та вихiднi значення.

Таблиця розподiлу рiзниць, яка вiдповiда¦ надiйнiй S-комiрцi, повинна мiстити елементи, що не перевищують 2. Число 2 вiдповiда¦ деякiй парi значень (A,B) i двоiстiй iй парi (B,A).

До недавнього часу найбiльш широко використовуваним алгоритмом шифрування був DES (Data Encryption Standard - Стандарт Шифрування Даних). Алгоритм розроблений у 1977 роцi Агентством Нацiональноi Безпеки США на основi алгоритму, створеного фiрмою IBM, який мав довжину ключа 128 бiтiв. Алгоритм DES належить до класу шифрiв Фейстеля iз кiлькiстю iтерацiй 16, ма¦ довжину ключа 56 бiта i довжину блока 64 бiта. Внаслiдок малоi довжини ключа зараз вже ¦ ненадiйним.

Опис алгоритму DES наводити не будемо, оскiльки в дану роботу включена його реалiзацiя (режим ECB). Iнформацiю щодо реалiзацii алгоритму DES дивiться в вiдповiдному роздiлi.

CAST

Iсну¦ декiлька варiантiв алгоритму шифрування CAST - CAST-128 (iнша назва - CAST5), який працю¦ з ключем шифрування довжиною 128 бiтiв, i CAST-256, який працю¦ з ключем шифрування довжиною 256 бiтiв. Далi буде розглянутий лише CAST-128.

CAST-128 належить до класу шифрiв Фейстеля iз кiлькiстю iтерацiй 16 i довжиною блока 64 бiта, та стiйкий до лiнiйних i диференцiйних атак. S-комiрки, що використовуються в алгоритмi, мають мiнiмальну нелiнiйнiсть 74 i максимальний елемент 2 у таблицi розподiлу рiзниць. За довжиною ключа алгоритм може вважатися криптографiчно стiйким; крiм того, алгоритм ма¦ високу швидкiсть роботи - 3,3 MB за секунду на процесорi Pentium 150 MHz.

Алгоритм CAST-128 склада¦ться з чотирьох основних крокiв. Загальний вигляд алгоритму наведений нижче.

Вхiд: вiдкритий текст , ключ .

Вихiд: зашифрований текст .

Генерацiя пiдключiв. Обчислення з ключа 16 пар пiдключiв - пiдключа маскування довжиною 32 бiта та пiдключа обертання довжиною 6 бiтiв.

Роздiлення вiдкритого тексту на лiву та праву половини, кожну по 32 бiта: .

Для вiд 1 до 16 обчислення за правилами: . Функцiя може бути типу 1, типу 2 або типу 3 у залежностi вiд номера iтерацii.

Утворення зашифрованого тексту шляхом змiни мiсцями блокiв i iх конкатенацii.

Алгоритм дешифрування вiдрiзня¦ться вiд алгоритму шифрування тим, що iтерацii у кроку 3 виконуються в оберненiй послiдовностi для обчислення .

Застосовуються такi види функцii .

.

.

.

Тут ¦ аргументом функцii ; змiннi застосовуються для вказування на 1, 2, 3 i 4 байти вiдповiдно, вiд найбiльш значущого до найменш значущого.

В iтерацiях 1, 4, 7, 10, 13 i 16 використову¦ться функцiя типу 1, в iтерацiях 2, 5, 8, 11 i 14 - функцiя типу 2, в iтерацiях 3, 6, 9, 12 i 15 - функцiя типу 3.

, а також ¦ масивами, що уявляють собою S-комiрки. Першi чотири S-комiрки використовуються при обчисленнi функцii , iншi чотири S-комiрки - при генерацii пiдключiв . Вмiст S-комiрок наведений нижче.

S-комiрка S1.

30fb40d4 9fa0ff0b 6beccd2f 3f258c7a 1e213f2f 9c004dd3 6003e540 cf9fc949

bfd4af27 88bbbdb5 e2034090 98d09675 6e63a0e0 15c361d2 c2e7661d 22d4ff8e

28683b6f c07fd059 ff2379c8 775f50e2 43c340d3 df2f8656 887ca41a a2d2bd2d

a1c9e0d6 346c4819 61b76d87 22540f2f 2abe32e1 aa54166b 22568e3a a2d341d0

66db40c8 a784392f 004dff2f 2db9d2de 97943fac 4a97c1d8 527644b7 b5f437a7

b82cbaef d751d159 6ff7f0ed 5a097a1f 827b68d0 90ecf52e 22b0c054 bc8e5935

4b6d2f7f 50bb64a2 d2664910 bee5812d b7332290 e93b159f b48ee411 4bff345d

fd45c240 ad31973f c4f6d02e 55fc8165 d5b1caad a1ac2dae a2d4b76d c19b0c50

882240f2 0c6e4f38 a4e4bfd7 4f5ba272 564c1d2f c59c5319 b949e354 b04669fe

b1b6ab8a c71358dd 6385c545 110f935d 57538ad5 6a390493 e63d37e0 2a54f6b3

3a787d5f 6276a0b5 19a6fcdf 7a42206a 29f9d4d5 f61b1891 bb72275e aa508167

38901091 c6b505eb 84c7cb8c 2ad75a0f 874a1427 a2d1936b 2ad286af aa56d291

d7894360 425c750d 93b39e26 187184c9 6c00b32d 73e2bb14 a0bebc3c 54623779

64459eab 3f328b82 7718cf82 59a2cea6 04ee002e 89fe78e6 3fab0950 325ff6c2

81383f05 6963c5c8 76cb5ad6 d49974c9 ca180dcf 380782d5 c7fa5cf6 8ac31511

35e79e13 47da91d0 f40f9086 a7e2419e 31366241 051ef495 aa573b04 4a805d8d

548300d0 00322a3c bf64cddf ba57a68e 75c6372b 50afd341 a7c13275 915a0bf5

6b54bfab 2b0b1426 ab4cc9d7 449ccd82 f7fbf265 ab85c5f3 1b55db94 aad4e324

cfa4bd3f 2deaa3e2 9e204d02 c8bd25ac eadf55b3 d5bd9e98 e31231b2 2ad5ad6c

954329de adbe4528 d8710f69 aa51c90f aa786bf6 22513f1e aa51a79b 2ad344cc

7b5a41f0 d37cfbad 1b069505 41ece491 b4c332e6 032268d4 c9600acc ce387e6d

bf6bb16c 6a70fb78 0d03d9c9 d4df39de e01063da 4736f464 5ad328d8 b347cc96

75bb0fc3 98511bfb 4ffbcc35 b58bcf6a e11f0abc bfc5fe4a a70aec10 ac39570a

3f04442f 6188b153 e0397a2e 5727cb79 9ceb418f 1cacd68d 2ad37c96 0175cb9d

c69dff09 c75b65f0 d9db40d8 ec0e7779 4744ead4 b11c3274 dd24cb9e 7e1c54bd

f01144f9 d2240eb1 9675b3fd a3ac3755 d47c27af 51c85f4d 56907596 a5bb15e6

580304f0 ca042cf1 011a37ea 8dbfaadb 35ba3e4a 3526ffa0 c37b4d09 bc306ed9

98a52666 5648f725 ff5e569d 0ced63d0 7c63b2cf 700b45e1 d5ea50f1 85a92872

af1fbda7 d4234870 a7870bf3 2d3b4d79 42e04198 0cd0ede7 26470db8


Сторінки: 1 2 3 4 5 6 7 8 9 10