Trnh by v phương php thm mã vi sai 
Giảng viên: 
Học viên : 
Trnh by v phương php thm mã vi sai
 !"!"#$"%"
"%""&'"!"
()*
Giới thiệu v thm mã vi sai - 
Cơ sở của thm mã vi sai
 !"#$% &'! ()*+&", /
 $&!)0()!1 &"23*456$1 7&389)
: ); <*454=>)?): ); <*4=@))
: 6AB=CB)D ()E F=)3G3"
H)$"IJKLMN=O)B=CP!Q)
R23 &"S B=C)7$&JKLM&"KLM N TJI, O):
I = S
I
 S*⊕
I
Cơ sở của thm mã vi sai 
đối với DES
Cc phép ton tuyến tính có thể bỏ qua: "<P TA
S-
>H)#&
3G3KLM:()33B+?0() 
Dựa vo sự phân bố không đồng đu của cc cặp vi sai vo – ra của cc hộp S (S
1
, S
2
,
…, S
8
):
Không phải tất cả các cặp có XOR vào - I, đều cho kết quả XOR ra - O giống nhau. 
Số kết quả xuất hiện các XOR ra - O khác nhau có được từ một giá trị XOR vào - I là khác nhau.
Theo dõi các cặp vi sai (I  O) +',"&%"-',!.  thấy được sự nổi bật vai trò 
của khóa thu hẹp không gian tìm khóa.
Cơ sở của thm mã vi sai đối với DES
Độ an ton của DES chủ yếu dựa vo cc hộp S 
(S-Boxes):
Các hộp S là hoàn toàn phi tuyến, tuy nhiên vẫn tồn tại những “lỗ hổng” hay “điểm yếu”: có sự phân bố xác 
suất vi sai không đều.
Hộp S-7 là hộp S an toàn nhất: với bất kỳ giá trị khác nhau đầu vào (6-bit) nào khác 0, 
I
, sẽ không nhiều 
hơn 8 trong số 32 cặp đầu vào với 
I
 cho cùng kết quả giá trị khác nhau đầu ra 
 (tỷ lệ 1/4).
Xác suất cao nhất của toàn bộ cặp bản rõ có cùng giá trị khác nhau đầu vào cho trước sau khi chạy qua n 
vòng của DES mang lại cùng một giá trị khác nhau đầu ra : (1/4)
n
Cơ sở của thm mã vi sai đối với DES
(Quy trnh thm mã vi sai DES)
Tin tính ton, lập cc bảng tham chiếu:U1 &"H3BA$3bảng thống kê 
giá trị khác nhau đầu vào &giá trị khác nhau đầu ra =@))
Giới hạn không gian tm khóa:P!Q)F23*456$1 7&V"ET$38
*WX0BAI)*=?XBI)*:6 
Xc định khóa duy nhất:
Với đầy đủ cặp bản rõ, chúng ta có thể xác định một phần hay toàn bộ các bít khóa.
Đối với các bit khóa khó xác định được  thực hiện vét cạn trong không gian đã giới hạn.
Từ khóa vòng (subkey) cuối cùng  Thực hiện suy diễn các khóa vòng khác.
Cơ sở của thm mã vi sai 
đối với DES
Có thể bỏ qua khóa k trong giai đoạn tính đầu vo cho hộp S
-Y
Z
-#
 ⊕
-:
[
-Y
Z[
-#
 ⊕
-:
I = S
1I
 S*⊕
1I
IZJ
-#
⊕
-:
N J[⊕
-#
 ⊕
-:
NZJS
1E
 S*⊕
1E
N (S⊕
1k
 S⊕
1k
N
I = S
1E
 S*⊕
1E 
S
1E
,S*
1E 
(6 
bit)
S
1I
,S*
1I
 (6 bit)
Khóa S
1k 
(6 bit)
Hộp S-1
(Vào 6 bit, ra 4 bit)
Cơ sở của thm mã vi sai 
đối với DES
Hình 2: Hàm-F của DES
/012!"'.3405
 Có 6 bit vào  có 2
6
 = 64 giá trị đầu vào có 
thể
 Có 4 bit ra  có 2
4
 = 16 giá trị bit ra có thể
 Lập bảng tham chiếu 64 x 16 thống kê số 
lượng các bộ Vi sai tương ứng với cặp XOR 
vào/ra
Cơ sở của thm mã vi sai 
đối với DES
Bảng 1: Phân bổ cặp vi sai Vào – Ra 
(cặp XOR) của hộp S1
Trích “Thám mã vi sai DES” – Alan Silvester, Năm 2004
67"5trình diễn giá trị XOR vào (giá trị khác 
nhau đầu vào)
67"45Trình diễn giá trị XOR ra (giá trị khác 
nhau đầu ra)
  0-8 ). 925 Số lượng “bộ” có thể 
với các XOR vào và XOR ra tương ứng 
 Bình quân, mỗi “bộ” sẽ được trả kết quả từ 4 cặp 
vào/ra.
 Không phải tất cả các “bộ” đều tồn tại và trong số 
các “bộ” tồn tại lại phân bố không đều.
Tấn công thm mã vi sai 
đối với DES 1 vòng
 Tin tính ton (đối với từng hộp S – 6 bit)
4P623&"
-#
Z/\
X
[
-#
Z/]
X
:6 *9$&
-:
Z-'
X
^
S
1I
 = S
1E 
 S⊕
1k
= 08
x 
 1A⊕
x
= 12x
S
*
1I
 = S
*
1E 
 S⊕
1k
= 04
x 
 1A⊕
x
= 1E
x
S
1O
 = S
1
(S
1I
)
= S
1
(12
x
)
= A
x
S
*
1O
 = S
1
(S
*
1I
)
= S
1
(1E
x
)
= 7
x
 Sử dụng hộp S1, ta có:
Bởi vậy, .= S’
1O 
= 
O
⊕
:
O 
;<
+
=>?)!@
Bỏ qua khóa k, tính 
A
;S’
1E
 = S’
1I
 = (
 :⊕
);<+=>?B.@
)!12%"C0=>?B.D>?)!@;=<+D<
+
@
/0!"'512ED12F
/092GH!HIJ512KD12LD12M
N.OP5
;
A
 ⊕
Tấn công thm mã vi sai 
đối với DES 1 vòng
Từ Bảng 1, xét: Q
;Q
A
;<
+
S’
1I
  S’
1O
 <=> 0C
x
  0D
x
  lập Bảng 2, Ta có các cặp đầu 
vào:
(S
1I
, S*
1I
) ∈ {(01x, 0Dx), (12x, 1Ex), 36x, 3Ax)}
R7 23 J
-#
 [
-#
N Z J/\X /]XN  $3 %4) _ 
XB`:6 6Aa
Bảng 2: Các đầu ra có thể với 
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” – 
Alan Silvester, Năm 2004
Bảng 3: Các khóa có thể đối với cặp vi sai 0Cx  0Dx, 
đầu vào (S
1E
, S*
1E
) = (08x, 04x)
Tấn công thm mã vi sai 
đối với DES 1 vòng
Từ Bảng 1, xét: Q
;Q
A
;<
+
S’
1I
  S’
1O
 <=> 0C
x
  0A
x 
 lập Bảng 2, Ta có các 
cặp đầu vào: 
=
A
D:
A
@ R=EE+DE+@D=K<+DK+@DKL+DKS+@TU∈
Chọn cặp (S
1E
, S*
1E
) = (38x, 34x)  lập Bảng 4  xác 
định các “khóa có thể”.
Bảng 2: Các đầu ra có thể với 
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” – 
Alan Silvester, Năm 2004
Bảng 4: Các khóa có thể đối với cặp vi sai 0Cx  0Ax, 
đầu vào (S
1E
, S*
1E
) = (38x, 34x)
Giới hạn vùng 
khóa
Tấn công thm mã vi sai 
đối với DES 1 vòng
Từ Bảng 1, xét: Q
;Q
A
;<
+
S’
1I
  S’
1O
 <=> 10
x
  A
x 
 lập Bảng 5, Ta có các cặp 
đầu vào: 
=
A
D:
A
@ R=<+D+@D=E+DK+@D=EVDKV@TU∈
Chọn cặp (S
1E
, S*
1E
) = (3Bx, 2Bx)  lập Bảng 6  xác 
định các “khóa có thể”.
Bảng 5: Các đầu ra có thể với 
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” – 
Alan Silvester, Năm 2004
Bảng 6: Các khóa có thể đối với cặp vi sai 10x  Ax, đầu 
vào (S
1E
, S*
1E
) = (3Bx, 2Bx)
Xác định khóa 
duy nhất
Lý thuyết v tấn công thm mã vi sai 
đối với DES n vòng
 Sử dụng đủ số lượng lớn cặp bản rõ để tồn tại xác suất vi sai đến vòng thứ n-1.
 Sử dụng giá trị vi sai vòng thứ n-1 như giá trị vi sai đầu vào vòng thứ n, kết hợp với giá trị vi sai 
đầu ra vòng n (có được từ bản mã) để suy dẫn ra khóa vòng thứ n.
 Kết hợp tìm kiếm vét cạn để suy dẫn các bit khóa còn lại khó suy đoán.
 Từ khóa vòng n  suy dẫn các khóa vòng n-1, n-2, , 1 theo các phép biến đổi tuyến tính.
Chương trnh
R=@)b B+?U#
TỔNG KẾT
Ưu điểm của tấn công Thm mã vi sai DES:c3:()) b:6 O) 
b:6 d@b:6 V"3=@)33G
Yêu cầu đối với thm mã vi sai DES 16 vòng: e d 6 <
]f
23 *4 5 =@)
B=@):"4)<\/gg$h6 h1i
Cc hệ mã hóa có thể bị tấn công thm mã vi sai: jLYk#'j&k#'jSlK
Cải tiến thnh công của DES chống lại Thm mã vi sai: '#
TỔNG KẾT
Cải tiến thnh công của DES chống lại Thm mã vi sai: '#
Hình 3: Bản đồ phân bổ 
các cặp XOR của một trong 
các hộp S của DES
Hình 4: Bản đồ phân bổ 
các cặp XOR của một trong 
các hộp S của AES
TÀI LIỆU THAM KHẢO
 Differential Cryptanalysis Data Encryption Standard m '$ 
$VV,<//]
 Differential Cryptanalysis of DES-like Cryptosystems m #
% &' J393]+-, /N
W".N".0!XW.!U
2-XB9Y#N.Z"[