Thuật toán nhân hệ số nguyên là một thuật toán quan trọng trong hệ mã hóa ECC. Bởi vậy đã có rất nhiều nghiên cứu của các nhà khoa học, đƣa ra nhiều phƣơng pháp để tối ƣu hóa thuật toán này. Trong cuốn sách Guide to Elliptics Curve Cryptography [8], Hankerson đã giới thiệu 14 thuật toán. Tuy nhiên trong phạm vi của luận văn, học viên chỉ giới thiệu một thuật toán đơn giản nhất để minh họa phép nhân hệ số, đó là sử dụng phƣơng pháp nhị phân từ trái qua phải (left-to- right binnary method).
Thuật toán 3.1 : Thuật toán nhân hệ số sử dụng phƣơng pháp nhị phân từ trái qua phải
Input : Điểm P (E), hệ số k = (kt-1, … k2, k1, k0)2 là số nguyên dƣơng
Output: Điểm tích Q = k.P thuộc (E)
1 : Q = 2 : for i = t-1 to 0 do 2.1 : Q = 2.Q 2.2 : if ki = 1 then 2.2.1 : Q = Q + P 3: Return Q
Trong thuật toán 3.1, số các số 1 trong biểu diễn nhị phân của hệ số k kỳ vọng là m/2. Gọi A là thời gian của thuật toán cộng điểm, D là thời gian của thuật toán nhân đôi điểm. Do vậy thời gian thực hiện kỳ vọng của thuật toán 3.1 là:
2
A
m m D
3.1.1.4. Đường cong Elliptic trên trường hữu hạn
Để nâng cáo hiệu quả tính toán và độ chính xác trong mã hóa và giải mã, các phép tính toán trong hệ mật mã ECC đƣợc thực hiện trên 2 trƣờng hữu hạn, đó là trƣờng số nguyên tố hữu hạn Fp và trƣờng nhị phân hữu hạn F2
m
[29].
a. Đƣờng cong Elliptic trên trƣờng nguyên tố hữu hạn Fp
Xét đƣờng cong Elliptic (Ep) trên trƣờng nguyên tố hữu hạn Fp (p là số nguyên tố). Một điểm P(x,y) thuộc (Ep) khi và chỉ khi thỏa mãn các điều kiện sau:
Comment [u18]: Guide to Elliptics Curve Cryptography. Darrel Hankerson , Alfred Menezes, Scott Vanstone. 2004 - Page 95
Comment [u19]: William Stalling (2005) “Cryptography and Network Security”, Prentice Hall Publisher, pp 305
Ví dụ, xét đƣờng cong Elliptic trên trƣờng số nguyên tố p = 23, a= 1, b = 1. Ta ký hiệu là E23(1,1). Phƣơng trình của E23(1,1) là:
2mod 23 3 1 mod 23
y x x
Ta có thể nhận thấy P(9,7) E23(1,1). Thật vậy, thay số vào ta có:
Bảng 3.2 liệt kêt tất cả các điểm thuộc đƣờng cong E23(1,1). Hình 3.3 biểu diễn các điểm đó trên đồ thị:
(0, 1) (6, 4) (12, 19) (0, 22) (6, 19) (13, 7) (1, 7) (7, 11) (13, 16) (1, 16) (7, 12) (17, 3) (3, 10) (9, 7) (17, 20) (3, 13) (9, 16) (18, 3) (4, 0) (11, 3) (18, 20) (5, 4) (11, 20) (19, 5) (5, 19) (12, 4) (19, 18) 2 3 2 , [0,p-1] mod ax mod x y y p x b p 72 mod 23 = (92 + 9 + 1) mod 23 49 mod 23 = 91 mod 23 3 = 3
Xét tập hợp các điểm thuộc đƣờng cong Ep(a,b) trên trƣờng số nguyên tố hữu hạn p, và (4a3
+ 27b2) mod p ≠ 0. Ta định nghĩa các luật sau:
Điểm là phần tử đặc biệt, nằm ở vô cực, đƣợc gọi là phần tử trung hòa.
Điểm P = (xP, yP) là điểm thuộc EP(a,b), tồn tại phần tử đối –P =(xP,y-P), thỏa mãn ( yP + y-P ) mod p = 0. Ví dụ xét đƣờng cong E23(1,1), phần tử P(13,7) sẽ có phần tử đối là –P = (13,16) do (7 + 16) mod 23 = 0.
Điểm P = (xP, yP) và Q= (xQ, yQ) là 2 phần tử thuộc Ep(a,b), với P ≠ −Q. Khi đó tổng của 2 điểm P và Q là điểm R = (xR, yR) Ep(a,b), ta ký hiệu R = P + Q. Điểm R đƣợc xác định theo giải tích nhƣ sau: