1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN môn học AN TOÀN MẠNG THÔNG TIN đề tài mật mã hóa khóa công khai ECC (elliptic curve cryptography) và ứng dụng

28 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 361,54 KB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG TIỂU LUẬN MƠN HỌC AN TỒN MẠNG THƠNG TIN Đề tài : Mật mã hóa khóa cơng khai ECC (Elliptic Curve Cryptography) ứng dụng MỤC LỤC DANH MỤC HÌNH VẼ MỞ ĐẦU .4 CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG ELLIPTIC( Fp) 1.1 1.1.1 Định nghĩa, tính chất đường cong Định nghĩa .5 1.1.2 Tính chất CHƯƠNG 2: MẬT MÃ HĨA KHĨA CƠNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC 2.1 Các tham số hệ mật mã hóa ECC 2.1.1 Đương cong eliptic trường nguyên tố hữu hạn Fp 2.1.1.1 Trường hữu hạn 2.1.1.2 Đường cong Elliptic trường Fp có dạng sau: 2.1.2 Tham số hệ mật mã ECC trường nhị phân hữu hạn CHƯƠNG 3: ƯU ĐIỂM CỦA ECC VÀ SO SÁNH VỚI RSA 10 3.1 Ưu điểm EEC 10 3.2 So sánh ECDSA RSA 12 CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG ĐƯỜNG CONG ELLIPTIC VÀ MỘT SỐ ỨNG DỤNG 14 4.1 Chữ ký số sử dụng đường cong elliptic 14 4.1.1 Tạo chữ ký số 15 4.1.2 Xác Thực chữ ký số .15 4.1.3 Sơ đồ chữ ký số đường cong eliptic (ECDSA) .15 4.1.4 Tính bảo mật ECDSA 16 4.2 Ứng dụng ECC 17 4.2.1 Ứng dụng hệ mật mã hóa khóa cơng khai sử dụng đường cong eliptic ECDSA đồng tiền ảo Ethereum .18 4.2.2 Elliptic-curve Diffie-Hellman (ECDH) 22 4.2.3 Ứng dụng vào thiết bị có tài nguyên hạn chế: 23 KẾT LUẬN .26 TÀI LIỆU THAM KHẢO 26 TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung DANH MỤC HÌNH VẼ Hình 1: Trường đồ thị đường cong elliptic Hình 2: Vỉ dụ phép cộng đường cong Elliptic Hình 3: Vỉ dụ phép nhân trêu đường cong Elliptic Hình 4: Đường cong elliptic .9 Hình 5: Đường cong elliptic .9 Hình 6: Quy trình thực để tạo chữ kỹ số 12 Hình 7: Quy trình thực để xác thực chữ ký số 13 TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung MỞ ĐẦU Mật mã học vấn đề quan trọng lĩnh vực bảo mật an tồn thơng tin Trên giới, mật mã học đời từ thời La Mã cổ đại ngày nghiên cứu, phát triển đạt thành tựu to lớn Trong mật mã học, vấn đề bảo mật đôi với vấn đề xác thực thơng tin, đặc biệt hệ thống mã hóa khóa cơng khai vấn đề xác thực vơ quan trọng Để giải vấn đề người ta đưa cách giải hiệu quả, chữ ký số Với bùng nổ mạng Internet nay, mạng máy tính đóng vai trị thiết yếu lĩnh vực hoạt động xã hội, trở thành phương tiện điều hành hệ thống nhu cầu bảo mật thơng tin đặt lên hàng đầu Việc sử dụng chữ ký số giải pháp hữu hiệu, ngày ứng dụng nhiều thực tế, không giới hạn ngành cơng nghệ thơng tin, mật mã học mà cịn áp dụng nhiều lĩnh vực khác ngân hàng, viễn thơng Mật mã học khóa cơng khai tạo chữ ký số ứng dụng vào tài liệu Hệ mật mã hóa RSA - hệ mã hóa điển hình mật mã hóa cơng khai với hàm băm mật mã học chiều cơng cụ việc tạo chữ ký số điện tử Trong tiểu luận này, nhóm tập trung vào chữ ký số ECC ứng dụng Nội dung nghiên cứu chia làm phần: • Lý thuyết đường cong elliptic • Hệ mật mã ECC • Ưu điểm ứng dụng ECC • Chữ ký số hệ mật mã đường cong TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG ELLIPTICE( Fp) 1.1 Định nghĩa, tính chất đường cong 1.1.1 Định nghĩa Thông thường, đường cong elliptic định nghĩa phương trình có dạng sau : y2=x3+ax +b (1) có điều kiện : a3+27b2 #: Hình 1: Trường đồ thị đường cong elliptic 1.1.2 Tính chất Nếu hai điểm P1 (x1, y1) P2 (x2, y2) với x1 ^ x2 nằm đường đường cong elliptic E, đường thẳng qua hai điểm P1 P2 cắt điểm P3 (x3, y3) xác định thơng qua P1 P2 nằm đường cong E Tiếp tuyến đường cong điểm P(x, y) đường cong E cắt đường cong elliptic E điểm nằm đường E, điểm xác định thơng qua P TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung 1.1.2.1 Phép cộng đường cong elliptic Giả sử, ta có A(x 1, y 1) B(x 2, y 2) hai điểm thuộc đường cong E Nếu x = x2 y = - y2 ta có A + B = Ngược lại A + B = C( x3, y 3) E E đó: x 3= Ầ2 — x1-x y 3=Ả (x 1—x 3)— y1 Với: ———, A^B 2-x 3x?+a , —-7 , A=B y1 , x Vậy A^B thì: Nếu A =B thì: TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung x 21 + )-2 x a x 21+x2a- X1 x( x1-x3)-x1 x2-x1 Hình 2: Ví dụ phép cộng đường cong Elliptic TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung Chú ý điểm (X 3, y 3), (x 3,-y 3) nằm đường cong E xét mặt hình học, điểm (x 1, y 1), (x2, y2), (x3,-y3) nằm đường thẳng 1.1.2.2 Phép nhân đường cong elliptic Phép nhân số nguyên k với điểm P thuộc đường cong Elliptic E điểm Q (Q G E) xác định cách cộng k lần điểm P: kP = P + P + + P (k lần phép cộng điểm P) Vì G điểm thuộc đường cong Elliptic E với số nguyên dương k dễ dàng xác định điểm Q = k x G Hình 3: Ví dụ phép nhân đường cong Elliptic TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung CHƯƠNG 2: MẬT MÃ HĨA KHĨA CƠNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC Hệ mật mã công khai ECC hệ mật mã xây dựng sở toán logarit rời rạc phép nhân xét tập điểm thuộc đường cong Elliptic Hệ mật mã công khai ECC cung cấp đầy đủ dịch vụ an ninh: Mã hóa, xác thực, ký số trao đổi khóa 2.1 Các tham số hệ mật mã hóa ECC 2.1.1 Đương cong eliptic trường nguyên tố hữu hạn Fp 2.1.1.1 Trường hữu hạn Đường cong elliptic xây dựng trường hữu hạn Có hai trường hữu hạn là: • Trường hữu hạn Fq với q số nguyên tố • Trường hữu hạn Fq với q = 2m (m số nguyên) Tùy thuộc vào trường hữu hạn Fq, với bậc q, tồn nhiều đường cong elliptic Do đó, với trường hữu hạn cố định có q phần tử q lớn, có nhiều lựa chọn nhóm đường cong elliptic 2.1.1.2 Đường cong Elliptic trường F p có dạng sau: Định nghĩa tham số hệ mật mã ECC trường nguyên tố hữu hạn F p bao gồm: T = (p, a, b, G, n, h) Trong đó: • p: số ngun tố lớn • a, b: hệ số a, b € Fp, cho thỏa mãn điều kiện a2+27b2*0 • G: điểm sở thuộc E (Fp) • n: số nguyên thứ tự điểm sở G TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung • h: phần phụ đại số thỏa mãn h = #E(Fp /n với Số lượng điểm E(Fp) #E(Fp) thỏa định lý Hasse: p +1-2 V p< E (Fp) < p +1+2 Vp 2.1.2 Tham số hệ mật mã ECC trường nhị phân hữu hạn SECG định nghĩa tham số hệ mật mã ECC trường nhị phân hữu hạn Fm bao gồm tham số sau: Y = (m,f(x),a,b,G,n,h) Trong đó:  m: số nguyên dương xác định trường nhị phân hữu hạn Fm  [log2 m] e {163,233,239,283,409,571}  f(x): đa thức bất khả quy, có bậc m đa thức sở biểu diễn trường Fm a,b: hệ số a,b G Fm xác định đường cong elliptic E(Fm) trường (Fm): E: y2+xy=x3 +ữẤ2+ b • G: điểm sở thuộc E(Fp) • n: số nguyên tố thứ tự điểm sở G • h: phần phụ đại số (cofactor) thỏa mãn h = #E(Fm)/n với #E(Fm) số điểm thuộc đường cong E( Fm) • Cùng với điểm O điểm vô cực Số lượng điểm E(F2m ) #E(F2m ) thỏa định lý Hasse: • ( ) q+1-2 Tq • Nếu chữ ký giải mà thành cơng tạo thành giá trị băm Nếu khơng thể giải mã chữ ký chứng tỏ tin không người gửi Phần liệu qua hàm băm tương tự phía người gửi tạo thành giá trị băm • Giá trị băm liệu so sánh với giá trị băm thu trình giải mã chữ ký số > > Hai giá trị trùng chứng tỏ tin gửi toàn vẹn Hai giá trị khác chứng tỏ tin bị thay đổi 4.1.3 Sơ đồ chữ ký số đường cong eliptic (ECDSA) Để thiết lập sơ đồ chữ ký số ECDSA (Elliptic Curve Digital Signture Algorithm), tham số cần phải xác định là: đường cong E trường hữu hạn Fq với tham số p phù hợp điểm sở G e E(Fq) (Generator point) TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung Sinh khóa: Chọn số ngẫu nhiên d khoảng [2, n - 1] làm khóa bí mật Tính Q = dG làm khóa cơng khai Ký rõ m: Chọn số ngẫu nhiên k, < k < n -1 Tính kG = (X1, y 1) Tính r = X1 mod n Nếu r = 0, quay lại bước Tính k mod n Tính s = k (m + dr) mod n Nếu s = 0, quay lại bước Chữ ký thông điệp m (r, s) Kiểm tra chữ ký: Kiểm tra r s có số tự nhiên khoảng [2, n - 1] khơng Tính w = S' mod n Tính U1 = mw (mod n) u2 = rw (mod n) Tính X = U1G + uQ = (Xx, yy) Nếu X = phủ nhận chữ ký Ngược lại tính v = XX mod n Chữ ký chấp nhận v = r Chứng minh: Nếu chữ ký (r, s) m thì: • s = k-1(m + dr) mod n • k = s (m + dr) = s m + s rd = wm + wrd = u1 + u2d (mod n) • Vì vậy, U1G + U2G = (U1 + M)G = kG • Suy v = r TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung 4.1.4 Tính bảo mật ECDSA ECDSA cần có tính bảo mật cao để khẳng định tồn khơng thể làm giả được, chống lại công vào tin ký Mục đích kẻ cơng giả mạo A tạo chữ ký hợp lệ tin M, sau có tin có chữ ký A phân tích Khi thay thuật tốn RSA ECDSA, tốc độ thực thuật tốn cải thiện đáng kể Việc thay đạt hiệu với việc cần dung lượng nhớ sử dụng thuật toán RSA Các điều kiện an tồn cần thiết thuật tốn ECDSA là:  Bài toán logarit rời rạc đường cong eliptic E(Fq) khó: điều kiện khơng thỏa mãn, ta cần tính logarit rời rạc với khóa cơng khai lấy khóa bí mật  Hàm băn sử dụng phải là hàm băm chiều, tức khơng thể tính rõ m từ giá trị băm Hm  Hàm băm sử dụng phải chống xung đột, tức tồn hai giá trị băm Hm = Hm (nếu m1 m2 khác nhau)  Việc tạo k q trình ngẫu nhiên khơng thể dự đốn Các cách cơng có ECDSA phân loại sau:  Cách cơng tốn logarit rời rạc đường cong elliptic  Cách công hàm băm  Cách công khác 4.2 Ứng dụng ECC Trong thực tế, ECC ứng dụng nhiều cho ứng dụng bảo mật như: bảo mật tài liệu, thông tin liên lạc nội bộ, cung cấp chữ ký số dịch vụ nhắn tin bảo mật iMessage Apple hay Blackberry Message Blackberry Ngoài ra, ECC ứng dụng việc trao đổi khóa thuật tốn Elliptic-curve Diffie-Hellman Thuật tốn mã hóa khóa cơng khai hệ đầu RSA sử dụng nhiều lĩnh vực, vậy, năm gần ECC phát triển nhanh đánh giá thuật toán thay cho RSA tương lai gần TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung Hiệu suất tính tốn ECDSA nhanh vượt trội so với RSA, điều rõ ràng, chứng minh nhiều thực tế Ngay với phiên cũ OpenSSL khơng có tối ưu cho ECC, thời gian tính tốn để tạo tạo chữ ký ECDSA với khóa 256-bit nhanh 20 lần so với chữ ký RSA với khóa 2048-bit Chính thế, ECC thuật tốn thích hợp để tích hợp vào thiết bị có tài ngun hạn chế ECC có nhiều ứng dụng thực tế nay, ứng dụng phổ biến nhất, đưa ECC phát triển ứng dụng đồng tiền ảo 4.2.1 Ứng dụng hệ mật mã hóa khóa công khai sử dụng đường cong eliptic ECDSA đồng tiền ảo Ethereum Trong Ethereum (Bitcoin tương tự) đường cong Elliptic ứng dụng việc: • Tạo địa ví • Tạo chữ ký cho giao dịch Tiền ảo Ethereum sử dụng đường cong tiêu chuẩn secp256k1 Viện Tiêu chuẩn Kỹ thuật Quốc gia Mỹ (NIST) đặt Đường cong có công thức sau: y2 (mod p) = x3 + (mod p) Với p = 2256 - 232 - 29 - 28 - 27 - 26 - 25 - 24 - = 2256 - 232 - 997 Đây số nguyên tố lớn 4.2.1.1 Tạo khóa công khai: Đầu tiên, ta chọn số ngẫu nhiên dA làm khóa bí mật Số phải thỏa mãn nằm khoảng [2, 2256 - 1] Trên đường cong Elliptic ta chọn điểm sở G (generator point) Với Ethereum điểm G có giá trị: G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung A6855419 9C47D08F FB10D4B8 Theo tiêu chuẩn secp256k1 Lúc này, khóa cơng khai PU kết phép nhân: PU = dA*G Dựa vào tính chất đường cong Eliptic, chắn PU điểm đường cong 4.2.1.2 Tạo chữ ký Chữ ký Ethereum chữ ký thông thường, biểu diễn cặp số (r, s) Để tạo cặp (r, s) hệ thống phải chọn số ngẫu nhiên k, số phải khác với khóa bí mật người dùng Tiếp theo, hệ thống thực phép nhân k với điểm sở G (giống với trình tạo public key) để tạo một điểm P= k*G Kết phép nhân điểm P(x, y) Giá trị r toạ độ x điểm P (vì độ bảo mật ECC cao nên cần giá trị x đủ độ an tồn cần thiết, khơng cần lấy giá trị y) Để tính giá trị s, đầu tiên, hệ thống cần phải đưa tin cần ký qua hàm băm, hàm băn sử dụng Ethereum hàm Keccak256 Giá trị sau băm tin ta đặt z Lúc này, s tính sau: s= k-1 (z+ dax r)(modp) 4.2.1.3 Xác thực chữ ký Để xác thực chữ ký có hợp lệ hay khơng, hệ thống cần tham số khóa cơng khai người gửi PU Việc xác thực thực cách tính: - P= s-1 X z*G + s xrx PU Tọa độ điểm P tham số r chữ ký số chữ ký hợp lệ Chứng minh điều thực phần TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung 4.2.1.4 Tạo địa ví Từ private key, địa ví Ethereum tạo sau • Tạo public key từ private key giống bên ta trình bày • Tính giá trị băm public key, giá trị 20 byte cuối public key sử dụng làm địa ví Hàm băm sử dụng Keccak-256 Ví dụ, khóa bí mật người dùng có giá trị (dạng hexa): PR=5 bff b a bc 0049382 ece 299 b fe fef 82 d b 517 d d 05 be d dc ae 3e1 aa 0047Bằng phép nhân đường cong Elliptic, ta tính public key điểm PU có giá trị tọa độ (dạng hexa) là: x: 1E866 A 709 A 022 B A 56 C F 372E5869094 EF 4300E1EAB A B2892734499305447 E y: FDBF17E1C 96E5 C CF 28 D ECE1958 D FA16130 D BF 93E9975 ABC AE 6450 DBA 49: ghép vào ta có public key: PU = 0x1E866A709A022B7A56C5F372E5869094EF4300E1EAB8A7B2892734499305447 EFDBF17E1C96E5C0CF28D4ECE1958D7FA16130D5BF93E9975ABC4AE6450DB A492 Áp dụng hàm băm vào public key, ta giá trị: H (PU )=97 f 104 de ced 45e912 ccf b c 11 eea 10 ced ea 3270 d 46 ceec ce 1e53 d 6689 cd Từ giá trị Hash này, lấy 20 bytes cuối cùng, ta có địa ví là: xc 11 eea 10 ced ea 3270 d 46 ceec ce 1e53 d 6689 cd 4.2.1.5 Ký giao dịch Một raw transaction Ethereum trông sau: { from: '0x937CDc3a7273269Fe43967E785D9e24D3C48C164', gas: '0x3d0900', gasPrice: 10000000000, hash: TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung '0x228c53215e5ad0f9d6114a4f4adeb8e5359fbee1283aacb7fedb2ab1b212871b', data: '0x60fe47b100000000000000000000000000000000000000000000000000000000000 00003', nonce: 34, to: '0x6b4A7a46ad065b5fb142DEe92E9F4546982510fD', value: '0x', } Sau ký, tin broadcast lên mạng có nội dung sau: { blockHash: '0x7905dc70c9a0196fd2a1999568506026e5e4027c7fac88fd3b841df213c7918d', blockNumber: 7719658, from: '0x937CDc3a7273269Fe43967E785D9e24D3C48C164', gas: '0x3d0900', gasPrice: '10000000000', hash: '0x228c53215e5ad0f9d6114a4f4adeb8e5359fbee1283aacb7fedb2ab1b212871b', input: '0x60fe47b100000000000000000000000000000000000000000000000000000000000 00003', nonce: 34, r: '0x3dee14909e26ec8758cca4b386ec582cac5100767776454eec94343ac6f2de46', s: '0x68869c7b5e4b4caa6b602e29f0787ae70a37833cc681c9463b139f30a2fe5de5', TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung to: '0x6b4A7a46ad065b5fb142DEe92E9F4546982510fD', transactionIndex: 2, v: '0x29', value: '0', }; Ta để ý raw transaction cũ thêm trường r s, chữ ký số tin Bằng chữ ký số này, tất máy khác hệ thống dễ dàng xác nhận tin ký : 0x937CDc3a7273269Fe43967E785D9e24D3C48C164 4.2.2 Elliptic-curve Diffie-Hellman (ECDH) Thuật tốn Diffie-Hellman thuật tốn trao đổi khóa sử dụng lĩnh vực mật mã học Thuật tốn trao đổi khóa cho phép hai bên tham gia giao tiếp thiết lập khóa bí mật dùng chung để mã hóa liệu đường truyền hai bên cách an tồn mà khơng cần đến việc thỏa thuận khóa bí mật trước hai bên tham gia trao đổi Khóa bí mật tạo sau trao đổi khóa dùng để mã hóa liệu phương pháp mã hóa khóa đối xứng Elliptic-curve Diffie-Hellman (ECDH) biến thể cải tiến thuật toán Diffie-Hellman truyền thống, thuật toán cho phép hai bên tham gia trao đổi, bên có cặp khóa xây dựng đường cong elliptic, xây dưng bí mật chung hai bên kênh thơng tin khơng an tồn Bí mật sử dụng làm khóa làm sở để xây dựng khóa khác Sau đó, khóa mã hóa thơng tin trao đổi hai bên phương pháp mã hóa khóa đối xứng Việc thiết lập bí mật chung hai bên thực sau: Giả sử, Alice muốn thiết lập bí mật chung với Bob, họ khơng có kênh truyền an tồn, thơng tin qua kênh truyền họ bị nghe trộm Các tham số đường cong Elliptic bên thỏa thuận trước kênh khơng an tồn TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung Mỗi bên tạo cặp khóa phù hợp cho dựa đường cong elliptic, bao gồm khóa riêng d khóa cơng khai Q = dG Cách tạo khóa tương tự cách tạo khóa chữ ký số trình bày phần trước Cặp khóa Alice ký hiệu (dA,QA {ó( d ịó{ A}} ,Q(ó{ A}})}) Bob (dB,QB) QA Q Alice Bob công khai lên kênh truyền Hai bên nhận B khóa cơng khai Alice tính điểm K 1= dA.QB=(XK ,yK 1), Bob tính điểm K2= dB.QA = (XK2,ỴK2) Điểm K1 K2 trùng nhau, giá trị x tọa độ lấy làm bí mật chung hai bên Thơng thường, giao thức tiêu chuẩn hóa dựa ECDH dựa x để tính tốn khóa bí mật để trao đổi thơng tin Hai điểm K1 K2 trùng bởi: d A‘ B = A‘ B‘ Q d d G = dB‘ dA‘ G = dB.QA Chỉ có khóa cơng khai Alice tiết lộ Cịn khóa riêng Alice biết, khơng bên xác định khóa riêng Alice trừ họ giải toán logarit rời rạc đường cong eliptic Với Bob, việc bảo mật thực tương tự Do đó, khơng tính tốn bí mật chung hai bên, trừ bên thứ giải toàn logarit rời rạc đường cong elliptic 4.2.3 Ứng dụng vào thiết bị có tài nguyên hạn chế: Với ưu điểm thuật toán ECDSA với độ dài khóa thấp (tức nhớ dùng để lưu thơng tin hơn) giữ độ an tồn cao (ví dụ với độ dài khóa 160 bit tương đương với khóa có độ dài 1024 bit thuật tốn RSA), việc tính tốn với tốc độ tính tốn cao thuật tốn thực tính tốn phép tính theo đường cong E với tập giá trị E(Fq) trường hữu hạn Fq Chính vậy, thuật tốn ECDSA cho thích hợp cho việc thực ký xác thực thiết bị có tài nguyên hạn chế công nghệ NFC (Near Field Communication), RFID (Radio Frequency Identiíication) hay IoT (Internet of Things), nơi mà việc truyền thơng khơng bó buộc thực thể mạng trở nên xác thực an tồn Hệ mật mã hóa khóa cơng khai ECC dùng lược đồ khóa công khai hiệu TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung cho thiết bị xử lý có tài ngun hạn chế u cầu tài ngun so với thuật tốn tiếng RSA Với ECDSA thiết bị thụ động (như thẻ RFID) cần phải xác thực dễ dàng thực thuật toán Trong thực tế, thẻ thụ động có chứa mã xác thực nhớ riêng với tài nguyên hạn chế phải thực việc ký để xác thực với trung tâm xác thực Đầu tiên, đọc nhận chứng từ thẻ xác minh giá trị khóa cơng khai Sau đó, gửi chuỗi ngẫu nhiên đến thẻ Thẻ sử dụng khóa riêng với thuật toán ECDSA để ký lên tin sau gửi lại đọc để xác thực quyền đăng nhập thẻ Các bước để xây dựng thực thuật tốn ECDSA thiết bị có tài nguyên hạn chế trình bày sau: 4.2.3.1 Lựa chọn tham số cho hệ thống: ECDSA thực việc sử dụng tham số đường cong elliptic khác Nhưng thuật toán chữ ký ECDSA lại có hai lựa chọn trường hữu hạn cho việc tính tốn phép tính trường hữu hạn nguyên tố F p (p số nguyên tố > 2) trường nhị phân mở rộng F2 (m số nguyên) m Để áp dụng thiết bị có tài nguyên hạn chế phép tính số học yếu tố ảnh hưởng đến lực yêu cầu thiết bị Chính vậy, để áp dụng thiết bị phép tốn nên thực trường nguyên tố Fp (q = p); trường ta cần lưu tham số ECDSA sử dụng trường nhị phân mở rộng ta cịn phải tính tốn thêm phép toán đa thức mở rộng trường Như thế, số thành phần phần cứng số học cần thiết tối ưu Do yêu cầu thuật toán ECDSA phải hoạt động thiết bị có tài nguyên hạn chế lại phải có độ an toàn cao việc xác thực bảo mật Vì vậy, để đạt u cầu này, tham số đường cong với kích thước nguyên tố nhỏ chọn tiêu chuẩn NIST-P192 4.2.3.2 Thực thuật toán TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung Thuật toán xác thực ký sử dụng ECDSA mô tả mục Ta thấy, việc khó khăn việc thực thuật tốn việc thực phép tính đường cong elliptic Chính vậy, cần có phương pháp áp dụng để làm tăng tốc độ tính tốn thuật tốn Gọi E đường cong elliptic F p Một điểm P nhân vơ hướng sau: k kP= s P i=1 Làm thực tính kP cách hiệu vấn đề nghiên cứu nhiều để thực ECC Như ta biết, đường cong elliptic có hai phép tốn dùng phép cộng phép nhân trình bày chương trước Để thực đơn giản hóa phép tốn ta thực sau: Tách k thành số nhị phân k = (kt - 1, ,,ki,ko), ki e{0,1} Đặt Q = Cho i chạy từ t - đến 0: • Q = 2Q • Nếu ki = Q = Q + P Kết ta thu Q=kP Thuật tốn giúp tính tốn thiết bị nhỏ nhanh nhiều TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung KẾT LUẬN Sau đời Diffie-Hellman tảng tuyệt vời cho khả mã hóa cơng khai, kể đến tiêu biểu thuật tốn RSA Nhờ người sử dụng cách ký hiệu cho thân ,cái gọi chữ ký số Đây điều tiên cần thiết việc thực ký xác thực thuật toán chữ ký số Hệ mật đường cong elliptic phát biện pháp sinh khóa mang tính chất đột biến sau RSA Thuật tốn chữ ký số đường cong elliptic cho giải pháp hiệu an tồn, với kích thước khóa nhỏ thuật tốn cho mức an tồn cao thuật tốn khác có kích thước khóa lớn Với việc sử dụng tài nguyên đem lại độ an toàn cao, ECDSA cho thuật tốn thích hợp để áp dụng thiết bị có tài nguyên hạn chế Tiểu luận đưa lược đồ cho việc áp dụng thuật tốn ECDSA thiết bị Theo đó,tiểu luận khuyến nghị tập trung vào tham số trường hữu hạn (nên sử dụng trường hữu hạn Fp p số nguyên tố lớn 2), phương pháp tính nhằm tăng tốc độ phép tính kP thiết bị việc thực phân tách tham số k thành chuỗi số nhị phân áp dụng công thức cộng nhân đôi điểm đường cong elliptic TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung TIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dungTIEU.LUAN.mon.hoc.AN.TOAN.MANG.THONG.TIN.de.tai.mat.ma.hoa.khoa.cong.khai.ECC.(elliptic.curve.cryptography).va.ung.dung

Ngày đăng: 23/12/2023, 23:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w