Post-Quantum Cryptography: Chuẩn bị mã hóa cho kỷ nguyên lượng tử

Post-Quantum Cryptography: Chuẩn bị mã hóa cho kỷ nguyên lượng tử

Máy tính lượng tử đang tiến tới điểm có thể phá vỡ các thuật toán mã hóa khóa công khai phổ biến hiện nay như RSA, ECC và Diffie-Hellman. Post-Quantum Cryptography (PQC) là lĩnh vực phát triển các thuật toán mã hóa mới được tin là an toàn trước cả máy tính lượng tử. Năm 2024, NIST đã công bố ba thuật toán tiêu chuẩn đầu tiên cho PQC, mở đường cho việc di chuyển toàn diện trong thập kỷ tới. Bài viết này giải thích lý do cần PQC, các thuật toán tiêu chuẩn và lộ trình thực tế.

Nguồn tham khảo: NIST PQC Project, Wikipedia: Post-quantum Cryptography, CRYSTALS Project

Tại sao cần Post-Quantum Cryptography?

Hầu hết mã hóa khóa công khai hiện đại dựa trên ba bài toán toán học khó: phân tích thừa số nguyên (RSA), logarit rời rạc (Diffie-Hellman) và logarit rời rạc đường cong elliptic (ECC). Thuật toán Shor trên máy tính lượng tử có thể giải được cả ba bài toán này trong thời gian đa thức, nghĩa là một máy lượng tử đủ mạnh sẽ bẻ gãy được toàn bộ hạ tầng bảo mật hiện tại bao gồm TLS, VPN, chữ ký số, blockchain và email mã hóa.

Dù máy lượng tử hiện tại chưa đủ mạnh để phá mã thực tế, nhưng chiến lược harvest now, decrypt later (thu thập dữ liệu mã hóa ngay bây giờ để giải mã sau khi có máy lượng tử) là mối đe dọa thực tế. Dữ liệu nhạy cảm như bí mật thương mại, tài liệu chính phủ, khóa riêng tư crypto và thông tin cá nhân nếu bị thu thập hôm nay có thể bị giải mã trong tương lai. Do đó, việc chuyển đổi sang PQC cần bắt đầu sớm càng tốt.

Tiêu chuẩn PQC của NIST

Từ năm 2016, NIST tổ chức cuộc thi chuẩn hóa PQC với nhiều vòng loại. Năm 2024, NIST công bố ba thuật toán tiêu chuẩn chính thức:

  • ML-KEM (Module-Lattice-based Key Encapsulation Mechanism): Dựa trên bài toán Module-LWE (Learning With Errors), dùng cho thiết lập khóa (key encapsulation). Đây là thuật toán thay thế cho RSA/ECC trong trao đổi khóa.
  • ML-DSA (Module-Lattice-based Digital Signature Algorithm): Dựa trên Module-LWE/ML-SIS, dùng cho chữ ký số. Thay thế cho ECDSA/RSA signatures.
  • SLH-DSA (Stateless Hash-based Digital Signature Algorithm): Dựa trên hàm băm (hash-based), dùng cho chữ ký số. Cung cấp giải pháp dự phòng dựa trên giả định bảo mật khác hoàn toàn.

Ba thuật toán này có tên mã lần lượt là CRYSTALS-Kyber (ML-KEM), CRYSTALS-Dilithium (ML-DSA) và SPHINCS+ (SLH-DSA). Ngoài ra, NIST vẫn đang đánh giá thuật toán mã hóa dựa trên code-based (Classic McEliece) và isogeny-based (SQIsign) cho các vòng sau.

Phân loại thuật toán PQC

Các thuật toán PQC chủ yếu thuộc 5 họ toán học:

  1. Lattice-based (dựa trên lý thuyết mạng tinh thể): ML-KEM, ML-DSA, NTRU, BLISS — hiệu năng tốt, kích thước khóa/chữ ký hợp lý, được ưa chuộng nhất.
  2. Hash-based (dựa trên hàm băm): SLH-DSA, XMSS, LMS — an toàn thông tin lý thuyết, nhưng chữ ký lớn và có giới hạn số lần ký.
  3. Code-based (dựa trên mã sửa lỗi): Classic McEliece — khóa công khai rất lớn (hàng MB), nhưng nghiên cứu lâu đời và tin cậy.
  4. Multivariate (đa biến): Unbalanced Oil and Vinegar — chữ ký nhỏ nhưng khóa lớn, ít được dùng chính thống.
  5. Isogeny-based (dựa trên đẳng cấu): SIKE (đã bị phá vỡ), SQIsign — khóa cực nhỏ nhưng hiệu năng kém hơn lattice.

Hybrid Cryptography: Cầu nối an toàn

Vì PQC còn mới và chưa được kiểm chứng thời gian bằng RSA/ECC, cách tiếp cận phổ biến hiện nay là hybrid cryptography: kết hợp thuật toán cổ điển (ví dụ X25519) với thuật toán PQC (ví dụ ML-KEM) trong cùng một handshake. Nếu một trong hai bị phá vỡ, cái còn lại vẫn bảo vệ dữ liệu.

Ví dụ trong TLS 1.3 hybrid: thay vì dùng chỉ X25519 cho key exchange, client và server tính cả X25519 và ML-KEM, sau đó dẫn xuất session key từ cả hai shared secret. Điều này cho phép triển khai PQC ngay hôm nay mà không rủi ro mất an toàn nếu thuật toán PQC sau này bị tìm thấy lỗ hổng.

Lộ trình di chuyển cho doanh nghiệp và developer

Các tổ chức nên thực hiện theo các bước:

  1. Inventory: Liệt kê toàn bộ hệ thống dùng mã hóa khóa công khai (TLS, VPN, SSH, code signing, blockchain, database encryption…).
  2. Risk assessment: Ưu tiên bảo vệ dữ liệu có vòng đời dài (bí mật quốc gia, tài liệu pháp lý, khóa gốc PKI).
  3. Pilot: Triển khai hybrid PQC trong môi trường không production, kiểm tra hiệu năng, tương thích.
  4. Standardize: Cập nhật chính sách bảo mật yêu cầu hybrid PQC cho các hệ thống mới từ 2025.
  5. Migrate: Chuyển đổi dần các hệ thống production, bắt đầu từ các điểm tiếp xúc bên ngoài (TLS termination, API gateway).

Thư viện mã nguồn mở như OpenSSL 3.2+, BoringSSL, liboqs và PQClean đã hỗ trợ ML-KEM, ML-DSA và SLH-DSA. Các trình duyệt lớn (Chrome, Firefox) và server (nginx, Apache) đang tích hợp hybrid key exchange. Developer nên bắt đầu test với OpenSSL 3.2 hoặc BoringSSL để làm quen API mới.

Tác động đến Blockchain và Crypto

Blockchain sử dụng chữ ký số (ECDSA, EdDSA) và đôi khi trao đổi khóa. Nếu máy lượng tử bẻ gãy ECDSA, kẻ tấn công có thể lấy khóa riêng từ khóa công khai trên chain và đánh cắp tài sản. Các dự án như Ethereum đang nghiên cứu chuyển sang ML-DSA hoặc hash-based signature (SLH-DSA) cho tài khoản người dùng và validator. Việc này đòi hỏi hard fork và sự đồng thuận của cộng đồng, do đó cần chuẩn bị sớm.

Ngoài ra, các giao thức zero-knowledge proof (ZKP) và zk-rollup dựa trên các giả định mã hóa cũng cần đánh giá lại tính an toàn lượng tử. Các hệ thống dùng pairing-based cryptography (BLS signatures, KZG commitments) đặc biệt dễ bị tấn công lượng tử.

Kết luận

Post-Quantum Cryptography không còn là lý thuyết mà là nhu cầu thiết thực. Với tiêu chuẩn NIST 2024 đã sẵn sàng, các tổ chức nên bắt đầu kiểm kê, pilot hybrid PQC và xây dựng lộ trình di chuyển trong 5-10 năm tới. Người phát triển phần mềm nên quen với OpenSSL 3.2+, liboqs và các thư viện PQC để sẵn sàng khi các tiêu chuẩn trở nên bắt buộc. Việc chủ động chuyển đổi hôm nay rẻ hơn rất nhiều so với khắc phục hậu quả khi máy lượng tử đã sẵn sàng.

Biểu đồ mã hóa blockchain với cấu trúc mạng tinh thể và khóa công khai
Đồng xu Bitcoin biểu tượng cho mã hóa tiền số trước mối đe dọa lượng tử
Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Sui Blockchain: Layer 1 Hiệu Suất Cao Với Ngôn Ngữ Move

Sui Blockchain: Layer 1 Hiệu Suất Cao Với Ngôn Ngữ Move Move code snippet hiển thị resource struct với key store drop abilities Sui là Layer 1 blockchain thế hệ…

Xem thêm

Mạng Lightning: Giải pháp Layer 2 cho Bitcoin thanh toán nhanh, phí gần bằng không

Mạng Lightning: Giải pháp Layer 2 cho Bitcoin thanh toán nhanh, phí gần bằng không Mạng Lightning là giao thức Layer 2 xây dựng trên Bitcoin, cho phép thanh toán…

Xem thêm

zkSync Era là gì? Kiến trúc Layer 2 mở rộng Ethereum bằng zkRollups

zkSync Era là gì? Kiến trúc Layer 2 mở rộng Ethereum bằng zkRollups zkSync Era là giải pháp Layer 2 (L2) đầu tiên trên Ethereum triển khai hoàn toàn bằng…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất