Như đã đề cập, lược đồ chữ ký số EC-Schnorr được xây dựng dựa trên lược đồ định danh Schnorr trên nhóm điểm đường cong elliptic thông qua “phép biến đổi Fiat-Shamir”. Bộ tham số miền và ba thuật toán của lược đồ chữ ký số EC-Schnorr được mô tả trong [54] có thể được tóm lược như sau:
Bộ tham số miền gồm:
- Một số nguyên tố lớn � là đặc số của trường hữu hạn.
- Một đường cong elliptic �(�, �) xác định trên trường hữu hạn �� bởi phương trình � ∶ �2 = �3 + + với , � ∈ � � thỏa mãn 4� 3 + 27�2 ≠ 0 ��� �.
- Một điểm � ∈ �(��) có cấp nguyên tố �, gọi là điểm cơ sở.
Thuật toán sinh khóa ������:
1. Chọn một số nguyên ngẫu nhiên � ∈ [1, � − 1]. 2. Tính =� ��, đưa ra = �� � và �� = �.
Thuật toán ký ���� (tạo chữ ký cho thông điệp �):
1. Chọn một số nguyên ngẫu nhiên � ∈ [1, � − 1]. 2. Tính =� ��.
3. Tính =� �(||�|| �), nếu = 0 , quay lại bước 1.
4. Tính s = (k − ar) mod q, nếu s = 0 mod q, quay lại bước 1. 5. Đưa ra chữ ký (r, s).
Thuật toán xác minh ������ (xác minh tính hợp lệ của chữ ký σ = (, � )
trên thông điệp � theo khóa công khai ��): 1. Xác minh �, � có thuộc [1, − � 1]? 2. Tính R = sP + rQ.
3. Tính r* = H(m||xR) mod q.
4. Nếu ((((((((((((((( ∗ = r) thì đưa ra “chữ ký hợp lệ”, ngược lại đưa ra “chữ ký không hợp lệ”.
Tính đúng đắn của lược đồ chữ ký số EC-Schnorr: Để đảm bảo tính đúng
đắn thì lược đồ chữ ký số EC-Schnorr cần thỏa mãn điều kiện: nếu chữ ký ( , � ) được sinh ra từ thuật toán sinh chữ ký � ��� với thông điệp đầu vào � thì thuật toán xác minh sẽ đưa ra kết quả (, � ) là chữ ký hợp lệ trên thông điệp �. Thật vậy, vì (�, �) được sinh ra từ thuật toán sinh chữ ký ���� với
thông điệp đầu vào �, nên � = ( − �� ) , với � là số nguyên ngẫu nhiên thuộc [1, − 1 ] và = � (||�|| ��). Do đó, thuật toán xác minh đưa ra
= + �� = ( − �� ) + � (��) = ,
hay = � (||�|| �) là đúng. Vì vậy, thuật toán xác minh đưa ra kết quả (, � ) là chữ ký hợp lệ trên thông điệp �.