Input the title of your manuscript ISSN 1859 1531 TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 7(128) 2018 75 MỘT THUẬT TOÁN CHỮ KÝ XÂY DỰNG DỰA TRÊN TÍNH KHÓ CỦA VIỆC GIẢI ĐỒNG THỜI HAI BÀI TOÁN[.]
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 7(128).2018 75 MỘT THUẬT TOÁN CHỮ KÝ XÂY DỰNG DỰA TRÊN TÍNH KHĨ CỦA VIỆC GIẢI ĐỒNG THỜI HAI BÀI TỐN PHÂN TÍCH SỐ VÀ LOGARIT RỜI RẠC A SIGNATURE ALGORITHM BASED ON DIFFICULTY OF SIMULTANEOUS SOLVING INTEGER FACTORIZATION AND DISCRETE LOGARITHM PROBLEM Phạm Văn Hiệp1, Nguyễn Hữu Mộng2, Lưu Hồng Dũng2 Trường Đại học Công nghiệp Hà Nội; hieppv@haui.edu.vn Học viện Kỹ thuật Quân sự; nghm06@yahoo.com, luuhongdung@gmail.com Tóm tắt - Bài báo đề xuất xây dựng lược đồ chữ ký số dựa tính khó việc giải đồng thời hai tốn phân tích số logarit rời rạc vành Zn Lược đồ xây dựng với mục đích nhằm nâng cao độ an tồn thuật tốn chữ ký số, đồng thời rút gọn kích thước chữ ký số Lược đồ đề xuất bị phá vỡ đồng thời giải tốn Ngồi ra, báo giải tồn số lược đồ nay, kích thước chữ ký chúng sinh lớn nên tốc độ xử lý chậm làm giảm hiệu thực lược đồ Với lược đồ đề xuất việc rút gọn kích thước chữ ký nâng cao hiệu thực lược đồ ứng dụng thực tế Abstract - The article proposes new digital signature schemes based on difficulty of simultaneous solving integer factorization and discrete logarithm problem The new schema is designed to improve the security of digital signature algorithms and reduce the size of digital signatures Schema security is only broken when concurrently solving these problems In addition, the article has solved the problem of the existence of some current schemas That is the size of the signatures due to their large size, resulting in slower processing times and reduced efficiency of the schemas With the proposed new scheme, the shortened size of signatures will enhance effective implementation of the scheme in actual application Từ khóa - lược đồ; chữ ký số; thuật tốn chữ ký số; toán logarit rời rạc; số nguyên Key words - schema; digital signature; digital signature algorithm; discrete logarithm problem; integer factoring problem Đặt vấn đề Phát triển lược đồ chữ ký số với mục đích nâng cao độ an tồn cho thuật tốn hướng nghiên cứu nhiều người quan tâm Trong [1 - 9] tác giả đề xuất số lược đồ chữ ký xây dựng đồng thời hai tốn khó Đáng ý lược đồ đề xuất [8] [9] Trong [8] số kết trước đó, lược đồ chữ ký đề xuất xây dựng dựa tính khó việc giải tốn logarit rời rạc Zp với p số nguyên tố có dạng: p = 2n + 1, n tích hai số nguyên tố lớn cho việc phân tích n thành nhân tử khó thực Để phá vỡ lược đồ cần phải giải đồng thời tốn phân tích n thành tích hai thừa số nguyên tố p, q (bài tốn phân tích số) tốn logarit rời rạc theo modulo p q nhân tử n (bài toán logarit rời rạc Zp) Tuy nhiên, lược đồ tồn nhược điểm kích thước chữ ký chúng sinh lớn nên tốc độ xử lý chậm Ngoài ra, việc sử dụng hai khóa cơng khai khơng phù hợp với hệ thống Trong [9], tác giả giải vấn đề rút gọn độ dài chữ ký, song điều làm giảm đáng kể hiệu thực lược đồ Trong báo này, nhóm tác giả đề xuất lược đồ chữ ký xây dựng dựa tính khó việc giải đồng thời hai tốn phân tích số logarit rời rạc Zp nhằm nâng cao độ an tồn cho thuật tốn đảm bảo kích thước chữ ký nhỏ, mà không cần phải sử dụng giải pháp [9, 10], từ nâng cao hiệu thực lược đồ ứng dụng thực tế ϵ N, tìm biểu diễn: n p1 p2 pi pk , với: Xây dựng lược đồ chữ ký hai tốn khó 2.1 Các toán sở 2.1.1 Bài toán phân tích số Bài tốn phân tích số phát biểu sau: Cho số n 2.1.2 Bài toán logarit Zp Cho cặp số nguyên dương (p, g) với p số nguyên tố, g phần tử nhóm Zp* Khi đó, tốn logarit rời rạc Zp hay cịn gọi tốn DLP(p, g) phát biểu sau: e1 e2 ei ek ei pi số nguyên tố Một trường hợp riêng tốn phân tích số ứng dụng để xây dựng hệ mật RSA [11] mà n tích hai số ngun tố p q Khi đó, tốn phân tích số hay cịn gọi tốn IFP(n) phát biểu sau: Bài toán IFP(n): Với số nguyên dương n, tìm số nguyên tố p q thỏa mãn phương trình sau: p.q n Giải thuật cho tốn IFP(n) viết thuật tốn tính hàm IFP(.) với biến đầu vào n, giá trị hàm p q phương trình sau: p IFPn Hoặc: q IFPn Trong hệ mật RSA, tốn phân tích số sử dụng việc hình thành cặp khóa cơng khai/bí mật cho thực thể ký Với việc giữ bí mật tham số (p, q) việc tính khóa bí mật (d) từ khóa cơng khai (e) modulo n tốn khó p, q chọn đủ lớn mạnh Hiện toán coi tốn khó chưa có giải thuật thời gian đa thức hay đa thức xác suất cho hệ mật RSA minh chứng thực tế cho tính khó giải tốn Trong thực tế, tham số p, q chọn theo X9.31 hay FIPS 186 – Hoa Kỳ cho hệ mật RSA [12] Phạm Văn Hiệp, Nguyễn Hữu Mộng, Lưu Hồng Dũng 76 Bài toán DLP(p, g): Với số nguyên dương p yZ , tìm x thỏa mãn phương trình sau: g x mod p y Giải thuật cho toán DLP(p, g) viết thuật tốn tính hàm DLpP(.) với biến đầu vào y, giá trị hàm x phương trình sau: x DL p P y Bài toán DLP(p, g) sở để xây dựng nên hệ mật Elgamal, việc sử dụng rộng rãi hệ mật Elgamal [13] biến thể thực tế minh chứng cho tính khó giải toán 2.1.3 Bài toán logarit Zn Cho cặp số nguyên dương (n, g) với n tích hai số nguyên tố p q cho tốn phân tích số khó giải Zn, cịn g phần tử nhóm Zn* Khi đó, tốn logarit rời rạc Zn hay cịn gọi toán DLP(n, g) phát biểu sau: Bài toán DLP(n, g): Với số nguyên dương y Z n , tìm x thỏa mãn phương trình sau: g x mod n y Giải thuật cho tốn DLP(n, g) viết thuật tốn tính hàm DLnP(.) với biến đầu vào y, giá trị hàm x phương trình sau: x DLn P y Ở dạng lược đồ chữ ký đề xuất, thành viên hệ thống tự chọn cho tham số (n, g) khóa bí mật x thỏa mãn: < x < φ(n) tính khóa công khai theo: y g x mod n Tương tự tốn phân tích số IFP(n), tốn DLP(n, g) sở để xây dựng nên hệ mật RSA Hiện chưa có giải thuật hiệu (thời gian đa thức hay đa thức xác suất) cho DLP(n, g), tính khó việc giải tốn logarit rời rạc Zn đặt với giả thiết giải thuật cho toán phải thực thông qua việc giải hai tốn: tốn phân tích n thành tích hai số ngun tố p, q (bài tốn phân tích số) toán logarit rời rạc theo modulo p q nhân tử n (bài toán logarit rời rạc Zp) Như vậy, ý tưởng giải pháp cho DLP(n, g) nằm chỗ độ khó để giải tốn phân tích số đủ lớn, độ khó để giải tốn DLP(n, g) tích độ khó việc giải hai toán IFP(n) toán DLP(p, g), với giả thiết xác suất xảy việc giải đồng thời hai toán nhỏ, nên khả giải toán DLP(n, g) thấp 2.2 Lược đồ đề xuất Lược đồ đề xuất phát triển sở kết hợp đồng thời hai tốn phân tích số toán logarit rời rạc Zp nhằm nâng cao độ an tồn thuật tốn chữ ký số, đồng thời rút ngắn kích thước chữ ký lược đồ sinh Lược đồ đề xuất 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ố khóa Mỗi đối tượng ký hệ thống hình thành tham số khóa theo bước sau: Thuật tốn 1.1: Hình thành tham số khóa Input: lp, lq – độ dài (tính theo bit) số nguyên tố p, q Output: n, m, g, y, x1, x2 Bước 1: Chọn cặp số p, q nguyên tố với len(p) = lp, len(q) = lq cho tốn phân tích số Zn khó giải Bước 2: Tính n = p q φ(n) = (p – 1).(q – 1) Bước 3: Chọn p1, q1 số nguyên tố thỏa mãn p1|(p-1), q1|(q-1) p1∤(q-1), q1∤(p-1) Bước 4: Tính m = p1 q1 Bước 5: Chọn g phần tử sinh nhóm Zn* có bậc m (ord g = m), tính theo (n) g m mod n 1, n thỏa mãn gcd g , n , với Bước 6: Chọn khóa bí mật thứ x1 khoảng (1, m) Bước 7: Tính khóa cơng khai theo y g x1 (1) mod n Kiểm tra nếu: y (n) gcd( y, (n)) thực lại từ Bước [6] Bước 8: Tính khóa bí mật thứ hai theo x2 y 1 mod (n) (2) Bước 9: Chọn hash function H: 0,1 Zh , với h