2021/8/16
1
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 1
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 2
GIỚI THIỆU HỌC PHẦN
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 3
GIỚI THIỆU HỌC PHẦN
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 4
GIỚI THIỆU HỌC PHẦN
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 5
GIỚI THIỆU VỀ PHÂN LOẠI MẬT
Thuật toán mật mã
Mật mã đối
xứng
Mã dòng
Mã khối
Hàm băm
Hàm băm
không khóa
Hàm băm có có
khóa
Mật mã khóa
công khai
Chữ kí số
Sinh số ngẫu
nhiên
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin16 August 2021 | Page 6
2021/8/16
2
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 7
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 8
BÀI 01 - MỤC TIÊU
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 9
TỔNG QUAN VỀ MẬT MÃ HỌC
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 10
Tránh bị truy nhập
Tránh bị sử dụng
Tránh bị tiết lộ
Tránh bị gián đoạn
Tránh bị sửa đổi
Tránh bị phá hoại trái phép
Toàn vẹn
mật
Khả
dụng
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 11
Các mối đe dọa an toàn thông tin trong
hệ thống thông tin liên lạc
Các loại chung của mối đe
dọa
Phân tích hệ quả của việc thực
hiện các mối đe dọa
Mối đe dọa bên trong
Mối đe dọa bên ngoài
Mối đe dọa kết hợp
Vi phạm quy tắc kiểm soát truy
cập đến các tài nguyên
Vi phạm tính bí mật
Vi phạm tính toàn vẹn
Vi phạm tính sẵn sàng phục vụ
của hệ thống
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 12
2021/8/16
3
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 13
Mã hóa
Hàm băm, mã xác thực thông điệp (MAC)
Chữ kí số
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 14
Dịch vụ Kỹ thuật
Đảm bảo tính bí mật
Mã hóa
Đảm bảo tính toàn vẹn
Chữ ký số, hàm băm, MAC
Xác thực
Chữ ký số, MAC
Chống chối bỏ
Chữ ký số
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 15
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 16
Biến đổi A/D Mã nguồn Mã bảo mật Mã kênh
Giải mã kênh
Giải mã bảo mật
Giải mã nguồnBiến đổi D/A
Nhận tin
Nguồn tin
Kênh truyền
(Tạp âm, đa
đường, giao
thoa, nhiễu,
nghe trộm ...)
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 17
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 18
2021/8/16
4
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 19
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 20
P tập hữu hạn c bản thể
C tập hữu hạn c bản thể
K tập hữu hạn c khoá thể
P C - quy tắc hóa với khóa K. Tập 󰇝
K󰇞 hiệu là E,
còn tập 󰇝
󰇛󰇜 P󰇞 hiệu
󰇛P󰇜.
󰇛P󰇜 P - quy tắc giải với khóa K. Tập 󰇝
K󰇞 hiệu
là D.
Với mỗi K sẽ được tả dưới dạng 󰇛
󰇜, trong đó:
-
khóa dùng cho hóa,
- khóa dùng cho giải . Khi đó
được
hiểu hàm
,
được hiểu hàm
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 21
Định nghĩa hệ mật: Một hệ mật bộ 5 (P, C, K, E, D) thoả mãn các điều
kiện sau:
1)  P K ta có:

2)
C 󰇌
K
󰇛P󰇜
Ghi chú:
Mã hóa:
Giải mã:
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 22
Mã hóa
Bản rõ
Bản mã
Giải mã
Quá trình chung của hệ mật
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 23
E
D
m
plaintext
encryption key
decryption key

(m)
ciphertext
(c) = m
eavesdropping
adversary
Mã hóa đối xứng: biết được khóa mã hóa dễ dàng suy ra được khóa giải
mã (thông thường 𝑘
e
= 𝑘
d
)
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 24
2021/8/16
5
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 25
E
D
m
plaintext
(public) encryption key
(private) decryption key

(m)
ciphertext
(c) = m
attacker
Mã hóa bất đối xứng: Mỗi bên có một khoá công khai và một khoá bí mật.
- Bên gửi dùng khoá công khai của bên nhận để mã hoá.
- Bên nhận dùng khoá bí mật của mình để giải mã.
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 26
Mã khối:
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 27
Hệ mật Vernam
(One-Time Pad)
Nguồn khóa
ngẫu nhiên
Nguồn tin
Bản mã
Nguồn khóa
ngẫu nhiên
Bản rõ
i
k
i
m
i i i
c m k
i
k
i
c
Mã dòng:
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 28
Bộ kí tự: chữ cái latin
Khóa ngẫu nhiên: PWKAX
Thông điệp: HELLO
H
(7)
E
(4)
L
(11)
L
(11)
O
(14)
Khóa
P
(15)
W
(22)
K
(10)
A
(0)
X
(23)
W
(22)
A
(0)
V
(21)
?
(?)
?
(?)
MÃ HÓA
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 29
Bộ kí tự: chữ cái latin
Khóa ngẫu nhiên: PWKAX
Bản : WAVLL
GIẢI MÃ
W
(22)
A
(0)
V
(21)
L
(11)
L
(11)
Khóa
P
(15)
W
(22)
K
(10)
A
(0)
X
(23)
H
(7)
E
(4)
L
(11)
L
(11)
O
(14)
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 30
Mở rộng khóa
Nguồn tin
Bản mã
Mở rộng khóa
Bản rõ
i
z
i
m
E
D
i i i
c m z
i i i
m c z
K
K
i
z
i
c
, , 0,1
i i i
m z c
2021/8/16
6
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 31
Mở rộng khóa
Nguồn tin
Bản mã
Mở rộng khóa
Bản rõ
i
z
i
m
E
D
i
i z i
c e m
i
i z i
m d c
K
K
i
z
i
c
,,
i i i
m c z A
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 32
Khối «mở rộng khóa»
Là bộ sinh số giả ngẫu nhiên (PRNG)
Là quan trọng nhất
Quyết định độ an toàn của mã dòng
Phân loại
z
i
chỉ phụ thuộc K: «mã dòng đồng bộ»
z
i
phụ thuộc c
i-n
, c
i-n+1
, ..., c
i-1
: «mã dòng tự đồng
bộ»
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin16 August 2021 | Page 33
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 34
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 35
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 36
Sơ đồ khối của một hệ truyền tin mật sử dụng hệ mật KBM?
Các phương pháp chính của hệ mật KBM?
Yếu điểm của mã đơn biểu vs mã đa biểu?
Hệ mật tích?
Thám mã một số hệ mã cổ điển dựa trên phương pháp
thống kê?
2021/8/16
7
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 37
Sơ đồ khối của một hệ truyền tin mật
Alice
Bộ mã hóa
Bản rõ
Bản mã
Kênh mở
(không an toàn)
Bộ giải mã
Bob
Oscar
Kênh an toàn
Nguồn khóa
Bản mã
Bản rõ
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 38
Các hệ mật thay thế đơn biểu
Khi khóa đã được chọn thì mỗi kí tự của bản được ánh xạ
đến một kí tự duy nhất của bản .
Như vậy độ dài của khóa đây 26 số khóa thể 26!.
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 39
Mã dịch vòng (MDV Shift cipher):
Ví dụ:
Bản rõ: HOC TAP TOT LAO DONG TOT
Khoá k = 5
Tìm bản mã
Từ bản mã thu được giải mã đthu bản rõ ban đầu.
Giả sử P = C = K = Z
26
với 0 ≤ k ≤ 25, ta định nghĩa:
y = e
k
(x) = x + k mod 26
x = d
k
(y) = y - k mod 26
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 40
tự A B C D E F G H I J K L M
tương ng 0 1 2 3 4 5 6 7 8 9 10 11 12
tự N O P Q R S T U V W X Y Z
tương ng 13 14 15 16 17 18 19 20 21 22 23 24 25
Bản H O C T A P T O T L A O D O N G T O T
tương ng (x)
Bản
19 0 15 19 14 19 11 0 14 3 14 13 6 19 14 19
12 19 7 24 5 20 24 19 24 16 5 19 8 19 18 11 24 19 24(x + 5) mod 26
M T H Y F U Y T Y Q F T I T S L Y T Y
7
14
2
Bản thu được: MTHYFUYTYQFTITSLYTY
Giải : SV tự làm!
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 41
Affine:
Ví d:
Cho k = (7, 3). Bản : It is nice today
Tìm bản .
Giải bản thu được
Cho P = C = Z
26
, K = Z
26
x Z
26
. Giả sử:
K = {(a,b) Z
26
x Z
26
; UCLN (a, 26) = 1}
Với k = (a, b) K ta định nghĩa:
y = e
k
(x) = ax + b mod 26
x = d
k
(y) = a
-1
(y b) mod 26
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 42
Giải:
Tìm bản của bản : It is nice today
Ta hàm : e
k
(x) = 7x + 3 mod 26
Bản thu được : HGHZQHRFGXYDP
tự I T I S N I C E T O D A Y
(x) 8 9 8 18 13 8 2 4 19 14 3 0 24
7x + 3 mod 26 7 6 7 25 16 7 17 5 6 23 24 3 15
Bản H G H Z Q H R F G X Y D P
2021/8/16
8
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 43
Giải:
Tìm bản của bản : HGHZQHRFGXYDP
Ta hàm :
d
k
(y) = 7
-1
.(y - 3) mod 26 = 15.(y 3) mod 26
Bản thu được : It is nice today
Bản H G H Z Q H R F G X Y D P
(y) 7 6 7 25 16 7 17 5 6 23 24 3 15
15(y 3) mod 26 8 19 8 18 13 8 2 4 19 14 3 0 24
Bản I T I S N I C E T O D A Y
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 44
Nhận xét vcác hệ mật thay thế đơn biểu:
Mỗi ký tự của bản rõ được ánh xạ đến một ký tự duy nhất của
bản mã.
Các đặc trưng về ngôn ngữ, tần suất xuất hiện của các chữ
trong bản rõ và chữ tương ứng trong bản mã là như nhau
Phương pháp thám mã bằng thống kê tần suất!
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 45
Các hệ mật thay thế đa biểu
Yếu điểm của các mã pháp đơn biểu
Một hướng khác làm tăng độ an toàn cho mã trên bảng chữ
sử dụng nhiều bảng chữ để mã.
Mỗi chữ sẽ được mã bằng bất kì chữ nào trong bản mã tùy
thuộc vào ngữ cảnh khi mã hóa. Làm như vậy để trải bằng tần
suất các chữ xuất hiện trong bản mã. Do đó làm mất bớt cấu
trúc của bản rõ được thể hiện trên bản mã và làm cho mã thám
đa bảng khó hơn.
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 46
Hệ Vigenere:
Blaise de Vigènere (1523 1596)
Ý tưởng:
Sử dụng một loạt Caesar khác nhau dựa
trên các tự của một từ khóa
Dễ hiểu dễ thực hiện
Hệ mật thay thế đa biểu:
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 47
Biến đổi bảng chữ cái A, B, …, Z thành các
kí tự 0, 1, …25
Khóa (từ khóa) là một chuỗi các kí tự
có độ dài m
Thông điệp được chia thành các khối độ dài m. Mỗi
lần mã hóa sẽ thực hiện biến đổi đồng thời m kí tự
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 48
tả hệ Vigenere:
Nhận xét:
Số khoá: 26
m
Tấn công tìm khoá vét cạn không khả thi
Cho m là số nguyên dương. Ta định nghĩa P = C = K = (Z
26
)
m
. Với khoá
k = (k
1
, k
2
, …, k
m
) ta xác định:
e
k
(x
1
, x
2
…,x
m
) = (x
1
+ k
1
, x
2
+ k
2
,… x
m
+ k
m
)
d
k
(y
1
, y
2
,…, y
m
) = (y
1
- k
1
, y
2
- k
2
,… y
m
- k
m
)
(Các phép toán đều thực hiện trên Z
26
.)
2021/8/16
9
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 49
Ví dụ minh ho:
m = 6, k = cipher
Bản : Information security
Hãy hoá bản trên
Giải bản vừa thu được
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 50
Giải:
Ta từ khoá CIPHER, tương ứng với dãy số: k = (2, 8, 15, 7, 4, 17)
Chuyển các tự thành trên Z
26
rồi cộng với từ khoá
Chuyển các tự số thành chữ cái tương ứng. Ta bản :
KVUVVDCBXVRJGKJYMKA
Bản I N F O R M A T I O N S E C U R I T Y
8 13 5 14 17 12 0 19 8 14 13 18 4 2 20 17 8 19 24
Khoá 2 8 15 7 4 17 2 8 15 7 4 17 2 8 15 7 4 17 2
Bản 10 21 20 21 21 3 2 1 23 21 17 9 6 10 9 24 12 10 0
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 51
Nhận xét?
Như vậy chữ khác nhau cho cùng một chữ của bản .
Ví d: Chữ I được bởi các ch: K, X, M; chữ N được bởi các chữ V,
R; ...
Tần suất của c chữ bị phẳng, nghĩa tần suất xuất hiện các ch trên bản
tương đối đều nhau.
Tuy nhiên chưa mất hoàn toàn, do độ dài của khoá hạn, nên thể
tạo nên chu kỳ vòng lặp, hoặc việc lặp do ngẫu nhiên
Bản I N F O R M A T I O N S E C U R I T Y
Bản K V U V V D C B X V R J G K J Y M K A
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 52
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 53
Hệ mật Hill:
Lester S.Hill đưa ra năm 1929
Ý tưởng: lấy m tổ hợp tuyến tính của m tự trong một phần tử bản
để tạo ra một phần tử m tự trong một phần tử của bản .
t:
Cho m số nguyên dương cố định. Cho P = C = (Z
26
)
m.
k = {các
ma trận khả nghịch cấp m x m trên Z
26
}:
Với k K, ta xác định:
e
k
(x) = xk
d
k
(y) = yk
-1
(Các phép toán đều thực hiện trên Z
26
.)
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 54
Cho ma trận:
Định thức detA = a
11
.a
22
a
12
.a
21
Ma trận khả nghịch det A ≠ 0
các phép toán tính theo modulo 26 nên phải điều kiện:
UCLN(detA, 26) = 1.
Ma trận nghịch đảo:
2221
1211
aa
aa
A
1121
1222
11
.det
aa
aa
AA
2021/8/16
10
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 55
Ví dụ minh ho:
Bản : “july
Ma trận khoá:
Tìm bản của bản trên
Từ bản thu được tìm bản ban đầu.
11 8
37
k



Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 56
Các hệ mật thay thế không tuần hoàn
Phép thế lý tưởng là dùng nhiều bảng chữ cái để không nhận diện
được phân bố tần suất
Điều gì xảy ra nếu văn bản được mã bằng số bảng chữ cái không hạn
chế?
Vigenere đề xuất hệ mật khoá tự sinh (hệ mật khoá chạy)
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 57
Hệ mật khoá chy:
Ý tưởng:
Từ khoá được nối tiếp bằng chính bản , sau đó sử dụng Vigenere để
Khi biết từ khoá, giải được một số chữ của bản rồi dùng chúng giải nốt
phần còn lại
Sự cải tiến này y mất khái niệm chu kỳ.
Ví d:
Key = deceptive
Bản : we are discovered save yourself
Hãy hoá bản trên.
Giải bản thu được
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 58
Khoá D E C E P T I V E
Bản W E A R E D I S C O V E R E D S A V E Y O U R S E L F
Bản
W E A R E D I S C O V E R E D S A V
hoá bản
Z I C V T W Q N G K Z E I I G A S X S T S L V V W L A
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 59
Khoá D E C E P T I V E
Bản
Bản
Z I C V T W Q N G K Z E I I G A S X S T S L V V W L A
W E A R E D I S CW E A R E D I S C O V E R E D S A V
O V E R E D S A V
E Y O U R S E L F
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 60
Hệ mật OTP
Do Gillbert Vernam đưa ra 1971
Mô tả:
P = C = K = (Z
2
)
n
, n 1 số nguyên, K (Z
2
)
n
,
với x = (x
1
, …, x
n
) K = (K
1
, …, K
n
), ta hàm hoá:
e
K
(x) = (x
1
K
1
, …, x
n
K
n
)
Phép đồng nhất với phép giải. Nếu y = (y
1
, …, y
n
)
ta :
d
K
(y) = (y
1
K
1
, …, y
n
K
n
)
2021/8/16
11
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 61
Hệ mật hoán vị (MHV):
Ý tưởng:
Các chữ trong bản không được thay thế bằng các chữ khác chỉ
thay đổi vị trí giữa các chữ trong bản .
Nhận xét?
Bản cùng tần suất xuất hiện các chữ như trong bản gốc
Dễ thám
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 62
MHV:
Cho m số nguyên dương xác định. Cho P = C = (Z
26
)
m
k tất cả hoán vị thể của {1, 2, …,m}:
Với khoá , ta xác định:
e
(x
1
, …,x
m
) = (x
(1)
, …, x
(m)
)
d
(y
-1
(1)
, …, y
-1
(m)
) = (x
1
, …,x
m
)
(Trong đó
-1
hoán vị ngược của )
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 63
Ví dụ 1:
m =6; khóa phép hoán vị sau:
Khi đó phép HV ngược
-1
:
Bản : asecondclasscarriageonthetrain
1 2 3 4 5 6
3 5 1 6 4 2
1 2 3 4 5 6
3 6 1 5 2 4
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 64
a:
B1: Nhóm bản thành các nhóm 6 tự
B2: Mỗi nhóm 6 tự sẽ được sắp xếp lại theo theo phép HV (3, 5, 1,
6, 4, 2), ta :
Khi đó ta bản :
EOANCSLSDSACRICARAOTGHNERIENAT
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 65
Giải mã:
B1: Nhóm bản thành các nhóm 6 tự
B2: Mỗi nhóm 6 tự sẽ được sắp xếp lại theo theo phép HV
-1
(3, 6,
1, 5, 2, 4), ta :
Khi đó ta bản ơng ứng:
asecondclasscarriageonthetrain
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 66
Hệ mật tích:
Ý tưởng: kết hợp các hệ mật bằng cách tạo tích của chúng.
Xét các hệ mật có C = P (các hệ mật loại này được gọi là tự đồng cấu)
Giả sử S
1
= (P, P, K
1
, E
1
, D
1
) S
2
= (P, P, K
2
, E
2
, D
2
) hai hệ mật tự đồng cấu
cùng không gian bản , . Khi đó tích S
1
S
2
(KH: S
1
×S
2
) được xác định
hệ mật (P, P, K
1
× K
2
, E, D)
Với khoá k = (k
1
, k
2
) trong đó k
1
K
1
, k
2
K
2
ta xác định:

󰇛󰇜
quy tắc giải :

󰇛󰇜
2021/8/16
12
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 67
Thám mã một số hệ mật cổ điển:
Nhận xét về các hệ mật thay thế đơn biểu:
Mỗi ký tự của bản rõ được ánh xạ đến một ký tự duy nhất của
bản mã.
Các đặc trưng vngôn ngữ, tần suất xuất hiện của các chữ trong
bản rõ và chữ tương ứng trong bản mã là như nhau
Phương pháp thám mã bằng thống kê tần suất!
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 68
Phương pháp thám bằng thống tần suất:
Ngôn ngữ nh thừa
dụ: tiếng Anh, chữ E được sử dụng nhiều nhất; sau đó đến các chữ
T, R, N, I, O, A, S. Một số chữ rất ít dùng như: Z, J, K, Q, X
Các bộ chữ thường xuất hiện: th, nt, lrd, shll, …
Bằng phương pháp thống , ta có thể xây dựng các bảng các tần
suất các ch đơn, cặp hay bộ ba các chữ
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 69
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 70
Ví d: Giả sử ta bản
Thám Affine bằng phương pháp thống tần suất.
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 71
Bước 1: xác định tần suất
tự Tần suất
xuất hiện
tự Tần suất
xuất hiện
G 22 I 5
N 21 K 4
R 21 L 4
B 16 Q 4
O 16 E 3
W 13 P 3
Z 11 F 2
A 9 T 2
D 9 M 1
H 7 U 1
J 6 V 1
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 72
Bước 2: Tách nhóm
Từ bảng tần suất, giả sử
G (6) hóa của E (4)
N (13) hóa của T (19)
Thiết lập hệ phương trình
Giải hệ được a = 23, b = - 8 = 18. Ta hàm :
e
k
(x) = 23x + 18 mod 26
Hàm giải tương ứng:
d
k
(y) = 17(y 18) = (17y + 6) mod 26
4a + b = 6
19a + b = 13
2021/8/16
13
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 73
Bước 3: Tìm bản
Từ hàm giải , ta bản tương ứng:
Nhận xét về bản ?
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 74
Quay lại bước 2
Giả sử G hóa của T
N hóa của E
Ta lại hệ:
Giải hệ được a = 3, b = 1. Ta hàm :
e
k
(x) = 3x + 1 mod 26
Hàm giải tương ứng:
d
k
(y) = 9(y 1) = 9y + 17 mod 26
19a + b = 6
4a + b = 13
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 75
Bước 3: Bản tương ứng
The art of war teaches us to rely not
on the likelihood of the enemys not
coming but on our own readiness to
receive him not on the chance of his
not attacking but rather on the fact that
e have made our position unassailable”
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 76
Ví dụ minh ho:
Giả sử ta dùng hệ mật Hill với bản : “Friday, bản tương ứng
ZIQVSO
Hãy tìm ma trận khoá.
Giải:
Ta FR (5; 17), ID (8;3), AY (0; 24)
ZI (25; 8) QV( 16; 21); SO (18; 14)
PT:
25 8 5 17
.
16 21 8 3
K
1
5 17 25 8 9 1 25 8 7 15
..
8 3 16 21 2 15 16 21 4 19
K
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 77
Thám mã hệ mã Vigerner: đọc thêm tài liệu [4, 1.2 chapter 1]
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 78
Mục tiêu:
Thực hiện làm thành thạo các bài tập minh họa phần lí thuyết về các
hệ mật cổ điển học trong Bài 01
Bài 02. Các hệ mật KBM
2021/8/16
14
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 79
Bài 1.
Bản rõ P được mã bằng mã Affine với k = (7, 11), đầu ra tiếp tục được
mã bằng hệ mã Vigenere với từ khóa là CIPHER thu bản mã
BNNIECQDZSSGHG. Hãy tìm P ban đầu
Bài 2.
Giải mã bản mã QQCD thu được khi mã bản rõ bằng hệ mã Hill. Cho
khóa k =

Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 80
Bài 3.
Ta có phương thức mã hoán vị như sau : Giả sử m, n là các số nguyên
dương. Ta viết bản rõ theo từng hàng thành một ma trận nxm. Sau đó
tạo ra bản mã bằng cách lấy các cột của ma trận này. Cho n = 3, m = 5
em hãy mô tả cách giải mã bản mã ’’WAT ORW REI DBN SUD ’’ thu được
bằng phương pháp đã nêu ở trên
Bài 4.
Hãy giải mã bảnZFFPXNZXXQthu được từ mã Affine. Biết rằng P
là mã hóa của y, “Zlà mã hóa của s”.
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 81
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 82
Nguyên lí thiết kế mã khối?
Thuật toán mã khối DES
Các bước thực hiện thuật toán DES
Vấn đề liên quan tới DES?
Biến thể của DES?
Nắm vững cơ sở toán học của hệ mã AES, cấu trúc SPN, thuật
toán AES
Bài 03. Các hệ mật hiện đại
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 83
Mã khối
Nguyên lí thiết kế mã khối:
Theo Shannon có 2 nguyên tắc cơ sở để độ bảo mật cao đó là việc tạo ra
tính xáo trộn (confussion) tính khuếch tán (diffusion)
Tính xáo trộn: sự phụ thuộc vào bản mã đối với bản rõ phải thực sự phức
tạp để gây rắc rối, cảm giác xáo trộn đối với kẻ thám mã có ý định phân tích
tìm quy luật để phá mã. Quan hệ của mã – tin là phi tuyến
Khuếch tán: làm khuếch tán những mẩu văn bản mang đặc tính thống kê
(gây ra do dư thừa ngôn ngữ) lẫn vào toàn bộ văn bản. Nhờ đó gây khó
khăn cho kẻ phá hoại trong việc dò mã trên cơ sở thống kê các mẫu lặp lại
cao. Sự thay đổi 1 bit trong 1 khối bản rõ phải dẫn tới sự thay đổi hoàn
toàn trong khối mã tạo ra
Một cách đơn giản, xáo trộn được thực hiện bằng phép thế, khuếch tán
được thực hiện bằng phép đổi chỗ hay hoán vị
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 84
Mã khối
Chuẩn dữ liệu DES
Giới thiệu về DES
Thuật toán DES
Double DES Triple DES
2021/8/16
15
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 85
Mã khối
Giới thiệu về DES
Năm 1972, Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (National
Institute of Standards and Technology-NIST) đặt ra yêu cầu xây dựng một
thuật toán mã hoá bảo mật thông tin với yêu cầu là dễ thực hiện, sử
dụng được rộng rãi trong nhiều lĩnh vực và mức độ bảo mật cao.
Năm 1974, IBM giới thiệu thuật toán Lucifer, thuật toán này đáp ứng hầu
hết các yêu cầu của NIST.
Sau một số sửa đổi, năm 1976, Lucifer được NIST công nhận là chuẩn
quốc gia Hoa kỳ và được đổi tên thành Data Encryption Standard (DES).
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 86
Mã khối
DES
Algorithm
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 87
Input x 64 bits
Initial Pemutation
Left 32 bits Right 32 bits
Left 32 bits Right 32 bits
Output y 64 bits
Inverse Initial Permutation
f
Left 32 bits Right 32 bits
+
K1
K2
K16
+
+
f
f
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 88
tả thuật toán:
Mã khối
IP
58
50
42
34
26
18
10
2
60
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49
41
33
25
17
9 1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
IP
-1
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 89
Mã khối
Hàm f
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 90
B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8
C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8
A
E(A)
J
E
+
S
1
S
2
S
3
S
4
S
5
S
6
S
7
S
8
P
f(A,J)
32 bit
32 bit
32 bit
48 bit
48 bit
48 bit
2021/8/16
16
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 91
Mã khối
BNG CHN E BIT
32
1 2 3 4 5
4 5 6 7 8 9
8 9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
32
1
Lặp lại 2 bit cuối của
hàng trên
Lặp lại 2 bit cuối của
hàng trên
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 92
Mã khối
Dùng 8 bảng S
1
S
2
,…,S
8
( được gọi là các hộp S ). Với mỗi S
i
là một
bảng 416 cố định có các hàng là các số nguyên từ 0 đến 15. Với
xâu bit có độ dài 6 (kí hiệu B
i
= b
1
b
2
b
3
b
4
b
5
b
6
), ta tính S
j
(B
j
) n
sau:
Hai bit b
1
b
6
xác định biểu diễn nhị phân hàng r của S
j
(0 r 3)
Bốn bit (b
2
b
3
b
4
b
5
) xác định biểu diễn nhị phân của cột c của S
j
(0 c 15).
Khi đó S
j
(B
j
) sẽ xác định phần tử S
j
(r, c) ; phần tử này viết dưới dạng nhị
phân là một xâu bit có độ dài 4
Bằng cách tương tự tính các C
j
= S
j
(B
j
) , (1 j 8).
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 93
Mã khối
S
1
14
4
13
1 2
15
11
8 3
10
6
12
5 9 0 7
0
15
7 4
14
2
13
1
10
6
12
11
9 5 3 8
4 1
14
8
13
6 2
11
15
12
9 7 3
10
5 0
15
12
8 2 4 9 1 7 5
11
3
14
10
0 6
13
S
2
15
1 8
14
6
11
3 4 9 7 2
13
12
0 5
10
3
13
4 7
15
2 8
14
12
0 1
10
6 9
11
5
0
14
7
11
10
4
13
1 5 8
12
6 9 3 2
15
13
8
10
1 3
15
4 2
11
6 7
12
0 5
14
9
Các hộp thế:
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 94
S
3
10
0 9
14
6 3
15
5 1
13
12
7
11
4 2 8
13
7 0 9 3 4 6
10
2 8 5
14
12
11
15
1
13
6 4 9 8
15
3 0
11
1 2
12
5
10
14
7
1
10
13
0 6 9 8 7 4
15
14
3
11
5 2
12
S
4
7
13
14
3 0 6 9
10
1 2 8 5
11
12
4
15
13
8
11
5 6
15
0 3 4 7 2
12
1
10
14
9
10
6 9 0
12
11
7
13
15
1 3
14
5 2 8 4
3
15
0 6
10
1
13
8 9 4 5
11
12
7 2
14
S
5
2
12
4 1 7
10
11
6 8 5 3
15
13
0
14
9
14
11
2
12
4 7
13
1 5 0
15
10
3 9 8 6
4 2 1
11
10
13
7 8
15
9
12
5 6 3 0
14
11
8
12
7 1
14
2
13
6
15
0 9
10
4 5 3
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 95
S
6
12
1
10
15
9 2 6 8 0
13
3 4
14
7
15
11
10
15
4 2 7
12
9 5 6 1
13
14
0
11
3 8
9
14
15
5 2 8
12
3 7 0 4
10
1
13
11
6
4 3 2
12
9 5
15
10
11
14
1 7 6 0 8
13
S
7
4
11
2
14
15
0 8
13
3
12
9 7 5
10
6 1
13
0
11
7 4 9 1
10
14
3 5
12
2
15
8 6
1 4
11
13
12
3 7
14
10
15
6 8 0 5 9 2
6
11
13
8 1 4
10
7 9 5 0
15
14
2 3
12
S
8
13
2 8 4 6
15
11
1
10
9 3
14
5 0
12
7
1
15
13
8
10
3 7 4
12
5 6
11
0
14
9 2
7
11
4 1 9
12
14
2 0 6
10
13
15
3 5 8
2 1
14
7 4
10
8
13
15
12
9 0 3 5 6
11
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 96
3 tính chất của S box được NSA công bố
Các bít vào luôn phụ thuộc không tuyến tính vào các bít ra
Sửa đổi ở một bit vào làm thay đổi ít nhất là hai bit ra.
Khi một bit vào được giữ cố định và 5 bit con lại cho thay đổi thì S-boxes thể
hiện một tính chất được gọi là ‘phân bố đồng nhất ‘ (uniform distribution):
so sánh số lượng bit số 0 và 1 ở các đầu ra luôn ở mức cân bằng. Tính chất
này khiến cho việc áp dụng phân tích theo lý thuyết thông kê để tìm cách phá
S-boxes là vô ích.
Mã khối
2021/8/16
17
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 97
Mã khối
Xâu bit C = C
1
C
2
C
8
có độ dài 32 được hoán vị theo phép hoán vị cố
định P. Xâu kết quả là P(C) được xác định là f(A, J).
P
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 98
Mã khối
Các bước tính bảng khóa DES:
Với một khoá k 64 bit cho trước, ta loại bỏ các bit kiểm tra tính chẵn lẻ
hoán vị các bit còn lại của k theo phép hoán vị cố định PC-1. Ta viết: PC-
1(k) = C
0
D
0
Với i thay đổi từ 1 đến 16:
C
i
= LS
i
(C
i-1
)
D
i
= LS
i
(D
i-1
)
Dịch trái 1 bit tương ứng với các vòng 1, 2, 9, 16
Dịch trái 2 bit tương ứng với các vòng 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 99
khối
K
PC 1
C
0
D
0
LS
1
LS
1
C
1
D
1
PC 2 K
1
LS
16
LS
16
C
16
D
16
PC 2 K
16
Tính bảng khóa DES
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 100
Các hoán vị PC – 1 và PC 2:
khối
PC 1
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
PC 1
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 101
khối
Tính chất của DES
Tác dụng đồng loạt: Khi ta thay đổi 1 bit trong khoá sẽ gây ra tác động đồng loạt làm
thay đổi nhiều bit trên bản . Đây tính chất mong muốn của khoá trong thuật
toán hoá. Nếu thay đổi 1 bít đầu vào hoặc khoá sẽ kéo theo thay đổi một nửa số
bít đầu ra. Do đó không thể đoán khoá được. Co thể nói rằng DES thể hiện tác động
đồng loạt mạnh
Tính chất : hiệu của x theo từng bít, ta
Khóa yếu: DES 4 khóa yếu
k được gọi khóa yếu nếu
󰇛
󰇜  x
Khóa nửa yếu: 6 cặp khóa nửa yếu
cặp (k
1
, k
2
) sao cho
󰇛
󰇜 với mọi x
DES không nhóm dưới phép hợp hàm
Khóa yếu
1)
0101 0101 0101 0101
2)
FEFE FEFE FEFE FEFE
3)
1F1F 1F1F
0E0E 0E0E
4)
E0E0 E0E0 F1F1
F1F1
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 102
khối
Tính chất của DES
Khóa nửa yếu: 6 cặp khóa nửa yếu
cặp (k
1
, k
2
) sao cho
󰇛
󰇜 với mọi x
DES không nhóm dưới phép hợp hàm
Cặp khóa bán yếu
1)
01FE 01FE 01FE 01FE FE01 FE01 FE01 FE01
2)
1FE0 0EF1 0EF1 0EF1 E01F E01F F10E F10E
3)
01E0 01E0 01F1 01F1 E001 E001 F101 F101
4)
1FFE 1FFE 0EFE OEFE FE1F FE1F FE0E FE0E
5)
011F 011F 010E 010E 1F01 1E01 0E01 0E01
6)
E0FE E0FE
F1FE F1FE FEE0 FEE0 FEF1 FEF1
2021/8/16
18
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 103
Các biến thể của DES
DES bội hai
Mã hóa:
C = DES
K2
[DES
K1
(M)]
Giải mã:
M = DES
K1
-1
[DES
K2
-1
(C)]
Có 2
56
sự lựa chọn cho khóa K
1
và 2
56
sự lựa chọn cho khóa K
2
.
Bởi vậy có 2
112
sự lựa chọn cho
cặp khóa (K
1
, K
2
)
khối
DES
K1
() DES
K1
()
M
Bản rõ
K
1
K
2
C
Bản mã
DES
-1
K2
() DES
-1
K1
()
C
Bản mã
K
1
K
2
M
Bản rõ
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 104
Với TDES việc tìm
khóa vét cạn yêu
cầu khoảng: 2
112
phép tính TDES, bởi
vậy thực tế khó có
thể thám mã thành
công.
DES bội ba
DES
K1
() DES
-1
K2
()
M
Bản rõ
K
1
K
2
C
Bản mã
DES
K1
()
K
1
MDESDESDESC
1K
1
2K1K
Mã hóa TDES với 2 khóa
DES
-1
K1
()
C
Bản rõ
K
1
K
2
M
Bản mã
DES
K2
()
K
1
DES
-1
K1
()
CDESDESDESM
KKK
1
12
1
1
Giải mã TDES với 2 khóa
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 105
Thuật toán AES:
Nguồn gốc:
Rõ ràng cần phải thay thế DES, vì có những tấn công về mặt
thuyết có thể bđược nó.
Do đó Viện chuẩn quốc gia Hoa kỳ US NIST ra lời kêu gọi tìm kiếm
chuẩn mã mới vào năm 1997. Sau đó có 15 đề cử được chấp nhận
vào tháng 6 năm 1998. Và được rút gọn còn 5 ứng cử viên vào
tháng 6 năm 1999. Đến tháng 10 năm 2000, mã Rijndael được chọn
làm chuẩn mã nâng cao và được xuất bản là chuẩn FIPS PUB 197
vào 11/2001.
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 106
Yêu cầu của AES
Là mã khối đối xứng khoá riêng.
Kích thước khối d liệu 128 bit và độ dài khoá là tùy biến: 128, 192
hoặc 256 bit.
Chuẩn mã mới phải mạnh và nhanh hơn Triple DES. Mã mới có cơ sở lí
thuyết mạnh để thời gian sống của chuẩn khoảng 20-30 năm (cộng
thêm thời gian lưu trữ).
Khi đưa ra thành chuẩn yêu cầu cung cấp chi tiết thiết kế và đặc tả đầy
đủ. Đảm bảo rằng chuẩn mã mới cài đặt hiệu quả trên cả C và Java.
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 107
Cơ sở toán học của thuật toán AES: trong AES các phép toán
cộng và nhân được thực hiện trên các byte trong trường hữu hạn
GF(2
8
)
Phép cộng:
A = (a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
); B = (b
1
b
2
b
3
b
4
b
5
b
6
b
7
b
8
)
C = A + B = (c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8
)
Trong đó: C
i
= a
i
+b
i
mod 2, 1 ≤ i ≤ 8.
Ví dụ: tổng của A = 73
H
; B = 4E
H
là:
Dạng cơ số Hexa: 73
H
+ 4E
H
= 3D
H
Dạng nhị phân: 01110011 + 01001110 = 00111101
Dạng đa thức:
(x
6
+ x
5
+ x
4
+ x + 1) + (x
6
+ x
3
+ x
2
+ x) = (x
5
+ x
4
+ x
3
+ x
2
+ 1)
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 108
Phép nhân: được thực hiện trên GF(2
8
) bằng cách nhân hai đa thức rút
gọn theo mođulo của một đa thức bất khả quy m(x). Trong AES đa thức bất
khả quy này là:
m(x) = x
8
+ x
4
+ x
3
+ x +1.
Ví dụ: A = C3
H
, B = 85
H
tương ứng với
a(x) = x
7
+ x
6
+ x +1 và b(x) = x
7
+ x
2
+ 1. Khi đó: C= A.B
c(x) = a(x).b(x) mod (x
8
+ x
4
+ x
3
+ x +1)
c(x) = x
7
+ x
5
+ x
3
+x
2
+ x hay C = AE
H
= 10101110
Mã khối
2021/8/16
19
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 109
Phép xtime()
Tính (57)(13)
Ta có (13) = (01) (02) (10)
(57)(02) = xtime(57) = (10101110) = (ae)
(57)(04) = xtime(ae) = (01011100) (00011011) = (01000111) = (47)
(57)(08) = xtime(47) = (10001110) = (8e)
(57)(10) = xtime(8e) = (00011100) (00011011) = (07)
Từ đó (57) (13) = 57{(01) (02) (10)}
= (57) (57) (02) (57) (10) = (57) (ae) (07)
= (01010111) (10101110) (00000111)
= (11111110) = (fe)
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 110
Chuẩn mã nâng cao AES – Rijndael: có các đặc trưng sau:
Có 128/192/256 bit khoá và 128 bit khối dữ liệu.
Lặp hơi khác vi Fiestel
Chia dữ liệu thành 4 nhóm – 4 byte
Thao tác trên cả khối mỗi vòng
Thiết kế để:
Chống lại các tấn công đã biết
Tốc độ nhanh và nén mã trên nhiều CPU
Đơn giản trong thiết kế
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 111
Có 10/12/14 vòng lặp tương ứng với kích thước khóa (128, 192 và 256 bit),
trong đó mỗi vòng bao gồm
Phép thế byte (dùng một S box cho từng byte)
Mã khối
Dịch hàng (hoán vị byte giữa
nhóm/cột)
Trộn cột (sử dụng nhân ma trận
của các cột)
Cộng khoá vòng (XOR trạng thái
dữ liệu với khoá vòng).
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 112
SubBytes:
Là quá trình thay thế (phi tuyến) trong
đó mỗi byte sẽ được thay thế bằng
một byte khác theo bảng tra
Sử dụng một bảng 16 x 16 byte chứa
hoán vị của tất cả 256 giá trị 8 bit
Mỗi byte trạng thái được thay bởi byte
trên hàng xác định bởi 4 bit trái và cột
xác định bởi 4 bit phải.
Ví dụ: Chẳng hạn {8d} được thay bởi
hàng 8, cột d, mà giá trị sẽ là {5d}.
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 113
Hộp thế S-Box được xây dựng dựa trên phép biến đổi phi tuyến:
y= A x
-1
+ c (1)
trên trường hữu hạn GF(2
8
).
Mã khối
1 0 0 0 1 1 1 1
1 1 0 0 0 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 1 0 0 0
0 1 1 1 1 1 0 0
0 0 1 1 1 1 1 0
0 0 0 1 1 1 1 1
A













1
1
0
0
0
1
1
0
c













Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 114
Mã khối
Hộp thế S-box
Hộp thế ngược InvS-box
2021/8/16
20
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 115
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 116
ShiftRows
Đổi chỗ, các hàng trong khối được dịch
vòng
Hàng 1 không đổi
Hàng 2 dịch vòng quanh 1 byte sang trái
Hàng 3 dịch vòng quanh 2 byte sang trái
Hàng 4 dịch vòng quanh 3 byte sang trái
Việc Giải mã thực hiện dịch ngược lại
sang phải
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 117
MixColums
Hàm này làm việc trên mỗi cột của trạng thái.
Với mỗi trạng thái, hàm MixColumns (State) thực
hiện lặp lại 4 lần.
Nó coi mỗi cột của mảng trạng thái như một đa
thức gồm 4 hạng tử và được nhân theo modulo
x
4
+1 với một đa thức cố định c(x):
c(x) = {03}x
3
+ {01}x
2
+{01}x +{02}
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 118
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 119
Mã khối
Bộ môn Khoa Học An Toàn Thông Tin Khoa An Toàn Thông Tin 16 August 2021 | Page 120
AddRoundKey:
Một khóa vòng (Round Key) sẽ được cộng vào mảng trạng thái bằng
một thao tác XOR theo từng bit.
Mã khối

Preview text:

2021/8/16
GIỚI THIỆU HỌC PHẦN
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 1
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 2
GIỚI THIỆU HỌC PHẦN
GIỚI THIỆU HỌC PHẦN
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 3
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 4
GIỚI THIỆU VỀ PHÂN LOẠI MẬT MÃ Mã dòng Mật mã đối xứng ã Mã khối m ật Hàm băm m không khóa Hàm băm n Hàm băm có có oá khóa t Mật mã khóa công khai ật hu Chữ kí số T Sinh số ngẫu nhiên
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 5 16 August 2021 | Page 6
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 1 2021/8/16 BÀI 01 - MỤC TIÊU
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 7
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 8
TỔNG QUAN VỀ MẬT MÃ HỌC Tránh bị truy nhập Tránh bị sử dụng Khả Tránh bị tiết lộ dụng Tránh bị gián đoạn mật Toàn vẹn Tránh bị sửa đổi
Tránh bị phá hoại trái phép
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin 16 August 2021 | Page 9
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 10
Các mối đe dọa an toàn thông tin trong
hệ thống thông tin liên lạc
Các loại chung của mối đe
Phân tích hệ quả của việc thực dọa
hiện các mối đe dọa
Vi phạm quy tắc kiểm soát truy
cập đến các tài nguyên
Mối đe dọa bên trong
Vi phạm tính bí mật
Mối đe dọa bên ngoài
Vi phạm tính toàn vẹn
Vi phạm tính sẵn sàng phục vụ
Mối đe dọa kết hợp của hệ thống
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 11
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 12 2 2021/8/16 • Mã hóa
• Hàm băm, mã xác thực thông điệp (MAC) Dịch vụ Kỹ thuật • Chữ kí số
Đảm bảo tính bí mật Mã hóa
Đảm bảo tính toàn vẹn
Chữ ký số, hàm băm, MAC Xác thực Chữ ký số, MAC Chống chối bỏ Chữ ký số
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 13
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 14 Biến đổi A/D Mã nguồn Mã bảo mật Mã kênh Nguồn tin Kênh truyền (Tạp âm, đa đường, giao thoa, nhiễu, nghe trộm ...) Nhận tin Biến đổi D/A Giải mã nguồn Giải mã bảo mật Giải mã kênh
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 15
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 16
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 17
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 18 3 2021/8/16
P là tập hữu hạn các bản rõ có thể
C là tập hữu hạn các bản mã có thể
K là tập hữu hạn các khoá có thể
 𝐸𝑘: P C - là quy tắc mã hóa với khóa 𝑘 ∈ K. Tập {𝐸𝑘: 𝑘 ∈ K} ký hiệu là E,
còn tập {𝐸𝑘(𝑥): 𝑥 ∈ P} ký hiệu là 𝐸𝑘(P).
 𝐷𝑘: 𝐸𝑘(P) → P - là quy tắc giải mã với khóa 𝑘 ∈ K. Tập {𝐷𝑘: 𝑘 ∈ K} ký hiệu là D.
 Với mỗi 𝑘 ∈ K sẽ được mô tả dưới dạng 𝑘 = (𝑘𝑒, 𝑘𝑑), trong đó: 𝑘𝑒 - là
khóa dùng cho mã hóa, 𝑘𝑑 - là khóa dùng cho giải mã. Khi đó 𝐸𝑘 được
hiểu là hàm 𝐸𝑘 , 𝐷 𝑒
𝑘 được hiểu là hàm 𝐷𝑘𝑑
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 19
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 20
Định nghĩa hệ mật: Một hệ mật là bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau: Mã hóa
1) ∀𝑥 ∈ P, 𝑘 ∈ K ta có: 𝐷𝑘 𝐸𝑘 𝑥 = 𝑥; 2) Bản rõ Bản mã
C = ራ 𝐸𝑘(P) 𝑘∈K Giải mãGhi chú: • Mã hóa: 𝑦 = 𝐸
Quá trình chung của hệ mật 𝑘 𝑥 𝑒
• Giải mã: 𝑥 = 𝐷𝑘 𝑦 𝑑
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 21
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 22
Mã hóa đối xứng: biết được khóa mã hóa dễ dàng suy ra được khóa giải
mã (thông thường 𝑘e= 𝑘d) 𝑐 = 𝐸 (m) 𝑘𝑒 m ciphertext E D 𝐷 (c) = m 𝑘 plaintext 𝑑 𝑘 eavesdropping 𝑒 𝑘𝑑 adversary encryption key decryption key
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 23
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 24 4 2021/8/16
Mã hóa bất đối xứng: Mỗi bên có một khoá công khai và một khoá bí mật • . Mã khối:
- Bên gửi dùng khoá công khai của bên nhận để mã hoá.
- Bên nhận dùng khoá bí mật của mình để giải mã. 𝑐 = 𝐸 (m) 𝑘𝑒 m ciphertext E D 𝐷 (c) = m 𝑘 plaintext 𝑑 𝑘 attacker 𝑒 𝑘𝑑 (public) encryption key (private) decryption key
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 25
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 26 Mã dòng: Bộ kí tự: chữ cái latin Nguồn khóa ki Nguồn khóa MÃ HÓA ngẫu nhiên ngẫu nhiên Khóa ngẫu nhiên: PWKAX Thông điệp: HELLO k
c m k i i i i ci H E L L O Bản mã (7) (4) (11) (11) (14) P W K A X Khóa Nguồn tin
m c k (15) (22) (10) (0) (23) m i i i i W A V ? ? Hệ mật Vernam Bản rõ (22) (0) (21) (?) (?) (One-Time Pad)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 27
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 28 Bộ kí tự: chữ cái latin K K GIẢI MÃ Khóa ngẫu nhiên: PWKAX Mở rộng khóa Mở rộng khóa Bản mã: WAVLL zi z W A V L L
c m z i i i i c (22) (0) (21) (11) (11) i Bản mã E D P W K A X Khóa (15) (22) (10) (0) (23) Nguồn tin   H E L L O m c z i i i mi (7) (4) (11) (11) (14) Bản rõ
m , z , c 0,  1 i i i
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 29
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 30 5 2021/8/16 K K
• Khối «mở rộng khóa»
• Là bộ sinh số giả ngẫu nhiên (PRNG) Mở rộng khóa Mở rộng khóa z • Là quan trọng nhất i
• Quyết định độ an toàn của mã dòng z c e m i i z i i c •Phân loại i Bản mã E D
• z chỉ phụ thuộc K: «mã dòng đồng bộ» i • z phụ thuộc c , c
, ..., c : «mã dòng tự đồng i i-n i-n+1 i-1 Nguồn tin m d c bộ» i z i m i i
m , c , z A Bản rõ i i i
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 31
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 32
16 August 2021 | Page 33
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 34
• Sơ đồ khối của một hệ truyền tin mật sử dụng hệ mật KBM?
• Các phương pháp chính của hệ mật KBM?
• Yếu điểm của mã đơn biểu vs mã đa biểu? • Hệ mật tích?
• Thám mã một số hệ mã cổ điển dựa trên phương pháp thống kê?
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 35
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 36 6 2021/8/16
Sơ đồ khối của một hệ truyền tin mật
Các hệ mật thay thế đơn biểu Oscar
• Khi khóa đã được chọn thì mỗi kí tự của bản rõ được ánh xạ Bản rõ Bản mã Bản mã Bản rõ
đến một kí tự duy nhất của bản mã. Bộ mã hóa Kênh mở Bộ giải mã
• Như vậy độ dài của khóa ở đây là 26 và số khóa có thể có là 26!. (không an toàn) Alice Bob Kênh an toàn Nguồn khóa
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 37
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 38
Mã dịch vòng (MDV – Shift cipher): Ký tự A B C D E F G H I J K L M Giả sử P = C = K = Z Mã tương ứng 0 1 2 3 4 5 6 7 8 9 10 11 12
26 với 0 ≤ k ≤ 25, ta định nghĩa: Ký tự N O P Q R S T U V W X Y Z y = ek(x) = x + k mod 26 Mã tương ứng 13 14 15 16 17 18 19 20 21 22 23 24 25 x = dk(y) = y - k mod 26 • Ví dụ:
• Bản rõ: HOC TAP TOT LAO DONG TOT Bản rõ H O C T A P T O T L A O D O N G T O T • Khoá k = 5 Mã tương ứng (x)
19 0 15 19 14 19 11 0 14 3 14 13 6 19 14 19 (x + 5) mod 26
12 19 7 24 5 20 24 19 24 16 5 19 8 19 18 11 24 19 24 Bản mã
M T H Y F U Y T Y Q F T I T S L Y T Y • Tìm bản mã
Bản mã thu được: MTHYFUYTYQFTITSLYTY
• Từ bản mã thu được giải mã để thu bản rõ ban đầu. Giải mã: SV tự làm!
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 39
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 40Mã Affine:Giải:
Cho P = C = Z26, K = Z26 x Z26. Giả sử: 
Tìm bản mã của bản rõ: It is nice today
K = {(a,b)  Z26 x Z26; UCLN (a, 26) = 1} ■ Ta có hàm mã: e
Với k = (a, b)  K ta định nghĩa: k(x) = 7x + 3 mod 26 Ký tự I T I S N I C E T O D A Y y = ek(x) = ax + b mod 26 Mã (x) 8 9 8 18 13 8 2 4 19 14 3 0 24
x = dk(y) = a-1(y – b) mod 26 7x + 3 mod 26 7 6 7 25 16 7 17 5 6 23 24 3 15Ví dụ: Bản mã H G H Z Q H R F G X Y D P
Cho k = (7, 3). Bản rõ: It is nice today ■ Tìm bản mã. 
Bản mã thu được là: HGHZQHRFGXYDP
Giải mã bản mã thu được
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 41
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 42 7 2021/8/16  Giải:
• Nhận xét về các hệ mật thay thế đơn biểu: • 
Tìm bản rõ của bản mã: HGHZQHRFGXYDP
Mỗi ký tự của bản rõ được ánh xạ đến một ký tự duy nhất của bản mã. ■ Ta có hàm mã:
• Các đặc trưng về ngôn ngữ, tần suất xuất hiện của các chữ
dk(y) = 7-1.(y - 3) mod 26 = 15.(y – 3) mod 26
trong bản rõ và chữ tương ứng trong bản mã là như nhau  Bản mã H G H Z Q H R F G X Y D P
Phương pháp thám mã bằng thống kê tần suất! Mã (y) 7 6 7 25 16 7 17 5 6 23 24 3 15 15(y – 3) mod 26 8 19 8 18 13 8 2 4 19 14 3 0 24 Bản rõ I T I S N I C E T O D A Y
Bản mã thu được là: It is nice today
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 43
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 44
Các hệ mật thay thế đa biểu
Hệ mật thay thế đa biểu:
• Yếu điểm của các mã pháp đơn biểu • Hệ Vigenere:
• Một hướng khác làm tăng độ an toàn cho mã trên bảng chữ là
• Blaise de Vigènere (1523 – 1596)
sử dụng nhiều bảng chữ để mã. • Ý tưởng:
• Mỗi chữ sẽ được mã bằng bất kì chữ nào trong bản mã tùy
• Sử dụng một loạt mã Caesar khác nhau dựa
thuộc vào ngữ cảnh khi mã hóa. Làm như vậy để trải bằng tần
trên các kí tự của một từ khóa
suất các chữ xuất hiện trong bản mã. Do đó làm mất bớt cấu
• Dễ hiểu và dễ thực hiện
trúc của bản rõ được thể hiện trên bản mã và làm cho mã thám đa bảng khó hơn.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 45
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 46
Mô tả hệ mã Vigenere:
Biến đổi bảng chữ cái A, B, …, Z thành các
Cho m là số nguyên dương. Ta định nghĩa P = C = K = (Z kí tự 0, 1, …25 26)m. Với khoá
k = (k1, k2, …, km) ta xác định:
ek(x1, x2…,xm) = (x1 + k1, x2 + k2,… xm + km) Và d
Khóa (từ khóa) là một chuỗi các kí tự
k(y1, y2,…, ym) = (y1 - k1, y2 - k2,… ym - km) có độ dài m
(Các phép toán đều thực hiện trên Z26.) • Nhận xét: • Số khoá: 26m
Thông điệp được chia thành các khối độ dài m. Mỗi 
lần mã hóa sẽ thực hiện biến đổi đồng thời m kí tự
Tấn công tìm khoá vét cạn là không khả thi
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 47
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 48 8 2021/8/16
Ví dụ minh hoạ:Giải: • m = 6, k = cipher
• Ta có từ khoá CIPHER, tương ứng với dãy số: k = (2, 8, 15, 7, 4, 17)
• Bản rõ: Information security
• Chuyển các ký tự rõ thành mã trên Z26 rồi cộng với từ khoá
• Hãy mã hoá bản rõ trên Bản rõ I N F O R M A T I O N S E C U R I T Y
• Giải mã bản mã vừa thu được 8 13 5 14 17 12 0 19 8 14 13 18 4 2 20 17 8 19 24 Khoá 2 8 15 7 4 17 2 8 15 7 4 17 2 8 15 7 4 17 2 Bản mã 10 21 20 21 21 3 2 1 23 21 17 9 6 10 9 24 12 10 0
• Chuyển các ký tự số thành chữ cái tương ứng. Ta có bản mã: KVUVVDCBXVRJGKJYMKA
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 49
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 50 Bản rõ I N F O R M A T I O N S E C U R I T Y
Bản mã K V U V V D C B X V R J G K J Y M K ANhận xét?
• Như vậy có chữ mã khác nhau cho cùng một chữ của bản rõ.
• Ví dụ: Chữ I được mã bởi các chữ: K, X, M; chữ N được mã bởi các chữ V, R; ...
 Tần suất của các chữ bị là phẳng, nghĩa là tần suất xuất hiện các chữ trên bản
mã tương đối đều nhau.
• Tuy nhiên chưa mất hoàn toàn, do độ dài của khoá có hạn, nên có thể
tạo nên chu kỳ vòng lặp, hoặc việc lặp do ngẫu nhiên
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 51
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 52 Hệ mật Hill: • Cho ma trận:
Lester S.Hill đưa ra năm 1929 a a 11 12 
Ý tưởng: lấy m tổ hợp tuyến tính của m kí tự trong một phần tử bản A   
rõ để tạo ra một phần tử m kí tự trong một phần tử của bản mã. a a 21 22  Mô tả:
• Định thức detA = a .a – a .a 11 22 12 21
Cho m là số nguyên dương cố định. Cho P = C = (Z26)m. k = {các
ma trận khả nghịch cấp m x m trên Z
• Ma trận là khả nghịch  det A ≠ 0 26}:
Với k  K, ta xác định:
• Vì các phép toán tính theo modulo 26 nên phải có điều kiện: UCLN(detA, 26) = 1. ek(x) = xk • Ma trận nghịch đảo: d aa 22 12  k(y) = yk-1 1 A  1 det A .
(Các phép toán đều thực hiện trên Z   26.)  a a 21 11 
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 53
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 54 9 2021/8/16
Ví dụ minh hoạ: • •
Các hệ mật thay thế không tuần hoàn Bản rõ: “july” •
• Phép thế lý tưởng là dùng nhiều bảng chữ cái để không nhận diện Ma trận khoá: 11 8 
được phân bố tần suất k     • 3 7 
Điều gì xảy ra nếu văn bản được mã bằng số bảng chữ cái không hạn chế?
• Tìm bản mã của bản rõ trên
• Vigenere đề xuất hệ mật khoá tự sinh (hệ mật khoá chạy)
• Từ bản mã thu được tìm bản rõ ban đầu.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 55
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 56
Hệ mật khoá chạy:Ý tưởng:Mã hoá bản rõ
Từ khoá được nối tiếp bằng chính bản rõ, sau đó sử dụng mã Vigenere để mã
• Khi biết từ khoá, giải được một số chữ của bản rõ rồi dùng chúng giải nốt phần còn lại Khoá D E C E P T W E I V A E
R E D I S C O V E R E D S A V
• Sự cải tiến này gây mất khái niệm chu kỳ. • Bản rõ
W E A R E D I S C O V E R E D S A V E Y O U R S E L F Ví dụ: • Key = deceptive Bản mã
Z I C V T W Q N G K Z E I I G A S X S T S L V V W L A
• Bản rõ: we are discovered save yourself
• Hãy mã hoá bản rõ trên.
• Giải mã bản mã thu được
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 57
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 58Hệ mật OTP O V E R E D S A V
• Do Gillbert Vernam đưa ra 1971 • Mô tả: Khoá D E C E P T I V E
Bản mã Z I C V T W Q N G K Z E I I G A S X S T S L V V W L A
P = C = K = (Z2)n, n  1 là số nguyên, K  (Z2)n, Bản rõ W E E A R E E D D I I S C
O V E R E D S A V E Y O U R S E L F
với x = (x1, …, xn) và K = (K1, …, Kn), ta có hàm mã hoá: e   K(x) = (x1 K1, …, xn Kn)
Phép mã đồng nhất với phép giải. Nếu y = (y1, …, yn) ta có: d   K(y) = (y1 K1, …, yn Kn)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 59
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 60 10 2021/8/16
Hệ mật hoán vị (MHV):MHV:Ý tưởng:
Cho m là số nguyên dương xác định. Cho P = C = (Z
• Các chữ trong bản rõ không được thay thế bằng các chữ khác mà chỉ 26)m
thay đổi vị trí giữa các chữ trong bản rõ.
k là tất cả hoán vị có thể có của {1, 2, …,m}: • Nhận xét? •
Với khoá , ta xác định:
Bản mã có cùng tần suất xuất hiện các chữ như trong bản gốc • Dễ thám mã
e(x1, …,xm) = (x(1), …, x(m)) d -1 -1
 (y (1), …, y (m)) = (x1, …,xm)
(Trong đó -1 là hoán vị ngược của )
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 61
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 62 • • Ví dụ 1: Mã hóa:
B1: Nhóm bản rõ thành các nhóm 6 kí tự
m =6; khóa là phép hoán vị  sau: 1 2 3 4 5 6 3 5 1 6 4 2 • •
B2: Mỗi nhóm 6 kí tự sẽ được sắp xếp lại theo theo phép HV  (3, 5, 1,
Khi đó phép HV ngược -1: 6, 4, 2), ta có: 1 2 3 4 5 6 3 6 1 5 2 4 • Khi đó ta có bản mã:
• Bản rõ: asecondclasscarriageonthetrain
EOANCSLSDSACRICARAOTGHNERIENAT
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 63
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 64Giải mã:Hệ mật tích:
B1: Nhóm bản mã thành các nhóm 6 kí tự
• Ý tưởng: kết hợp các hệ mật bằng cách tạo tích của chúng.
• Xét các hệ mật có C = P (các hệ mật loại này được gọi là tự đồng cấu)
Giả sử S1 = (P, P, K1, E1, D1) và S2 = (P, P, K2, E2, D2) là hai hệ mật tự đồng cấu có × •
cùng không gian bản mã , rõ. Khi đó tích S S
B2: Mỗi nhóm 6 kí tự sẽ được sắp xếp lại theo theo phép HV -1 (3, 6, 1 và S2 (KH: S1 2) được xác định là hệ mật (P, P, K × K 1, 5, 2, 4), ta có: 1 2, E, D) Với khoá k = (k   1, k2) trong đó k1 K1, k2 K2 ta xác định: 𝑒 𝑘 𝑥 = 𝑒 𝑒 (𝑥) 1,𝑘2 𝑘2 𝑘1
• Khi đó ta có bản rõ tương ứng: Và quy tắc giải mã:
asecondclasscarriageonthetrain 𝑑 𝑘 𝑥 = 𝑑 𝑒 (𝑥) 1,𝑘2 𝑘2 𝑘1
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 65
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 66 11 2021/8/16
Thám mã một số hệ mật cổ điển:
• Phương pháp thám mã bằng thống kê tần suất:
• Nhận xét về các hệ mật thay thế đơn biểu:
• Ngôn ngữ có tính dư thừa
• Mỗi ký tự của bản rõ được ánh xạ đến một ký tự duy nhất của
Ví dụ: tiếng Anh, chữ E được sử dụng nhiều nhất; sau đó đến các chữ bản mã.
T, R, N, I, O, A, S. Một số chữ rất ít dùng như: Z, J, K, Q, X
• Các đặc trưng về ngôn ngữ, tần suất xuất hiện của các chữ trong
• Các bộ chữ thường xuất hiện: th, nt, lrd, shll, …
bản rõ và chữ tương ứng trong bản mã là như nhau
• Bằng phương pháp thống kê, ta có thể xây dựng các bảng các tần
Phương pháp thám mã bằng thống kê tần suất!
suất các chữ đơn, cặp hay bộ ba các chữ
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 67
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 68
Ví dụ: Giả sử ta có bản mã
• Thám mã Affine bằng phương pháp thống kê tần suất.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 69
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 70
Bước 1: xác định tần suất
Bước 2: Tách nhóm Kí tự Tần suất Kí tự Tần suất xuất hiện xuất hiện
• Từ bảng tần suất, giả sử G 22 I 5
• G (6) là mã hóa của E (4) N 21 K 4
• N (13) là mã hóa của T (19) R 21 L 4
• Thiết lập hệ phương trình B 16 Q 4 O 16 E 3 4a + b = 6 W 13 P 3 19a + b = 13 Z 11 F 2 A 9 T 2
• Giải hệ được a = 23, b = - 8 = 18. Ta có hàm mã: D 9 M 1 ek(x) = 23x + 18 mod 26 H 7 U 1
• Hàm giải mã tương ứng: J 6 V 1
dk(y) = 17(y – 18) = (17y + 6) mod 26
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 71
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 72 12 2021/8/16
Bước 3: Tìm bản rõ
Quay lại bước 2
• Từ hàm giải mã, ta có bản rõ tương ứng:
• Giả sử G là mã hóa của T • N là mã hóa của E • Ta lại có hệ: 19a + b = 6 4a + b = 13
• Giải hệ được a = 3, b = 1. Ta có hàm mã:
• Nhận xét gì về bản rõ? ek(x) = 3x + 1 mod 26
• Hàm giải mã tương ứng:
dk(y) = 9(y – 1) = 9y + 17 mod 26
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 73
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 74
Bước 3: Bản rõ tương ứng
Ví dụ minh hoạ:
• Giả sử ta dùng hệ mật Hill với bản rõ: “Friday”, bản mã tương ứng “ZIQVSO”
“The art of war teaches us to rely not • Hãy tìm ma trận khoá.
on the likelihood of the enemy’s not • Giải:
coming but on our own readiness to
• Ta có FR (5; 17), ID (8;3), AY (0; 24)
receive him not on the chance of his
ZI (25; 8) QV( 16; 21); SO (18; 14)
not attacking but rather on the fact that • PT: 25 8  5 17
e have made our position unassailable”  .K     16 21 8 3  1 
5 17  25 8   9 1   25 8   7 15 K  .  .           
8 3  16 21  2 15 16 21  4 19
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 75
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 76
Bài 02. Các hệ mật KBM
• Thám mã hệ mã Vigerner: đọc thêm tài liệu [4, 1.2 chapter 1]  Mục tiêu:
Thực hiện làm thành thạo các bài tập minh họa phần lí thuyết về các
hệ mật cổ điển học trong Bài 01
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 77
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 78 13 2021/8/16 • Bài 1.Bài 3.
• Bản rõ P được mã bằng mã Affine với k = (7, 11), đầu ra tiếp tục được
• Ta có phương thức mã hoán vị như sau : Giả sử m, n là các số nguyên
mã bằng hệ mã Vigenere với từ khóa là CIPHER thu bản mã
dương. Ta viết bản rõ theo từng hàng thành một ma trận nxm. Sau đó
BNNIECQDZSSGHG. Hãy tìm P ban đầu
tạo ra bản mã bằng cách lấy các cột của ma trận này. Cho n = 3, m = 5 • Bài 2.
em hãy mô tả cách giải mã bản mã ’’WAT ORW REI DBN SUD ’’ thu được
bằng phương pháp đã nêu ở trên
• Giải mã bản mã QQCD thu được khi mã bản rõ bằng hệ mã Hill. Cho 5 8 • Bài 4. khóa k = 12 7
• Hãy giải mã bản mã “ZFFPXNZXXQ” thu được từ mã Affine. Biết rằng “P”
là mã hóa của “y”, “Z” là mã hóa của “s”.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 79
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 80
Bài 03. Các hệ mật hiện đại
 Nguyên lí thiết kế mã khối?
 Thuật toán mã khối DES 
Các bước thực hiện thuật toán DES 
Vấn đề liên quan tới DES?  Biến thể của DES?
 Nắm vững cơ sở toán học của hệ mã AES, cấu trúc SPN, thuật toán AES
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 81
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 82 Mã khối Mã khối
Nguyên lí thiết kế mã khối:
Chuẩn mã dữ liệu DES
• Theo Shannon có 2 nguyên tắc cơ sở để độ bảo mật cao đó là việc tạo ra • Giới thiệu về DES
tính xáo trộn (confussion) và tính khuếch tán (diffusion) • Thuật toán DES
Tính xáo trộn: sự phụ thuộc vào bản mã đối với bản rõ phải thực sự phức • Double DES và Triple DES
tạp để gây rắc rối, cảm giác xáo trộn đối với kẻ thám mã có ý định phân tích
tìm quy luật để phá mã. Quan hệ của mã – tin là phi tuyến
Khuếch tán: làm khuếch tán những mẩu văn bản mang đặc tính thống kê
(gây ra do dư thừa ngôn ngữ) lẫn vào toàn bộ văn bản. Nhờ đó gây khó
khăn cho kẻ phá hoại trong việc dò mã trên cơ sở thống kê các mẫu lặp lại
cao. Sự thay đổi 1 bit trong 1 khối bản rõ phải dẫn tới sự thay đổi hoàn
toàn trong khối mã tạo ra
• Một cách đơn giản, xáo trộn được thực hiện bằng phép thế, khuếch tán
được thực hiện bằng phép đổi chỗ hay hoán vị
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 83
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 84 14 2021/8/16 Mã khối Mã khối
Giới thiệu về DES
• Năm 1972, Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (National
Institute of Standards and Technology-NIST) đặt ra yêu cầu xây dựng một
thuật toán mã hoá bảo mật thông tin với yêu cầu là dễ thực hiện, sử
dụng được rộng rãi trong nhiều lĩnh vực và mức độ bảo mật cao.
• Năm 1974, IBM giới thiệu thuật toán Lucifer, thuật toán này đáp ứng hầu DES
hết các yêu cầu của NIST. Algorithm
• Sau một số sửa đổi, năm 1976, Lucifer được NIST công nhận là chuẩn
quốc gia Hoa kỳ và được đổi tên thành Data Encryption Standard (DES).
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 85
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 86 Input x 64 bits Mã khối IP Initial Pemutation 58 50 42 34 26 18 10 2
Mô tả thuật toán: Left 32 bits Right 32 bits 60 52 44 36 28 20 12 4 K1 62 54 46 38 30 22 14 6 + f 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 Left 32 bits Right 32 bits IP-1 K2 59 51 43 35 27 19 11 3 40 8 48 16 56 24 64 32 + f 61 53 45 37 29 21 13 5 39 7 47 15 55 23 63 31 63 55 47 39 31 23 15 7 38 6 46 14 54 22 62 30 K16 37 5 45 13 53 21 61 29 + f 36 4 44 12 52 20 60 28 Left 32 bits Right 32 bits 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26
Inverse Initial Permutation 33 1 41 9 49 17 57 25
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin Output y 64 bits
16 August 2021 | Page 87
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 88 Mã khối A J 32 bit 48 bit E E(A) 48 bit 48 bit + B1 B2 B3 B4 B5 B6 B7 B8 Hàm f S1 S S 2 S3 S4 5 S6 S7 S8 C1 C2 C3 C4 C5 C6 C7 C8 32 bit P 32 bit f(A,J)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 89
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 90 15 2021/8/16 Mã khối Mã khối • Dùng 8 bảng S BẢNG CHỌN E BIT
1S2,…,S8 ( được gọi là các hộp S ). Với mỗi Si là một
Lặp lại 2 bit cuối của
bảng 416 cố định có các hàng là các số nguyên từ 0 đến 15. Với 32 1 2 3 4 5 hàng trên
xâu bit có độ dài 6 (kí hiệu Bi = b1 b2 b3 b4 b5 b6), ta tính Sj(Bj) như 4 5 6 7 8 9 sau: 8 9 10 11 12 13
• Hai bit b1b6 xác định biểu diễn nhị phân hàng r của Sj (0 r  3) 12 13 14 15 16 17
• Bốn bit (b2 b3 b4 b5) xác định biểu diễn nhị phân của cột c của Sj (0 c  15). • 16 17 18 19 20 21
Khi đó Sj(Bj) sẽ xác định phần tử Sj(r, c) ; phần tử này viết dưới dạng nhị
phân là một xâu bit có độ dài 4 20 21 22 23 24 25
• Bằng cách tương tự tính các C
Lặp lại 2 bit cuối của j = Sj(Bj) , (1  j  8). 24 25 26 27 28 29 hàng trên 28 29 30 31 32 1
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 91
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 92 Mã khối S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 Các hộp thế: 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 S1 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 S 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 S5 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 93
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 94 S6 Mã khối 12 1 10 15 9 2 6 8 0 13 3 4 14 7 15 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
 3 tính chất của S – box được NSA công bố 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Các bít vào luôn phụ thuộc không tuyến tính vào các bít ra S7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
Sửa đổi ở một bit vào làm thay đổi ít nhất là hai bit ra. 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
Khi một bit vào được giữ cố định và 5 bit con lại cho thay đổi thì S-boxes thể 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
hiện một tính chất được gọi là ‘phân bố đồng nhất ‘ (uniform distribution): S
so sánh số lượng bit số 0 và 1 ở các đầu ra luôn ở mức cân bằng. Tính chất 8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
này khiến cho việc áp dụng phân tích theo lý thuyết thông kê để tìm cách phá 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 S-boxes là vô ích. 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 95
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 96 16 2021/8/16 Mã khối Mã khối
 Xâu bit C = C1 C2 … C8 có độ dài 32 được hoán vị theo phép hoán vị cố
Các bước tính bảng khóa DES:
định P. Xâu kết quả là P(C) được xác định là f(A, J).
• Với một khoá k 64 bit cho trước, ta loại bỏ các bit kiểm tra tính chẵn lẻ và
hoán vị các bit còn lại của k theo phép hoán vị cố định PC-1. Ta viết: PC- P 1(k) = C 16 7 20 21 0D0
• Với i thay đổi từ 1 đến 16: 29 12 28 17 Ci = LSi(Ci-1) 1 15 23 26 Di = LSi(Di-1) 5 18 31 10
• Dịch trái 1 bit tương ứng với các vòng 1, 2, 9, 16 2 8 24 14
• Dịch trái 2 bit tương ứng với các vòng 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15 32 27 3 9 19 13 30 6 22 11 4 25
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 97
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 98 Mã khối Mã khối K Tính bảng khóa DES
Các hoán vị PC – 1 và PC – 2: PC – 1 PC – 1 PC – 1 C 57 49 41 33 25 17 9 14 17 11 24 1 5 0 D0 1 58 50 42 34 26 18 3 28 15 6 21 10 LS1 LS1 10 2 59 51 43 35 27 23 19 12 4 26 8 19 11 3 60 52 44 36 16 7 27 20 13 2 C PC – 2 K 1 D1 1 63 55 47 39 31 23 15 41 52 31 37 47 557 62 54 46 38 30 22 30 40 51 45 33 48 LS16 LS16 14 6 61 53 45 37 29 44 49 39 56 34 53 21 13 5 28 20 12 4 46 42 50 36 29 32 C16 D16 PC – 2 K16
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 99
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 100 Mã khối Mã khối
Tính chất của DES
Tính chất của DES
Tác dụng đồng loạt: Khi ta thay đổi 1 bit trong khoá sẽ gây ra tác động đồng loạt làm •
thay đổi nhiều bit trên bản mã. Đây là tính chất mong muốn của khoá trong thuật
Khóa nửa yếu: Có 6 cặp khóa nửa yếu
toán mã hoá. Nếu thay đổi 1 bít đầu vào hoặc khoá sẽ kéo theo thay đổi một nửa số • Là cặp (k (𝐸
𝑥 ) = 𝑥 với mọi x
bít đầu ra. Do đó không thể đoán khoá được. Co thể nói rằng DES thể hiện tác động
1, k2) sao cho 𝐸𝑘1 𝑘2 đồng loạt mạnh
DES không là nhóm dưới phép hợp hàm
Tính chất bù: Ký hiệu ҧ𝑥 là bù của x theo từng bít, ta có Khóa yếu Cặp khóa bán yếu
𝐸𝑘 𝑥 = 𝑦 ⟺ 𝐸ത𝑘 ҧ𝑥 = ത𝑦 1)
01FE 01FE 01FE 01FE FE01 FE01 FE01 FE01 • 1) 0101 0101 0101 0101
Khóa yếu: DES có 4 khóa yếu 2)
1FE0 0EF1 0EF1 0EF1 E01F E01F F10E F10E
k được gọi là khóa yếu nếu 𝐸𝑘(𝐸𝑘 𝑥 ) = 𝑥; x 2) FEFE FEFE FEFE FEFE 3)
01E0 01E0 01F1 01F1 E001 E001 F101 F101
Khóa nửa yếu: Có 6 cặp khóa nửa yếu 3) 1F1F 1F1F 0E0E 0E0E 4)
1FFE 1FFE 0EFE OEFE FE1F FE1F FE0E FE0E Là cặp (k (𝐸 𝑥 ) = 𝑥 1, k2) sao cho 𝐸𝑘 với mọi x 1 𝑘2 • 5)
DES không là nhóm dưới phép hợp hàm 4) E0E0 E0E0 F1F1 F1F1
011F 011F 010E 010E 1F01 1E01 0E01 0E01 6)
E0FE E0FE F1FE F1FE FEE0 FEE0 FEF1 FEF1
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 101
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 102 17 2021/8/16 Mã khối DES bội ba
Các biến thể của DES M C DES DES M C K1() DES-1K2() K1() Bản rõDES bội hai DES Bản mã K1() DESK1() Bản rõ Bản mã  Mã hóa: K1 K2 K1  Với TDES việc tìm C = DES K
Mã hóa TDES với 2 khóa C  DES DES 1 DES M  khóa vét cạn yêu K2[DESK1(M)] 1 K2   1 K K2 1 K cầu khoảng: 2112  Giải mã: phép tính TDES, bởi M = DES -1 -1 C M vậy thực tế khó có K1 [DESK2 (C)] C M DES-1 DES K1() K2() DES-1K1() thể thám mã thành 
Có 256 sự lựa chọn cho khóa K1 DES-1 Bản mã Bản rõ K2() DES-1K1() công.
và 256 sự lựa chọn cho khóa K Bản mã Bản rõ 2. K1 K2 K1
Bởi vậy có 2112 sự lựa chọn cho K1 K2 cặp khóa (K
Giải mã TDES với 2 khóa M DES 1  1 
K 1 DES K 2 DES K 1 C  1, K2)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 103
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 104 Mã khối Mã khốiThuật toán AES:
Yêu cầu của AES
Là mã khối đối xứng khoá riêng.  Nguồn gốc:
Kích thước khối dữ liệu 128 bit và độ dài khoá là tùy biến: 128, 192 ■
Rõ ràng cần phải thay thế DES, vì có những tấn công về mặt lý hoặc 256 bit.
thuyết có thể bẻ được nó. 
Chuẩn mã mới phải mạnh và nhanh hơn Triple DES. Mã mới có cơ sở lí
thuyết mạnh để thời gian sống của chuẩn khoảng 20-30 năm (cộng ■
Do đó Viện chuẩn quốc gia Hoa kỳ US NIST ra lời kêu gọi tìm kiếm
chuẩn mã mới vào năm 1997. Sau đó có 15 đề cử được chấp nhận thêm thời gian lưu trữ).
vào tháng 6 năm 1998. Và được rút gọn còn 5 ứng cử viên vào 
Khi đưa ra thành chuẩn yêu cầu cung cấp chi tiết thiết kế và đặc tả đầy
đủ. Đảm bảo rằng chuẩn mã mới cài đặt hiệu quả trên cả C và Java.
tháng 6 năm 1999. Đến tháng 10 năm 2000, mã Rijndael được chọn
làm chuẩn mã nâng cao và được xuất bản là chuẩn FIPS PUB 197 vào 11/2001.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 105
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 106 Mã khối Mã khối
Cơ sở toán học của thuật toán AES: trong AES các phép toán
Phép nhân: được thực hiện trên GF(28) bằng cách nhân hai đa thức rút
cộng và nhân được thực hiện trên các byte trong trường hữu hạn
gọn theo mođulo của một đa thức bất khả quy m(x). Trong AES đa thức bất GF(28) khả quy này là:  Phép cộng: ■ A = (a m(x) = x8 + x4 + x3 + x +1.
1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8) ■
C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8) 
Ví dụ: A = C3H, B = 85H tương ứng với ■
Trong đó: Ci = ai+bi mod 2, 1 ≤ i ≤ 8.
a(x) = x7 + x6 + x +1 và b(x) = x7 + x2 + 1. Khi đó: C= A.B ■
Ví dụ: tổng của A = 73H; B = 4EH là: ●
Dạng cơ số Hexa: 73H + 4EH = 3DH
c(x) = a(x).b(x) mod (x8 + x4 + x3 + x +1) ●
Dạng nhị phân: 01110011 + 01001110 = 00111101
c(x) = x7 + x5 + x3 +x2 + x hay C = AEH = 10101110 ● Dạng đa thức:
(x6 + x5 + x4 + x + 1) + (x6 + x3 + x2 + x) = (x5 + x4 + x3 + x2 + 1)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 107
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 108 18 2021/8/16 Mã khối Mã khốiPhép xtime()
Chuẩn mã nâng cao AES – Rijndael: có các đặc trưng sau:  Tính (57)●(13) 
Có 128/192/256 bit khoá và 128 bit khối dữ liệu. 
Ta có (13) = (01)  (02)  (10)  Lặp hơi khác với Fiestel 
(57)●(02) = xtime(57) = (10101110) = (ae) ■
Chia dữ liệu thành 4 nhóm – 4 byte 
(57)●(04) = xtime(ae) = (01011100)  (00011011) = (01000111) = (47) ■
Thao tác trên cả khối mỗi vòng 
(57)●(08) = xtime(47) = (10001110) = (8e) ■ Thiết kế để: 
(57)●(10) = xtime(8e) = (00011100)  (00011011) = (07) ●
Chống lại các tấn công đã biết 
Từ đó (57) ●(13) = 57●{(01)  (02)  (10)} ●
Tốc độ nhanh và nén mã trên nhiều CPU
= (57)  (57) ● (02)  (57) ● (10) = (57)  (ae)  (07) ●
Đơn giản trong thiết kế
= (01010111)  (10101110)  (00000111) = (11111110) = (fe)
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 109
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 110 Mã khối Mã khối
 Có 10/12/14 vòng lặp tương ứng với kích thước khóa (128, 192 và 256 bit),  SubBytes:
trong đó mỗi vòng bao gồm 
Là quá trình thay thế (phi tuyến) trong
 Phép thế byte (dùng một S box cho từng byte)
đó mỗi byte sẽ được thay thế bằng
 Dịch hàng (hoán vị byte giữa
một byte khác theo bảng tra nhóm/cột) 
Sử dụng một bảng 16 x 16 byte chứa
 Trộn cột (sử dụng nhân ma trận
hoán vị của tất cả 256 giá trị 8 bit của các cột) 
Mỗi byte trạng thái được thay bởi byte
 Cộng khoá vòng (XOR trạng thái
trên hàng xác định bởi 4 bit trái và cột
dữ liệu với khoá vòng).
xác định bởi 4 bit phải. 
Ví dụ: Chẳng hạn {8d} được thay bởi
hàng 8, cột d, mà giá trị sẽ là {5d}.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 111
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 112 Mã khối Mã khối
 Hộp thế S-Box được xây dựng dựa trên phép biến đổi phi tuyến: y= A x-1 + c (1)
trên trường hữu hạn GF(28). Hộp thế S-box 1 0 0 0 1 1 1 1  1      1 1 0 0 0 1 1 1   1   1 1 1 0 0 0 1 1   0      1 1 1 1 0 0 0 1   0   A   c  1 1 1 1 1 0 0 0      0    0 1 1 1 1 1 0 0  1  Hộp thế ngược InvS-box     0 0 1 1 1 1 1 0   1        0 0 0 1 1 1 1 1   0 
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 113
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 114 19 2021/8/16 Mã khối Mã khốiShiftRows
Đổi chỗ, các hàng trong khối được dịch vòng  Hàng 1 không đổi 
Hàng 2 dịch vòng quanh 1 byte sang trái 
Hàng 3 dịch vòng quanh 2 byte sang trái 
Hàng 4 dịch vòng quanh 3 byte sang trái 
Việc Giải mã thực hiện dịch ngược lại sang phải
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 115
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 116 Mã khối Mã khốiMixColums
Hàm này làm việc trên mỗi cột của trạng thái. 
Với mỗi trạng thái, hàm MixColumns (State) thực hiện lặp lại 4 lần. 
Nó coi mỗi cột của mảng trạng thái như một đa
thức gồm 4 hạng tử và được nhân theo modulo
x4+1 với một đa thức cố định c(x):
c(x) = {03}x3 + {01}x2+{01}x +{02}
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 117
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 118 Mã khối Mã khốiAddRoundKey:
Một khóa vòng (Round Key) sẽ được cộng vào mảng trạng thái bằng
một thao tác XOR theo từng bit.
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 119
Bộ môn Khoa Học An Toàn Thông Tin – Khoa An Toàn Thông Tin
16 August 2021 | Page 120 20