2.1.4.1. Trường K
Trƣớc hết chỳng ta xem xột sự ảnh hƣởng của trƣờng K đến cấu trỳc nhúm của
E(K) và cỏc hệ mật mó trờn E(K).
Một đƣờng cong elliptic trờn một trƣờng hữu hạn tạo thành nhúm Abel đƣợc sử dụng trong mật mó học. Một vớ dụ là việc chọn trƣờng F2rgiỳp thực hiện cỏc phộp tớnh nhanh và dễ dàng triển khai đƣợc trờn cỏc thiết bị cứng. Tuy nhiờn, cỏc đƣờng cong trờn trƣờng F2rcú thể bị tấn cụng bởi MOV, trong khi cỏc đƣờng cong trờn trƣờng Fp
(p là số nguyờn tố lớn) lại chống lại đƣợc kiểu tấn cụng này. Rừ ràng, cỏc đƣờng cong elliptic trờn trƣờng nguyờn tố Fp và trờn trƣờng Fqncú cỏc tớnh chất giỳp chỳng cú thể thực thi đƣợc trờn cỏc thiết bị mà vẫn đảm bảo an toàn.
Một chỳ ý nữa là việc tớnh số điểm trờn #E(K). Với #E(K) thớch hợp cú thể là điều kiện cho phộp thực hiện tấn cụng Pohlig – Hellman. Cú thể dựng thuật toỏn đơn định thời gian đa thức Schoof để tớnh #E trờn trƣờng hữu hạn Fq với đặc số khỏc 2 hoặc 3. Tốc độ của thuật toỏn Schoof phụ thuộc vào kớch thƣớc và đặc số của trƣờng K.
Vớ dụ với r nhỏ, tớnh #E(F2r) cú thể nhanh hơn một chỳt so với tớnh #E(Fp), trong đú p
lớn hơn đỏng kể so với 2r, nhƣng khi r tăng thỡ tớnh #E(F2r) mất nhiều thời gian hơn tớnh #E(Fp).
2.1.4.2. Dạng của đường cong elliptic
Trƣớc hết, chỳng ta cần xem cỏc dạng đƣờng cong elliptic. Trờn trƣờng Fq cú hai lớp đƣờng cong elliptic đƣợc dựng trong cỏc hệ mó húa là supersingular và non- supersingular. Xột Fq cú đặc số là 2 (g = 2m ). Khi đú:
1/. Tập tất cả cỏc cặp nghiệm (x, y) của phƣơng trỡnh y2 + ax = x3 + bx + c với a, b,
c Fq và a = 0 (mod q) cựng với điểm trung hũa O tạo thành một đƣờng cong elliptic dạng supersingular.
2/. Tập tất cả cỏc cặp nghiệm (x, y) của phƣơng trỡnh y2 + ax = x3 + bx + c với a, b,
c Fq và b = 0 (mod q) cựng với điểm trung hũa O tạo thành một đƣờng cong elliptic dạng non-supersingular.
Supersingular Curve: Menezes và Vanstone đó tỡm ra cỏc ƣu điểm của cỏc đƣờng cong elliptic supersingular cho cỏc hệ mật mó, đặc biệt trờn trƣờng F2r. Tuy nhiờn, cỏc đƣờng cong supersingular cú thể bị tấn cụng bằng MOV.
Nonsupersingular:
Ƣu điểm của cỏc đƣờng cong nonsupersingular là nú cung cấp độ bảo mật tƣơng đƣơng nhƣ cỏc đƣờng cong supersingular nhƣng với cỏc trƣờng nhỏ hơn. Độ dài khúa ngắn giỳp chỳng cú thể đƣợc triển khai trờn cỏc thiết bị nhƣ smart card. Hơn nữa, cỏc đƣờng cong nonsupersingular cú thể chống lại tấn cụng MOV, vớ dụ với nhúm con cyclic cỡ 2160.
2.1.4.3. Phương phỏp lựa chọn
Cú một số phƣơng phỏp để lựa chọn cỏc đƣờng cong elliptic. Phƣơng phỏp tự nhiờn nhất là chọn ngẫu nhiờn. Chọn ngẫu nhiờn một đƣờng cong elliptic E trờn trƣờng
K và một điểm cơ sở PE. K đƣợc chọn và cố định trƣớc. Phƣơng phỏp chọn ngẫu nhiờn Koblitz cho cỏc đƣờng cong elliptic trờn trƣờng Fq (với q lớn ) nhƣ sau:
Sơ đồ 2.1. Phương phỏp chọn ngẫu nhiờn Koblitz
Chọn ngẫu nhiờn 3 phần tử từ Fq là x, y, a
1. Tớnh b = y2 – (x3 + ax)
2. Kiểm tra 4a327b2 0để đảm bảo phƣơng trỡnh x3 + ax + b = 0
khụng cú nghiệm kộp
3. Nếu điều kiện trờn khụng thỏa món quay lại bƣớc 1
4. Cũn lại, đặt P = (x, y) và đƣờng cong y2 = x3 + ax + b là đƣờng cong cần chọn.
Tuy nhiờn phƣơng phỏp này cú thể tạo ra cỏc đƣờng cong khụng đảm bảo một số yờu cầu định trƣớc. Một kỹ thuật cải tiến là xõy dựng cỏc đƣờng cong với cỏc tớnh chất cho trƣớc. Cũng cú thể chọn những đƣờng cong để tạo cỏc hệ mó húa khụng phụ thuộc vào bài toỏn EDLP, chẳng hạn cỏc hệ elliptic dựa trờn RSA.
Cỏc hệ mật mó elliptic làm việc với cỏc nhúm con cylic của E với phần tử sinh là điểm P. Vỡ vậy, việc lựa chọn P phự hợp là rất quan trọng.
2.1.4.4. Bài toỏn LOGARIT rời rạc trờn đƣờng cong ELLIPTIC
Cho nhúm G, giả sử ,G. Bài toỏn logarith rời rạc (DLP) là tỡm x để
x
. Bài toỏn logarith rời rạc trờn đƣờng cong elliptic (EDLP) là tỡm x để
x với ,E.
Để EDLP trờn E(Fq) là khú giải thỡ cần lựa chọn E và q thớch hợp. Độ an toàn của hệ mật mó dựa trờn E phụ thuộc vào độ khú của EDLP. EDLP đƣợc coi là khú hơn DLP vỡ những thuật toỏn tốt nhất để giải DLP khụng hiệu quả khi ỏp dụng cho EDLP.
2.2 MỘT SỐ HỆ MẬT TRấN ĐƢỜNG CONG ELLIPTIC 2.2.1. Hệ mó hoỏ 2.2.1. Hệ mó hoỏ
2.2.1.1. Nhỳng bản rừ vào đường cong Elliptic
Nhỳng bản rừ lờn đƣờng cong Elliptic E là biểu diễn lại bản rừ đú nhƣ là cỏc điểm trờn E, nhờ đú cú thể thực hiện đƣợc cỏc tớnh toỏn với bản rừ trờn E. Cú một số phƣơng phỏp thực hiện việc này, hai phƣơng phỏp chớnh là “Nhỳng” (imbeding) và “Mặt nạ” (mask).
1/. Phƣơng phỏp “Nhỳng” Cỏch 1:
Để nhỳng m lờn E(Zp) với p là số nguyờn tố, chẳng hạn p 3 (mod 4). Giả sử E(Zp) đƣợc cho bởi phƣơng trỡnh y2=x3+ax+b và giả sử m là số nguyờn thỏa món 0m p/10001.
Thờm 3 chữ số vào m đƣợc x thỏa món 1000m x1000(m1) p
Chỳng ta sẽ bổ sung cỏc chữ số khỏc nhau cho đến khi tỡm đƣợc x sao cho:
f(x) = x3 + ax + b là một số chớnh phƣơng trong Zp và y (với f(x) = y2 mod p ) thỏa món y1modp.
Điểm Pm đƣợc tạo thành khi nhỳng m lờn E là:
)) ( , (x f x Pm
Cú thể dễ dàng khụi phục lại m từ PmE(Zp)bằng cỏch loại bỏ 3 chữ số cuối của tọa độ x của điểm Pm.
Cỏch 2:
Bước 1: Sử dụng bảng chữ cỏi gồm N ký tự. Chia bản rừ thành cỏc khối cú độ dài cố định l. Cỏc ký tự đƣợc đỏnh số là 0,…, N-1. Một khối văn bản w cựng với cỏc số
l w N x 0 tạo thành một ỏnh xạ: 1 2 2 1 1 0 1 1 0 ... ) ( l l l l w l x a N a N a N a a a a w , t w N x 0
Bước 2: Chọn một giỏ trị k thớch hợp sao cho kNl < q. Với mỗi j là phần tử của Fq tớnh kxw + j. Lấy điểm Pw đầu tiờn mà tọa độ x kxw , j0 , vớ dụ
Pw = (kxw + j, *) E(Fq)
2/. Phƣơng phỏp “Mặt nạ”
Để biểu diễn lại bản rừ dạng (m1, m2) thành cỏc điểm Pm trờn E cú thể ỏp dụng phƣơng phỏp “mặt nạ” bằng cỏch nhõn m1 và m2 với cỏc tọa độ x, y của cỏc điểm trờn
E. Giả sử cú điểm G E cú tọa độ (xG, yG) thỡ Pm = (m1xG, m2yG).
2.2.1.2. Hệ mó húa “tựa” Ellgamal
Hệ Elgamal làm việc với nhúm cyclic hữu hạn. Năm 1987, Koblitz đó đƣa ra một hệ trờn ECC dựa trờn hệ Elgamal.
Ta cú trƣờng số Zp và đƣờng cong elliptic E trờn Zp là E(Zp) cựng điểm cơ sở GE. Mỗi ngƣời dựng sẽ chọn một số aX làm khúa bớ mật, và aXG là khúa cụng khai.
Giả sử Alice cần gửi một thụng điệp m cho Bob. Đầu tiờn cụ ấy nhỳng văn bản
m lờn E, chẳng hạn m đƣợc thể hiện bằng một điểm PmE. Khi đú cụ ta phải mó húa
Pm. Ký hiệu aB là khúa bớ mật của Bob, vỡ vậy khúa cụng khai của Bob là aBG. Alice chọn một số ngẫu nhiờn k và gửi cho Bob cặp điểm trờn E:
(C1, C2) = (kG, Pm + k(aBG))
Để giải mó, Bob tớnh: C2 – aB(C1) = Pm + k(aBG) – aB(kG) = Pm
Tớnh bảo mật
Nếu kẻ tấn cụng giữa đƣờng, Oscar, cú thể giải bài toỏn EDLP thỡ anh ta cú thể biết đƣợc khúa bớ mật aB của Bob từ cỏc thụng tin cụng khai G và aBG, và cú thể giải mó đƣợc thụng điệp mà Alice gửi. Nhƣ vậy, độ an toàn của thuật toỏn trờn dựa vào độ khú của bài toỏn EDLP.
2.2.1.3. Hệ mó tương tự mó mũ (Dạng tương tự của Massey –Omura) * Thuật toỏn:
Trong hệ mó này cỏc cỏ thể này chọn chung cho mỡnh một đƣờng cong Elliptic E trờn trƣờng hữu hạn Fq với N điểm. Cỏc tham số này đƣợc thụng bỏo cụng khai.
Để xõy dựng hệ mó, cỏc cỏ thể chọn cho mỡnh chỡa khúa eb, là số nguyờn dƣơng nằm giữa 1 và N, sao cho UCLN(eb,N)=1. Bằng thuật toỏn Euclide, B tỡm đƣợc db thỏa dbeb 1 (mod N). Bõy giờ B cần gởi thụng bỏo m cho A. Bnhỳng văn bản m thành điểm Pm tƣơng ứng trờn đƣờng cong E.
Tƣơng tự nhƣ vậy, A cũng tỡm ea và da thỏa mó điều kiện nhƣ trờn.
1- B gởi thụng bỏo ebPm cho A. Dĩ nhiờn khi nhận đƣợc thụng bỏo này, Bchƣa thể giải mó vỡ chƣa biết eb, db
2- A nhõn thụng bỏo nhõn thụng bỏo nhận đƣợc với ea, rồi gửi lại cho B thụng bỏo (ea(ebPm))
3- B nhõn thụng bỏo vừa nhận đƣợc với db, và gửi lại cho A thụng bỏo db(ea(ebPm)) 4- A nhận đƣợc thụng bỏo này và nhõn nú với da để đƣợc P= da(db(ea(ebPm)))
Do cỏch chọn ea, da, eb, db ta cú da.ea.db.eb 1 (mod N) nờn A sẽ nhận đƣợc giỏ trị Pm. Nhƣ vậy A nhận đƣợc thụng bỏo ban đầu.
Vớ dụ:
Giả sử B cần gửi thụng bỏo m cho A
A và B chọn chung đƣờng cong E: y2=x3+5x+12 trờn trƣờng Z19 và N=19. 1/. B chọn eb=4; db=5 (vỡ dbeb 1 (mod 19))
2/. A chọn ea=3; da=13 (vỡ daea 1 (mod 19))
3/. B sẽ chuyển thụng bỏo m thành điểm Pmtrờn đƣờng cong. Giả sử Pm=(2,7) 4/. B tớnh ebPm =4P=(10,6) rồi gửi (10,6) cho A
5/. A nhận thụng bỏo (10,6) và tớnh (ea(ebPm))=3(4P)=(9,8), rồi gửi lại cho B 6/. B nhận thụng bỏo (9,8) và tớnh db(ea(ebPm))=5(9,8)=(4,-1), rồi gửi lại cho A 7/. Nhận đƣợc thụng bỏo cuối cựng này, A nhõn nú với da để đƣợc:
P=da(db(ea(ebPm)))= 780Pm= (2,7)=Pm
Nhận xột:
Mụ hỡnh này thực hiện tƣơng đối đơn giản và điểm Pm đƣợc biết trƣớc nờn việc quản lý thụng tin khỏ chặt chẽ. Nhỡn chung mụ hỡnh này khỏ lý tƣởng vỡ thuật toỏn thực hiện nhanh chúng mà độ an toàn cũng khỏ cao.
Mụ hỡnh cú một số hạn chế:
- Việc tớnh số N là bắt buộc với thuật toỏn này, tuy nhiờn cho đến nay chƣa cú phƣơng phỏp nào tốt nhất để tớnh N và vỡ thế nếu số N chƣa đỳng thỡ B sẽ tỡm sai điểm Pm. Vỡ hai ngƣời trong cuộc cú thể nghi ngờ lẫn nhau và việc trao đổi thụng tin cú thể bị cắt đứt.
- Để đảm bảo tớnh N chớnh xỏc thỡ P phải nhỏ và nhƣ thế dễ bị tấn cụng. Ngƣợc lại, để hạn chế bị tấn cụng thỡ phải chọn cỏc giỏ trị P, ea,eb, da, db càng lớn và khi chọn P lớn thỡ tớnh N khụng chớnh xỏc.
- Khụng may, khi B chọn eb và db: ebdb 1 (mod N) A chọn ea và da: eada 1 (mod N)
Tuy nhiờn nếu cú trƣờng hợp do cỏch lựa chọn của hai ngƣời mà eaeb1(mod N) thỡ rừ ràng ở bƣớc 2 A đó tớnh đƣợc Pm nhƣng khụng biết mà cụng khai điểm eaebPm để gửi lại B.
Do đú những ngƣời trong hệ thống cần phải cẩn thận trong việc chọn đƣờng cong và trƣờng Zp để N là một số nguyờn tố hoặc là tớch cỏc số nguyờn tố lớn và phộp nhỳng văn bản gốc phải phức tạp hơn để chống lại sự tấn cụng của ngƣời thứ ba.
2.2.1.4. Hệ mó húa trờn đường cong Elliptic của Menezes – Vanstore
1/. Mó húa
Giả sử E là một đƣờng cong Elliptic trờn Zp (p là số nguyờn tố > 3) sao cho E chứa một nhúm con cyclic H, trong đú bài toỏn DL là bài toỏn khú.
Giả sử P = Zp* Zp* , C= E Zp* Zp* ,ta định nghĩa: K = { (E,,a,) : = a }
trong đú E. Cỏc giỏ trị và đƣợc cụng khai, cũn a đƣợc giữ kớn. Đối với K = (E,,a,), với số ngẫu nhiờn bớ mật k Z| H |
và x = (x1,x2) Zp* Zp*, ta xỏc định: eK (x,k) = (y0,y1,y2) y0 = k (c1,c2) = k y1 = c1x1 mod p và y2 = c2x2 mod p Ta đƣợc bản mó y = (y0,y1,y2) 2/. Giải mó Với bản mó y = (y0,y1,y2), ta định nghĩa
dK (y) = (y1c1-1 mod p, y2c2-1 mod p) trong đú a y0 = (c1,c2)
Vớ dụ
Cũng nhƣ vớ dụ trƣớc, giả sử = (2,7) và số mũ mật của Bob là 7. Khi đú
= 7 = (7,2) Giả sử Alice muốn mó hoỏ bản rừ sau:
x = (x1,x2) = (9,1)
(Cần chỳ ý là x khụng phải là một điểm trờn E) và cụ chọn giỏ trị ngẫu nhiờn k = 6. Đầu tiờn cụ tớnh:
y0 = k = 6(2,7) = (7,9)
và k = 6(7,2) = (8,3)
Tiếp theo Alice tớnh:
y1 = c1x1 mod p = 89 mod 11 = 6 và y2 = c2x2 mod p = 31 mod 11 = 3 Bản mó mà cụ giửi cho Bob là:
y = (y0,y1,y2) = ((7,9), 6, 3) Khi Bob nhận đƣợc bản mó này, Trƣớc tiờn anh ta tớnh:
(c1,c2) = (a y0) = 7(7,9) = (8,3) và sau đú tớnh: x = (y1c1-1 mod p, y2c2-1 mod p) = ((68-1 mod 11, 33-1 mod 11) = (67 mod 11, 34 mod 11) = (9,1)
2.2.1.5. Kết hợp ECES với thuật toỏn Rijndael và cỏc thuật toỏn mở rộng
Trong ECES, thụng thƣờng hàm mó húa Φ thực hiện thao tỏc XOR khúa với thụng điệp. Trờn thực tế, để tăng độ an toàn của thuật toỏn mó húa, cỏc hệ thống mó húa bằng đƣờng cong ellipse thay thế thao tỏc XOR thụng điệp với khúa bằng cỏch kết hợp với một thuật toỏn mó húa đối xứng hiệu quả hơn. Trong [27] trỡnh bày phƣơng phỏp ECAES chớnh là sự kết hợp ECES với AES. Chỳng ta cũng cú thể sử dụng cỏc thuật toỏn mở rộng 256/384/512-bit và 512/768/1024-bit trong quỏ trỡnh mó húa của ECES để tạo ra một hệ thống mó cú độ an toàn rất cao.
2.2.1.6. Một số chuẩn sử dụng hệ mật ECC
Việc đƣa ra một chuẩn chung cho cỏc hệ thống mật mó, cỏc giao thức, cỏc giao diện là một việc quan trọng. Việc chuẩn húa mang lại 3 lợi ớch chớnh:
1.Cho phộp kết hợp phần cứng và phần mềm của nhiều nhà cung cấp khỏc nhau. 2.Đƣa ra chuẩn cho việc đảm bảo an toàn cỏc hệ thống dƣới khớa cạnh mật mó học 3.Cho phộp cú thiết kế chuẩn cho cỏc mụi trƣờng ứng dụng khỏc nhau.
Cỏc đƣờng cong elliptic đó đƣợc xem xột và nghiờn cứu kỹ lƣỡng bởi cỏc nhà toỏn học trong hơn 10 năm và đó đƣợc khảo sỏt kỹ bởi cỏc tổ chức chuẩn húa từ năm 1995. Điều này đảm bảo rằng tớnh tin cậy của nú đó đƣợc kiểm chứng.
Nỗ lực để cú thể chuẩn húa cỏc hệ mật mó khúa cụng khai đƣợc bắt đầu từ nhiều năm trƣớc bởi Viện nghiờn cứu điện và điện tử IEEE (Institute of the Electrical and Electronics Engineers) với phiờn bản P1363. Nú đƣa ra định dạng và thủ tục cho 3 hệ thống mó húa khúa cụng khai khỏc nhau bao gồm xỏc thực, toàn vẹn và tin cậy. ISO/IEC SC27 cũng bắt đầu xem xột cỏc chuẩn cho ECC. Trong ANSI X9.25 cú sơ đồ chữ ký ECC là ECDSA (Elliptic Curve Digital Signature Algorithm) và trong ANSI X9.63 cú cỏc chuẩn về thỏa thuận và truyền khúa. ECC cũng đó đƣợc hỗ trợ trong cỏc chuẩn mới của Internet về bảo mật cho tầng IP (IPSEC, ISAKMP, Oakley). Trong cỏc chuẩn liờn quan đến cụng nghiệp cú SET (Secure Electronic Transaction).
ANSI X9. ECC đó đƣợc thử nghiệm trong 2 lĩnh vực bởi ANSI ASC X9 (dịch vụ tài chớnh). ANSI X9.62, chữ ký số ECDSA, ANSI X9.63, giao thức thỏa thuận khúa ECC ECKA (Elliptic Curve Key Agreement) và cỏc giao thức giao vận ECTP (Transport Protocols). ANSI TG-17 (Technical Guideline on Mathematical Background for Elliptic Curve Cryptosystems ) chứa cỏc thụng tin mở rộng về mặt toỏn học cho ECC, bao gồm cỏc thuật toỏn đếm số cỏc điểm trờn đƣờng cong Elliptic.
ATM Forum. Cung cấp cỏc cơ chế bảo mật cho cỏc mạng ATM (chế độ truyền thụng khụng đồng bộ Asynchronous Transfer Mode). Cỏc dịch vụ bảo mật bao gồm tớnh tin cậy, tớnh xỏc thực, toàn vẹn dữ liệu, điều khiển truy cập. ECC là một trong cỏc hệ thống đƣợc hỗ trợ.
Certicom. Certicom đó xuất bản cỏc tài liệu về ECC. ECC trong X.509 mụ tả cơ chế sử dụng cỏc khúa ECC trong X.509 framework. Vớ dụ nú định nghĩa cỏc định dạng chứng chỉ và định dạng danh sỏch thu hồi chứng chỉ. Cỏc chuẩn cho mó húa ECC (SEC 1 Standards for Efficient Cryptography): ECC, cỏc sơ đồ mó húa khúa cụng khai trờn ECC. Đặc biệt là cỏc sơ đồ chữ ký điện tử, cỏc sơ đồ mó húa và cỏc sơ đồ thỏa thuận khúa. SEC.2 bao gồm cỏc tham số đƣợc khuyến nghị cho mó húa ECC, danh sỏch cỏc tham số ECC đƣợc yờu cầu tƣơng ứng với cỏc cấp độ bảo mật khỏc nhau.
FSTC. FSTC (Financial Services Technology Consortium) liờn quan đến cỏc hệ thống thanh toỏn điện tử và cỏc dịch vụ tài chớnh khỏc. Cỏc thanh toỏn điện tử cú thể sử dụng rất nhiều thiết bị khỏc nhau nhƣ mỏy tớnh cỏ nhõn, điện thoại màn hỡnh,