An toàn m ngạ
Mã hóa truyền thống
Mã hóa Caesar
cipher: PHHW PH DIWHU WKH WRJD SDUWB
plain: MEET ME AFTER THE TOGA PARTY
Bản tin gốc: abcdefghijklmnopqrstuvwxyz
Khóa: defghijklmnopqrstuvwxyzabc
Các ki u bi n đ i trong ể ế ổ
mã hóa
Transposition ciphers – Xáo tr n – S p ộ ắ
x p l i các bit ho c các ký t trong chu i ế ạ ặ ự ỗ
d li u g cữ ệ ố
Substitution ciphers – Thay th - thay th ế ế
các bit, các ký t , ho c các kh i b ng các ự ặ ố ằ
bít ho c ký t khác.ặ ự
“Rail-Fence” Cipher
DISGRUNTLED EMPLOYEE
D R L E O
I G U T E M L Y E
S N D P E
DRLEOIGUTE MLYESNDPE
Các ph ng pháp mã ươ
hóa
Hai ph ng pháp mã hóa c b n:ươ ơ ả
Conventional Encryption – Mã hóa
truy n th ngề ố , còn đ c g i là mã hóa đ i ượ ọ ố
x ngứ
Public-key Encryption – Mã hóa khóa
công khai, còn đ c g i là mã hóa b t đ i ượ ọ ấ ố
x ng.ứ
Mô hình mã hóa truy n ề
th ngố
Mã hóa truy n th ngề ố
Là ph ng pháp mã hóa duy nh t đ c ươ ấ ượ
áp d ng cho đ n cu i nh ng n m ụ ế ố ữ ă
1970s
Có l ch s lâu đ iị ử ờ
c áp d ng r ng rãiĐượ ụ ộ
Mã hóa truy n th ngề ố
N m thành ph n c b n c a thu t toánă ầ ơ ả ủ ậ
Plaintext: B n tin ho c d li u g cả ặ ữ ệ ố
Encryption algorithm: Thu t toán mã hóa – ậ
th c hi n các phép bi n đ i thay th ho c xáo ự ệ ế ổ ế ặ
tr n trên b n tin g cộ ả ố
Secret key: Khóa bí m t – u vào c a thu t ậ Đầ ủ ậ
toán mã hóa. Vi c bi n đ i đ c th c hi n d a ệ ế ổ ượ ự ệ ự
trên khóa này.
Ciphertext: B n tin đã đ c bi n đ i, là đ u ra ả ượ ế ổ ầ
c a thu t toán mã hóa. D a trên b n tin g c và ủ ậ ự ả ố
khóa.
Decryption algorithm: Thu t toán gi i mã – ậ ả
đ c th c hi n ng c l i v i thu t toán mã hóa. ượ ự ệ ượ ạ ớ ậ
S d ng b n tin đã mã hóa và khóa bí m t làm ử ụ ả ậ
đ u vào và cho ra b n tin g c.ầ ả ố
Mã hóa truy n th ngề ố
nh ngh a mang tính toán h cĐị ĩ ọ
N m thành ph n c a thu t toánă ầ ủ ậ
A Plaintext message space, M
A family of enciphering transformations, E
K
:M →
C, where K∈K
A key space, K
A ciphertext message space, C
A family of deciphering transformations, D
K
: C →
M, where K∈K
Mã hóa truy n th ngề ố
M E
K
D
K
M
C
E
K
được định nghĩa bởi thuật toán mã hóa E
D
K
đ c đ nh ngh a b i thu t toán gi i mãượ ị ĩ ở ậ ả D
Với K cho trước, D
K
phép biến đổi ngược của E
K
,
nghĩa là
D
K
(E
K
(M))=M
Với mọi bản tin gốc M
Yêu c u và đi m y u c a ầ ể ế ủ
thu t toánậ
Yêu c uầ
Thu n toán mã hóa m nhậ ạ
C ch trao đ i khóa bí m t an toànơ ế ổ ậ
Các ph ng pháp t n côngươ ấ
Cryptanalysis – phân tích mã hóa
Brute force – t n công vét c nấ ạ
Phân tích mã hóa
Quá trình c g ng khám phá ra b n ố ắ ả
tin g c ho c khóa bí m t.ố ặ ậ
Alan Turing broke the
Enigma Code in WWII
Phân tích mã hóa đ n ơ
gi nả
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
CIPHERTEXT:
T n su t ch cái ti ng ầ ấ ữ ế
Anh
Phân tích mã hóa đ n ơ
gi nả
IT WAS DISCLOSED YESTERDAY THAT SEVERAL
INFORMAL BUT DIRECT CONTACTS HAVE BEEN MADE
WITH POLITICAL REPRESENTATIVES OF THE VIET
CONG IN MOSCOW
PLAINTEXT:
Phân tích mã hóa
S an toàn c a mã hóa d a vào khóaự ủ ự
KHÔNG d a vào thu t toánự ậ
Kh n ng tích h p nhi u chip tính toán giá ả ă ợ ề
r đ t o các máy mã hóa t c đẻ ể ạ ố ộ
V n đ chính là đ m b o tính bí m t c a ấ ề ả ả ậ ủ
khóa
Phân lo i h th ng mã ạ ệ ố
hóa
Ki u bi n đ iể ế ổ – thay thế ho c ặ xáo tr nộ ; không
đ c làm m t thông tinượ ấ
S l ng khóa s d ngố ượ ử ụ – symmetric, single key,
conventional; asymmetric, two-key, public-key
encryption
Ph ng pháp x lýươ ử – block or stream cipher
Các ki u t n công phân tíchể ấ
An toàn v m t tính toánề ặ
Chi phí cho vi c phá mã v t quá giá tr ệ ượ ị
c a thông tin thu đ củ ượ
Th i gian đ th c hi n phá mã v t quá ờ ể ự ệ ượ
th i h n có ích c a thông tinờ ạ ủ
T n công vét c n tìm khóaấ ạ
Tấn công vét cạn bằng các máy tính toán song song
tốc độ cao
C u trúc mã hóa Feistelấ
Phát minh b i Horst Feistel,ở IBM,
1973
u vào là các kh i d li u có kích Đầ ố ữ ệ
th c ướ 2w bits (th ng là 64) và khóa ườ K
Kh i đ c chia làm 2 n a, ố ượ ử L
0
và R
0
T i vòng i, đ u vào là ạ ầ L
i-1
và R
i-1
, đ c ượ
tính t vòng tr c, cùng v i khóa con ừ ướ ớ
K
i
Phép thay th đ c th c hi n n a ế ượ ự ệ ở ử
trái c a kh i.ủ ố
Hàm F đ c áp d ng vào n a ph i và ượ ụ ử ả
sau đó th c hi n XOR v i n a trái.ự ệ ớ ử
C u trúc mã hóa Feistelấ
Things to consider:
-
Block size (64)
-
Key Size (128)
-
# of rounds (16)
-
SubKey Generation
-
Round function
Data Encryption Standard
(DES)
Gi i thi u n m ớ ệ ă 1977, đ c phê ượ
chu n vào n m ẩ ă 1994, b i NBS(NIST)ở
Mã hóa theo t ng kh i 64 bits, khóa ừ ố
56 bits.
Bao g m 16 vòng, m i vòng sinh ra ồ ỗ
các giá tr trung gian đ dùng cho ị ể
các vòng ti p theoế
V i t c đ tính toán ngày nay, DES ớ ố ộ
không còn là thu t toán an toàn.ậ
Hàm F trong DES
S-Box