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"[