Cryptography
MÃ HÓA VÀ GIẢI MÃ THÔNG TIN
1
An toàn mạng truyền thông
Mục tiêu 1: An toàn hạ
tầng mạng
Mục tiêu 2: An toàn dữ
liệu trên đường truyền
2
Cryptography
3
Các thuật ngữ
Sender: Người gởi thông tin hay dữ liệu
Receiver: Người nhận dữ liệu
Plaintext (cleartext): Thông tin trước khi được mã hóa
Ciphertext: Thông tin đã được mã hóa
Encryption: Quá trình mã hóa che dấu nội dung của dữ liệu (plaintext
ciphertext)
Decryption: Quá trình lấy lại thông tin ban đầu (ciphertext plaintext)
4
Các thuật ngữ..
Cryptography: Ngành khoa học về mã hóa và giải mã thông tin
Cryptanalysis: Việc nghiên cứu phương pháp để giải mã thông tin mà không
cần khóa
Key: Thành phần trong quan trọng trong mã hóa và giải mã
Cryptographic algorithm: là các hàm toán học được sử dụng cho việc mã hóa
hoặc giải mã thông tin
CryptoSystem: thuật toán mã hóa, khóa, plaintext, ciphertext
5
PlainText
CipherText
PlainText
Receiver
6
Mục tiêu của mã hóa
Tính xác thực (Authentication)
Tính toàn vẹn (Integrity)
Tính bảo mật (Confidentiality)
Tính không thể chối bỏ (Non-repudation)
7
Độ an toàn
Các thuật toán khác nhau cung cấp độ an toàn khác nhau
Thuật toán nào cũng có thể bị phá vỡ
Tại một thời điểm tính an toàn phụ thuộc
Nếu công sức, chi phí cần thiết để phá vỡ một thuật tóan lớn hơn giá trị của thông tin mã
hóa
Nếu thời gian dùng để phá vỡ một thuật toán quá lâu
Dữ liệu cần thiết để phá vỡ một thuật toán quá lớn
Sự bảo mật trong mã hóa phụ thuộc nhiều yếu tố: thuật toán, độ
lớn khóa…
8
Phân loại
Theo phương pháp
Mã hóa cổ điển
Mã hóa đối xứng
Mã hóa bất đối xứng
Hàng băm 1 chiều
Theo số lượng khóa
Symmetric (Private Key Cryptography)
Asymmetric (Public Key Crytography)
Theo cách thức
Mã hóa dòng (Stream Cipher)
Mã hóa khối (Block Cipher)
9
10
Mã hóa cổ điển
Các phương pháp mã hóa cổ điển không dùng khóa
Thuật toán đơn giản dễ hiểu
Cho phép ta hình dung cách tiếp cận cơ bản với mã hóa đối xứng được sử
dụng ngày nay
2 phương pháp nổi tiếng:
Substitution (mã hóa thay thế)
Transposition (mã hóa hoán vị)
11
Mã hóa cổ điển
Mã hóa thay thế
Các ký tự trong plaintext được thay thế bằng ký tự khác hoặc bằng số hay các
biểu tượng theo một quy tắc nào đó
A
B
C
D
E
F
X
Y
Z
W
R
T
BAEC YXRZ ZRXY
Bên nhận đảo ngược trình tự thay thế trên ciphertext để có được plaintext
12
Mã hóa cổ điển
Mã hóa thay thế Ceasar Cipher
Là phương pháp mã hóa thay thế đầu tiên, được miêu tả bởi hoàng đế Ceasar
Cipher
Thay thế từng ký tự từ A-Z bằng ký tự đứng thứ k(=3) sau nó (phép dịch)
13
Mã hóa cổ điển
Ceasar Cipher (tt)
◦ Ví dụ k=3:
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 R S T U V W X Y Z A B C
Bản rõ:
attack at night
Bản mã:
DWWDFN DW QLJKW
Giải mã?
14
Mã hóa cổ điển
Ceasar Cipher (tt)
Phép dịch 26 lần giống với phép dịch 0 lần. Giới hạn phạm vi phép dịch từ 0-25
Xây dựng thuật toán bằng cách đánh số cho từng ký tự:
A
B
C
D
E
F
G
H
I
J
K
L
m
0
1
2
3
4
5
6
7
8
9
10
11
12
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
13
14
15
16
17
18
19
20
21
22
23
24
25
Công thức cho Ceasar Cipher
C=E(p)= (p+k) mod (26)
P=D(C)= (c-k) mod (26)
15
Mã hóa cổ điển
Phá mã Ceasar: thử 25 khóa k
KEY
1
2
3
4
5
6
7
8
9
10
11
12
13
DWWDFN DW QLJKW
cvvcem
buubdl
attack
zsszbj
yrryai
xqqxzh
wppwyg
voovxf
unnuwe
tmmtvd
sllsuc
rkkrtb
qjjqsa
cv
bu
at
zs
yr
xq
wp
vo
un
tm
sl
rk
qj
pkijv
ojhiu
night
mhfgs
lgefr
kfdeq
jecdp
idbco
hcabn
gbzam
fayzl
ezxyk
dywxj
KEY
14
15
16
17
18
19
20
21
22
23
24
25
DWWDFN DW QLJKW
piiprz
ohhoqy
nggnpx
mffmow
leelnv
kddkmu
jccjlt
ibbiks
haahjr
gzzgiq
fyyfhp
exxego
pi
oh
ng
mf
le
kd
jc
ib
ha
gz
fy
ex
cxvwi
bwuvh
avtug
zustf
ytrse
xsqrd
wrpqc
vqopb
upnoa
tomnz
snlmy
rmklx
16
Mã hóa cổ điển
Mã hoán vị
Ý tưởng: giữ nguyên không thay đổi Plaintext, chỉ sắp xếp lại vị trí của các ký tự
để cho ra Ciphertext
Hoán vị vị trí của các ký tự theo từng nhóm với các quy tắc nhất định
Ví dụ: bản rõ “we are discovered”
w e a r e
d i s c o
v e r e d
bản mã “WDVEIEASRRCEEOD”
17
Mã hóa cổ điển
Mã hoán vị cải tiến 1
dùng một khóa để hoán vị các cột trước khi kết xuất bản mã.
Ví dụ: bản rõ “we are discovered”
Khóa: QUITE
Q
w
d
v
U
e
i
e
I
a
s
r
T
r
c
e
E
e
o
d
E
e
o
d
I
a
s
r
Q
w
d
v
T
r
c
e
U
e
i
e
bản mã “EODASRWDVRCEEIE”
18
Mã hóa đối xứng
19
Mã hóa đối xứng (tt)
Secret Key Cryptography (Private Key Cryptography)
Sử dụng cùng 1 khóa cho cả hai quá trình mã hóa và giải mã
Bao gồm 2 thành phần:
Thuật toán mã hóa
Key
Người gởi và người nhận thông tin cần thỏa thuận về khóa trước khi truyền
20
Mã hóa đối xứng (tt)
Trao đổi, thỏa thuận về thuật toán được tiến hành công khai
Thỏa thuận về khóa trong việc mã hóa và giải mã phải được tiến
hành bí mật:
Nếu Sender không gởi khóa cho Receiverkhông giải mã đượckhông hiểu
nội dung tài liệu nói gì
Khóa phải được trao đổi theo một kênh bí mật
Bị sniffer mất khóamất thông tin
21
Mã hóa đối xứng (tt)
Các bước tiến hành trao đổi thông tin
Bước 1 có thể thực hiện công khai, bước 2 bắt buộc phải thực hiện một cách
bí mật A và B phải tuyệt đối tin tưởng nhau
22
Mã hóa đối xứng (tt)
Mã hóa đối xứng có thể phân thành 2 loại:
◦ Loại 1 (Mã hóa khối):
◦ Tác động trên plaintext theo từng nhóm (khối) bit
◦ Thuật toán được áp dụng gọi là Block Cipher
◦ Từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng
độ dài
◦ Kích thước chung của 1 block là 64 bit.
◦ Loại 2 (Mã hóa dòng):
◦
◦
◦
◦
Tác động trên plaintext theo từng bit một.
Thuật toán được áp dụng gọi là Stream Cipher
Dữ liệu của văn bản được mã hóa từng bit một
Thuật toán mã hóa dòng có tốc độ nhanh hơn mã hóa khối
23
Một số thuật toán mã hóa đối xứng
DES: Data Encyption Standard
◦ Mã hóa theo từng khối 64 bit, sử dụng 1 khóa 64 bit
◦ Thực tế chỉ dùng 56 bit
◦ Dễ bị phá vỡ (24h)
Triple DES (3DES)
◦ Mã hóa-giải mã-mã hóa, sử dụng 3 khóa
AES : Advanced Encryption Standard
◦ AES thay thế cho DES
◦ Hỗ trợ độ lớn nhỏ nhất cho khóa là 128, 192 và 256 bits
24
Phân phối khóa đối xứng
Phương pháp 1:
Trao đổi vật lý (bằng tay) các khóa
trước . Các khóa bí mật được chuyển
giao trực tiếp cho các bên
Phương pháp 2:
Sử dụng trung tâm phân phối
khóa tự động
25