Báo cáo tiểu luận môn MẬT MÃ VÀ AN TOÀN DỮ LIỆU Hệ mã hoá trên đường cong Elliptic. Đường cong Elliptic Mã hóa trên đường cong Elliptic Độ an toàn của mã hóa trên đường cong Elliptic Gọi E(a, b) là tập các điểm thuộc đường cong y2= x3 + ax + b cùng với điểm O. Ta định nghĩa phép cộng trên tập các điểm thuộc E(a, b) như sau: Điểm O là phần tử đơn vị của phép cộng. Như vậy với P E(a,b), P ≠ 0 thì P + 0 = 0+P=P . Trong phần tiếp theo ta giả định P ≠ 0 và Q ≠ 0.
Trang 1MẬT MÃ VÀ AN TOÀN DỮ LIỆU
Giảng viên: PGS.TS Trịnh Nhật Tiến Học viên : Bùi Thị Phương
Mã sinh viên:12025278
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hệ mã hoá trên đường cong Elliptic
Trang 2Nội dung
1 Đường cong Elliptic
2 Mã hóa trên đường cong Elliptic
3 Độ an toàn của mã hóa trên đường cong Elliptic
Trang 31 Đường cong Elliptic
Trên trường số thực:
• Đường cong Elliptic là đường cong có dạng:
y2= x3 + ax + b
Trang 41 Đường cong Elliptic
Trên trường số thực:
• Gọi E(a, b) là tập các điểm thuộc đường cong y2= x3 +
ax + b cùng với điểm O Ta định nghĩa phép cộng trên tập các điểm thuộc E(a, b) như sau:
• Điểm O là phần tử đơn vị của phép cộng Như vậy với P E(a,b), P ≠ 0 thì P + 0 = 0+P=P Trong phần tiếp theo ta giả định P ≠ 0 và Q ≠ 0
• Phần tử nghịch đảo của điểm P trong phép cộng, ký hiệu – P, là điểm đối xứng với P qua trục hoành, như vậy
• Với 2 điểm P, Q bất kỳ, kẻ một đường thẳng đi qua P
và Q thì sẽ cắt đường cong Elliptic tại một điểm thứ 3
là điểm S Phép cộng P và Q sẽ là :
Trang 51 Đường cong Elliptic
Trang 6Tính giá trị của phép cộng:
• Gọi tọa độ của điểm P là (xp,yp) , của điểm Q là (xQ,yQ)
• Ta tính tọa độ của điểm R = P + Q = -S như sau:
Đặt hệ số góc đường thẳng là ∆
• Ta tính được:
Trang 71 Đường cong Elliptic
Đường cong Elliptic trên trường Zp
y2 mod p = (x3 + ax + b) mod p
• Ví dụ trong trường Z23, chọn a =1,b=1,x=9,y=7 ta có:
7 2 mod 23=(93+ 9 +1)mod 23
49mod 23= 739 mod 23 =3
Trang 81 Đường cong Elliptic Đường cong Elliptic trên trường Zp
Với 2 điểm P, Q bất kỳ, phép cộng R= P + Q được xác định bằng công thức:
Trong đó:
Trang 92 Mã hóa trên Elliptic
• Trong nhóm Abel Ep(a,b) xây dựng từ đường cong
Elliptic Zp, xét phương trình:
Q = P + P + …+ P=kP (điểm Q là tổng của k điểm P,
k < p)
• Cho trước k và P, việc tính Q thực hiện dễ dàng Tuy nhiên nếu cho trước P và Q, việc tìm ra k là công việc khó khăn Đây chính là hàm logarit rời rạc
của đường cong Elliptic
• Dựa vào hàm một chiều trên chúng ta có 2 cách sử
dụng đường cong Elliptic trong lĩnh vực mã hóa là trao đổi khóa EC Diffie-Hellman và mã hóa EC
Trang 102 Mã hóa trên Elliptic
Trao đổi khóa EC Diffie-Hellman:
• Chọn một số nguyên q lớn, với q là số nguyên tố, và chọn 2 tham số a, b tương ứng để tạo thành nhóm
Eq(a,b)
• Ta gọi G là điểm cơ sở của nhóm nếu tồn tại một số
nguyên n sao cho nG=0 Số nguyên n nhỏ nhất như vậy được gọi là hạng của G
• Trong trao đổi khóa EC Diffie-Hellman, ta chọn một điểm
G có hạng n lớn, và giao thức trao đổi khóa giữa Alice
và Bob tiến hành như sau:
Trang 112 Mã hóa trên Elliptic Trao đổi khóa EC Diffie-Hellman:
1) Alice chọn một số nA < n và giữ bí mật số nA này
Sau đó trong Eq(a,b) Alice Tính PA= nAG và gửi cho Bob 2) Tương tự Bob chọn một số bí mật nB, tính PB và gửi
PB cho Alice
3) Alice tạo khóa phiên bí mật là K= nA PB= nA nBG
4) Bob tạo khóa phiên bí mật là K= nB PA= nA nBG (nhóm Abel có tính giao hoán) giống với khóa của
Alice
Trang 122 Mã hóa trên Elliptic
Mã hóa và giải mã:
• Chọn các tham số để tạo một nhóm Abel Eq(a,b) và
chọn một điểm cơ sở G có hạng n lớn
• Các thành phần khóa khóa riêng và công khai trong mã hóa EC được định nghĩa như sau:
Trong đó: d<n và E=dG với d là một số bí mật do người sinh khóa chọn
• Do tính chất của hàm một chiều từ E và G không thể suy
ra được d
Trang 132 Mã hóa trên Elliptic
Mã hóa và giải mã – Phương pháp Elgamal:
• Giả sử Alice muốn gửi một thông điệp M cho Bob, trước tiên Alice chuyển M từ dạng dãy bít sang dạng điểm PM =(x, y) Bản mã CM (dùng khóa công khai của Bob) được tính là một cặp điểm như sau:
C M = {kG, P M + kE}với k là một số ngẫu nhiên do Alice
chọn
• Để giải mã dùng khóa riêng, Bob sẽ nhân điểm thứ nhất trong C M với d, sau đó lấy điểm thứ hai trừ cho kết quả:
Trang 142 Mã hóa trên Elliptic
Mã hóa và giải mã – Phương pháp Elgamal:
Ví dụ:
• Chọn p = 751, a = 1, b = 188 ta có đường cong Elliptic
• Chọn điểm cơ sở là G=(0,376)
dùng khóa công khai E=(201,5) Alice chọn k=386 Ta có 386(0,36)=(676,58)
(562,201)+368(201,5)=(385,328)
• Vậy bản mã là cặp điểm {(676,58), (385,328)}
Trang 15Độ an toàn của mã hóa trên đường
cong Elliptic
Như vậy với cùng một độ an toàn thì mã hóa ECC chỉ dùng các phép tính có số bít nhỏ hơn nhiều lần so với mã hóa RSA
Trang 1616