Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (262.82 KB, 11 trang )
Ứ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ã.