Professional Documents
Culture Documents
AnToan HTTT 03
AnToan HTTT 03
3. Mật mã học
Nội dung
Mật mã học
Các hệ mã cổ điển
Mật mã học
Thuật ngữ
4
Khái niệm
7
Một số phân loại
Kích thước Số lượng khóa Thời gian cần thiết Thời gian cần thiết
khóa (bit) (1 giải mã/μs) (106 giải mã/μs)
32 232 = 4,3 x 109 231 μs = 35,8 phút 2,15 ms
56 256 = 7,2 x 1016 255 μs = 1142 năm 10,01 giờ
128 2128 = 3,4 x 1038 2127 μs = 5,4 x 1024 năm 5,4 x 1018 năm
168 2168 = 3,7 x 1050 2167 μs = 5,9 x 1036 năm 5,9 x 1030 năm
26 ký tự 26! = 4 x 1026 2 x 1026 μs = 6,4 x 106 năm
(hoán vị) 6,4 x 1012 năm
An ninh Mạng 13
Một số hệ mã cổ điển
Mật mã thời cổ đại
Bên gửi A:
• mã hóa x thành bản mã y: khóa mã k
Truyền bản mã y
Bên nhận B:
• giải mã y thành thông điệp gốc x
Mã hóa và giải mã:
• tham số khóa mã, khóa giải k
Định nghĩa hình thức
Hệ mã: bộ S=(P,C,K,E,D)
• P: không gian từ hiện - tập hữu hạn từ hiện ~ plaintext
• C: không gian từ mã - tập hữu hạn từ mã ~ ciphertext
• K: không gian khóa - tập hữu hạn các khóa mã
• Với khóa k K, có quy tắc/hàm mã hóa ek E, giải mã dk D
thỏa
Ánh xạ ký tự –> số
Mã chuyển dịch (Shift cipher) - mã cộng
Mã J. Caesar:
• khoảng thế kỷ 1 Tr.CN.
• Khóa: dịch 3 ký tự
Key
Plaintext ab c d e f g h i j k l mn o p q r s t u v w x y z
Ciphertext D E F G H I J K L MN O P Q R S T U VWX Y Z A B C
Plaintext: Ciphertext:
fourscoreandsevenyearsago IRXUVFRUHDQGVHYHQBHDUVDJR
Mã chuyển dịch (Shift cipher)
• Bảng chữ (bản rõ, bản mã): không nhất thiết trùng, không nhất thiết là bảng
chữ cái - mà có thể là bất kỳ bảng ký hiệu (symbol) nào
Thám mã I: Thử tất cả
23
Thám mã II: Thông minh hơn
24
Thám mã II
0.12
0.10
0.08
0.06
0.04
0.02
0.00
A C E G I K M O Q S U W Y
25
Thám mã II
Bản mã:
PBFPVYFBQXZTYFPBFEQJHDXXQVAPTPQJKTOYQWIPBVWLXTOXBTFXQWAXBVCXQWAXFQJVWLE
QNTOZQGGQLFXQWAKVWLXQWAEBIPBFXFQVXGTVJVWLBTPQWAEBFPBFHCVLXBQUFEVWLXGDP
EQVPQGVPPBFTIXPFHXZHVFAGFOTHFEFBQUFTDHZBQPOTHXTYFTODXQHFTDPTOGHFQPBQWAQ
JJTODXQHFOQPWTBDHHIXQVAPBFZQHCFWPFHPBFIPBQWKFABVYYDZBOTHPBQPQJTQOTOGHFQ
APBFEQJHDXXQVAVXEBQPEFZBVFOJIWFFACFCCFHQWAUVWFLQHGFXVAFXQHFUFHILTTAVWAFFA
WTEVOITDHFHFQAITIXPFHXAFQHEFZQWGFLVWPTOFFA
26
Mã đơn ký tự >< đa ký tự
Cơ chế: viết các ký tự của thông điệp theo đường chéo trên n dòng
Sau đó đọc/ghép theo dòng để được bản mã
Ví dụ viết như sau:
m e m a t r h t g p r y
e t e f e t e o a a t
Được bản mã
MEMATRHTGPRYETEFETEOAAT
Mã chuyển vị kép - Double Transposition
Plaintext: attackxatxdawn
Permute rows
and columns
Ciphertext: xtawxnattxadakc
Key is matrix size and permutations:
(3,5,1,4,2) and (1,3,2)
32
One-time-pad
• ~ mã Vigenere với khóa mã là xâu ngẫu nhiên dài bằng xâu bản rõ
One-Time Pad: Mật mã một lần
h e i l h i t l e r
Plaintext: 001 000 010 100 001 010 111 100 000 101
Key: 111 101 110 101 111 100 000 101 110 000
Ciphertext: 110 101 100 001 110 110 111 001 110 101
s r l h s s t h s r
34
One-Time Pad: Giải mã
s r l h s s t h s r
Ciphertext: 110 101 100 001 110 110 111 001 110 101
Key: 111 101 110 101 111 100 000 101 110 000
Plaintext: 001 000 010 100 001 010 111 100 000 101
h e i l h i t l e r
35
One-Time Pad
k i l l h i t l e r
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
36
One-Time Pad
h e l i k e s i k e
e=000 h=001 i=010 k=011 l=100 r=101 s=110 t=111
37
One-Time Pad Summary
Tích hai hệ mã
S1
• Xét 2 hệ mã và
Hệ mã tích: được xác định
• Khóa k là cặp
• Hàm mã hóa là hàm hợp ,
• Hàm giải mã ,
Tích các hệ mã
Nhận xét
• Phân bố xác suất của khóa
•
• Nếu S1 = S2: mã lặp
• Nếu thì S gọi là lũy đẳng
• Tránh lũy đẳng: có thể tích của các hệ mã khác nhau
• Nếu tích không lũy đẳng: độ bảo mật của mã tích tăng
• Không gian khóa
Mã Huffman
Mã Huffman
• Là một mã độ dài biến đổi, thường dùng để nén không mất thông tin
• Dựa trên phân bố xác suất
• Biến ngẫu nhiên X, có thể lấy hữu hạn giá trị xi , có phân bố xác suất p(X)
• Gọi sự tạo mã (encoding) là ánh xạ phần tử x tương ứng xâu nhị phân
: X {0, 1}*
• Cho từ x1x2..xn , mở rộng ánh xạ
(x1 .. xn) = (x1) .. (xn)
là phép nối các chuỗi ký tự. Theo đó ta có ánh xạ:
: X* { 0, 1}*
• Để giải mã không nhập nhằng => ánh xạ là đơn ánh.
Mã Huffman
Ví dụ:
• Bảng chữ có phân bố xác suất bên:
• Xây dựng ánh xạ mã Huffman