Tóm tắt: Bài báo đề xuất xây dựng thuật toán chữ ký số trên cơ sở phát triển hệ mã khóa bí mật Pohlig - Hellman. Thuật toán chữ ký mới đề xuất có nguyên tắc làm việc tương tự thuật toá[r]
(1)PHÁT TRIỂN THUẬT TOÁN CHỮ KÝ SỐ DỰA TRÊN HỆ MÃ POHLIG - HELLMAN
Nguyễn Vĩnh Thái1*, Lưu Hồng Dũng2
Tóm tắt: Bài báo đề xuất xây dựng thuật toán chữ ký số sở phát triển hệ mã khóa bí mật Pohlig - Hellman Thuật toán chữ ký đề xuất có nguyên tắc làm việc tương tự thuật toán chữ ký RSA, song cho phép nhiều đối tượng ký sử dụng chung modulo p thuật toán ký thuật toán kiểm tra chữ ký Đồng thời, báo phân tích mức độ an tồn lược đồ đề xuất, cho thấy khả ứng dụng thực tế
Từ khóa: Chữ ký số, Thuật toán chữ ký số, Lược đồ chữ ký số, Hệ mật khóa bí mật, Hệ mã Pohlig - Hellman
1 ĐẶT VẤN ĐỀ
Hệ mã Pohlig - Hellman [1] đề xuất công bố S Pohlig M Hellman vào năm 1976 Đây hệ mã khóa bí mật xây dựng theo phương pháp hệ mã lũy thừa (RSA [2] , ElGamal [3], ) Hệ mã Pohlig - Hellman có phương pháp mã hóa hồn tồn hệ mật RSA Song hệ mã Pohlig - Hellman sử dụng modulo p số nguyên tố nên khóa mã hóa giải mã phải giữ bí mật hồn tồn, lý mà hệ mã Pohlig - Hellman hệ mã khóa bí mật khơng thực chức hệ chữ ký số hệ mật RSA
Bài báo đề xuất thuật toán chữ ký số phát triển từ hệ mã Pohlig - Hellman, lược đồ đề xuất có nguyên tắc làm việc tương tự lược đồ RSA, song lại cho phép đối tượng ký sử dụng chung modulo p nguyên tố lược đồ DSA chuẩn DSS [4] Hoa Kỳ hay GOST R34.10 - 94 Liên bang Nga [5]
2 PHÁT TRIỂN THUẬT TOÁN CHỮ KÝ SỐ DỰA TRÊN HỆ MÃ POHLIG - HELLMAN
2.1 Hệ mã Pohlig - Hellman
2.1.1 Thuật toán hình thành tham số khóa
Thuật tốn bao gồm bước sau: [1] Sinh số nguyên tố p lớn, mạnh [2] Tính: (p)(p1)
[3] Chọn khóa mã hóa e giá trị ngẫu nhiên thỏa mãn: 1e(p) và:
)) ( ,
gcd(e p
[4] Tính khóa giải mã d theo cơng thức: d e1mod(p)
[5] Khóa bí mật chia sẻ đối tượng gửi/mã hóa nhận/giải mã tham số: p, d e
2.1.2 Thuật tốn mã hóa giải mã
a) Thuật tốn mã hóa:
Thuật tốn bao gồm bước:
(2)[2] Người gửi sử dụng khóa mã hóa (e) để mã hóa tin:
C memodp
Bản mã tương ứng với tin M C b) Thuật toán giải mã:
Thuật toán kiểm tra bao gồm bước:
[1] Người nhận sử dụng khóa giải mã (d) để giải mã tin nhận được:
p C
m dmod
[2] Chuyển giá trị m thành tin ban đầu Nhận xét:
Trong hệ mã Pohlig - Hellman, khóa mã hóa (e) giải mã (d) giá trị nghịch đảo theo modul (p) Do p số nguyên tố, nên (p)(p1) Như vậy, cần biết giá trị e d dễ dàng tính giá trị Vì thế, khóa e d phải giữ bí mật hệ Pohlig - Hellman hệ mã khóa bí mật Cũng lí đó, hệ Pohlig - Hellman khơng thể thực vai trị hệ chữ ký số hệ mật RSA
2.2 Thuật toán chữ ký đề xuất MTA 17.3 - 01
Thuật toán chữ ký đề xuất, ký hiệu MTA 17.3 - 01, xây dựng theo nguyên tắc hệ mã Pohlig - Hellman bao gồm thuật tốn hình thành tham số khóa, thuật tốn ký kiểm tra chữ ký sau:
2.2.1 Thuật tốn hình thành tham số hệ thống khóa
a) Hình thành tham số hệ thống
Hình thành tham số bao gồm bước thực sau:
[1] Chọn số nguyên tố p lớn cho việc giải toán logarit rời rạc Zp khó
[2] Lựa chọn hàm băm (hash function) H: {0,1}* Zn , với: n p. [3] Công khai: p, H(.)
Ghi chú: Trong ứng dụng thực tế, p tham số hệ thống nhà cung cấp dịch vụ chứng thực số tạo
b) Thuật tốn hình thành khóa
Mỗi người dùng U hình thành cặp khóa bí mật cơng khai theo bước sau:
[1] Chọn giá trị ex thỏa mãn: 1ex p1 và: gcd(ex,p1)1
[2] Tính giá trị: dx ex 1mod(p1)
[3] Sử đụng thuật toán Euclide mở rộng [6] để tính giá trị a b cho: aexbdxmod(p1)1
[4] Tính giá trị khóa e theo công thức: eexbmod(p1) Kiểm tra nếu: gcd(e,p1)1 thực lại từ bước [3] [5] Tính giá trị khóa d theo cơng thức: d dxamod(p1) [6] Cơng khai: e ; giữ bí mật: d; hủy giữ bí mật: a, b,d ,x ex
2.2.2 Thuật toán chữ ký số
(3)Thuật tốn bao gồm bước:
[1] Tính giá trị đại diện tin cần ký (M): m = H (M)
[2] Hình thành phần thứ chữ ký: S m dmodp [3] Chữ ký số tương ứng với tin M S
b) Thuật toán kiểm tra
Thuật toán kiểm tra bao gồm bước:
[1] Tính giá trị đại diện tin cần thẩm tra (M): m = H(M)
[2] Tính giá trị m theo công thức: m S emodp
[3] Kiểm tra m m2modpthì chữ ký hợp lệ, nguồn gốc tính tồn vẹn tin cần thẩm tra công nhận
2.2.3 Tính đắn thuật tốn MTA 17.3 - 01
Tính đắn thuật tốn chữ ký đề xuất chứng minh qua bổ đề mệnh đề sau đây:
Bổ đề:
Nếu: p số nguyên tố, 1e p1, gcd(e,p1)1, d e1mod(p1)và p
m
0 thì: me.dmodpm
Chứng minh:
Thật vậy, ta có: d e1mod(p1) Nên: demod(p1)1 Do tồn số nguyên k cho: dek(p1)1
Theo định lý Euler [6] ta có: mp1modp1 Từ suy ra:
m p m p m p m
p m p m p m p m p k p k p k d e mod mod mod mod mod mod mod 1 1
Bổ đề chứng minh Mệnh đề:
Cho p số nguyên tố, 1ex p1, gcd(ex,p1)1, dx ex 1mod(p1),
1 )
mod(
e b d p
a x x , d dxamod(p1), eexbmod(p1),
1 ) ,
gcd(e p 0m p, S m d modp Nếu: m S emodp thì:
p m
m 2mod Chứng minh: Thật vậy, do:
p m m p m p m p m p m p p m p S m x x x x x x x x x x d e d e d b e a e d b e a d d e e d e mod mod mod mod mod mod mod mod
Theo Bổ đề, ta có: mex.dx modpm
Từ suy ra: m m2modp Mệnh đề chứng minh
(4)Mức độ an tồn thuật tốn đề xuất đánh giá qua khả xem xét đây:
a) Khả chống cơng làm lộ khóa mật
Với thuật tốn hình thành khóa mục 2.1.1, hồn tồn chọn cho d e khơng nghịch đảo với theo modulo (p-1) Nghĩa từ e khơng thể tính d phép nghịch đảo theo modulo (p-1). Ngồi ra, việc tính d cách giải toán logarit rời rạc từ: S m d modp khơng khả thi, tốn khó giá trị tham số p chọn đủ lớn
b) Khả chống cơng thuật tốn chữ ký số
Bảng cho thấy thuật toán ký kiểm tra chữ ký MTA 17.3 - 01 thuật tốn chữ ký số RSA có chế làm việc hồn tồn Vì vậy, chứng minh đánh giá tính an tồn RSA áp dụng MTA 17.3 - 01
Bảng Thuật toán ký RSA MTA 17.3 – 01
Thuật toán Thuật toán ký
RSA S md n
mod
MTA 17.3 - 01 S m d p
mod
1
Bảng 2. Thuật toán kiểm tra RSA MTA 17.3 – 01
Thuật toán Thuật toán kiểm tra
RSA m S e n
mod
if m H(M)then S = true
MTA 17.3 - 01 m S e p
mod
if m H(M)2modpthen S = true 2.2.5 Hiệu thực thuật toán MTA 17.3 - 01
Hiệu thực thuật toán đánh giá thơng qua số phép tốn cần thực hay tổng thời gian cần thực phép tốn để hình thành kiểm tra chữ ký Để so sánh hiệu thực thuật toán đề xuất với thuật toán chữ ký số RSA, qui ước sử dụng ký hiệu:
Texp : thời gian thực phép toán mũ modul; Th : thời gian thực hàm băm (hashfunction) Tmul : thời gian thực phép toán nhân modul
a) Thời gian thực thuật tốn RSA:
Thời gian hình thành chữ ký là: (Texp + Th) Thời gian kiểm tra chữ ký là: (Texp + Th) Tổng thời gian thực hiện: (2Texp + 2Th )
b) Thời gian thực thuật toán MTA 17.3 - 01: Thời gian hình thành chữ ký là: (Texp + Th)
(5)Tổng hợp thời gian thực thuật toán đề xuất MTA 17.3 - 01 RSAđược bảng sau:
Bảng Thời gian thực thuật toán MTA 17.3 - 01 RSA
Nhận xét:
Từ bảng thấy hiệu thực thuật toán MTA 17.3 - 01 và thuật toán RSA tương đương nhau.
3 KẾT LUẬN
Bài báo đề xuất thuật toán chữ ký từ việc phát triển hệ mã khóa bí mật Pohlig - Hellman Thuật tốn đề xuất có nguyên tắc làm việc lược đồ chữ ký RSA, song đối tượng ký sử dụng chung modulo p mà không ảnh hưởng đến độ an tồn lược đồ Một số phân tích sơ độ an toàn hiệu thực cho thấy khả ứng dụng thuật toán đề xuất hoàn toàn thực tế
TÀI LIỆU THAM KHẢO
[1] Pohlig, S and Hellman, M., ”An Improved Algorithm for Computing Logarithms over GF(p) and its Cryptographic Significance,” IEEE Trans on Info Theory Vol IT-24(1) pp 106-110 (Jan 1978)
[2].R L Rivest, A Shamir, L M Adleman, “A Method for Obtainỉng Digital Signatures and Public Key Cryptosystems”, Commun of the ACM, Voi 21, No 2, 1978, pp 120-126
[3] ElGamal T., “ A public key cryptosystem and a signature scheme based on discrete logarithms” IEEE Transactions on Information Theory 1985, Vol IT-31, No pp.469-472
[4].National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, US Department of Commerce, 1994
[5].GOST R 34.10-94 Russian Federation Standard Information Technology Cryptographic data Security “Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm”
Government Committee of the Russia for Standards, 1994 (in Russian)
[6].R Kenneth, “Elementary Number Theory and its Applications”, AT & T Bell Laboratories, 4th Edition, ISBN: 0-201- 87073-8, 2000
[7].Mark Stamp, Richard M Low , “Applied cryptanalysis: Breaking Ciphers in the Real World”. John Wiley & Sons, Inc., ISBN 978-0-470-1
[8].D Boneh, “Twenty Years of Attacks on the RSA Cryptosystem, Notices of the American Mathematical Society”, 46(2), 1999, pp 203-213
TT Thuật toán Tổng thời gian thực
1 RSA 2Texp + 2Th
(6)ABSTRACT
DEVELOPING A NEW DIGITAL SIGNATURE ALGORITHM BASED ON POLIGH - HELLMAN EXPONENTIATION CIPHER
In this paper, a new digital signature algorithm based on the Poligh - Hellman exponentiation cipher is proposed The proposed signature algorithm has the same working principle as the RSA signature algorithm, but allows multiple signatures to share the modulo p in signed algorithms and signature verification algorithms In addition to information security capabilities, the new algorithm has the ability to validate the integrity and origin of the message is confidential
Keywords: Public - Key Cryptosystem, Secret - Key Cryptosystem, Digital Signature Algorithm, Poligh - Hellman exponentiation cipher
Nhận ngày 16 tháng năm 2017 Hoàn thiện ngày 26 tháng 11 năm 2017 Chấp nhận đăng ngày 28 tháng 11 năm 2017
Địa chỉ: 1 Viện CNTT, Viện KH CN QS; Khoa CNTT, Học viện KTQS
*