IT346 Information System Security
Week 3-2: Symmetric Key Cryptography
อ.พงษ์ศกดิ์ ไผ่แดง
ั

Faculty of Information Techno...
โหมดการทางานของ Block Cipher
 Block Cipher เข้ารหัสข้อมูลทีละบล็ อค
‣ หากข้อมูลมีขนาดใหญ่กว่า 1 block จะตัดข้อมูลเป็ นชิ้...
โหมดการทางานของ Block Cipher
 เราแก้ปัญหาการซ้ากันของ ciphertext ของแต่ละบล็ อค เมื่อ plaintext

ของบล็อคซากัน ด้วยโหมดกา...
โหมดการทางานของ Block Cipher
โหมดที่สาคัญ ได้แก่
 Mode การทางานแบบ Block Cipher โดยตรง
‣ Electronic Code Book (ECB)
‣ Cip...
Electronic Code Book (ECB) mode





โหมดการทางานที่ง่ายที่สุด
ข้อความที่เข้ามาจะถูกแบ่งออกเป็ น block ย่อย ๆ
แต่ละ bl...
Electronic Code Book (ECB) mode

Faculty of Information Technology

Page

6
Cipher Block Chaining (CBC) mode
 ในโหมดนี้ แก้ปัญหาการซ้ากันของ ciphertext ของแต่ละบล็ อค เมื่อ

plaintext ของบล็อคซากัน...
Cipher Block Chaining (CBC) mode
 ขันตอน Decryption เป็ น ดังนี้
้
‣ Ciphertext ของ block ที่ 1 ถูกส่งไป decrypt โดยใช้ k...
Cipher Block Chaining (CBC) mode
C0 = IV
Ci = EK(Pi XOR Ci-1)

C0 = IV
Pi = DK(Ci) XOR Ci-1

Faculty of Information Techno...
Cipher Feedback (CFB) mode
 เหมาะสาหรับการทางานที่ใช้ตวอักษรเป็ นหลัก
ั
‣ เช่น โอเปอเรเตอร์ที่พิมพ์ตวอักษรส่งไปในเครือข่า...
Cipher Feedback (CFB) mode
 Encryption มีขนตอนการทางาน ดังนี้
ั้
‣ IV จะถูกเก็บอยู่ใน shift register ค่า IV จะถูก encrypt...
CFB Mode
Encryption

Decryption

Faculty of Information Technology

Page

12
Output Feedback (OFB) mode
 คล้ายคลึ งกับโหมดแบบ CFB แตกต่างตรงที่
‣ ในกรณี แบบ CFB นัน ciphertext จะถูกนาไปเป็ น IV ของก...
Output Feedback (OFB) mode

Faculty of Information Technology

Page

14
กิจกรรม 1
ให้นกศึกษาจับกลุ่มเพื่อวิเคราะห์ปัญหาของ Symmetric Key
ั
Cryptography โดยพิจารณาจากประเด็นปั ญหาต่อไปนี้
 ในการ...
Diffie-Hellman
 Diffie-Hellman อาศัยหลักการว่าการคานวณค่าของเอ็กโปเนนเชี ยล

(Exponential) นันง่ายกว่าการคานวณล็ อกการิทึ...
Diffie-Hellman (Example)
ตัวอย่าง เลือก g = 3, p = 5
 ทดสอบคุณสมบัติ Primitive
‣
‣
‣
‣
‣
‣

g1 mod 5 = 3 mod 5 = 3
g2 mod...
Diffie-Hellman
 วิธีการสร้าง Secret Key

Bob

Alice





เลือกค่า g และ p
เลือกเลขที่มีค่ามากๆ a
คานวณ A = ga mod p
ส...
Diffie-Hellman
 g = 3 and p = 5

Bob

Alice





เลือกค่า g=3 และ p=5
เลือก a = 2
คานวณ A = 32 mod 5 = 4
ส่ง g=3, p=5...
Upcoming SlideShare
Loading in …5
×

Information system security wk3-2

844 views

Published on

If you have question
Message me!

Published in: Education
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
844
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
53
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Information system security wk3-2

  1. 1. IT346 Information System Security Week 3-2: Symmetric Key Cryptography อ.พงษ์ศกดิ์ ไผ่แดง ั Faculty of Information Technology Page 1
  2. 2. โหมดการทางานของ Block Cipher  Block Cipher เข้ารหัสข้อมูลทีละบล็ อค ‣ หากข้อมูลมีขนาดใหญ่กว่า 1 block จะตัดข้อมูลเป็ นชิ้ นขนาดเท่า block ‣ แต่ถาเรา encrypt ข้อมูลทีละ block โดยตรง เมื่อข้อมูลมากกว่า 1 block มีค่า ้ ของข้อมูลตรงกัน ค่า ciphertext ของ block เหล่านันก็จะตรงกันด้วย ทาให้ ้ ่ การ encryption ไม่ได้ประสิทธิภาพเต็มที่ เพราะมีการรัวไหลเกี่ยวกับข้อมูล full encrypt encrypt Exrw Faculty of Information Technology time part encrypt vjyo gMsQ time encrypt vjyo Page 2
  3. 3. โหมดการทางานของ Block Cipher  เราแก้ปัญหาการซ้ากันของ ciphertext ของแต่ละบล็ อค เมื่อ plaintext ของบล็อคซากัน ด้วยโหมดการทางานของ block cipher ้ ‣ Ciphertext ของแต่ละ block จะขึ้นกับ plaintext ของ block นันๆ และ ้ plaintext ของ block อื่นๆด้วย ‣ Encryption เป็ น probabilistic มากขึ้น คือไม่สามารถคาดเดา output อย่าง แน่ นอนจาก input นันๆของ block ได้ ้ Faculty of Information Technology Page 3
  4. 4. โหมดการทางานของ Block Cipher โหมดที่สาคัญ ได้แก่  Mode การทางานแบบ Block Cipher โดยตรง ‣ Electronic Code Book (ECB) ‣ Cipher Block Chaining (CBC)  Mode การทางานแบบ Block Cipher ที่มีการดาเนิ นการแบบ Stream Cipher ‣ Cipher Feedback (CFB) ‣ Output Feedback (OFB) Faculty of Information Technology Page 4
  5. 5. Electronic Code Book (ECB) mode     โหมดการทางานที่ง่ายที่สุด ข้อความที่เข้ามาจะถูกแบ่งออกเป็ น block ย่อย ๆ แต่ละ block ย่อยจะถูก encrypt อย่างเป็ นอิสระจาก block ย่อยอื่นๆ ทุกๆ block จะใช้กญแจเดียวกันเพื่อเข้ารหัส ุ Faculty of Information Technology Page 5
  6. 6. Electronic Code Book (ECB) mode Faculty of Information Technology Page 6
  7. 7. 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 ‣ ทาเช่นนี้ ไปเรื่อย ๆ กับบล็อคข้อความที่เหลือ Faculty of Information Technology Page 7
  8. 8. 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 Faculty of Information Technology Page 8
  9. 9. Cipher Block Chaining (CBC) mode C0 = IV Ci = EK(Pi XOR Ci-1) C0 = IV Pi = DK(Ci) XOR Ci-1 Faculty of Information Technology Page 9
  10. 10. Cipher Feedback (CFB) mode  เหมาะสาหรับการทางานที่ใช้ตวอักษรเป็ นหลัก ั ‣ เช่น โอเปอเรเตอร์ที่พิมพ์ตวอักษรส่งไปในเครือข่ายทันทีทนใดเพื่อส่งข้อมูลไป ั ั ่ ให้อีกฝังหนึ่ ง ‣ ข้อความจะถูก encrypt ในรูปแบบของหน่ วยที่มีขนาดเล็ก เช่น อาจจะเป็ น ขนาด 8 บิต แทนที่จะเป็ น block ขนาดใหญ่ Faculty of Information Technology Page 10
  11. 11. 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 ถูกเข้ารหัสทังหมด ้ ้ Faculty of Information Technology Page 11
  12. 12. CFB Mode Encryption Decryption Faculty of Information Technology Page 12
  13. 13. Output Feedback (OFB) mode  คล้ายคลึ งกับโหมดแบบ CFB แตกต่างตรงที่ ‣ ในกรณี แบบ CFB นัน ciphertext จะถูกนาไปเป็ น IV ของการ encryption ขัน ้ ้ ต่อไป ‣ แต่โหมดแบบ OFB นัน ciphertext ของ IV จะถูกนาเป็ น IV ของกระบวนการ ้ เข้ารหัสขันต่อไป ้ Faculty of Information Technology Page 13
  14. 14. Output Feedback (OFB) mode Faculty of Information Technology Page 14
  15. 15. กิจกรรม 1 ให้นกศึกษาจับกลุ่มเพื่อวิเคราะห์ปัญหาของ Symmetric Key ั Cryptography โดยพิจารณาจากประเด็นปั ญหาต่อไปนี้  ในการใช้งาน Symmetric Key Cryptography นัน key ที่ใช้ในการทา ้ Encryption และ Decryption ต้องมีความสัมพันธ์กนอย่างไร? ั  Alice ต้องการส่งข้อมูลลับไปให้กบ Bob อย่างไรก็ตาม Alice ไม่เคยรูจก ั ้ ั Bob มาก่อน และไม่เคยมีปฏิสมพันธ์กบ Bob มาก่อน ในกรณี น้ ี Alice ั ั สามารถใช้ Symmetric Key Cryptography ในการเข้ารหัสข้อมูลไปให้ Bob โดยที่ Bob สามารถถอดรหัสได้เลยหรือไม่ ถ้าไม่ คิดว่าต้องมีกลไก ใดเกิดขึ้ นก่อนที่จะเริ่ม Symmetric Key Cryptography Faculty of Information Technology Page 15
  16. 16. 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 ้ Faculty of Information Technology Page 16
  17. 17. 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 ้ Faculty of Information Technology Page 17
  18. 18. Diffie-Hellman  วิธีการสร้าง Secret Key Bob Alice     เลือกค่า g และ p เลือกเลขที่มีค่ามากๆ a คานวณ A = ga mod p ส่ง g, p, A ให้ Bob  รับ B จาก Bob  คานวณหาค่า K = Ba mod p Faculty of Information Technology g, p, A B     รับ g, p, A เลือกเลขที่มีค่ามากๆ b ส่งค่า B = gb mod p ให้ Alice คานวณหาค่า K = Ab mod p Page 18
  19. 19. 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 g=3, p=5, A=4  รับ B จาก Bob  คานวณหาค่า K = 22 mod 5 = 4 Faculty of Information Technology B  รับ g=3, p=5, A=4  เลือกเลขที่มีค่ามากๆ b = 3  ส่งค่า B = 33 mod 5 = 2 ให้ Alice  คานวณหาค่า K = 43 mod 5 = 4 Page 19

×