В криптографии , MESH — блочный шифр , являющийся модификацией IDEA . Разработан Жорже Накахарой , Винсентом Рэйменом , Бартом Пренелем и Йоосом Вандевалле в 2002 году. В отличие от IDEA, MESH имеет более сложную раундовую структуру. Иной алгоритм генерации ключей позволяет MESH избегать проблемы слабых ключей[ 1] .
MESH
Создатель
Накахара , Рэймен , Пренель , Вандевалле
Опубликован
2002
Размер ключа
128, 192, 256 бит
Размер блока
64, 96, 128 бит
Число раундов
8,5, 10,5, 12,5
Тип
основан на IDEA , модификация Сети Фейстеля
Каждый раунд в IDEA и MESH состоит из операций сложения и умножения. Последовательность таких вычислений в пределах одного раунда образует MA-бокс. Все MA-боксы в MESH используют минимум три чередующихся уровня сложений и умножений (по схеме «зиг-заг»), в то время, как в IDEA таковых только два. Это делает MESH более стойким против дифференциальной и линейной криптоатак. Также, с целью избежать проблемы слабых ключей, в MESH используются два следующих принципа:
Каждый подключ зависит от почти всех подключей, более точно — как минимум от шести предыдущих ключей нелинейно
Используются фиксированные константы. Без них, например, ключ из всех нулей перешел бы в подключи, каждый из которых равнялся бы нулю в любом раунде
Как и в IDEA, MESH использует следующие операции:
умножение по модулю
2
16
+
1
{\displaystyle 2^{16}+1}
, причем вместо нуля используется
2
16
{\displaystyle 2^{16}}
(
⊙
{\displaystyle \odot }
)
циклический сдвиг влево на
n
{\displaystyle n}
бит (
⋘
n
{\displaystyle \lll \ n}
)
сложение по модулю
2
16
{\displaystyle 2^{16}}
(
⊞
{\displaystyle \boxplus }
)
побитовое исключающее ИЛИ (
⊕
{\displaystyle \oplus }
)
Операции расположены в порядке уменьшения приоритета.
В вычислениях запись
A
k
(
i
)
{\displaystyle A_{k}^{(i)}}
обозначает 16-битное слово. Индексы описываются далее.
MESH описывается в трех вариациях по размерам блока: 64, 96, 128 бит. Размер ключа при этом берется вдвое больший[ 2] .
В данной вариации размер блока составляет 64 бит, ключ — 128 бит. Шифрование проходит в 8,5 раунда. Половина раунда относится к выходным преобразованиям[ 3] .
Обозначим входную информацию для
i
{\displaystyle i}
-го раунда:
X
(
i
)
=
(
X
1
(
i
)
,
X
2
(
i
)
,
X
3
(
i
)
,
X
4
(
i
)
)
,
i
=
1...9
{\displaystyle X^{(i)}\ =\ (X_{1}^{(i)},\ X_{2}^{(i)},\ X_{3}^{(i)},\ X_{4}^{(i)}),\ i=1...9}
Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На четных и нечетных раундах перемешивание происходит по-разному:
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
)
=
(
X
1
(
i
)
⊙
Z
1
(
i
)
,
X
2
(
i
)
⊞
Z
2
(
i
)
,
X
3
(
i
)
⊞
Z
3
(
i
)
,
X
4
(
i
)
⊙
Z
4
(
i
)
)
{\displaystyle (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)})}
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
)
=
(
X
1
(
i
)
⊞
Z
1
(
i
)
,
X
2
(
i
)
⊙
Z
2
(
i
)
,
X
3
(
i
)
⊙
Z
3
(
i
)
,
X
4
(
i
)
⊞
Z
4
(
i
)
)
{\displaystyle (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)})}
Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
(
Y
5
(
i
)
,
Y
6
(
i
)
)
=
(
Y
1
(
i
)
⊕
Y
3
(
i
)
,
Y
2
(
i
)
⊕
Y
4
(
i
)
)
{\displaystyle (Y_{5}^{(i)},\ Y_{6}^{(i)})\ =\ (Y_{1}^{(i)}\ \oplus \ Y_{3}^{(i)},\ Y_{2}^{(i)}\ \oplus \ Y_{4}^{(i)})}
МА-вычисления описываются следующими формулами:
Y
7
(
i
)
=
(
(
Y
5
(
i
)
⊙
Z
5
(
i
)
⊞
Y
6
(
i
)
)
⊙
Z
6
(
i
)
⊞
(
Y
5
(
i
)
⊙
Z
5
(
i
)
)
)
⊙
Z
7
(
i
)
{\displaystyle 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)}}
Y
8
(
i
)
=
Y
7
(
i
)
⊞
(
(
Y
5
(
i
)
⊙
Z
5
(
i
)
⊞
Y
6
(
i
)
)
⊙
Z
6
(
i
)
)
{\displaystyle Y_{8}^{(i)}\ =\ Y_{7}^{(i)}\ \boxplus \ ((Y_{5}^{(i)}\ \odot \ Z_{5}^{(i)}\ \boxplus \ Y_{6}^{(i)})\ \odot \ Z_{6}^{(i)})}
Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
X
(
i
+
1
)
=
(
Y
1
(
i
)
⊕
Y
8
(
i
)
,
Y
3
(
i
)
⊕
Y
8
(
i
)
,
Y
2
(
i
)
⊕
Y
7
(
i
)
,
Y
4
(
i
)
⊕
Y
7
(
i
)
)
{\displaystyle 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)})}
Согласно схеме, для получения зашифрованного сообщения необходимо после восьмого раунда провести перемешивание по нечетной схеме
(
i
=
9
)
{\displaystyle (i=9)}
[ 4]
Для генерации ключей используется 128-битный пользовательский ключ, а также 16-битные константы
c
i
{\displaystyle c_{i}}
:
c
0
=
1
{\displaystyle c_{0}\ =\ 1}
,
c
i
=
3
∗
c
i
−
1
{\displaystyle c_{i}\ =\ 3*c_{i-1}}
, они вычисляются в Поле Галуа
G
F
(
2
16
)
{\displaystyle GF(2^{16})}
по модулю многочлена
x
16
+
x
5
+
x
3
+
x
2
+
1
{\displaystyle x^{16}\ +\ x^{5}\ +\ x^{3}\ +\ x^{2}\ +\ 1}
. Пользовательский ключ разбивается на 8 16-битных слов
K
i
,
0
⩽
i
⩽
7
{\displaystyle K_{i},\ 0\ \leqslant \ i\ \leqslant \ 7}
.
Вычисление подключей происходит следующим образом[ 5] :
Z
i
+
1
(
1
)
=
K
i
⊕
c
i
,
0
⩽
i
⩽
6
{\displaystyle Z_{i+1}^{(1)}\ =\ K_{i}\ \oplus \ c_{i},\ 0\ \leqslant \ i\ \leqslant \ 6}
Z
1
(
2
)
=
K
7
⊕
c
7
{\displaystyle Z_{1}^{(2)}\ =\ K_{7}\ \oplus \ c_{7}}
Z
l
(
i
)
(
h
(
i
)
)
=
(
(
(
(
(
Z
l
(
i
−
8
)
(
h
(
i
−
8
)
)
⊞
Z
l
(
i
−
7
)
(
h
(
i
−
7
)
)
)
⊕
Z
l
(
i
−
6
)
(
h
(
i
−
6
)
)
)
⊞
Z
l
(
i
−
3
)
(
h
(
i
−
3
)
)
)
⊕
Z
l
(
i
−
2
)
(
h
(
i
−
2
)
)
)
⊞
Z
l
(
i
−
1
)
(
h
(
i
−
1
)
)
)
⋘
7
⊕
c
i
,
{\displaystyle 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},}
где
8
⩽
i
⩽
59
,
h
(
i
)
=
i
d
i
v
7
+
1
,
l
(
i
)
=
i
mod
7
+
1
{\displaystyle 8\ \leqslant \ i\ \leqslant \ 59,\ h(i)\ =\ i\ div\ 7\ +\ 1,\ l(i)\ =\ i\ {\bmod {\ }}7\ +\ 1}
.
Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
(
Z
1
(
r
)
,
.
.
.
,
Z
7
(
r
)
)
,
1
⩽
r
⩽
8
{\displaystyle (Z_{1}^{(r)},\ ...,\ Z_{7}^{(r)}),\ 1\ \leqslant \ r\ \leqslant \ 8}
- подключи полных раундов;
(
Z
1
(
9
)
,
.
.
.
,
Z
4
(
9
)
)
{\displaystyle (Z_{1}^{(9)},\ ...,\ Z_{4}^{(9)})}
- подключи выходных преобразований.
Тогда подключи расшифровки задаются следующим образом[ 6] :
(
(
Z
1
(
9
)
)
−
1
,
−
Z
2
(
9
)
,
−
Z
3
(
9
)
,
(
Z
4
(
9
)
)
−
1
,
Z
5
(
8
)
,
Z
6
(
8
)
,
Z
7
(
8
)
)
{\displaystyle ((Z_{1}^{(9)})^{-1},\ -Z_{2}^{(9)},\ -Z_{3}^{(9)},\ (Z_{4}^{(9)})^{-1},\ Z_{5}^{(8)},\ Z_{6}^{(8)},\ Z_{7}^{(8)})}
, - первый раунд расшифровки;
(
−
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
)
)
{\displaystyle (-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)})}
, -
r
{\displaystyle r}
-й четный раунд,
r
∈
{
2
,
4
,
6
,
8
}
{\displaystyle r\ \in \ \{2,\ 4,\ 6,\ 8\}}
;
(
(
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
)
)
{\displaystyle ((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)})}
, -
r
{\displaystyle r}
-й нечетный раунд,
r
∈
{
3
,
5
,
7
}
{\displaystyle r\ \in \ \{3,\ 5,\ 7\}}
;
(
(
Z
1
(
1
)
)
−
1
,
−
Z
2
(
1
)
,
−
Z
3
(
1
)
,
(
Z
4
(
1
)
)
−
1
)
{\displaystyle ((Z_{1}^{(1)})^{-1},\ -Z_{2}^{(1)},\ -Z_{3}^{(1)},\ (Z_{4}^{(1)})^{-1})}
, - выходные преобразования.
В данной вариации размер блока составляет 96 бит, ключ — 192 бит. Шифрование проходит в 10,5 раунда. Половина раунда относится к выходным преобразованиям[ 7] .
Обозначим входную информацию для
i
{\displaystyle i}
-го раунда:
X
(
i
)
=
(
X
1
(
i
)
,
X
2
(
i
)
,
X
3
(
i
)
,
X
4
(
i
)
,
X
5
(
i
)
,
X
6
(
i
)
)
,
i
=
1...11
{\displaystyle X^{(i)}\ =\ (X_{1}^{(i)},\ X_{2}^{(i)},\ X_{3}^{(i)},\ X_{4}^{(i)},\ X_{5}^{(i)},\ X_{6}^{(i)}),\ i=1...11}
Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На четных и нечетных раундах перемешивание происходит по-разному:
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
,
Y
5
(
i
)
,
Y
6
(
i
)
)
=
(
X
1
(
i
)
⊙
Z
1
(
i
)
,
X
2
(
i
)
⊞
Z
2
(
i
)
,
X
3
(
i
)
⊙
Z
3
(
i
)
,
X
4
(
i
)
⊞
Z
4
(
i
)
,
X
5
(
i
)
⊙
Z
5
(
i
)
,
X
6
(
i
)
⊞
Z
6
(
i
)
)
{\displaystyle (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)})}
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
,
Y
5
(
i
)
,
Y
6
(
i
)
)
=
(
X
1
(
i
)
⊞
Z
1
(
i
)
,
X
2
(
i
)
⊙
Z
2
(
i
)
,
X
3
(
i
)
⊞
Z
3
(
i
)
,
X
4
(
i
)
⊙
Z
4
(
i
)
,
X
5
(
i
)
⊞
Z
5
(
i
)
,
X
6
(
i
)
⊙
Z
6
(
i
)
)
{\displaystyle (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)})}
Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
(
Y
7
(
i
)
,
Y
8
(
i
)
,
Y
9
(
i
)
)
=
(
Y
1
(
i
)
⊕
Y
4
(
i
)
,
Y
2
(
i
)
⊕
Y
5
(
i
)
,
Y
3
(
i
)
⊕
Y
6
(
i
)
)
{\displaystyle (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)})}
МА-вычисления описываются следующими формулами:
Y
10
(
i
)
=
(
(
(
Y
7
(
i
)
⊙
Z
7
(
i
)
⊞
Y
8
(
i
)
)
⊙
Y
9
(
i
)
⊞
Z
8
(
i
)
)
⊙
(
Y
7
(
i
)
⊙
Z
7
(
i
)
⊞
Y
8
(
i
)
)
⊞
Y
7
(
i
)
⊙
Z
7
(
i
)
)
⊙
Z
9
(
i
)
{\displaystyle 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)}}
Y
11
(
i
)
=
Y
10
(
i
)
⊞
(
(
Y
7
(
i
)
⊙
Z
7
(
i
)
⊞
Y
8
(
i
)
)
⊙
Y
9
(
i
)
⊞
Z
8
(
i
)
)
⊙
(
Y
7
(
i
)
⊙
Z
7
(
i
)
⊞
Y
8
(
i
)
)
{\displaystyle 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)})}
Y
12
(
i
)
=
Y
11
(
i
)
⊙
(
(
Y
7
(
i
)
⊙
Z
7
(
i
)
⊞
Y
8
(
i
)
)
⊙
Y
9
(
i
)
⊞
Z
8
(
i
)
)
{\displaystyle 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)})}
Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
X
(
i
+
1
)
=
(
Y
1
(
i
)
⊕
Y
12
(
i
)
,
Y
4
(
i
)
⊕
Y
12
(
i
)
,
Y
5
(
i
)
⊕
Y
11
(
i
)
,
Y
2
(
i
)
⊕
Y
11
(
i
)
,
Y
3
(
i
)
⊕
Y
10
(
i
)
,
Y
6
(
i
)
⊕
Y
10
(
i
)
)
{\displaystyle 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)})}
Для получения зашифрованного сообщения необходимо после 10-го раунда провести перемешивание по нечетной схеме
(
i
=
9
)
{\displaystyle (i=9)}
[ 8]
Для генерации ключей используется 192-битный пользовательский ключ, а также 16-битные константы, такие же, как и для MESH-64.
Вычисление подключей происходит следующим образом[ 9] :
Z
i
+
1
(
1
)
=
K
i
⊕
c
i
,
0
⩽
i
⩽
8
{\displaystyle Z_{i+1}^{(1)}\ =\ K_{i}\ \oplus \ c_{i},\ 0\ \leqslant \ i\ \leqslant \ 8}
Z
1
(
2
)
=
K
9
⊕
c
9
{\displaystyle Z_{1}^{(2)}\ =\ K_{9}\ \oplus \ c_{9}}
Z
2
(
2
)
=
K
10
⊕
c
10
{\displaystyle Z_{2}^{(2)}\ =\ K_{10}\ \oplus \ c_{10}}
Z
3
(
2
)
=
K
11
⊕
c
11
{\displaystyle Z_{3}^{(2)}\ =\ K_{11}\ \oplus \ c_{11}}
Z
l
(
i
)
(
h
(
i
)
)
=
(
(
(
(
(
Z
l
(
i
−
12
)
(
h
(
i
−
12
)
)
⊞
Z
l
(
i
−
8
)
(
h
(
i
−
8
)
)
)
⊕
Z
l
(
i
−
6
)
(
h
(
i
−
6
)
)
)
⊞
Z
l
(
i
−
4
)
(
h
(
i
−
4
)
)
)
⊕
Z
l
(
i
−
2
)
(
h
(
i
−
2
)
)
)
⊞
Z
l
(
i
−
1
)
(
h
(
i
−
1
)
)
)
⋘
9
⊕
c
i
,
{\displaystyle 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},}
где
12
⩽
i
⩽
95
,
h
(
i
)
=
i
d
i
v
9
+
1
,
l
(
i
)
=
i
mod
9
+
1
{\displaystyle 12\ \leqslant \ i\ \leqslant \ 95,\ h(i)\ =\ i\ div\ 9\ +\ 1,\ l(i)\ =\ i\ {\bmod {\ }}9\ +\ 1}
.
Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
(
Z
1
(
r
)
,
.
.
.
,
Z
9
(
r
)
)
,
1
⩽
r
⩽
10
{\displaystyle (Z_{1}^{(r)},\ ...,\ Z_{9}^{(r)}),\ 1\ \leqslant \ r\ \leqslant \ 10}
— подключи полных раундов;
(
Z
1
(
11
)
,
.
.
.
,
Z
6
(
11
)
)
{\displaystyle (Z_{1}^{(11)},\ ...,\ Z_{6}^{(11)})}
- подключи выходных преобразований.
Тогда подключи расшифровки задаются следующим образом[ 10] :
(
(
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
)
)
{\displaystyle ((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)})}
, — первый раунд расшифровки;
(
−
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
)
)
{\displaystyle (-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)})}
, —
r
{\displaystyle r}
-й чётный раунд,
r
∈
{
2
,
4
,
6
,
8
,
10
}
{\displaystyle r\ \in \ \{2,\ 4,\ 6,\ 8,\ 10\}}
;
(
(
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
)
)
{\displaystyle ((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)})}
, —
r
{\displaystyle r}
-й нечётный раунд,
r
∈
{
3
,
5
,
7
,
9
}
{\displaystyle r\ \in \ \{3,\ 5,\ 7,\ 9\}}
;
(
(
Z
1
(
1
)
)
−
1
,
−
Z
2
(
1
)
,
(
Z
3
(
1
)
)
−
1
,
−
Z
4
(
1
)
,
(
Z
5
(
1
)
)
−
1
,
−
Z
6
(
1
)
)
{\displaystyle ((Z_{1}^{(1)})^{-1},\ -Z_{2}^{(1)},\ (Z_{3}^{(1)})^{-1},\ -Z_{4}^{(1)},\ (Z_{5}^{(1)})^{-1},\ -Z_{6}^{(1)})}
, — выходные преобразования.
В данной вариации размер блока составляет 128 бит, ключ — 256 бит. Шифрование проходит в 12,5 раунда. Половина раунда относится к выходным преобразованиям[ 11] .
Обозначим входную информацию для
i
{\displaystyle i}
-го раунда:
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
{\displaystyle 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}
Каждый раунд состоит из двух частей: перемешивание входных данных с подключами и MA-вычисления. На чётных и нечётных раундах перемешивание происходит по-разному:
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
,
Y
5
(
i
)
,
Y
6
(
i
)
,
Y
7
(
i
)
,
Y
8
(
i
)
)
=
{\displaystyle (Y_{1}^{(i)},\ Y_{2}^{(i)},\ Y_{3}^{(i)},\ Y_{4}^{(i)},\ Y_{5}^{(i)},\ Y_{6}^{(i)},\ Y_{7}^{(i)},\ Y_{8}^{(i)})\ =}
(
X
1
(
i
)
⊙
Z
1
(
i
)
,
X
2
(
i
)
⊞
Z
2
(
i
)
,
X
3
(
i
)
⊙
Z
3
(
i
)
,
X
4
(
i
)
⊞
Z
4
(
i
)
,
X
5
(
i
)
⊙
Z
5
(
i
)
,
X
6
(
i
)
⊞
Z
6
(
i
)
,
X
7
(
i
)
⊙
Z
7
(
i
)
,
X
8
(
i
)
⊞
Z
8
(
i
)
)
{\displaystyle \ \ \ \ \ \ \ \ \ \ \ \ \ (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)})}
(
Y
1
(
i
)
,
Y
2
(
i
)
,
Y
3
(
i
)
,
Y
4
(
i
)
,
Y
5
(
i
)
,
Y
6
(
i
)
,
Y
7
(
i
)
,
Y
8
(
i
)
)
=
{\displaystyle (Y_{1}^{(i)},\ Y_{2}^{(i)},\ Y_{3}^{(i)},\ Y_{4}^{(i)},\ Y_{5}^{(i)},\ Y_{6}^{(i)},\ Y_{7}^{(i)},\ Y_{8}^{(i)})\ =}
(
X
1
(
i
)
⊞
Z
1
(
i
)
,
X
2
(
i
)
⊙
Z
2
(
i
)
,
X
3
(
i
)
⊞
Z
3
(
i
)
,
X
4
(
i
)
⊙
Z
4
(
i
)
,
X
5
(
i
)
⊞
Z
5
(
i
)
,
X
6
(
i
)
⊙
Z
6
(
i
)
,
X
7
(
i
)
⊞
Z
7
(
i
)
,
X
8
(
i
)
⊙
Z
8
(
i
)
)
{\displaystyle \ \ \ \ \ \ \ \ \ \ \ \ \ (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)})}
Преобразования, выполняемые MA-боксами, одинаковы для всех раундов. Входные данные для них получаются следующим образом:
(
Y
9
(
i
)
,
Y
10
(
i
)
,
Y
11
(
i
)
,
Y
12
(
i
)
)
=
(
Y
1
(
i
)
⊕
Y
5
(
i
)
,
Y
2
(
i
)
⊕
Y
6
(
i
)
,
Y
3
(
i
)
⊕
Y
7
(
i
)
,
Y
4
(
i
)
⊕
Y
8
(
i
)
)
{\displaystyle (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)})}
МА-вычисления описываются следующими формулами:
Y
13
(
i
)
=
Y
9
(
i
)
⊙
Z
9
(
i
)
,
Y
14
(
i
)
=
Y
13
(
i
)
⊞
Y
10
(
i
)
,
{\displaystyle Y_{13}^{(i)}\ =\ Y_{9}^{(i)}\ \odot \ Z_{9}^{(i)},\ \ \ \ \ Y_{14}^{(i)}\ =\ Y_{13}^{(i)}\ \boxplus \ Y_{10}^{(i)},}
Y
15
(
i
)
=
Y
14
(
i
)
⊙
Y
11
(
i
)
,
Y
16
(
i
)
=
Y
15
(
i
)
⊞
Y
12
(
i
)
,
{\displaystyle Y_{15}^{(i)}\ =\ Y_{14}^{(i)}\ \odot \ Y_{11}^{(i)},\ \ \ \ \ Y_{16}^{(i)}\ =\ Y_{15}^{(i)}\ \boxplus \ Y_{12}^{(i)},}
Y
17
(
i
)
=
Y
16
(
i
)
⊙
Z
10
(
i
)
,
Y
18
(
i
)
=
Y
15
(
i
)
⊞
Y
17
(
i
)
,
{\displaystyle Y_{17}^{(i)}\ =\ Y_{16}^{(i)}\ \odot \ Z_{10}^{(i)},\ \ \ \ \ Y_{18}^{(i)}\ =\ Y_{15}^{(i)}\ \boxplus \ Y_{17}^{(i)},}
Y
19
(
i
)
=
Y
14
(
i
)
⊙
Y
18
(
i
)
,
Y
20
(
i
)
=
Y
13
(
i
)
⊞
Y
19
(
i
)
,
{\displaystyle Y_{19}^{(i)}\ =\ Y_{14}^{(i)}\ \odot \ Y_{18}^{(i)},\ \ \ \ \ Y_{20}^{(i)}\ =\ Y_{13}^{(i)}\ \boxplus \ Y_{19}^{(i)},}
Y
21
(
i
)
=
Y
20
(
i
)
⊙
Z
11
(
i
)
,
Y
22
(
i
)
=
Y
19
(
i
)
⊞
Y
21
(
i
)
,
{\displaystyle Y_{21}^{(i)}\ =\ Y_{20}^{(i)}\ \odot \ Z_{11}^{(i)},\ \ \ \ \ Y_{22}^{(i)}\ =\ Y_{19}^{(i)}\ \boxplus \ Y_{21}^{(i)},}
Y
23
(
i
)
=
Y
18
(
i
)
⊙
Y
22
(
i
)
,
Y
24
(
i
)
=
Y
17
(
i
)
⊞
Y
23
(
i
)
,
{\displaystyle Y_{23}^{(i)}\ =\ Y_{18}^{(i)}\ \odot \ Y_{22}^{(i)},\ \ \ \ \ Y_{24}^{(i)}\ =\ Y_{17}^{(i)}\ \boxplus \ Y_{23}^{(i)},}
Y
25
(
i
)
=
Y
24
(
i
)
⊙
Z
12
(
i
)
,
Y
26
(
i
)
=
Y
23
(
i
)
⊞
Y
25
(
i
)
,
{\displaystyle Y_{25}^{(i)}\ =\ Y_{24}^{(i)}\ \odot \ Z_{12}^{(i)},\ \ \ \ \ Y_{26}^{(i)}\ =\ Y_{23}^{(i)}\ \boxplus \ Y_{25}^{(i)},}
Y
27
(
i
)
=
Y
22
(
i
)
⊙
Y
26
(
i
)
,
Y
28
(
i
)
=
Y
21
(
i
)
⊞
Y
27
(
i
)
.
{\displaystyle Y_{27}^{(i)}\ =\ Y_{22}^{(i)}\ \odot \ Y_{26}^{(i)},\ \ \ \ \ Y_{28}^{(i)}\ =\ Y_{21}^{(i)}\ \boxplus \ Y_{27}^{(i)}.}
Используя результаты, полученные MA-боксами, находим входные данные для следующего раунда:
X
(
i
+
1
)
=
(
Y
1
(
i
)
⊕
Y
25
(
i
)
,
Y
5
(
i
)
⊕
Y
25
(
i
)
,
Y
6
(
i
)
⊕
Y
26
(
i
)
,
Y
7
(
i
)
⊕
Y
27
(
i
)
,
Y
2
(
i
)
⊕
Y
26
(
i
)
,
Y
3
(
i
)
⊕
Y
27
(
i
)
,
Y
4
(
i
)
⊕
Y
28
(
i
)
,
Y
8
(
i
)
⊕
Y
28
(
i
)
)
{\displaystyle 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)})}
Для получения зашифрованного сообщения необходимо после 12-го раунда провести перемешивание по нечетной схеме
(
i
=
9
)
{\displaystyle (i=9)}
[ 12]
Для генерации ключей используется 256-битный пользовательский ключ, а также 16-битные константы, такие же, как для MESH-64 и для MESH-96.
Вычисление подключей происходит следующим образом[ 13] :
Z
i
+
1
(
1
)
=
K
i
⊕
c
i
,
0
⩽
i
⩽
11
{\displaystyle Z_{i+1}^{(1)}\ =\ K_{i}\ \oplus \ c_{i},\ 0\ \leqslant \ i\ \leqslant \ 11}
Z
j
mod
12
+
1
(
2
)
=
K
j
⊕
c
j
,
12
⩽
j
⩽
15
{\displaystyle Z_{j\ {\bmod {\ }}12\ +\ 1}^{(2)}\ =\ K_{j}\ \oplus \ c_{j},\ 12\ \leqslant \ j\ \leqslant \ 15}
Z
l
(
i
)
(
h
(
i
)
)
=
(
(
(
(
(
Z
l
(
i
−
16
)
(
h
(
i
−
16
)
)
⊞
Z
l
(
i
−
13
)
(
h
(
i
−
13
)
)
)
⊕
Z
l
(
i
−
12
)
(
h
(
i
−
12
)
)
)
⊞
Z
l
(
i
−
8
)
(
h
(
i
−
8
)
)
)
⊕
Z
l
(
i
−
2
)
(
h
(
i
−
2
)
)
)
⊞
Z
l
(
i
−
1
)
(
h
(
i
−
1
)
)
)
⋘
11
⊕
c
i
,
{\displaystyle 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},}
где
16
⩽
i
⩽
151
,
h
(
i
)
=
i
d
i
v
12
+
1
,
l
(
i
)
=
i
mod
12
+
1
{\displaystyle 16\ \leqslant \ i\ \leqslant \ 151,\ h(i)\ =\ i\ div\ 12\ +\ 1,\ l(i)\ =\ i\ {\bmod {\ }}12\ +\ 1}
.
Для расшифровки MESH, как и IDEA, использует уже существующую схему, но с измененными раундовыми подключами. Обозначим подключи, использовавшиеся при шифровании, следующим образом:
(
Z
1
(
r
)
,
.
.
.
,
Z
12
(
r
)
)
,
1
⩽
r
⩽
12
{\displaystyle (Z_{1}^{(r)},\ ...,\ Z_{12}^{(r)}),\ 1\ \leqslant \ r\ \leqslant \ 12}
— подключи полных раундов;
(
Z
1
(
13
)
,
.
.
.
,
Z
8
(
13
)
)
{\displaystyle (Z_{1}^{(13)},\ ...,\ Z_{8}^{(13)})}
— подключи выходных преобразований.
Тогда подключи расшифровки задаются следующим образом[ 14] :
(
(
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
)
)
{\displaystyle ((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)})}
, - первый раунд расшифровки;
(
−
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
)
)
{\displaystyle (-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)})}
, -
r
{\displaystyle r}
-й чётный раунд,
r
∈
{
2
,
4
,
6
,
8
,
10
,
12
}
{\displaystyle r\ \in \ \{2,\ 4,\ 6,\ 8,\ 10,\ 12\}}
;
(
(
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
)
)
{\displaystyle ((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)})}
, -
r
{\displaystyle r}
-й нечётный раунд,
r
∈
{
3
,
5
,
7
,
9
,
11
}
{\displaystyle r\ \in \ \{3,\ 5,\ 7,\ 9,\ 11\}}
;
(
(
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
)
{\displaystyle ((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})}
, — выходные преобразования.
Ниже приводится таблица, содержащая расчетную информацию по возможным криптоатакам. В ней рассматриваются урезанные алгоритмы, количество раундов можно увидеть в соответствующей колонке. За данные принимаются выбранные подобранные открытые тексты , указывается необходимое количество таковых (в блоках). Время оценивается в количестве вычислений. Память отражает количество ячеек памяти, необходимых для хранения каких-либо данных во время криптоатаки. Как видно из таблицы, все варианты MESH более сложны для взлома представленными криптоатаками, чем IDEA, на котором он основан[ 15] [ 16] .
Таблица 1. Обобщение сложностей криптоатак на IDEA и MESH[ 17]
Шифр
Криптоанализ
Раундов
Данные
Память
Время
IDEA (8,5 раундов)
Интегральный
2.5
{\displaystyle 2.5}
23
{\displaystyle 23}
23
{\displaystyle 23}
2
64
{\displaystyle 2^{64}}
Усеченный дифф.
3.5
{\displaystyle 3.5}
2
56
{\displaystyle 2^{56}}
2
32
{\displaystyle 2^{32}}
2
67
{\displaystyle 2^{67}}
Невозможный дифф.
3.5
{\displaystyle 3.5}
2
38.5
{\displaystyle 2^{38.5}}
2
37
{\displaystyle 2^{37}}
2
53
{\displaystyle 2^{53}}
Невозможный дифф.
4
{\displaystyle 4}
2
38.5
{\displaystyle 2^{38.5}}
2
37
{\displaystyle 2^{37}}
2
70
{\displaystyle 2^{70}}
MESH-64 (8,5 раундов)
Интегральный
2.5
{\displaystyle 2.5}
2
50.5
{\displaystyle 2^{50.5}}
2
16
{\displaystyle 2^{16}}
2
76
{\displaystyle 2^{76}}
Усеченный дифф.
3.5
{\displaystyle 3.5}
2
64
{\displaystyle 2^{64}}
2
32
{\displaystyle 2^{32}}
2
78
{\displaystyle 2^{78}}
Невозможный дифф.
3.5
{\displaystyle 3.5}
2
39.5
{\displaystyle 2^{39.5}}
2
61
{\displaystyle 2^{61}}
2
64
{\displaystyle 2^{64}}
Невозможный дифф.
4
{\displaystyle 4}
2
39.5
{\displaystyle 2^{39.5}}
2
61
{\displaystyle 2^{61}}
2
112
{\displaystyle 2^{112}}
MESH-96 (10,5 раундов)
Интегральный
2.5
{\displaystyle 2.5}
2
50
{\displaystyle 2^{50}}
2
16
{\displaystyle 2^{16}}
2
96
{\displaystyle 2^{96}}
Усеченный дифф.
3.5
{\displaystyle 3.5}
2
96
{\displaystyle 2^{96}}
2
64
{\displaystyle 2^{64}}
2
109
{\displaystyle 2^{109}}
Невозможный дифф.
3.5
{\displaystyle 3.5}
2
56
{\displaystyle 2^{56}}
2
93
{\displaystyle 2^{93}}
2
96
{\displaystyle 2^{96}}
Невозможный дифф.
4
{\displaystyle 4}
2
56
{\displaystyle 2^{56}}
2
93
{\displaystyle 2^{93}}
2
144
{\displaystyle 2^{144}}
MESH-128 (12,5 раундов)
Интегральный
2.5
{\displaystyle 2.5}
2
50
{\displaystyle 2^{50}}
2
16
{\displaystyle 2^{16}}
2
128
{\displaystyle 2^{128}}
Усеченный дифф.
3.5
{\displaystyle 3.5}
2
128
{\displaystyle 2^{128}}
2
64
{\displaystyle 2^{64}}
2
142
{\displaystyle 2^{142}}
Невозможный дифф.
3.5
{\displaystyle 3.5}
2
65
{\displaystyle 2^{65}}
2
157
{\displaystyle 2^{157}}
2
128
{\displaystyle 2^{128}}
Невозможный дифф.
4
{\displaystyle 4}
2
65
{\displaystyle 2^{65}}
2
157
{\displaystyle 2^{157}}
2
192
{\displaystyle 2^{192}}
↑ The MESH Block Ciphers, 2002 , p. 1-2.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 124.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 125.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 125-126.
↑ The MESH Block Ciphers, 2002 , p. 3.
↑ The MESH Block Ciphers, 2002 , p. 4.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 127.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 127-129.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 129.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 129-130.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 130.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 130-132.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 132.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 132-133.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 10-11.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 178-180.
↑ Cryptanalysis And Design Of Block Ciphers, 2003 , p. 179.