- 密碼算法應(yīng)用實(shí)踐
- 文仲慧等
- 2000字
- 2020-04-03 12:47:00
1.12 MISTY算法
MISTY是日本Mitsubishi電氣公司的Mitsuru Matsui于1997年提出的一個(gè)分組密碼,它采用遞歸結(jié)構(gòu),整個(gè)結(jié)構(gòu)分成了三個(gè)等級(jí),但加密算法的主框架仍采用平衡Feistel結(jié)構(gòu)。MISTY加密算法的分組長(zhǎng)度為64比特,密鑰長(zhǎng)度為128比特,迭代層數(shù)是可變的,但要求必須是4的整數(shù)倍。MISTY加密算法采用能有效抵御差分攻擊和線性攻擊的理論,具有在各種硬件平臺(tái)(如ATM網(wǎng)絡(luò))和軟件環(huán)境(如IC卡)中高速運(yùn)行的能力,是第一個(gè)被證明能有效抵御差分攻擊和線性攻擊的實(shí)用分組密碼。
MISTY加密算法的遞歸結(jié)構(gòu)如下:第一級(jí)是n層的主框架,每一層包含加亂(如按位異或操作⊕、按位或操作∪、按位與操作∩)、左右兩邊異或,以及層函數(shù)FO變換。第一級(jí)的層函數(shù)FO是一個(gè)由加亂(⊕)、左右兩邊異或和子函數(shù)FI變換構(gòu)成的三層迭代過(guò)程,這個(gè)過(guò)程就是第二級(jí)。第二級(jí)的層函數(shù)FI又是一個(gè)由加亂(⊕)、左右兩邊擴(kuò)展和壓縮后異或,以及表 S9和 S7代替構(gòu)成的,這個(gè)過(guò)程是第三級(jí)。從第一級(jí)到第三級(jí),雖然結(jié)構(gòu)逐漸簡(jiǎn)單,但運(yùn)算次數(shù)比較繁復(fù),每層要加亂9次(1次∪運(yùn)算、1次∩運(yùn)算、7次⊕運(yùn)算),代替9次(6次S9代替、3次S7代替),左右兩半進(jìn)行16次⊕運(yùn)算,但是這種遞歸結(jié)構(gòu)能通過(guò)對(duì)簡(jiǎn)單函數(shù)的分析非常容易地估計(jì)出算法的安全程度。
MISTY加密算法有MISTY1加密算法和MISTY2加密算法兩種,它們具有非常相似的結(jié)構(gòu)。對(duì)于相同層數(shù)的MISTY1加密算法和MISTY2加密算法,如果不考慮并行運(yùn)算,則二者在總的算法復(fù)雜度上是完全相同的;如果考慮并行計(jì)算,則二者的運(yùn)行時(shí)間就有差異,因?yàn)镸ISTY1加密算法能同時(shí)執(zhí)行2個(gè)FI函數(shù),而MISTY2加密算法能同時(shí)執(zhí)行4個(gè)FI函數(shù)。
MISTY1加密算法和MISTY2加密算法的結(jié)構(gòu)如圖1.12.1所示。
圖1.12.1(a)和圖1.12.1(b)分別給出了MISTY1加密算法和MISTY2加密算法的結(jié)構(gòu),在遞歸結(jié)構(gòu)中的第一級(jí),64比特的輸入被均分成32比特的左右兩個(gè)部分,經(jīng)過(guò)異或運(yùn)算,以及層函數(shù)FOi(1≤i≤n)和FLi(1≤i≤n+2)轉(zhuǎn)換成64比特密文。FOi使用64比特的子密鑰KOi和48比特的子密鑰KIi, FLi使用32比特的子密鑰KLi。

圖1.12.1 MISTY1加密算法和MISTY2加密算法的結(jié)構(gòu)
圖1.12.2(a)是層函數(shù)FOi的結(jié)構(gòu),即遞歸結(jié)構(gòu)中的第二級(jí)。32比特的輸入被均分成16比特的左右兩部分,經(jīng)過(guò)⊕運(yùn)算,以及層函數(shù)FIij(1≤j≤3)轉(zhuǎn)換成32比特的輸出。圖中的KOij(1≤j≤4)和KIij(1≤j≤3)分別是子密鑰KOi和KIi的從左邊數(shù)的第j個(gè)16比特。
圖1.12.2(b)是層函數(shù)FIij的結(jié)構(gòu),即遞歸結(jié)構(gòu)中的第三級(jí),16比特的輸入被分成9比特和7比特的左右兩部分,經(jīng)過(guò)⊕運(yùn)算、一個(gè)長(zhǎng)度為27的S7代替和一個(gè)長(zhǎng)度為29的S9代替后轉(zhuǎn)換成16比特的輸出。在第一和第三個(gè)⊕運(yùn)算中,右邊的7比特在高位添加2個(gè)“0”擴(kuò)展成9比特,在第二個(gè)⊕運(yùn)算中,右邊的9比特去掉高位的2比特后被截短成7比特。圖1.12.2(b)中的KIij1和KIij2分別是子密鑰KIij的左邊7比特和右邊9比特。

圖1.12.2 MISTY1加密算法和MISTY2加密算法層函數(shù)的結(jié)構(gòu)
圖1.12.3是層函數(shù)FLi的結(jié)構(gòu)。32比特輸入被均分成16比特的左右兩部分,經(jīng)過(guò)⊕操作、與操作(∩)、或操作(∪)后變成32比特的輸出。KLij(1≤j≤2)是KLi從左邊數(shù)第j個(gè)16比特。

圖1.12.3 層函數(shù)FLi結(jié)構(gòu)
MISTY的子密鑰生成過(guò)程利用了前面介紹的層函數(shù)FI,記Ki為輸入密鑰K的從左邊數(shù)的第i個(gè)16比特,分別以Ki作為層函數(shù)FIi的輸入,以Ki+1作為層函數(shù)FI的密鑰,F(xiàn)Ii的16比特輸出記為Ri,其中1≤i≤8,則子密鑰與Ki、Ri的對(duì)應(yīng)關(guān)系如下。
KOi1KOi2KOi3KOi4KIi1KIi2KIi3KLi1KLi2
KiKi+2Ki+7Ki+4Ri+5Ri+1Ri+3K(i+1)/2R(i+1)/2+6(i為奇數(shù))
Ri/2+2Ki/2+4(i為偶數(shù))
上面下角中的加法表示模8加。
MISTY加密算法中使用的S7和S9如下:
S7:
27 50 51 90 59 16 23 84 91 26 114 115 107 44 102 73 31 36 19 108 55 46 63 74 93 15 64 86 37 81 28 4 11 70 32 13 123 53 68 66 43 30 65 20 75 121 21 111 14 85 9 54 116 12 103 83 40 10 126 56 2 7 96 41 25 18 101 47 48 57 8 104 95 120 42 76 100 69 117 61 89 72 3 87 124 79 98 60 29 33 94 39 106 112 77 58 1 109 110 99 24 119 35 5 38 118 0 49 45 122 127 97 80 34 17 6 71 22 82 78 113 62 105 67 52 92 88 125
S9:
451 203 339 415 483 233 251 53 385 185 279 491 307 9 45 211 199 330 55 126 235 356 403 472 163 286 85 44 29 418 355 280 331 338 466 15 43 48 314 229 273 312 398 99 227 200 500 27 1 157 248 416 365 499 28 326 125 209 130 490 387 301 244 414 467 221 482 296 480 236 89 145 17 303 38 220 176 396 271 503 231 364 182 249 216 337 257 332 259 184 340 299 430 23 113 12 71 88 127 420 308 297 132 349 413 434 419 72 124 81 458 35 317 423 357 59 66 218 402 206 193 107 159 497 300 388 250 406 481 361 381 49 384 266 148 474 390 318 284 96 373 463 103 281 101 104 153 336 8 7 380 183 36 25 222 295 219 228 425 82 265 144 412 449 40 435 309 362 374 223 485 392 197 366 478 433 195 479 54 238 494 240 147 73 154 438 105 129 293 11 94 180 329 455 372 62 315 439 142 454 174 16 149 495 78 242 509 133 253 246 160 367 131 138 342 155 316 263 359 152 464 489 3 510 189 290 137 210 399 18 51 106 322 237 368 283 226 335 344 305 327 93 275 461 121 353 421 377 158 436 204 34 306 26 232 4 391 493 407 57 447 471 39 395 198 156 208 334 108 52 498 110 202 37 186 401 254 19 262 47 429 370 475 192 267 470 245 492 269 118 276 427 117 268 484 345 84 287 75 196 446 247 41 164 14 496 119 77 378 134 139 179 369 191 270 260 151 347 352 360 215 187 102 462 252 146 453 111 22 74 161 313 175 241 400 10 426 323 379 86 397 358 212 507 333 404 410 135 504 291 167 440 321 60 505 320 42 341 282 417 408 213 294 431 97 302 343 476 114 394 170 150 277 239 69 123 141 325 83 95 376 178 46 32 469 63 457 487 428 68 56 20 177 363 171 181 90 386 456 468 24 375 100 207 109 256 409 304 346 5 288 443 445 224 79 214 319 452 298 21 6 255 411 166 67 136 80 351 488 289 115 382 188 194 201 371 393 501 116 460 486 424 405 31 65 13 442 50 61 465 128 168 87 441 354 328 217 261 98 122 33 511 274 264 448 169 285 432 422 205 243 92 258 91 473 324 502 173 165 58 459 310 383 70 225 30 477 230 311 506 389 140 143 64 437 190 120 0 172 272 350 292 2 444 162 234 112 508 278 348 76 450
- SMT實(shí)用指南
- LED顯示屏組裝與調(diào)試全攻略
- 通信專業(yè)實(shí)務(wù):動(dòng)力與環(huán)境
- 電子產(chǎn)品組裝技能演練
- 液晶顯示器維修實(shí)踐技術(shù)
- 開(kāi)關(guān)電源與LED照明的優(yōu)化設(shè)計(jì)應(yīng)用
- 通信電子線路
- 天地一體化信息網(wǎng)絡(luò)通信服務(wù)技術(shù)
- 海纜工程建設(shè)管理程序與實(shí)務(wù)
- 電子產(chǎn)品制作技術(shù)與技能實(shí)訓(xùn)
- 軟件創(chuàng)富密碼:iPhone應(yīng)用程序開(kāi)發(fā)攻略之iPhone特色傳感器應(yīng)用
- 傳感器與檢測(cè)技術(shù)(第3版)
- 海底光纜通信:關(guān)鍵技術(shù)、系統(tǒng)設(shè)計(jì)及OA&M
- 巧學(xué)巧用電子元器件實(shí)用技術(shù)
- 5G安全體系與關(guān)鍵技術(shù)