Алгоритм SAFER++

был разработан авторами алгоритма SAFER+ (см. разд. 3.45) в 2000 г. для участия в конкурсе NESSIE (см. разд. 2.2), в котором проводился выбор криптографических стандартов Евросоюза.

Структура алгоритма

существует в двух вариантах:

?       основной вариант со 128-битным размером блока; использует 128- и 256- битные ключи шифрования (поддержка 192-битного ключа исключена);

?      вариант с 64-битным размером блока и 128-битным ключом шифрования.

Рис. 3.177. Раунд алгоритма SAFER++

Рассмотрим сначала вариант № 1 алгоритма SAFER++. Его раунд (рис. 3.177) весьма похож на раунд алгоритма SAFER+: первые три действия идентичны описанным в разд. 3.45 для алгоритма SAFER+, вместо же действия 4 выполняется следующая последовательность операций [254]:

1. Байтовая перестановка согласно табл. 3.108.

Таблица 3.108

9

6

3

16

1

14

11

8

5

2

15

12

13

10

7

4

2. Операция 4-РНТ, которую можно представить следующим образом:

Рис. 3.179. Раунд расшифровывания алгоритма SAFER++

Раунд расшифровывания алгоритма SAFER++ изменился в соответствии с изменениями в раунде зашифровывания (рис. 3.179). Здесь используется обратная перестановка, приведенная в табл. 3.110.

Таблица ЗЛО

5

10

3

16

9

2

15

8

1

14

7

12

13

6

11

4

Таблица 3.111

1

0

0

-1

0

1

0

-1

0

0

1

-1

-1

-1

-1

4

В качестве процедуры расширения ключа используется описанная выше процедура единого расширения ключа SAFER+ (см. рис. 3.175 и 3.176), но с некоторым изменением в вычислении констант В,:

!

!

что приводит к изменению по сравнению с SAFER+ только значений В{6 и ВХ1, которые приведены в табл. 3.112.

Таблица 3.112

103

9

148

235

38

168

107

189

24

52

27

187

191

114

247

64

72

156

81

47

59

85

227

192

159

216

211

243

141

177

255

167

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100