Do chữ ký điện tử phát triển trên nền tảng mã hĩa bằng khĩa cơng khai nên một thuật tốn chữ ký điện tử đã được phát triển trên đường elliptic curve (Elliptic Curve Digital Signature Algorithm). Chữ ký điện tử trên ellipitic curve cĩ ưu điểm là kích thước khĩa nhỏ nên dễ dàng tạo khĩa để ký nhận và giảm lượng thơng tin truyền tải.
4.2.3.1. Các tham số của ECDSA
Để thực hiện tạo và xác nhận chữ ký điện tử bằng ECDSA, cần thống nhất các tham sốđược sử dụng sau:
· Đưịng cong elliptic curve E.
· Điểm P, P Ỵ E. Điểm P cĩ bậc n (n´P = O).
· Chọn một số nguyên bất kỳ d, d Ỵ [2, n-2]. Số nguyên này chính là khĩa riêng .
KHOA CNTT –
ĐH KHTN
4.2.3.2. Quá trình tạo chữ ký bằng ECDSA
Tạo message digest của văn bản cần ký M bằng hàm băm H. Message digest của văn bản được chuyển thành một số nguyên e.
Chọn một số nguyên ngẫu nhiên k Ỵ [2, n – 2]. Đây là giá trị bí mật khác nhau cho mỗi lần tạo chữ ký.
Tính giá trị của điểm (x, y) = k´P và biểu diễn x dưới dạng số nguyên z. Tính giá trịr = z mod n. Tính giá trịs = k-1(e + dr) mod n. Cặp số nguyên (r, s) chính là chữ ký của văn bản M và được gởi kèm với văn bản M đến người nhận. 4.2.3.3. Quá trình xác nhận chữ ký bằng ECDSA Gọi M', r', s' là các phiên bản nhận được của M, r, s. Tạo message digest của M' bằng hàm băm H. Hàm băm H phải là hàm băm
được sử dụng trong quá trình tạo chữ ký. Biểu diễn message digest thu được dưới dạng một số nguyên e.
Tính giá trịc = (s')-1 mod n. Tính giá trịu1 = e´ c mod n
Tính giá trịu2 = r´ c mod n
Tính giá trịđiểm (x, y) = u1´ P + u2 ´ Q, biểu diễn x dưới dạng số nguyên z. Tính v = z mod n
Nếu v = r', chữ ký điện tửđược xác nhận và người nhận cĩ thểđảm bảo văn bản được gởi là xác thực.
Nếu v ≠r', văn bản đã bị sửa đổi hoặc văn bản khơng được ký bằng đúng chữ
KHOA CNTT –
ĐH KHTN
Chương 5. Tổng quan về PDA và mơi trường phát
triển .NET Compact Framework
Dẫn nhập: Chúng ta đã tìm hiểu về lý thuyết mã hĩa cùng các thuật tốn liên quan trong các chương trước, chương 5 sẽ trình bày tổng quan và các đặc điểm của thiết bị trợ giúp cá nhân kỹ thuật số PDA, những hệđiều hành sử dụng trên PDA và giới thiệu sơ lược về mơi trường phát triển .NET Compact Framework cho các ứng dụng thực thi trên PDA.