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, mỏy ATM, hoặc cỏc hệ thống kiểm toỏn. ECC đƣợc sử dụng để mó húa Email truyền gửi cỏc sec điện tử.
IEEE P1363. ECC đó đƣợc đƣa ra trong chuẩn phỏc thảo IEEE P 1363 (Đặc tả cỏc chuẩn cho mật mó khúa cụng khai), bao gồm mó húa, chữ ký số, cỏc cơ chế thỏa thuận khúa. Cỏc đƣờng cong Elliptic cú thể đƣợc định nghĩa theo modulo p
IETF. (Internet Engineering Task Force). mụ tả giao thức thỏa thuận khúa là biến thể của giao thức thỏa thuận khúa Diffie-Hellman. Nú cho phộp sử dụng cỏc nhúm khỏc nhau, bao gồm cả nhúm đƣờng cong Elliptic. Cỏc nhúm trờn đƣờng cong Elliptic đƣợc khuyến nghị dựng là cỏc trƣờng F21 5 5và F22 1 0.
ISO/IEC. Bản phỏc thảo ISO/IEC 14888, trong phụ lục 3, cỏc cơ chế dựa trờn chứng chỉ, cỏc thuật toỏn ký tƣơng tự nhƣ DSA.
NIST. (Viện nghiờn cứu chuẩn quốc tế - National Institue of Standards). NIST cũng cú cỏc đặc tả cho ECC trong MISPC.
OTP 0.9. Open Trading Protocol là một framework cỏc giao thức thanh toỏn. OTP cung cấp bản sao điện tử cú hỗ trợ bảo mật cho cỏc văn bản trờn giấy cho thƣơng mại, mua, bỏn. ECDSA đƣợc hỗ trợ cỏc sơ đồ chữ ký điện tử trong OTP.
SET. Chuẩn SET (Secure Electronic Transactions) đƣợc phỏt triển cho cỏc giao dịch thẻ tớn dụng trờn Internet. ECC đƣợc xem xột nhƣ một chuẩn SET mới cho thƣơng mại điện tử trờn Internet. Những lợi ớch mà ECC mang lại cho cỏc ứng dụng quan trọng đang đƣợc đỏnh giỏ kỹ lƣỡng.
WAP. Wireless Application Protocol, cung cấp cơ chế truy cập Internet an toàn cho cỏc thiết bị khụng dõy nhƣ điện thoại, thiết bị khụng dõy đầu cuối. Cỏc đặc tả giới thiệu trong kiến trỳc mạng cho phộp cỏc ứng dụng sử dụng cỏc lựa chọn giao thức truyền khỏc nhau và giữa cỏc thiết bị khỏc nhau. ECC cũng đƣợc hỗ trợ trong tầng bảo mật WAP WTLS (Wireless Transport Layer Security).
2.2.1.7. So sỏnh RSA và ECC
Một ƣu điểm của ECC là khả năng bảo mật cao với kớch thƣớc khúa nhỏ dựa vào mức độ khú giải quyết của vấn đề ECDLP. Đõy chớnh là một tớnh chất rất hữu ớch đối với xu hƣớng ngày nay là tỡm ra phƣơng phỏp tăng độ bảo mật của mó húa khúa cụng cộng với kớch thƣớc khúa đƣợc rỳt gọn. Kớch thƣớc khúa nhỏ hơn giỳp thu gọn đƣợc kớch thƣớc của chứng nhận giao dịch trờn mạng và giảm kớch thƣớc tham số của hệ thống mó húa. Kớch thƣớc khúa nhỏ giỳp cỏc hệ thống bảo mật dựa trờn ECC giảm thời gian tạo khúa. Thời gian tạo khúa thƣờng rất lớn ở cỏc hệ thống RSA.
Sự khỏc nhau của RSA và ECC đó đƣợc so sỏnh bởi Robshaw và Yin. Trong bài bỏo của mỡnh, họ đó chỉ ra rằng thời gian mó húa của ECC nhanh gấp 8 lần so với RSA, cũn giải mó và ký nhanh gấp 6 đến 7 lần. Certicom Corporation đó chứng minh rằng, nếu cú cỏc lựa chọn đƣờng cong elliptic phự hợp thỡ tốc độ thực hiện của cỏc hệ mật trờn ECC nhanh gấp 10 lần so với RSA. Certicom đƣa ra kết luận này khi thực thi cỏc thuật toỏn trờn đƣờng cong elliptic trờn trƣờng hữu hạn nhị phõn. Cỏc so sỏnh tập trung vào 3 đặc điểm:
Độ an toàn (Security). Hệ mật đú đó đƣợc sử dụng sử dụng rộng rói bao lõu và tớnh an toàn của nú đó đƣợc nghiờn cứu thế nào?
Tớnh hiệu quả (Efficiency). Độ phức tạp tớnh toỏn khi thực hiện.
Khụng gian lƣu trữ (Space requirements). Khụng gian cần thiết để lƣu trữ khúa cũng nhƣ cỏc tham số khỏc của hệ mật đú.
Độ an toàn
Độ an toàn của thuật toỏn RSA phụ thuộc vào độ khú của bài toỏn IFP. Khi n =
p.q với p, q là cỏc số nguyờn tố lớn, càng lớn thỡ độ an toàn càng cao. Tuy nhiờn, tốc độ thực hiện thuật toỏn tỷ lệ theo hàm mũ khi tăng dần độ lớn của p, q.
Bảng 3.2. Độ dài của khúa giữa RSA và ECC khi ở cựng mức an toàn
Thời gian tấn cụng (trong MIPS năm)
Kớch thƣớc khúa RSA (theo bit)
Kớch thƣớc khúa
ECC (theo bit) Tỷ lệ
104 512 106 5:1
108 768 132 6:1
1011 1024 160 7:1
1020 2048 210 10:1
1078 21000 600 35:1
Nỗ lực lớn nhất để phỏ vỡ hệ mó ECC đƣợc đỏnh giỏ là nỗ lực để giải bài toỏn ECC2K - 108. Nú yờu cầu 4 thỏng với gần 9500 mỏy và 1300 nhõn viờn từ 40 nƣớc. Kết quả là bài toỏn ECC2K-108 đũi hỏi nỗ lực gấp 5 lần so với bài toỏn ECC2-97 đƣợc giải vào thỏng 9 năm 1999. Việc tấn cụng ECC2K-108 dựa trờn thuật toỏn Pollard Rho (đƣợc phỏt minh độc lập bởi cỏc chuyờn gia ở Certicom – Rob Gallant,