Дешифрование
Процесс дешифрования аналогичен процессу шифрования. Дешифрование состоит в использовании зашифрованного текста в качестве входа в ту же самую структуру IDEA, но с другим набором ключей. Дешифрующие ключи U1, . . . U52 получаются из шифрующих ключей следующим образом:
Для мультипликативной инверсии используется нотация Zj-1, т.е.:
Zj Zj-1 =1 mod (216 + 1)
Так как 216 + 1 является простым числом, каждое ненулевое целое Zj ? 216 имеет уникальную мультипликативную инверсию по модулю (216 + 1). Для аддитивной инверсии используется нотация (-Zj), таким образом, мы имеем:
-Zj + Zj = 0 mod (216)
Для доказательства того, что алгоритм дешифрования с соответствующими подключами имеет корректный результат, рассмотрим одновременно процессы шифрования и дешифрования. Каждый из восьми раундов разбит на две стадии преобразования, первая из которых называется трансформацией, а вторая шифрованием.
Рис. 5. Шифрование IDEA
Рис. 6. Дешифрование IDEA
Рассмотрим преобразования, выполняемые в прямоугольниках на обоих рисунках. При шифровании поддерживаются следующие соотношения на выходе трансформации:
Y1 = W81 Z49 Y3 = W82 + Z51
Y2 = W83 + Z50 Y4 = W84 Z52
Первая стадия первого раунда процесса дешифрования поддерживает следующие соотношения:
J11 = Y1 U1 J13 = Y3 + U3
J12 = Y2 + U2 J14 = Y4 U4
Подставляя соответствующие значения, получаем:
J11 = Y1 Z49-1 = W81 Z49 Z49-1 = W81
J12 = Y2 + -Z50 = W83 + Z50 = W83 + Z50 + -Z50 = W83
J13 = Y3 + -Z51 = W82 + Z51 + -Z51 = W82
J14 = Y4 Z52-1 = W84 Z52 Z52-1 = W84
Таким образом, выход первой стадии процесса дешифрования эквивалентен входу последней стадии процесса шифрования за исключением чередования второго и третьего блоков. Теперь рассмотрим следующие отношения:
W81 = I81 MAR (I81 I83, I82 I84)
W82 = I83 MAR (I81 I83, I82 I84)
W83 = I82 MAL (I81 I83, I82 I84)
W84 = I84 MAL (I81 I83, I82 I84)
Где MAR (X, Y) есть правый выход МА структуры с входами Х и Y, и MAL (X, Y) есть левый выход МА структуры с входами Х и Y. Теперь получаем
V11 |
= J11 MAR (J11 J13, J12 J14) = W81 MAR (W81 W82, W83 W84) = I81 MAR (I81 I83, I82 I84) MAR [ I81 MAR (I81 I83, I82 I84) I83 MAR (I81 I83, I82 I84), I82 MAL (I81 I83, I82 I84) I84 MAL (I81 I83, I82 I84) ] = I81 MAR (I81 I83, I82 I84) MAR (I81 I83, I82 I84) = I81 |
V12 = I83
V13 = I82
V14 = I84
Таким образом, выход второй стадии процесса дешифрования эквивалентен входу предпоследней стадии процесса шифрования за исключением чередования второго и третьего подблоков. Аналогично можно показать, что
V81 = I11
V82 = I13
V83 = I12
V84 = I14
Наконец, так как выход трансформации процесса дешифрования эквивалентен первой стадии процесса шифрования за исключением чередования второго и третьего подблоков, получается, что выход всего процесса шифрования эквивалентен входу процесса шифрования.