Русская Википедия:MESH (шифр)

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка блочного шифра

В криптографии, MESH — блочный шифр, являющийся модификацией IDEA. Разработан Жорже Накахарой, Винсентом Рэйменом, Бартом Пренелем и Йоосом Вандевалле в 2002 году. В отличие от IDEA, MESH имеет более сложную раундовую структуру. Иной алгоритм генерации ключей позволяет MESH избегать проблемы слабых ключейШаблон:Sfn.

Структура шифра

Каждый раунд в IDEA и MESH состоит из операций сложения и умножения. Последовательность таких вычислений в пределах одного раунда образует MA-бокс. Все MA-боксы в MESH используют минимум три чередующихся уровня сложений и умножений (по схеме «зиг-заг»), в то время, как в IDEA таковых только два. Это делает MESH более стойким против дифференциальной и линейной криптоатак. Также, с целью избежать проблемы слабых ключей, в MESH используются два следующих принципа:

  • Каждый подключ зависит от почти всех подключей, более точно — как минимум от шести предыдущих ключей нелинейно
  • Используются фиксированные константы. Без них, например, ключ из всех нулей перешел бы в подключи, каждый из которых равнялся бы нулю в любом раунде

Как и в IDEA, MESH использует следующие операции:

  • умножение по модулю <math>2^{16} + 1</math>, причем вместо нуля используется <math>2^{16}</math> (<math>\odot</math>)
  • циклический сдвиг влево на <math>n</math> бит (<math>\lll\ n</math>)
  • сложение по модулю <math>2^{16}</math> (<math>\boxplus</math>)
  • побитовое исключающее ИЛИ (<math>\oplus</math>)

Операции расположены в порядке уменьшения приоритета. В вычислениях запись <math>A_{k}^{(i)}</math> обозначает 16-битное слово. Индексы описываются далее.

MESH описывается в трех вариациях по размерам блока: 64, 96, 128 бит. Размер ключа при этом берется вдвое большийШаблон:Sfn.

MESH-64

В данной вариации размер блока составляет 64 бит, ключ — 128 бит. Шифрование проходит в 8,5 раунда. Половина раунда относится к выходным преобразованиямШаблон:Sfn.

Раундовые преобразования

Обозначим входную информацию для <math>i</math>-го раунда:
<math>X^{(i)}\ =\ (X_1^{(i)},\ X_2^{(i)},\ X_3^{(i)},\ X_4^{(i)}),\ i=1...9</math>

Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На четных и нечетных раундах перемешивание происходит по-разному:

  • Для нечетных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)})\ =\ (X_1^{(i)}\ \odot\ Z_1^{(i)},\ X_2^{(i)}\ \boxplus\ Z_2^{(i)},\ X_3^{(i)}\ \boxplus\ Z_3^{(i)},\ X_4^{(i)}\ \odot\ Z_4^{(i)})</math>

  • Для четных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)})\ =\ (X_1^{(i)}\ \boxplus\ Z_1^{(i)},\ X_2^{(i)}\ \odot\ Z_2^{(i)},\ X_3^{(i)}\ \odot\ Z_3^{(i)},\ X_4^{(i)}\ \boxplus\ Z_4^{(i)})</math>

Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
<math>(Y_5^{(i)},\ Y_6^{(i)})\ =\ (Y_1^{(i)}\ \oplus\ Y_3^{(i)},\ Y_2^{(i)}\ \oplus\ Y_4^{(i)})</math>

МА-вычисления описываются следующими формулами:
<math>Y_7^{(i)}\ =\ ((Y_5^{(i)}\ \odot\ Z_5^{(i)}\ \boxplus\ Y_6^{(i)})\ \odot\ Z_6^{(i)}\ \boxplus\ (Y_5^{(i)}\ \odot\ Z_5^{(i)}))\ \odot\ Z_7^{(i)}</math>
<math>Y_8^{(i)}\ = \ Y_7^{(i)}\ \boxplus\ ((Y_5^{(i)}\ \odot\ Z_5^{(i)}\ \boxplus\ Y_6^{(i)})\ \odot\ Z_6^{(i)})</math>

Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
<math>X^{(i+1)}\ =\ (Y_1^{(i)}\ \oplus\ Y_8^{(i)},\ Y_3^{(i)}\ \oplus\ Y_8^{(i)},\ Y_2^{(i)}\ \oplus\ Y_7^{(i)},\ Y_4^{(i)}\ \oplus\ Y_7^{(i)})</math>

Согласно схеме, для получения зашифрованного сообщения необходимо после восьмого раунда провести перемешивание по нечетной схеме <math>(i=9)</math>Шаблон:Sfn

Генерация ключей

Для генерации ключей используется 128-битный пользовательский ключ, а также 16-битные константы <math>c_i</math>: <math>c_0\ =\ 1</math>, <math>c_i\ =\ 3*c_{i-1}</math>, они вычисляются в Поле Галуа <math>GF(2^{16})</math> по модулю многочлена <math>x^{16}\ +\ x^{5}\ +\ x^{3}\ +\ x^{2}\ +\ 1</math>. Пользовательский ключ разбивается на 8 16-битных слов <math>K_i,\ 0\ \leqslant\ i\ \leqslant\ 7</math>.

Вычисление подключей происходит следующим образомШаблон:Sfn:
<math>Z_{i+1}^{(1)}\ =\ K_i\ \oplus\ c_i,\ 0\ \leqslant\ i\ \leqslant\ 6</math>
<math>Z_1^{(2)}\ =\ K_7\ \oplus\ c_7</math>
<math>Z_{l(i)}^{(h(i))}\ =\ (((((Z_{l(i-8)}^{(h(i-8))}\ \boxplus\ Z_{l(i-7)}^{(h(i-7))})\ \oplus\ Z_{l(i-6)}^{(h(i-6))})\ \boxplus\ Z_{l(i-3)}^{(h(i-3))})\ \oplus\ Z_{l(i-2)}^{(h(i-2))})\ \boxplus\ Z_{l(i-1)}^{(h(i-1))})\ \lll\ 7\ \oplus\ c_i,</math>
где <math>8\ \leqslant\ i\ \leqslant\ 59,\ h(i)\ =\ i\ div\ 7\ +\ 1,\ l(i)\ =\ i\ \bmod\ 7\ +\ 1</math>.

Расшифровка

Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
<math>(Z_{1}^{(r)},\ ...,\ Z_{7}^{(r)}),\ 1\ \leqslant\ r\ \leqslant\ 8</math> - подключи полных раундов;
<math>(Z_{1}^{(9)},\ ...,\ Z_{4}^{(9)})</math> - подключи выходных преобразований.

Тогда подключи расшифровки задаются следующим образомШаблон:Sfn:

  • <math>((Z_1^{(9)})^{-1},\ -Z_2^{(9)},\ -Z_3^{(9)},\ (Z_4^{(9)})^{-1},\ Z_5^{(8)},\ Z_6^{(8)},\ Z_7^{(8)})</math>, - первый раунд расшифровки;
  • <math>(-Z_1^{(10-r)},\ (Z_3^{(10-r)})^{-1},\ (Z_2^{(10-r)})^{-1},\ -Z_4^{(10-r)},\ Z_5^{(9-r)},\ Z_6^{(9-r)},\ Z_7^{(9-r)})</math>, - <math>r</math>-й четный раунд, <math>r\ \in\ \{2,\ 4,\ 6,\ 8\}</math>;
  • <math>((Z_1^{(9-r)})^{-1},\ -Z_3^{(9-r)},\ -Z_2^{(9-r)},\ (Z_4^{(9-r)})^{-1},\ Z_5^{(8-r)},\ Z_6^{(8-r)},\ Z_7^{(8-r)})</math>, - <math>r</math>-й нечетный раунд, <math>r\ \in\ \{3,\ 5,\ 7\}</math>;
  • <math>((Z_1^{(1)})^{-1},\ -Z_2^{(1)},\ -Z_3^{(1)},\ (Z_4^{(1)})^{-1})</math>, - выходные преобразования.

MESH-96

В данной вариации размер блока составляет 96 бит, ключ — 192 бит. Шифрование проходит в 10,5 раунда. Половина раунда относится к выходным преобразованиямШаблон:Sfn.

Раундовые преобразования

Обозначим входную информацию для <math>i</math>-го раунда:
<math>X^{(i)}\ =\ (X_1^{(i)},\ X_2^{(i)},\ X_3^{(i)},\ X_4^{(i)},\ X_5^{(i)},\ X_6^{(i)}),\ i=1...11</math>

Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На четных и нечетных раундах перемешивание происходит по-разному:

  • Для нечетных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)},\ Y_5^{(i)},\ Y_6^{(i)})\ =\ (X_1^{(i)}\ \odot\ Z_1^{(i)},\ X_2^{(i)}\ \boxplus\ Z_2^{(i)},\ X_3^{(i)}\ \odot\ Z_3^{(i)},\ X_4^{(i)}\ \boxplus\ Z_4^{(i)},\ X_5^{(i)}\ \odot\ Z_5^{(i)},\ X_6^{(i)}\ \boxplus\ Z_6^{(i)})</math>

  • Для четных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)},\ Y_5^{(i)},\ Y_6^{(i)})\ =\ (X_1^{(i)}\ \boxplus\ Z_1^{(i)},\ X_2^{(i)}\ \odot\ Z_2^{(i)},\ X_3^{(i)}\ \boxplus\ Z_3^{(i)},\ X_4^{(i)}\ \odot\ Z_4^{(i)},\ X_5^{(i)}\ \boxplus\ Z_5^{(i)},\ X_6^{(i)}\ \odot\ Z_6^{(i)})</math>

Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
<math>(Y_7^{(i)},\ Y_8^{(i)},\ Y_9^{(i)})\ =\ (Y_1^{(i)}\ \oplus\ Y_4^{(i)},\ Y_2^{(i)}\ \oplus\ Y_5^{(i)},\ Y_3^{(i)}\ \oplus\ Y_6^{(i)})</math>

МА-вычисления описываются следующими формулами:
<math>Y_{10}^{(i)}\ =\ (((Y_7^{(i)}\ \odot\ Z_7^{(i)}\ \boxplus\ Y_8^{(i)})\ \odot\ Y_9^{(i)}\ \boxplus\ Z_8^{(i)})\ \odot\ (Y_7^{(i)}\ \odot\ Z_7^{(i)}\ \boxplus\ Y_8^{(i)})\ \boxplus\ Y_7^{(i)}\ \odot\ Z_7^{(i)})\ \odot\ Z_9^{(i)}</math>
<math>Y_{11}^{(i)}\ =\ Y_{10}^{(i)}\ \boxplus\ ((Y_7^{(i)}\ \odot\ Z_7^{(i)}\ \boxplus\ Y_8^{(i)})\ \odot\ Y_9^{(i)}\ \boxplus\ Z_8^{(i)})\ \odot\ (Y_7^{(i)}\ \odot\ Z_7^{(i)}\ \boxplus\ Y_8^{(i)})</math>
<math>Y_{12}^{(i)}\ =\ Y_{11}^{(i)}\ \odot\ ((Y_7^{(i)}\ \odot\ Z_7^{(i)}\ \boxplus\ Y_8^{(i)})\ \odot\ Y_9^{(i)}\ \boxplus\ Z_8^{(i)})</math>

Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
<math>X^{(i+1)}\ =\ (Y_1^{(i)}\ \oplus\ Y_{12}^{(i)},\ Y_4^{(i)}\ \oplus\ Y_{12}^{(i)},\ Y_5^{(i)}\ \oplus\ Y_{11}^{(i)},\ Y_2^{(i)}\ \oplus\ Y_{11}^{(i)},\ Y_3^{(i)}\ \oplus\ Y_{10}^{(i)},\ Y_6^{(i)}\ \oplus\ Y_{10}^{(i)})</math>

Для получения зашифрованного сообщения необходимо после 10-го раунда провести перемешивание по нечетной схеме <math>(i=9)</math>Шаблон:Sfn

Генерация ключей

Для генерации ключей используется 192-битный пользовательский ключ, а также 16-битные константы, такие же, как и для MESH-64.

Вычисление подключей происходит следующим образомШаблон:Sfn:
<math>Z_{i+1}^{(1)}\ =\ K_i\ \oplus\ c_i,\ 0\ \leqslant\ i\ \leqslant\ 8</math>
<math>Z_1^{(2)}\ =\ K_9\ \oplus\ c_9</math>
<math>Z_2^{(2)}\ =\ K_{10}\ \oplus\ c_{10}</math>
<math>Z_3^{(2)}\ =\ K_{11}\ \oplus\ c_{11}</math>
<math>Z_{l(i)}^{(h(i))}\ =\ (((((Z_{l(i-12)}^{(h(i-12))}\ \boxplus\ Z_{l(i-8)}^{(h(i-8))})\ \oplus\ Z_{l(i-6)}^{(h(i-6))})\ \boxplus\ Z_{l(i-4)}^{(h(i-4))})\ \oplus\ Z_{l(i-2)}^{(h(i-2))})\ \boxplus\ Z_{l(i-1)}^{(h(i-1))})\ \lll\ 9\ \oplus\ c_i,</math>
где <math>12\ \leqslant\ i\ \leqslant\ 95,\ h(i)\ =\ i\ div\ 9\ +\ 1,\ l(i)\ =\ i\ \bmod\ 9\ +\ 1</math>.

Расшифровка

Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
<math>(Z_{1}^{(r)},\ ...,\ Z_{9}^{(r)}),\ 1\ \leqslant\ r\ \leqslant\ 10</math> — подключи полных раундов;
<math>(Z_{1}^{(11)},\ ...,\ Z_{6}^{(11)})</math> - подключи выходных преобразований.

Тогда подключи расшифровки задаются следующим образомШаблон:Sfn:

  • <math>((Z_1^{(11)})^{-1},\ -Z_2^{(11)},\ (Z_3^{(11)})^{-1},\ -Z_4^{(11)},\ (Z_5^{(11)})^{-1},\ -Z_6^{(11)},\ Z_7^{(10)},\ Z_8^{(10)},\ Z_9^{(10)})</math>, — первый раунд расшифровки;
  • <math>(-Z_1^{(12-r)},\ (Z_4^{(12-r)})^{-1},\ -Z_5^{(12-r)},\ (Z_2^{(12-r)})^{-1},\ -Z_3^{(12-r)},\ (Z_6^{(12-r)})^{-1},\ Z_7^{(11-r)},\ Z_8^{(11-r)},\ Z_9^{(11-r)})</math>, — <math>r</math>-й чётный раунд, <math>r\ \in\ \{2,\ 4,\ 6,\ 8,\ 10\}</math>;
  • <math>((Z_1^{(11-r)})^{-1},\ -Z_4^{(11-r)},\ (Z_5^{(11-r)})^{-1},\ -Z_2^{(11-r)},\ (Z_3^{(11-r)})^{-1},\ -Z_6^{(11-r)},\ Z_7^{(10-r)},\ Z_8^{(10-r)},\ Z_9^{(10-r)})</math>, — <math>r</math>-й нечётный раунд, <math>r\ \in\ \{3,\ 5,\ 7,\ 9\}</math>;
  • <math>((Z_1^{(1)})^{-1},\ -Z_2^{(1)},\ (Z_3^{(1)})^{-1},\ -Z_4^{(1)},\ (Z_5^{(1)})^{-1},\ -Z_6^{(1)})</math>, — выходные преобразования.

MESH-128

В данной вариации размер блока составляет 128 бит, ключ — 256 бит. Шифрование проходит в 12,5 раунда. Половина раунда относится к выходным преобразованиямШаблон:Sfn.

Раундовые преобразования

Обозначим входную информацию для <math>i</math>-го раунда:
<math>X^{(i)}\ =\ (X_1^{(i)},\ X_2^{(i)},\ X_3^{(i)},\ X_4^{(i)},\ X_5^{(i)},\ X_6^{(i)},\ X_7^{(i)},\ X_8^{(i)}),\ i=1...13</math>

Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На чётных и нечётных раундах перемешивание происходит по-разному:

  • Для нечётных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)},\ Y_5^{(i)},\ Y_6^{(i)},\ Y_7^{(i)},\ Y_8^{(i)})\ =</math>
<math>\ \ \ \ \ \ \ \ \ \ \ \ \ (X_1^{(i)}\ \odot\ Z_1^{(i)},\ X_2^{(i)}\ \boxplus\ Z_2^{(i)},\ X_3^{(i)}\ \odot\ Z_3^{(i)},\ X_4^{(i)}\ \boxplus\ Z_4^{(i)},\ X_5^{(i)}\ \odot\ Z_5^{(i)},\ X_6^{(i)}\ \boxplus\ Z_6^{(i)},\ X_7^{(i)}\ \odot\ Z_7^{(i)},\ X_8^{(i)}\ \boxplus\ Z_8^{(i)})</math>

  • Для чётных раундов:

<math>(Y_1^{(i)},\ Y_2^{(i)},\ Y_3^{(i)},\ Y_4^{(i)},\ Y_5^{(i)},\ Y_6^{(i)},\ Y_7^{(i)},\ Y_8^{(i)})\ =</math>
<math>\ \ \ \ \ \ \ \ \ \ \ \ \ (X_1^{(i)}\ \boxplus\ Z_1^{(i)},\ X_2^{(i)}\ \odot\ Z_2^{(i)},\ X_3^{(i)}\ \boxplus\ Z_3^{(i)},\ X_4^{(i)}\ \odot\ Z_4^{(i)},\ X_5^{(i)}\ \boxplus\ Z_5^{(i)},\ X_6^{(i)}\ \odot\ Z_6^{(i)},\ X_7^{(i)}\ \boxplus\ Z_7^{(i)},\ X_8^{(i)}\ \odot\ Z_8^{(i)})</math>

Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
<math>(Y_9^{(i)},\ Y_{10}^{(i)},\ Y_{11}^{(i)},\ Y_{12}^{(i)})\ =\ (Y_1^{(i)}\ \oplus\ Y_5^{(i)},\ Y_2^{(i)}\ \oplus\ Y_6^{(i)},\ Y_3^{(i)}\ \oplus\ Y_7^{(i)},\ Y_4^{(i)}\ \oplus\ Y_8^{(i)})</math>

МА-вычисления описываются следующими формулами:
<math>Y_{13}^{(i)}\ =\ Y_{9}^{(i)}\ \odot\ Z_{9}^{(i)},\ \ \ \ \ Y_{14}^{(i)}\ =\ Y_{13}^{(i)}\ \boxplus\ Y_{10}^{(i)},</math>
<math>Y_{15}^{(i)}\ =\ Y_{14}^{(i)}\ \odot\ Y_{11}^{(i)},\ \ \ \ \ Y_{16}^{(i)}\ =\ Y_{15}^{(i)}\ \boxplus\ Y_{12}^{(i)},</math>
<math>Y_{17}^{(i)}\ =\ Y_{16}^{(i)}\ \odot\ Z_{10}^{(i)},\ \ \ \ \ Y_{18}^{(i)}\ =\ Y_{15}^{(i)}\ \boxplus\ Y_{17}^{(i)},</math>
<math>Y_{19}^{(i)}\ =\ Y_{14}^{(i)}\ \odot\ Y_{18}^{(i)},\ \ \ \ \ Y_{20}^{(i)}\ =\ Y_{13}^{(i)}\ \boxplus\ Y_{19}^{(i)},</math>
<math>Y_{21}^{(i)}\ =\ Y_{20}^{(i)}\ \odot\ Z_{11}^{(i)},\ \ \ \ \ Y_{22}^{(i)}\ =\ Y_{19}^{(i)}\ \boxplus\ Y_{21}^{(i)},</math>
<math>Y_{23}^{(i)}\ =\ Y_{18}^{(i)}\ \odot\ Y_{22}^{(i)},\ \ \ \ \ Y_{24}^{(i)}\ =\ Y_{17}^{(i)}\ \boxplus\ Y_{23}^{(i)},</math>
<math>Y_{25}^{(i)}\ =\ Y_{24}^{(i)}\ \odot\ Z_{12}^{(i)},\ \ \ \ \ Y_{26}^{(i)}\ =\ Y_{23}^{(i)}\ \boxplus\ Y_{25}^{(i)},</math>
<math>Y_{27}^{(i)}\ =\ Y_{22}^{(i)}\ \odot\ Y_{26}^{(i)},\ \ \ \ \ Y_{28}^{(i)}\ =\ Y_{21}^{(i)}\ \boxplus\ Y_{27}^{(i)}.</math>

Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
<math>X^{(i+1)}\ =\ (Y_1^{(i)}\ \oplus\ Y_{25}^{(i)},\ Y_5^{(i)}\ \oplus\ Y_{25}^{(i)},\ Y_6^{(i)}\ \oplus\ Y_{26}^{(i)},\ Y_7^{(i)}\ \oplus\ Y_{27}^{(i)},\ Y_2^{(i)}\ \oplus\ Y_{26}^{(i)},\ Y_3^{(i)}\ \oplus\ Y_{27}^{(i)},\ Y_4^{(i)}\ \oplus\ Y_{28}^{(i)},\ Y_8^{(i)}\ \oplus\ Y_{28}^{(i)})</math>

Для получения зашифрованного сообщения необходимо после 12-го раунда провести перемешивание по нечетной схеме <math>(i=9)</math>Шаблон:Sfn

Генерация ключей

Для генерации ключей используется 256-битный пользовательский ключ, а также 16-битные константы, такие же, как для MESH-64 и для MESH-96.

Вычисление подключей происходит следующим образомШаблон:Sfn:
<math>Z_{i+1}^{(1)}\ =\ K_i\ \oplus\ c_i,\ 0\ \leqslant\ i\ \leqslant\ 11</math>
<math>Z_{j\ \bmod\ 12\ +\ 1}^{(2)}\ =\ K_j\ \oplus\ c_j,\ 12\ \leqslant\ j\ \leqslant\ 15</math>
<math>Z_{l(i)}^{(h(i))}\ =\ (((((Z_{l(i-16)}^{(h(i-16))}\ \boxplus\ Z_{l(i-13)}^{(h(i-13))})\ \oplus\ Z_{l(i-12)}^{(h(i-12))})\ \boxplus\ Z_{l(i-8)}^{(h(i-8))})\ \oplus\ Z_{l(i-2)}^{(h(i-2))})\ \boxplus\ Z_{l(i-1)}^{(h(i-1))})\ \lll\ 11\ \oplus\ c_i,</math>
где <math>16\ \leqslant\ i\ \leqslant\ 151,\ h(i)\ =\ i\ div\ 12\ +\ 1,\ l(i)\ =\ i\ \bmod\ 12\ +\ 1</math>.

Расшифровка

Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
<math>(Z_{1}^{(r)},\ ...,\ Z_{12}^{(r)}),\ 1\ \leqslant\ r\ \leqslant\ 12</math> — подключи полных раундов;
<math>(Z_{1}^{(13)},\ ...,\ Z_{8}^{(13)})</math> — подключи выходных преобразований.

Тогда подключи расшифровки задаются следующим образомШаблон:Sfn:

  • <math>((Z_1^{(13)})^{-1},\ -Z_2^{(13)},\ (Z_3^{(13)})^{-1},\ -Z_4^{(13)},\ -Z_5^{(13)},\ (Z_6^{(13)})^{-1},\ -Z_7^{(13)},\ (Z_8^{(13)})^{-1},\ Z_9^{(12)},\ Z_{10}^{(12)},\ Z_{11}^{(12)},\ Z_{12}^{(12)})</math>, - первый раунд расшифровки;
  • <math>(-Z_1^{(14-r)},\ (Z_5^{(14-r)})^{-1},\ -Z_6^{(14-r)},\ (Z_7^{(14-r)})^{-1},\ (Z_2^{(14-r)})^{-1},\ -Z_3^{(14-r)},\ (Z_4^{(14-r)})^{-1},\ -Z_8^{(14-r)},\ Z_9^{(13-r)},\ Z_{10}^{(13-r)},\ Z_{11}^{(13-r)},\ Z_{12}^{(13-r)})</math>, - <math>r</math>-й чётный раунд, <math>r\ \in\ \{2,\ 4,\ 6,\ 8,\ 10,\ 12\}</math>;
  • <math>((Z_1^{(13-r)})^{-1},\ -Z_5^{(13-r)},\ (Z_6^{(13-r)})^{-1},\ -Z_7^{(13-r)},\ -Z_2^{(13-r)},\ (-Z_3^{(13-r)})^{-1},\ -Z_4^{(13-r)},\ (Z_8^{(13-r)})^{-1},\ Z_9^{(12-r)},\ Z_{10}^{(12-r)},\ Z_{11}^{(12-r)},\ Z_{12}^{(12-r)})</math>, - <math>r</math>-й нечётный раунд, <math>r\ \in\ \{3,\ 5,\ 7,\ 9,\ 11\}</math>;
  • <math>((Z_1^{(1)})^{-1},\ -Z_2^{(1)},\ (Z_3^{(1)})^{-1},\ -Z_4^{(1)},\ -Z_5^{(1)},\ (Z_6^{(1)})^{-1},\ -Z_7^{(1)},\ (Z_8^{(1)})^{-1})</math>, — выходные преобразования.

Криптоанализ

Ниже приводится таблица, содержащая расчетную информацию по возможным криптоатакам. В ней рассматриваются урезанные алгоритмы, количество раундов можно увидеть в соответствующей колонке. За данные принимаются выбранные подобранные открытые тексты, указывается необходимое количество таковых (в блоках). Время оценивается в количестве вычислений. Память отражает количество ячеек памяти, необходимых для хранения каких-либо данных во время криптоатаки. Как видно из таблицы, все варианты MESH более сложны для взлома представленными криптоатаками, чем IDEA, на котором он основанШаблон:SfnШаблон:Sfn.

Таблица 1. Обобщение сложностей криптоатак на IDEA и MESHШаблон:Sfn
Шифр Криптоанализ Раундов Данные Память Время
IDEA
(8,5 раундов)
Интегральный <math>2.5</math> <math>23</math> <math>23</math> <math>2^{64}</math>
Усеченный дифф. <math>3.5</math> <math>2^{56}</math> <math>2^{32}</math> <math>2^{67}</math>
Невозможный дифф. <math>3.5</math> <math>2^{38.5}</math> <math>2^{37}</math> <math>2^{53}</math>
Невозможный дифф. <math>4</math> <math>2^{38.5}</math> <math>2^{37}</math> <math>2^{70}</math>
MESH-64
(8,5 раундов)
Интегральный <math>2.5</math> <math>2^{50.5}</math> <math>2^{16}</math> <math>2^{76}</math>
Усеченный дифф. <math>3.5</math> <math>2^{64}</math> <math>2^{32}</math> <math>2^{78}</math>
Невозможный дифф. <math>3.5</math> <math>2^{39.5}</math> <math>2^{61}</math> <math>2^{64}</math>
Невозможный дифф. <math>4</math> <math>2^{39.5}</math> <math>2^{61}</math> <math>2^{112}</math>
MESH-96
(10,5 раундов)
Интегральный <math>2.5</math> <math>2^{50}</math> <math>2^{16}</math> <math>2^{96}</math>
Усеченный дифф. <math>3.5</math> <math>2^{96}</math> <math>2^{64}</math> <math>2^{109}</math>
Невозможный дифф. <math>3.5</math> <math>2^{56}</math> <math>2^{93}</math> <math>2^{96}</math>
Невозможный дифф. <math>4</math> <math>2^{56}</math> <math>2^{93}</math> <math>2^{144}</math>
MESH-128
(12,5 раундов)
Интегральный <math>2.5</math> <math>2^{50}</math> <math>2^{16}</math> <math>2^{128}</math>
Усеченный дифф. <math>3.5</math> <math>2^{128}</math> <math>2^{64}</math> <math>2^{142}</math>
Невозможный дифф. <math>3.5</math> <math>2^{65}</math> <math>2^{157}</math> <math>2^{128}</math>
Невозможный дифф. <math>4</math> <math>2^{65}</math> <math>2^{157}</math> <math>2^{192}</math>

Примечания

Шаблон:Примечания

Литература

Шаблон:Симметричные криптоалгоритмы