Hệ mã Caesar:

Một phần của tài liệu Tiểu luận môn toán học cho khoa học máy tính MÃ HÓA THEO KHỐI VÀ DES (Trang 29)

3. CÁC HỆ MÃ HÓA BÍ MẬT: 1 Các hệ mã hóa cổ điển:

3.1.2. Hệ mã Caesar:

Hệ mã Caesar là một hệ mã hoá thay thế đơn âm làm việc trên bảng chữ cái tiếng Anh 26 ký tự (A, B, ... , Z). Đây là hệ mã cổ điển và đơn giản nhất đã từng được dùng trong thực tế bởi hoàng đế La mã Caesar nên được đặt theo tên của vị hoàng đế này.

Không gian các bản rõ P là các thông điệp được tạo từ bảng chữ cái A

(để tiện trình bày chúng ta xem đây là một bảng chữ cái tổng quát). Tương tự không gian các bản mã C P. Giả sử số phần tử của bảng chữ cái |A| = N.

Để mã hóa người ta đánh số các chữ cái từ 0 tới N-1. Không gian khóa

K = ZN. Với mỗi khóa K ∈K hàm mã hóa và giải mã một ký tự có số thứ tự là i sẽ được thực hiện như sau:

Mã hóa: EK(i) = (i + k) mod N. Giải mã: DK(i) = (i – k) mod N.

Hệ mã Caesar với bảng chữ cái tiếng Anh sẽ có N = 26 chữ cái, bảng chữ cái được đánh số như sau:

a b c … y z

a b c … y z Bảng chữ cái dùng để mã hoá:

d e f … b c

Do đó chẳng hạn xâu “ANGLES” sẽ được mã hóa thành “DQJOHV”. Hệ mã Caesar sƣƣ dụng phương pháp thay thế đơn âm nên có hiện tượng gọi là phụ thuộc tần suất xuất hiện của ngôn ngữ tự nhiên. Trong ngôn ngữ tự nhiên một số chữ cái xuất hiện nhiều hơn so với các chữ cái khác (chẳng hạn trong tiếng Anh các chữ cái xuất hiện nhiều là e, t, i, h …) nên các chữ cái dùng để thay thế cho chúng cũng xuất hiện nhiều. Điều này có thể dẫn tới hệ quả là người thám mã có thể sử dụng phương pháp thử thay thế các ký tự xuất hiện nhiều trong bản mã bằng các ký tự xuất hiện nhiều trên các văn bản thực tế.

Trên thực tế hệ mã Caesar có số khóa ít nên hoàn toàn có thể thám mã bằng cách thƣƣ tất cả các khóa có thể (kiểu tấn công Brute force).

Một phần của tài liệu Tiểu luận môn toán học cho khoa học máy tính MÃ HÓA THEO KHỐI VÀ DES (Trang 29)

Tải bản đầy đủ (DOCX)

(49 trang)
w