Xác định miền tham số

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 63)

3. Miền tham số ECDSA

3.4Xác định miền tham số

Tham số xác nhận miền bảo đảm rằng các tham số miền có các thuộc tính số học cần thiết. Lý do để thực hiện tham số xác nhận miền trong thực tế bao gồm:

(i) phòng việc chèn các mã độc hại của các tham số miền 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 vô thức của các lỗi truyền . Sử dụng một bộ tham số miền không hợp lệ có thể làm mất hiệu lực của tất cả các giá trị lưu trữ mong đợi. Một ví dụ vật cụ thể (mặc dù xa vời) tấn công (attack) được chứng minh bởi Blake-Wilson và Menezes có thể bị đưa ra nếu tham số xác nhận miền của một hệ thống chứ ký không được thực hiện.

Phương pháp xác định các thông số miền: Đảm bảo rằng một bộ D=(q, FR, a, b, G, n, h) của miền tham số EC có giá trị có thể được cung cấp cho một thực thể bằng cách sử dụng một trong các phương pháp sau đây:

1. Thực hiện rõ ràng một tham số xác nhận miền bằng cách sử dụng thuật toán 5 (hiển thị bên dưới)

2. Một D đưa ra bằng cách sử dụng một hệt thống đáng tin cậy.

3. Nhận được một sự đảm bảo từ phần đáng tin cậy phía T (ví dụ như một thành phần chứng nhận) rằng T đã thực hiện rõ ràng tham số xác nhận miền của D bằng cách sủ dụng thuật toán 5.

4. Nhận được sự đảm bảo từ một phần đáng tin cậy của T là D được tạo ra bằng cách sử dụng một hệ thống cũ.

Thuật toán 5: Xác nhận rõ ràng của bộ miền tham số EC

Input: Thiết lập một miền tham số D của EC D = (q,FR,a,b,n,h) Output: chấp nhận hoặc từ chối tính hợp lệ của D.

2. Xác nhận rằng FR là đại diện hợp lệ cho . 3. Xác nhận rằng G # O.

4. Xác nhận rằng a, b, xG và yG được đại diện thực sự các nguyên tố của (ví dụ, số nguyên trong khoảng [0, p-1] trong trường hợp q = p, và chuỗi các bit dài m bits trong trường hợp q=2m

5. (Tùy chọn) Nếu các đường cong elliptic được tạo ngẫu nhiên phù hợp với thuật toán 1 hoặc thuật toán 3 của phần 5.2, xác nhận rằng seedE là một chuối dài bit gồm ít nhất 160 bít và sử dụng thuật toán 2 hoặc thuật toán 4 để xác nhận rằng a và b là phù hợp với seedE.

6. Xác nhận rằng a và b xác định một đường cong elliptic trên (VD: 4a2 + 27 # 0 (mod p) if q = p; b # 0 nếu q = 2m )

7. Xác nhận rằng G nằm trên đường cong ellip bởi a và b (VD, yG2 = xG3 + axG + b trong trường hợp q = p, và yG2 + xGyG = xG3 + axG2 + b trong trường hợp q = 2m).

8. Xác minh rằng n là số nguyên tố 9. Xác minh rằng n > 2160 và n > 4√q 10. Xác minh rằng nG = O

11. Tính h’= [(√q + 1)2/n] và xác minh rằng h = h’. 12. Xác minh n không chia qk - 1 cho mỗi k, 1≤ k ≤ 20 13. Xác minh n # q.

14. Nếu nhận thấy bất kì sai sót nào, thì D là không phù hợp, nếu không D là phù hợp.

Kiểm tra thứ tự của một đường cong elliptic. Nhắc lại bởi thuyết Hasses, (√q - 1)2 - (√q - 1)2 ≤ #E() ≤(√q + 1)2. Do đó n> 4 ngụ ý rằng n2 không chia # E () do đó E () có một nhóm duy nhất của thứ tự n. Ngoài ra, từ (√q + 1)2 - (√q - 1)2 = 4√q, là một số nguyên h duy nhất như vậy q + 1 - 2√q ≤ nh ≤ q + 1 + 2√q, cụ thể là h = [(√q + 1)2/n]. Như vậy bước 9, 10 và 11 của thuật toán 5 xác minh rằng #E() thực sự bằng nh.

Như lưu ý trong phần 5.2, tính số lượng các điểm trên một đường cong ellip ngẫu nhiên tạo ra là một việc phức tạp và nặng nề .Trong thực tế, người ta có thể mua phần mềm từ một nhà cung cấp để thực hiện đếm điểm. Chúng ta lưu ý rằng từ lệnh được viện ra của một đường cong elliptic có thể có hiệu quả xác minh một cách chắc chắn 100%, phần mềm như vậy không được tin cậy.

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 63)