คอร์สออนไลน์ Cryptography (ปี 2017)
(crypto.stanford.edu)ภาพรวมคอร์สออนไลน์วิชาเข้ารหัสศาสตร์
- ผู้สอน: Dan Boneh, Stanford University
- หน้านี้มีการบรรยายทั้งหมดของคอร์สคริปโทกราฟีแบบฟรี
- หากต้องการลงทะเบียนเรียนคอร์สอย่างเป็นทางการพร้อมทำการบ้าน โปรเจกต์ และสอบปลายภาค ให้ไปที่หน้าคอร์สของ Coursera
- หนังสือเรียน: เป็นหนังสือเรียนฟรีสำหรับคอร์สนี้ โดยกล่าวถึงความปลอดภัยเชิงพิสูจน์และมีแบบฝึกหัดจำนวนมากในระดับลึก (A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup)
สรุปเนื้อหาการบรรยายรายสัปดาห์
-
สัปดาห์ที่ 1: ภาพรวมคอร์สและ Stream Cipher (บทที่ 2-3)
- ภาพรวมวิทยาการเข้ารหัสและประวัติศาสตร์
- คุณสมบัติของความน่าจะเป็นแบบไม่ต่อเนื่อง
- One-time pad และ Stream Cipher
- การโจมตีและข้อผิดพลาดของ Stream Cipher
- ตัวอย่าง Stream Cipher ที่ใช้จริง
- การกำหนดความปลอดภัยของระบบเข้ารหัส, ความปลอดภัยของ PRG, ความปลอดภัยเชิงความหมาย
-
สัปดาห์ที่ 2: Block Cipher (บทที่ 4-5)
- ภาพรวม Block Cipher
- Cipher ที่ใช้ DES และการโจมตีแบบ brute-force ฯลฯ
- AES Block Cipher และ Block Cipher ที่ได้จาก PRG
- การใช้งาน Block Cipher (คีย์แบบใช้ครั้งเดียวและคีย์แบบใช้ได้หลายครั้ง)
- ความปลอดภัยแบบ CPA, โหมดการทำงาน CBC/CTR
-
สัปดาห์ที่ 3: ความสมบูรณ์ของข้อความ (Integrity of Message) (บทที่ 6-8)
- นิยาม MAC และ MAC ที่อิง PRF
- การสร้าง CBC-MAC, NMAC, PMAC และอื่นๆ
- ภาพรวม Hash function ที่ต้านทานการชน (Collision Resistant)
- การโจมตีแบบ Birthday, แนวคิด Merkle-Damgård
- HMAC และการโจมตีเชิงเวลา
-
สัปดาห์ที่ 4: Authenticated Encryption (บทที่ 9)
- การโจมตีเชิงรุกต่อการเข้ารหัสที่ปลอดภัยแบบ CPA
- การโจมตีข้อความลับที่เลือกได้ และการสร้างระบบจาก Encryption กับ MAC
- กรณีศึกษา TLS 1.2 และการโจมตี CBC Padding
- การอนุพันธ์คีย์, Encryption แบบ Deterministic, Format-Preserving Encryption
-
สัปดาห์ที่ 5: การแลกเปลี่ยนกุญแจพื้นฐาน (บทที่ 10)
- Trusted Third Party และ Merkle Puzzles
- โปรโตคอล Diffie-Hellman และการเข้ารหัสแบบกุญแจสาธารณะ
- พื้นฐานของการดำเนินการโมดูลาร์ (Fermat, Euler ฯลฯ)
- ปัญหาง่ายและยาก (อัลกอริทึมทางเลขคณิต, ปัญหาเวลาโพลีโนเมียล)
-
สัปดาห์ที่ 6: การเข้ารหัสแบบกุญแจสาธารณะ (บทที่ 11-12)
- การเข้ารหัสแบบกุญแจสาธารณะบนพื้นฐาน Trapdoor Permutation (นิยาม, ความปลอดภัย, การสร้าง)
- RSA Trapdoor Permutation และ PKCS1
- ว่า RSA เป็น One-way Permutation และการใช้งานจริง
- ระบบกุญแจสาธารณะ ElGamal และความปลอดภัย
- สรุปความเข้าใจเกี่ยวกับการเข้ารหัสแบบกุญแจสาธารณะ
-
สัปดาห์ที่ 7: Digital Signature (บทที่ 13-14)
- หัวข้อเกี่ยวกับ Digital Signature และ Hash-based Signature
ความคิดเห็นของ GN+
-
คอร์สนี้ดูเหมือนจะเป็นคู่มือที่ดีสำหรับผู้ที่เริ่มต้นเรียนคริปโทกราฟี เพราะครอบคลุมทั้งทฤษฎีพื้นฐานสมัยใหม่และอัลกอริทึมที่ใช้งานจริง โดยเฉพาะอย่างยิ่งที่สอนโดยอาจารย์ Dan Boneh นักวิชาการคริปโทกราฟีที่มีชื่อเสียง จึงน่าเชื่อถือ
-
นอกจากเนื้อหาทางทฤษฎีแล้ว ยังมีเนื้อหาปฏิบัติ เช่น ประเด็นที่ต้องพิจารณาเมื่อออกแบบระบบเข้ารหัสที่ปลอดภัย รวมถึงจุดอ่อนที่อาจเกิดขึ้นในสถานการณ์จริงและเทคนิคการโจมตีต่างๆ ซึ่งเป็นประโยชน์ต่อผู้พัฒนา
-
นอกจากนี้ยังมีหนังสือเรียนฟรีที่ลงลึกมากและมีแบบฝึกหัดจำนวนมาก ทำให้สามารถใช้เป็นแหล่งเรียนรู้เพื่อศึกษาคริปโทกราฟีเชิงลึกได้
-
อย่างไรก็ตาม เนื่องจากเนื้อหามีลักษณะเชิงทฤษฎีมาก ผู้เริ่มต้นที่ขาดพื้นฐานทางคณิตศาสตร์อาจพบว่าการเรียนรู้ยากขึ้น โดยเฉพาะอย่างยิ่งหากขาดความรู้พื้นฐานเกี่ยวกับพีชคณิตเชิงเส้นและคณิตศาสตร์เชิงตรรกศาสตร์
-
เมื่อบทบาทของคริปโทกราฟีขยายตัวอย่างต่อเนื่องในพื้นที่อย่างเช่นบล็อกเชนและสินทรัพย์ดิจิทัล หากสามารถเรียนรู้พื้นฐานคริปโทกราฟีได้ดีและนำไปประยุกต์ใช้ได้อย่างเหมาะสม จะช่วยเพิ่มศักยภาพของผู้พัฒนาได้อย่างมาก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
cryptopals.com