Phát triển thuật toán chữ ký số dựa trên hệ mã Poligh - Hellman

6 9 0
Phát triển thuật toán chữ ký số dựa trên hệ mã Poligh - Hellman

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết đề 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 Poligh – 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án chữ ký RSA, song cho phép nhiều đối tượng ký có thể cùng sử dụng chung một modulo p trong các thuật toán ký và thuật toán kiểm tra chữ ký. Đồng thời, bài báo cũng phân tích mức độ an toàn của lược đồ mới đề xuất, cho thấy khả năng ứng dụng của nó trong thực tế.

Cơng nghệ thơng tin PHÁT TRIỂN THUẬT TỐN CHỮ KÝ SỐ DỰA TRÊN HỆ MÃ POLIGH - 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 Poligh – Hellman Thuật tốn chữ ký đề xuất có ngun 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ã Poligh – Hellman ĐẶT VẤN ĐỀ Hệ mã Poligh – Hellman [1] đề xuất công bố S Poligh 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ã Poligh – Hellman có phương pháp mã hóa hồn tồn hệ mật RSA Song hệ mã Poligh – 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ã Poligh – 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ã Poligh – 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] PHÁT TRIỂN THUẬT TOÁN CHỮ KÝ SỐ DỰA TRÊN HỆ MÃ POLIGH – HELLMAN 2.1 Hệ mã Poligh – 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 ) = ( p − 1) [3] Chọn khóa mã hóa e giá trị ngẫu nhiên thỏa mãn: < e < ϕ ( p ) và: gcd(e, ϕ ( p )) = [4] Tính khóa giải mã d theo công thức: d = e −1 mod ϕ ( 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: [1] Biểu diễn tin cần ký M thành giá trị m tương ứng khoảng [0, p – 1] 180 N.V Thái, L.H Dũng, “Phát triển thuật toán chữ ký số dựa hệ mã Poligh – Hellman.” Công nghệ thông tin [2] Người gửi sử dụng khóa mã hóa (e) để mã hóa tin: C = m e mod p 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: m = C d mod p [2] Chuyển giá trị m thành tin ban đầu Nhận xét: Trong hệ mã Poligh – 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 ) = ( p − 1) Như vậy, cần biết giá trị e d hồn tồn dễ dàng tính giá trị Vì thế, khóa e d phải giữ bí mật hệ Poligh – Hellman hệ mã khóa bí mật Cũng lí đó, hệ Poligh – 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ã Poligh – 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}* a 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: < ex < p − và: gcd(ex , p − 1) = −1 [2] Tính giá trị: d x = (ex ) mod( p − 1) [3] Chọn giá trị ngẫu nhiên t thỏa mãn: < t < p − ( ) t [4] Tính giá trị khóa e theo công thức: e = (ex ) mod p mod( p − 1) Kiểm tra nếu: gcd(e, p − 1) = thực lại từ bước [3] ( t ) [5] Tính giá trị khóa d1 theo cơng thức: d1 = (d x ) mod p mod( p − 1) Kiểm tra nếu: gcd(d1 , p − 1) = thực lại từ bước [3] [6] Tính giá trị khóa d2 cơng thức: t t t t d = (d x ) mod( p − 1) × (ex ) mod( p − 1) − (d x ) mod p × (ex ) mod p mod( p − 1) ( ) Kiểm tra nếu: gcd(d , p − 1) = thực lại từ bước [3] Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 181 Công nghệ thông tin [7] Cơng khai: e ; giữ bí mât: d1, d2 2.2.2 Thuật toán chữ ký số a) Thuật toán ký 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) d [2] Hình thành phần thứ chữ ký: S1 = (m ) mod p d [3] Hình thành phần thứ hai chữ ký: S = (m ) mod p [4] Chữ ký số tương ứng với tin M cặp: S = (S1, S2) b) Thuật toán kiểm tra Thuật tố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) e [2] Tính giá trị m theo cơng thức: m = S × (S1 ) mod p [3] Kiểm tra m = m 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.4 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ổ đề 1: Nếu: p số nguyên tố, < e < p − , gcd(e, p − 1) = , d = e −1 mod( p − 1) ≤ m < p thì: m e.d mod p = m Chứng minh: Thật vậy, ta có: d = e −1 mod( p − 1) Nên: d × e mod( p − 1) = Do tồn số nguyên k cho: d × e = k × ( p − 1) + Theo định lý Euler [6] ta có: m ( p −1) mod p = Từ suy ra: me.d mod p = m k ( p −1)+1 mod p = m k ( p −1) mod p × m mod p ( (( )( ) ) p −1) = mk mod p × m mod p = × m mod p = m Bổ đề chứng minh Bổ đề 2: Nếu: p số nguyên tố, < e < p − , gcd(e, p − 1) = , d = e −1 mod( p − 1) , t t ≤ m < p thì: m(e ) (d ) mod p = m Chứng minh: Thật vậy, theo Bổ đề ta có: t t ( t m(e ) (d ) mod p = m (e.d ) mod p = m e.d mod p ( t −1 = m (e.d ) mod p = m e.d mod p )( ( )( t −2 e.d ) e.d )t −3 )( e d )t −1 mod p t −2 mod p = m (e.d ) mod p t −3 = me.d mod p mod p = m(e.d ) mod p ( = m (e.d ) mod p = me.d mod p ( = me.d mod p ) e.d )( e d ) 2 mod p = m(e.d ) mod p mod p = me.d mod p = m 182 N.V Thái, L.H Dũng, “Phát triển thuật toán chữ ký số dựa hệ mã Poligh – Hellman.” Công nghệ thông tin Bổ đề chứng minh Mệnh đề: −1 Cho p số nguyên tố, < ex < p − , gcd(ex , p − 1) = , d x = (ex ) mod( p − 1) , 0≤ m< p, ( t ) e = (ex ) mod p mod( p − 1) , < t < p −1, ( ) = ((d ) mod( p − 1) × (e ) mod( p − 1) − (d ) mod p × (e ) mod p )mod( p − 1) , t d1 = (d x ) mod p mod( p − 1) , d2 t t x t x t x d x d e ≤ m < p , C1 = (m ) mod p , C2 = (m ) mod p Nếu: m = C2 × (C1 ) mod p thì: m =m Chứng minh: Thật vậy, do: e m = C2 × (C1 ) mod p = ( ) ( ) e = m d mod p × m d1 mod p mod p = m d × m d1 e mod p = m (( d x ) × m (( d =m t ) mod ( p −1).( e x )t mod ( p −1)− ( d x )t mod p (e x )t mod p mod ( p −1) t t x ) mod p )mod ( p −1).(( e x ) mod p )mod ( p −1) (d x )t (e x )t mod ( p −1) mod p = m × mod p ( d x )t ( e x )t mod p (e x )t ( d x )t Theo Bổ đề 2, ta có: m mod n = m Từ suy ra: m = m Mệnh đề chứng minh 2.2.5 Mức độ an tồn thuật tốn MTA 17.3 – 01 Mức độ an tồn thuật tốn đề xuất đánh giá qua khả xem xét đây: a) Khả 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 giá trị t cho d1, d2 e không nghịch đảo với theo modulo p modulo (p-1) Nghĩa từ e khơng thể tính d1 d2 phép nghịch đảo theo modulo p modulo (p-1) Ngồi ra, việc tính d1, d2 cách giải toán logarit rời rạc từ: d d S1 = (m ) mod p và: S = (m ) mod p khơng khả thi, tốn khó giá trị tham số p chọn đủ lớn b) Khả công thuật toá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 toán chữ ký số RSA có chế làm việc tương tự Vì vậy, chứng minh đánh giá tính an tồn RSA hồn tồn á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ý d RSA S = (m ) mod n d MTA 17.3 – 01 S = (m ) mod p d S = (m ) mod p Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 183 Cơng nghệ thơng tin Bảng Thuật tốn kiểm tra RSA MTA 17.3 – 01 Thuật toán Thuật toán kiểm tra e RSA m = (S ) mod n if m = H (M ) then S = true e MTA 17.3 – 01 m = S × (S ) mod p if m = H ( M ) then (S1,S2) = true 2.2.6 Hiệu thực thuật toán MTA 17.3 – 01 Hiệu thực thuật tố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 toá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 (hash function) Tmul : thời gian thực phép toán nhân modul; a) Thời gian thực thuật toá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à: (2Texp + Th) Thời gian kiểm tra chữ ký là: (Texp + Th + Tmul) (3Texp + 2Th +Tmul ) Tổng thời gian thực hiện: Tổng hợp thời gian thực thuật toán đề xuất MTA 17.3 – 01 RSA Bảng sau: Bảng Thời gian thực thuật toán MTA 17.3 – 01 RSA TT Thuật toán RSA Tổng thời gian thực 2Texp + 2Th MTA 17 – 01 3Texp + 2Th + Tmul Nhận xét: Từ Bảng thấy hiệu thực thuật toán MTA 17.3 – 01 thấp thuật toán RSA 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 Poligh – 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 toàn lược đồ Một số phân tích sơ độ an tồn hiệu thực cho thấy khả ứng dụng thuật tốn đề xuất hồn tồn thực tế TÀI LIỆU THAM KHẢO 184 N.V Thái, L.H Dũng, “Phát triển thuật toán chữ ký số dựa hệ mã Poligh – Hellman.” Công nghệ thông tin [1] Pohlig, S and Hellman, M., ”An Improved Algorithm for Computing Logarithms over [2] [3] [4] [5] [6] [7] [8] GF(p) and its Cryptographic Significance,” IEEE Trans on Info Theory Vol IT24(1) pp 106-110 (Jan 1978) 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 120126 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 National Institute of Standards and Technology, NIST FIPS PUB 186-3 Digital Signature Standard, US Department of Commerce, 1994 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) R Kenneth, “Elementary Number Theory and its Applications”, AT & T Bell Laboratories, 4th Edition, ISBN: 0-201- 87073-8, 2000 Mark Stamp, Richard M Low , “Applied cryptanalysis: Breaking Ciphers in the Real World” John Wiley & Sons, Inc., ISBN 978-0-470-1 D Boneh, “Twenty Years of Attacks on the RSA Cryptosystem, Notices of the American Mathematical Society”, 46(2), 1999, pp 203-213 DEVELOPING NEW DIGITAL SIGNATURE ALGORITHM BASED ON POLIGH – HELLMAN EXPONENTIATION CIPHER ABSTRACT— This paper proposes new digital signature algorithm based on the Poligh – Hellman exponentiation cipher 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ỉ: Viện CNTT, Viện KH CN QS Khoa CNTT, Học viện KTQS Email: nguyenvinhthai@gmail.com Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 185 ... – 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ã Poligh – Hellman. .. khơng khả thi, tốn khó giá trị tham số p chọn đủ lớn b) Khả 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 toán chữ ký số RSA có chế làm việc tương tự Vì... me.d mod p = m 182 N.V Thái, L.H Dũng, ? ?Phát triển thuật toán chữ ký số dựa hệ mã Poligh – Hellman. ” Công nghệ thông tin Bổ đề chứng minh Mệnh đề: −1 Cho p số nguyên tố, < ex < p − , gcd(ex , p

Ngày đăng: 08/06/2021, 04:46

Tài liệu cùng người dùng

Tài liệu liên quan