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 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á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ý. | Phát triển thuật toán chữ ký số dựa trên hệ mã Pohlig - Hellman Công nghệ thông tin 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ố 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á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ế. 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] được đề xuất và công bố bởi S. Pohlig và M. Hellman vào năm 1976. Đây là một hệ mã khóa bí mật được xây dựng theo phương pháp của các hệ mã lũy thừa (RSA [2] , ElGamal [3],.). Hệ mã Pohlig - Hellman có phương pháp mã hóa hoàn toàn như hệ mật RSA. Song do hệ mã Pohlig - Hellman sử dụng modulo p là số nguyên tố nên các khóa mã hóa và giải mã phải được giữ bí mật hoàn toàn, chính vì lý do này mà hệ mã Pohlig - Hellman là một hệ mã khóa bí mật và không thực hiện được chức năng của một hệ chữ ký số như hệ mật RSA. Bài báo đề xuất một thuật toán chữ ký số được phát triển từ hệ mã Pohlig - Hellman, lược đồ mới đề xuất có nguyên tắc làm việc tương tự lược đồ RSA, song lại cho phép các đối tượng ký cùng sử dụng chung một modulo p nguyên tố như các lược đồ DSA trong chuẩn DSS [4] của Hoa Kỳ hay GOST - 94 của 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 . Hệ mã Pohlig - Hellman . Thuật toán hình thành tham số và khóa Thuật toán bao gồm các bước như 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 là một giá trị ngẫu nhiên thỏa mãn: 1 e ( p ) và: .