9 คะแนน โดย GN⁺ 2024-05-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ภาพรวมคอร์สออนไลน์วิชาเข้ารหัสศาสตร์

  • ผู้สอน: 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 ความคิดเห็น

 
GN⁺ 2024-05-03
ความคิดเห็นจาก Hacker News
  • คอร์ส CS255 Intro to Cryptography ของมหาวิทยาลัยสแตนฟอร์ดเป็นหนึ่งในชั้นเรียนที่ฉันประทับใจที่สุดมาก และการสอนของศาสตราจารย์ Dan Boneh โดดเด่นมาก
    • เขายังแนะนำคอร์สความปลอดภัยของสแตนฟอร์ดอื่นๆ เช่น CS253 Web Security, CS356 Topics in Computer and Network Security ด้วย
  • ฉันเคยเรียนคอร์สเข้ารหัสแบบออนไลน์ของอาจารย์ท่านนี้เมื่อหลายปีก่อน และมันยอดเยี่ยมมาก
    • แม้มีพื้นฐานคณิตศาสตร์มาก่อน แต่ก็ได้ตระหนักว่าฉันไม่ต้องการเป็นนักเข้ารหัสลับมืออาชีพ
    • สิ่งที่ประทับใจมากคือวิธีที่ใช้เดโมและเกมเพื่อระบุ random bit stream จาก encrypted byte stream
  • เป็นคอร์สที่ยอดเยี่ยม แต่เวลาที่คาดการณ์ว่าจะครบคอร์ส (23 ชั่วโมง) อาจเปลี่ยนแปลงมากตามพื้นฐานความรู้เดิมของแต่ละคน จึงควรเตรียมตัวและปรับความเร็วในการเรียน
  • ดูเหมือนผู้คนจำนวนมากอยากเรียนวิชาการเข้ารหัสแบบเน้นปฏิบัติ มากกว่านั่งท่องทฤษฎี สำหรับคนแบบนั้น แนะนำ cryptopals.com
  • ควรมีเนื้อหาเชิงปฏิบัติที่เน้นวิธีใช้ไลบรารีเข้ารหัสสำหรับผู้ปฏิบัติ ไม่โฟกัสแต่คณิตศาสตร์
    • ไม่จำเป็นต้องเจาะลึกรายละเอียดของ RSA เท่านั้น แต่ต้องรู้วิธีรวมองค์ประกอบพื้นฐานอื่นๆ เข้าด้วยกันเพื่อออกแบบระบบที่ปลอดภัยและมีคุณสมบัติตามที่ต้องการ
  • หากต้องการฝึกสิ่งที่เรียนในรูปแบบ "capture the flag" แนะนำ https://cryptohack.org/ เป็นเว็บไซต์ที่ยอดเยี่ยมมาก
  • ศาสตราจารย์ Dan Boneh ยังเป็นที่ปรึกษาของทีมวิจัย a16z crypto และร่วมทำเนื้อหาเกี่ยวกับบล็อกเชนกับทีมนี้อยู่มากมาย
  • หนังสือที่เขาเป็นผู้ร่วมเขียนชื่อ "A Graduate Course in Applied Cryptography" ช่วยฉันได้มาก https://toc.cryptobook.us/
  • ฉันอยากเรียน ECC (Elliptic Curve Cryptography) และ PQC (Post-Quantum Cryptography) แต่รู้สึกว่าคอร์สส่วนใหญ่จบลงในระดับเดียวกัน จึงอยากมีคอร์สต่อยอดสำหรับหัวข้อนี้
  • ฉันเรียนคอร์สออฟไลน์และ Coursera ของศาสตราจารย์ Dan Boneh ทั้งสองแบบมาแล้ว เป็นผู้สอนที่ยอดเยี่ยม และขอแนะนำอย่างยิ่ง