MỘT SỐ PHưONG PHẤP THAM mã dữ liệ u DES5.1... Hàm f được thể hiện trong hình 5.4 dưối đây:... Kj được tính theo CịDị... Thấm mã vi sai dựa trên yếu tô'là hàm vồng f trong một mả khôi lặ
Trang 1MỘT SỐ PHưONG PHẤP THAM mã dữ liệ u DES
5.1 THÁM MÃ VI SAI ĐỐI VỚI DES VÀ CÁC HỆ MÃ KHỐI LẶP GIỐNG OES
5.1.1 Mô tẳmã
M ột sự mô tả đ ầy đủ v ề D E S đước n êu trong Công báo v ề
c h u ẩ n xử lý th ô n g tin Láên b an g sô' 46 n g à y 15 th á n g 01 năm
1977 D E S mã h oá m ột dòng b it rõ X có độ d à i 64 với khoá K là dòng 56bit, đưa ra b ả n m ã y cũ n g là m ột d ă y bit có độ d ài 64.
Trang 2154 Nhập môn Phân tích thông tin có bào mật
A Thuật toán mã hoá gồm 3 giai đoạn
Trang 3Chương 5: M ột số phương pháp thám mã dữ liệu D E S 155
i-l
R i= L i _ ,© f ( R i_ „ k i)
D ấ u "©" th ể h iệ n phép toán “hoặc lo ạ i trừ” h a i dãy bit, f
là m ột h àm m à c h ú n g ta sẽ để cập đến sa u , kj là n h ữ n g dãy
d à i 4 8 b it được tạo từ khoá k bỏi th u ậ t toán riêng.
3 B ản m ã y được tín h bỏi h oán vỊ IP ’ cù a RieLie, chú ý đảo ngược vỊ trí củ a Lie và Rig.
Đ ầ u vào củ a h à m f là đối s ố A, m ột d â y 32bit, đối sô' th ứ
h a i là J gồm 4 8 b it, v à đầu ra củ a f là m ột d ã y 32bit Các bưốc
sa u đ â y được thực hiện:
1 M ỏ rộ n g A từ 3 2 b it th à n h 48bit: Đ ôl số A được m ỏ rộng th à n h 4 8 b it n h ò toán tử E
Trang 4156 Nhập môn Phân tích thông tin có hào mật
2 T ín h B = E ( A ) 0 J : K ết quả B được tách th à n h 8 khối,
m ỗi khối gồm 6 b it liê n tiếp từ B 1B2 BX cụ th ể là
T heo cá ch này, ta k ý h iệ u Cj = Sj(Bj), (1 ^ ^ 8).
4 Dòng bit c = C,C2C3C4C5C6C7C8 với độ dài 32bit được
đổi chỗ th eo h o á n v ị p K ế t q u ả dăy P(C) ch ín h là f(A,J) Cụ
th ể f(A,J) = P(C).
Hàm f được thể hiện trong hình 5.4 dưối đây:
Trang 5Chương 5: M ột sổ phương pháp thảm mã dừ liệ u D E S 157
Trang 7Chương 5: M ột sổ phương pháp thám mà dừ liệ u D E S 159
Trang 8160 Nhập môn Phân tích thông tin cô bảo một
được bỏ q u a tron g q u á tr ìn h tạo khoá, n h ư v ậ y ta còn lại
5 6 b it đầu vào C ho 5 6 b it n à y h oán vị n h ư th eo bảng PC-1 ta
s ẽ tìm được C q D q với Co là 2 8 b it đầu tiê n của PC -1, Do là
LSị th ể h iệ n p h ép dịch trá i quay vò n g m ột hoặc hai bit,
p h ụ thuộc v à o g iá trị củ a i, dịch m ột bit n ếu i = 1, 2, 9, 16 và dịch h a i b it vổi các g iá trị còn lạ i của i Kj được tính theo CịDị
Trang 9Chương 5: M ột số phương pháp thám mã dữ liệ u D E S 161
Co: 28bit đầu;
Do: 28 bit cuối;
i = 1 2 , 9 16 thi La dịch trải vòng Ibit (bit)
Hình 5.5 Lược đồ tạo hệ thông khóa
é
N h ư vậy ta đã có m ột th u ậ t to á n h o à n c h ỉn h v ề m ã hoá
dữ liệ u th eo tiê u ch u ẩ n D E S.
Trang 10162 Nhập môn Phân tích thông tin có bào mật
Hừih 5.6 Sơ đồ thuật toán mã hóa DES
Trang 115 1 2 G iải m â DES
Tương tự n h ư m ă h oá, đ ể g iả i m ă m ột d ăy ký tự đâ được
m ã hoá ta c ũ n g th ự c h iệ n th e o trìn h tự các bưdc n h ư trên ,
tu y n h iên h ệ th ổ h g k h o á lú c n à y đã được tạo th eo c h iề u ngước lại.
X q ~ ( R 16^ le)
X = IP-*(X o)
Chương 5: M ột số phương pháp thảm mã dừ liệ u D E S 163
Trang 122 Chúhg minh thuật toán
Có bản m ã y
yo = IP(y) = IP(IP-*(R,eL,6)) = R ,e L ,6 = L ’oR’o
V ậ y L ’o = R ,6 ;R ’o = L,e;
X = IP-‘(R\6, L’,6) = IP-’(Ro Lo) = IP-‘(Xo)
T ừ đó ta th ấ y th u ậ t toán g iả i mâ ch ỉ k h á c với th u ậ t toán
m ã h oá ỗ chỗ tạ o h ệ th ố h g khoá N ếu m ã h oá tạo khoá từ
k ],k 2,.~.kj6 th i g iả i m ă tạo h ệ th ố h g khoá từ kje,k,g, ,ki.
Trang 13Chương 5: M ộ i 5Ó phương pháp thám mã dữ liệ u D E S 165
5.1.3 Thám mã vi sai dối với các khôi mã lặp
T h ôn g thư ờng các h ệ m ã kh ôi khóa bí m ật được th iế t k ế
d ự a trên cơ sò lặp m ột h àm tương đối y ếu v ề m ặt m ậ t m ã nào
đó (để có tốc độ cao, th iế t k ế đdn giản ) M ỗi ph ép lặp được
g ọ ỉ là m ột vòng Đ ầ u v à o củ a m ỗi vòng là h àm củ a đầu ra củ a
v ò n g trước và m ột k h ó a con đưỢc th iế t k ế từ k h óa bí m ậ t ban
đ ầ u th eo lược đồ tạo khóa M ột m ã khối khóa bí m ậ t vdi r • • • •
p h ép lặp n h ư t h ế được gọi là m ột m ã lặp r vòng Các h ệ D E S
h a y ID E A đ ều là m à k h ổ ì lặp th eo qu an n iệm trên P h ầ n n ày
ta sẽ xem x é t n g u y ên lý tấ n công vi sa i đôì với m ã lặp có
d ạ n g tổn g q u á t n h ư tr ê n h ìn h 5.7.
Với các k ý h iệu n h ư tron g h ìn h 5.7, ta có Y = f(X, Z) là
m ộ t h àm vòn g sa o ch o với m ỗi k h óa con z, h à m f(., Z) th iế t
lậ p m ột tưdng ứ n g 1-1 giữ a đầu vào X v à đ ầ u ra Y.
Vi sa i AX giữ a h a i b ả n rõ (h ay h a i b ản m à) X v à X* được xác đ ịn h bỏi: Àx = X ® X*-‘
ỏ đây ® k ý h iệ u ỉà phép to á n nhóm đ ă xác đ ịn h n ào đó
tr ê n tập các bản rõ (= tậ p các b ả n m ã), v à x*‘* là n g h ịch đảo
c ủ a các phần tử X* tro n g nhóm đó H àm v ò n g f(X, Z) được gọi
Trang 14là y ếu n ếu cho trước m ột v à i bộ ba (AX, Y, Y*) là có thể xác
đ ịn h được k h óa z T ừ cặp các phép m ã h óa ch ú n g ta có th ể xác đ ịn h được m ột d ãy các vi sa i AY(0), AY(1), , AY(r), ở đây Y(0) = X, v à ¥^(0) = X* là cặp bản rõ, cũ n g v ậy AY(0) = AX, còn Y(i) v à Y*(i) là đ ầ u ra của vòng th ứ i, ch ú n g cũng là đầu
v ào của vòn g th ứ (i+1) Khóa con cho v ò n g th ứ i ký hiệu là
z® T rong các lập lu ậ n sa u n ày ta lu ôn giả thiết X * X*.
Thấm mã vi sai dựa trên yếu tô'là hàm vồng f trong một
mả khôi lặp là một hàm yếu về mật mà Cạ thể nếu cập bản
mẵ được biết và bằng cách nào đó có thể đạt được vi sai của cặp đấu vào tại vòng cuối cùng cùa mã khôĩ lặp đó, thì tốn công vi sai có thể áp dụng dể đạt dược hoặc xác định được khóa hay một phần khóa con tại vòng cuối cùng Trong thám
mã vi sai điều đó dược thực hiện bằng cách chọn cặp bản rỗ (X, X“) có vi sai ìà a sao cho VI sai AY(r-l) của cặp đầu vào tại
vòng cuối cùng sẽ lấy giá trị cạ th ể p với một xác suất cao Vì
có xác suất cao nên các khóa con tại vòng cuổì được giải từ bộ
ba (AY(r-l), Y(r), Yir)) sẽ thường tập trung vào một sô'phần
tử có khả nàng nhất, thám mã sê quyết định để tim ra khóa con đúng tại vồng cuôĩ cùng Từ khóa con của vòng cuôĩ này,
tã có thểxảc định được lại khóa bí mật ban đầu (nếu lược đồ tạo khóa là đơn giản).
Định nghĩa 1: M ột v ỉ s a i i vòn g là m ột cặp (a , P), ỏ đ ây a
là v i sa i củ a m ột cặp b ả n rõ k h ác n h a u X v à x \ v à p là m ột vi
s a i có th ể đôi với k ế t qu ả đầu ra v ò n g th ứ i là Y(i) và Y*(i)
X ác s u ấ t củ a v i s a i i v ò n g (a , P) là xác s u ấ t có đ iều kiện sao
ch o p là v i sa i AY(Ì) củ a cặp bản m ă s a u i v ò n g với điều k iện
166 Nhập môn Phân tich thông tin có bảo mật
Trang 15cho trưốc cặp bản rõ (X, X*) có v i sa i AX = a k h i bản rõ X và
T a ký h iệu xác su ấ t củ a v i sai n ày là P(AY(i) = p IAX = a).
* Thủ tục cơ bản của tân công vi sai đối váf một mã khối lặp
r vòng:
1 T ìm m ột vi sa i (r-1 ) vòng (a, P) sao cho xác suất:
P(A Y (i-l) = P|AX = a ) là cực đại hoặc g ầ n cực đại.
2 L ấy bản rõ X m ột cách n gẫu n h iên đều và tín h toán X*
sa o cho v i sa i AX giữ a X và X* là a T iến h à n h m ã hóa X v à X*
dưới m ột k hóa bí m ậ t cụ th ể cần tìm z (m à đôl phương đ an g
sử dụng) T ừ các b ản m ã k ế t quả Y(r) và Y*(r), tìm m ỗi m ột
g iá trị có th ể cù a k h ó a con của vòng cu ối cù n g tướng ứ ng
vối v i sa i đâ đ ịn h trước A Y (i-l) = p (tức là sử d ụ n g bộ ba
A Y (ì-1) đ ặt b ằ n g p, Y(r), Y*(r) để tín h to á n tìm T hêm 1
v ào bộ đếm số lầ n x u ấ t h iện cùa m ỗi giá trị có th ể có cù a
khóa con
3 Lặp lạ i bước 2 ch o tới k h i m ột hoặc n h iều g iá t i ị củ a
k h óa con là được đ ếm n h iều hơn h ẳ n các giá trị khác L ấy
ra k h óa con đưỢc đếm n h iều n h ấ t hoặc m ột tập nhỏ các k h óa
có sô' đếm lón n h ất S a u đó việc q u yết định khóa đú ng th uộc
v ề ngư òi th ám m ã.
C hú ý rằ n g tron g tấ n công vi sai, tấ t cả các khóa con là
n g ẫ u n h iên , độc lập v à có ph ân b ố đều T u y n h iên trong tín h
to á n xác su ấ t vi sa i, ta luôn giả th iế t bản rõ v à tấ t cả các
k h ó a con là độc lập n g ẫ u n h iên đều D o đó ch ú n g ta cần tạo
m ột g iả th iết sau:
Chương 5: M ột sổ phương pháp thám mã dừ liệu D E S 167
Trang 16* Giả thiết về tính tương đương ngẫu nhiên (Stocbastic Equivalence)
Đ ối với m ột v i sa i (r-1) vòng (a , P), ta có:
P(AY(i-l) = p IAX = a ) « P(AY(i-l) = p IAX = a, z<» = 0)i
2^-^^ - với h ầ u h ế t tập giá trị khóa con (0)i, 0>2, ,
D o có 2™ - 1 giá trị cùa A Y (i-l), n ên ch ú n g ta có th ể rút
ra k ế t lu ậ n sau:
Giả sù giẳ thiết về tính tương đương là đúng, khi đó một
mả lặp r vòng với tập khóa con độc lập sẽ có thể bị tổn
thương đôì với tấn công vi sai nếu và chỉ nếu hàm vòng là
yếu và tồn tại một vi sai (r-1) vòng (a, P), sao cho
P(ÁY(i-l) - ậỊÁX = a) » 2’”', ở đây m là độ dài của khôi mã.
Ký h iệu Comp(r) là độ phức tạp của m ột tấ n công th ám
m ã với m ã ỉặp r vòng, xem như là sô' phép m ã hóa cần sử dụng
trong tấ n công K hi đó ta có th ể ch ứ n g m in h k ết quả sau:
Định lý 1: (C ận dưối v ề độ phức tạp của tấ n công v i sai
đôi với m ột m ã ỉặp r vòng)
G iả sử g iả th iế t v ề tín h tương đưdng n g ẫ u n h iên ỉà đúng,
k h i đó độ phức tạp củ a tấ n công v i s a i sẽ th ỏa m ãn đánh giá:
Trang 17Chứng minh: C hú ý r ằ n g giá trị tín h trước p cùa v i sa i AY(ì-1> ít n h ấ t phải lấ y n h iều hơn m ột lầ n so vói giá trị kh i
ch ọn tr u n g b ìn h n gẫu n h iê n p', n ếu n h ư tấn công v i sa i
th à n h công N h ư vậy, ta có T P „ „ > (T/(2"‘ - 1)) + 1 là đ iều
k iện c ầ n cho sự th à n h công sa u T phép thử, ỏ đây m ỗi phép
th ử gồm phép chọn m ột cặp b ả n rõ có v i sa i a cho trước.
T ừ đó ta có: 2 T (P „ „ - 1/(2'" - 1)) > 2,
m à Comp(r) = 2.T (m ỗi ph ép th ử có 2 ph ép m ã cho cặp bản rõ), nên: Comp(r) = 2.T > 2/(Pmax - - 1)) (đpcm).
5 1 4 Sơ bộ về phương pháp tân công vi sai trên DES
Phư ơng pháp tấ n công v i sa i (DC) trên D E S do B iham và
S h a m ir đề x u ấ t là m ột tro n g n h ữ n g phưdng pháp tấ n công nổi tiế n g n h ấ t đối với h ệ D E S Đ â y là p h ép tấ n công với bản
rõ ch ọn lọc, v à nó đã k h ai th á c tr iệt đ ể đ iểm y ếu của D E S tạ i các hộp nén B ây giò ta sẽ m ô tả ý tư ỏn g cơ bản d ù n g trong
tấ n côn g này.
Trước h ế t ta sẽ bỏ q u a p h ép h o á n vỊ đ ầ u IP v à h o á n v ị ngưỢc c ủ a nó (k h ô n g ả n h h ư ỏ n g tới k ế t quả p h â n tích m ã),
k h i đó có th ể x em LộRo là b ả n rõ v à L „R „ là b ả n m ă D E S
m v ò n g
Phương pháp th á m m ã m ã v i sa i xoay q u an h việc so
sá n h k ết quả củ a ph ép XOR giữ a 2 bản rõ vối k ế t quả củ a
p h ép XOR giữ a 2 bản m ã tư ơng úng Với giả th iế t rằ n g các
b ả n rõ được lấ y ngẫu n h iê n đểu tr ên k h ôn g gian các đầu vào
có th ể, ta qu an sá t p h â n bô' củ a các k ết qu ả phép XOR đầu ra
Chương 5: M ột số phương pháp thảm mã dừ liệ u D ES 169
Trang 18có tu â n th eo ph ân b ố n g ẫ u n h iên đểu hay không N ếu bảng
ph ân b ố là k hông đều, th ì thám m ă sẻ lợi d ụ n g để xây dựng phương pháp tấ n công bản rõ chọn lọc.
Định nghĩa 2: G iả sử Sj là một hộp nén (1 < j < 8) X ét 1 cặp đã sắp xếp củ a các xâ u bit độ dài 6 (ký h iệu là
Ta nói rằ n g XOR vào củ a Sj là Bj 0 Bj và XOR ra của Sj là
N hớ lạ i rằng, đầu vào của các hộp n én ỏ vòng thứ i là
B = E©J, trong đó E = E(Rị.i) là giá trị cù a hàm mồ rộng E tác động vào Rj.i và J = Kj là các bit khóa vò n g th ứ i Khi đó XOR vào của tấ t cả 8 hộp nén có th ể được tín h như sau:
B0 B* = (E0 J )e (E*®J) = E©E*
Đ ến đ ây ta th ấ y m ột điều rất quan trọng là XOR vào
kh ôn g phụ thuộc vào các bit khóa J, n h ư n g XOR ra chắc
170 Nhập môn Phân tích thông tin có bảo mật
Trang 19ch ắ n phụ thuộc vào các bit khóa này, và các XOR vào của các hộp nén sẽ được tín h qua g iá trị củ a h àm m ỏ rộng E đã được
b iết công khai.
B ây giờ ta v iết B, E v à J là m ột d ây liê n tiếp 8 xâu 6 bit:
B = B1B2B3B4B5B6B7B8
E = E,E2E3E4E5E6E7Eg
J=J,J2J3J4J5W7J8
và B*, E' th eo cách tương tự Khi đó nếu b iết các giá trị Ej, E*
và giá trị XOR ra của Sj là C j , th ì chắc ch ắ n rằng:
G iả sử Ej và E* là h a i xâ u vào củ a hộp n én Sj còn XOR
ra của Sj là Cj Khi đó các b it khóa Jj sẽ n ằm trong tập TESTj(EjE’ ,C ')-
Chương 5: M ột số phương pháp thám mã dừ liệ u D E S 171
Trang 20B ây giò ta áp d ụ n g các ý tưỏng trên đ ây để m ô tả phương pháp tấ n công vi sa i trên D E S.
Với DES 3 vòng. Ta có th ể viết:
n é n ỏ vòn g th ứ ba.
Còn R2 = L 3 và R 2 = L*3 cũ n g được b iết (chú ng là m ột
p h ầ n củ a các bản m ã), n ên cố th ể tín h được các dữ ỉỉệu ỉiên
q u an đ ến đầu vào củ a các hộp n én là E = EíLg) và E*= E(L*3).
Trang 21Chú ý:
Trong phương p h á p tấ n công D E S 3 vòng, ta sẽ phải
d ù n g tói m ột s ố bộ ba E, E* v à C' để tìm d u y n h ấ t 48b it khóa
Kg, sau đó tín h 5 6 b it khóa đ ú n g b ằ n g cách v é t cạn 2* k h ả
n ă n g cho 8 b it khóa còn lại.
T rong mô tả tấ n cô n g D E S 3 vòng, ta ch ư a nói n h iều đến
sự ph ân b ố k h ôn g đ ều củ a các XOR ra cù a các hộp nén, m à
ch ỉ chú ý rằ n g để th ự c h iện được k iểu tấ n công n à y ta luôn
ph ải tìm ra được m ột sô" bộ ba E, E* và C ' ở đây E, E* xác
đ ịn h XOR đ ầ u vào còn C' là XOR đ ầu ra tạ i vòn g cuối cù n g
củ a h ệ D E S Đ iề u c h ú ý n à y sẽ làm cho ta h iểu rõ trong tấ n công D E S n h iề u vòng.
Trang 22T ừ đ ịnh n g h ĩa tr ê n đây, nếu ta có th ể x â y d ự n g được các
đ ặc trư n g n v ò n g với x á c s u ấ t đủ lớn th ì k h i đó v iệc tìm được các cặp đ ú n g c ù n g vói các cặp XOR vào và XOR ra tư ơng ứng
ở v ò n g cuối c ù n g (vòn g th ứ n) sẽ có n h iều k h ả n ă n g hơn, và
do đó có th ể sử d ụ n g các dữ liệu tạ i vòn g CUÔI c ù n g n à y để tìm lạ i được các b it k h ó a K„ tương tự n h ư tấ n côn g D E S 3
v ò n g n h ư đă n ói ỏ trên.
N ếu các hộp n é n có p h â n b ố đều đôi với XOR v ào v à XOR
ra tư ơ ng ứ ng, th ì các đặc trư n g trên sẽ k h ô n g có tác dụng
là m giảm p h ép tim k iế m k h óa so vói phương ph áp v é t cạn
N h ư n g do các nhược đ iểm cụ th ể của từ n g hộp s , n ên ngưòi
Trang 23Chương; 5: M ột số phương pháp thám mã dừ liệ u D E S 175
L'o = 04000000,6 Rỏ
Sổ vòng 8
10
12
14 16
Sổ bản rỗ chọn
|14
»24
|31 39
5.2 THÁM MÃ TUYẾN TÍNH ĐỐI VỚI HỆ DES
5 2 1 Nguyên lý chung của phương pháp thám mã
tuyến tính đốỉ với h ệ DES
N h ư ta đã b iết ỏ trên , h ệ D E S đã cô n g k h a i to à n bộ các
p h ép b iế n đổi tron g nó, tro n g đó ch ỉ có cá c hộp n é n m di là các
p h ép b iến đổi phỉ tu y ế n C ác bí m ậ t còn lạ i d u y n h ấ t k h ỉ sử
d ụ n g D E S đó là k h ó a K được sử d ụ n g cụ th ể N ế u tấ t cả các
p h ép b iến đổi của D E S đ ều là tu y ế n tín h , th ì v ó i ẩ n sô" là
k h ó a K cho trưốc cô' địn h , b ằ n g côn g cụ m ô p h ỏ n g tr ê n m á y tín h v à sử d ụ n g các cặp b ả n rõ - m ã tư ơ n g ứ ng, c h ú n g ta có
th ể t h iế t lập được h ệ th ổ h g p h ư ơn g tr ìn h tu y ế n tín h đ ể tìm
Trang 24lạ i được các bit khóa K trong thòi gian đa thức Tuy nhiên, các hộp n én (th à n h p h ần quan trọng n h ấ t của hệ D E S) là các
ph ép b iến đổi phi tu y ế n được chọn lựa cẩn th ận , nên muốn
th á m m ã D E S th ì p h ả i tấ n công vào ch ín h th à n h trì này
M ục đích của phương pháp thám mã tu y ến tín h trên D ES là tìm m ột b iểu d iễn xấp xĩ tu y ến tín h cho hệ n à y để có th ể phá
ch ú n g n h a n h hơn phưởng pháp tấ n công v é t cạn Và tấ t
n h iên , n h ữ n g nhược điểm củ a các hộp n én sẽ lạ i được tiếp tục
k h a i th á c cho m ục đích này.
Trưốc h ế t ta quy ước lại các y ếu t ố liê n quan đến sơ đồ
th u ậ t to á n m ã D E S Đ ầ u tiên , cũ n g giốh g như trong phần
th á m m ã v i sa i đối với D E S, ta có th ể bỏ qua các hoán vỊ đầu
IP và h o á n vị cuôl IP** Và trong su ố t p h ần này, ta quy ưóc
b it tậ n cù n g bên ph ải lu ôn được xem là bit thứ không (0).
Các ký h iệu được sử dụ ng trong mô h ìn h (xem hình 5.8):
- Ct,: 32bit bên phải của c
176 Nhập môn Phân tích thông tin có bào mật
Trang 25Chương 5: M ột số phương pháp thám mã dừ liệ u D E S 177
- Kj: K hóa con 4 8 b it được sử d ụ n g tạ i vò n g th ứ i
- A[i]: B it th ứ i củ a A
- A[i, k]: là tổn g A[i]©Aịj] © © A [k]
Hình 5.8 Mô hình DES với quy ước mới
M ục đ ích củ a phương pháp th á m m ã tu y ến tín h với h ệ
D E S là tìm các b iểu d iễn tu y ếh tín h h iệu q u ả có d ạ n g sau:
P[ii,Ì2, -, ia] ® C U i,j2v-Jb] = K[ki, 1C2, , kc] (5.1)
Trang 26T ro n g đó i„ ig, , i„ jj, jb và k „ kg, , k , là ký h iệ u các vị
t r í b it c ố đ ịn h , v à p h ư ơ n g trìn h (5.1) đ ú n g với xác su ấ t
p # 1/2 với g iả t h iế t b ả n rõ p được lấ y n g ẫ u n h iê n còn c là
b ả n m ã tư ơ n g ứ n g v ố i k h ó a K cô" đ ịn h ch o trưóc n à o đó G iá
tr ị tu y ệ t đôi I p - 1/21 được x em n h ư độ h iệ u quả củ a phương
tr ìn h (5 1 ).
N ế u ta có th ể th à n h côn g trong v iệc tìm m ột biểu d iền
tu y ế n tín h h iệ u quả, th ì k h i đó có t h ể sử d ụ n g nó đ ể tìm ra được b it d ạ n g k h óa q u a n trọn g K [kj,k2, ,knl th eo th u ậ t to á n
s a u d ự a tr ê n ph ư ơn g p h áp hớp lý cực đại.
Hỉuật toán 1
Bưâc 1: G ọi T là sô' các bản rõ sa o cho v ế trái của phương
tr ìíih (5.1) là b ằ n g k h ôn g K ý h iệu N là s ố các bản rõ được
th ự c h iệ n tro n g tấ n công.
Bước 2: N ế u T > N /2 th ì lấ y K [k„ k ị, , k,] = 0 (khi p > 1/2) hoặc b ằ n g 1 (k h i p < 1Ỉ2). Ngược lại, lấ y K[kj, kg kj] = 1 (khi
p > 1/2) hoặc b ằ n g 0 (k h i p < 1/2).
R õ r à n g ỉà k h ả n â n g th à n h cô n g c ủ a th u ậ t toán s ẽ tă n g
k h i N tả n g h o ặ c b iê n độ I p - 1 /2 1 tă n g lên C húng ta gọi
b iể u d iễ n tu y ế n tín h có b iê n độ 1 p 1 / 2 1 cực đ ại là b iểu d iền
tố t n h ấ t.
T h u ậ t to á n 1 tr ê n đ â y v ể n g u y ên tắ c có th ể áp vào b ế t kỳ
h ệ m ã k h ô i nào T u y n h iê n k h i sử d ụ n g nó đ ể tấ n côn g h ệ
D E S , ch ứ n g t a có th ể th ự c h iệ n như sau:
Trang 27Đ ể tấ n côn g D E S n vòng, c h ú n g ta sử d ụ n g các b iểu d iễn
tu y ế n tín h tốt n h ấ t đôi với D E S (n -1 ) vòn g B ản m ã sa u v ò n g
th ứ (n -1 ) có th ể th iế t lậ p từ b ả n m ã tạ i v ò n g th ứ n, b ằ n g cách
th ự c h iện ph ép g iả i m ã vối k h ó a con K„ c ủ a vò n g th ứ n N h ư
v ậ y ta ch ấ p n h ậ n m ột s ố h ạ n g có h à m v ò n g F tro n g b iểu d iễn
N h ư vậy, tron g phư ơng tr ìn h (5.2) ta th ấ y số lư ợng các
b it k h ó a th a m gia n h iề u hơn so v ỗ i ph ư ơn g trìn h (5.1) T rong
đó v iệ c tìm m ột s ố b it k h ó a tro n g K„ c h ín h xác có th ể được
th ự c h iện dễ d à n g hơn n h ò n h ậ n x é t sa u đây:
N ế u k h óa K„ tro n g (5.2) là k h ô n g c h ín h xác th ì độ h iệ u
q u ả c ù a phương trìn h (5.1) sẽ g iả m đi rõ rệt, tứ c là nó s ẽ làm
Trang 28Bước 2: G iả sử là giá trị cực đại v à là giá trị cực tiểu củ a tấ t cả các g iá trị Tị.
- N ếu I T^ax ~ N /2 I > I T„j„ - N /2 1 , th ì ta chấp nh ận khóa
ứ ng cử v iên tướng ứ n g với và lấ y K[kj, kg, , k j = 0 (khi
p > 1/2) hoặc b ằ n g 1 (k h i p < 1/2).
- N ếu I - N/21 < I T„i„ - N /2 1 , th ì ta chấp nh ận khóa
ứ n g cử v iên tương ứ n g vỏi T„i„ và lấ y K[kj, ka, , k j = 0 (khi
p > 1/2) hoặc b ằn g 1 (khi p < 1/2)
5 2 2 Xấp xỉ tuyến tính các hộp nén
T ron g p h ầ n n à y c h ú n g ta sẽ n ê u p h ư đ n g pháp x ấ p x ỉ
tu y ế n tín h các h ộp n é n c ủ a D E S là m cơ sồ cho việc x ấ p xỉ
tu y ế n tín h ch o cả h ệ D E S được sử d ụ n g tro n g tấ n cô n g
ta có:
NS.(a,P) = #(x: 0 s X < 64,(eỉ.„(x(s].a[sl))
ỏ đẫy k ý h iệu • là p h ép n h â n logỉc A N D giữa từ n g bit tương
ứ n g của h a i véctơ.
Chú ý: Từ đ ịnh n g h ĩa trên có th ể th ấ y rằng, khi N S ,(a , Ị3)
k h ôn g b ằ n g 32, th i s ẽ có m ột sự tưdng q u a n nào đó giữa đầu
Trang 29v à o và đầu ra củ a hộp n én Sa- C hăng h ạ n , từ việc k h ảo sá t trực tiếp hộp S 5 ta có:
Đ iều đó có n gh ĩa là bit vào th ứ 4 của S5 là trù n g với giá trị XOR của tấ t cả các bit đầu ra của S 5 với xác su ấ t 12/64 « 0,19
N ói cách khác, ch ú n g ta sẽ có xác su ấ t để có biểu thức tu y ến tính:
(a, X) © (p, Y) = 0 hoặc (a, X) e (p, Y) = 1
sẽ tương ứ n g b ằ n g (NSa/64) hoặc b ằn g [l-(N S a /6 4 ], tron g đó Y
là ả n h của X q u a ph ép b iến đổi Sg.
N h ư vậy, n ếu giá trị của N Sg(a, P) cà n g x a giá trị 1/2 th ì
k h ả n ă n g n h ậ n đưỢc các tưđng qu an tu y ến tín h thự c sự giữ a
đ ầ u vào và đ ầ u ra qua hộp n én Sa cà n g có ý n g h ĩa hđn đôi với
th á m mã.
B ây giò, că n cứ v ào (5.4) và tín h đến các phép m ồ rộng E
v à hoán vị p tron g h à m vòn g F ta sẽ n h ậ n được phương trìn h
tu y ế n tín h sa u đ ú n g với xác su ấ t 0 ,1 9 k h i k h óa K cô" đ ịn h và
Trang 30h iệu quả n h ấ t đối với tấ t cả các hộp s, và do đó phương trình (5.5) sẽ là m ột xấp xỉ tố t n h ấ t của hàm vòng.
Các tác giả cũ n g đã liệ t kê 5 xấp xỉ tu y ến tín h tố t n h ấ t đôi với các hộp n én củ a D E S nh ư sau:
A: X[15] e F(X, K)[7, 1 8 ,2 4 ,2 9 ] = K[22], p = 12/64; B: X [2 7 ,28, 3 0 ,3 1 ] ® F(X, K)[15] = K [4 2 ,4 3 ,4 5 ,4 6 ], p = 22/64;
E: X [ 1 2 ,16] e F(X, K ) [ 7 ,18,24] = K [1 9 ,23], p = 15/64 Các xấp xỉ tu y ế n tín h trên đ ây sẽ được sử dụng đ ể tấ n công D E S tron g từ n g trưòng hỢp cụ th ể, ỏ đây chúng tôi chỉ
n êu m ột sô' v í dụ m in h h ọa cho k iểu tấ n công này.
5;2.3 Xấp xỉ tuyến tính hệ mẫ DES
T rong p h ầ n n à y ta sẽ mỏ rộng xấp xỉ tu y ến tín h của hàm vòng th à n h xấp x ỉ tu y ến tín h cho ch ín h hệ mã D ES.
+ Đôì với DES 3 vòng
Trưóc h ế t b ằ n g cách áp phương trình (5.5) vào vòng đầu tiê n , ch ú n g ta s ẽ n h ậ n được phương trìn h 5.6 đú ng với xác
su ấ t 12/64:
X2(7, 1 8 ,2 4 ,2 9 1 ® Ph[7, 1 8 ,2 4 ,2 9 ] ® P l(ỉ5 ] = Kj[22] (5.6)
T a cũ n g n h ậ n được k ế t quả n h ư v ậ y khi thực h iện phép
giải mă đôi với bản mã c thông qua khóa K3, tức là ta có
phương trìn h 5 7 đ ú n g vởi xác su ấ t 12/64:
X2(7 1 8 ,2 4 ,2 9 ] e Ch[7, 1 8 ,2 4 ,2 9 ] e Cl[15] = K3Í22] (5.7)
182 Nhập môn Phân lích thông tin có hào mật
Trang 31K ết hdp (5.6), (5.7) ta sẽ n h ậ n đưỢc m ột b iểu d iễn xấp xỉ
tu y ế n tín h cho h ệ m ã D E S 3 vòn g nh ư sau:
p„[7,1 8,24,29]0Ch(7, 1 8,24,29]®Pl[ 1 5]®Cl[ 15]
Xác su ấ t đ ể có phường trìn h (5.8) có th ể được tín h như
sa u , với g iả th iế t p là bản rõ n g ẫ u n h iên còn c là bản m ã
tư ơ ng ứ n g vói m ột khóa K cố định.
Trưóc h ết ta th ấ y (5.6) có th ể được p h á t biểu tương
đư ơng vói:
X2[7,18,24,29]®PH[7,18,24,29]e P L [15]0 K |[22 ] = 0, p=12/64
Chương 5: M ột sổ phương pháp thám mã dừ liệ u D E S 183
v à
X2Í7,1 8 ,2 4 ,2 9 ]0 P h [7, 1 8,24,29]0Pl[ 1 5 ]0 K , [22]= 1, p= 1 -12/64 Tương tự vỏi (5.7) ta có:
Trang 32184 Nhập môn Phân tích thông lin cỏ bào mật
Áp d ụ n g th u ậ t to á n 1 vào phương trìn h (5.8) ta có th ể tìm được b it k h ó a K i[22] © K3[2 2 ].
Hình 5.9 Sơ đồ xấp xì tuyến tính hệ mã DES 3 vòng
+ Đôĩ với DES 5 vòng
Đ ôi với h ệ m ã D E S 5 vòng, trước h ế t ta áp d ụ n g phưdng trìn h (5.5) v ào các v ò n g th ứ h ai và th ứ tư, còn các vòng th ứ
n h ấ t và th ứ n ă m s ẽ sử d ụ n g biểu diễn tu y ế n tính sau:
B: X [ 2 7 ,28, 30 31]®F(X,K)[15]
Trang 33Chương 5: M ột sổ phương pháp thảm mã dữ liệ u D E S 185
x u ấ t p h á t từ h ệ thứ c N S ,(2 7 , 4) = 22.
p = 22/64
Hình 5.10 Sơ đồ xấp xỉ tuyến tính hệ mã DES 5 vồng
Trang 34Cách áp d ụ n g các biểu thức tu y ến tín h A hay B trên đây
cũ n g giống n h ư tron g trưòng hợp D E S 3 vòng Tức lẳ đôl với các vòng th ứ n h ấ t và thứ h ai ta coi X là bản rõ p, còn đối với vòng thứ n ăm v à th ứ tư ta coi X là bản m ã c và thực h ệ n phép giải mã ngược trỏ lại tới vòng thứ ba nhò sử dụng cac khóa K5
và K4 Khi đó phôi hđp các k ết quả lại ta sẽ thu đưỢc biểu diền xấp xỉ tu y ến tín h tô t n h ấ t cho h ệ D E S 5 vòng như saa:
186 Nhập môn Phân tich thông tin cỏ bảo mật
B ổ đ ề tr ê n có th ể được ch ứ n g m in h b ằn g quy ntp và được gọi là bổ đ ề P ilin g -u p
Áp dụng bổ đề ta thấy phưđng trình (5.11) đúig vối xác suất: 1/2 + 2^(-10/64)^(-20/64)2 = 0,519
B ằng cách thức đ ã n êu các tác giả đã liệt kê n các b iểu
d iễn xấp x ỉ tu y ế n tín h tôlt n h ấ t đối vối h ệ D E S tới 2) vòng Ví
dụ biểu diễn tu y ế n tín h tố t n h ấ t cho D E S 8 vòng có (ạng sau:
Trang 35Sử dạng thuật toán 1: Á p vào p h ư ơ n g trìn h (5.12) ta sẽ
th u đưỢc h ệ th ố h g phư ơng tr ìn h đ ể tìm ra tổ n g củ a lObit
k h óa K ,[19], K ,[23], K,[22ị KẬ441 K,[22], K7Í 2 ], K8[42], Kg[43], K8Í45], K8[46] V à th eo [10], đ ể là m được đ iều đó ta
p h ả i sử d ụ n g cỡ 1,22'^.2^^ « 2^* b ả n rõ đã b iế t mới có th ể th iết lập được h ệ th ố h g phư dng trìn h cầ n th iế t T u y n h iê n để tă n g
Chương 5: M ột số phương pháp thám mã dữ liệ u D E S 187
Trang 36h iệ u q u ả tấ n cô n g tu y ế n tín h ta sẽ th iết lập các điều k iện để
sử d ụ n g th u ậ t to á n 2.
Sử dụng thuật toàn 2: Đ ể tấ n công D E S 8 vòng, ta sẽ sử
d ụ n g b iểu d iễn tu y ế n tín h tố t n h ấ t đôl với D E S 7 vòng, còn
v ò n g th ứ tám d ù n g đ ể g iả i m ã b ản m ã c d ù n g khóa Kg Khi
đó ta sẽ th u được b iểu d iễn tu y ến tính tốt n h ấ t đôl với D E S
K i[23], K3Ĩ2 2 Ĩ, KẶ44], K , l 2 2 l K Í221 b ằ n g việc sử dụng
k h o ả n g 2 “ b ả n rõ đ ã b iết.
* Vớí DES 16 vòng
T ương tự n h ư ph ư ơn g ph áp tấ n công D E S 8 vòng, đ ể tấ n
cô n g D E S 16 v ò n g ta s ẽ sử d ụ n g biểu d iễn tu y ến tín h tốt
n h ấ t đôi với D E S 15 v ò n g , còn v ò n g thứ 16 d ù n g để g iả i m à
188 Nhập môn Phăn lích thông í in cỏ hảo mật
Trang 37bản tnã c d ù n g k h óa K,6- K hi đó ta th u được b iểu d iễ n tu y ế n
tính tốt nhất đôi với DES 16 vòng có dạng sau:
được 6bit khóa tại vòng đầu tiên và bit khóa tổng tương ứng
N h ư v ậy, với D E S 16 v ò n g ta có th ể d ù n g tấ n cô n g tu y ế n tín h
đ ể tìm được 14b it k h ó a tron g số 5 6 b it C ác b it k h ó a còn lạ i sẽ
b ằ n g cách biểu d iễn các hộp s n h ư là các đ a th ứ c B o o ỉea n th ì
dễ dàng có thể thiết ỉập các quan hệ đại sô' nào đó giữa các
b it đầu ra và đ ầ u v ào củ a các hộp s C h ú n g ta c ũ n g b iế t r ằ n g
bậc của các đa thức này có bậc nhỏ hớn hay bằng 6 Do đó
Chương 5: Một số phương pháp thám mã dừ liệ u D E S 189
Trang 38m ộ t cá ch tự n h iê n b ài to á n sa u đ ây có th ể được đ ặ t r a B ậ c
n h ỏ n h ấ t tro n g các q u a n h ệ đại s ố củ a các hộp s là b ao n h iêu
v à q u a n h ệ đ ại s ố n à o có bậc nhỏ nh ất? Có th ể th ấ y rằn g lu ô n
tồ n tạ i m ột q u a n h ệ bậc 3 trong tấ t cả các hộp s Bỏi v ậ / c â u
h ỏ i tr ên được v iế t lạ i n h ư sau: L iệu có tồn tạ i q u a n h ệ bậiC 2
h a y kh ông? tro n g [18] các tá c g iả cho th ấ y có 7 q u an h ệ Dậc 2
c ủ a con sô' 2'*® đòi hỏi bồi tấ n côn g củ a M atsu i.
5.3.1 Thiết lập các quan hệ bậc hai cửa hộp s
V ề n g u y ê n tắ c th ô n g qu a b ả n g giá trị của các h ộp s
c h ú n g ta có th ể th iế t lậ p được tấ t cả các qu an h ệ đại sô'
B o o ỉea n g iữ a đ ầu và o v à đ ầ u ra củ a ch ú n g C h ẩn g hạn, v ố i
h ộp Sj, g iá trị đ ầ u ra là 13 (= (1,0,0,1)) tương ứ n g vói giá trị
đ ầ u v à o là 4 (= (0 ,0 ,0 ,1 ,0 ,0 )) sẽ cho m ột q u an h ệ đ ại s ố giiữa
các biến Booỉean vào Xi, Xg, , Xg và các biến Boolean ra yj, Ya,
(xi + 1)(X2 + 1)(X3 + IXX4 + 0)(X5 + 1)(X6 + 1)
((yi + 0)(y2 + 0)(y3 + l)(y4 + 0) + 1) = 0
N h ư v ậ y m ỗi hộp s ta có 64 qu an h ệ đại sô' D ùng kỹ
th u ậ t h ệ cơ sỏ G n obner, các tá c g iả tron g [181 đã th u được c á c
k ế t q u ả sau:
190 Nhập môn Phân tích thông tin có bào một
Trang 39là xấp xỉ tuyến tính tốt nhất của hộp S 5 với độ lệch 5/16 đã
được tìm ra bỏi M a tsu i tron g tấ n cô n g tu y ế n tín h là:
yi+y2 + y3 + y4 + x2 = 0 ( 5 18 )
Mục 5.3.2 sẽ giới th iệu cách thức vận dụng quan h ệ phi
tu yến (5.17) đ ể cải tiến tấh công tu yến tính vói D E S đù 16 vòng.
5 3 2 Áp dụng vào thám mã phi tuyến
v ỏ i các k ý h iệu đ ă qu y ưdc tro n g p h ầ n th á m m ă tu y ế n tín h của M a tsu i, từ q u a n h ệ đ ại s ố (5 1 8 ) ta có th ể m ỏ rộng
Trang 40ỏ đầy € GF(2)^^ là đ ầ u vào của vòng th ứ i và 6 GF{2)'‘®
là khóa vòng thứ i của h àm vòng Fj.
N h ư trên đã nói, trong quan hệ bậc hai (5.19), ta có thể
tìm th ấ y xấp xỉ tu y ến tín h tốt n h ấ t (A) cho h àm vòn g thứ i là
Fj với độ lệch tu y ệt đôi là 5/16 trong tấn côn g củ a M atsui:
(A) Fi(3, 8, 15,24] + Xi[ 17] + Kị[26] = 0 (5.20)
M a tsu i cũ n g đã th iế t k ế xấp xỉ tu yến tín h sa u đây đốì vói