lOMoARcPSD| 31835026
hóa thông tin
1
lOMoARcPSD| 31835026
hóa thông tin
Gii thiu hình hóa
.
.
đối xng
hóa phi đối xng
Phương pháp thám
Gii thiu hình truyn khóa
ng dng hóa, hàm băm trong bo v
kim tra d liu
2
lOMoARcPSD| 31835026
hình h thng
H thng hóa (cryptosystem) mt b
năm (P, C, K, E, D) tha mãn các điu kin sau:
1
2
3
. Tp ngun P tp hu hn tt c các bn tin
ngun cn a th
. T p đích C tp hu hn tt c các bn tin th
sau khi a
. Tp khóa K tp hu hn các khóa th đưc
s dng
3
lOMoARcPSD| 31835026
hình h thng (t)
(P, C, K, E, D) :
4
. E, D tp lut hóa gii mã. Vi mi khóa k
tn ti mt lut hóa e E lut gii
k
tương ng d D. Lut hóa e : P C d : C
k
k
k
D tha mãn. d (e (x))=x, x P.
k k
4
lOMoARcPSD| 31835026
Phân loi hóa
đối xng mt quy ưc
.
T e th suy ra d ngược li
k
k
phi đi xng công khai
.
T e không th suy ra đưc d ngược li
k
k
5
lOMoARcPSD| 31835026
Mt s hóa kinh đin
hóa dch vòng
Phương pháp thay thế
Phương pháp Affine
Phương pháp Vigenere
Phương pháp Hill
Phương pháp hoán v
6
lOMoARcPSD| 31835026
hóa dch vòng
P=C=K=Z
n
Khóa k đnh nghĩa k K định nghĩa
e
k
(x)=(x+k) mod n
d
k
(y)=(y-k) mod n
x, y Z
n
E={e
k
, k K}
D={d
k
, k K}
7
lOMoARcPSD| 31835026
hóa dch vòng (t)
d: trong tiếng anh a->z vy n=26
Chn k=12 vy
NOTHINGIMPOSSIBLE
Th t:
13,14,19,7,8,13,6,8,12,15,14,18,18,8,1,11,4
Sau khi hóa là:
25,0,5,19,20,25,18,20,24,1,0,4,4,20,13,23,16
ZAFTUZSUYBAEEUNXQ
8
lOMoARcPSD| 31835026
hóa dch vòng (t)
Thc hin đơn gin
Không gian khóa (26), d tn công:
.
.
Vét cn
Thng t
9
lOMoARcPSD| 31835026
hóa thay thế
P=C=Z
n
K tp tt c hoán v ca n phn t
k: mt hoán v
e
k
(x)= (x)
d (y)= (y)
-
1
k
1
0
lOMoARcPSD| 31835026
hóa thay thế (t)
A
B
C
D
E
F
Y
U
D
H
K
E
M
I
N
O
P
Q
R
S
T
U
V
W
Z
T
Q
V
X
C
O
R
NOTHINGIMPOSSIBLE
Thành
WZCILWMLNTZXXLUPK
Tra bng ngược li khi nhn
NOTHINGIMPOSSIBLE
G
H
I
W B
L
X
Y
Z
S
G
A
J
J
K
L
F
P
N
M
1
1
lOMoARcPSD| 31835026
hóa thay thế (t)
Thi gian thc hin ngn
Không gian khóa n! khá ln
Tn công theo phương pháp thng
1
2
lOMoARcPSD| 31835026
Phương pháp Affine
P=C=Z
n
K={(a,b) Z
n
xZ
n
: gcd(a,n)=1}
e
k
(x) =(ax + b) mod n
-
1
d (x) =(a (y-b)) mod n
k
x, y Z
n
E={e , k K}
k
D={d , k K}
k
1
3
lOMoARcPSD| 31835026
Phương pháp Affine (t)
Trường hp riêng ca thay thế
Tính toán đơn gin
S ng khóa không ln
1
4
lOMoARcPSD| 31835026
Phương pháp Vigenere
P=C=K=(Z
n
)
m
K={(k , k ,… ,k ) (Z ) }
r
1
2
r
n
e (x , x , ..x )=((x +k ) mod n, …,(x +k ) mod n)
k 1 2
r
1 1
r r
d (y , …, y )=((y -k ) mod n), …,(y -k ) mod n)
k 1
r
1 1
r r
1
5
lOMoARcPSD| 31835026
Phương pháp Vigenere (t)
Thut toán này m rng thut toán dch
vòng vi khóa b nhiu khóa dch vòng
Thc hin đơn gin
Không gian khóa ln n
m
1
6
lOMoARcPSD| 31835026
Phương pháp Hill
P=C=(Z
n
)
m
K tp hp ma trn mxm kh nghch
1
7
lOMoARcPSD| 31835026
Phương pháp Hill
Thc hin đơn gin (da phép nhân ma trn)
Không gian khóa ln n
mxm
1
8
lOMoARcPSD| 31835026
Phương pháp hoán v
P=C=(Z )
m
n
K mt hoán v
e (x , …, x ) = (x , …, x )
1
m
(1)
(m)
-
1
-1
d (y , …, y )=(y , …, y )
1
m
(1)
(m)
1
9
lOMoARcPSD| 31835026
Phương pháp hoán v (t)
Trường hp riêng ca ma Hill
Thc hin đơn gin
Không gian hóa m!
2
0
lOMoARcPSD| 31835026
Mt s hóa tiêu chun
DES Data Encryption Standard
AES Advanced Encryption Standard
2
1
lOMoARcPSD| 31835026
DES
x P dãy 64 bit
k K dãy 56 bit
Khóa thc tế s dng 48 bit
S dng tripple DES s dng 3 quá trình vi 3
khóa khác nhau
th b phá trong khong thi gian ngn
Tài liu tham kho
2
2
lOMoARcPSD| 31835026
AES
S dng nhng khóa độ dài 128, 192
hoc 256.
S dng cu trúc toán đơn gin, thi gian
thc hin thun tin
Đến hin ti đưc xem an toàn
2
3
lOMoARcPSD| 31835026
Hàm băm
Chuyn đổi mt thông đip độ dài bt k
thành mt độ dài c định
Hàm băm không hàm song ánh
Thường đưc s dng trong công tác xác thc
Các phương pháp
.
.
DES
SHA
2
4
lOMoARcPSD| 31835026
Hàm băm
S dng để kim tra tính toàn vn cho d liu
S dng để đại din cho phn ch
S dng lưu tr thông tin kim chng (mt
khu, …)
Tn công bng phương pháp đụng độ
2
5
lOMoARcPSD| 31835026
Hàm băm (t)
Các hàm băm đưc s dng
.
.
.
.
.
.
MD4
MD5
SHA-1
SHA-256
SHA-384
SHA-512
2
6
lOMoARcPSD| 31835026
hóa công khai
Da trên các hàm ca sp mt chiu
.
.
Phân tích tha s nguyên t (RSA)
Bài toán logarit ri rc (ECC)
S dng hai khóa khác nhau, độc lp (không
th phân tích đưc khóa t khóa còn li)
2
7
lOMoARcPSD| 31835026
RSA
Da trên phép tính s nguyên t ln
.
.
Khó khăn phân tích tha s nguyên t ca n
Da trên phép s nguyên t ln
Thi gian thc hin chm
Đảm bo an toàn vi 512 bit, 1024 bit, hin
nay khuyến cáo v 2048 bit
Tài liu tham kho
2
8
lOMoARcPSD| 31835026
ECC
hóa da trên các đưng cong eliptic
.
.
Tìm đưc đưng cong
Tìm đưc nghim trên đưng cong tha mãn s
bc ca nghim ln
Thi gian tính toán nhanh hơn RSA
Thi gian phá chm hơn RSA
Khó tìm đưc đưng cong, nghim tha mãn
điu kin đã cho
2
9
lOMoARcPSD| 31835026
So sánh
3
0
lOMoARcPSD| 31835026
Phương pháp thám
Kch bn thám
.
.
.
.
.
Ch bn
Biết bn
La chn bn
La chn bn
La chn khóa
3
1
lOMoARcPSD| 31835026
Phương pháp thám
Các phương pháp thám
.
.
.
.
.
.
Boomerang attack tn công khi
Brute force attack Tt c các loi
Davies' attack Tn công DES
Differential cryptanalysis khi, dòng, băm
Impossible differential cryptanalysis khi AES
Improbable differential cryptanalysis khi
CLEFIA
.
Integral cryptanalysis khi
3
2
lOMoARcPSD| 31835026
Phương pháp thám
Các phương pháp thám
.
.
.
.
.
.
Linear cryptanalysis khi DES
Meet-in-the-middle attack khi
Mod-n cryptanalysis khi, dòng
Related-key attack Tn công WEP
Sandwich attack Tn hóa mng di động
Slide attack Tn công vào các hóa đa vòng,
yếu trên mi vòng
.
XSL attack Tn công trên vòng
3
3
lOMoARcPSD| 31835026
hóa thông tin
Gii thiu hình hóa
.
.
đối xng
hóa phi đối xng
Phương pháp thám
Gii thiu hình truyn khóa
ng dng hóa, hàm băm trong bo v
kim tra d liu
3
4
lOMoARcPSD| 31835026
Bài tp
Tìm hiu thêm v hình RSA, ECC
Thut toán để thc hin a DES, AES
Thut toán để tính MD5, SHA…
3
5

Preview text:

lOMoAR cPSD| 31835026 Mã hóa thông tin 1 lOMoAR cPSD| 31835026 Mã hóa thông tin
• Giới thiệu mô hình mã hóa . Mã đối xứng . Mã hóa phi đối xứng • Giới thiệu hàm băm • Phương pháp thám mã
• Giới thiệu mô hình truyền khóa
• Ứng dụng mã hóa, hàm băm trong bảo vệ và kiểm tra dữ liệu 2 lOMoAR cPSD| 31835026 Mô hình hệ thống
• Hệ thống mã hóa (cryptosystem) là một bộ
năm (P, C, K, E, D) thỏa mãn các điều kiện sau:
1 . Tập nguồn P là tập hữu hạn tất cả các bản tin
nguồn cần mã hóa có thể có
2 . Tập đích C là tập hữu hạn tất cả các bản tin có thể có sau khi mã hóa
3 . Tập khóa K là tập hữu hạn các khóa có thể được sử dụng 3 lOMoAR cPSD| 31835026 Mô hình hệ thống (t) • (P, C, K, E, D) :
4 . E, D là tập luật mã hóa và giải mã. Với mỗi khóa k
tồn tại một luật mã hóa e E và luật giải mã k
tương ứng d D. Luật mã hóa e : P C và d : C k k k
D thỏa mãn. d (e (x))=x, x P. k k 4 lOMoAR cPSD| 31835026 Phân loại mã hóa
• Mã đối xứng – mật – quy ước
. Từ e có thể suy ra d và ngược lại k k
• Mã phi đối xứng – công khai
. Từ e không thể suy ra được d và ngược lại k k 5 lOMoAR cPSD| 31835026
Một số mã hóa kinh điển • Mã hóa dịch vòng • Phương pháp thay thế • Phương pháp Affine • Phương pháp Vigenere • Phương pháp Hill • Phương pháp hoán vị 6 lOMoAR cPSD| 31835026 Mã hóa dịch vòng • P=C=K=Zn
• Khóa k định nghĩa k K định nghĩa • ek(x)=(x+k) mod n • dk(y)=(y-k) mod n • x, y Zn • E={ek, k K} • D={dk, k K} 7 lOMoAR cPSD| 31835026 Mã hóa dịch vòng (t)
• Ví dụ: trong tiếng anh có a->z vậy n=26 • Chọn k=12 vậy • NOTHINGIMPOSSIBLE • Thứ tự là:
• 13,14,19,7,8,13,6,8,12,15,14,18,18,8,1,11,4 • Sau khi mã hóa là:
• 25,0,5,19,20,25,18,20,24,1,0,4,4,20,13,23,16 • ZAFTUZSUYBAEEUNXQ 8 lOMoAR cPSD| 31835026 Mã hóa dịch vòng (t)
• Thực hiện đơn giản
• Không gian khóa bé (26), dễ tấn công: . Vét cạn . Thống kê ký tự 9 lOMoAR cPSD| 31835026 Mã hóa thay thế • P=C=Zn
• K tập tất cả hoán vị của n phần tử • k: là một hoán vị • ek(x)= (x) • d (y)= - (y) 1 k 1 0 lOMoAR cPSD| 31835026 Mã hóa thay thế (t) A Y N W B U O Z • NOTHINGIMPOSSIBLE C D P T • Thành D H Q Q E K R V • WZCILWMLNTZXXLUPK S X F E T C
• Tra bảng ngược lại khi nhận G M U O H I • V R NOTHINGIMPOSSIBLE I L W B X S J J Y G K F Z A L P M N 1 1 lOMoAR cPSD| 31835026 Mã hóa thay thế (t)
• Thời gian thực hiện ngắn
• Không gian khóa là n! khá lớn
• Tấn công theo phương pháp thống kê 1 2 lOMoAR cPSD| 31835026 Phương pháp Affine • P=C=Zn
• K={(a,b) ZnxZn: gcd(a,n)=1} • ek(x) =(ax + b) mod n • - 1 d (x) =(a (y-b)) mod n k • x, y Z n • E={e , k K} k • D={d , k K} k 1 3 lOMoAR cPSD| 31835026 Phương pháp Affine (t)
• Trường hợp riêng của thay thế • Tính toán đơn giản
• Số lượng khóa không lớn 1 4 lOMoAR cPSD| 31835026 Phương pháp Vigenere • P=C=K=(Zn)m
• K={(k , k ,… ,k ) (Z ) }r 1 2 r n
• e (x , x , ..x )=((x +k ) mod n, …,(x +k ) mod n) k 1 2 r 1 1 r r
• d (y , …, y )=((y -k ) mod n), …,(y -k ) mod n) k 1 r 1 1 r r 1 5 lOMoAR cPSD| 31835026 Phương pháp Vigenere (t)
• Thuật toán này là mở rộng thuật toán dịch
vòng với khóa là bộ nhiều khóa dịch vòng
• Thực hiện đơn giản
• Không gian khóa lớn nm 1 6 lOMoAR cPSD| 31835026 Phương pháp Hill • P=C=(Zn)m
• K là tập hợp ma trận mxm khả nghịch 1 7 lOMoAR cPSD| 31835026 Phương pháp Hill
• Thực hiện đơn giản (dựa phép nhân ma trận)
• Không gian khóa lớn nmxm 1 8 lOMoAR cPSD| 31835026 Phương pháp hoán vị • P=C=(Z ) m n • K là một hoán vị • e (x , …, x ) = (x , …, x ) 1 m (1) (m) • - 1 -1 d (y , …, y )=(y , …, y ) 1 m (1) (m) 1 9 lOMoAR cPSD| 31835026 Phương pháp hoán vị (t)
• Trường hợp riêng của ma Hill
• Thực hiện đơn giản
• Không gian mã hóa là m! 2 0 lOMoAR cPSD| 31835026
Một số mã hóa tiêu chuẩn
• DES – Data Encryption Standard
• AES – Advanced Encryption Standard 2 1 lOMoAR cPSD| 31835026 DES • x P dãy 64 bit • k K dãy 56 bit
• Khóa thực tế sử dụng 48 bit
• Sử dụng tripple DES sử dụng 3 quá trình với 3 khóa khác nhau
• Có thể bị phá mã trong khoảng thời gian ngắn • Tài liệu tham khảo 2 2 lOMoAR cPSD| 31835026 AES
• Sử dụng những khóa có độ dài là 128, 192 hoặc 256.
• Sử dụng cấu trúc toán đơn giản, thời gian thực hiện thuận tiện
• Đến hiện tại được xem là an toàn 2 3 lOMoAR cPSD| 31835026 Hàm băm
• Chuyển đổi một thông điệp có độ dài bất kỳ
thành một độ dài cố định
• Hàm băm không là hàm song ánh
• Thường được sử dụng trong công tác xác thực • Các phương pháp . DES . SHA 2 4 lOMoAR cPSD| 31835026 Hàm băm
• Sử dụng để kiểm tra tính toàn vẹn cho dữ liệu
• Sử dụng để đại diện cho phần chữ ký
• Sử dụng lưu trữ thông tin kiểm chứng (mật khẩu, …)
• Tấn công bằng phương pháp đụng độ 2 5 lOMoAR cPSD| 31835026 Hàm băm (t)
• Các hàm băm được sử dụng . MD4 . MD5 . SHA-1 . SHA-256 . SHA-384 . SHA-512 2 6 lOMoAR cPSD| 31835026 Mã hóa công khai
• Dựa trên các hàm cửa sập một chiều
. Phân tích thừa số nguyên tố (RSA)
. Bài toán logarit rời rạc (ECC)
• Sử dụng hai khóa khác nhau, độc lập (không
thể phân tích được khóa từ khóa còn lại) 2 7 lOMoAR cPSD| 31835026 RSA
• Dựa trên phép tính số nguyên tố lớn
. Khó khăn phân tích thừa số nguyên tố của n
. Dựa trên phép mũ số nguyên tố lớn
• Thời gian thực hiện chậm
• Đảm bảo an toàn với 512 bit, 1024 bit, hiện
nay có khuyến cáo về 2048 bit • Tài liệu tham khảo 2 8 lOMoAR cPSD| 31835026 ECC
• Mã hóa dựa trên các đường cong eliptic
. Tìm được đường cong
. Tìm được nghiệm trên đường cong thỏa mãn số bậc của nghiệm lớn
• Thời gian tính toán nhanh hơn RSA
• Thời gian phá mã chậm hơn RSA
• Khó tìm được đường cong, nghiệm thỏa mãn điều kiện đã cho 2 9 lOMoAR cPSD| 31835026 So sánh 3 0 lOMoAR cPSD| 31835026 Phương pháp thám mã • Kịch bản thám mã . Chỉ có bản mã . Biết bản rõ . Lựa chọn bản rõ . Lựa chọn bản mã . Lựa chọn khóa 3 1 lOMoAR cPSD| 31835026 Phương pháp thám mã
• Các phương pháp thám mã
. Boomerang attack – tấn công mã khối
. Brute force attack – Tất cả các loại
. Davies' attack – Tấn công mã DES
. Differential cryptanalysis – mã khối, dòng, băm
. Impossible differential cryptanalysis – mã khối AES
. Improbable differential cryptanalysis – mã khối CLEFIA
. Integral cryptanalysis – Mã khối 3 2 lOMoAR cPSD| 31835026 Phương pháp thám mã
• Các phương pháp thám mã
. Linear cryptanalysis – Mã khối DES
. Meet-in-the-middle attack – Mã khối
. Mod-n cryptanalysis – Mã khối, mã dòng
. Related-key attack – Tấn công WEP
. Sandwich attack – Tấn mã hóa mạng di động
. Slide attack – Tấn công vào các mã hóa đa vòng, yếu trên mỗi vòng
. XSL attack – Tấn công trên mã vòng 3 3 lOMoAR cPSD| 31835026 Mã hóa thông tin
• Giới thiệu mô hình mã hóa . Mã đối xứng . Mã hóa phi đối xứng • Giới thiệu hàm băm • Phương pháp thám mã
• Giới thiệu mô hình truyền khóa
• Ứng dụng mã hóa, hàm băm trong bảo vệ và kiểm tra dữ liệu 3 4 lOMoAR cPSD| 31835026 Bài tập
• Tìm hiểu thêm về mô hình RSA, ECC
• Thuật toán để thực hiện mã hóa DES, AES
• Thuật toán để tính MD5, SHA… 3 5