CHƯƠNG 3
CÁC HỆ MẬT MÃ KHÓA BÍ MẬT
(SECRET KEYS)
10/ 4/ 2012 1CHƯƠNG 3 _ CÁC HỆ MẬT MÃ
3.1 .Các hệ mật cổ điển
3.1.1. Hệ mã hoá thay thế (substitution cipher)
Có 4 kỹ thut thay thế sau đây:
1. Thay thế đơn (A simple substitution cipher): mt ký t
của bn rõ được thay bng mt ký ttương ng
trong bản mã. M t ánh x1-1 t bn rõ ti bn mã .
2. Thay thế đồng âm (A homophonic substuon
cipher): ging như thay thế đơn, song mt ký tự của
bản rõ có th ánh xti mt trong số nhiều ký t của
bản mã: sơ đồ ánh x1-n (one-to-many).
3. Thay thế đa mẫu t(A polyalphbetic substitution
cipher): dùng nhiu thut toán mã hoá thay thế đơn.
Ánh x1-1 nhưng có thể thay đổi nhiều lần trong
phạm vi mt thông điệp
10/ 4/ 2012 CHƯƠNG 3 _ CÁC HỆ MẬT MÃ 2
4. Thay thế đa ký tự (A polygram substuon cipher):
là thut toán trong đó các khi ký t đựợc mã hoá
theo nhóm. Đây là thut toán tng quát nht, cho
phép thay thế các nhóm ký t của văn bn gc. Ví
dụ, ABA có thtương ứng vi RTQ” , ABB có th
tương ứng vi SLL, v.v
3.1.1.1. Hệ mã Ceasar : Là một hệ mã đơn . Làm việc
trên trương modulo 26 của bảng chữ cái Latin (A-Z)
Ta có : Pє{a-z} - Không gian bản rõ ( plain text)
Cє{a-z} - Không gian bản mã (cipher text)
K є[Z N] - Không gian khóa
M ã hóa: EK(i) = (i + k) mod N.
Giải mã: DK(i) = (i k) mod N.
10/ 4/ 2012 CHƯƠNG 3 _ CÁC HỆ MẬT MÃ 3
Các phép nh toán số học được thc hin trên vành
Z26, số khóa có thlà 26 nhưng trên thc tế chỉ có 25
khóa có ích.
Ví dụ: vi k=3 (được hoàng đế Caesar s dụng)
10/ 4/ 2012 CHƯƠNG 3 _ CÁC HỆ MẬT MÃ 4
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q S T U V W X Y Z A B C D
I LOVE YOU được mã thành L OSZH CSY
Trên thc tế hệ mã Caesar có cơ skhóa ít nên hoàn
toàn có thể thám mã bng cách thử tất cả các khóa có
th(kiu tn công Brute force).
3.1.1.2.Hmã Affine
Không gian các bn rõ (P,C) є{A} - A bảng chữ cái .Giả
sử |A| є N. Khi đó không gian khóa của h mã được
xác định nhưsau:
K = { (a, b): a, b єZN, (a, N) = 1}
Đánh số các chữ cái từ 0 (N-1)
Tiến hành mã từng ký tự “x” theo công thức sau :
10/ 4/ 2012 CHƯƠNG 3 _ CÁC HỆ MẬT MÃ 5
EK(x) = (a* x + b) mod N.
Để giải mã ta cn m a-1 (do (a, N) = 1) ; nên luôn m
được) ến hành tìm y (giải mã) theo công thc sau:
DK(y) = a* (y - b) mod N.