Professional Documents
Culture Documents
Chương 5
Chương 5
CHƯƠNG 5
1
09/07/2020
Inf
PA UC Mod Mux CEn Enc SEn For
Source
Transmitter Side
TA
Communication
Channel
RA
Receiver Side
Inf
LNA DC Dem Dmx CDe DeE SDe For Sink
other destinations
• Phân tích mật mã (cryptanalysis): nghiên cứu cách phá các hệ mật
nhằm phục hồi bản rõ ban đầu từ bản mã, nghiên cứu các nguyên
lí và phương pháp giải mã mà không biết khóa.
2
09/07/2020
Alice Bob
data, control
channel
messages
Trudy
3
09/07/2020
4
09/07/2020
5
09/07/2020
6
09/07/2020
7
09/07/2020
8
09/07/2020
• 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
Nên thám mã có thể suy đoán được ánh xạ của một số chữ
và từ đó dò tìm ra chữ mã cho các chữ khác.
9
09/07/2020
10
09/07/2020
11
09/07/2020
12
09/07/2020
13
09/07/2020
Bản mã
(Cipher text)
Hệ mật
Vigenere
Bản rõ
(plaintext)
14
09/07/2020
15
09/07/2020
{ M } M 0 , M1 , ..., M N 1
Cho không gian bản mã
{C } C 0 , C1 , ..., C N 1
Với mỗi bản rõ Mi, xác suất
biết trước mà Mi được truyền
là P(Mi), Giả sử Cj là mã nhận
được, xác suất kéo theo mà Mi
được dùng là P(Mi|Cj)
Hệ thống bản mã được gọi là
bảo mật hoàn hảo khi với mỗi
Mi và Cj xác suất kéo theo
bằng xác suất biết trước
P ( M i | Ci ) P M i P (C i | M i ) P C i
Như vậy: Chỉ có 1 khóa duy nhất chuyển bản rõ thành bản mã
Các khóa có xác suất bằng nhau
16
09/07/2020
Khi thuật toán được thực hiện trên cơ số 2 thì H(X) được gọi là số bit
cần để mã hóa bản tin X
Tín khả nghi được định nghĩa là Entropy có điều kiện của X được cho
bởi Y, nó dùng để phân tích giải mã và bẻ khóa
Tính khả nghi được hiểu như là tính không chắc chắn là X được gửi đi
khi nhận được Y, người giải mã muốn H(X|Y) tiến đến zero và như thế
thì lượng bản mã Y bị chia nhỏ (cắt ra) tăng lên
17
09/07/2020
Xét một tập message có xác suất mỗi tin nhắn như nhau {X}= X1,
X2,…X8.
b) Cho một tập message khác bằng nhau {Y}=Y1, Y2. Giả sử rằng
mỗi biến cố Y cho phép thu hẹp sự lựa chọn biến cố X
P( X | Y )
1
cho 4 biến cố của X
4
1 1 1
H ( X | Y ) P (Y ) P ( X | Y ) log 2 2( )4( log 2 4) 2bit / message
Y X P( X | Y ) 2 4
Ta thấy rằng biết được Y đã giảm tín không chắc chắn của X
từ 3bit/message còn 2bit/message
18
09/07/2020
Tốc độ thực của một ngôn ngữ được định nghĩa như trung
bình bit thông tin trong mỗi ký tự và được biểu diễn cho
message có chiều dài N
H( X )
r
N
Với H(X) là entropy của của message hay còn gọi là số bit
tối ưu mã cho message. Khi N lớn, ước lượng r cho ngôn
ngữ English là 1 đến 1.5 bits/ký tự, tốc độ tuyệt đối hay còn
gọi là Entropy cực đại của ngôn ngữ được định nghĩa như
là số bit thông tin cực đại chứa trong một ký tự , tốc độ
tuyệt đối được định nghĩa như sau:
r ' log 2 L
19
09/07/2020
20
09/07/2020
r’=log226=4.7 bit/ký tự
N=H(K)/D=135/3.2=43 ký tự
21
09/07/2020
22
09/07/2020
• Bây giờ chúng ta xét đến loại mã khác, mã hoán vị (MHV), các chữ
trong bản rõ không được thay thế bằng các chữ khác mà chỉ thay đổi vị
trí, tức là việc mã hoá chỉ dịch chuyển vị trí tương đối giữa các chữ
trong bản rõ.
• Như vậy, nó dấu bản rõ bằng cách thay đổi thứ tự các chữ, nó không
thay đổi các chữ thực tế được dùng. Do đó bản mã có cùng phân bố tần
suất xuất hiện các chữ như bản gốc. Như vậy có thể thám mã để phát
hiện được.
23
09/07/2020
– B2: Mỗi nhóm 6 kí tự sẽ được sắp xếp lại theo theo phép
HV (3, 5, 1, 6, 4, 2), ta có:
24
09/07/2020
Giải mã:
– B1: Nhóm bản mã thành các nhóm 6 kí tự
Cách mã:
– Viết các chữ của bản tin theo các dòng với số cột xác định. Nếu các
chữ trên dòng không trải đủ số cột thì ta thêm các kí tự khác vào cho
đủ chẳng hạn x, y, z, …
– Thay đổi thứ tự các cột theo dãy số khóa cho trước
– Đọc lại chúng theo các cột để nhận được bản mã.
25
09/07/2020
Ý tưởng kết hợp các hệ mật bằng cách tạo tích của chúng.
Ý tưởng này có tầm quan trọng to lớn trong việc thiết kế
các hệ mật hiện nay (chẳng hạn, chuẩn mã dữ liệu - DES ).
Để đơn giản, trong phần này chỉ hạn chế xét các hệ mật
trong đó C = P (các hệ mật này được gọi là tự đồng cấu).
26
09/07/2020
27
09/07/2020
Phân bố xác suất cho không gian khoá K của hệ mật tích
được xác định như sau:
pKk1, k2 pK1 k1 pK2 k2
28
09/07/2020
Mã Affine là một trường hợp đặc biệt của MTT. Hàm
mã có dang: e(x) = ax + b mod 26. Với a, b Z26. Khi
a =1 ta có MDV.
29
09/07/2020
30
09/07/2020
31
09/07/2020
g4 x4 g3 x3 g2 x2 g1 x1 x5
Plaintext: 0 1 0 1 0 1 0 1
Plaintext: 0 1 0 1 0 1 0 1
g4 x4 g3 x3 g2 x2 g1 x1 x5
Plaintext: 0 0 0 0 1 1 0 0 Keystream: 0 1 0 1 1 0 0 1
32
09/07/2020
Plaintext: 0 1 0 1 0 1 0 1
xn 1 g1
g
x
x n 2 g 2
M M
x2 n gn
x1 x2 L xn
x 2
M
x x3 L xn 1
M M
g X 1 x
xn xn 1 xn 2
33
09/07/2020
Mô tả DES:
DES mã hoá một xâu bit x của bản rõ độ dài 64 bằng một khoá 56 bit.
Bản mã nhận được cũng là một xâu bit có độ dài 64.
B1: Với bản rõ cho trước x, một xâu bit x0 sẽ được xây dựng bằng
cách hoán vị các bit của x theo phép hoán vị cố định ban đầu IP. Ta
viết: x0 = IP(x) = L0R0, trong đó L0 gồm 32 bit đầu và R0 là 32 bit
cuối.
34
09/07/2020
Trong đó:
k1, k2, …, k16 là các xâu bit có độ dài 48 được tính như 1 hàm
của khóa k (ki chính là một phép chọn hoán vị bit trong k).
B3: Áp dụng phép hoán vị ngược IP-1 cho xâu bit R16L16, ta thu
được bản mã y. Tức là y = IP-1(R16L16) . Hãy chú ý thứ tự đã
đảo của L16 và R16
35
09/07/2020
36
09/07/2020
Bảng này có ý nghĩa là bit thứ 58 của x là bit đầu tiên của
IP(x); bit thứ 50 của x là bit thứ 2 của IP(x)
37
09/07/2020
38
09/07/2020
39
09/07/2020
40
09/07/2020
– 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-1(k) = C0D0
Ci = LSi(Ci-1)
Di = LSi(Di-1)
41
09/07/2020
42
09/07/2020
43
09/07/2020
44
09/07/2020
Qui trình thám mã như sau: thực hiện mã hoá lặp lại với cặp
bản rõ có XOR đầu vào biết trước cho đến khi nhận được
XOR đầu ra mong muốn
Khi đó có thể tìm được
Nếu vòng trung gian thỏa mãn XOR yêu cầu thì có cặp
đúng
Nếu không thì có cặp sai, tỷ lệ sai tương đối cho tấn công đã
biết trước dựa vào thống kê.
Sau đó có thể tạo ra các khoá cho các vòng theo suy luận
sau
P[i1, i2,..., ia] (+) C[j1, j2,..., ib] = K[k1, k2,..., kc]
trong đó ia, jb, kc là các vị trí bit trong bản rõ, mã, khoá.
• Điều kiện trên cho phương trình tuyến tính của các bít
khoá.
45
09/07/2020
46
09/07/2020
47
09/07/2020
48
09/07/2020
Bài tập:
X là biến nguyên được biễu diễn bởi 64bit, xác suất =1/2 khi X nằm
trong khoảng (0, 216-1),=1/4 khi X nằm trong khoảng (216, 232-1), và
=1/4 trong khoảng còn lại. Xác định Entropy của X
Giải:
1
H ( X ) P ( X ) log 2
X P( X )
1 1
P (0 X 216 1) 0.5 2 32 ( P ( X | X range1 )
2 216
1 1
P ( 216 X 232 1) 16 0.25 2 16 ( P ( X | X range 2 )
4 2
1 1
P ( 2 X 2 1) 16 0.25 2 16 ( P ( X | X range 3 )
32 64
4 2
H1 ( X ) 216 0.5 216 log 2 ( 2 216 ) 8.5
H 2 ( X ) 216 0.25 216 log 2 ( 4 216 ) 4.5
H 3 ( X ) 232 0.25 232 log 2 ( 4 232 ) 8.5
H ( X ) H1 ( X ) H 2 ( X ) H 3 ( X ) 21.5bit
Cho tập thông tin thời tiết trong ngày: sunny(S), cloudy(C ), light rain
(L), heavyrain (H) với các thông tin thay đổi trong ngày như sau:
• Sáng: P(S)=1/8, P(C)= 1/8, P(L)=3/8, P(H)=3/8.
• Chiều: P(S)=3/8, P(C)= 3/8, P(L)=1/8, P(H)=1/8.
a) Tìm entropy của message:
b) Tìm entropy message theo khi bi chi phối theo thời gian trong ngày
Giải: H ( X ) P ( X ) log 2
1
X P( X )
a) 1
H ( X ) 4 log 2 4 2bit
4
1
H ( X | Y ) P (Y ) P ( X | Y )log 2
b) Y X P( X | Y )
1 3 3 1
2 2 log 2 2 log 2 8 1.82bit
2 8 8 8
49
09/07/2020
Giải:
H ( M ) 5 0.116 log 2 0.116 7 0.06 log 2 0.06 3.5bit / letter
50