Bí ẩn 25 năm của các đường cong elliptic NIST đã được giải mã

Công nghệ16 tháng 10, 2026·5 phút đọc

Nhóm chuyên gia của Anthropic đã giành được khoản tiền thưởng cho việc giải mã cách tạo hạt giống (seed) cho các đường cong elliptic của NIST. Phát hiện cho thấy chúng được sinh ra bằng trình tạo số ngẫu nhiên drand48 với dấu thời gian năm 1997-1998, qua đó loại bỏ hoàn toàn khả năng NSA cài cửa hậu vào các đường cong mật mã quan trọng này.

Bí ẩn 25 năm của các đường cong elliptic NIST đã được giải mã

Bí ẩn 25 năm của các đường cong elliptic NIST đã được giải mã

Khoản tiền thưởng (bounty) mà Filippo Valsorda công bố ba năm trước về nguồn gốc hạt giống của các đường cong elliptic NIST cuối cùng đã có người giành được. Một nhóm gồm 10 chuyên gia đến từ Anthropic đã tìm ra cách chúng được tạo ra, qua đó khép lại một trong những câu hỏi gây tranh cãi nhất trong lịch sử mật mã học hiện đại.

Phát hiện này không chỉ mang ý nghĩa lịch sử, mà còn củng cố niềm tin vào các nguyên thủy mật mã đang được dùng rộng rãi trên toàn thế giới — trong đó có cả các kết nối HTTPS bảo vệ hàng tỷ người dùng internet mỗi ngày.

Câu đố kéo dài gần ba thập kỷ

Các đường cong elliptic NIST (gồm P-192, P-224, P-256, P-384 và P-521) được NIST công bố lần đầu trong tiêu chuẩn FIPS 186-2 vào năm 2000. Theo chuẩn ANSI X9.62, chúng được sinh ra bằng cách lấy một hạt giống tùy ý, băm bằng SHA-1, rồi dùng kết quả để suy ra các tham số đường cong.

Vấn đề nằm ở chỗ: không ai biết những hạt giống "tùy ý" đó được chọn như thế nào trong suốt hơn hai thập kỷ. Giai thoại phổ biến cho rằng Tiến sĩ Jerry Solinas — người qua đời đầu năm 2023 — đã tạo chúng vào năm 1997 bằng cách băm một số câu tiếng Anh mà sau này ông quên mất.

Sự mơ hồ này là mảnh đất màu mỡ cho các thuyết âm mưu, đặc biệt là giả thuyết cho rằng Cơ quan An ninh Quốc gia Mỹ (NSA) có thể đã chọn hạt giống để cài cửa hậu vào các đường cong.

Sự thật: trình tạo số ngẫu nhiên drand48

Hóa ra ký ức có thể đánh lừa tất cả mọi người. Nhóm Anthropic phát hiện ra rằng các hạt giống không phải là kết quả băm của câu tiếng Anh nào cả, mà được sinh ra bằng drand48 — một trình tạo số ngẫu nhiên theo chuẩn POSIX.

Thuật toán thực ra khá đơn giản:

  • Truyền dấu thời gian UNIX tại thời điểm đó vào hàm srand48()
  • Sinh từng byte một bằng drand48
  • Mỗi chuỗi 20 byte được thử làm hạt giống theo chuẩn ANSI X9.62
  • Nếu đường cong tạo ra không hợp lệ thì bị loại bỏ

Kết quả truy vết cho thấy các đường cong được tạo trong khoảng năm 1997 đến 1998. Filippo Valsorda đã tự tay tái hiện thuật toán bằng ngôn ngữ Go để kiểm chứng tuyên bố này.

Hai tiêu chí ẩn và một bí ẩn còn bỏ ngỏ

Bên cạnh các tiêu chí của ANSI X9.62, nhóm nghiên cứu phát hiện thêm hai tiêu chí chưa được ghi chép lại. Tiêu chí thứ nhất khá rõ ràng: nếu độ dài bit của bậc đường cong n lớn hơn độ dài bit của trường cơ sở p, hạt giống sẽ bị loại.

Tiêu chí thứ hai thì vẫn còn là ẩn số. Có khoảng gấp đôi số hạt giống hợp lệ so với số đường cong được công bố, và nhóm không tìm được lời giải thích thỏa đáng. Có thể cùng một trình RNG đã được dùng để kiểm tra hạt giống, hoặc đơn giản là có một lỗi trong thuật toán khiến kết quả sai một nửa số lần — điều hoàn toàn dễ hiểu với công nghệ tính toán năm 1997.

Ý nghĩa đối với an ninh mật mã

Điều quan trọng nhất mà phát hiện này mang lại là nó loại bỏ hoàn toàn kỹ thuật mà Daniel Bernstein và Tanja Lange từng mô tả năm 2017. Theo kỹ thuật đó, kẻ tấn công có thể lợi dụng 70 bit tự do trong việc chọn hạt giống để nhắm vào một lớp đường cong yếu giả định gồm khoảng 2⁶¹ đường cong.

Kể cả khi NSA được tự do chọn bất kỳ dấu thời gian nào trong năm 1997-1998 và bất kỳ ứng viên bậc nguyên tố nào trong 16 ứng viên đầu tiên, họ cũng chỉ có vỏn vẹn khoảng 30 bit tự do — không đủ để cài bất kỳ dạng cửa hậu NOBUS nào.

Filippo Valsorda nhận định rằng cùng với các thuật toán ký ECDSA tất định, các triển khai trường hữu hạn đã được xác minh hình thức, và công thức cộng đầy đủ của Renes - Costello - Batina năm 2015, phát hiện này khép lại trọn vẹn "hành trình phục hồi danh dự" của mật mã đường cong elliptic NIST. Cá nhân ông giờ đây khuyến nghị dùng chúng thay vì Curve25519/Ed25519/X25519.

Minh họa bộ xúc xắc được dùng như nguồn entropy mật mãMinh họa bộ xúc xắc được dùng như nguồn entropy mật mã

Khoản tiền thưởng được trao cho một mục đích ý nghĩa

Nhóm của Anthropic đã giành trọn khoản tiền thưởng vào lúc 01:07:51 UTC ngày 15/10/2026, sau khi công bố lời giải vào ngày 16/10. Họ quyết định quyên tặng toàn bộ số tiền cho ISRG — tổ chức phi lợi nhuận vận hành dịch vụ chứng chỉ Let's Encrypt — qua đó nhân ba giá trị giải thưởng lên 36.864 USD.

Với độc giả Việt Nam, đây là câu chuyện đáng chú ý vì Let's Encrypt chính là tổ chức đứng sau phần lớn chứng chỉ HTTPS miễn phí mà các website, ứng dụng và dịch vụ trực tuyến trong nước đang sử dụng. Việc củng cố niềm tin vào các nguyên thủy mật mã nền tảng đồng nghĩa với việc toàn bộ hệ sinh thái web an toàn hơn.

Nhóm nghiên cứu cũng tìm ra cách sinh hạt giống cho các đường cong B của NIST (loại trên trường nhị phân), nhưng như Valsorda hóm hỉnh ghi chú: "không ai dùng chúng cả, nên chẳng quan trọng".

Câu chuyện về hạt giống bí ẩn kéo dài 25 năm cuối cùng đã khép lại — và lần này, cái kết là một tin tốt cho tất cả những ai quan tâm đến an toàn thông tin.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗