Các lý thuyết toán học nền tảng của đường cong elliptic được các nhà khoa học áp dụng khá hiệu quả vào lĩnh vực mó hoỏ, bảo mật (ECC). Các kết quả nghiờn cứu đã được sử dụng trong quy trình mó hoỏ dữ liệu, trao đổi khoá và ký nhận điện tử.
3.1. Cỏch nhúng bản rõ lên đường cong Elliptic
Nhúng một bản rõ (plaintext message) lên đường cong (E) là biểu diễn lại bản rừ đú như là một điểm hoặc toạ độ của các điểm trên E mà nhờ đó chúng ta có thể thực hiện được các tính toán trên E. Có một số phương pháp để thực hiện việc này. Trong đó có 2 phương pháp chính là nhúng (imbeding) và mặt nạ (mask).
Nhúng (Imbeding) 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 (3.2) và giả sử m là số nguyên thỏa mãn 0 ≤ m ≤ p/1000 - 1. Thêm 3 chữ số vào m được x thỏa mãn 1000m ≤ x ≤ 1000(m+1) < 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 y ≠ -1 mod p. Điểm Pm được tạo thành khi nhúng m lên E là: .
Có thể dễ dàng khôi phục lại m từ 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ố 0 ≤ xw ≤ Nl tạo thành một ánh xạ:
,
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, j ≥ 0, ví dụ Pw = (kxw + j,
*) .
Bước 3: Khôi phục lại khối bản rõ từ Pw bằng cách tính .
Mạt nạ (Mask)
Để biểu diễn lại bản rõ dạng (m1, m2) có thể áp dụng phương pháp mask 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).
3.2. Các hệ mã đường cong elliptic (ECC)
Hệ mó hoỏ đường cong elliptic (ECC) có thể được thực thi tương tự như các hệ mật mã khỏc trờn trường số nguyên, thay vào đó là các điểm trên đường cong elliptic. Phụ thuộc vào cách nhúng thông báo trên đường cong mà ta cú cỏc hệ mã sau:
3.2.1. Hệ mó hoỏ “tựa” Elgamal
Hệ Elgamal làm việc với nhóm cyclic hữu hạn, yêu cầu biểu diễn (nhúng -dùng embedding) thông điệp m như một điểm trên đường cong.
Ta có trường số Zp và đường cong elliptic E trên Zp là E(Zp) cùng điểm cơ sở G € E. Mỗi người dùng sẽ chọn một số d là khoá bí mật, dG làm khoá 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 Pm €E. Khi đó cô ta phải mó hoỏ Pm . Ký hiệu d là khoá bí mật của Bob, vì vậy khoá công khai của Bob là Q= dG. 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+kQ)
Để giải mã Bob tính C2-dC1= Pm+kQ-d(kG) = Pm+k(dG)-d(kG) = Pm.
3.2.2. Hệ mó hoỏ Menezes-Vanstone
Sự khác biệt của hệ này với hệ tựa Elgamal là Alice áp dụng kỹ thuật mặt nạ (Masking) thay vì nhúng (Imbeding) khi biểu diễn bản rõ thành điểm trên E.
E là đường cong elliptic trên trường nguyên tố Zp (p>3) sao cho E chứa một nhóm con cyclic H, mà trong đó bài toán ECDLP là khó. Zp, E(Zp) và điểm G € E là công khai. Mỗi người dùng chọn một số ngẫu nhiên d làm khoá bí mật và khoá công khai là dG.
Giả sử Alice cần gửi thông điệp M=(x1, x2) €Zp*ìZp* cho Bob.
Giả sử d là khoá bí mật của Bob. Alice chọn số ngẫu nhiên k €Z|H| và gửi: (y0,y1,y2) = (kG,ax1 mod p,bx2 mod p) với (a,b) = k(dG)
Để giải mã, Bob tính:
(y1a-1 mod p, y2b-1 mod p) = (x1,x2) với dy0=(a,b) Chứng minh:
y0=kG, Bob có thể tính dy0 = d(kG)=(a,b) vì vậy: y1a-1= (ax1)a-1= x1 mod p
y2b-1= (bx2)b-1= x2 mod p. (dpcm).
3.3. Trao đổi khoá theo phương pháp Diffie-Hellman sử dụng lýthuyết đường cong elliptic (ECDH) thuyết đường cong elliptic (ECDH)
3.3.1. Mô hình trao đổi khoá Diffie-Hellman.
Năm 1976, Whitfield Diffe và Martin Hellman đã đưa ra giao thức để trao đổi các giá trị khoá quy ước giữa các đối tác trên đường truyền có độ bảo mật trung bình. Giao thức này dựa trên nguyên lý của bài toán logarit rời rạc trên trường số nguyên hữu hạn. Các thao tác thực hiện trao đổi khoá Diffie-Hellman giữa hai đối tác A và B như sau:
•A và B thống nhất các giá trị g và số nguyên p < g.
• A chọn số ngẫu nhiên m, tính QA=gm và gửi QA cho A.
• B chọn một số ngẫu nhiên n. B tính giá trị QB= gn và gửi QB cho A.
• A nhận QB và tính k = (QB)m = gnìm.
• B nhận được QA và tính k = (QA)n = gnìm. k chính là giá trị bí mật được qui ước chung.
3.3.2. Mô hình trao đổi khoá Elliptic Curve Diffie- Hellman
Mô hình ECDH tương tự mô hình trao đổi khoá Diffie-Hellman. ECDH cũng dựa trên nguyên lý của bài toán logarit rời rạc nhưng áp dụng trên EC. Mô hình này dùng để thiết lập một hay nhiều khoá quy ước chung giữa hai đối tác A và B.
Các thao tác trao đổi khoá bằng ECDH được thực hiện như sau:
• A và B thống nhất các tham số sẽ sử dụng như: đường cong E, điểm cơ sở P(x,y).
• A chọn một giá trị m ngẫu nhiên, tính QA = mP và gửi QA cho B
• B chọn một giá trị n ngẫu nhiên, tính QB = nP và gửi QB cho A
• A nhận được QB và tính G = mìnìP
• B nhận được QA và tính G = mìnìP
Giá trị điểm G chính là giá trị bí mật qui ước chung.
Giả sử có một người C tấn công vào đường truyền và lấy được các giá trị QA, QB, E, P thì C cần tìm được m hoặc n để tỡm G=mìnìP. Điều này chính là giải bài toán logarit rời rạc trên EC. Bài toán này đòi hỏi chi phí tính toán tương đương với sử dụng thuật toán vét can trên EC.
4. Kết chương
Chương này tôi tập trung tìm hiểu về những lý thuyết đường cong elliptic với mật mã học, các lý thuyết toán học trên trường hữu hạn, cách thức trao chuyển khoá cùng với một số phương pháp mã hoá dựa trên đường cong elliptic. Chương 4 sẽ trình bày về chữ ký điện tử và các sơ đồ ký dựa trên đường cong elliptic.
CHƯƠNG IV. CHỮ KÝ ĐIỆN TỬ VÀ CÁC SƠ ĐỒ Kí DỰA TRÊN ĐƯỜNG CONG ELLIPTC