Mã dịch chuyển (shift cipher)
Đặt P=C=K=
Z
26
0
≤
K
≤
25
e
K
(
x
)
=
x
+
K
và
d
K
(
y
)
=
y
−
K
(x, y
Z
26
Trường hợp đặc biệt K=3 ứng với hệ mật mã Caesar.
Ví dụ:
Plain: meet me after the toga party
Cipher: PHHW PH DIWHU WKH WRJD SDUWB
Mã thay thế (substitution cipher)
Đặt P=C=
Z
26
K
e
K
(
x
)
=
K
(
x
)
và
d
K
(
y
)
=
K
−
1
(
y
)
Trong đó
K
−
1
Hệ mật mã Affine
Đặt P=C=
Z
26
K={(a, b)
Z
26
Z
26
Với K=(a, b)
e
K
(
x
)
=
ax
+
b
và
d
K
(
y
)
=
a
−
1
(
y
−
b
)
(x, y
Z
26
Trong đó
a
−
1
Z
26
aa
−
1
≡
a
−
1
a
≡
1
(
mod
26
)
Ví dụ:
K=(7, 3)
Giải thuật Euclid mở rộng:
Tính phần tử nghịch đảo: a-1
1. n0 = n
2. a0 = a
3. t0 = 0
4. t = 1
5. q =
⌊
n
0
a
0
⌋
6. r = n0 – q x a0
7. while r > 0 do
8. temp = t0 – q x t
9. If temp
10. If temp < 0 then temp = n – ((-temp) mod n)
11. t0 = t
12. t = temp
13. n0 = a0
14. a0 = r
15. q =
⌊
n
0
a
0
⌋
16. r = n0 – q x a0
17. if a0
a không có nghịch đảo
else
a-1 = t mod n
Hệ mật mã Vigenere
Đặt m là một số nguyên dương. Định nghĩa P=C=K=
(
Z
26
)
m
k
1
,
k
2
,
.
.
.
,
k
m
e
K
(
x
1
,
x
2
,
.
.
.
,
x
m
)
=
(
x
1
+
k
1
,
x
2
+
k
2
,
.
.
.
,
x
m
+
k
m
)
và
d
K
(
y
1
,
y
2
,
.
.
.
,
y
m
)
=
(
y
1
−
k
1
,
y
2
−
k
2
,
.
.
.
,
y
m
−
k
m
)
Trong đó các phép +, - được thực hiện trên trường
Z
26
Hệ mật mã Hill
Đặt m là một số nguyên dương. Đặt P=C=(
Z
26
K={m x m là ma trận khả nghịch trên
Z
26
Với K
e
K
(
x
)
=
xK
và
d
K
(
y
)
=
yK
−
1
(x, y
Z
26
Trong đó: KK-1 = Imvới Imlà ma trận đơn vị.
Ví dụ: Với m=2; K=
(
11
3
8
7
)
(
7
23
18
11
)
có x=(9, 20), xK=(3, 4); có x=(11, 24), xK=(11, 22);
Mã hoán vị (permutation cipher)
Đặt m là một số nguyên dương. Đặt P=C=(
Z
26
e
K
(
x
1
,
.
.
.
,
x
m
)
=
(
x
K
(
1
)
,
.
.
.
,
x
K
(
m
)
)
và
d
K
(
y
1
,
.
.
.
,
y
m
)
=
(
y
K
−
1
(
1
)
,
.
.
.
,
y
K
−
1
(
m
)
)
Trong đó
K
−
1
K
Mã dòng (stream cipher)
Định nghĩa
Một hệ mã dòng là một bộ 7 (P, C, K, L, F,
ε
- P là tập hữu hạn các bản tin rõ
- C là một tập hữu hạn các bản tin đã mã hóa
- K là không gian khóa, là tập hữu hạn các khóa
- L là tập các dòng khóa
- F =(f 1 , f 2, ….) là bộ sinh. Với i>=1: f i : KxP i-1 -> L
- Với mỗi z ez∈εdz∈ez:→dz:→dz(ez(x))=x