Tổng quan về đường cong Elliptic

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 69)

Chương 1 TỔNG QUAN VỀ THUẬT TOÁN MÃ HOÁ

3.1 Tổng quan về đường cong Elliptic

3.1.1 Cơ sở toán học

Định nghĩa 3.1: Một đường cong elliptic dạng Weierstrass đầy đủ là

tập tất cả các điểm với 3 toạ độ x, y, z thoả mãn phương trình:

2 2 3 2 2 3

1 3 2 4 6

y za xyza yzxa x za xza z (3.1)

với a a a a a1, 3, 2, 4, 6 .

Đường cong có một điểm ở vơ cực với hệ số z = 0, là điểm (0, 1, 0).

Điểm này được ký hiệu bởi . Để đơn giản và phù hợp với mục đích sử dụng thực tế, ta chỉ xem xét  là một trường nguyên tố pvới p2, 3. Khi đó phương trình đường cong elliptic dạng Weierstrass rút gọn sẽ được biểu diễn bởi phương trình:

2 3

: ; ,

E yxAxB A Bp (3.2)

Định nghĩa 3.2: Biệt thức của đường cong E được xác định bởi công thức:

3 2 16(4A 27B )     (3.3) Định nghĩa 3.3: Gọi 3 2 ( , ) f x y  x Ax B y . Một điểm P x y( , )E

được gọi là điểm khơng kì dị nếu có ít nhất một trong hai đạo hàm df

dx hoặc

df dy

khác 0. Điều này có nghĩa là nếu cả hai đạo hàm này bằng 0 thì điểm P sẽ được coi là điểm kì dị.

Định nghĩa 3.4: Đường cong elliptic E được coi là đường cong khơng

kì dị nếu tất cả các điểm của nó là khơng kì dị. Ngược lại, nếu có ít nhất một

điểm kì dị thì đường cong sẽ được coi là đường cong kì dị. Ta dễ dàng chứng minh được rằng đa thức bậc ba 3

xAx B có nghiệm bội khi và chỉ khi 3 2

4A 27B 0(sử dụng công thức Cardano). Như vậy, một đường cong được gọi là khơng kì dị khi và chỉ khi  0 (mod p).

Định nghĩa 3.5: Đại lượng j-bất biến của đường cong E khi  0 là:

  34 3 2 1728 4 27 A j j E A B    (3.4)

Định nghĩa 3.6: Hai đường cong E và E xác định bởi phương trình

Weierstrass rút gọn với các biến số tương ứng là (x, y) và (x, y) được gọi là đẳng

cấu trên trường  nếu và chỉ nếu tồn tại các hằng số r, s, t và u * sao cho

khi thực hiện đổi biến 2 3 2

' ; ' '

xu xr yu ysu xt thì E biến thành E.

Tính đẳng cấu là một quan hệ tương đương. Hai đường cong đẳng cấu sẽ có giá trị j-bất biến bằng nhau [50]. Tuy nhiên, nếu ta làm việc với trường khơng

không thể biến đổi một đường cong trở thành đường cong còn lại nhờ các hàm hữu tỷ với các hệ số trong . Có hai giá trị đặc biệt của j-bất biến là:

j = 0: Khi đó đường cong elliptic có dạng 2 3

yxB.

j = 1728: Đường cong elliptic có dạng 2 3

yxAx.

Các đường cong với j = 0 và j = 1728 là dạng đặc biệt, chúng có các tự đẳng cấu (tức là một song ánh đảm bảo tính đồng cấu từ đường cong vào chính nó) khác với tự đẳng cấu đã xác định bởi (x, y) (x, - y) vốn là tự đẳng cấu của một đường cong elliptic bất kì trong dạng Weierstrass.

2 3

yxB có một tự đẳng cấu (x, y) (x, - y) với  là một căn bậc ba không tầm thường của 1.

2 3

yxAx có tự đẳng cấu (x, y) (-x, iy), với i2  1.

Định nghĩa 3.7: Nếu hai đường cong elliptic khác nhau được xác định

trên một trường  có cùng một j - bất biến thì ta gọi chúng là “xoắn đôi” (twist) của nhau.

Đường cong xoắn đôi với đường cong với j-bất biến là j có dạng:

2 3 3 2 ; 0, 1728 1728 1728 j j y x x j j j       (3.5)

Định nghĩa 3.8: Đường cong elliptic E định nghĩa trên pđược gọi là

đường cong siêu kì dị nếu khơng có điểm cấp p trên p(nghĩa là E p[ ] { }  ).

Mệnh đề 4.30 trong [50]phát biểu rằng E là siêu kì dị khi và chỉ khi

 

#E p  p 1. Chú ý rằng định nghĩa siêu kì dị ở đây khơng liên quan đến

tính chất kì dị như trong định nghĩa 3.4.

Định nghĩa 3.9: Đường cong elliptic E định nghĩa trên pthỏa mãn

 

-R

3.1.2 Nhóm các điểm của đường cong elliptic trên trường hữu hạn

Luật nhóm

Tập hợp tất cả các điểm (x, y) với x, y p thoả mãn phương trình của đường cong E và với một điểm  ở vơ cực cùng với một phép tốn cộng sẽ tạo thành một nhóm, gọi là nhóm các điểm trên đường cong elliptic trong p, ký hiệu là E( p). Nhóm này được sử dụng để xây dựng nên hệ mật Elliptic.

Phép toán trên đường cong Elliptic

Phép cộng hai đi m: Cho hai điểm P1 và P2 phân biệt trên đường cong elliptic E. Tổng của P1 và P2, ký hiệu là P3, được định nghĩa như sau: Kẻ một đường thẳng đi qua P1 và P2. Đường thẳng này sẽ cắt E tại một điểm thứ 3, được ký hiệu là P3'. Tiếp tục kẻ đường thẳng đi qua P3' và vng góc với trục x, đường

thẳng này sẽ cắt E tại điểm thứ hai chính là điểm P3 (xem hình 3.1).

Hình 3.1. Phép cộng hai điểm trên EC

Phép nhân đôi một đi m: Cho P1 là một điểm trên E. Nhân đôi điểm P1, ký hiệu là P1P12P1, được định nghĩa như sau: Kẻ qua P1 một tiếp tuyến của

E, tiếp tuyến này cắt E tại điểm thứ hai, ký hiệu là R. Kẻ đường thẳng đi qua R

và vng góc với trục x, đường thẳng này cắt E tại điểm thứ hai chính là 2P1.

Mệnh đề 3.1

Cho E là một đường cong elliptic xác định bởi phương trình

2 3

yxA x B. Gọi P1 ( ,x y1 1) và P2 (x2,y2)là các điểm trên E với

1, 2

P P . Khi đó P1P2 P3 x y3, 3vớix y3, 3được tính như sau:

1) (Cơng thức cộng điểm) Nếux1x2, thì 2 3 1 2 x   x x , y3 x1x3 y1với 2 1 2 1 y y x x     (3.6) Nếu x1 x2nhưng y1 y2 thì P1P2  .

2) (Công thức nhân đôi điểm) NếuP1  P2y1 0, thì 2 3 2 1, 3 ( 1 3) 1, x   x y  xxy với 12 1 3 2 x A y    . (3.7) NếuP1 P2y1 0, thì P1P2  . 1 1; 1 P   P  P E.

Phép cộng điểm trên đường cong Elliptic E thỏa mãn các tính chất sau:

(1). Tính giao hốn: P1P2 P2P1với mọi P P1, 2trên E.

(2). Tồn tại phần tử đơn vị: P +  = P với mọi P trên E.

(3). Tồn tại phần tử nghịch đảo: Với điểm P cho trước trên E, tồn tại một điểm Ptrên E sao cho P + P'= . ĐiểmP'

thường được kí hiệu là -P.

(4). Tính kết hợp: (P1P2)P3 P1(P2 P3) P P P1, 2, 3E.

Nói cách khác, các điểm trên E cùng với phép cộng điểm tạo thành một nhóm abel với  như là phần tử đơn vị.

3.1.3 Nhân vô hướng của một điểm trên đường cong Elliptic

Với n ∈ N\{0} định nghĩa phép nhân vô hướng của điểm P nằm trên đường cong E là phép cộng n lần chính bản thân điểm P:

...

P nP P P P

nlan

     Q

Để tối ưu phép nhân vơ hướng, có thể sử dụng phương pháp Nhân đôi-

và- cộng, đầu tiên biểu diễn số n dưới dạng:

2

0 2 1 2 2 2m

n

nnnn  n với n0nm 0,1 (3.8) Không tồn tại phép nhân 2 điểm trên đường cong E, có nghĩa là khơng tồn tại P×Q với P, Q ∈ E.

Khơng tồn tại thuật tốn chia vơ hướng Q : n. Biết rằng Q = nP, bài tốn tìm số n là bài toán Logarithm rời rạc.

Đây là bài tốn khó, thơng thường phải thử lần lượt n1, 2...,n1phép cộng điểm P, cho đến khi tổng bằng Q, tuy nhiên có một số thuật tốn tối ưu hơn để tìm n nhưng vẫn khơng thể giải được bài tốn này trong thời gian đa thức vì thế dựa vào độ khó này có thể xây dựng ra hệ mật đường cong Elliptic với các giao thức cho mã hóa và trao đổi khóa.

3.1.4 Đường cong Elliptic trên trườnghữu hạnFq

Các ứng dụng về mật mã của đường cong Elliptic đa số chỉ sử dụng các đường cong trên trường hữu hạn.

XétFqlà một trường hữu hạn (hữu hạn số phần tử số nguyên dương):

0,1, 2, , q 1

q

F   

(3.9) Trong đó: q là một số nguyên tố hoặc có dạng m

qp với p là một số nguyên tố và m là một số nguyên dương. Khi này p được gọi là đặc số

 

ar

Trong thực tế và đặc biệt trong các thiết bị phần cứng [62], người ta thường sử dụng trường hữu hạn F m2 . Khi đó phép cộng trong trường này đơn giản chỉ là phép toán XOR. Nhiều tài liệu cho thấy làm việc với F m2 hiệu quả 40% so với làm việc với trường Fq.

3.2 Phương pháp trao đổi khố mã an tồn hệ mật dựa trên đường cong Elliptic

3.2.1 Bài toán logarit rời rạc

Bài toán logarit rời rạc (DLP) được quan tâm nghiên cứu kể từ khi xuất hiện mật mã khóa cơng khai năm 1975. Vấn đề được đặt ra là với nhóm cyclic G = <P> bậc n, tìm kiếm một số x0,n1 , thỏa mãn phương trình:

QxP

Bài tốn này khó tính tốn và các nhóm như vậy thường là nhóm nhân trên trường hữu hạn và nhóm các điểm của đường cong Elliptic trên trường hữu hạn.

Bài toán Diffie-Hellman liên quan đến bài tốn logarit rời rạc. Đó là tìm kiếm đại lượng abP trên cơ sở P, aP, và bP. Có thể chỉ ra rằng đối với bất kỳ nhóm nào, bài tốn logarit rời rạc có thể rút gọn về bài tốn Diffie-Hellman. Bài toán ngược đã được chứng minh chỉ đúng trong một số trường hợp nhất định.

Độ khó của bài tốn Diffie-Helman là cơ sở cho độ an toàn của giao thức thỏa thuận khóa. Giả sử chúng ta có một nhóm cho G = <P> bậc n, q trình

thỏa thuận khóa như sau:

1. Bên A chọn ngẫu nhiên số a0,n1và tính aP, gửi cho Bên B.

2. Bên B chọn ngẫu nhiên số b0,n1 và tính bP, gửi cho Bên A.

Bảng 3.1. Giá trị khóa thỏa thuận được là K = abP = a(bP) = b(aP).

Bên A Bên B

Đã có a, bP b, aP

Giao thức này được gọi một vịng, vì mỗi bên nhận dữ liệu từ đối tác của mình chỉ một lần.

Thỏa thuận về một khóa chung bởi ba bên thì phức tạp hơn và địi hỏi một giao thức thỏa thuận khóa hai vịng. Dưới đây là các bước thực hiện:

1. Vòng đầu tiên.

(a) Bên A chọn ngẫu nhiên số a0,n1 và tính aP, gửi cho Bên B. (b) Bên B chọn ngẫu nhiên số b0,n1 và tính bP, gửi cho Bên C. (c) Bên C chọn ngẫu nhiên số c0,n1 và tính cP, gửi cho Bên A.

2. Vòng thứ hai.

(a) Bên A dựa vào giá trị a và cP tính acP, sau đó sẽ gửi cho Bên B. (b) Bên B dựa vào giá trị b và aP tính baP, sau đó sẽ gửi cho Bên C. (c) Bên C dựa vào giá trị c và bP tính bcP, sau đó sẽ gửi cho Bên A.

Bảng 3.2. Giá trị khóa thỏa thuận được sẽ là K = abcP

Bên A Bên B Bên C

Vòng 1 a, cP b, aP c, bP

Vòng 2 a, cP, bcP b, aP, acP c, bP, abP Cần tính K = a(bcP) K = b(acP) K = c(abP)

Ở đây nảy sinh một câu hỏi tự nhiên là: có tồn tại giao thức một vòng nào phù hợp với ba bên? Câu hỏi vẫn mở cho đến khi Joux đề xuất giải pháp sử dụng biến đổi song tuyến [43]. Sau đó xuất hiện đề xuất thú vị dựa trên ánh xạ song tuyến mà cụ thể là kết hợp các cặp điểm trên đường cong Elliptic. Những đề xuất nổi tiếng nhất cho đến nay là sơ đồ mã hóa dựa trên định danh (Boneh và Franklin) [22] và sơ đồ chữ ký số ngắn (Boneh, Lynn và Shacham) [36].

3.2.2 Ánh xạ song tuyến

Giả sử rằng n là số nguyên tố. Cho G1 = <P> là một nhóm cyclic bậc n có tính chất cộng và một phần tử trung hòa ∞, GT là một một nhóm cyclic bậc

n có tính chất nhân và phần tử đơn vị 1. Khi đó biến đổi song tuyến có thể định

nghĩa như sau:

Định nghĩa 3.10: Biến đổi song tuyến trên (G1, GT) được gọi là biến đổi

ê: G1× G1 → GT,

thỏa mãn các điều kiện sau đây:

1.(Song tuyến tính - Bilinear) Cho mỗi R, S, T ∈ G1, ta có:

ê(R + S, T) = ê(R, T) ê(S, T) và ê(R,S + T) = ê(R, S) ê(R, T).

2. (Không suy biến Non-Degeneracy) ê(P,P) ≠ 1.

3. (Khả năng tính tốn) Giá trị ê(P,R) được xác định một cách hiệu quả. Có thể chứng minh rằng ánh xạ song tuyến có các tính chất sau:

1. ê(S, ∞) = 1, và ê(∞, S) = 1. 2. ê(S,-T) = ê(-S,T) = ê(S,T)-1.

3. ê(aS,bT) = ê(S,T)ab với mọi a, b ∈ ℤ 4. ê(S,T) = ê(T,S).

5. Nếu ê(S,R) = 1 thì đối với tất cả R∈G1 ta có S = ∞.

Một trong những kết quả từ một ánh xạ song tuyến là bài tốn logarit rời rạc trong nhóm G1 có thể được đơn giản hóa một cách hiệu quả thành bài tốn logarit rời rạc trong một nhóm GT. Bởi vì, nếu chúng ta tìm kiếm một lời giải của phương trình Q = xP nhóm G1, số x cần tìm cũng là nghiệm của phương

trình ê(P,Q) = ê(P,xP) = ê(P,P)x trong nhóm GT.

Độ an tồn của nhiều giao thức dựa trên các ánh xạ song tuyến dựa vào độ khó tính tốn của bài tốn sau

Định nghĩa 3.11 Nếu ê là ánh xạ song tuyến, thì bài tốn song tuyến

Diffie-Hellman ba bên được định nghĩa như sau: Với P, aP, bP và cP cho trước cần tính ê(P, P)abc.

Độ khó của việc tính tốn bài tốn song tuyến Diffie-Hellman dẫn đến độ khó của bài tốn Diffie-Hellman cả trong nhóm G1 và nhóm GT. Giả thiết

trên cơ sở aP và bP và ta có thể tính abP, dẫn đến việc tìm

abP cP,   P P, abc

ª ª . Nếu biết phương pháp giải bài tốn Diffie-Hellman hiệu quả trong nhóm GT, thì tính tốn g = ê(P,P), gab = ê(aP,bP), gc = ê(P,cP),

có thể xác định gabc =ê(P,P)abc.

Sự tồn tại của một ánh xạ song tuyến cho phép giải chính xác bài tốn Diffie-Hellman trong nhóm G1. Liên quan đến câu hỏi liệu bốn phần tử P, aP,

bP và cP có thỏa mãn đẳng thức abP = cP. Sử dụng ánh xạ song tuyến có thể

viết 1 ªP cP,  ª P P, c, và 2 ªaP bP,  ª P P, ab. Điều này có nghĩa đẳng thức abP = cP xảy ra khi và chỉ khi 1 2.

3.2.3 Đường cong Elliptic

Đường cong elliptic E trên trường K được xác định bởi phương trình

Weierstrass khơng suy biến:

2 3 2

1 3 2 4 6

:

E Ya XYa YXa Xa Xa (3.10)

trong đó, a a a a a a1, 2, 3, 4, 5, 6K. Tập E(K) là tập hợp các điểm K hữu tỷ

của đường cong và bao gồm một điểm ở vô cực ∞, và những điểm (x, y) ∈ K ×

K mà thỏa mãn phương trình đường cong E.

Nếu K là một trường hữu hạn 𝔽𝑞 với đặc trưng p, thì định lý Hasse cho một giới hạn về số lượng các điểm K hữu tỷ:

 2    2

1 1

q  E Kq  (3.11)

Do đó, chúng ta có thể giả định rằng E K    q 1 t,với t 2 q, Nếu

p | t, chúng ta nói rằng đường cong E là siêu kỳ dị.

Trong trường hợp khi p>3, phương trình Weierstrass có thể đơn giản hóa bằng cách sử dụng biến đổi tuyến tính các biến về dạng:

2 3 : , E YXaXb (3.12) Ví dụ, cho p=5, thì 2 ( ) 10 5 E F

  . Như vậy, số điểm của đường cong Elliptic trên trường hữu hạn F5 là trong khoảng từ 2 đến 10. Thực tế, tất các các đường cong Elliptic có thể có trên F5 và số điểm tương ứng được mô tả như trong Bảng 3.3.

Bảng 3.3. Số điểm của các đường cong Elliptic tương ứng trên trường F5

STT Đường cong Elliptic Số đi m

1 y2=x3+2x 2 2 y2=x3+4x+2 3 3 y2=x3+x 4 4 y2=x3+3x+2 5

Một phần của tài liệu Nghiên cứu một số giải pháp nâng cao hiệu năng của thuật toán mã hóa (Trang 69)