Mật mã đường cong elíp: Ứng dụng trong blockchain và bảo mật

Mật mã đường cong elíp (Elliptic-curve cryptography, ECC) là một dạng mật mã khóa công khai dựa trên cấu trúc đại số của đường cong elíp qua trường hữu hạn. Mật mã đường cong elíp cho phép tạo khóa bí mật ngắn gọn nhưng vẫn đạt độ bảo mật tương đương RSA với độ dài khóa gấp nhiều lần, nhờ đó nó chiếm phần lớn không gian trong các hệ mật mã hiện đại.

Đồ thị đường cong elíp secp256k1 trên số thực, đường cong được Bitcoin dùng cho chữ ký giao dịch

Nguyên lý cốt lõi của mật mã đường cong elíp

Cơ sở an toàn của ECC nằm ở bài toán logarit rời rạc đường cong elíp (Elliptic Curve Discrete Logarithm Problem, ECDLP). Cho điểm cơ sở P trên đường cong và điểm Q = kP (k lần cộng điểm P với chính nó), việc tìm lại số nguyên k từ P và Q được coi là tính toán không khả thi với các đường cong chuẩn và kích thước trường đủ lớn.

Điều này cho phép ECC đạt mức bảo mật 128-bit chỉ với khóa 256-bit, trong khi RSA cần khóa 3072-bit. Kích thước khóa nhỏ hơn mang lại tính toán nhanh hơn, tiêu thụ năng lượng ít hơn và băng thông truyền dữ liệu thấp hơn — đặc biệt quan trọng cho thiết bị nhúng, thẻ thông minh và mạng blockchain.

Đường cong elíp trong toán học thường được biểu diễn bởi tập các điểm thỏa mãn phương trình y² = x³ + ax + b cộng thêm một điểm đặc biệt tại vô cùng. Tập điểm này, cùng phép cộng hình học, tạo thành một nhóm abelian. Nhờ đó các phép toán như nhân điểm (chính là lặp lại phép cộng) rất nhanh, còn phép “chia” tức tìm hệ số k lại cực kỳ khó — chính bất đối xứng này tạo nên nền tảng của mọi giao thức khóa công khai dựa trên ECC.

Tập các điểm của đường cong elíp y bằng x mũ ba trừ x trên trường hữu hạn Z mười tám mươi chín

Các đường cong chuẩn và ứng dụng thực tế

Năm 1985, Neal Koblitz và Victor Miller độc lập đề xuất dùng đường cong elíp cho mật mã. Đến khoảng 2004, ECC bắt đầu được sử dụng rộng rãi. Năm 1999, NIST khuyến nghị 15 đường cong elíp cho Chuẩn Chữ ký Số (DSS) trong FIPS 186-3, sau đó cập nhật qua FIPS 186-4 và SP 800-186. Hai họ đường cong phổ biến nhất:

  • Đường cong Weierstrass dạng y² = x³ + ax + b — dùng trong P-256, P-384, P-521 của NIST.
  • Đường cong Edwards/Montgomery — hiệu năng tốt hơn, chống tấn công kênh phụ, dùng cho Ed25519, Curve25519 (X25519) và secp256k1 của Bitcoin.

Trong blockchain, secp256k1 là đường cong tiêu chuẩn của Bitcoin, Ethereum và hàng trăm chuỗi khác. Bitcoin dùng ECDSA trên secp256k1 để ký giao dịch; Ethereum cũng dùng secp256k1 cho tài khoản và hợp đồng thông minh. NIST P-256 (secp256r1) phổ biến trong TLS, Apple Pay và các chứng chỉ X.509. Ngoài chữ ký số, ECC còn cung cấp cơ chế thỏa thuận khóa (ECDH) để hai bên dựng ra khóa chung mà không cần truyền khóa bí mật.

Tập các điểm affine của đường cong elíp y bằng x mũ ba trừ x trên trường Z bảy mươi mốt

So sánh với RSA và ứng dụng cụ thể

Để đánh giá rõ ràng lợi thế của ECC, có thể so sánh trực tiếp với RSA cùng mức bảo mật:

  • Kích thước khóa: ECC 256-bit tương đương RSA 3072-bit — nhỏ hơn khoảng 12 lần.
  • Tốc độ ký: ECDSA nhanh hơn nhiều lần so với RSA cùng mức an toàn.
  • Bộ nhớ đệm: điểm ảnh hưởng trực tiếp tới khả năng đưa ECC vào thẻ SIM, thẻ nhớ, module IoT giá rẻ.

Trong thực tế, phần lớn kết nập HTTPS mà bạn truy cập hằng ngày đều dựa trên ECDHE (biến thể ECDH để thiết lập khoá phiên) kết hợp chữ ký ECDSA hoặc Ed25519. Trong ví điện tử, mỗi lần ký giao dịch đều là một phép toán ECC. Đây là lý do các thư viện như OpenSSL, libsodium hay thư viện elliptic-curve của Bitcoin Core đều tối ưu nặng cho phép nhân điểm.

Rủi ro, lịch sử đáng nhớ và xu hướng

Không phải mọi thứ đều hoàn hảo, và ECC từng có một vết sẹm nổi tiếng:

  • Dual_EC_DRBG — bộ sinh số ngẫu nhiên dựa trên đường cong elíp từng được NIST chuẩn hóa nhưng sau đó bị phát hiện chứa lỗ hổng ngầm do NSA thiết kế. Các chuyên gia khuyến cáo không dùng Dual_EC_DRBG.
  • Các đường cong NIST P-256, P-384, P-521 vẫn được tin dùng rộng rãi, tuy nhiên một số nhà mật mã học đề nghị ưu tiên đường cong độc lập như Curve25519/Ed25519.
  • Máy tính lượng tử: thuật toán Shor có thể phá vỡ ECDLP trong thời gian đa thức. NIST đang chuẩn hóa mật mã hậu lượng tử (PQC) như CRYSTALS-Kyber, CRYSTALS-Dilithium để thay thế lâu dài.

Ngoài ra, việc chọn tham số sai cũng gây hậu quả nặng nề: dùng đường cong có thứ tự nhóm nhỏ hoặc điểm cơ sở yếu sẽ khiến ECDLP trở nên dễ giải, đôi khi chỉ trong vài phút. Vì vậy luôn dùng đường cong đã được chuẩn hóa và kiểm định, tuyệt đối không tự chọn tham số ngẫu nhiên.

Kết luận

Mật mã đường cong elíp đã trở thành xương sống của bảo mật hiện đại — từ TLS bảo vệ web, chữ ký số tài chính, cho đến định danh phi tập trung trên blockchain. Hiểu bản chất ECDLP và lựa chọn đường cong chuẩn phù hợp giúp các lập trình viên và kiến trúc sư hệ thống xây dựng ứng dụng an toàn, hiệu năng và sẵn sàng cho tương lai.

Nguồn: Wikipedia – Elliptic-curve cryptography, Bitcoin Wiki – Secp256k1

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

AMM là gì? Mô hình tạo lập thị trường tự động trong DeFi

AMM (Automated Market Maker) là mô hình tạo lập thị trường tự động, cho phép người dùng hoán đổi token trực tiếp trên blockchain mà không cần sàn giao dịch…

Xem thêm

Ordinals là gì? Ghi chú dữ liệu lên từng satoshi Bitcoin

Ordinals là gì? Ghi chú dữ liệu trực tiếp lên từng satoshi Bitcoin Ordinals là phương pháp gán số cho từng satoshi, đơn vị nhỏ nhất của Bitcoin, theo thứ…

Xem thêm

Taproot là gì? Nâng cấp bảo mật và riêng tư cho Bitcoin

Taproot là một nâng cấp giao thức của Bitcoin, chính thức được kích hoạt trong block 709632 và là soft fork thứ ba trong lịch sử Bitcoin. Taproot thay thế…

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