Алгоритм SERPENT

разработан тремя известнейшими криптологами: Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном. Каждый из них знаменит своими криптоаналитическими работами, а также разработанными ранее алгоритмами шифрования (например, широкую известность получили алгоритмы

Bear и Lion, разработанные Андерсоном и Бихамом {см. разд. 3.6); не менее известен алгоритм Square, разработанный авторами алгоритма Rijndael Джоан Деймен и Винсентом Риджменом при участии Ларса Кнудсена [130]). Именно Эли Бихама без преувеличения можно назвать величайшим крипто- аналитиком современности — его авторству (часто в соавторстве с другими специалистами) принадлежит множество работ, посвященных методам вскрытия различных известных алгоритмов шифрования.

Еще до конкурса AES (см. разд. 2.1) появился алгоритм SERPENT-0, отличающийся от присланного на конкурс алгоритма SERPENT-1 (или просто Serpent) только тем, что в нем были использованы таблицы замен алгоритма DES (в незначительно модифицированном виде). В SERPENT используются уже оригинальные таблицы замен, которые, по словам его авторов [35], вкупе с незначительным изменением процедуры расширения ключа усилили алгоритм против дифференциального и линейного криптоанализа.

Рассмотрим здесь именно тот алгоритм SERPENT, который был прислан на конкурс AES и стал одним из его финалистов.

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

представляет собой SP-сеть, в которой блок данных в процессе шифрования разбивается на 4 субблока по 32 бита (рис. 3.188) [35].

Это означает, что бит 0 остается на своем месте, бит 32 входного значения становится битом 1, бит 64 — битом 2 и т. д.

Алгоритм состоит из 32 раундов; перед первым раундом выполняется начальная перестановка /Р, после заключительного раунда — финальная перестановка FP. Начальная перестановка определена согласно табл. 3.121.

Таблица 3.121

0

32

64

96

1

33

65

97

2

34

66

98

3

35

67

99

4

36

68

100

5

37

69

101

6

38

70

102

7

39

71

103

8

40

72

104

9

41

73

105

10

42

74

106

И

43

75

107

12

44

76

108

13

45

77

109

14

46

78

110

15

47

79

111

16

48

80

112

17

49

81

113

18

50

82

114

19

51

83

115

20

52

84

116

21

53

85

117

22

54

86

118

23

55

87

119

24

56

88

120

25

57

89

121

26

58

90

122

27

59

91

123

28

60

92

124

29

61

93

125

30

62

94

126

31

63

95

127

где ф — округленная дробная часть золотого сечения, т. е.

9Е3779В9 в шестнадцатеричной записи.

3.    Вычисляются ключи раундов с использованием таблиц замен S0…S7 (аналогично описанному выше их использованию в алгоритме SERPENT):

 

Криптостойкость алгоритма

В процессе исследований эксперты не обнаружили каких-либо криптоанали- тических атак на полнораундовую версию алгоритма SERPENT. Это справедливо и в отношении остальных алгоритмов — финалистов конкурса AES. Однако данные алгоритмы значительно различаются по своим характеристикам — см. разд. 2.1.

Вы можете следить за любыми ответами на эту запись через 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