Do đề xuất ở đây là việc sử dụng khóa bí mật tức thời 𝑘𝑀 = 𝐻1(𝑘||𝑚) thay cho 𝑘 trong quá trình sinh chữ ký, nên lược đồ đề xuất chỉ làm tăng một phép tính hàm băm. Do vậy, việc bổ sung này không làm ảnh hưởng nhiều đến hiệu suất của lược đồ. Lưu ý rằng, về mặt hình thức hàm băm 𝐻1 sẽ phải khác với hàm băm 𝐻 nhằm phục vụ việc đánh giá độ an toàn lý thuyết của lược đồ EC-Schnorr-M, tuy nhiên trên thực tế khi cài đặt chúng chỉ cần là các thể hiện khác nhau của một hàm băm cụ thể. Ví dụ, với hàm băm cụ thể là SHA-3 chúng ta có thể xây dựng hai thể hiện khác nhau của nó là 𝐻(⋅) =SHA-3(0,⋅) và 𝐻1(⋅) =SHA-3(1,⋅).
2.3.3. Phân tích về khả năng chống tấn công lặp khóa bí mật tức thời của EC-Schnorr-M EC-Schnorr-M
Đối với lược đồ EC-Schnorr-M, do trong hai lần ký đối với hai thông điệp 𝑚1 ≠ 𝑚2 ta sử dụng các khóa bí mật tức thời tương ứng có dạng 𝐻1(𝑘||𝑚1) và 𝐻1(𝑘||𝑚2), hai khóa này được đảm bảo là khác nhau ngoại trừ xác suất không đáng kể, do tính chất của hàm băm kháng va chạm và do vậy có khả năng kháng tấn công khôi phục khóa ký từ việc dùng lặp lại khóa bí mật tức thời nếu bộ sinh số ngẫu nhiên yếu được sử dụng.
Giả sử rằng bộ sinh số giả ngẫu nhiên là “tồi” theo nghĩa không khó để tìm ra một giá trị nonce được sinh ra trong hai lần khác nhau với một xác suất đáng kể. Khi đó, lược đồ chữ ký số EC-Schnorr gốc không đảm bảo an toàn trước tấn công khai thác giá trị nonce lặp lại với một xác suất đáng kể. Trong khi đó, lược đồ chữ ký số EC-Schnorr-M sẽ chống lại tấn công này ngoại trừ xác suất không đáng kể (xác suất va chạm của hàm băm 𝐻1).
Lược đồ chữ ký số EC-Schnorr-M có độ an toàn tương đương với EC- Schnorr gốc (được chứng minh ở phần sau) nhưng có ưu điểm là chống được các bộ sinh số ngẫu nhiên tồi, thường hay gặp khi cài đặt không đúng hoặc bị tấn công có chủ đích đối với bộ sinh số ngẫu nhiên.
Một điểm chú ý nữa đối với EC-Schnorr-M, vì là lược đồ chữ ký số xác suất nên các tấn công gây lỗi trên lược đồ chữ ký số EC-Schnorr tất định đã phân tích ở trên khó có thể áp dụng đối lược đồ chữ ký số EC-Schnorr-M.
2.3.4. Phân tích về độ an toàn của EC-Schnorr-M trước kiểu tấn công giả mạo sử dụng thông điệp được lựa chọn thích nghi
Tiếp theo, chúng ta sẽ xem xét trường hợp bộ sinh số ngẫu nhiên là “tốt”. Như một ví dụ minh họa, NCS chứng minh rằng hai lược đồ EC- Schnorr và EC-Schnorr-M sẽ có độ an toàn tương đương. Thuật ngữ “an toàn” mà NCS sử dụng với ý nghĩa là khả năng chống các tấn công nhằm giả mạo chữ ký.
Mệnh đề 2.2. Với cùng điều kiện tham số miền, cặp khóa và hàm băm, lược
đồ chữ ký số EC-Schnorr-M an toàn tương đương với lược đồ chữ ký số EC- Schnorr gốc dưới tấn công giả mạo chữ ký sử dụng thông điệp được lựa chọn thích nghi.
Chứng minh: Chúng ta giả sử rằng lược đồ chữ ký số EC-Schnorr gốc và lược đồ EC-Schnorr-M có chung bộ tham số miền và cặp khóa bí mật, công khai như sau:
- Số nguyên tố p lớn xác định trường hữu hạn 𝔽𝑝.
- Đường cong elliptic 𝐸(𝐴, 𝐵) ∶ 𝑦2 = 𝑥3 + 𝐴𝑥 + 𝐵 với A, B 𝔽𝑝, 4𝐴3 + 27𝐵2 ≠ 0 𝑚𝑜𝑑 𝑝.
- Điểm cơ sở 𝑃 = (𝑥𝑅, 𝑦𝑅) 𝐸(𝐴, 𝐵) có cấp 𝑞 nguyên tố.
- Hai hàm băm H và H1 là các hàm ngẫu nhiên3 kháng va chạm, kháng tiền ảnh, tiền ảnh thứ hai.
- Cặp khóa bí mật/công khai của người ký nào đó (a là khóa bí mật của người ký, Q = aP là khóa công khai).
3Hàm trả giá trị ngẫu nhiên đối với mỗi đầu vào mới, tuy nhiên nếu một đầu vào được tính hai lần thì chỉ một kết quả
Thuật toán ký EC-Schnorr gốc Thuật toán ký EC-Schnorr-M
1 𝑘 ∈𝑅 [1, 𝑞 − 1] 𝑘 ∈𝑅 [1, 𝑞 − 1], 𝑘𝑀 = 𝐻1(𝑘||𝑚), nếu 𝑘𝑀 = 0 𝑚𝑜𝑑 𝑞 thì chọn lại 𝑘 2 𝑅 = 𝑘𝑃 = (𝑥𝑅, 𝑦𝑅) 𝑅 = 𝑘𝑀𝑃 = (𝑥𝑅, 𝑦𝑅)
3 𝑟 = 𝐻(𝑚||𝑥𝑅), nếu r = 0 mod q thì quay lại bước 1
𝑟 = 𝐻(𝑚||𝑥𝑅), nếu 𝑟 = 0 𝑚𝑜𝑑 𝑞 thì quay lại bước 1
4 s = (𝑘 – 𝑎𝑟) 𝑚𝑜𝑑 𝑞, nếu 𝑠 = 0 thì quay lại bước 1
𝑠 = (𝑘𝑀 – 𝑎𝑟) 𝑚𝑜𝑑 𝑞, nếu 𝑠 = 0 thì quay lại bước 1
5 Chữ ký của 𝑚 là (𝑟, 𝑠) Chữ ký của𝑚là (𝑟, 𝑠)
Thuật toán xác minh của EC-Schnorr gốc
Thuật toán xác minh của EC-Schnorr-M
1 𝑟, 𝑠 [1, 𝑞– 1]? 𝑟, 𝑠 [1, 𝑞– 1]?
2 𝑅 = 𝑠𝑃 + 𝑟𝑄 = (𝑥𝑅, 𝑦𝑅) 𝑅 = 𝑠𝑃 + 𝑟𝑄 = (𝑥𝑅, 𝑦𝑅)
3 𝑟 = 𝐻(𝑚||𝑥𝑅)? 𝑟 = 𝐻(𝑚||𝑥𝑅)?
Giả sử tồn tại cặp thông điệp, chữ ký giả mạo hợp lệ (trước kiểu tấn công tốt nhất bằng việc sử dụng thông điệp được lựa chọn thích nghi) của EC- Schnorr là (𝑚, (𝑟, 𝑠)), thì nó cũng là cặp giả mạo hợp lệ của EC-Schnorr-M do phương trình và các bước xác minh của cả hai lược đồ là giống nhau. Do đó, EC-Schnorr “không kém an toàn hơn” EC-Schnorr-M.
Ngược lại, nếu ta có thể giả mạo cặp (thông điệp, chữ ký) hợp lệ của EC-Schnorr-M là (𝑚, (𝑟, 𝑠)) thì nó cũng là cặp giả mạo hợp lệ của EC- Schnorr. Do đó, EC-Schnorr-M cũng “không kém an toàn hơn” EC-Schnorr
Như vậy, chúng ta có thể kết luận rằng EC-Schnorr-M là “an toàn tương đương” với EC-Schnorr gốc.■
Định lý 2.3 [19]. Nếu một giả mạo tồn tại của lược đồ chữ ký Schnorr được tìm thấy dưới một tấn công sử dụng thông điệp được lựa chọn thích nghi, có xác suất thành công đáng kể, thì bài toán logarit rời rạc trong các nhóm con có thể được giải trong thời gian đa thức.
Kết hợp kết quả của Mệnh đề 2.2 và Định lý 2.3, chúng ta thu được hệ quả sau đối với lược đồ chữ ký số EC-Schnorr-M như sau.
Hệ quả 2.4. Lược đồ chữ ký số EC-Schnorr-M an toàn trước kiểu tấn công sử
dụng thông điệp được lựa chọn thích nghi.