Cặp khóa ECDSA.

Một phần của tài liệu nghiên cứu về Chữ ký số trên đường cong Elliptic(ECDSA) (Trang 65)

Một cặp khóa ECDSA chính liên kết với một tập hợp các tham số miền EC. Khóa công khai là một trong nhiều lựa chọn ngẫu nhiên của điểm cơ sở, trong khi khóa riêng là một số nguyên được sinh ra nhiều. 6.1 tóm tắt các thủ tục sinh ra cho hệ cặp khóa. 6.2 trình bày một thủ tụcđểxác minh rằngmột khóa công khaiđáp ứng tất cả yêu cầu. 6.3 thảo luận về tầm quan trọng của chứng minh sở hữu của một khóa riêng tương ứng với một khóa công khai Certification Authority (CA) khi khóa công khai có xác nhận của CA.

4.1 Sinh cặp khóa.

Một cặp khoá của một thực thể A liên quan với một tập hợp các tham số miền EC

D = (q, FR,a,b,G,n,h). Liên kết đã được đảm bảo trong mật mã (e.g với chứng nhận) hoặc bởi nội dung (e.g tất cả các thực thể sử dụng cùng tham số miền). Mỗi một thực thể A phải đảm bảo cho tham số miền một giá trị (xem phần 5.4) trước khi sinh khóa.

Sinh cặp khóa ECDSA. Mỗi thực thể được làm như sau:

1 Chọn ngẫu nhiên hoặc giả ngẫu nhiên một số nguyên d trong khoảng [1, n-1].

2 Tính Q = dG.

3 A Có một khóa công khai Q; A có một khóa riêng d.

4.2 Xác nhận khóa công khai.

Xác nhận khóa công khai, đã được đề xuất lần đầu tiên bởi Johnson [46], đảm bảo rằng một khóa công khai có tính chất số học cần thiết. Thực nghiệm thành công này cho thấy rằng một khóa riêng có liên quan tồn tại một cách hợp lý, mặc dù nó không chứng minh rằng ai đó thực sự có khóa riêng cũng không phải là chủ sở

hữu đã tuyên bố thực sự sở hữu khóa riêng. Lý do để thực hiện xác nhận khóa công khai là quan trọng trong thực tế bao gồm:(i) phòng ngừa chèn mã độc hại của một khóa công khai không hợp lệ mà có thể cho phép một số cuộc tấn công, và (ii) phát hiện mã hóa hoặc lỗi vô ý truyền. Sử dụng một khóa công khai không hợp lệ có thể hủy bỏ tất cả các tài sản bảo đảm dự kiến. Một ví dụ về một cuộc tấn công cụ thể có thể được đưa ra nếu xác nhận chính là công chúng không được thực hiện đã được chứng minh bởi Lim và Lee [60]. Tấn công là một Diffie-Hellman ¬ giao thức dựa trên thỏa thuận quan trọng.

Phương thức sinh các khóa công khai: Bảo đảm rằng một khóa công khai Q là hợp lệ có thể được cung cấp cho một thực thể A bằng cách sử dụng một trong các phương pháp sau đây:

1 Một thực hiện khóa công khai A xác nhận rõ ràng bằng cách sử dụng thuật toán 6 (hình dưới đây).

2 A tạo ra Q nó sử dụng một hệ thống đáng tin cậy.

3 A nhận được bảo đảm từ một bên đáng tin cậy T (e.g.. một chứng thực chữ ký số)

T biểu diễn tường minh việc xác nhận khóa công khai của A sử dụng thuật toán 6. 4 A nhận được bảo đảm từ một bên đáng tin cậy T cái mà Q có thể được tạo ra khi

sử dụng hệ thống.

Algorithm 6: Xác nhận tường minh của khóa công khai ECDSA.

Input: Một khóa công khai Q =(xQ, yQ ) liên kết với tham số miền giá trị (q, FR, a,b,G,m,h).

Output: Chấp nhận hoặc từ chối giá trị của Q. 1 Đầu tiên kiểm tra Q#O.

2 Kiêm tra xQ, và yQ là đại diện cho các phần tử của (i.e.., các số nguyên trong khoảng [0, p-1] trong mỗi lựa chọn q=p và sâu bit có độ dài m bit trong mỗi lựa chọn q=2m).

3 Kiểm tra Q có nằm trên đường cong elliptic tại điểm ab. 4 Kiểm tra nQ =O.

5 Nếu một kiểm tra lỗi, thì Q là không hợp lệ; nếu không Q có giá trị.

4.3 Bằng chứng về sở hữu của một khóa riêng

Nếu một thực thể C có thể xác nhận A của khóa công khai Q là của riêng mình. sau đó C có thể cho rằng tin nhắn của một chữ ký có nguồn gốc từ C. Để tránh điều này, CA nên yêu cầu tất cả các thực thể A để chứng minh sở hữu của khóa riêng tương ứng với khóa công khai của nó trước khi CA xác nhận khóa công khai là thuộc về đến A. Điều này chứng minh sở hữu có thể được thực hiện bằng nhiều phương tiện khác nhau, ví dụ bằng cách yêu cầu A ký một thông điệp của sự lựa chọn của CA. hoặc bằng cách sử dụng kỹ thuật kiến thức bằng không (xem Chaum, Evertse và van de Graaf [19]). Lưu ý rằng bằng chứng về sở hữu của một khóa riêng cung cấp bảo đảm khác nhau từ xác nhận khóa công khai. Trước đây chứng minh sở hữu của một khóa riêng, mặc dù nó có thể tương ứng với một khoá công cộng không hợp lệ, trong khi sau này chứng minh tính hợp lệ của một khóa công khai nhưng không phải quyền sở hữu của khóa riêng tương ứng. Cả hai cung cấp một mức độ cao đảm bảo.

Một phần của tài liệu nghiên cứu về Chữ ký số trên đường cong Elliptic(ECDSA) (Trang 65)