Bài viết đề xuất một phương pháp xây dựng lược đồ chữ ký số dựa trên tính khó của bài toán logarit rời rạc. Từ phương pháp được đề xuất có thể triển khai ra các lược đồ chữ ký khác nhau để lựa chọn phù hợp cho các ứng dụng trong thực tế.
Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX “Nghiên cứu ứng dụng Công nghệ thông tin (FAIR'9)”; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00055 MỘT PHƯƠNG PHÁP XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC Lưu Hồng Dũng 1, Nguyễn Đức Thụy2, Lê Đình Sơn3, Nguyễn Thị Thu Thủy4 Khoa Công nghệ thông tin, Học viện Kỹ thuật Quân Khoa Công nghệ thông tin, Cao đẳng Kinh tế - Kỹ thuật Tp Hồ Chí Minh Phịng SĐH, Học viện Kỹ thuật Quân Khoa Cơ bản, Cao đẳng Kinh tế - Kỹ thuật Quảng Nam luuhongdung@gmail.com, thuyphulam2013@gmail.com, sonld2004@gmail.com, thuytoankhcb@gmail.com TÓM TẮT— Bài báo đề xuất phương pháp xây dựng lược đồ chữ ký số dựa tính khó tốn logarit rời rạc Từ phương pháp đề xuất triển khai lược đồ chữ ký khác để lựa chọn phù hợp cho ứng dụng thực tế Từ khóa— Chữ ký số, lược đồ chữ ký số, thuật toán chữ ký số, toán logarit rời rạc I ĐẶT VẤN ĐỀ Lƣợc đồ chữ ký số xây dựng toán logarit rời rạc lần đƣợc T ElGamal [1] đề xuất vào năm 1985 Phƣơng pháp xây dựng lƣợc đồ chữ ký ElGamal đƣợc sử dụng nhiều lƣợc đồ chữ ký phát triển sau đó, mà quan trọng lƣợc đồ chữ ký Schnorr [2] với việc cải tiến tham số hệ thống nhằm cho phép rút gọn độ dài chữ ký giảm độ phức tạp tính tốn thủ tục sinh kiểm tra chữ ký Các chuẩn chữ ký số Hoa Kỳ [3], Nga [4], … đƣợc xây dựng sở kết hợp phƣơng pháp ElGamal Schnorr Các lƣợc đồ chữ ký đƣợc gọi chung họ chữ ký ElGamal Trong [5] tác giả đề xuất phƣơng pháp xây dựng lƣợc đồ chữ ký số đƣợc phát triển từ phƣơng pháp xây dựng họ chữ ký ElGamal, ƣu điểm phƣơng pháp đề xuất phát triển đƣợc nhiều lƣợc đồ chữ ký khác cho ứng dụng thực tế Trong báo này, nhóm tác giả tiếp tục đề xuất phƣơng pháp xây dựng lƣợc đồ chữ ký số dựa tính khó tốn logarit rời rạc, nhiên phƣơng pháp đề xuất có nguyên tắc thiết kế hoàn toàn khác với phƣơng pháp xây dựng họ chữ ký ElGamal Tƣơng tự [5], ƣu điểm phƣơng pháp đề xuất từ phát triển đƣợc nhiều lƣợc đồ chữ ký khác để lựa chọn phù hợp với yêu cầu ứng dụng thực tế Hiện tại, chƣa có kết nghiên cứu tƣơng tự đƣợc cơng bố nƣớc II XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI TOÁN LOGARIT RỜI RẠC A Phương pháp xây dựng lược đồ chữ ký toán logarit rời rạc Bài toán logarit rời rạc Cho p số nguyên tố, g phần tử sinh nhóm ℤp* Khi tốn logarit rời rạc trƣờng hữu hạn nguyên tố DLP(p,g) đƣợc phát biểu nhƣ sau: Bài toán DLP(g,p) : Với số nguyên dƣơng y ℤp*, tìm x thỏa mãn phƣơng trình: g x mod p y (1.1) Giải thuật cho tốn DLP(g,p) đƣợc viết nhƣ thuật tốn tính hàm DLP(g,p)(.) với biến đầu vào y giá trị hàm nghiệm x phƣơng trình (1.1): x DLP( g , p ) ( y) (1.2) Dạng lƣợc đồ chữ ký xây dựng theo phƣơng pháp đề xuất cho phép thực thể ký hệ thống dùng chung tham số {g, p}, thành viên U hệ thống tự chọn cho khóa bí mật x thỏa mãn: 1< x < (p-1), tính cơng khai tham số: y g x mod p (1.3) Chú ý: (i) Mặc dù tốn DLP(g,p) khó, nhiên khơng phải với yℤp* việc tính DLP(g,p) (y) khó, chẳng hạn y g x mod p , với x khơng đủ lớn cách duyệt dần x = 1, 2, tìm đƣợc nghiệm (1.2) ta tìm đƣợc khóa bí mật x, tham số mật x phải đƣợc lựa chọn cho việc tính DLP(g,p) (y) khó (ii) Với lựa chọn x nêu trên, có ngƣời ký U biết đƣợc giá trị x, việc biết đƣợc x đủ để xác thực U MỘT PHƢƠNG PHÁP XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI TOÁN LOGARIT RỜI RẠC 454 B Xây dựng lược đồ chữ ký số toán DLP(p,g) Dạng lƣợc đồ đề xuất xây dựng dựa tính khó giải tốn DLP(g,p) đƣợc thiết kế theo dạng lƣợc đồ sinh chữ ký thành phần tƣơng tự nhƣ DSA chuẩn chữ ký số DSS (Digital Signature Standard) Hoa Kỳ [3] hay GOST R34.10-94 [4] Liên bang Nga Giả sử khóa bí mật ngƣời ký x đƣợc chọn ngẫu nhiên khoảng (1, p) khóa cơng khai tƣơng ứng y đƣợc hình thành từ x theo (1.3): y g x mod p Ở p số nguyên tố đƣợc chọn cho việc giải toán DLP(g,p) (y) khó, g phần tử sinh nhóm ℤp* có bậc q, với q|(p-1) Giả sử (r,v) chữ ký lên tin M, u giá trị: < u < q r đƣợc tính từ u theo cơng thức: r g u mod p (1.4) v giá trị đƣợc tính từ s theo cơng thức: v g s mod p (1.5) Cũng giả thiết phƣơng trình kiểm tra lƣợc đồ có dạng: v f1 M , f r ,s r f2 M , f r ,s y f M , f r , s mod p Ở f (r , s) hàm r s Do (1.5), nên f (r , s) biểu diễn dƣới dạng hàm r v: f (r, s) F (r, v) đƣợc lựa chọn khác trƣờng hợp cụ thể, ví dụ nhƣ: F (r , v) r v 1 , F (r , v) r 1 v , F (r , v) r v , F (r , v) r v ,… Xét trƣờng hợp: f (r, s) F (r, v) r v mod p r g s mod p (1.6) và: f (r, s) F (r, v) g k mod p (1.7) với k đƣợc chọn ngẫu nhiên khoảng (1, q) Đặt: g k mod p Z , ta có: f (r, s) F (r, v) Z , nên đƣa phƣơng trình kiểm tra dạng: g s f1 M ,Z g u f2 M ,Z g x f M , Z (1.8) mod p Từ (1.1), (1.3), (1.4) (1.8) ta có: s f1 (M , Z ) u f (M , Z ) x f (M , Z )mod q Từ (1.9) suy ra: (1.9) s u f1 (M , Z ) 1 f (M , Z ) x f1 (M , Z ) 1 f (M , Z ) mod q (1.10) Mặt khác, từ (1.6) (1.7) ta có: s u mod q k (1.11) Từ (1.10) (1.11) ta có: u f (M , Z ) 1 f (M , Z ) x f1 (M , Z ) 1 f (M , Z ) u mod q k hay: u ( f (M , Z ) suy ra: 1 f (M , Z ) 1) x f1 (M , Z ) 1 f (M , Z ) mod q k u f1 (M , Z ) 1 f (M , Z ) 1) 1 (k x f1 (M , Z ) 1 f (M , Z ) mod q (1.12) Từ (1.12), thành phần thứ chữ ký đƣợc tính theo (1.4): r g u mod p thành phần thứ đƣợc tính theo (1.10): s u f1 (M , Z ) 1 f (M , Z ) x f1 (M , Z ) 1 f (M , Z ) mod q Từ đây, dạng lƣợc đồ chữ ký tƣơng ứng với trƣờng hợp: F (r, v) r v mod p g k mod p đƣợc nhƣ Bảng 1, Bảng Bảng dƣới Lƣu Hồng Dũng, Nguyễn Đức Thụy, Lê Đình Sơn, Nguyễn Thị Thu Thủy 455 Bảng Thuật tốn hình thành tham số khóa Input: p, q, x Output: g, y [1] select h: h p [2] g h p 1 / q mod p [3] if ( g = 1) then goto [1] [4] y g x mod p [5] return {g,y} Chú thích: (i) p,q: số nguyên tố thỏa mãn điều kiện: p N q 1, N=1,2,3,… (ii) x,y: khóa bí mật, cơng khai đối tƣợng ký U Bảng Thuật toán hình thành chữ ký Input: p, q, g, x, M Output: (r,s) [1] select k: k q [2] Z g k mod p (1.13) [3] w1 f1 (M , Z ) [4] w1 w1 1 mod q [5] w2 f (M , Z ) [6] w w1 w2 [7] if (gcd( w 1, q) 1) goto [1] [8] w3 f (M , Z ) [9] u w 11 k x w1 w3 mod q [10] r g mod p [11] s u w x w1 w3 mod q u (1.14) (1.15) (1.16) [12] return (r,s) Chú thích: (i) M: tin cần ký, với: M (ii) (r,s): chữ ký U lên M {0,1} Bảng Thuật toán kiểm tra chữ ký Input: p, q, g, y, {M,(r,s)} Output: true / false [1] Z f (r , s) [2] w1 f1 (M , Z ) [3] w2 f (M , Z ) [4] w3 f (M , Z ) [5] A g s.w mod p (1.17) [6] B r w y w mod p (1.18) [7] if ( A B ) then {return true } else {return false } Chú thích: (i) M, (r,s): tin, chữ ký cần thẩm tra (ii) Nếu kết trả true tính tồn vẹn nguồn gốc M đƣợc khẳng định Ngƣợc lại, kết false M bị phủ nhận nguồn gốc tính tồn vẹn MỘT PHƢƠNG PHÁP XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI TOÁN LOGARIT RỜI RẠC 456 Tính đắn dạng lƣợc đồ đề xuất Điều cần chứng minh là: cho p, q số nguyên tố với q|(p-1), h p , g h( p 1) / q mod p , k , x q , y g x mod p , Z f (r, s) g k mod p , w1 f1 (M , Z ) , w1 w1 1 mod q , w2 f (M , Z ) , w w1 w2 , gcd( w 1, q) , w3 f3 (M , Z ) , u w 11 k x w1 w3 mod q , r g u mod p , s u w x w1 w3 mod q Nếu: A g s.w1 mod p , B r w2 y w3 mod p thì: A B Tính đắn lƣợc đồ dạng tổng quát đƣợc chứng minh nhƣ sau: Từ (1.17) (1.18) ta có: A g s.w1 mod p g s f1 ( M ,Z ) mod p g u f1 ( M ,Z ) 1 f ( M , Z ) x f1 ( M , Z ) 1 f ( M , Z ) f1 ( M , Z ) (1.19) mod p g u f2 ( M ,Z ) x f3 ( M ,Z ) mod p Từ (1.14) (1.19) ta lại có: B r w2 y w3 mod p g u f2 ( M ,Z ) g x f 3( M ,Z ) mod p (1.20) g u f2 ( M ,Z ) x f3 ( M ,Z ) mod p Từ (1.19) (1.20) suy ra: A B Đây điều cần chứng minh C Một lược đồ chữ ký phát triển theo phương pháp đề xuất Lƣợc đồ chữ ký LD 16.5-01 Lƣợc đồ chữ ký - ký hiệu LD 16.5-01, đƣợc phát triển từ dạng lƣợc đồ đề xuất với lựa chọn: , H(.) hàm băm H(M) giá trị đại diện tin M Các thuật tốn hình thành tham số khóa, thuật tốn ký kiểm tra chữ ký lƣợc đồ đƣợc mô tả Bảng 4, Bảng Bảng dƣới f1 (M , Z ) Z , f (M , Z ) H (M ) , f (M , Z ) Z Bảng Thuật tốn hình thành tham số khóa Input: p, q, x Output: g, y, H(.) [1] select h: h p [2] g h p1 / q mod p [3] if ( g = 1) then goto [1] [4] y g x mod p (2.1) [5] select H : 0,1 Z t , q t p [6] return {g,y,H(.)} Bảng Thuật toán ký Input: p, q, g, x, M – tin cần ký Output: (r,s) – chữ ký U lên M [1] E H (M ) [2] select k: k q [3] Z g k mod p [4] if ( (gcd( Z , q) 1) OR (gcd( Z 1 E 1, q) 1) ) then goto [2] [5] [6] [7] [8] u Z 1 E k x mod q r g u mod p s u Z 1 E x mod q return (r,s) (2.2) 1 (2.3) (2.4) Bảng Thuật toán kiểm tra Input: p, q, g, y, M, (r,s) Output: true / false [1] E H (M ) [2] W r g s mod p [3] A g s.W mod p [4] B r E yW mod p [5] if ( A B ) then {return true } else {return false } (2.5) (2.6) Lƣu Hồng Dũng, Nguyễn Đức Thụy, Lê Đình Sơn, Nguyễn Thị Thu Thủy 457 Tính đắn lƣợc đồ LD 16.5 - 01 Điều cần chứng minh là: Cho p, q số nguyên tố với q|(p-1), H : 0,1 Z n , q n p , k , x q , y g x mod p , Z g k mod p , E H M , u Z 1 E 1 k x mod q , r g u mod p , s.W mod p , B r E yW mod p thì: A B s u Z 1 E x mod q Nếu: W r g s mod p , A g 1 Tính đắn lƣợc đồ đề xuất đƣợc chứng minh nhƣ sau: Từ (2.2), (2.3), (2.4) (2.5) ta có: A g s.W mod p g s.g s r mod p mod p g s.r v mod p mod p g s.Z mod p g u.Z 1 (2.7) mod p g u E x.Z mod p E x Z Từ (2.1), (2.2), (2.3) (2.6) ta lại có: B r E yW mod p g u.E g x.g r mod p mod p s g u.E g x.r v mod p mod p g u.E x.Z (2.8) Từ (2.7) (2.8) suy ra: A B Đây điều cần chứng minh Mức độ an toàn lƣợc đồ LD 16.5-01 Ở dạng lƣợc đồ đề xuất, khóa cơng khai đƣợc hình thành từ khóa bí mật dựa tính khó giải tốn logarit rời rạc trƣờng hữu hạn nguyên tố DLP(g,p) Vì vậy, tham số {p,q,g} đƣợc chọn để toán DLP(g,p) khó mức độ an tồn lƣợc đồ đề xuất xét theo khả chống cơng làm lộ khóa mật đƣợc đánh giá mức độ khó tốn DLP(g,p) Cần ý rằng, để tốn DLP khó tham số {p,q,g,n} cần phải đƣợc lựa chọn tƣơng tự nhƣ DSA [3] hay GOST R34.10-94 [4], với: | p | 512bit , | q | 160bit , | n | 160bit Từ Thuật toán kiểm tra (Bảng 6) lƣợc đồ LD 16.5-01 cho thấy, cặp (r,s) đƣợc công nhận chữ ký hợp lệ U lên tin M thỏa mãn điều kiện: g s g s r mod p r E y g s r mod p mod p (2.9) Ở đây: U đối tƣợng ký sở hữu khóa cơng khai y E H (M ) giá trị đại diện tin cần thẩm tra M Từ kết nghiên cứu đƣợc cơng bố, thấy việc tìm đƣợc cặp (r,s) giả mạo thỏa mãn (2.9) dạng tốn khó chƣa có lời giải tham số {p,q,n} đƣợc chọn đủ lớn để phƣơng pháp “vét cạn” không khả thi ứng dụng thực tế III KẾT LUẬN Bài báo đề xuất phƣơng pháp thiết kế lƣợc đồ chữ sốmới dựa tính khó giải tốn logarit rời rạc đƣợc sử dụng để phát triển lƣợc đồ lƣợc đồ chữ ký khác cho ứng dụng thực tế Bài báo đề xuất lƣợc đồ chữ ký xây dựng theo phƣơng pháp (lƣợc đồ LD 16.5 – 01), cho thấy tính khả thi phƣơng pháp đƣợc đề xuất Mức độ an toàn hiệu thực lƣợc đồ chữ ký phát triển theo phƣơng pháp đề xuất phụ thuộc vào việc lựa chọn hàm f (r , s) , F (r , v) , f1, 2,3 (M , Z ) tham số hệ thống, việc lựa chọn nói hợp lý khả ứng dụng lƣợc đồ dạng thực tế khả quan Tuy nhiên, mục tiêu báo giới hạn việc đề xuất phƣơng pháp xây dựng lƣợc đồ chữ ký mới, nên việc triển khai ứng dụng phƣơng pháp đề xuất để tạo lƣợc đồ chữ ký có độ an tồn hiệu thực cao, ví dụ nhƣ việc lựa chọn hàm f (r , s) , F (r , v) , f1, 2,3 (M , Z ) , không đƣợc đặt ra, vấn đề cần đƣợc nghiên cứu TÀI LIỆU THAM KHẢO [1] T ElGamal (1985) “A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory Vol IT-31, No pp.469–472 [2] C P Schnorr (1991) “Efficient signature generation by smart cards” J Cryptol., 4(3):161–174 [3] National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, U.S Department of Commerce, 1994 [4] 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) [5] Luu Hong Dung, Le Dinh Son, Ho Nhat Quang, Nguyen Duc Thuy (2015) “DEVELOPING DIGITAL SIGNATURE SCHEMES BASED ON DISCRETE LOGARITHM PROBLEM” Hội nghị khoa học Quốc gia lần thứ VIII Nghiên cứu ứng dụng Công nghệ thông tin (FAIR 2015) ISBN: 978-604-913-397-8 458 MỘT PHƢƠNG PHÁP XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI TOÁN LOGARIT RỜI RẠC A NEW CONSTRUCTION METHOD OF DIGITAL SIGNATURE SCHEME BASED ON DISCRETE LOGARITHM PROBLEM Luu Hong Dung, Nguyen Duc Thuy, Le Dinh Son, Nguyen Thi Thu Thuy ABSTRACT—This paper proposes methods for developing digital signature scheme based on the difficulty of the discrete logarithm problem With the new method proposed, can develop some signature schemes for practical applications Keywords— Digital Signature, Digital Signature Schema, Digital Signature Algorithm, Discrete Logarithm Problem ...MỘT PHƢƠNG PHÁP XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI TOÁN LOGARIT RỜI RẠC 454 B Xây dựng lược đồ chữ ký số toán DLP(p,g) Dạng lƣợc đồ đề xuất xây dựng dựa tính khó giải tốn... điều cần chứng minh C Một lược đồ chữ ký phát triển theo phương pháp đề xuất Lƣợc đồ chữ ký LD 16.5-01 Lƣợc đồ chữ ký - ký hiệu LD 16.5-01, đƣợc phát triển từ dạng lƣợc đồ đề xuất với lựa chọn:... chữ ký cần thẩm tra (ii) Nếu kết trả true tính tồn vẹn nguồn gốc M đƣợc khẳng định Ngƣợc lại, kết false M bị phủ nhận nguồn gốc tính tồn vẹn MỘT PHƢƠNG PHÁP XÂY DỰNG LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN BÀI