9 điểm bởi GN⁺ 2024-05-03 | 1 bình luận | Chia sẻ qua WhatsApp

Tổng quan khóa học mật mã trực tuyến

  • Giảng viên: Dan Boneh, Đại học Stanford
  • Trang này chứa tất cả bài giảng của khóa học mật mã miễn phí.
  • Để tham gia khóa học chính thức bao gồm bài tập, dự án và kỳ thi cuối kỳ, cần truy cập trang khóa học trên Coursera.
  • Giáo trình: Sách giáo khoa miễn phí cho khóa học này, đi sâu hơn khi bao gồm chứng minh an toàn và nhiều bài tập (A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup)

Tóm tắt nội dung bài giảng theo tuần

  • Tuần 1: Tổng quan khóa học và mã hóa luồng (Chương 2-3)

    • Tổng quan mật mã, lịch sử
    • Tính chất xác suất rời rạc
    • One-time pad và mã hóa luồng
    • Tấn công và sai sót trong mã hóa luồng
    • Các ví dụ thực tế về mã hóa luồng
    • Định nghĩa mã hóa an toàn, an toàn PRG, bảo mật ngữ nghĩa
  • Tuần 2: Mã khối (Chương 4-5)

    • Tổng quan mã khối
    • Mã DES, tấn công vét cạn, v.v.
    • Mã AES, mã khối từ PRG
    • Cách dùng mã khối (khóa dùng một lần, khóa dùng nhiều lần)
    • Bảo mật CPA, chế độ hoạt động CBC/CTR
  • Tuần 3: Tính toàn vẹn thông điệp (Chương 6-8)

    • Định nghĩa MAC và MAC dựa trên PRF
    • Thiết kế CBC-MAC, NMAC, PMAC
    • Tổng quan hàm băm kháng va chạm
    • Tấn công sinh nhật, mô hình Merkle-Damgård
    • HMAC và tấn công thời gian
  • Tuần 4: Mã hóa xác thực (Chương 9)

    • Tấn công tích cực vào mã hóa an toàn CPA
    • Tấn công văn bản mã được chọn (CCA), xây dựng từ mã hóa và MAC
    • Nghiên cứu trường hợp TLS 1.2, tấn công padding CBC
    • Ký sinh khóa, mã hóa xác định, mã hóa bảo toàn định dạng
  • Tuần 5: Trao đổi khóa nền tảng (Chương 10)

    • Bên thứ ba đáng tin cậy, mật mã Merkle (Merkle puzzles)
    • Giao thức Diffie-Hellman, mã hóa khóa công khai
    • Lý thuyết cơ bản về phép toán mô-đun (Fermat, Euler, v.v.)
    • Bài toán dễ và khó (thuật toán số học, bài toán thời gian đa thức)
  • Tuần 6: Mã hóa khóa công khai (Chương 11-12)

    • Mật mã khóa công khai dựa trên hoán vị khóa bẫy (trapdoor permutation) (định nghĩa, bảo mật, xây dựng)
    • Hoán vị khóa bẫy RSA và PKCS1
    • RSA có phải là hàm một chiều và ứng dụng thực tế
    • Hệ thống khóa công khai ElGamal và tính bảo mật
    • Tóm tắt về mật mã khóa công khai
  • Tuần 7: Chữ ký số (Chương 13-14)

    • Nội dung về chữ ký số và chữ ký dựa trên hàm băm

Ý kiến của GN⁺

  • Khóa học này đề cập lý thuyết cơ bản của mật mã hiện đại và các thuật toán được sử dụng thực tế, nên được xem là định hướng tốt cho người mới bắt đầu học mật mã. Đặc biệt, có thể tin tưởng vì đây là khóa giảng của giáo sư Dan Boneh, một chuyên gia mật mã nổi tiếng.

  • Ngoài lý thuyết mật mã, khóa học còn bao gồm các nội dung thực tiễn như các yếu tố cần cân nhắc khi thiết kế mật mã an toàn, các điểm yếu và kỹ thuật tấn công có thể xảy ra trong thực tế, nên có thể hữu ích cho các nhà phát triển.

  • Ngoài bài giảng, khóa học cung cấp một giáo trình miễn phí sâu hơn và dường như có nhiều bài tập, vì vậy cũng có thể dùng cho việc học nâng cao mật mã.

  • Tuy nhiên, do nội dung thiên về lý thuyết nên người mới bắt đầu có thể gặp khó khăn trong quá trình tiếp thu nếu thiếu nền tảng toán học. Kiến thức trước đó về đại số tuyến tính hay toán rời rạc sẽ hữu ích.

  • Khi ứng dụng của mật mã ngày càng mở rộng sang blockchain và tài sản số, nếu có thể học vững cơ sở mật mã và áp dụng vào thực tế, điều này có thể góp phần đáng kể vào việc nâng cao năng lực của các nhà phát triển.

1 bình luận

 
GN⁺ 2024-05-03
Ý kiến trên Hacker News
  • Một trong những khóa học gây ấn tượng nhất với mình là khóa CS255 Intro to Cryptography của Đại học Stanford. Khả năng giảng dạy của giáo sư Dan Boneh rất nổi bật.
    • Các khóa an ninh của Stanford như CS253 Web Security, CS356 Topics in Computer and Network Security cũng được đề xuất.
  • Mình đã tham gia khóa mật mã trực tuyến của giáo sư này vài năm trước và nó thật sự tuyệt vời.
    • Dù có nền tảng toán học, mình nhận ra mình không muốn trở thành chuyên gia mật mã.
    • Cách ông ấy dùng bản trình diễn và trò chơi để xác định chuỗi bit ngẫu nhiên từ luồng byte đã mã hóa là rất ấn tượng.
  • Khóa học rất tốt, nhưng thời gian hoàn thành dự kiến (23 giờ) có thể thay đổi lớn tùy thuộc vào kiến thức nền của từng người, nên cần chuẩn bị và điều chỉnh nhịp độ.
  • Có vẻ nhiều người muốn học mật mã theo hướng thực hành hơn là lý thuyết. Những người như vậy nên thử cryptopals.com.
  • Sẽ rất hữu ích nếu có tài liệu thực hành dành cho người làm nghề, tập trung vào cách sử dụng thư viện mật mã thay vì chú trọng toán học.
    • Thay vì đi sâu vào chi tiết RSA, điều quan trọng là biết cách thiết kế hệ thống an toàn với các thành phần cơ bản để đạt được các thuộc tính mong muốn.
  • Nếu bạn muốn luyện tập theo hình thức "capture the flag", mình đề xuất https://cryptohack.org/. Đó là một trang web tuyệt vời.
  • Giáo sư Dan Boneh cũng là cố vấn của nhóm nghiên cứu crypto của a16z và ông đang cùng họ sản xuất khá nhiều nội dung về blockchain.
  • Cuốn sách đồng tác giả của ông, "A Graduate Course in Applied Cryptography", đã rất hữu ích cho mình. https://toc.cryptobook.us/
  • Tôi muốn học Elliptic Curve Cryptography (ECC) và Post-Quantum Cryptography (PQC), nhưng tiếc rằng phần lớn các khóa học dường như dừng ở mức tương đương. Hy vọng sẽ có khóa tiếp theo về chủ đề này.
  • Mình đã học cả khóa học trực tiếp và khóa Coursera của giáo sư Dan Boneh; ông là giảng viên xuất sắc. Mình thực sự khuyên dùng.