5. 犖犖園献犖犖犖犖巌犖謹検犖÷顕犖犖犖犖迦犖犖迦見犖犖園犖犖迦牽犢犖犢犖迦牽犖犖園肩
犖犖園献犖犖犖犖巌犖謹検 DES (Data Encryption Standard)
Key size 56 bits
犖犖園献犖犖犖犖巌犖謹検 3-DES (Triple-DES)
Key size 112 bits
犖犖園献犖犖犖犖巌犖謹検 IDEA (International Data Encryption Algorithm)
Key size 128 bits
犖犖園献犖犖犖犖巌犖謹検 AES (Advanced Encryption Standard)
Key size 128, 192, 256 bits
Faculty of Information Technology
Page
5
6. DES Algorithm
DES 犖∇犖犖÷顕犖犖迦 Data Encryption Standard 犢犖犢 犖犖犖迦牽犢犖犢犖迦牽犖犖園肩 犢犖犖犖犖ム 犖犖
(Block cipher) 犖犖朽犖犖犖犖迦検犖迦犖迦犖犖園献犖犖犖犖巌犖謹検 Lucifer 犖犖犖 IBM 犢犖犖
犖
Lucifer 犢犖犢犖犖犖犖迦牽犖犖園犖犖迦犖犖巌犖÷犖о顕犖÷肩犖迦検犖迦牽犖犢犖ム鍵犢犖犖ム元犢犖∇犖犖劇犖犢犖犢 犖 DES 犢犖ム犖
犖
犢犖犢犖犖犖犖迦牽犖犖迦犖犖犖犖犢犖 US NIST (US National Institute of Standards
犖
and Technology) 犢犖犢犖犖ム顕犖∇犖犢 犖犖÷顕犖犖犖犖迦犖犖迦牽犢犖犢犖迦牽犖犖園肩
DES 犢犖犢 犖犖犖園献犖犖犖犖巌犖謹検犢犖犖犖犖ム 犖犖 (Block Cipher) 犢犖犢 Key 犖犖犖迦犖犖о顕犖÷権犖迦硯
56 bits 犖犖迦犖犖 犖犖犖迦牽犖犖犖犖ム 犖犖犖犢犖犖÷弦犖 (Data Block) 犖犖犖迦 64 bits
Faculty of Information Technology
Page
6
7. DES Overview
64-bit Plaintext
64-bit Key
Initial Permutation
PC1
64 bit
Round 0
64 bit
Round 1
K1
48 bit
K2
48 bit
56 bit
PC2
PC2
Left Circular Shift
56 bit
64 bit
Round 15
56-bit Key
56-bit Key
Left Circular Shift
56-bit Key
K16
48 bit
PC2
56 bit
Left Circular Shift
64 bit
32-bit Swap
64 bit
Inverse Initial Permutation
64-bit Ciphertext
Faculty of Information Technology
Page
7
8. DES Overview
犖犖園犖犖犖犖犖迦牽犖犖迦犖迦犖犖犖 DES Algorithm 犖犖 Data Block 犢犖犖∇肩犖園犢犖犖
犢
1) Data Block 犖犖犖迦 64 bits 犖犖萎犖項犖犖ム険犖犖犖迦犖犖犢 犖 (犖犖ム険犖犖犖巌)犢犖犖朽権犖犖犖園犖犖犖犖犖朽 犖о犖
犢
Initial Permutation (IP)
2) Data Block 犖犖項犖犖迦犖犖 犖犖犖迦牽犖犖朽 16 犖犖犖 犢犖犢犖ム鍵犖犖犖犖÷元犖犖迦牽犢犖犖犖犖朽犖犖巌
(substitution) 犢犖ム鍵犖犖迦牽犖犖ム険犖犖犖巌 (permutation) 犢犖犖∇犖犢 key 犖犖犖迦 48 bits
3) Data Block 犖犖項犖犖ム険犖犖犖犖謹犖犢犖犖犖犖犖犖犖ム犖犖犖犖園犖犖犖謹犖犖犖ム険犖犖犖犖犖犖ム 犖犖
4) Data Block 犖犖項犖犖ム険犖犖犖巌犢犖犖犖犖ム険犖犖犖巌絹犖犖迦犖犖園犖犖園犖犖犖犢犖犖 犢犖犖朽権犖犖о犖 Inverse
犢
Initial Permutation
犖犖園犖犖犖犖犖迦牽犖犖迦犖迦犖犖犖 DES Algorithm 犖犖 Key Block 犢犖犖∇肩犖園犢犖犖
犢
a) Key Block 犖犖犖迦 64 bits 犖犖萎犖項犖犖ム険犖犖犖巌犢犖犖朽権犖犖犖園犖犖犖犖犖朽 犖о犖 Permutation
犢
Choice 1 (PC1) 犢犖犖∇犖ム厳犖犖 56 bits 犖犖犖犖÷顕犖犖迦 64 bits 犢犖ム犖о犖犢犖犖犖犖謹犖犢犖犢 犖
犖犖犖謹犖犖ム鍵 28 bits
b) Key Block 犖犖項犖犖迦犖犖 犖犖犖迦牽犖犖朽 16 犖犖犖 犢犖犢犖ム鍵犖犖犖犖÷元犖犖迦牽犖о犖犖巌犢犖犖犖迦犖犢犖迦権犢犖犖
犢犖犢 犖犖о犖犖ム検 (Left Circular Shift) 犢犖ム鍵犖犖迦牽犖犖ム険犖犖犖巌 (permutation) 犢犖犖劇犖犖犖犢犖迦
key 犖犖犖迦 48 bits 犖犖迦見犖犖園犖犖迦牽犖犖迦犖犖 犖犖犖迦牽犖犖 Data Block 犖犖園 2)
犢
Faculty of Information Technology
Page
8
9. 犖犖犖犖犖迦牽犖犖迦犖迦犖犖 Data Block
犖犖迦牽犖犖迦犖犖 犖犖犖迦犖犖 Data Block 犢犖犢犖ム鍵犖犖犖犢犖 16 犖犖犖 犢犖犢 犖犖犖園犖犖朽
64-bit
Round 0
L0 (32 bits)
R0 (32 bits)
f
K1
XOR
Round 1
L1=R0
R1=(L0 XOR f(R0,K1))
f
K2
XOR
L2=R3
Faculty of Information Technology
R2=(L1 XOR f(R1,K2))
Page
9
17. Avalanche Effect
Avalanche Effect 犢犖犢 犖犖犖伍犖犖÷犖園犖巌犢犖朽犖犢 犖犖犖朽犖犖犖犖犖迦牽 犖犖迦見犖犖園 encryption
犢
algorithm
犢犖÷厳犢犖犢犖犖ム元犢 犖∇ input 犖犖犖劇賢 key 犢犖犢犖犖朽権犖 1 bit 犖犢犖犖萎犖犖ム元犢 犖∇ bits 犖犖犖 output
犢犖犖犖犖萎検犖迦犖犖犖謹犖犖犖犖謹 犖
DES 犢犖犢 Avalanche Effect 犖犖朽犖犖
Faculty of Information Technology
Page
17
18. Strength of DES Key Size
Key 犖犖犖迦 56-bit 犢犖犢犖犢犖迦犖朽犢犖犢 犖犢犖犢犖犢犖犖犖犖÷ 256 = 7.2 x 1016 犖犢犖
犖園
犖犖迦牽犢犖犖÷犖朽犖犖 brute force search 犢犖犢 犖犢犖犢犖犢犖∇顕犖
犖犖∇犖迦犢犖犖犢犖犖迦検 犖÷元犖犖迦牽犖犢犖犖犖犖о犖 犖犖迦牽犖犖 brute force search 犖犖 key 犖犖犖
DES Algorithm 犢犖犢 犖犢犖犢犖犢
犖犖 1997 犖犖犖巌県犖 Distribution.net 犢犖犢犖犖萎犖犖犖 Internet 犖犖迦検犖迦牽犖犖犖迦犖犢犖犖迦権犢犖
犖
犢犖о献犖 41 犖о険犖
犖犖 1998 犖犖犖巌県犖 EFF 犖犖犢犖迦 hardware 犢犖犖犖迦鍵犖犖迦見犖犖園犢犖犢犖犖園犖犖迦犖朽 犖犖迦犖犢犖犖迦権犢犖
犖
犢
犢犖о献犖 56 犖犖園硯犢犖÷
犖犖 1999 Distribution.net 犢犖ム鍵犖犖犖巌県犖 EFF 犖犢犖犖犖÷厳犖犖犖園犢犖ム鍵犢犖犢犖犖犖÷犖巌硯犢犖犖犖犢犖犖о犖
犖
犖
犢
犢
100,000 犢犖犖犖劇犖犖犖犖園硯犢犖ム犖犖迦検犖迦牽犖犢犖犖犢犖 DES 犢犖犢犢犖 22 犖犖園硯犢犖÷ 15 犖犖迦犖
犖犖謹犖犢犖犖犖犖迦犖迦犢犖ム厳 犖犖犢犖犖犖迦牽 encryption 犖犖朽犢犖犢 犖犢犖犖犢犖犖犖о犖 DES
Faculty of Information Technology
Page
18
19. 犖犖迦犢犖ム厳犖犖犖犖朽犢犖犢 犖犢犖犖犢犖犖犖о犖 DES
犖犖迦牽犖犖∇顕犖 Key 犖犖犖 DES 犖犖迦 64 bits 犢犖犢犢犖犢 犖 128 bits 犢犖犖劇犖犖犖萎犖犢犢犖犢犢犖о献犖
犢犖犖犖迦牽 crack 犖犖迦犖犖謹犖
犖犖 犖犖犖伍犖 DES 犢犖犢犖犖犖犖犢犖犢 犖 DES 64 Bit 犢犖ム鍵 DES 128 Bit
犖
犢犖犢犖犖謹犢犖÷犖о犖迦犖萎犖犢 128 bit 犖犢犖犖迦検 DES 犖犢犖∇犖犖迦検犖迦牽犖犖犖項 crack 犢犖犢 犖犖謹犢犖犢犖÷元
犖
犖犖迦牽犖犖園犖犖迦犖犢犖÷元 Triple-DES (3DES) 犖犖朽犖÷元犖犖о顕犖÷犖犢 犖犢犖犖犢犖犖÷顕犖犖犖謹 犖
Faculty of Information Technology
Page
19
20. Triple-DES (3DES) with Two-Keys
Triple-DES 犢犖犢 犖犖犖迦牽犢犖犢犖迦牽犖犖園肩犖犖朽犖犖犖犖犢犖迦犖÷顕犢犖犖劇犖犢犖犢犖犖園犖犖迦犖о顕犖÷賢犢犖犖犢犖犖犖犖
犖
DES 犢犖犖 Triple-DES 犖犖萎犢犖о権犢犖犖犖巌検犖犖о顕犖÷犖ム賢犖犖犖園権犢犖犢犖犖迦牽犢犖犢犖迦牽犖犖園肩犖÷元
犖犖ム賢犖犖犖園権犖÷顕犖犖犖謹犖
犢犖犢犖犖ム犖犖犖巌犖謹検 DES 犢犖犢 犖犖犖迦犖о 3 犖犖犖園犢犖犖劇犖犖犖迦犖迦牽犢犖犢犖迦牽犖犖園肩
犖
犢
犢犖犢 key 犢犖犖朽権犖 2 犖犖朽権犢犖犖犖迦牽犖犖 Encryption 犖犢犖о権犖ム顕犖犖園 Encrypt-Decrypt犢
Encrypt
C = EK1(DK2(EK1(P)))
犖犖迦 K1 = K2 犖犖萎犖ム顕犖∇犖犢 犖 DES 犖犖犖犖÷犖
犖犖о顕犖÷犖犢 犖犢犖犖犢犖犖犖朽 犖犖謹犖犖迦犖犢 Triple-DES 犢犖犢 犖犖犖 犖犖犖犖謹 犖犢犖犖÷顕犖犖犖犖迦犢犖犖犖迦牽
犢犖犢犖迦牽犖犖園肩犢犖犖犖 犖犖犖伍犖
犖
Faculty of Information Technology
Page
20
21. Triple-DES (3DES) with Two-Keys
犖犖犖萎犖о犖犖迦牽 Encryption 犢犖犖 3DES 犖犖迦犢犖犢 Key 犢犖犖朽権犖 2 犖犖朽権 犢
64-bit Plaintext
DES Encryption
Key 1
DES Decryption
Key 2
DES Encryption
Key 1
64-bit Ciphertext
Faculty of Information Technology
Page
21