Hệ mã hoá nổi tiếng CAESAR là một hệ mã hoá thay thế đơn làm việc trên bảng chữ cái tiếng Anh 26 ký tự (A, B,... , Z).
Trong hệ CAESAR và các hệ tương tự còn lại ta sử dụng các số tự nhiên thay cho các ký tự - đánh số các ký tự trong bảng chữ cái theo thứ tự: A là 0, B là 1,... và Z là 25.
A B C D E F G H I J ... L M N ... W X Y Z 0 1 2 3 4 5 6 7 8 9 ... 11 12 13 ... 22 23 23 25
Các phép toán số học thực hiện theo modul 26. Có nghĩa là 26 đồng nhất với 0, 27 đồng nhất với 1, 28 đồng nhất với 2,... Ví dụ: 2×17 + 5×9 = 79 = 1 + 3×26 = 1
Hệ CAESAR sử dụng thuật toán mã hoá trong đó mỗi ký tự được thay thế bởi một ký tự khác được xác định bằng cách dịch ký tự cần mã hoá sang phải k bước theo modul 26:
Đặt P=C=K=Z26 . Với 0≤K ≤25, định nghĩa:
Ek(x) = (x + k) MOD 26
với x là một ký tự, 0 k 26, MOD là phép chia lấy phần dư.
Thuật toán giải mã tương ứng Dk là lùi lại k bước trong bảng chữ cái theo modul 26:
Dk(y) = (x - k) MOD 26 (x, y ∈ Z26). Không gian khoá của hệ CAESAR bao gồm 26 số 0, 1, 2,... 25.
Ví dụ 1: với k=3, A được thay bằng D, B được thay bằng E,... , W được thay bằng Z,... , X được thay bằng A, Y được thay bằng B, và Z được thay bằng C. Ta có:
Bảng chữ cái gốc
Bảng chữ cái dùng để mã hoá
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Trong trường hợp này bản rõ “TRY AGIAN” được mã hoá thành “WUBDJDLQ”, bản rõ “HELP ME” được mã hoá thành “KHOSPH”. (Chú ý, các ký tự trống trong bản mã được bỏ đi để đảm bảo tính an toàn).
Thêm một vài ví dụ minh hoạ:
E25(IBM) = HAL, E6(MUPID) = SAVOJ, E3(HELP) = KHOS, E1(HOME) = IPNF, E6(SAVOJ) = E20(SAVOJ) = MUPID. Một số thuộc tính của Ek và Dk là:
Tính giao hoán: Ek và Dk được áp dụng lần lượt, thứ tự không quan trọng. Ví dụ: E3 D7 E6 D11 = E3 E6 D7 D11 = D9 = E17.
Với k bất kỳ thoả mãn 1 k 26 ta có: Dk = E26-k, DkEk = E0 = D0.
Ví dụ 2:
Plain: meet me after the toga party
Cipher: PHHW PH DIWHU WKH WRJD SDUWB