Алгоритмы симметричного шифрования

       

Дешифрование


Процесс дешифрования аналогичен процессу шифрования. Дешифрование состоит в использовании зашифрованного текста в качестве входа в ту же самую структуру IDEA, но с другим набором ключей. Дешифрующие ключи U1, . . . U52 получаются из шифрующих ключей следующим образом:

  • Первые четыре подключа i-ого раунда дешифрования получаются из первых четырех подключей (10 - i) раунда шифрования, где стадия заключительного преобразования считается 9-м раундом. Первый и четвертый ключи дешифрования эквивалентны мультипликативной инверсии по модулю (216 + 1) соответствующих первого и четвертого подключей шифрования. Для раундов со 2 по 8 второй и третий подключи дешифрования эквивалентны аддитивной инверсии по модулю (216) соответствующих третьего и второго подключей шифрования. Для раундов 1 и 9 второй и третий подключи дешифрования эквивалентны аддитивной инверсии по модулю (216) соответствующих второго и третьего подключей шифрования.
  • Для первых восьми раундов последние два подключа i раунда дешифрования эквивалентны последним двум подключам (9 - i) раунда шифрования.
  • Для мультипликативной инверсии используется нотация 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

    Наконец, так как выход трансформации процесса дешифрования эквивалентен первой стадии процесса шифрования за исключением чередования второго и третьего подблоков, получается, что выход всего процесса шифрования эквивалентен входу процесса шифрования.


    Содержание раздела