Về tính hiệu quả của lược đồ chữ ký số EC-Schnorr

Một phần của tài liệu Nghiên cứu một số giải pháp đảm bảo an toàn và hiệu quả cho lược đồ chữ ký số kiểu ECSchnorr. (Trang 33 - 37)

Trong mục này NCS sẽ tiến hành lập hai bảng đánh giá về chi phí thực hiện của thuật toán tạo chữ ký (Bảng 1.1) và thuật toán xác minh chữ ký (Bảng 1.2) cho 4 lược đồ ECDSA, GOST R34.10-2012, ECGDSA và EC- Schnorr để thể hiện tính hiệu quả của lược đồ EC-Schnorr so với 3 lược đồ trước đó. Trước khi trình bày hai Bảng 1.1 và 1.2, NCS đưa ra một số ký hiệu và một kết quả nhỏ để giải thích cho sự hình thành của hai bảng này.

Ký hiệu về chi phí của các phép toán được thực hiện trong 4 lược đồ:

- I là chi phí của phép nghịch đảo, M là chi phí của phép nhân trên 𝔽𝑝. - MP là chi phí của phép nhân điểm trên 𝐸(𝔽𝑝).

Chú ý: Trong các thuật toán tạo cũng như kiểm tra chữ ký thì phần chi phí tính toán bỏ qua chi phí của những phép toán có bậc thấp như phép lấy ngẫu nhiên, phép so sánh.

Kết quả mà NCS đưa ra ở đây là:

Bổ đề 1.1. Giả sử hàm H được sử dụng trong lược đồ chữ ký EC-Schnorr có độ dài hash bằng kích thước của tham số 𝑞, xác suất để tìm được tiền nghịch ảnh 𝛼 sao cho 𝐻(𝛼) = 0 𝑚𝑜𝑑 𝑞 là ε, và 𝑡 là thương của phép chia 𝑝 cho 𝑞. Khi đó xác suất để thuật toán sinh chữ ký EC-Schnorr được thực hiện không bị vào lần lặp nào, ký hiệu là ρ, thỏa mãn: ρ (1 − 𝜀) (1 −𝑡+1

𝑞 ). (1.1)

Chứng minh:

Theo thuật toán ký của EC-Schnorr thì sự kiện (r = 0) xảy ra là tương đương với sự kiện với sự kiện (𝐻(𝑚||𝑥) = 0 𝑚𝑜𝑑 𝑞). Trường hợp này mang lại cho chúng ta 𝛼 = 𝑚||𝑥 thỏa mãn 𝐻(𝛼) = 0 𝑚𝑜𝑑 𝑞, mà theo giả thiết của Bổ đề 1.1 ta có ngay xác suất xảy ra sự kiện này là:

Prob(r = 0) = Prob(𝐻(𝑚||𝑥) = 0 𝑚𝑜𝑑 𝑞) = ε . (1.2) Bây giờ chúng ta khảo sát xác suất của sự kiện (s = 0)/(r ≠ 0). Sự kiện trên tương đương với:

k = a.r mod q

⇔ 𝑟 = 𝑘. 𝑎−1 𝑚𝑜𝑑 𝑞 ⇔ 𝑥 = 𝑘. 𝑎−1 𝑚𝑜𝑑 𝑞

Vì 𝑥 là phần tử thuộc 𝔽𝑝 nên không có quá 𝑡 + 1 giá trị 𝑥 thỏa mãn 𝑥 = 𝑘. 𝑎−1 𝑚𝑜𝑑 𝑞. Do đó, xác suất để sự kiện (s = 0) xảy ra là:

Prob(s = 0)  t+1

q . (1.3) Cuối cùng, từ (1.2) và (1.3) ta có:

Prob((r ≠ 0)(s ≠ 0))  (1 − ε) (1 −t+1 q ) và đây là điều cần chứng minh.■

Lược đồ Thuật toán sinh chữ ký. Đầu vào: m, a. Đầu ra: (r,s). Chi phí tính toán ECDSA Bước 1: Chọn 𝑘 ∈𝑅 [1, … , 𝑞 − 1]. Bước 2: Tính (x,y) = k.P.

Bước 3: Tính r = x mod q. Nếu 𝑟 = 0 quay về Bước 1.

Bước 4: Tính h = H(m).

Bước 5: Tính s = 𝑘−1(ℎ + 𝑎𝑟) mod q. Nếu 𝑠 = 0, quay lại Bước 1.

Bước 6: Đưa ra chữ ký là (𝑟, 𝑠). I + 2M + MP + H GOST R34. 10-2012 Bước 1: Chọn 𝑘 ∈𝑅 [1, … , 𝑞 − 1]. Bước 2: Tính (x,y) = k.P.

Bước 3: Tính r = x mod q. Nếu 𝑟 = 0 quay về Bước 1.

Bước 4: Tính h = H(m). Nếu (h mod q = 0), h = 1.

Bước 5: Tính s = (k.h + a.r) mod q.

Nếu 𝑠 = 0, quay lại Bước 1.

Bước 6: Đưa ra chữ ký là (𝑟, 𝑠).

2M + MP + H

ECGDSA Bước 1: Chọn 𝑘 ∈𝑅 [1, … , 𝑞 − 1].

Bước 2: Tính (x,y) = k.P.

Bước 3: Tính r = x mod q. Nếu 𝑟 = 0 quay về Bước 1.

Bước 4: Tính h = H(m).

Bước 5: Tính s = a.(k.r – h) mod q. Nếu 𝑠 = 0, quay lại Bước 1.

Bước 6: Đưa ra chữ ký là (𝑟, 𝑠).

2M + MP + H

EC-Schnorr Bước 1: Chọn 𝑘 ∈𝑅 [1, … , 𝑞 − 1].

Bước 2: Tính (x,y) = k.P.

Bước 3: Tính r = H(m||x) mod q. Nếu 𝑟 = 0 quay về Bước 1.

Bước 4: Tính s = (k – a.r) mod q. Nếu 𝑠 = 0, quay lại Bước 1.

Bước 5: Đưa ra chữ ký là (𝑟, 𝑠).

Lược đồ Thuật toán kiểm tra chữ ký. Đầu vào: m, 𝑄, (r,s).

Đầu ra: “Chữ ký hợp lệ” hoặc “Chữ ký không hợp lệ”.

Chi phí tính toán

ECDSA Bước 1:Xác minh 𝑟, 𝑠 có thuộc [1, 𝑞 − 1]?

Bước 2: Tính h = H(m).

Bước 3: Tính 𝑢 = ℎ. 𝑠−1mod q; 𝑣 = 𝑟. 𝑠−1 mod q.

Bước 4: Tính (x,y) = u.P + v.Q.

Bước 5: Tính r* = x mod q.

Bước 6: Nếu (r*=r) thì đưa ra “Chữ ký hợp lệ”. Ngược lại “Chữ ký không hợp lệ”.

I + 2M + 2MP + H

GOST R34. 10-2012

Bước 1:Xác minh 𝑟, 𝑠 có thuộc [1, 𝑞 − 1]?

Bước 2: Tính h = H(m).

Bước 3: Tính 𝑢 = 𝑠. ℎ−1 mod q; 𝑣 = 𝑟. ℎ−1 mod q.

Bước 4: Tính (x,y) = u.P + v.Q.

Bước 5: Tính r* = x mod q.

Bước 6: Nếu (r*=r) thì đưa ra “Chữ ký hợp lệ”. Ngược lại “Chữ ký hợp không lệ”.

I + 2M + 2MP + H

ECGDSA Bước 1:Xác minh 𝑟, 𝑠 có thuộc [1, 𝑞 − 1]?

Bước 2: Tính h = H(m).

Bước 3: Tính 𝑢 = ℎ. 𝑟−1 mod q; 𝑣 = 𝑠. 𝑟−1 mod q.

Bước 4: Tính (x,y) = u.P + v.Q.

Bước 5: Tính r* = x mod q.

Bước 6: Nếu (r*=r) thì đưa ra “Chữ ký hợp lệ”. Ngược lại “Chữ ký không hợp lệ”.

I + 2M + 2MP + H

EC-Schnorr Bước 1:Xác minh 𝑟, 𝑠 có thuộc [1, 𝑞 − 1]?

Bước 2: Tính (x,y) = s.P + r.Q.

Bước 3: Tính r* = H(m||x) mod q.

Bước 4: Nếu (r*=r) thì đưa ra “Chữ ký hợp lệ”. Ngược lại “Chữ ký không hợp lệ”.

2MP + H

Kết quả từ hai bảng trên cho thấy lược đồ chữ ký số EC-Schnorr thể hiện ưu thế rõ rệt về tính hiệu quả (sinh chữ ký và xác minh chữ ký nhanh) so với các lược đồ chữ ký khác như ECDSA, GOST R 34.10-2012, ECGDSA.

Một phần của tài liệu Nghiên cứu một số giải pháp đảm bảo an toàn và hiệu quả cho lược đồ chữ ký số kiểu ECSchnorr. (Trang 33 - 37)

Tải bản đầy đủ (PDF)

(123 trang)