Реферат: Современные криптографические методы
В ГОСТ 28147-89 определяется процесс выработки имитовставки, который единообразен для всех режимов шифрования. Имитовставка - это блок из р бит (имитовставка Ир ), который вырабатывается либо перед шифрованием всего сообщения либо параллельно с шифрованием по блокам. Параметр р выбирается в соответствии с необходимым уровнем имитозащищенности.
Для получения имитовставки открытые данные представляются также в виде блоков по 64 бит. Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма режима простой замены. В качестве ключа используется тот же ключ, что и для шифрования данных. Полученное 64-разрядное число суммируется побитно с открытым блоком Т(2) и сумма вновь подвергается 16 циклам шифрования для режима простой замены. Данная процедура повторятся для всехблоков сообщения. Из полученного 64-разрядного числа выбирается отрезок Ир длиной р бит.
Имитовставка передается по каналу связи после зашифрованных данных. На приемной стороне аналогичным образом из принятого сообщения выделяется имитовставка и сравнивается с полученной. В случае несовпадения имитовставок сообщение считается ложным.
КОНСТАНТЫ C1=1538417 341, C2=2591989193
СИНХРОПОСЫЛКА S=134987665736005221
ТАБЛИЦА ПОДСТАНОВОК Kij
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
K(1) | 1 | 0 | 0 | 1 | 5 | 9 | 8 | 4 | 6 | 5 | 2 | 3 | 13 | 12 | 7 | 4 |
K(2) | 0 | 3 | 8 | 1 | 11 | 13 | 6 | 10 | 2 | 15 | 7 | 4 | 14 | 5 | 12 | 9 |
K(3) | 4 | 7 | 13 | 5 | 0 | 3 | 12 | 1 | 9 | 8 | 10 | 14 | 6 | 2 | 11 | 15 |
K(4) | 10 | 15 | 2 | 12 | 9 | 14 | 7 | 6 | 8 | 4 | 0 | 13 | 3 | 11 | 5 | 1 |
K(5) | 6 | 1 | 4 | 10 | 2 | 12 | 0 | 15 | 8 | 13 | 3 | 11 | 5 | 9 | 14 | 7 |
K(6) | 8 | 11 | 7 | 14 | 15 | 5 | 12 | 2 | 0 | 9 | 10 | 1 | 6 | 13 | 3 | 4 |
K(7) | 11 | 5 | 9 | 4 | 3 | 1 | 15 | 8 | 7 | 2 | 14 | 0 | 13 | 12 | 10 | 6 |
K(8) | 4 | 13 | 15 | 5 | 0 | 3 | 12 | 7 | 10 | 11 | 8 | 9 | 6 | 1 | 14 | 2 |
Международный алгоритм шифрования данных IDEA
Шифр IDEA (International Data Encryption Algorithm) был разработан Лэй и Мэсси из ETH в Цюрихе. Этот шифр, наряду с RSA, применяется в популярной компьютерной криптосистеме PGP (Pretty Good Privacy).
IDEA представляет собой блочный шифр, использующий 128 битный ключ, для преобразования открытых 64 битных текстовых блоков.
Графическая схема алгоритма IDEA
64 битный текстовый блок подвергается в ходе шифрования следующим процедурам:
· A^B - побитовое сложение по модулю 2;
если A+B=>2, то A^B=А+B-2
если A+B<2 , то A^B<А+B, где A и B 1-битные числа.
· A(+)B - сложение по модулю 216 ;
если A+B=>216 , то A(+)B=A+B-216
если A+B<216 , то A(+)B=A+В, где A и B 16-битные числа.
· A(*)B - умножение по модулю 216 +1;
если A* B=>216 +1, то A(*)B=A*B-216 -1
если A* B<216 +1 , то A(*)B=A*B, где A и B 16-битные числа.
Процесс шифрования представляет собой цикл из восьми шагов:
На первом шаге:
p1 (*) s1 --> d1 p2 (+) s2 --> d2 p3 (+) s3 --> d3 p4 (*) s4 --> d4
d1 ^ d3 --> d5 d2 ^ d4 --> d6
d5 (*) s5 --> d7 d6 (+) d7 --> d8 d8 (*) s6 --> d9 d7 (+) d9 --> d10
d1 ^ d9 --> d11 d3 ^ d9 --> d12 d2 ^ d10 --> d13 d4 ^ d10 --> d14
p1, p2, p3, p4 – четыре 16 битных блока, на которые разбиваются один блок исходного текста
s1, s2, s3, s4, s5, s6 – шесть 16 битных подключей.
На следующем шаге в качестве p1, p2, p3, p4 используют d11, d13, d12, d14 и новые шесть подключей. Полученные четыре последние 16 битных блока и есть зашифрованный текст. Процесс дешифрования осуществляется аналогично.
Шифрование и дешифрование отличаются только подключами. Первые восемь подключей определяются с помощью 128 битного ключа, который разделяется на восемь частей. Новые восемь подключей определяются следующим образом: начальный ключ смещается на 25 бит, и разделяется на восемь частей.
Подключи для дешифрования определяются таблицей:
1 шаг s49* s50# s51# s52* s47 s48
2 шаг s43* s45# s44# s46* s41 s42
3 шаг s37* s39# s38# s39* s35 s36
4 шаг s31* s33# s32# s34* s29 s30
5 шаг s25* s27# s26# s28* s23 s24
6 шаг s19* s21# s20# s22* s17 s18
7 шаг s13* s15# s14# s16* s11 s12