Криптографические свойства булевых функций. Методические указания
.pdf
Задание 2.8. Выясните, какие из функций таблиц 2 и 3 являются уравновешенными. Приведите пример АНФ уравновешенной функции, зависящей от четырех переменных.
Задание 2.9. Определите число уравновешенных функций от n переменных.
2.4 Устойчивость
Устойчивость является более сильным свойством, чем уравновешенность.
Применение устойчивых функций в криптографических конструкциях повышает их
стойкость к корреляционному анализу.
Пусть m – неотрицательное целое число, меньшее n.
Определение 2.5. Булева функция f P2 (n) называется m-устойчивой, если любая её подфункция, полученная фиксацией не более m переменных, является уравновешенной.
Пример 2.4. Является ли функция f |
x1 x2 |
x3 |
P2 (3) 2-устойчивой? |
||||||||
Решение. |
|
|
|
|
|
|
|
|
|
|
|
Вектор значений заданной функции f=(0,1,1,0,1,0,0,1). Функция является |
|||||||||||
сбалансированной. |
|
|
|
|
|
|
|
|
|
|
|
Найдем все подфункции, получающиеся фиксацией 1 и 2 переменных. |
|||||||||||
Сначала будем фиксировать по одной переменной. |
|
|
|
|
|
|
|||||
Фиксируем |
x 0 , получим |
подфункцию |
f 0 |
x |
x |
. |
Вектор |
значений |
|||
|
1 |
|
|
|
x |
2 |
3 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
полученной подфункции |
имеет |
вид |
(0,1,1,0), |
откуда |
следует, |
|
что fx0 |
||||
|
|
|
|
|
|
|
|
|
|
|
1 |
уравновешенная. |
Фиксируя |
x 1, |
получим подфункцию |
f 1 |
1 |
x |
x |
, которая |
|||
|
|
1 |
|
|
|
|
x |
|
2 |
3 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
принимает значения 0 и 1 одинаково часто, то есть полученная подфункция также является уравновешенной.
Аналогично, фиксируя x2 и x3 , получим уравновешенные функции.
Далее будем фиксировать по две переменные.
31
|
|
Фиксируя переменные |
x |
, |
x |
2 |
, |
получим подфункции f 0,0 |
x , |
f 0,1 |
|
1 |
x , |
||||
|
|
|
|
|
|
1 |
|
|
|
x ,x |
3 |
x ,x |
|
3 |
|||
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
1 |
2 |
|
|
f 1,0 |
|
1 x , |
f 1,1 |
|
1 1 x |
x |
, которые являются уравновешенными. Аналогично |
||||||||||
x ,x |
3 |
x ,x |
3 |
3 |
|
|
|
|
|
|
|
|
|
|
|||
1 |
2 |
|
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
можно показать, что при фиксации переменных x1 , x3 и x2 , x3 |
|
также получаются |
|||||||||||||||
уравновешенные функции. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
Таким образом, функция f |
|
x1 |
x2 x3 P2 (3) является 2-устойчивой. |
|
|
||||||||||
Задание 2.10. Является ли функция (0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0) 2-
устойчивой?
2.5 Корреляционная иммунность
Свойство корреляционной иммунности связано со свойством устойчивости булевых функций. Оно также необходимо для повышения способности криптографических конструкций, в которых используются булевы функции,
противостоять корреляционному анализу. Корреляционная иммунность означает,
что по известному значению функции невозможно восстановить информацию об
аргументах или других значениях функции. |
|
|
|
|
|
|
||||||
Определение |
2.6. |
Булева |
функция |
f |
|
P2 (n) называется корреляционно- |
||||||
иммунной |
порядка |
m , |
1 m |
n, если |
для |
|
любых |
наборов |
1 i1 ... im n , |
|||
a1,..., am |
F2 , выполняется соотношение |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
a ,...,a |
|
wt( f ) |
|
|
||
|
|
|
|
|
wt |
fi |
,1...,i |
m |
|
|
, |
(2.5) |
|
|
|
|
|
|
2m |
||||||
|
|
|
|
|
|
1 |
m |
|
|
|
|
|
функция |
a ,...,a |
|
|
m переменных. |
|
|
||||||
fi |
,1...,i m – функция от n |
|
|
|||||||||
|
1 |
m |
|
|
|
|
|
|
|
|
|
|
Задание 2.11. Является ли функция |
f |
|
x1 x2 |
x3 P2 (3) |
корреляционно- |
|||||||
иммунной порядка 2? |
|
|
|
|
|
|
|
|
|
|||
В теории криптографических булевых функций доказывается следующий критерий корреляционной иммунности булевой функции.
32
Теорема 2.1. Булева функция |
f |
P2 (n) корреляционно-иммунная порядка m |
||||||||||||||||||||
тогда и только тогда, когда Wf (u) |
0 |
u |
Vn : 1 wt(u) m . |
|
|
|
|
|
||||||||||||||
Пример |
2.5. |
Выясним, |
|
является |
ли |
функция |
|
f |
x1 |
x2 x3 |
P2 (3) |
|||||||||||
корреляционно-иммунной порядка 2. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
1) Найдем все векторы u |
|
V3 , для которых значение веса Хэмминга равно 1 |
||||||||||||||||||||
и 2, то есть 1 wt(u) |
2 . Это векторы (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0). |
|||||||||||||||||||||
2) Запишем формулу для нахождения коэффициентов Уолша-Адамара. |
|
|||||||||||||||||||||
Преобразование Уолша-Адамара для заданной функции имеет вид |
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
Wf (u) |
|
( 1) f ( x) |
x,u . |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
x V3 |
|
|
|
|
|
|
|
|
|
Вектор значений функции |
f (x) имеет вид f=(0,1,1,0,1,0,0,1). |
|
|
|
||||||||||||||||||
Раскроем знак суммы и запишем преобразование Уолша-Адамара в виде: |
|
|||||||||||||||||||||
W |
f |
(u) 1 ( 1)1 u3 ( 1)1 u2 |
( 1)u2 |
u3 |
( 1)1 u1 |
( 1)u1 u3 |
|
( 1)u1 u2 |
( 1)1 u1 |
u2 u3 . |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3) Для найденных векторов в пункте 1 найдем значения коэффициентов |
||||||||||||||||||||||
Уолша-Адамара: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Wf |
(0,0,1) |
1 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
( |
1)1 |
( |
1)1 |
( |
1)0 |
( |
1)0 |
0 ; |
|
|
|||
Wf |
(0,1,0) |
1 |
( |
1)1 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
( |
1)0 |
( |
1)1 |
( |
1)0 |
0 ; |
|
|
|||
Wf |
(0,1,1) |
1 |
( |
1)0 |
( |
1)0 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
( |
1)1 |
( |
1)1 |
0 ; |
|
|
|||
Wf |
(1,0,0) |
1 |
( |
1)1 |
( |
1)1 |
( |
1)0 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
( |
1)0 |
0 ; |
|
|
|||
Wf |
(1,0,1) |
1 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
( |
1)0 |
( |
1)0 |
( |
1)1 |
( |
1)1 |
0 ; |
|
|
|||
Wf |
(1,1,0) |
1 |
( |
1)1 |
( |
1)0 |
( |
1)1 |
( |
1)0 |
( |
1)1 |
( |
1)0 |
( |
1)1 |
0 . |
|
|
|||
Итак, |
Wf |
(u) 0 |
u V3 : 1 wt(u) 2 . Тогда |
по |
теореме |
2.1 функция |
f x1 x2 |
x3 |
P2 (3) является корреляционно-иммунной порядка 2. |
|
|||
Заметим, |
что в примере 2.4 было показано, что |
f |
x1 x2 x3 |
P2 (3) также |
||
является 2-устойчивой. Кроме того, эта функция является уравновешенной. Можно
33
показать, что уравновешенная и корреляционно-иммунная порядка m функция
называется m-устойчивой.
Задание 2.12. Является ли функция (0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0)
корреляционно-иммунной порядка 2?
2.6 Алгебраическая иммунность
Требование алгебраической иммунности криптографической функции возникло в результате развития алгебраического криптоанализа, и было введено в
2004 году. С увеличением показателя алгебраической иммунности булевой функции, увеличивается стойкость шифра, в котором эта функция используется, к
алгебраическим криптоатакам. |
|
|
Определение 2.7. Алгебраической |
иммунностью AI(f) |
булевой функции |
f P2 (n) называется степень булевой |
функции g P2 (n) , |
где g не равная |
тождественно нулю функция с минимальной степенью, такая что fg=0 или (f+1)g=0.
Функция g называется аннулирующей для f.
Пример 2.6. Найти AI(f) для функции f (x) x1x2 x3 x2 P2 (3) .
Решение.
Найдем аннулирующую функцию g для заданной функции f.
По определению g(x) P2 (3) . Запишем АНФ функции g с неопределенными коэффициентами:
g(x) a123x1x2 x3 a12 x1x2 a13x1x3 a23x2 x3 a1x1 a2 x2 a3x3 a0 .
По определению fg=0 или (f+1)g=0. Составим первое соотношение:
fg (x1x2 x3 x2 )(a123x1x2 x3 a12 x1x2 a13x1x3 a23x2 x3 a1x1 a2 x2 a3x3 a0 ) 0 .
Раскроем скобки и приведем подобные в левой части полученного равенства:
34
fg (x1x2 x3 |
x2 )(a123x1x2 x3 |
a12 x1x2 |
a13x1x3 a23x2 x3 |
a1x1 |
a2 x2 |
a3x3 |
a0 ) |
|||||||
(a123 |
a12 |
a13 |
a23 |
a1 |
a2 |
a3 |
a0 )x1x2 x3 |
a123x1x2 x3 |
a12 x1x2 |
a13x1x2 x3 |
||||
a23x2 x3 a1x1x2 |
a2 x2 |
a3x2 x3 |
a0 x2 |
|
|
|
|
|
|
|
||||
(a12 |
a23 |
a1 |
a2 a3 |
|
a0 )x1x2 x3 |
(a12 |
a1)x1x2 |
(a23 |
a3 )x2 x3 |
(a2 |
a0 )x2. |
|||
|
|
|
|
|
|
a12 |
a23 |
a1 |
a2 |
a3 |
a0 |
0, |
|
|
|
|
|
|
|
|
a12 |
a1 |
0, |
|
|
|
|
|
(2.6) |
|
|
|
|
|
|
a23 |
a3 |
0, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
a2 |
a0 |
0. |
|
|
|
|
|
|
Система (2.6) имеет нулевое решение, однако функция «тождественный ноль» не является аннулирующей по определению. Рассмотрим другие решения системы и соответствующие им функции, результаты представлены в таблице 7.
Таблица 7 – Решения системы (2.6) и соответствующие им функции
a2 , a0 |
a23 , a2 |
a12 , a1 |
Вид получающейся функции |
|||
0,0 |
0,0 |
1,1 |
|
x1x2 |
x1 |
|
|
|
|
|
|
|
|
0,0 |
1,1 |
0,0 |
|
x2 x3 |
x2 |
|
0,0 |
1,1 |
1,1 |
x1x2 |
x2 x3 |
x1 |
x2 |
|
|
|
|
|
|
|
1,1 |
0,0 |
0,0 |
|
x2 |
1 |
|
1,1 |
0,0 |
1,1 |
x1x2 |
x2 |
x1 |
1 |
|
|
|
|
|
|
|
1,1 |
1,1 |
0,0 |
|
x2 x3 |
1 |
|
|
|
|
|
|
|
|
1,1 |
1,1 |
1,1 |
x1x2 |
x2 x3 |
x1 |
1 |
|
|
|
|
|
|
|
Из получившихся функций наименьшую степень, равную 1, имеет функция x2 1. Заметим, что функцией меньшей степени, не равной тождественно нулю,
является функция, равная константе 1, однако она не является аннулирующей, так как не удовлетворяет определению. Таким образом, в качестве аннулирующей функции мы можем взять функцию g(x) x2 1 и найти AI(f)=1.
Задание 2.13. Найти AI(f) для функции (1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1).
35
2.7 Критерии распространения
Критерии распространения отражают свойство непредсказуемости значений булевой функции при изменении аргументов, чтобы при минимальном отклонении от истинного значения аргумента происходило быстрое распространение ошибок в
генерируемой последовательности. |
|
|
|
|
|
|
|
|
|
|
||||
Определение |
2.8. |
Функция |
|
f P2 (n) |
удовлетворяет |
строгому |
лавинному |
|||||||
критерию, если |
f (x |
u) |
f (x) |
является |
уравновешенной |
функцией |
u Vn : |
|||||||
wt(u) 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В литературе строгий лавинный критерий часто обозначают как SAC (Strict |
||||||||||||||
Avalanche Criteria). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример 2.7. Выяснить, удовлетворяет |
ли функция f (x) |
x1x3 |
x2 |
P2 (3) |
||||||||||
SAC. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Найдем f (x u) |
f (x) для |
каждого |
вектора |
u |
V3 , |
вес |
которого |
1, и |
||||||
выясним, является ли она сбалансированной. |
|
|
|
|
|
|
|
|
||||||
Заметим, что x |
u |
(x1 |
u1, x2 |
u2 , x3 |
u3 ) , тогда |
|
|
|
|
|
||||
|
|
|
f (x u) (x1 u1)(x3 |
u3 ) x2 |
u2 . |
|
|
|
||||||
Рассмотрим вектор u=(0,0,1). Для этого вектора найдем АНФ функции |
|
|||||||||||||
f (x u) |
f (x) x1(x3 |
1) |
x2 |
x1x3 |
x2 |
x1x3 |
x1 |
x2 |
x1x3 |
x2 |
x1 . |
|
||
Данная функция является сбалансированной.
Для вектора u=(0,1,0) получим функцию
f (x u) |
f (x) x1x3 |
x2 |
1 x1x3 |
x2 |
1, |
которая не является сбалансированной. |
|
|
|
|
|
Таким образом, функция |
f (x) x1x3 |
x2 |
P2 (3) не удовлетворяет критерию |
||
SAC. |
|
|
|
|
|
Задание 2.14. Выяснить, удовлетворяет ли функция |
f (x) |
x1x2 P2 (2) SAC. |
|||
Обобщением SAC является строгий лавинный критерий порядка k – SAC(k).
36
Определение |
2.9. |
Функция |
f |
P2 (n) |
удовлетворяет |
|
строгому |
лавинному |
||||||||||||||||
критерию порядка k , 1 |
k |
n , если подфункция f a1 ,...,ak |
при любых 1 |
x |
... |
x |
k |
n |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x ,...,x |
|
|
|
|
|
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
k |
|
|
|
|
|
|
|
|
|
|
|
, a1,..., ak |
F2 удовлетворяет строгому лавинному критерию. |
|
|
|
|
|
|
|
|
|
||||||||||||||
Пример 2.8. Выяснить, удовлетворяет ли функция |
f (x) |
|
x1x2 x3 |
x2 x3 |
P2 (3) |
|||||||||||||||||||
SAC(1). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
В данной задаче k=1, то есть будем искать подфункции, в которых |
||||||||||||||||||||||||
фиксируется одна переменная. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Будем |
фиксировать |
переменную |
x |
0 , |
получим подфункцию |
f |
0 |
x x . |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
x |
|
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
Проверим, |
выполняется |
ли |
для |
|
полученной |
подфункции |
SAC. |
Составим |
||||||||||||||||
f 0 (x u) |
f 0 (x) |
для u=(0,1). Получим |
f 0 |
(x |
u) |
|
f 0 |
(x) |
x (x |
|
1) |
x x |
|
x |
– |
|||||||||
x |
|
x |
|
|
|
|
|
|
|
x |
|
|
|
x |
|
|
2 3 |
|
2 |
3 |
|
2 |
|
|
1 |
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
уравновешенная |
функция. |
Для u=(1,0) |
f |
0 (x |
u) |
f |
0 (x) |
|
(x |
1)x |
x x |
|
x – |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
x |
|
2 |
|
3 |
|
2 3 |
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
уравновешенная функция. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Зафиксируем |
x |
1, |
получим |
подфункцию |
|
f 1 |
x x |
|
x x |
0 , |
которая |
|||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
x |
2 |
3 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
является тождественным нулем. Для полученной подфункции |
fx1 (x |
u) |
fx1 (x) |
0 |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
не является уравновешенной. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Таким |
образом, |
функция |
f (x) |
x1x2 x3 |
x2 x3 |
P2 (3) |
не |
удовлетворяет |
||||||||||||||||
критерию SAC(1). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Задание 2.15. Выяснить, |
удовлетворяет ли функция f (x) |
x1x2 |
x3x4 |
P2 (4) |
||||||||||||||||||||
SAC(2). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
критерии |
|
SAC(k) |
предусматривается модификация |
|
одного произвольно |
||||||||||||||||||
выбранного аргумента. Для учета модификации нескольких аргументов рассматриваются критерии распространения PC (Propagation Criterion)
Определение 2.10. |
Функция |
f |
P2 (n) |
удовлетворяет критерию |
распространения степени l , |
1 l n, если |
f (x |
u) |
f (x) является уравновешенной |
функцией u Vn : 1 wt(u) |
l . |
|
|
|
Критерий распространения степени l |
обозначается PC(l). |
|||
|
37 |
|
|
|
Если известно, что f (x u) f (x) является уравновешенной для вектора ,
то говорят, что f(x) удовлетворяет критерию распространения PC(l) степени l
относительно вектора .
Задание 2.16. Выяснить, |
удовлетворяет ли функция f (x) |
x1x2 |
x3x4 |
P2 (4) |
|||||||||||||
PC(2). Существует ли вектор |
, для которого f(x) удовлетворяет критерию |
||||||||||||||||
распространения PC(2) степени 2 относительно вектора |
? |
|
|
|
|
|
|
||||||||||
Критерий распространения PC(l,k) степени l порядка k представляет собой |
|||||||||||||||||
обобщение PC(l). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определение |
|
2.11. |
Функция |
f |
P2 (n) |
|
удовлетворяет |
критерию |
|||||||||
распространения степени |
l порядка k, 1 |
l |
n, 1 |
k |
|
n , если подфункция |
a ,...,a |
||||||||||
|
fx |
1,...,x k |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
k |
при любых 1 x1 ... |
xk |
n , a1,..., ak |
F2 , удовлетворяет PC(l). |
|
|
|
|
|
|||||||||
Пример 2.9. |
Выяснить, |
удовлетворяет |
ли |
функция |
f (x) |
x1x2 |
x3 |
P2 (3) |
|||||||||
PC(2,1). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Зафиксируем |
x |
0 , получим подфункцию f |
0 |
x |
. Проверим, выполняется ли |
||||||||||||
|
1 |
|
|
|
|
|
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
для полученной подфункции PC(2). |
При u=(0,1) |
fx0 (x |
u) |
fx0 (x) |
1 |
не является |
|||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
уравновешенной. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таким образом, функция |
f (x) x1x2 |
x3 |
P2 (3) |
не удовлетворяет PC(2,1). |
|
||||||||||||
Задание 2.17. Выяснить, |
удовлетворяет ли функция f (x) |
x1x2 |
x3x4 |
P2 (4) |
|||||||||||||
PC(2,2). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задание 2.18. В теории булевых функций существует понятие производной. |
|||||||||||||||||
Производной булевой функции f |
|
P2 (n) |
по направлению u |
|
Vn ,u |
0 |
называется |
||||||||||
функция Du ( f ) f (x |
u) |
f (x) . |
Сформулируйте лавинные критерии и критерии |
||||||||||||||
распространения, используя понятие производной булевой функции.
38
3 |
Примеры |
булевых |
функций, |
применяемых |
в |
криптографических конструкциях
Рассмотрим примеры некоторых булевых функций, применяемых в реальных криптографических конструкциях.
1) Функция, описывающая шифр Вернама [19].
Шифр Вернама или одноразовый шифр-блокнот – шифр, основанный на логической операции «исключающее ИЛИ» (в терминологии модулярной арифметики - сложение по модулю два). Булева функция, описывающая работу шифра Вернама, может быть представлена следующим образом:
F (x1, x2 ) x1 x2 .
С идеей шифрования Вы познакомились на лекциях и практических занятиях.
2) Функции, участвующие в описании работы алгоритмов шифрования,
применяемых в системах мобильной связи [10].
А5 – это поточный алгоритм шифрования, используемый для обеспечения конфиденциальности передаваемых данных между телефоном и базовой станцией в европейской системе мобильной цифровой связи GSM (Group Special Mobile). Шифр основан на побитовом сложении по модулю два генерируемой псевдослучайной последовательности и шифруемой информации. Алгоритм A5 в настоящее время — это целое семейство шифров.
В описании алгоритмов А5/1 и А5/2 рассмотрена следующая булева функция:
F (x1, x2 , x3 ) x1 x2 x1 x3 x2 x3 .
Для более подробного знакомства с идеями применения булевых функций в поточных шифрах можно прочитать [15, 24, 32].
3) Булевы функции, применяемые при описании криптографических хэш-
функций [19, 28].
MD4 (Message Digest 4) — хеш-функция, разработанная в 1990 году, и
используемая в протоколе аутентификации MS-CHAP, разработанном корпорацией Майкрософт для выполнения процедур проверки подлинности удаленных рабочих
39
станций Windows. В описании алгоритма используются следующие булевы функции:
F (x, y, z) x y x ' z ,
G(x, y, z) x y x z y z ,
H (x, y, z) x y z .
Алгоритм MD5 разработан в 1991 году и был предназначен для создания дайджестов («отпечатков») сообщения произвольной длины и последующей проверки их подлинности. В описании алгоритма используются булевы функции вида:
|
F (x, y, z) |
x y x ' z , |
|
|
|||||
|
G(x, y, z) |
x z z ' y , |
|
|
|||||
|
H (x, y, z) |
x y z , |
|
|
|||||
|
I (x, y, z) |
y (z ' x) . |
|
|
|||||
В хэш-функции HAVAL |
булевы |
функции, |
которые |
используются для |
|||||
выполнения побитовых операций над словами, имеют вид: |
|
|
|||||||
F1 (x0 , x1, x2 , x3 , x4 , x5 , x6 ) |
x0 |
|
x0 x1 |
|
x1x4 |
x2 x5 |
x3 x6 , |
||
F2 (x0 , x1, x2 , x3 , x4 , x5 , x6 ) |
x0 |
x0 x2 |
|
x1x2 |
x1x4 |
x2 x6 |
|||
x3 x5 |
x4 x5 |
x1x2 x3 |
x2 x4 x5 , |
|
|||||
F3 (x0 , x1, x2 , x3 , x4 , x5 , x6 ) |
x0 |
x0 x3 |
x1x4 |
x2 x5 x3 x6 x1x2 x3 , |
|||||
F4 (x0 , x1, x2 , x3 , x4 , x5 , x6 ) |
x0 |
x0 x4 |
|
x1x4 |
x2 x6 |
x3 x4 |
|||
x3 x5 x3 x6 |
x4 x5 |
x4 x6 |
x1x2 x3 x2 x4 x5 |
x3 x4 x6 , |
|||||
F5 (x0 , x1, x2 , x3 , x4 , x5 , x6 ) |
x0 |
x0 x5 |
x1x4 |
x2 x5 |
x3 x6 |
x0 x1x2 x3. |
|||
4) Функции, описывающие S-блоки современных блочныхшифров [15, 16, 19, 24, 28, 32]. S-блоки – нелинейные компоненты блочных шифров, вносящие основной вклад в криптостойкость алгоритма. Примером блочного шифра является ГОСТ 28147-89. Шифр ГОСТ 28147-89 – отечественный блочный алгоритм шифрования, который является российским стандартом симметричного шифрования, введенным в 1990 году.
40
