information system security wk3-2
DESCRIPTION
If you have question Message me!TRANSCRIPT
Faculty of Information Technology Page
IT346 Information System Security
Week 3-2: Symmetric Key Cryptography
อ.พงษศกด ไผแดง
1
Faculty of Information Technology Page
โหมดการท างานของ Block Cipher
Block Cipher เขารหสขอมลทละบลอค
‣ หากขอมลมขนาดใหญกวา 1 block จะตดขอมลเปนชนขนาดเทา block
‣ แตถาเรา encrypt ขอมลทละ block โดยตรง เมอขอมลมากกวา 1 block มคา
ของขอมลตรงกน คา ciphertext ของ block เหลานนกจะตรงกนดวย ท าให
การ encryption ไมไดประสทธภาพเตมท เพราะมการรวไหลเกยวกบขอมล
time time full part
Exrw vjyo gMsQ vjyo
encrypt encrypt encrypt encrypt
2
Faculty of Information Technology Page
โหมดการท างานของ Block Cipher
เราแกปญหาการซ ากนของ ciphertext ของแตละบลอค เมอ plaintext
ของบลอคซ ากน ดวยโหมดการท างานของ block cipher
‣ Ciphertext ของแตละ block จะขนกบ plaintext ของ block นนๆ และ
plaintext ของ block อนๆดวย
‣ Encryption เปน probabilistic มากขน คอไมสามารถคาดเดา output อยาง
แนนอนจาก input นนๆของ block ได
3
Faculty of Information Technology Page
โหมดการท างานของ Block Cipher
โหมดทส าคญ ไดแก
Mode การท างานแบบ Block Cipher โดยตรง
‣ Electronic Code Book (ECB)
‣ Cipher Block Chaining (CBC)
Mode การท างานแบบ Block Cipher ทมการด าเนนการแบบ Stream
Cipher
‣ Cipher Feedback (CFB)
‣ Output Feedback (OFB)
4
Faculty of Information Technology Page
โหมดการท างานทงายทสด
ขอความทเขามาจะถกแบงออกเปน block ยอย ๆ
แตละ block ยอยจะถก encrypt อยางเปนอสระจาก block ยอยอนๆ
ทกๆ block จะใชกญแจเดยวกนเพอเขารหส
Electronic Code Book (ECB) mode
5
Faculty of Information Technology Page
Electronic Code Book (ECB) mode
6
Faculty of Information Technology Page
Cipher Block Chaining (CBC) mode
ในโหมดน แกปญหาการซ ากนของ ciphertext ของแตละบลอค เมอ
plaintext ของบลอคซ ากน โดยอาศยขนตอน Encryption ดงน
‣ Chain ของการท างานรบ Input เขามา 2 ชด คอ Block แรกของ plaintext
และ block ขอมลเพมเตมทเรยกวา Initial Vector (IV) หรอ เวกเตอรเรมตน
โดยท IV ไมจ าเปนจะตองเปนความลบ แตเราไมนยมใช IV ซ ากบค key
เดยวกน
‣ Block ท 2 จะ XOR กบ ciphertext ของ block แรก จากนน encrypt ดวยkey
เดม และไดผลลพธเปน ciphertext ของ block ท 2
‣ Block ท 3 จะ XOR กบ ciphertext ของ block ท 2 จากนน encrypt ดวยkey
เดม และไดผลลพธเปน ciphertext ของ block ท 3
‣ ท าเชนนไปเรอย ๆ กบบลอคขอความทเหลอ
7
Faculty of Information Technology Page
Cipher Block Chaining (CBC) mode
ขนตอน Decryption เปน ดงน
‣ Ciphertext ของ block ท 1 ถกสงไป decrypt โดยใช key ตวเดยวกนทใชใน
ขนตอน encryption ผลลพธจากการด าเนนงานในขนตอนนน าไป XOR กบ
IV ไดผลลพธเปน plaintext ของ block ท 1
‣ Decrypt Ciphertext ของ block ท 2 แลว XOR กบ Ciphertext ของ block ท
1 ผลลพธทได คอ plaintext ของ block ท 2
‣ ด าเนนการเชนนไปเรอย ๆ จนกระทง decrypt ทก block เสรจสมบรณไดเปน
plaintext
8
Faculty of Information Technology Page
Cipher Block Chaining (CBC) mode
C0 = IV
Ci = EK(Pi XOR Ci-1)
C0 = IV
Pi = DK(Ci) XOR Ci-1
9
Faculty of Information Technology Page
Cipher Feedback (CFB) mode
เหมาะส าหรบการท างานทใชตวอกษรเปนหลก
‣ เชน โอเปอเรเตอรทพมพตวอกษรสงไปในเครอขายทนททนใดเพอสงขอมลไป
ใหอกฝงหนง
‣ ขอความจะถก encrypt ในรปแบบของหนวยทมขนาดเลก เชน อาจจะเปน
ขนาด 8 บต แทนทจะเปน block ขนาดใหญ
10
Faculty of Information Technology Page
Cipher Feedback (CFB) mode
Encryption มขนตอนการท างาน ดงน
‣ IV จะถกเกบอยใน shift register คา IV จะถก encrypt ไดผลลพธเปนcipher
IV ขนาด 64 bits
‣ พจารณาจาก bit ทอยทางซายสด j บต ของ cipher IV แลวน ามา XOR กบ j
บตแรกของ plaintext block ท 1 จะไดผลลพธออกมาเปน ciphertext block ท
1
‣ สงคา ciphertext block ท 1 ไปใหผรบ
‣ น า IV มา shift bit ไปทางซาย j ต าแหนง จากนนน า ciphertext block ท 1
มาเตมใหบตทางขวาสด j ต าแหนง
‣ ท าซ าจากขนตอนท 1 ถง 4 จนกระทง plaintext ถกเขารหสทงหมด
11
Faculty of Information Technology Page
CFB Mode
Encryption
Decryption
12
Faculty of Information Technology Page
Output Feedback (OFB) mode
คลายคลงกบโหมดแบบ CFB แตกตางตรงท
‣ ในกรณแบบ CFB นน ciphertext จะถกน าไปเปน IV ของการ encryption ขน
ตอไป
‣ แตโหมดแบบ OFB นน ciphertext ของ IV จะถกน าเปน IV ของกระบวนการ
เขารหสขนตอไป
13
Faculty of Information Technology Page
Output Feedback (OFB) mode
14
Faculty of Information Technology Page
กจกรรม 1
ใหนกศกษาจบกลมเพอวเคราะหปญหาของ Symmetric Key
Cryptography โดยพจารณาจากประเดนปญหาตอไปน
ในการใชงาน Symmetric Key Cryptography นน key ทใชในการท า
Encryption และ Decryption ตองมความสมพนธกนอยางไร?
Alice ตองการสงขอมลลบไปใหกบ Bob อยางไรกตาม Alice ไมเคยรจก
Bob มากอน และไมเคยมปฏสมพนธกบ Bob มากอน ในกรณน Alice
สามารถใช Symmetric Key Cryptography ในการเขารหสขอมลไปให
Bob โดยท Bob สามารถถอดรหสไดเลยหรอไม ถาไม คดวาตองมกลไก
ใดเกดขนกอนทจะเรม Symmetric Key Cryptography
15
Faculty of Information Technology Page
Diffie-Hellman
Diffie-Hellman อาศยหลกการวาการค านวณคาของเอกโปเนนเชยล
(Exponential) นนงายกวาการค านวณลอกการทม (Logarithm) โดย
อลกอรทมนจะอนญาตใหคนสองคนสามารถสราง Secret Key เพอใชใน
การเขารหสขอมล
ขนตอนการท างาน
เรมโดยการเลอกตวเลขจ ำนวนเฉพำะ ทมคามากคาหนง เปน p แลวตอง
เลอกอกตวเลขหนง สมมตวาเปน g โดยท g < p และ g ตองเปน
Primitive เมออางกบ p (Primitive Root Modulo p)
‣ ถา g เปน Primitive ของ p กตอเมอ ถาเราสามารถหาจ านวนเตม i โดยท gi =
j (mod p) ส าหรบทกคาของ j ทมคาตงแต 1 ถง p-1
16
Faculty of Information Technology Page
Diffie-Hellman (Example)
ตวอยาง เลอก g = 3, p = 5
ทดสอบคณสมบต Primitive
‣ g1 mod 5 = 3 mod 5 = 3
‣ g2 mod 5 = 9 mod 5 = 4
‣ g3 mod 5 = 27 mod 5 = 2
‣ g4 mod 5 = 81 mod 5 = 1
‣ g5 mod 5 = 243 mod 5 = 3
‣ g6 mod 5 = 729 mod 5 = 4
ดงนน 3 เปน primitive ของจ านวนเฉพาะ 5
17
Faculty of Information Technology Page
Diffie-Hellman
วธการสราง Secret Key
Bob Alice
เลอกคา g และ p
เลอกเลขทมคามากๆ a
ค านวณ A = ga mod p
สง g, p, A ให Bob
รบ B จาก Bob
ค านวณหาคา K = Ba mod p
รบ g, p, A
เลอกเลขทมคามากๆ b
สงคา B = gb mod p ให Alice
ค านวณหาคา K = Ab mod p
g, p, A
B
18
Faculty of Information Technology Page
Diffie-Hellman
g = 3 and p = 5
Bob Alice
เลอกคา g=3 และ p=5
เลอก a = 2
ค านวณ A = 32 mod 5 = 4
สง g=3, p=5, A=4 ให Bob
รบ B จาก Bob
ค านวณหาคา K = 22 mod 5 = 4
รบ g=3, p=5, A=4
เลอกเลขทมคามากๆ b = 3
สงคา B = 33 mod 5 = 2 ให
Alice
ค านวณหาคา K = 43 mod 5 = 4
g=3, p=5,
A=4
B
19