Trong nhập môn lý thuyết mật mã các bạn phải làm việc với các bài toán về hệ mã Caesar, hệ mã khối, RSA. và việc giải bằng tay các bài toán sẽ gặp rất nhiều vấn đề tuy là không phức tạp nhưng mất rất nhiều thời gian của các bạn. Và maple chính là giải pháp để giúp đơn giản hóa vấn đề này để hổ trợ các bạn. Trong tài liệu có quy trình lập mã, giải mã rõ ràng cụ thể, kèm theo ví dụ
Ứng dụng Maple trong lý thuyết mật mã Đối với một số hệ mã đơn giản I. Đối với hệ mã hóa Caesar. 1. Hệ mã Caesar. Với hệ mã Caesar ta cho mỗi chữ cái ứng với một chữ số. Công thức: C ≡ P + 3 (mod m)(m số lượng ký tự trong bảng chữ). Nếu mở rộng ra ta có thể thay thế chữ số 3 bởi số k tùy ý trong khoảng từ 1 đến m. Khi đó ta có mã biến đổi aphin: C ≡ aP + k(mod m) với gcd(a, m) = 1. 2. Quy trình lập mã và giải mã. Trong Maple trước tiên ta phải tạo bảng mã tương ứng giữa chữ và số. Để tránh Maple hiểu lầm ta ký hiệu a_x, k_x, m_x thay cho a, k, m. B1: Tạo chìa khóa bí mật và kiểm tra tính nguyên tố cùng nhau của hệ số nhân với số lượng các ký tứ trong bảng chữ m_x. B2: Nhập văn bản cần mã hóa. B3: Mã hóa văn bản gốc. B4: Giải mã văn bản gốc. II. Đối với hệ mã khối. Các tính toán với mã khối thực ra là tính toán trong đại số tuyến tính nên ta cần gói hỗ trợ cho chuyên ngành này bằng lệnh: [>with(linalg); 1. Khởi tạo khóa. Sinh ngẫu nhiên một ma trận vuông cấp 9 với các phần tử trên vành số nguyên modulo 29(số các phần tử trong bảng chữ) gọi là ma trận khóa và tính ma trận ngược của nó gọi là ma trận giải. 2. Quy trình lập mã. B1: Nhập văn bản nguồn: B2: Chuẩn hóa văn bản nguồn: B3: Đưa về văn bản số hóa: B4: Mã hóa văn bản số: B5: Chuyển văn bản mã dạng số về dạng chữ: 3. Quy trình giải mã. B1: Nhập văn bản cần giải mã: B2: Chuyển về dạng số: B3: Giải mã văn bản nhận được bằng ma trận giải: B4: Chuyển văn bản giải mã dạng số về dạng chữ(loại bỏ các ký tự ‘x’ ở cuối để có văn bản nguồn): Bỏ các ký tự ‘x’ cuối cùng ta có được văn bản ban đầu: ‘thuc hanh lap ma’. III. Đối với hệ mã RSA. 1. Hệ mã RSA. Ta chọn 2 số nguyên tố p, q(rất lớn) hai số này là bí mật. Sau đó tính n=p*q, n là công khai. Ta chọn 1 số e sao cho gcd(e,) = 1. Nên chọn e là số nguyên tố(1<e<,) e được công khai. d ≡ e -1 (mod ) bí mật. Ta có khóa riêng KR = {d, n} và khóa công khai là KU = {e, n} 2. Lập mã và giải mã. B1: Tìm hai số nguyên tố lớn, tính n và , chọn e, tính d. B2: Mã hóa văn bản nguồn. B3: Giải mã. [...]...3 Giải mã B1: Nhập văn bản mã B2: Giải mã RSA bằng cách nâng lên lũy thừa bậc d và rút gọn theo modul n rồi chuyển văn bản số nhận được về dạng chữ . Ứng dụng Maple trong lý thuyết mật mã Đối với một số hệ mã đơn giản I. Đối với hệ mã hóa Caesar. 1. Hệ mã Caesar. Với hệ mã Caesar ta cho mỗi chữ cái ứng với một chữ số. Công. lập mã và giải mã. Trong Maple trước tiên ta phải tạo bảng mã tương ứng giữa chữ và số. Để tránh Maple hiểu lầm ta ký hiệu a_x, k_x, m_x thay cho a, k, m. B1: Tạo chìa khóa bí mật và kiểm tra. các ký tứ trong bảng chữ m_x. B2: Nhập văn bản cần mã hóa. B3: Mã hóa văn bản gốc. B4: Giải mã văn bản gốc. II. Đối với hệ mã khối. Các tính toán với mã khối thực ra là tính toán trong đại số tuyến