47587 (566458), страница 2

Файл №566458 47587 (Методы и средства защиты компьютерной информации) 2 страница47587 (566458) страница 22016-07-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Выполняется завершающий раунд, в котором, в отличие от обычного, отсутствует преобразование MixColumn.

Каждый обычный раунд на этапе 2 состоит из четырех отдельных шагов.

Подстановка. Каждый байт блока заменяется значением, которое определяется S-блоком.

Перестановка. Байты в блоке переставляются с помощью преобразования ShiftRow.

Перемешивание. Выполняется преобразование MixColumn.

Сложение с раундовым ключом. Текущий раундовый ключ складывается с блоком по модулю 2.

Каждый уровень оказывает на каждый из блоков открытого текста определенное воздействие.

1. Влияние ключа

Сложение текста с ключом до первого раунда и на последнем шаге внутри каждого раунда влияет на каждый бит результата раунда. В процессе зашифрования результат каждого шага в каждом бите зависит от ключа.

2. Нелинейный уровень

Операция подстановки в S-блоке является нелинейной. Строение S-блоков обеспечивает почти идеальную защиту от дифференциального и линейного криптоанализа.

3. Линейный уровень

Преобразования ShiftRow и MixColumn обеспечивают максимальное перемешивание битов в блоке.

Далее в описании внутренних функций алгоритма Rijndael, через Lb будем обозначать длину блока в четырехбайтовых словах, через Lk - длину ключа пользователя в четырехбайтовых словах (то есть Lb, Lk {4, 6, 8}) и через Lr - число раундов (см. таблицу 1).

Открытый и зашифрованный тексты представлены в виде полей байтов и являются соответственно входом и выходом алгоритма.

Блок открытого текста, обрабатываемый как поле m0,..., m4Lb-1, представлен в виде двумерной структуры (см. таблицу 2). в которой байты открытого текста отсортированы в следующем порядке:

т.е. , где i = n mod 4 и; j = n/4.

Таблица 2

b0,0

b0,1

b0,2

b0,3

b0,4

b0,Lb-1

b1,0

b1,1

b1,2

b1,3

b1,4

b1,Lb-1

b2,0

b2,1

b2,2

b2,3

b2,4

b2,Lb-1

b3,0

b3,1

b3,2

b3,3

b3,4

b3,Lb-1

Доступ к структуре в функциях алгоритма Rijndael осуществляется по-разному, в зависимости от операции. S-блок оперирует с битами, ShiftRow - со строками (bi,0, bi,1, bi,2, …, bi,Lb-1) структуры , а функции AddRoundKey и MixColumn - с четырехбайтовыми словами, обращаясь к столбцам .

2.1 ВЫЧИСЛЕНИЕ КЛЮЧА РАУНДА

И для зашифрования, и для расшифрования требуется сгенерировать Lr раундовых ключей, совокупность которых называется разверткой ключа (key schedule). Развертка строится путем присоединения к секретному ключу пользователя, рекурсивно получаемых: четырехбайтовых слов

.

Первые Lk слов развертки ключа - это сам секретный ключ пользователя. Для Lk {4, 6} очередное четырехбайтовое слово ki определяется как сумма по модулю 2 предыдущего слова ki-1 со словом ki-Lk. При i 0 mod Lk перед операцией XOR нужно применить функцию FLk (k, i), которая включает в себя циклический сдвиг k байтов влево (операция r (k)), подстановку S (r (k)) с использованием S-блока алгоритма Rijndael (к этой операции мы еще вернемся) и сложение по модулю 2 с константой c (i/Lk). Итоговое уравнение функции F таково:

FLk (k, i) = S (r (k)) c (i/Lk).

Константы c (j) задаются равенством c (j) = (rc (j), 0, 0, 0), где значения rc (j) определяются рекурсивно как элементы поля F28:

rc (1) = 1, rc (j) = rc (j-1) х = хj-1.

Или в виде численных значений:

rc (1) = '01’, rc (j) = rc (j-1) •'02'.

Программно значение rc (j) реализуется (j - 1) - кратным рекурсивным вызовом функции xtime, с начальным значением аргумента, равным 1 или более быстро - с использованием таблицы предвычислений (см. таблицу 3).

Таблица 3. Константы rc (j) (в шестнадцатеричном виде)

'01’

'02'

'04'

'08'

'10'

'20'

'40'

'80'

'1B'

'36'

'6C

'D8'

'AB'

'4D'

'9A'

'2F'

'5E'

'ВС

'63'

'C6'

'97'

'35'

'6A'

'D4'

'B3'

7O'

'FA'

'EF'

'C5

'91'

Для ключей длины 256 бит (то есть при Lk = 8) введена дополнительная операция подстановки: при i 4 mod Lk перед операцией XOR значение ki-1 заменяется на s (ki-1).

Таким образом, развертка ключей состоит из Lb (Lr + 1) четырехбайтовых слов, включая и секретный ключ пользователя. На каждом раунде i = 0,..., Lr - 1 очередные Lb, четырехбайтовых слова с kLbi по kLb (I+1) выбираются из развертки и используются в качестве ключа раунда. Раундовые ключи рассматриваются, по аналогии с блоками открытого текста, как двумерная структура (см. таблицу 4).

Таблица 4. Представление раундовых ключей

k0,0

k 0,1

k 0,2

k 0,3

k 0,4

k 0,Lb-1

k 1,0

k 1,1

k 1,2

k 1,3

k 1,4

k 1,Lb-1

k 2,0

k 2,1

k 2,2

k 2,3

k 2,4

k 2,Lb-1

k 3,0

k 3,1

k 3,2

k 3,3

k 3,4

k 3,Lb-1

Для ключей длины 128 бит процесс генерации ключа изображен на рис.2.

Рис.2. Диаграмма раундовых ключей для Lk = 4

Пока не известны слабые ключи, использование которых неблагоприятно сказалось бы на стойкости алгоритма Rijndael

2.2 S-БЛОК

Блок подстановки, или S-блок алгоритма Rijndael показывает, каким значением следует заменять каждый байт блока текста на каждом раунде. S-блок представляет собой список из 256 байтов. Сначала каждый ненулевой байт рассматривается как элемент поля F28 и заменяется мультипликативно обратным (нулевые байты остаются неизменными). Затем выполняется следующее аффинное преобразование над полем F2 путем умножения на матрицу и сложения с вектором (11000110):

Здесь через х0 и у0 обозначены младшие, а через х7 и у7 - старшие биты в байте; вектор (11000110) длины 8 соответствует шестнадцатеричному числу '63'.

S-блок построен так, чтобы свести к минимуму чувствительность алгоритма к дифференциальному и линейному методам криптоанализа, а также к алгебраическим атакам. Последовательно применяя приведенную выше процедуру к числам от 0 до 255, получаем таблицу 5 (значения идут по строкам слева направо).

Таблица 5. Значения S-блока

99

124

119

123

242

107

111

197

48

1

103

43

254

215

171

118

202

130

201

125

250

89

71

240

173

212

162

175

156

164

114

192

183

253

147

38

54

63

247

204

52

165

229

241

113

216

49

21

4

199

35

195

24

150

5

154

7

18

128

226

235

39

178

117

9

131

44

26

27

110

90

160

82

59

214

179

41

227

47

132

83

209

0

237

32

252

177

91

106

203

190

57

74

76

88

207

208

239

170

251

67

77

51

133

69

249

2

127

80

60

159

168

81

163

64

143

146

157

56

245

188

182

218

33

16

255

243

210

205

12

19

236

95

151

68

23

196

167

126

61

100

93

25

115

96

129

79

220

34

42

144

136

70

238

184

20

222

94

11

219

224

50

58

10

73

6

36

92

194

211

172

98

145

149

228

121

231

200

55

109

141

213

78

169

108

86

244

234

101

122

174

8

186

120

37

46

28

166

180

198

232

221

116

31

75

189

139

138

112

62

181

102

72

3

246

14

97

53

87

185

134

193

29

158

225

248

152

17

105

217

142

148

155

30

135

233

206

85

40

223

140

161

137

13

191

230

66

104

65

153

45

15

176

84

187

22

При расшифровании порядок действий меняется на противоположный. Сначала выполняется обратное аффинное преобразование, затем мультипликативное обращение в поле F28. Обратный S-блок приведен в таблице 6.

Характеристики

Тип файла
Документ
Размер
6,01 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее