Складемо за модулем 2:
; (9.14)
2) відновлення у просторі та часі;
3) структурна скритність:
; (9.15)
4) (9.16)
9.3 Приклади реалізації ПСШ
На рисунку 9.2 наведена структурна схема шифроутворюючого засобу шифру SNOW.
Рисунок 9.2
1. В якості генератора використовують лінійний рекурентний регістр, побудований над полем .
бітів.
Поліном над полем є примітивним. Тому він породжує поле .
2. .
3. Лінійна рекурентна послідовність має низьку структурну скритність.
.
Шифруючий автомат використовують для підвищення структурної скритності:
, (9.17)
де – гама проміжна.
Процес розшифрування Ci = A(0)B(0) (2.16) в режимі простої заміни здійснюється за формулами:
A(i) = fш(A(i-1) [+] X(j) ) B(i-1);
B(i) = A(i-1); (9.18)
для ; j = i-1;
A(i) = fш(A(i-1) [+] X(j) ) B(i-1);
B(i) = A(i-1); (9.19)
для ; j = (32-i) mod 8;
A(32) = A(31);
B(32) = fш(A(31) [+] X(0) ) B(31); (9.20)
для i = 32.
В (2.16)-(2.19) i – номер ітерації. В результаті виконання 32 циклів формується відкритий блок інформації
Mi = A(32)B(32) . (9.21)
Відкриті дані M, які підлягають шифруванню, розбиваються на блоки Mi довжиною 64 бітів.
Рівняння зашифрування даних може бути подане в такому вигляді:
Г(i) = A(Y(i-1) [+] C2, Z(i-1) {+} C1 ) , (9.22)
C(i) = Г(i) M(i), (9.23)
де C(i) – 64-розрядний блок зашифрованого тексту;
А – функція шифрування в режимі простої заміни;
С1 і С2 – константи: C1 = 01010101h, C2 = 01010104h;
Y(i) і Z(i) – 32-розрядні числа, які визначаються ітеративно за формулами:
(Y(0), Z(0)) = A(S) , (9.24)
(Y(i), Z(i)) = (Y(i-1) [+] C2, Z(i-1) {+} C1 ), (9.25)
де S – 64-розрядна синхропосилка.
Синхропосилка не є секретним елементом шифру і передається разом з зашифрованим повідомленням. При розшифруванні відокремлюється синхропосилка та формується вектор (Y(0), Z(0)) за формулою (2.23).
64-розрядний блок відкритого тексту M(i) обчислюється за формулою:
M(i) = Г(i) C(i) , (9.26)
де Г(i) – блок гами розшифрування, що визначається рівняннями (2.21) і (2.24).
Рисунок 9.3 – Режим гамування
Відкриті дані T, які підлягають зашифруванню, розбиваються на блоки M(i) довжиною 64 бітів.
Рівняння зашифрування даних у цьому режимі може бути подане у вигляді:
C(1) = A(S) M(1), (9.27)
C(i) = A(C(i-1)) M(i) = Г(i) M(i), (9.28)
де C(i) – 64-розрядний блок зашифрованого тексту;
А – функція зашифрування у режимі простої заміни;
S – 64-розрядна синхропосилка.
Рівняння розшифрування у режимі гамування зі зворотним зв'язком може бути подано рівняннями:
M(1) = A(S) C(1), (9.29)
M(i) = A(C(i-1)) C(i) = Г(i) C(i). (9.30)
|
Рисунок 9.4 – Режим гамування зі зворотним зв'язком
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.