NCS đã thực nghiệm các thuật toán sinh khóa, ký và kiểm tra chữ ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M. Kết quả thực nghiệm được thực hiện trên phần mềm mã nguồn mở Sagemath trên máy tính với năng lực tính toán CPU Intel Core i7-6700 3.4 Ghz, 8Gb RAM. NCS sử dụng các tham số NIST với có kích thước 256 bit cùng với
TIEU LUAN MOI download : skknchat@gmail.com 105 : = 1157920892103562487626974469494075735300861434152903141 95533631308867097853951 ≔ -3 ≔ 4105836372515214212932612978004726840911444101599372555 4835256314039467401291 : = 1157920892103562487626974469494075735299969552241357603 42422259061068512044369
Trên mỗi thông điệp, NCS thực hiện 100 lần tính chữ ký sau đó lấy kết quả thời gian thực hiện trung bình nhằm đánh giá chính xác nhất thời gian thực hiện của các thuật toán. Do NCS sử dụng thuật toán ký ngẫu nhiên nên cùng một thông điệp khi ta thực hiện ký 100 lần thì sẽ sinh ra 100 chữ ký khác nhau. Hàm băm được sử dụng là hàm băm SHA256 được hỗ trợ trong thư viện Python.
Lược đồ chữ ký số
EC-Schnorr
EC-
TIEU LUAN MOI download : skknchat@gmail.com
106
Qua kết quả thực nghiệm, ta có thể thấy rằng:
1. Thuật toán sinh khóa của lược đồ chữ ký số EC-Schnorr và EC-
Schnorr-M có thời gian thực hiện xấp xỉ nhau và không phụ thuộc vào kích thước thông điệp. Sai số giữa các lần thực hiện (0,001 giây) là phép sai số thực hiện trên máy tính.
2. Việc thêm các điều kiện kiểm tra khóa bí mật dài hạn và khóa bí mật
tức thời hầu như không ảnh hưởng đến tốc độ thực thi của thuật toán sinh khóa và ký.
3. Thuật toán ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M có thời gian thực hiện phụ thuộc vào kích thước thông điệp. Với các văn bản có kích thước nhỏ thì hai thuật toán ký của hai lược đồ có thời gian sấp xỉ nhau. Khi kích thước văn bản lớn hơn thì thời gian chênh lệch tăng lên. Điều này là do trong thuật toán ký của lược đồ chữ ký số EC-Schnorr-M sử dụng thêm một phép tính hàm băm so với thuật toán ký của lược đồ chữ ký EC-Schnoor.
4. Thuật toán kiểm tra chữ ký của lược đồ chữ ký EC-Schnorr và EC-
Schnorr-M có thời gian thực hiện xấp xỉ nhau và phụ thuộc vào kích thước thông điệp. Cụ thể, kích thước thông điệp nhỏ thì ta có thời gian kiểm tra chữ ký nhanh hơn và ngược lại. Tuy nhiên, với kích thước văn bản khoảng 19,2MB thì thời gian kiểm tra chữ ký của hai thuật toán vẫn rất nhanh (xấp xỉ 0,085 giây)