Mã hóa công khai ECC
Phương thức này phát minh năm 1985 bởi hai nhà toán học Miller và Koblitz.
Mã hoá thông tin lên một nhóm bao gồm những điểm trên đường cong elliptic.
Đường cong elliptic này được định nghĩa trên một trường đại số hữu hạn (finite field).
Hay nói cho đơn giản hơn, dựa trên những điểm tọa độ số nguyên trên trục tọa độ Descartes, kể cả một điểm đặc biệt ở vô cực (infinity).
Elliptic thực tế chỉ là những điểm có tọa độ số nguyên, thỏa mãn một phương trình đại số bậc ba.
Tổng quan về ECC (Elliptic Curve Cryptography)
Trang 2Mã hóa công khai ECC
Page 2
Tập điểm (x, y) thỏa mãn đẳng thức:
Điểm O được gọi là điểm vô cùng
Các khái niệm cơ bản về ECC
Trang 3Mã hóa công khai ECC
Phép cộng
Đường cong Eliptic trên trường số thực (Dạng Weierstrass)
Trang 4Mã hóa công khai ECC
Trang 5Mã hóa công khai ECC
Đường cong elliptic được xây dựng trên các trường hữu hạn
Có hai trường hữu hạn: Trường hữu hạn Fq với q là số nguyên tố hoặc q là 2^m (m là số nguyên).
Tùy thuộc vào trường hữu hạn Fq, với mỗi bậc của q, tồn tại nhiều đường cong elliptic.
Do đó, với một trường hữu hạn cố định có q phần tử và q lớn, có nhiều sự lựa chọn nhóm đường cong Elliptic.
Mật mã công khai dùng đường cong Eliptic
Cho trước (E) và hai điểm P, Q thuộc E
Tìm số nguyên k để: Q = kP.
Không thể tìm được k (có thể tìm được trong khoảng thời gian đủ ngắn).
Bài toán logarit rời rạc trên đường cong Eliptic
Trang 6Mã hóa công khai ECC
Page 6
Mô hình mã hóa dữ liệu ECC (Bên gửi B)
Trang 7Mã hóa công khai ECC
Mô hình mã hóa dữ liệu ECC (Bên gửi B)
X2 = (x2, y2) = k × Q
(x1, y1)
C
Trang 8Mã hóa công khai ECC
A giải mã thông điệp C để lấy thông điệp M ban đầu.
Trang 9Mã hóa công khai ECC
Mô hình giải hóa dữ liệu ECC (Bên gửi B)
(x1, y1) = k x P
YA ((E), P, QA, d)
MΦ^-1(C, Y)
X2 = (x2, y2) = d x (x1, y1)
Trang 10Mã hóa công khai ECC
Tham số chung:
(E)
P = (1, 1) thuộc (E)
Bên A chọn:
d = 2, đây là khóa riêng.
QA = d x P = (-1, -1), đây là khóa công cộng.
Trang 11Mã hóa công khai ECC
Giải mã (bên A):
-Mô hình mã hóa dữ liệu ECC (Ví dụ)
Trang 12Mã hóa công khai ECC
C có thuật toán nào được xem là hiệu quả để giải quyết bài toán này Để giải cần phải kiểm tra tất cả các giá trị nguyên trên [2…n-2].
Nếu điểm P được chọn lựa cẩn thận với n rất lớn thì việc giải bài toán ECDLP xem như không khả thi.
Các phương pháp giải bài toán ECDLP gồm:
The Pohlig-Hellman algorithm
Shanks' baby-step-giant-step method
Pollard's methods
The Menezes-Okamoto-Vanstone (MOV) attack using the Weil pairing
The Frey-Rueck attack using the Tate pairing
The attacks on anomalous elliptic curves due to Semaev, Satoh-Araki and Smart
Weil descent (for some special finite fields).
Page 12
Thời gian phá mã ECC (Lời giải bài toán ECDLP: Q=kP)
Trang 13Mã hóa công khai ECC
Lời giải bài toán có độ phức tạp hàm mũ (khó)
Số điểm rời rạc trên đường cong (điểm mà cả tọa độ X và Y là nguyên) được gọi là bậc của đường cong N
Giả sử N là số nguyên tố n bit thì để tính k từ biểu thức trên cần 2^(n/2) thao tác
Giả sử chiều dài n là 160 bits thì cần khoảng 2^80 thao tác
Giả sử Hacker có thể thao tác 1 tỉ thao tác trên giây thì C cần khoảng 2^80/(10^9*365*24*60*60) ≈ 38 triệu năm.
Thời gian phá mã ECC (Lời giải bài toán ECDLP: Q=kP)
Trang 14Mã hóa công khai ECC
Ưu:
Page 14
Ưu nhược điểm ECC
Trang 15Mã hóa công khai ECC
nhúng vì việc cứng hóa cần ít tài nguyên phần cứng hơn.
Ứng dụng ECC