r />
Обчислюється матриця S=N + K (mod2)=S, S, ... S (8 елементів по 4 біта)
Для всіх i=0..7
=H [i, S]
Циклічний зсув S, який складається з 8 біт на 11 елементів вліво.
=S N=N, N=S
Для відритого тексту P=f (P, K) j=0..7
P=P? P
? P - взаємна пересилання
Кількість раундів 32. Алгоритм розшифрування
=f (C, K)=C? C? C
Ця криптосистема може використовуватися в трьох основних і одному додатковому.
1. У режимі простої заміни, який відповідає режиму простий електронній книзі режиму DES.
2. Режим гамування в якому використовується додатковий параметр сінхропосилкі S=SS. Цей режим схожий на режим зворотного зв'язку по виходу алгоритму DES.
. Режим по виходу зі зворотним зв'язком
Використовують додаткову сінхропосилку. Схожий на режим зворотного зв'язку по сінхротексту DES.
4. Режим генерації та метовставкі
Використовується з одним з основних режимів і призначений для автентичності шифр-тексту.
=0..7=f (P, K)=EI (SP)=0
EI - функція реалізації алгоритму вироблення і метовставкі.
Таким чином, для розтину шифр-тексту необхідно вирішити z завдання:
· Обчислюється, не знаючи ключа шифрування, значення і метовставкі,
· Підібрати відкритий текст під дане значення і метовставкі.
10. Шифр Рівестом-Шаміра-Алдеман
Першою і найбільш відомої криптографічного системою з відкритим ключем була запропонована в 1978 році так звана система RSA.Ее назва походить від перших літер прізвищ авторів Rivest, Shamir і Aldeman, які придумали її під час спільних досліджень в Массачусетському технологічному інституті в 1977 році. Вона заснована на труднощі розкладання дуже великих цілих чисел на прості співмножники.
Алгоритм її працює так:
. Користувач вибирає два дуже великих простих числа Р і Q і обчислює два твори
=PQ і M=(P - 1) (Q - 1).
. Потім він вибирає випадкове ціле число D, взаємно просте з М, і обчислює Е, що задовольняє умові
=1 MOD M.
. Після цього він публікує D і N як свій відкритий ключ шифрування, зберігаючи Е як закритий ключ.
. Якщо S - повідомлення, довжина якого, обумовлена ??за значенням виражається їм цілого числа, повинна бути в інтервалі (1.N), то воно перетворюється на шифровку зведенням у ступінь D по модулю N і відправляється одержувачу
'= SD MOD N.
. Одержувач повідомлення розшифровує його, зводячи в ступінь Е по модулю N, так як
S=S'E MOD N=SDE MOD N.
Таким чином, відкритим ключем служить пара чисел N і D, а секретним ключем число Е.Смисл цієї системи шифрування стає прозорим, якщо згадати про малу теорему Ферма, яка стверджує, що при простому числі Р і будь-якому цілому числі К, яке менше Р, справедливо тотожність Кр" 1=1 MOD P. Ця теорема дозволяє визначати, чи є якесь число простим або ж складовим.
Наведемо простий приклад на малих простих числах Р=211 і Q=223. У цьому випадку N=47053 і М=46620. Виберемо відкритий ключ шифрування D=16813 і обчислимо секретний ключ розшифрування Е=19837. Тепер, взявши за повідомлення назву методу RSA, переведемо його в число. Для цього будемо вважати букву R рівний 18, S рівний 19, А рівний 1 по порядковому номеру їхнього становища в англійському алфавіті. На представлення кожної букви відведемо по 5 біт числа, що представляє відкритий текст. У цьому випадку слову RSA відповідає наступне число:
=((1-32) +19) - 32 + 18-1650.
За допомогою відкритого ключа отримуємо шифровку:
S '= SD MOD N=165016813 MOD47053=3071.
Одержувач розшифровує її за допомогою секретного ключа:
S=S'E MOD N=307119837 MOD 47053=1650.
Крипостійкість системи RSA заснована на тому, що М не може бути просто обчислена без знання простих співмножників Р і Q, а знаходження цих співмножників з N вважалася важко вирішуваною завданням. Проте недавні роботи з розкладання великих чисел на співмножники показали, що для цього можуть бути використані різні і навіть зовсім несподівані засоби. Спочатку автори RSA пропонували вибра...