MỞ ĐẦU Trong sự phát triển của xã hội loài ngƣời, kể từ khi có sự trao đổi thông tin, thì an toàn thông tin trở thành một nhu cầu gắn liền với nó, từ thủa sơ khai an toàn thông tin đƣợc hiểu đơn giản là giữ bí mật. Với sự phát triển của khoa học kỹ thuật và công nghệ, cùng với các nhu cầu đặc biệt có liên quan tới an toàn thông tin ngày nay cần có các yêu cầu kỹ thuật đặc biệt trong việc đảm bảo an toàn thông tin, các kỹ thuật đó bao gồm: Kỹ thuật mật mã (Cryptography); kỹ thuật ngụy trang (Steganography); kỹ thuật tạo bóng mờ (Watermarking – hay thủy vân). Ngày nay, cùng với sự phát triển của mạng thông tin và truyền thông kéo theo sự gia tăng một số lƣợng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn. Vì thế, nhu cầu về an toàn bảo mật thông tin ngày càng trở nên cấp thiết, hàng năm trên thế giới các nƣớc đã phải chi rất nhiều tiền cho công cuộc nghiên cứu chống lại các nguy cơ tấn công từ kẽ hở bảo mật.
Nói chung, để bảo vệ các thông tin khỏi sự truy cập trái phép cần phải kiểm soát đƣợc những vấn đề nhƣ: thông tin được tạo ra, lưu trữ và truy nhập như thế nào, ở đâu, bởi ai và vào thời điểm nào. Để giải quyết các vấn đề trên, kỹ thuật mật mã hiện đại phải đảm bảo các dịch vụ an toàn cơ bản: bí mật (Confidential); đảm bảo tính toàn vẹn (Integrity); và xác thực (Authentication). Nhận thấy tính thiết thực của bài toán này và đƣợc sự gợi ý của giảng viên hƣớng dẫn, tôi đã chọn đề tài: “Một hệ mật xây dựng trên sơ đồ Feistel không cân bằng và khả năng ứng dụng trong hàm băm” để làm đề tài cho luận văn tốt nghiệp của mình. TÌNH HÌNH NGHIÊN CỨU Hệ thống khoá bí mật (hay mật mã cổ điển) là phƣơng pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá.
Phƣơng pháp này sử dụng các thuật toán đơn giản, dễ hiểu nhƣng khó khăn trong việc quản lý lƣu trữ và thiết lập phân phối khoá, với các hệ mật nhƣ: DES, AES,. Từ năm 1976 mật mã hiện đại 2 hay hệ thống mật mã công khai ra đời đã khắc phục đƣợc những nhƣợc điểm này, với việc sử dụng các bài toán một chiều khó, các nhà khoa học đã phát minh ra những hệ mật nổi tiếng nhƣ: RSA, ElGamal, Diffie-Hellman… Các hệ mật mã khóa công khai ra đời cho phép thực hiện các dịch vụ xác thực và chữ ký số, nhằm thỏa mãn các yêu cầu về trao đổi thông tin bí mật trên mạng cũng nhƣ ứng dụng trong giao dịch điện tử. Với mục đích nghiên cứu và đa dạng hóa cách xây dựng các hệ mật khóa bí mật, luận văn tập trung nghiên cứu một hệ mật mã khối với 128bit vào/ra. Hệ mật này sử dụng các cấp số nhân cyclic làm hàm mã hóa, và sơ đồ mã hóa đƣợc xây dựng theo mạng Feistel không cân bằng với 4 nhánh.
Khóa bí mật cho hệ mật này cũng đƣợc xây dựng bởi cấp số nhân trên các vành đa thức với 2 lớp kề cyclic. Bằng việc sử dụng cấu trúc nhóm nhân và cấp số nhân cyclic trên vành đa thức để tạo khóa, ta có thể xây dựng một mật mã khối trên cơ sở mạng hoán vị Feistel với một số ƣu điểm nhất định.Việc sử dụng cấp số nhân trên vành đa thức để xây dựng hệ mật thể hiện một số ƣu điểm: cấu trúc đại số chặt chẽ, số lƣợng cấp số nhân trên vành đa thức nhiều (thuận lợi cho việc tạo khóa trong các hệ mật), mạch điện phần cứng thực hiện khá dễ dàng (thuận lợi cho việc áp dụng vào thực tế), tốc độ tính toán nhanh. Với những ƣu điểm nhƣ đã đề cập, hệ mật này rất phù hợp áp dụng vào một hàm băm không khóa (MDC), và đây cũng là nội dung cuối sẽ đƣợc đề cập trong luận văn. MỤC TIÊU NGHIÊN CỨU - Khảo sát đánh giá một số hệ mật khối.
- Xây dựng hệ mật trên các cấp số nhân cyclic của vành đa thức. - Áp dụng hệ mật vào một sơ đồ hàm băm và đánh giá sơ bộ về hàm băm đó. ĐỐI TƢỢNG, PHẠM VI NGHIÊN CỨU Luận án thuộc phạm vi lý thuyết cơ sở, tập trung nghiên cứu các thuật toán mã hóa và sử dụng chúng trong lƣợc đồ xây dựng các hàm băm. Các thuật toán mã hóa và sơ đồ tạo khóa trong các sơ đồ mã hóa đƣợc xây dựng trên cấu trúc cấp số 3 nhân cyclic, đây là một cấu trúc đại số đƣợc xây dựng trên cơ sở là nhóm nhân cyclic trên vành đa thức.
PHƢƠNG PHÁP NGHIÊN CỨU Phƣơng pháp nghiên cứu của đề tài là phân tích và tổng hợp dựa vào các công cụ toán học, đặc biệt là đại số đa thức, lý thuyết thông tin và mã hóa, lý thuyết xác suất. cùng với sự hỗ trợ tính toán của máy tính và các chƣơng trình phần mềm mô phỏng để thử nghiệm đánh giá. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI Những kết quả trong luận án này là một đóng góp nhỏ bé vào việc phát triển lý thuyết mật mã nói chung và các hàm băm nói riêng. Các nghiên cứu trong luận văn đƣa ra đƣợc một phƣơng pháp xây dựng mật mã khối và một hàm băm trên cơ sở là các cấp số nhân cyclic của vành đa thức chẵn.
TỔNG QUAN VỀ MẬT MÃ HỌC 1. CÁC KHÁI NIỆM CƠ BẢN Mật mã học là một bộ phận của khoa học mật mã (Cryptology), đƣợc chia thành 2 bộ phận chính: - Mật mã học (Cryptography): chia thành 3 nội dung: + Mật mã khóa bí mật (Khóa đối xứng) + Mật mã khóa công khai (khóa bất đối xứng) + Hàm băm, xác thực và chữ ký số - Phân tích mật mã (Cryptonalys): là khoa học nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã: + Phƣơng pháp tấn công tổng lực (tìm khóa vét cạn) + Phƣơng pháp thống kê + Phƣơng pháp phân tích cấu trúc… Trong lý thuyết mã hóa nguồn và mã sửa sai khâu mã hóa (coding) thƣờng chỉ có đầu vào là bản tin và đầu ra là bản mã (và ngƣợc lại là khâu giải mã (decoding)). Tuy nhiên với mật mã học thì hai khâu này có một sự khác biệt đó là đầu vào của mã hóa (giải mã) ngoài bản tin ra còn có thêm khóa (K). * Mã hóa (Encryption): M C Encryption Ta có: hay K * Giải mã (Decryption) C M Decryption Ta có: K Trong đó: M – bản rõ; C – bản mã; K – khóa * Các phƣơng pháp xử lý thông tin số trong các hệ thống mật mã bao gồm: 5 - Mật mã khóa bí mật (khóa đối xứng): Với hệ mật này, việc mã hóa và giải mã sử dụng chung một khóa, do đó hai bên liên lạc phải thống nhất và khóa mã trƣớc khi truyền tin.
Các thuật toán mã hóa trong hệ mật khóa bí mật thƣờng sử dụng các phƣơng pháp sau: + Hoán vị + Thay thế + Xử lý bit (chủ yếu trong các ngôn ngữ lập trình) + Phƣơng pháp hỗn hợp (điển hình là chuẩn mã hóa dữ liệu – DES) - Mật mã khóa công khai (khóa không đối xứng): Thông thƣờng mỗi bên liên lạc tự tạo cho mình một cặp khóa công khai và bí mật, khóa công khai dùng để mã hóa bản tin và khóa này đƣợc công khai trên mạng, còn khóa bí mật dùng để giải mã (chỉ có bên nhận tin lƣu trữ). Các thuật toán mã hóa công khai cho đến nay đƣợc xây dựng theo một trong năm bài toán một chiều cơ bản đó là: + Bài toán logarit rời rạc + Bài toán phân tích thừa số + Bài toán xếp ba lô + Bài toán mã sửa sai +Bài toán trên đƣờng cong elliptic -Mật mã khối: Trong các hệ mật mã khối quá trình xử lý thông tin đƣợc thực hiện theo các khối bit có độ dài xác định. - Mật mã dòng: Trong các hệ mật mã dòng quá trình xử lý thông tin thực hiện trên từng bit. - Độ phức tạp tính toán: + Độ phức tạp tính toán P (theo thời gian đa thức) các bài toán này là khả thi và khá đơn giản.
+ Độ phức tạp NP: NP là ký hiệu lớp các bài toán giải đƣợc bằng thuật toán không tất định (Non Determinal) trong thời gian đa thức (Polynomial). Bài toán thuộc lớp NP thƣờng khó giải và khá phức tạp. CÁC HỆ MẬT MÃ KHÓA BÍ MẬT 1. Sơ đồ khối chức năng hệ mật mã khóa bí mật Thám mã (Oscar) Bản rõ M Bản mã C Bản mã C Bản rõ M Nguồn tin Bộ mã hoá Kênh mở Bộ giải mã Nhận tin (không an toàn) (Alice) (Bob) K Kênh an toàn Nguồn khoá Hình 1.
Sơ đồ khối chức năng hệ mật khóa bí mật Sơ đồ khối của một hệ mật khóa bí mật đƣợc mô tả trong hình 1. Một hệ mật là một bộ gồm 5 tham số P, C, K, E, D thoả mãn các điều kiện sau: P là một tập hữu hạn các bản rõ có thể. C là một tập hữu hạn các bản mã có thể. K là một tập hữu hạn các khoá có thể (không gian khoá).
Đối với mỗi k K có một quy tắc mã e k E ek : P C và một quy tắc giải mã tƣơng ứng d k D dk : C P sao cho: d k ek x x với x P. Các hệ mật thay thế 1. Các hệ mật thay thế đơn biểu a) Mật mã dịch vòng (MDV) Giả sử P C K Z 26 với 0 k 25 , ta định nghĩa: Mã hóa: C M K mod n 7 Giải mã: M C K mod n Ví dụ 1.1: Với văn bản tiếng Anh, n 26 hoặc 27, nhƣ vậy M , C , K Z 26 hoặc Z 27 Ta sử dụng MDV (với modulo 26) để mã hoá một văn bản tiếng Anh thông thƣờng bằng cách thiết lập sự tƣơng ứng giữa các ký tự và các thặng dƣ theo mod 26 nhƣ sau: Ký tự A B C D E F G H I J K L M Mã tƣơng ứng 0 1 2 3 4 5 6 7 8 9 10 11 12 Ký tự N O P Q R S T U V W X Y Z Mã tƣơng ứng 13 14 15 16 17 18 19 20 21 22 23 24 25 Nhận xét: + Khi k = 3, hệ mật này thƣờng đƣợc gọi là mã Caesar đã từng đƣợc Hoàng đế Caesar sử dụng.