Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАОЧНИКАМ_МАТЕРИАЛЫ_КРИПТОГРАФИЯ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.32 Mб
Скачать

Значения ключей, используемых в алгоритме idea для дешифрования

Итерация

(раунд)

Обозначение

Эквивалентное обозначение

1

U1, U2, U3, U4, U5, U6

Z49–1, –Z50, –Z51, Z52–1, Z47, Z48

2

U7, U8, U9, U10, U11,U12

Z43–1, –Z45, –Z44, Z46–1, Z41, Z42

3

U13,U14,U15,U16,U17,U18

Z37–1, –Z39, –Z38, Z40–1, Z35, Z36

4

U19,U20,U21,U22,U23,U24

Z31–1, –Z33, –Z32, Z34–1, Z29, Z30

5

U25,U26,U27,U28,U29,U30

Z25–1, –Z27, –Z26, Z28–1, Z23, Z24

6

U31,U32,U33,U34,U35,U36

Z19–1, –Z21, –Z20, Z22–1, Z17, Z18

7

U37,U38,U39,U40,U41,U42

Z13–1, –Z15, –Z14, Z16–1, Z11, Z12

8

U43,U44,U45,U46,U47,U48

Z7 –1, –Z9, –Z8, Z10–1, Z5, Z6

9

U49,U50,U51,U52

Z1–1, –Z2, –Z3, Z4–1

При этом выполняются следующие соотношения:

Zj–1Zj = 1 mod (216+1); (9)

ZjZj = 0 mod 216. (10)

Таким образом, для ключа Zj значение, обозначаемое как –Zj, является аддитивным инверсным по модулю 216, а значение, обозначаемое как Zj–1 – мультипликативным инверсным по модулю 216+1.

Порядок использования итерационных ключей при шифровании показан на рис. 11.

Рис. 11. Порядок использования итерационных ключей алгоритма IDEA

При выполнении дешифрования раунды алгоритма выполняются в таком же порядке. На вход первого раунда подаётся четыре 16‑битных подблока 64‑битного блока шифротекста. Значения, полученные после выполнения выходного раунда, являются подблоками 64‑битного блока исходного текста. Отличие от процедуры шифрования заключается в том, что вместо ключей Z1...Z52 используются ключи U1...U52.

Задания

  1. Разработать программное средство, выполняющее шифрование по алгоритму IDEA заданного файла с произвольным содержимым. Ключ шифрования подаётся в виде бинарного файла длиной 16 байт.

  2. Разработать программное средство, выполняющее дешифрование заданного файла, зашифрованного по алгоритму IDEA. Ключ шифрования подается в виде бинарного файла длиной 16 байт.

5.Арифметика чисел большой разрядности

Размерность обрабатываемых в вычислительных машинах чисел обычно ограничивается размерностью машинного слова. Типичная переменная целочисленного типа занимает в памяти машины 8, 16, 32 или 64 бит. Для многих криптографических алгоритмов требуются числа намного большего размера. Например, рекомендуемый размер открытого ключа для алгоритма RSA составляет 4 Кбит. Рассмотрим реализацию базовых арифметических операций над целыми числами большого размера. Для представления цифр больших чисел удобно использовать систему счисления с основанием b, равным 2m, где m – размер машинного слова. Это наиболее компактный способ представления больших чисел, позволяющий хранить все цифры в массиве слов-переменных.