590 likes | 853 Views
2/58. ???. ?? ?? ??? ??? ??? ???? ??? ?? ??? ???? : 64????? : 128???? ?? : Feistel??? ? ?????? ??? ????F ??? ??S ??? ??. 3/58. 4.1 3? DES. DES? brute-force ??? ?? ???? ??? => ??? ??DES? ?? ??? ??? ???? ??IDEABlowfishRC5CAST-128AESSEED??? ?????? ??? ??? ??DES ??? => ?? ??? => Tripl
E N D
1. 1/58 Chap 4. ?? ?? ?? ????
2. 2/58 ??? ?? ?? ??? ??? ??? ???? ??? ?? ??? ??
?? : 64??
??? : 128??
?? ?? : Feistel??? ? ??
????
??? ????
F ??? ??
S ??? ??
3. 3/58 4.1 3? DES DES? brute-force ??? ?? ???? ??? => ??? ??
DES? ?? ??? ??? ???? ??
IDEA
Blowfish
RC5
CAST-128
AES
SEED
??? ?????? ??? ??? ??
DES + ??? => ?? ??? => Triple DES
4. 4/58 4.1 2? DES 2? DES
5. 5/58 4.1 2? DES ? ??
56 * 2 = 112
???? ?? ??
?? ???? ??
DES? 56?? ? K1? K2? ??? K3? ?? ??? ??
EK2[EK1[P]]=EK3[P]
1992? ??? ???? ??? ???
6. 6/58 4.1 2? DES ?? ??? ?? ??
X=EK1[P]=DK2[C]
?? P? 2^56?? ??? ?? ? K1?? ??? ?? ??? ???? ??
??? C? ? K2? ??? ?? 2^56?? ??? ???
7. 7/58 4.2 3? DES 3?? ?? 3? DES
3?? ??? ??? ??
?? ?? ??? ???
2^112
??? ?? ??? => ?? ???
???
56*3 = 168 ??? ?? ??
??? ????? ???
8. 8/58 4.2 3? DES 2?? ?? 3? DES
9. 9/58 4.2 3? DES 1979? Tuchman ? ?? ??
? ?? ?? ANS X9.17? ISO 8732? ?? ??
???? ???? ?? ?? ??? ??
Coppersmith
Brute-force ?? : 2^112 = 5*10^33 ??? ??
?? ?? ??? ?? DES? ???? 10^52? ?? ???? ???? ??
??? ???? ?? ?? ??
Merkle & Hellman
OORS 90
10. 10/58 3? DES ? ?? ???? ??
11. 11/58 4.3 ?? ??? ?? ????(IDEA : International Data Encryption Algorithm) ??? ?? ?? ???? Xueja Lai? James Massey? ?? 1990?? ??
DES? ???? ?? ??? ?? ?? ???? ? ??
?? ???? DES? ?? ????
???? ?? ?????? ??
E-mail ??? ?? PGP? ??
????
64?? ??? ??? ??
128??? ?? ??
?? ??
12. 12/58 IDEA ???
13. 13/58 4.3 IDEA ???? ??
????
??? ??? ?? ? ?? ?? ??? ?
64?? ???? ??
? ??
?? ?? ??(Exhaustive Search)? ????? ?? ? ?? ?? ?? ?
128??? ???? ??? ???? ???
??(Confusion)
?? : ???? ??? ??? ??? ??? ??? ?????? ?? ??? ???? ??? ?
??? ?? : XOR, ??, ??
??(Diffusion)
?? : ? ?? ??? ?? ??? ??? ??? ??? ??, ? ? ??? ?? ??? ??? ??? ??? ?
14. 14/58 4.3 IDEA ??? ?? ??
?? : 16??
?? : 16??
??
XOR ??
???? : ?? 2^16? ?? ??
???? : ?? 2^16+1? ?? ?? ?
=> ??? ??? ?????? DES?? ????? ? ??? ?
15. 15/58 4.3 IDEA ??? ?? ??
??/?? ??? ?? ??
???? ??? ?? 8? ??
16. 16/58 4.3 IDEA ???? ?? ??
????? ??? ?? ?? ??
????? ??
????? ?????? ?? ??? 8, 16, 32??? ?? ?? ???? ????? ??
IDEA? 16?? ?? ??? ??
??? ??? ??
??, ?? ?? ?? ???? ?? ???? ??? ?
IDEA? ?? ??? ? ????? ??
???? ??? ?? ?? ??
??? ???? ???
???? ???? ?? ???? ????? ??? ?
????
VLSI ??? ???? ?? ?? ???? ?? ??? ??? ?
17. 17/58 IDEA ???
18. 18/58 4.3 IDEA IDEA ???
??
?? 64 ??
? 128??
???? : ?? 8???
????
??? 4?? 16?? ?????? ??
? ??? 4?? 16?? ?????? ??
???(52?)
? ???? 6?? 16?? ???? ??
6*8 = 48
?? ??? 4?? ??? ??
19. 19/58 ?? ?? 4?? ???(Z1 ~ Z4)
4?? ?? ??(X1~X4)
??, ????? ???? ?? ?? ??? ??(????)
??? ??? XOR
MA????? ????? ??? ??(?? ??? ??)
???? ???? ?? ??(????? ?? ? ????? ?? ? ?? ??)
20. 20/58
21. 21/58 ?? ?? ??
22. 22/58 ??? ?? 128??? ??? ??
1) Z1, Z2, , Z8 ??? 8?? ??? ?? <= ?? 16??
2) ?? 25?? ?? ?? ??
? ???? ? ??? ???? 8? ??
3) 52?? ???? ??? ??? 2? ??
23. 23/58 ??/???
24. 24/58 IDEA ???
??? ?? ??? ??
Z1-1, -Z2, -Z3, Z4-1
?? ????? ??
XOR
=> XOR ?? ?? ? ??
?) ? : 1111, ???: 1001
XOR: 1111(+)1001(+)1111
??: 1111+1001-1111
??: 1111*1001*x
1111*x mod 2^5-1 = 1
25. 25/58 IDEA? ?? ??
26. 26/58 4.4 Blowfish Bruce Schneier? ?? ??? ?? ?? ?? ??
??
?? ?? : 32?? ???? ?????? 1 ??? ? 18?? ???? ??? ???
??? : 5K ??? ?????? ????
??? : ??? ??? ??? ?? ????? ?? ??? ???
??? ??? : ?? ??? ????? 448???? ??? ? ?? ?? ??? ??? ??? ??? ??
64?? ??? ??? ???
27. 27/58
28. 28/58
29. 29/58 ?
??? : 32???? 448?? ??
??
18?? 32?? ???
32?? ???? ?? 4?? 8*32 S?? ??
?? K-??? ??
K1, K2, , Kj 1<= j <= 14
???? P-??? ??
P1, P2, , P18
30. 30/58 P-??? S-?? ?? ?
?? P-??? 4?? S-??? ??? ?? phi? ??? ??? ???? ????. ???? phi? ???? ? ?? 32?? ?? ?? P1, P2, , P18? ?.
?? ? K-??? ??? ? ???? P-??? K-??? ?? ?? XOR ??? ??
P1= P1 XOR K1, P2= P2 XOR K2
??? P-??? S-??? ???? ?? 0? 64?? ??? ???, P1? P2? ????? ??
??? P-??? S-??? ???? ?? 3)? ??? ????? P3? P4? ????? ??
? ??? ???? P? ?? ??? S? ?? ??? ??? ? ???? ?? ??? Blowfish ????? ??? ???? ??
31. 31/58 ?? ?? ??
P1, P2 = EP,S[0]
P3, P4 = EP,S[P1||P2]
P17, P18 = EP,S[P15||P16]
S1,0, S1,1 = EP,S[P17||P18]
S4,254, S4,255= EP,S[S4,252, S4,253]
EP,S[Y]? ?? S? P? Blowfish? ???? Y? ????? ??? ???
32. 32/58 ???? S? P? ??? ??? Blowfish ?? ????? ? 521? ??
???? ?? ??? ???? ???? ??
?? ??? ???? P? S-??? ????? ??? ??? ???? ???? ??? ???? ??
???? ???? 4K ???? ???.
Blowfish? ??? ??? ??? ?????? ?? ???? ???? ??
33. 33/58 ??? ? ???
????
?? : 2^32? ??? ?? ??
?? XOR ??
????
34. 34/58
35. 35/58 ???
???? ??? ??
???? ?? ???? ??? ??
????
36. 36/58 ?? ??
Blowfish? ??
????? ?? ???
???? S ???? Blowfish ??? ?? ??? ?? ??
??? ?? ??? ??? ??? ???
?? Feistel ???? ???
????? ?? ??
37. 37/58 ??? ????? ?? ?? ?? ??
38. 38/58 4.5 RC5 Ron Rivest? ?? ??? ?? ?? ????
RSA ??? ????? BSAFE, JSAFE, S/MAIL?? ??
??
???? ? ?????? ??? : ?????????? ????? ???? ?? ??? ??
?? ?? : ?? ??? ??, ?? ??? ??? ??? ?? ??? ??
?? ?? ?? ?????? ??? : ?? ? ???? ????? ??, ????? ??? ?? ????? ?
?? ?? ???
?? ??? ?
??? : ??? ?? ????? ?? ??? ??
?? ??? ??? : ??? ??? ?? ??? ???? ???? ??? ??
?? ??? : ??? ????? ?? ??? ??
??? ???? ?? ?? : ??? ?? ?? ???? ?? ??? ??=> ?? ??? ?? ????? ??? ?? ?
39. 39/58 RC5 ????
w : ??? ?? ?, 16, 32, 64
r : ????, 0,1,,255
b : ?? ? K ?? 8?? ???? 0,1,,255
???? : RC5-w/r/b
RC5-32/12/16
32?? ??(64?? ?? ??)
12? ??? ?? ? ?? ??
16??? ?(128??)
40. 40/58 ? ????
41. 41/58 ???
? t?? ???? ??
??? ? ???? ? ??? ???
???? 2?? ???? ?? ??? ??? ?? ??? ??? ???
t = 2r + 2
? ???? ??? ? ??(w??)
???? S[0], S[1],, S[t-1]? ??? t-?? ??? ??
42. 42/58
43. 43/58 ???
44. 44/58 ???
For i = r down to 1 do
RDi-1 =((RDi - S[2 ? I +1] ??? LDi ) ? LDi );
LDi-1 = ((LDi - S[2 ? i] ??? RDi ) ? RDi );
B = RD0- S[1];
A = LD0 S[0];
45. 45/58 RC5 ??
?? ?? ?? : ????? ????? ??? ?? ?? ??? ?? ?? ??? ?? ??? ??, DES? ECB ??? ??
CBC?? : RC5? ?? ????(CBC) ??
CBC-Pad ?? : ?? ??? ??? ???? CBC??? ????
CTS ?? : ???? ???? ???? ?? CBC ??? ????, ????? ??? ??? ?? ??? ???? ??
46. 46/58 4.6 CAST-128 1997? Carlisle Adams? Stafford Tavares? ?? ??? ?? ?? ????
40???? 128?? ??? 8 ??? ???? ??? ??? ?? ??
64??? ???? => 64??? ?????
16? ???? ??? Feistel ???? ??
? ?? ??? ??? ???? ??
47. 47/58 ???
????
??? ?? : ? 2^32?? ??
?? XOR ??
?? ?? ?? : ?? x? y????, x<<<y
?? ????
48. 48/58
49. 49/58 ????
8?? 8*32 S??? ??
S1 ~ S4 : ???? ???? ??
S5 ~ S8 : ??? ??? ??
S?? : 256? 32? ??
8?? ??? ??? ?? ??
? ?? 32?? ?? ??
S??? ??? ?? ??
50. 50/58 ??? ??
?? 128?? ?? ? ???? ??? ?? ??
X0X1X2X3X4X5X6X7X8X9XAXBXCXDXEXF
??? ???? X0
??? ???? XF
Km1,,Km16 : 16?? 32?? ??? ???(r 1?)
Kr1,,Kr16 : 16?? 32?? ?? ?? ???(r1)
? ???? ??? 5??? ???
z0 zF : ??(??) ???
K1,,K32 : ??(??) 32?? ??
51. 51/58
52. 52/58
53. 53/58 ????
??? S?? ??
??? ?? ???? ???? ?? ??
??? 256? 32?? ?? ?? bent ??? ??
54. 54/58 4.7 ??? ?? ?? ??? ?? ?? ? ??
?? ???
??? ?? ?? ??
? ?? ?? ??
? ?? S??
? ? ??? ????
??? F
??? ??/??? ?? ??
??? ?? ??
? ?? ? ?? ??? ??? ??
55. 55/58 ?? ? ??
Blowfish, RC5, CAST-128, RC2
?????
?? ? ?? ??? ? ?? ?? ??, ? ??? ??
Triple-DES? ??? 4??? ??? ?? ????
??? ?? ?? ??
????? ?? ?? ???? ??, ???? ??? ??? ??
RC5
? ?? ?? ??
CAST-128 ??? ?? ?? ??? ??
56. 56/58 ? ?? S-Box
S-Box? ??? ?? ??, ??? ?? ??? S-Box ??
?? ???? ??, Blowfish?? ??
? ? ??? ????
??? ??? ?? ??? ?? ??? ?? ? ?? ??
??? ??? ??, Blowfish?? ??
??? F ??
????? ?? ??? F?? , CAST-128?? ??
??? ??/??? ?? ??
??? ?? ( ???? ??? ?? ? ??), RC5?? ??
57. 57/58 ??? ?? ??
???? ?????? ?? ?? ??, RC5
? ?? ? ?? ??? ??? ??
???? ?? ?? ??? ?? ??? ??
IDEA, Blowfish, RC5
58. 58/58 ?? ?? ????? ??