Một số hệ mật mã đơn giản | Học viện Nông nghiệp Việt Nam

Bài viết này giới thiệu về một số hệ mật mã đơn giản, bao gồm các loại mã như dịch chuyển, thay thế, Affine, Vigenere, Hill, hoán vị, và mã dòng. Các phương pháp mã hóa này được mô tả chi tiết và minh họa qua ví dụ cụ thể.

Trường:

Học viện Nông nghiệp Việt Nam 392 tài liệu

Thông tin:
5 trang 8 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Một số hệ mật mã đơn giản | Học viện Nông nghiệp Việt Nam

Bài viết này giới thiệu về một số hệ mật mã đơn giản, bao gồm các loại mã như dịch chuyển, thay thế, Affine, Vigenere, Hill, hoán vị, và mã dòng. Các phương pháp mã hóa này được mô tả chi tiết và minh họa qua ví dụ cụ thể.

57 29 lượt tải Tải xuống
Một số hệ mật đơn giản
1/5
Một số hệ mật đơn gin
dịch chuyn (shift cipher)
Đặt P=C=K=Z
26
. Với 0 K 25, định nghĩa:
e
K
(x) = x + K mod 26
d
K
(y) = y K mod 26
(x, y Z
26
).
Tng hợp đặc biệt K=3 ng vi hệ mật Caesar.
Ví dụ:
Plain: meet me after the toga party
Cipher: PHHW PH DIWHU WKH WRJD SDUWB
thay thế (substitution cipher)
Đặt P=C=Z
26
. Với K gồm tất cả các hoán vị có thể của 26 ký hiệu 0, 1, …, 25. Với mỗi
K K định nghĩa:
e
K
(x) = K(x) mod 26
d
K
(y) = K
1
(y) mod 26
Trong đó K
1
hoán vị ngược của K.
Một số hệ mật đơn giản
2/5
Hệ mật Affine
Đặt P=C= Z
26
đặt
K={(a, b) Z
26
X Z
26
: gcd(a, 26)=1}.
Với K=(a, b) K, định nghĩa:
e
K
(x) = ax+b mod 26
d
K
(y) = a
1
(y b) mod 26
(x, y Z
26
).
Trong đó a
1
Z
26
, sao cho aa
1
a
1
a ≡ 1(mod26).
Ví dụ:
K=(7, 3)
Gii thuật Euclid mở rộng:
Tính phần tử nghịch đảo: a
-1
1. n
0
= n
2. a
0
= a
3. t
0
= 0
Một số hệ mật đơn giản
a
0
a
0
4. t = 1
5.
q
=
n
0
6. r = n
0
q x a
0
7. while r > 0 do
8. temp = t
0
q x t
9. If temp 0 then temp = temp mod n
10. If temp < 0 then temp = n ((-temp) mod n)
11. t
0
= t
12. t = temp
13. n
0
= a
0
14. a
0
= r
15.
q
=
n
0
16. r = n
0
q x a
0
17. if a
0
1 then
a không nghch đảo
else
a
-1
= t mod n
Hệ mật Vigenere
Đặt m một số nguyên dương. Định nghĩa P=C=K= (Z
26
)
m
. Với một khóa K=( k
1
,k
2
,...,k
m
), chúng ta định nghĩa:
e
K
(x
1
,x
2
,...,x
m
) = (x
1
+ k
1
,x
2
+ k
2
,...,x
m
+ k
m
)
Một số hệ mật đơn giản
4/5
3 7
2311
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 Hill
Đặt m một số nguyên dương. Đặt P=C=( Z
26
)
m
đặt
K={m x m ma trận khả nghịch trên Z
26
}.
Với K K, định nghĩa:
e
K
(x) = xK mod 26
d
K
(y) = yK
1
mod 26
(x, y Z
26
).
Trong đó: KK
-1
= I
m
vi I
m
ma trận đơn vị.
dụ: Với m=2; K=
(
118
)
, K
-1
=
(
7 18
)
x=(9, 20), xK=(3, 4); có x=(11, 24), xK=(11, 22);
hoán vị (permutation cipher)
Đặt m là một số nguyên dương. Đặt P=C=( Z
26
)
m
và đặt K là tập tất cả các hoán vị của
tập {1, …, m}. Với K K, định nghĩa:
e
K
(x
1
,...,x
m
) = (x
K(1)
,...,x
K(m)
) mod 26
d
K
(y
1
,...,y
m
) = (y
K
1
(1)
,...,y
K
1
(m)
) mod 26
Trong đó K
1
hoán vị ngược ca K.
Một số hệ mật đơn giản
5/5
dòng (stream cipher)
Định nghĩa
Một hệ ng một bộ 7 (P, C, K, L, F,ε,D), thỏa mãn các điều kiện sau đây:
1. P tập hữu hạn các bn tin
2. C mt tập hữu hạn các bản tin đã hóa
3. K không gian khóa, tập hữu hạn các khóa
4. L tập cácng khóa
5. F =(f 1 , f 2, ….) bộ sinh. Với i>=1: f i : KxP i-1 -> L
6. Với mi z <L, tồn tại một gii thuật mã hóa
e
z
εvà mt giải thuật giải mã
d
z
D. Trong đó: e
z
:P C và d
z
:C P là các hàm sao cho d
z
(e
z
(x)) = x với
mi x P.
| 1/5

Preview text:

Một số hệ mật mã đơn giản
Một số hệ mật đơn giản
Mã dịch chuyển (shift cipher)
Đặt P=C=K=Z26. Với 0 ≤ K ≤ 25, định nghĩa:
eK(x) = x + K mod 26 và
dK(y) = yK mod 26 (x, y Z26).
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
thay thế (substitution cipher) Đặt P=C=Z . Với 26
K gồm tất cả các hoán vị có thể của 26 ký hiệu 0, 1, …, 25. Với mỗi K K định nghĩa:
eK(x) = K(x) mod 26 và
dK(y) = K − 1(y) mod 26
Trong đó K − 1 là hoán vị ngược của K. 1/5
Một số hệ mật mã đơn giản
Hệ mật Affine
Đặt P=C= Z26 và đặt
K={(a, b) Z26X Z26: gcd(a, 26)=1}.
Với K=(a, b) K, định nghĩa:
eK(x) = ax+b mod 26 và
dK(y) = a − 1(yb) mod 26 (x, y Z26).
Trong đó a − 1Z26, sao cho aa 1a − 1a ≡ 1(mod26). 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 2/5
Một số hệ mật mã đơn giản 4. t = 1 5. q = ⌊ n0 ⌋ a0 6. r = n0 – q x a0 7. while r > 0 do 8. temp = t0 – q x t
9. If temp 0 then temp = temp mod n
10. If temp < 0 then temp = n – ((-temp) mod n) 11. t0 = t 12. t = temp 13. n0 = a0 14. a0 = r 15. q = ⌊ n0 ⌋ a0 16. r = n0 – q x a0 17. if a0 1 then a không có nghịch đảo else a-1 = t mod n
Hệ mật Vigenere
Đặt m là một số nguyên dương. Định nghĩa P=C=K= (Z26)m. Với một khóa K=( k1,k2,...,km
), chúng ta định nghĩa:
eK(x1,x2,...,xm) = (x1 + k1,x2 + k2,...,xm + km)
Một số hệ mật mã đơn giản và
dK(y1,y2,...,ym) = (y1 − k1,y2 − k2,...,ymkm)
Trong đó các phép +, - được thực hiện trên trường Z26.
Hệ mật Hill
Đặt m là một số nguyên dương. Đặt P=C=( Z26)m và đặt
K={m x m là ma trận khả nghịch trên Z26}.
Với K K, định nghĩa:
eK(x) = xK mod 26 và
dK(y) = yK 1 mod 26 (x, y Z26).
Trong đó: KK-1 = Imvới Imlà ma trận đơn vị.
Ví dụ: Với m=2; K= (118), K-1= (7 18) 3 7 2311
có x=(9, 20), xK=(3, 4); có x=(11, 24), xK=(11, 22);
hoán vị (permutation cipher)
Đặt m là một số nguyên dương. Đặt P=C=( Z26)m và đặt K là tập tất cả các hoán vị của
tập {1, …, m}. Với K K, định nghĩa:
eK(x1,...,xm) = (xK(1),...,xK(m)) mod 26 và
dK(y1,...,ym) = (y − 1 ,...,y − 1 ) mod 26 K (1) K (m) Trong đó − 1 K
là hoán vị ngược của K. 4/5
Một số hệ mật mã đơn giản
dòng (stream cipher) Định nghĩa
Một hệ mã dòng là một bộ 7 (P, C, K, L, F,ε,D), thỏa mãn các điều kiện sau đây:
1. P là tập hữu hạn các bản tin rõ
2. C là một tập hữu hạn các bản tin đã mã hóa
3. K là không gian khóa, là tập hữu hạn các khóa
4. L là tập các dòng khóa
5. F =(f 1 , f 2, ….) bộ sinh. Với i>=1: f i : KxP i-1 -> L
6. Với mỗi z tồn tại một giải thuật mã hóa e z
εvà một giải thuật giải mã d z
D. Trong đó: ez:P Cdz:C P là các hàm sao cho dz(ez(x)) = x với mọi x P. 5/5