Danh mục

Phát triển thuật toán mật mã khóa công khai dựa trên bài toán logarit rời rạc

Số trang: 7      Loại file: pdf      Dung lượng: 542.05 KB      Lượt xem: 34      Lượt tải: 0    
Xem trước 1 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài viết đề xuất xây dựng thuật toán mật mã khóa công khai dựa trên tính khó của bài toán logarit rời rạc trên trường hữu hạn. Ngoài khả năng bảo mật thông tin, thuật toán mới đề xuất còn có thể xác thực tính toàn vẹn và nguồn gốc của bản tin được bảo mật, từ đó có thể chống lại các dạng tấn công giả mạo đã biết trong thực tế.
Nội dung trích xuất từ tài liệu:
Phát triển thuật toán mật mã khóa công khai dựa trên bài toán logarit rời rạc Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX “Nghiên cứu cơ bản và ứ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.00072 PHÁT TRIỂN THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC Lƣu Hồng Dũng1, Nguyễn Đức Thụy 2, Nguyễn Lƣơng Bình 3, Tống Minh Đức 4 1 Khoa CNTT, Học viện Kỹ thuật Quân sự 2 Khoa CNTT, Cao đẳng Kinh tế - Kỹ thuật Tp. Hồ Chí Minh 3 Khoa CNTT, Học viện Kỹ thuật Quân sự 4 Khoa CNTT, Học viện Kỹ thuật Quân sự luuhongdung@gmail.com, thuyphulam2013@gmail.com, nluongbinh@yahoo.co.uk, ductm08@gmail.com TÓM TẮT— Bài báo đề xuất xây dựng thuật toán mật mã khóa công khai dựa trên tính khó của bài toán logarit rời rạc trên trường hữu hạn. Ngoài khả năng bảo mật thông tin, thuật toán mới đề xuất còn có thể xác thực tính toàn vẹn và nguồn gốc của bản tin được bảo mật, từ đó có thể chống lại các dạng tấn công giả mạo đã biết trong thực tế. Ngoài ra, thuật toán còn được thiết kế để hỗ trợ khả năng tương tác giữa các đối tượng tham gia trao đổi thông tin mật phù hợp với các yêu cầu đặt ra trong các ứng dụng thực tế. Từ khóa— Mật mã khóa công khai, thuật toán mật mã khóa công khai, thuật toán chữ ký số, bài toán logarit rời rạc. I. ĐẶT VẤN ĐỀ Các thuật toán mật mã khóa công khai điển hình được sử dụng trong thực tế hiên nay như RSA [1] hay ElGamal [2] đều không có cơ chế xác thực nguồn gốc cũng như tính toàn vẹn của bản tin nhận được nên không có khả năng chống lại các tấn công giả mạo trong thực tế kiểu như tấn công “Man- in- the- Middle” [3]. Ngoài ra, các thuật toán kiểu này cũng không hỗ trợ khả năng tương tác giữa các bên tham gia trao đổi thông tin mà các ứng dụng trong thực tế thường yêu cầu. Trong bài báo này, nhóm tác giả đề xuất xây dựng thuật toán mật mã khóa công khai được tích hợp chữ ký số cho phép khả năng bảo mật và xác thực thông tin một cách đồng thời, có thể chống lại các dạng tấn công giả mạo một cách hiệu quả. Hơn nữa, thuật toán mới đề xuất còn được thiết kế dưới dạng một giao thức cho khả năng tương tác giữa các bên tham gia trao đổi thông tin nhằm phù hợp với yêu cầu của các ứng dụng trong thực tế. Đây là những vấn đề mà trên thực tế chưa có các kết quả nghiên cứu tương ứng được công bố. II. PHÁT TRIỂN THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI A. Xây dựng thuật toán cơ sở Thuật toán cơ sở ở đây là một thuật toán chữ ký số được xây dựng dựa trên tính khó của bài toán logarit rời rạc trên trường hữu hạn theo phương pháp chỉ ra trong [4] và được sử dụng để xây dựng các thuật toán mật mã khóa công khai có khả năng bảo mật và xác thực thông tin ở phần sau. 1. Bài toán logarit rời rạc Bài toán logarit rời rạc – DLP (Discrete Logarithm Problem) có thể được phát biểu như sau: Cho p là số nguyên tố, g là phần tử sinh của nhóm ℤp*. Với mỗi số nguyên dương y ℤp*, hãy tìm x thỏa mãn phương trình: g x mod p  y Ở đây, bài toán logarit rời rạc được sử dụng với vai trò hàm một chiều trong việc hình thành khóa của các thực thể trong cùng hệ thống với bộ tham số {p,g} dùng chung. Dễ thấy rằng, nếu x là khóa bí mật thì việc tính khóa công khai y từ x và các tham số hệ thống {p,g} là một việc hoàn toàn dễ dàng. Nhưng điều ngược lại thì rất khó thực hiện, nghĩa là từ y và {p,g} thì việc tính được khóa bí mật x là không khả thi trong các ứng dụng thực tế. Cần chú ý rằng, theo [5] và [6] để bài toán logarit rời rạc là khó thì p cần phải được chọn đủ lớn với: |p| ≥512 bit. 2. Lược đồ cơ sở Lược đồ cơ sở ở đây - ký hiệu MTA 16.5 – 01 là một lược đồ chữ ký số bao gồm các thủ tục hình thành tham số và khóa, thủ tục hình thành chữ ký và thủ tục xác minh chữ ký như sau: a) Thủ tục hình thành tham số hệ thống và khóa Thủ tục bao gồm các bước như sau: 1. Sinh 2 số nguyên tố lớn và mạnh: p và q, sao cho: q | ( p  1) hay: p  N  q  1, với N là một số nguyên dương. Chọn g   ( p1) / q mod p , là phần tử sinh có bậc q của nhóm Z p , ở đây:   Z p* . * 2. 3. Khóa riêng x được hình thành bằng cách chọn số nguyên thỏa mãn: 1  x  q . 584 PHÁT TRIỂN THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI DỰA TRÊN BÀI TOÁN LOGARIT RỜI RẠC 4. Khóa công khai được tính theo công thức: y  g x mod p (1.1) 5. Lựa chọn hàm băm: H : 0,1  Z n với: q  n  p 6. Công khai các giá trị: p, g, y. Giữ bí mật: x. b) Thủ tục hình thành chữ ký Dữ liệu đầu vào bao gồm khóa bí mật x của người ký và bản tin cần ký M. Thủ tục bao gồm các bước như sau: 1. Chọn ngẫu nhiên một giá trị k thỏa mãn: 1  k  q , tính giá trị R theo công thức: R  g k mod p (1.2) 2. Tính thành phần E theo công thức: E  H (M || R) mod q (1.3) 3. Tính thành phần S theo công thức: S  x 1  k  E  mod q (1.4) Chú ý ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: