MỘT VÀI ỨNG DỤNG
4.1.1. Lược đồ ký ECDSA
Sơ đồ chữ ký ECDSA được xây dựng tương tự như sơ đồ chữ ký ElGamal tuy nhiên các thuật toán ký và thuật toán kiểm thử được xây dựng dựa trên đường cong Elliptic.
Để thiết lập sơ đồ chữ ký ECDSA, cần xác định các tham số: lựa chọn
đường cong E trên trường hữu hạn Fq với đặc số p sao cho phù hợp và công khai cho tất cả mọi người, điểm cơ sở G∈ E(Fq).
Một số khuyến nghị khi lựa chọn các tham số:
1. Kích thích q của trường, hoặc q = p (p>2) hoặc q= 2m.
2. Hai phần tử a, b thuộc Fq xác định phương trình đường cong Elliptic: y2 = x3 + ax + b (p>2) hoặc y2 +xy = x3 +ax2 + b (p = 2).
3. Hai phần tử xG và yG thuộc Fq xác định điểm cơ sở G = (xG, yG). 4. Bậc n của điểm G với n> 2160 và n > 4 q.
Sinh khoá
1. Chọn số ngẫu nhiên d trong khoảng [2, n-1 ] làm khoá bí mật 2. Tính Q = dG làm khoá công khai.
Thuật toán ký trên bản rõ m
Người dùng A ký lên thông điệp m theo các bước sau: 1. Chọn một số ngẫu nhiên k, 2≤k≤n−1
2. Tính kG = (x1, y1).
4. Tính k-1 mod n.
5. Tính s = k-1 (m +dr) mod n. Nếu s = 0, quay lại bước 1. 6. Chữ ký trên thông điệp m là ( r, s ).
Thuật toán kiểm tra chữ ký
Người dùng B kiểm tra chữ ký (r, s ) trên thông điệp m theo các bước sau: 1. Kiểm tra r và s có là các số tự nhiên trong khoảng [ 2, n-1 ] không. 2. Tính w = s-1 mod n. 3. Tính u1 = mw mod n và u2 = rw mod n. 4. Tính X = u1G + u2Q = (xX,yX). 5. Nếu X = O thì phủ nhận chữ ký. Ngược lại tính v = xX mod n. 6. Chữ ký chỉđược chấp nhận nếu v = r. 4.1.2. Độ an toàn của sơđồ chữ ký ECDSA
Các hệ mã hoá đường cong elliptic đầu tiên được phát minh năm 1985 bởi Neal Kobliz và Victor Miller. Tuy nhiên sơ đồ chữ ký ECDSA do Scott Vanstone đưa ra năm 1992, được chấp nhận là chuẩn ISO vào năm 1998, là chuẩn ANSI vào năm 1999, và là chuẩn IEEE vào năm 2000.
Độ an toàn của sơđồ ký ECDSA dựa trên bài toán logarit rời rạc đường cong elliptic. Cho đến nay độ an toàn của các hệ mã hoá đường cong elliptic
đã được chỉ ra là rất an toàn và hiệu quả. Đối với bài toán logarit rời rạc
đường cong elliptic thì có nhiều thuật toán giải nó. Tuy nhiên chưa có thuật toán nào có độ phức tạp tính toán trong thời gian đa thức.
Thuật toán giải bài toán logarit rời rạc đường cong elliptic tốt nhất hiện nay là thuật toán Pollard’s Rho, phiên bản thiết kế theo hướng tính toán song song. Theo đó với nhóm đường cong elliptic cấp n và có r máy tính cùng tính toán thì phải mật π.n /2.r phép toán.
Mặt khác người ta đã phân tích và chỉ ra rằng với hệ mã hoá dựa trên bài toán logarit rời rạc đường cong elliptic có cùng độ bảo mật với hệ mã hoá dựa trên bài toán phân tích số nguyên thành các thừa số nguyên tố (như RSA)
thì độ dài khoá của hệ mã hoá dựa trên đường cong elliptic có chiều dài khoá ngắn hơn rất nhiều . Chẳng hạn với hệ mã hoá RSA có chiều dài khoá là 1024 bit thì hệ mã hoá bằng đường cong elliptic chỉ cần độ dài khoá 163 bit sẽ có
độ bảo mật tương đương. Và do đó việc tính toán các tiến trình đối với các hệ
mã hoá đường cong elliptic là nhanh hơn rất nhiều.