RSS    

   Современные криптографические методы - (курсовая)

p>Уравнение шифрования данных в режиме гаммирования может быть представлено в следующем виде:

    Ш(i) = (f(Y(i) , f(Z(i)) ^ T(i)=Г(i) ^ T(i)

В этом уравнении Ш(i) обозначает 64-разрядный блок зашифрованного текста, f- функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядных числа). C1 и C2 - константы, заданные в ГОСТ 28147-89. Величины Y(i) и Z(i) определяются итерационно по мере формирования гаммы следующим образом:

(Z(0), Y(0)) = f(S), где S - 64-разрядная двоичная последовательность Y(i) =Y(i-1) [+] C1, Z(i) = Z(i-1) {+} C2, i=1, 2, .... , m. 64-разрядная последовательность, называемая синхропосылкой, не является секретным элементом шифра, но ее наличие необходимо как на передающей стороне, так и на приемной.

Режим гаммирования с обратной связьюочень похож на режим гаммирования. Как и в режиме гаммирования открытые данные, разбитые на 64-разрядные блоки T(i), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит: Гш=(Г(1), Г(2), .... , Г(m)).

Уравнение шифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:

    Ш(1) = f(S) ^ T(1) = Г(1) ^ T(1),
    Ш(i) = f(Ш(i-1)) ^ T(i) = Г(i)^T(i), i=2, 3, .... , m.

В ГОСТ 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    A(+)B - сложение по модулю 216;
    если A+B=>216, то A(+)B=A+B-216
    если A+B    A(*)B - умножение по модулю 216+1;
    если A* B=>216+1, то A(*)B=A*B-216-1
    если A* B

Процесс шифрования представляет собой цикл из восьми шагов: На первом шаге:

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
    8 шаг s7* s9# s8# s10* s5 s6
    Последнее преобразование s1* s2# s3# s4*
    sXX* = мультипликативная инверсия sXX по модулю 216+1
    sXX# = аддитивная инверсия sXX по модулю 216
    Алгоритм RSA

Как бы ни были сложны и надежны криптографические системы - их слабое место при практической реализации - проблема распределения ключей. Для того чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем, в конфиденциальном порядке, передан другому. Т. е. в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы. Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом. Суть их состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.

Страницы: 1, 2, 3


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.