Tải bản đầy đủ (.pdf) (15 trang)

Chương 2 -Các hệ mã hóa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (505.75 KB, 15 trang )

1
Ch
ươ
ng 2: Các h

mã hóa
Tr
Tr


êng
êng
®¹
®¹
i h
i h
ä
ä
c s
c s


ph
ph
¹
¹
m k
m k
ü
ü
thu


thu
Ë
Ë
t vinh
t vinh
khoa c
khoa c
«
«
ng ngh
ng ngh
Ö
Ö
th
th
«
«
ng tin
ng tin
----------
----------
&&&
&&&
----------
----------
Hå ngäc vinh
AN TO
AN TO
À
À

N D
N D


LI
LI


U
U
C
C
Á
Á
C H
C H


MÃ H
MÃ H
Ó
Ó
A
A
2 - 2
Ch
ươ
ng 2: Các h

mã hóa

N
N


I DUNG
I DUNG
1. Kh
1. Kh
á
á
i ni
i ni


m v
m v


mã h
mã h
ó
ó
a v
a v
à
à
gi
gi



i mã
i mã
2. H
2. H


mã h
mã h
ó
ó
a c
a c


đi
đi


n.
n.
3. H
3. H


mã v
mã v


i kh
i kh

ó
ó
a công khai.
a công khai.
2 - 3
Ch
ươ
ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI


M V
M V


MÃ H
MÃ H
Ó
Ó
A V
A V
À
À

GI
GI


I MÃ
I MÃ
Mục đích của mã hóa thông tin là cho phép hai người A và B có thể giao
tiếp an toàn với nhau thông qua các kênh thông tin không an toàn sao cho
người thứ ba là C không biết thông tin gì đang thực sự được trao đổi.
- Thông tin ban đầu được gọi là bản rõ (Plain Text).
- Ðể trao đổi, A thực hiện việc mã hóa (Encrypt) bằng khóa mã định trước đối
với bản rõ trên và thu được bản mã (Cipher Text) rồi gửi cho B qua kênh
thông tin.
- Sau khi B nhân được bản mã, với khóa giải mã có thể giải mã (Decrypt) được
bản mã và thu được bản rõ.
- Người thứ ba là C có thể thu được bản mã gửi đi nhưng không biết được nội
dung A muốn gửi hoặc đôi khi biết được thì mất khá nhiều thời gian và thông
tin đó không còn giá trị nữa.
2 - 4
Ch
ươ
ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI



M V
M V


MÃ H
MÃ H
Ó
Ó
A V
A V
À
À
GI
GI


I MÃ
I MÃ
ab
cd
ab
cd
Plain Text
ab
cd
ab
cd
Plain Text

#.
^$
#.
^$
Cipher Text
Encryption
Key
Decryption
Key
Mô hình mã hóa và giải mã thông tin
2
2 - 5
Ch
ươ
ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI


M V
M V


MÃ H

MÃ H
Ó
Ó
A V
A V
À
À
GI
GI


I MÃ
I MÃ


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:
a:
Một hệ mật mã là một bộ 5 thành phần (P, C, K, E, D). Trong đó:
⇒ Với một bản rõ x ∈ P (thường là một xâu kí tự), ta có:
D
k
( E

k
(x) ) = x
P : Tập hợp các bản rõ.
C : Tập hợp các bản mã.
K : Tập hợp các khoá k ∈ K.
k = (E
k
,D
k
) ∈ E x D = K
E
k
: P → C Khoá lập mã.
D
k
: C → P Khoá giải mã.
2 - 6
Ch
ươ
ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI



M V
M V


MÃ H
MÃ H
Ó
Ó
A V
A V
À
À
GI
GI


I MÃ
I MÃ


Phân lo
Phân lo


i h
i h


mã:
mã:

Các hệ mã được phân làm 2 loại:
- Hệ mã khóa đối xứng: Hệ mã dịch vòng, Hệ mã thay tế, Hệ
mã Affine, Hệ mã DES, ...
- Hệ mã không đối xứng (khóa công khai): Hệ mã RSA
2 - 7
Ch
ươ
ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI


M V
M V


MÃ H
MÃ H
Ó
Ó
A V
A V
À
À

GI
GI


I MÃ
I MÃ


H
H


mã kh
mã kh
ó
ó
a đ
a đ


i x
i x


ng:
ng: Là hệ mã mà khi mã hóa và giải mã đều
dùng một khóa.
2 - 8
Ch
ươ

ng 2: Các h

mã hóa
1. KH
1. KH
Á
Á
I NI
I NI


M V
M V


MÃ H
MÃ H
Ó
Ó
A V
A V
À
À
GI
GI


I MÃ
I MÃ



H
H


mã kh
mã kh
ó
ó
a công khai:
a công khai: Là hệ mã mà khi mã hóa thì dùng một
khóa, còn khi giải mã thì dùng khóa khác.
3
2 - 9
Ch
ươ
ng 2: Các h

mã hóa
2. C
2. C
Á
Á
C H
C H


MÃ C
MÃ C



ĐI
ĐI


N
N


M
M


t tiêu ch
t tiêu ch
í
í
kh
kh
á
á
c đ
c đ


phân lo
phân lo


i h

i h


mã:
mã:
- Hệ mã cổ điển: Là các hệ mã cũ, đơn giản, hiên nay không có tính bảo
mật cao, đó là: Hệ mã dịch chuyển, Hệ mã thay tế, Hệ mã Affine ...
- Hệ mã hiện đại: Là những hệ mã mới xuất hiện vài thập kỹ gần đây,
chúng có tính bảo mật cao, đó là: Hệ mã DES, Hệ mã RSA
- Hệ mã cổ điển.
- Hệ mã hiện đại.
2 - 10
Ch
ươ
ng 2: Các h

mã hóa
2.1. H
2.1. H


mã d
mã d


ch chuy
ch chuy


n

n


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:
a:
Hệ mã dịch chuyển là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
P : Tập hợp các bản rõ.
C : Tập hợp các bản mã.
K : Tập hợp các khoá k ∈ K. Với P = C = K = Z
26
Với khóa k ∈ K. Ta định nghĩa:
E
k
(x) = x + k (mod 26)
D
k
(y) = y - k (mod 26)
⇒ Trong trường hợp k = 3, Hệ mật thường được gọi là Caesar (đã từng được
Hoàng đế Julius Caesar sử dụng).
2 - 11
Ch
ươ

ng 2: Các h

mã hóa
2.1. H
2.1. H


mã d
mã d


ch chuy
ch chuy


n
n
 Ví dụ: Với k = 9. Hãy mã hóa câu sau:
x = “ NGAY MAI TIEN VE PHIA TAY ”
Có thể định nghĩa qua phép dịch chuyển với k = 9.
876543210252423222120191817161514131211109
IHGFEDCBAZYXWVUTSRQPONMLKJ
252423222120191817161514131211109876543210
X ZYWVUTSRQPONMLKJIHGFEDCBA
Sử dụng mã dịch chuyển với k = 9, ta có bản mã là:
y = “ WPJH VJR CRNW EN YHRJ CJH ”
* Để cho tiện lợi, ta chỉ xét các bảng chữ cái tiếng Anh. Tuy nhiện, ta có thể thêm vào
các số để chỉ các chữ cái Tiếng Việt có dấu, các chữ số, dấu cách và các ký hiệu khác.
2 - 12
Ch

ươ
ng 2: Các h

mã hóa
2.2. H
2.2. H


mã thay th
mã thay th
ế
ế


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:
a:
Hệ mã thay thế là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
P : Tập hợp các bản rõ.
C : Tập hợp các bản mã. Với P = C = Z
26
K : Tập hợp các khoá.
(K chứa mọi hoán vị có thể của 26 ký hiệu Anphabet)

Với mỗi phép hoán vị khóa π ∈ K. Ta định nghĩa:
E
π
(x) = π(x)
D
π
(y) = π
-1
(y) ( Với
π
-1
là hoán vị ngược của
π
)
4
2 - 13
Ch
ươ
ng 2: Các h

mã hóa
2.2. H
2.2. H


mã thay th
mã thay th
ế
ế
 Trở lại với ví dụ trên. Hãy mã hóa câu sau:

x = “ NGAY MAI TIEN VE PHIA TAY ”
Cho bảng mã hoán vị π:
YZWXUVSTQROPABCDEFGHIJKLMN
X ZYWVUTSRQPONMLKJIHGFEDCBA
Khi đó, ta có bản mã là:
y = “ AHNZ BNF SFJA UJ OGFN SNZ ”
⇒ Với bảng chữ cái Anphabet có 26 chữ cái, ta có tất cả 26! khóa
2 - 14
Ch
ươ
ng 2: Các h

mã hóa
2.3. H
2.3. H


mã Affine
mã Affine


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:

a:
Hệ mã Affine là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
P : Tập hợp các bản rõ.
C : Tập hợp các bản mã. Với P = C = Z
26
K : Tập hợp các khoá k ∈ K.
K = { (a, b) ∈ Z
26
x Z
26
| USCLN(a, 26) = 1 }
Với k = (a, b) ∈ K. Ta định nghĩa:
E
k
(x) = a.x + b (mod 26)
D
k
(y) = a
-1
(y - b) (mod 26)
(
Với a
-1
là nghịch đảo của a theo modul 26
)
2 - 15
Ch
ươ
ng 2: Các h


mã hóa
2.3. H
2.3. H


mã Affine
mã Affine


Ta c
Ta c
ó
ó
b
b


ng c
ng c
á
á
c s
c s


nguyên t
nguyên t


c

c
ù
ù
ng nhau v
ng nhau v


i 26 l
i 26 l
à
à
:
:
2517511237193152191a
-1
2523211917151197531a
⇒ Với bảng chữ cái Anphabet có 26 chữ cái, Hệ mã Aiffine có 12
x
26 khóa.
2 - 16
Ch
ươ
ng 2: Các h

mã hóa
2.3. H
2.3. H


mã Affine

mã Affine
 Ví dụ: Với k = (7, 3). Hãy mã hóa câu sau:
x = “ NGAY MAI TIEN VE PHIA TAY ”
Với khoa k = (7, 3), ta có bảng mã:
WPIBUNGZSLEXQJBVOHATMFYRKD
221581201362518114231692211470191252417103
252423222120191817161514131211109876543210
X ZYWVUTSRQPONMLKJIHGFEDCBA
Khi đó, ta có bản mã là:
y = “ QTDP JDH GHFQ UF EAHD GDP ”
5
2 - 17
Ch
ươ
ng 2: Các h

mã hóa
2.4. H
2.4. H


mã Vigenere
mã Vigenere
Hệ mã Vigenere là hệ mã cải tiến của hệ mã dịch chuyển bằng
cách chia khối văn bản thành các đoạn có độ dài m với khóa k = k
1
,
k
2
, …, k

m
. Khi đó mỗi chữ tại vị trí thứ i sẽ được mã hóa với khóa k
i
.
(Hệ mã này do B. Vigenere đưa ra ở thế kỷ XVI)
Với k = ( k
1
, k
2
, …, k
m
) ∈ K. Ta định nghĩa:
E
k
(x
1
, x
2
, ..., x
m
) = ( x
1
+ k
1
, x
2
+ k
2
, …, x
m

+ k
m
) (mod 26)
D
k
(y
1
, y
2
, ..., y
m
) = ( y
1
- k
1
, y
2
- k
2
, …, y
m
- k
m
) (mod 26)


Đ
Đ



nh ngh
nh ngh
ĩ
ĩ
a:
a:
Hệ mã Vigenere là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
Cho m ∈ »
+
, P = C = Z
26
m
⇒ Với m ≥ 1, có tất cả 26
m
khóa có thể.
2 - 18
Ch
ươ
ng 2: Các h

mã hóa
2.4. H
2.4. H


mã Vigenere
mã Vigenere
Ví dụ: Giả sử m = 6, khóa k là từ CIPHER (nghĩa là k = (
2, 8, 15, 7, 4, 17
)).

Hãy mã hóa câu sau:
x = “ HEN TOI THU BAY DI CHOI HO TAY ”
- Bản rõ x được chia thành từng đoạn có độ dài m = 6 như sau:
240191478147283240120719814191347
OH AT YIOHCIDYABUHTIOTNEH
- Để lập bảng mã, ta cộng với khóa k thì được bản mã:
CHIWJZSORQFPEIJPVZSACMJ
229 78 225181417165154891521251802129
⇒ y = “ JMC ASZ VPJ IEP FQ ROSZ JW IHC ”
2 - 19
Ch
ươ
ng 2: Các h

mã hóa
2.5. H
2.5. H


mã ho
mã ho
á
á
n v
n v


Khác với các mã khác, mã hoán vị không thay đổi các ký tự trong
bản rõ, mà chỉ hoán vị các ký tự trong từng bộ m ký tự của bản rõ.
Ký hiệu S

m
là tập hợp tất cả các hoán vị của (1, 2, ..., m).
Với k = π ∈ K. Ta định nghĩa:
E
k
(x
1
, x
2
, ..., x
m
) = ( x
π(1)
, x
π(2)
, …, x
π(m)
)
D
k
(y
1
, y
2
, ..., y
m
) = ( y
π
-1
(1)

, y
π
-1
(2)
, …, y
π
-1
(m)
)


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:
a:
Hệ mã hoán vị là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
Cho m ∈ »
+
, P = C = Z
26
m
, K = S
m
⇒ Với m ≥ 1, có tất cả m! khóa có thể.

2 - 20
Ch
ươ
ng 2: Các h

mã hóa
2.5. H
2.5. H


mã ho
mã ho
á
á
n v
n v


Ví dụ: Giả sử m = 6, khóa mã và khóa giải mã được cho như hình sau:
- Bản rõ x theo qui ước phải chia thành các khối nhỏ 6 ký tự.
- Với phép hoán vị π trên, ta có xâu được mã hóa như sau:
425163
654321
Khóa k được cho bởi hoán vị π
246153
654321
Phép hoán vị nghịch đảo π
-1
Hãy mã hóa câu sau: x = “
WE WILL MEET AT MIDNIGHT


HGIN TDIM_TA_TEEM_LLIW_EW
DT H N GI_AM_ITE_ELTMWEIWL_
x =
y =
6
2 - 21
Ch
ươ
ng 2: Các h

mã hóa
2.6. H
2.6. H


mã Hill
mã Hill
Hệ mã Hill này được đề xuất bởi Lester.S.Hill vào năm 1929,
hệ mã cũng được thực hiện trên từng bộ m ký tự, mỗi ký tự trong bản
mã là một tổ hợp tuyến tính (trên Z
26
) của m ký tự trong bản rõ. Khóa
sẽ được cho bởi một ma trận cấp m, tức là một phần tử của Z
26
m
x
m
.
E

k
(x
1
, x
2
, ..., x
m
) = ( x
1
, x
2
, ..., x
m
).k (mod 26)
D
k
(y
1
, y
2
, ..., y
m
) = ( y
1
, y
2
, ..., y
m
).k
-1

(mod 26)


Đ
Đ


nh ngh
nh ngh
ĩ
ĩ
a:
a:
Hệ mã Hill là một bộ 5 thành phần (P, C, K, E, D). Thỏa mãn:
Cho m ∈ »
+
, P = C = Z
26
m
K = { k ∈ Z
26
m
x
m
| USCLN( det(k), 26 ) = 1 }.
Với k ∈ K. Ta định nghĩa:
2 - 22
Ch
ươ
ng 2: Các h


mã hóa
2.6. H
2.6. H


mã Hill
mã Hill
- Với khóa k có kích thước m
x
m. Khi đó khóa lập mã sẽ là:
k
m,m
...k
m,2
k
m,1
k
2,m
...k
2,2
k
2,1
............
k
1,m
...k
1,2
k
1,1

(y
1
, y
2
, ..., y
m
) = (x
1
, x
2
, ..., x
m
)
x
hay nói cách khác: y = x . k
- Để giải ma, ta đi tìm ma trân nghịch đảo k
-1
của ma trận khóa k. Khi
đó bản mã được giải mã bằng công thức: x = y. k
-1
Lưu ý: Không phải mọi ma trận khóa đều có nghịch đảo. Tuy nhiên, nếu tồn tại thì nó
là duy nhất.
2 - 23
Ch
ươ
ng 2: Các h

mã hóa
2.6. H
2.6. H



mã Hill
mã Hill
Ví dụ: Giả sử m = 2, ta chọn khóa k như sau:
- Với bộ hai ký tự x = (x1, x2), ta có thể mã hóa theo công thức sau:
Ma trận khóa giải mã k
-1
1123
187
det(k) = 1 (mod 26)
Ma trận khóa mã hóa k
73
811
73
811
(y
1
, y
2
) = (x
1
, x
2
).k = (x
1
, x
2
) . = (
11

.x
1
+ 3. x
2
, 8.x
1
,+ 7.x
2
)
1123
187
(x
1
, x
2
) = (y
1
, y
2
).k
-1
= (y
1
, y
2
) . = (7.y
1
+ 23.y
2
, 18.y

1
+ 11.y
2
)
- Khóa giải mã sẽ là:
2 - 24
Ch
ươ
ng 2: Các h

mã hóa
2.6. H
2.6. H


mã Hill
mã Hill
Ví dụ: Giả sử m = 2, và với khóa mã k và khóa giải mã k
-1
như trên:
- Chia bản rõ thành các bộ m = 2 ký tự:
Hãy mã hóa câu sau:
x = “
WE WILL MEET AT MIDNIGHT

- Mã hóa các bộ hai ký tự theo hệ thức mã hóa: (y
1
, y
2
) = (x

1
, x
2
).k
197681338121901944121111822422
HGIN TDIMTAT
EEMLLIWEW
hECCLUWADFJXUOJYYGWU
42211 7202203592320149242462220
⇒ y = “ UW GYYJ OUXJ FD AWULCCEH ”

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×