Bài toán này khó tính toá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-Hell[r]
(1)VỀ MỘT PHƯƠNG PHÁP TRAO ĐỔI KHÓA MÃ AN TOÀN Nguyễn Nam Hải1*, Nguyễn Thị Thu Nga2
Tóm tắt: Sự phát triển nhanh chóng mật mã năm gần thúc đẩy các kỹ thuật bảo mật liệu xác thực người dùng, bảo mật thông tin đường truyền… Bài viết trình bày phương pháp trao đổi khóa mã an toàn ứng dụng hệ mật sử dụng chế cộng điểm đường cong elliptic Từ khóa: Đường cong elliptic, Bảo mật thơng tin, Bảo mật liệu, Diffie-Hellman, Song tuyến
1 GIỚI THIỆU
Bài toán logarit rời rạc (DLP) quan tâm nghiên cứu kể từ xuất mật mã khóa cơng khai năm 1975 Vấn đề đặt với nhóm cyclic G = <P> bậc n,tìm kiếm số x ∈ [0, n - 1], thỏa mãn phương trình:
Q = xP
Bài tốn khó tính tốn nhóm thường nhóm nhân trường hữu hạn nhóm điểm đường cong elliptic trường hữu hạn
Bài toán Diffie-Hellman liên quan đến toán logarit rời rạc Đó tìm kiếm đại lượng abP sở P, aP, bP Có thể nhóm nào, tốn logarit rời rạc rút gọn tốn Diffie-Hellman Bài toán ngược chứng minh số trường hợp định
Độ khó tốn Diffie-Helman sở cho độ an tồn giao thức thỏa thuận khóa Giả sử có nhóm cho G = <P> bậc n, trình thỏa thuận khóa sau:
1 Bên A chọn ngẫu nhiên số a ∈ [0, n - 1] tính aP, gửi cho Bên B Bên B chọn ngẫu nhiên số b ∈ [0, n - 1] tính bP, gửi cho Bên A
Bên A Bên B
Đã có a, bP b, aP
Cần tính K = a(bP) = abP K = b(aP) = abP
Giá trị khóa thỏa thuận K = abP = a(bP) = b(aP) Giao thức gọi vịng, bên nhận liệu từ đối tác lần
Thỏa thuận khóa chung ba bên phức tạp địi hỏi giao thức thỏa thuận khóa hai vịng Dưới bước thực hiện:
1 Vòng
(a) Bên A chọn ngẫu nhiên số a ∈ [0, n - 1] tính aP, gửi cho Bên B (b) Bên B chọn ngẫu nhiên số b ∈ [0, n - 1] tính bP, gửi cho Bên C (c) Bên C chọn ngẫu nhiên số c ∈ [0, n - 1] 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 cP tính acP, sau gửi cho Bên B (b) Bên B dựa vào giá trị b aP tính baP, sau gửi cho Bên C (c) Bên C dựa vào giá trị c bP tính bcP, sau gửi cho Bên A
Bên A Bên B Bên C
(2)Vòng a, cP, bcP b, aP, acP c, bP, abP Cần tính K = a(bcP) K = b(acP) K = c(abP) Giá trị khóa thỏa thuận K = abcP
Ở đây, nảy sinh câu hỏi tự nhiên là: có tồn giao thức vòng phù hợp với ba bên? Câu hỏi mở Joux đề xuất giải pháp sử dụng biến đổi song tuyến [3] Sau đó, xuất đề xuất thú vị dựa ánh xạ song tuyến mà cụ thể kết hợp cặp điểm đường cong elliptic Những đề xuất tiếng sơ đồ mã hóa dựa định danh (Boneh Franklin) [4] sơ đồ chữ ký số ngắn (Boneh, Lynn Shacham) [5]
2 MỘT SỐ KHÁI NIỆM VÀ KIẾN THỨC CƠ BẢN LIÊN QUAN 2.1 Ánh xạ song tuyến
Giả sử n số nguyên tố Cho G1 = <P> nhóm cyclic bậc n có tính
chất cộng phần tử trung hòa ∞, GT là một nhóm cyclic bậc n có tính
chất nhân phần tử đơn vị Khi đó, biến đổi song tuyến định nghĩa sau:
Định nghĩa 1: Biến đổi song tuyến (G1, GT) gọi biến đổi ê: G1 × G1 → GT,
thỏa mãn điều kiện sau đây:
1 (Song tuyến tính - bilinear) Cho R, S, T ∈ G1, ta có: ê(R + S, T) = ê(R, T) ê(S, T) ê(R,S + T) = ê(R, S) ê(R, T) (Không suy biến Non-degeneracy) ê(P,P) ≠ 1
3 (Khả tính tốn) Giá trị ê(P,R) xác định cách hiệu Có thể chứng minh ánh xạ song tuyến có tính chất sau:
1 ê(S, ∞) = 1, ê(∞, S) = 1 ê(S,-T) = ê(-S,T) = ê(S,T)-1
3 ê(aS,bT) = ê(S,T)ab với a, b ∈ℤ
4 ê (S,T) = ê (T,S)
5 Nếu ê(S,R) = 1 tất R ∈ G1 S = ∞.
Một kết từ ánh xạ song tuyến tốn logarit rời rạc nhóm G1 đơn giản hóa cách hiệu thành tốn logarit
rời rạc nhóm GT Bởi tìm kiếm lời giải phương
trình Q = xP nhóm G1, số x cần tìm nghiệm phương trình ê(P,Q) = ê
(P,xP) = ê(P,P)x nhóm GT.
Độ an toàn nhiều giao thức dựa ánh xạ song tuyến dựa vào độ khó tính toán toán sau
Định nghĩa 2: Nếu ê ánh xạ song tuyến, tốn song tuyến Diffie-Hellman ba bên định nghĩa sau: Với P, aP, bP cP cho trước cần tính ê(P, P)abc
Độ khó việc tính tốn tốn song tuyến Diffie-Hellman dẫn đến độ khó tốn Diffie-Hellman nhóm G1 nhóm GT Giả thiết có
thể giải tốn Diffie-Hellman cách hiệu nhóm G1, sở aP
(3)phương pháp giải toán Diffie-Hellman hiệu nhóm GT, tính tốn g = ê(P,P), gab = ê(aP,bP),gc = ê(P,cP), xác định gabc =ê(P,P)abc
Sự tồn ánh xạ song tuyến cho phép giải xác tốn Diffie-Hellman nhóm G1 Liên quan đến câu hỏi liệu bốn phần tử P, aP, bP cP
có thỏa mãn đẳng thức abP = cP Sử dụng ánh xạ song tuyến viết 1= ê(P,cP) = ê (P,P)c, γ2= ê(aP,bP) = ê (P,P)ab Điều có nghĩa đẳng thức abP = cP xảy γ1=γ2
2.2 Đường cong Elliptic
Đường cong elliptic E trường K xác định phương trình Weierstrass khơng suy biến:
E: Y2 + a1XY + a3Y = X3 + a2X2+ a4X + a6,
trong đó, a1, a2, a3, a4, a6 ∈ K Tập E(K) tập hợp điểm K hữu tỷ đường
cong bao gồm điểm vô cực ∞, điểm (x, y) ∈ K × K mà thỏa mãn phương trình đường cong
Hình 1. Đường cong elliptic mặt phẳng thực
Nếu K trường hữu hạn với đặc trưng p, định lý Hasse cho giới hạn số lượng điểm K hữu tỷ:
q12 E K q12
Do đó, giả định |E (K)| = q + 1-t, với | t | ≤ 2 q Nếu p | t, nói đường cong E siêu kỳ dị
Trong trường hợp p> 3, phương trình Weierstrass đơn giản hóa cách sử dụng biến đổi tuyến tính biến dạng:
E : Y2 = X3 + aX + b,
Ví dụ, cho p=5, 2 E F( 5) 10, vậy, số điểm đường cong Elliptic trường hữu hạn F5là khoảng từ đến 10 Thực tế, tất các đường
(4)Bảng Số điểm đường cong Elliptic tương ứng trường F5 STT Đường cong Elliptic Số điểm
1 y2=x3+2x
2 y2=x3+4x+2
3 y2=x3+x
4 y2=x3+3x+2
5 y2=x3+1
6 y2=x3+2x+1
7 y2=x3+4x
8 y2=x3+x+1
9 y2=x3+3x 10
Phương pháp cát tuyến tiếp tuyến cho thấy cách thực phép toán điểm đường cong elliptic Phép toán điểm đường cong trường số thực minh họa hình Cụ thể:
i) Với điểm P, Q bất kỳ, kẻ đường thẳng qua P Q cắt đường cong Elliptic điểm thứ điểm S Phép cộng P Q
RPQ S Trong trường hợp P và Q đối xứng qua trục hồnh, hay nói cách khác Q = -P đường thẳng nối P và Q cắt đường cong điểm thứ vô cực, hay P+ -(P)=
ii) Để tính P+P, ta vẽ đường thẳng tiếp tuyến với đường cong Elliptic điểm P, đường thẳng cắt đường cong Elliptic điểm S, lúc RPQ S
Hình 2. Phép tốn điểm đường cong elliptic Giả sử điểm P ∈ E( ) thỏa mãn điều kiện sau đây:
1 Là điểm bậc n,
2 Bậc P số nguyên tố,
3 Hai số n q số nguyên tố
Khi đó, tốn logarit rời rạc nhóm <P> định nghĩa sau: Cho trước điểm P điểm Q ∈<P> cần phải tìm số nguyên l, thỏa mãn phương trình lP = Q
(5)phương pháp khác việc giải toán logarit rời rạc, mà áp dụng cho loại đường cong cụ thể Đặc biệt, sử dụng phép nhân Weil Tate để chuyển tốn từ nhóm điểm đường cong sang nhóm nhân trường hữu hạn qk [6] Số k gọi mức độ nhúng đường cong định nghĩa sau
Định nghĩa 3: Giả sử E đường cong elliptic xác định trường q, P ∈ E ( ) điểm có bậc số nguyên tố n Nếu USCLN (n, q) = 1, mức độ nhúng <P> số nguyên k nhỏ cho n |qk -
Nếu độ nhúng thấp, sử dụng phép nhân Weil, sử dụng thuật tốn tiểu hàm mũ cho việc tìm kiếm logarit rời rạc (phương pháp số), tính nhanh qk so với thuật tốn Pollard <P> Vì lý
này, mật mã toán logarit rời rạc đường cong elliptic sử dụng đường cong có độ nhúng lớn
Với đường cong elliptic với độ nhúng thấp cho phép thực hiệu phép nhân Weil Tate, điều dẫn đến ánh xạ song tuyến
2.3 Phép nhân Tate thuật toán Miller
Cho E đường cong elliptic với hệ số thuộc trường K = q mơ tả
phương trình Weierstrass r(X,Y) = 0 Hơn nữa, choKlà bao đóng đại số trường K
Một ước số E gọi tổng điểm đường cong ( )
P P E
D n P
có nhiều số lượng hữu hạn hệ số np khác không
Tập hợp điểm P∈ E với hệ số np khác không gọi giá D Ước
gọi không thỏa mãn điều kiện P( )
P E n P
Chúng ta nói ước xác định trường K p
P
D n P D với tự đồng cấu σ trườngK đồng K Chúng ta chấp nhận Pσ=(σ(x)σ(y)) P = (x, y) vàσ= Tập hợp tất ước xác định trường K được ký hiệu DivK(E)
K(E) ký hiệu trường phân số K[X,Y]/r(X,Y) Ước hàm f ∈ K(E) tổng hình thức ( ) P( )
P E
div f m P
, đó, mp số lần mà P tham gia vào
phân bố f như hệ số (giá trị âm áp dụng trường hợp cực) Các ước hàm số thuộc K(E) gọi ước Định lý sau cho phép xác xác định chúng
Định lý 1: Ước P( )
P E
D n P
ước khi:
0
P P E
n
P( )
P E
n P
Chúng ta nói hai ướcD D1, 2DivK( )E tương đương D1 ~ D2
tồn hàm hữu tỷ f ∈ K(E) D1=D2+div(f) Nếu f ∈ K(E)
vàDn PP( )DivK( )E có giá phân biệt, định nghĩa f(D) ( ) ( )nP
P E
f D f P
(6)2.3.1 Phép nhân Tate
Giả sử |E(Fq)| = hn, n là số nguyên tố mà UCLN (n, q) = 1 Cho k
là số nguyên nhỏ n | qk -1 Tập hợp tất điểm P ∈ E(K) thỏa mãn biểu thức nP = ∞ (các điểm bậc n) ký hiệu E [n] (có thể E [n]≃ n n) Ngoài ra, μn ký hiệu nhóm bậc n nhómFqk
Trước định nghĩa phép nhân Tate, bổ sung thêm vài giả định để đơn giản hóa cách mơ tả Cho n ∤ q - 1 (nghĩa là, k>1) Bởi k
q
E n E
E n n ,
| qk
n E
/
k q
n E n
Định nghĩa 4: Cho P,Q ∈E[n], cho fp hàm thỏa mãn điều kiện div(Fp) = n(P) - n(∞) (f có n lần zero P n lần cực ∞) Giả sử thêm R ∈ E [n] điểm đáp ứng điều kiệnR , ,P Q P Q, DQ ước định nghĩa
như sau DQ = (Q + R) - (R) Khi phép nhân Tatea hiểu phép ánh xạ
: n
e E n E n định nghĩa sau:
/ ( 1)/ , ( ) ( ) k k q n P q n P Q P
f Q R
e P Q f D
f R
Có thể ánh xạ lựa chọn không phụ thuộc vào lựa chọn hàm fpvà điểm R Ngồi ra, ánh xạ cịn ánh xạ song tuyến
không suy biến
2.3.2 Thuật toán Miller
Trong phần này, mơ tả thuật tốn Miller [9], cho phép tính tốn cách hiệu phép nhân Tate Điều quan trọng thuật tốn cách thức tính hàm fp với ước n(P) - n(∞)
Đối với i ≥ 1, cho f là hàm mà ước div(fi) = i(P) - (iP) - (i - 1)(∞)
Với định nghĩa vậy, có f1 = 1 fn = fP Bổ đề sau cách
thức tính fn cách hiệu
Bổ đề 1: Nếu P ∈ E[n], l đường thẳng nối điểm iP, jP, v đường thẳng đứng qua điểm iP + jP fi j f fi j l
Chứng minh: Bởi đường thẳng l v thể phép tính nhóm điểm đường cong E, đó, viết
( ( ) ( ) ( 1)( )) ( ( ) ( ) ( 1)( ))
(( ) ( ) ( ( )( )) 3( )) ((( )( )) ( ( )( )) 2( ))
( )( ) ( )( ) ( 1)( )
( )
i j i j
i j l
div f f div f div f div l div
i P iP i j P jP j
iP jP i j P i j P i j P
(7)Cho n = (nt, , n1, n0)2 biểu diễn nhị phân n Hàm fp tính
tốn hiệu phép cộng nhân hai dịch chuyển bit liên tiếp số n từ trái sang phải
Khi xác định phép nhân Tate cần tìm giá trị hàm fp điểm Q+R R
Do đó, thuật tốn Miller xác định lần lặp giá trị fi điểm
1 Cho n = (nt, , n1, n0)2 biểu diễn nhị phân n
2 Chọn điểm R ∈ E [n] \ {∞, P, -Q, P - Q} Giả định f ← 1, T ← P.
4 Đối với i từ t đến 0 thực hiện:
(a) Xác định đường thẳng l tiếp tuyến với đường cong điểm T (b) Kẻ đường thẳng đứng dọc qua điểm 2T
(c) T ← 2T
(d) ( ) ( )
( ) ( )
l Q R R f f
Q R l R
(e) Nếu ni =
i Thiết lập đường thẳng l đi qua điểm P Q ii Thiết lập đường thẳng đứng v qua điểm T + P iii T ← T + P
iv ( ) ( )
( ) ( )
l Q R R f f
Q R l R
Tính f(qk1)/n
Ví dụ: Giả sử chọn đường cong E: y2 x31 F101 Khi đó,
101 101 17
E F Vớin=17 ta cók = Ta viếtF1012 F101( ), đó,
2
Cho P(87, 61) (bậc bằngn = 17) vàQ = (48, ) (bậc Q 102) ĐặtD 2 Q( ).Q Ta tính giá trị sau:
i fi(D) i fi(D)
1 46+18
2 52+56 16 22+43
4 53+3 17 74+62
Như vậy, <P,Q>17= 74 + 62 Tính qk1 / n(10121) / 17600 Vậy
giá trị f cuối tính 93+2517
Đáng tiếc phép nhân Tate không thỏa mãn giả thiết mà yêu cầu ánh xạ song tuyến - nhóm E [n] khơng phải nhóm cyclic Để giải vấn đề này, tìm tự đồng cấu: :EEmà ( )P P Khi đó, ánh xạêQ P, e Q( ,( ))Q thỏa mãn điều kiện đặt cho ánh xạ song tuyến