Tiểu luận môn học MẬT MÃ VÀ AN TOÀN DỮ LIỆU TRÌNH BÀY VỀ PHƯƠNG PHÁP THÁM MÃ VI SAI

16 897 7
Tiểu luận môn học MẬT MÃ VÀ AN TOÀN DỮ LIỆU TRÌNH BÀY VỀ PHƯƠNG PHÁP THÁM MÃ VI SAI

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRÌNH BÀY VỀ PHƯƠNG PHÁP THÁM MÃ VI SAI Thám mã vi sai (Differential Cryptanalysis) thường là dạng tấn công dựa trên bản rõ được lựa chọn. Có nghĩa, người tấn công phải thu được các bản mã đã được mã hóa từtập các bản rõ được lựa chọn đó. Từ đó, phân tích sựkhác nhau giữa hai bản rõ ảnh hưởng nhưthếnào đến sựkhác nhau giữa hai bản mã tương ứng.

Vũ c M nh - K19 HTTT - Mã HV: 12025057 M CL C N i dung Trang I T ng quan v thám mã vi sai: Khái ni m 2 L ch s Quy trình thám mã vi sai II Chu n mã hóa d li u (Data Encryption Standard - DES) 4 c i m, mơ hình ho t ng c a DES a) Mơ hình b n b) C u trúc Hàm F c) Xác nh khóa chính, khóa vịng (subkey) an tồn c a DES IV Cơ s khoa h c c a thám mã vi sai i v i DES Phân tích i m y u c a hàm F (các h p S) Có th b qua khóa k giai o n tính u vào cho h p S D a bư c th c hi n dị tìm khóa b n V Ví d v t n công thám mã vi sai i v i DES m t vịng Ti n tính tốn Dị tìm khóa 10 V K t lu n hư ng phát tri n ti p theo 13 Tài li u tham kh o 16 Vũ c M nh - K19 HTTT - Mã HV: 12025057 I T ng quan v thám mã vi sai 1.Khái ni m Thám mã vi sai (Differential Cryptanalysis) thư ng d ng t n công d a b n rõ c l a ch n Có nghĩa, ngư i t n công ph i thu c b n mã ã c mã hóa t t p b n rõ c l a ch n ó T ó, phân tích s khác gi a hai b n rõ nh hư ng th n s khác gi a hai b n mã tương ng Hay nói cách khác, phương pháp b n c a thám mã vi sai s d ng c p b n mã, b n rõ có liên quan d a vào giá tr khác (difference) h ng s Giá tr khác có th c nh nghĩa thơng qua nhi u cách, phép ⊕ toán c ng lo i tr (⊕ - XOR) thư ng c s d ng L ch s Vào năm 1972, Văn phòng Tiêu chu n qu c gia - NSA (nay Vi n Tiêu chu n K thu t – M ) ã kêu g i cá nhân, c ng ng qu c t nghiên c u, xu t m t chu n m t mã m i Cho n vòng t l n th hai vào năm 1974, IBM ã công b m t h m t mã d a h m t mã h ã nghiên c u trư c ó - h m t mã Lucifer H m t mã c g i t i NSA phân tích, ng th i gây s ý l n c ng ng m t mã Cu i cùng, h m t mã c NSA t công b v i hai s thay i: dài khóa c làm ng n, h p S (S-boxes) c thay i Trong nhi u năm sau ó, nhi u ngư i tin r ng NSA ã làm ng n dài khóa h có th th c hi n tìm ki m vét c n khơng gian khóa M t s ý ki n khác cho r ng, NSA ã có ch tâm thay i h p S làm chúng “y u” h có th th c hi n t n công thám mã phân l p M c dù NSA IBM ã c g ng ch ng minh r ng v i dài khóa h ưa v n m b o an toàn, h l i khơng nói nhi u v h p S Cho n năm 1990 nh ng n i, nghi ngh v nh ng h p S “y u” m i c làm rõ Trong năm ó, Eli Biham Adi Shamir công b báo v k thu t thám mã m i: “Thám mã vi sai” T ó, NSA ã thay i h p S tăng cư ng s c m nh DES ch ng l i ki u t n công m i Vũ c M nh - K19 HTTT - Mã HV: 12025057 Quy trình thám mã vi sai Khi có c khác c a c p b n rõ c n thi t, ngư i t n cơng th c hi n tính tốn giá tr khác gi a c p b n mã tương ng nh m khám phá c m u th ng kê quy lu t s phân b c a chúng C p k t qu giá tr khác (vào - ra) c g i vi sai (differential) Các m u th ng kê có c t s phân tích ph thu c vào c tính t nhiên c a h p S Ngư i t n cơng phân tích vi sai ( X, Y) c a m i h p S, ó: X = X1 ⊕ X2 Y = Y1 ⊕ Y2 = S(X1) ⊕ S(X2) = S(X1) ⊕ S(X1 ⊕ X) (⊕ phép c ng lo i tr XOR) ⊕ D ng ph c h i khóa b n nh t thơng qua thám mã vi sai ó là, m t ngư i t n công nh m t c b n mã t m t s lư ng l n c p b n rõ Khi ó, gi s vi sai c trì t i thi u r-1 vịng, ó r t ng s lư ng vịng Ngư i t n cơng s suy d n khóa vịng (khóa ph - subkey) khóa có th v i gi nh s khác (difference) gi a kh i trư c vòng cu i (vịng r) c nh N u khóa vịng ng n, có th c ph c h i b i th c hi n gi i mã vét c n c p b n mã m t vịng v i t ng khóa có th Khi m t khóa c xem khóa nh “ti m năng” c n c ý so v i b t kỳ khóa khác, c gi khóa úng th c hi n công vi c ti p theo N u trình ph c h i khóa ch xác nh c m t s bít khóa, s bít cịn l i không nhi u vư t kh c a phương pháp thám mã vi sai ho c kh c a ngư i thám mã, nh ng bít cịn l i c a khóa s c xác nh b ng cách vét c n không gian ã c gi i h n i v i b t kỳ h mã hóa nào, vi c thám mã thành cơng giá tr khác u vào c n ph i c l a ch n c n th n ng th i, vi c phân tích bên c a thu t tốn r t quan tr ng ph i c th c hi n ng th i Phương pháp chu n theo dõi m t “ ng d n” vi sai v i xác su t xu t hi n cao thông qua giai o n c a vi c mã hóa, c g i c tính vi sai Vũ c M nh - K19 HTTT - Mã HV: 12025057 II Chu n mã hóa d li u (Data Encryption Standard – DES) c i m, mơ hình ho t ng c a DES a) Mơ hình b n DES h m t mã kh i 64 bit, v i 64 bit vào b n rõ t o 64 bit b n mã thông qua m t chu i phép hoán v hàm Feistel (hàm F): 64 bit u vào trư c h t c hoán v IP chia thành n a 32 bit Trong m i vòng c a DES, m t n a c gi nguyên n a l i c ch y qua hàm F u c a hàm F ti p t c c XOR v i n a l i Hai n a c hoán v cho nhau, b t u l p l i vòng ti p theo Hình 1: C u trúc ho t ng c a DES Vũ c M nh - K19 HTTT - Mã HV: 12025057 b) C u trúc Hàm F: Trong hàm F, 32 bit u vào c m r ng thành 48 bit b i hàm m r ng E 48 bit sau ó c XOR v i m t khóa c d n xu t t khóa c a DES K t qu 48 bit sau XOR v i khóa c ch y qua h p S (S-Boxes) làm gi m 48 bit xu ng 32 bit Cu i cùng, 32 bit c chuy n qua hàm hoán v P C u trúc c a hàm F c th hi n qua hình sau: Hình 2: Hàm-F c a DES c) Xác nh khóa chính, khóa vịng (subkey) Khóa K xâu dài 64 bít, ó 56 bít khóa bit ki m tra tính ch n l v trí 8, 16, 24, , 64 V i khóa K 64 bít, vi c tính khóa ph ki (i = 1, 2, 3, ,16) th c hi n sau: Lo i b bit ki m tra tính ch n, l , hốn v 56 bít cịn l i theo phép hoán v PC1 K t qu thu c chia thành n a 28 bít Vũ c M nh - K19 HTTT - Mã HV: 12025057 Th c hi n d ch vòng trái i v i t ng n a 28 bit (d ch vòng trái v trí n u i = 1, 2, 9, 16, d ch v trí i v i nh ng giá tr i khác) Các giá tr c a hai n a sau th c hi n phép d ch vịng trái c l p sau ó c k t h p l i ti p t c tính theo phép hốn v PC-2 t o khóa vịng ki 48 bit an tồn c a DES an tồn c a DES có c nh t t h p S, b i vì, h p S hồn tồn phi n Ngoài ra, toàn b bư c khác DES phép tốn n tính: hốn v hai n a, hốn v bít, phép m r ng, phép XOR Và n u h p S n tính DES s d dàng b phá v Như ã gi i thi u trên, b n thám mã vi sai d a vào theo dõi s th ng kê xác su t xu t hi n vi sai vào – c a m i giai o n mã hóa Và ây, ch phân tích th ng kê i v i giai o n qua h p S Theo k t qu nghiên c u, th c nghi m cho th y h p S khơng ph i an tồn tồn t i có nh ng “l h ng” nh t nh Trong ó, h p S1 h p S5 c coi “y u” nh t, h p S7 c coi an toàn nh t an toàn c a H p S-7: v i b t kỳ giá tr khác u vào bít ( I) khác khơng cho trư c, s không nhi u s 32 c p u vào v i I cho k t qu giá tr khác u O Hay nói cách khác, cho t l xác su t vi sai ≤ 1/4 B i v y, xác su t cao nh t (c n trên) c a toàn b c p b n rõ có giá tr khác u vào cho trư c ( I) sau ch y qua n vòng c a DES mang l i m t giá tr khác u - O (1/4)n III Cơ s khoa h c c a thám mã vi sai i v i DES Phân tích i m y u c a hàm F (các h p S): Như ã phân tích v an toàn c a DES, thám mã vi sai phương pháp t n công ch y u vào h p S, t S1 n S8 Căn c vào s phân tích c i m, an tồn c a DES, phân tích t n cơng vi sai, có th b qua phép bi n i n tính g m hốn v P, phép m r ng E mà t p trung vào hàm F, h p S “ i m y u” c a chúng Vũ Có th b qua khóa k giai o n tính c M nh - K19 HTTT - Mã HV: 12025057 u vào cho h p S Chúng ta có th y c khóa k khơng óng vai trị q trình tính tốn vi sai qua phương trình sau ây: (m1 ⊕ k) ⊕ (m2 ⊕ k) = m1 ⊕ k ⊕ m2 ⊕ k = m1 ⊕ m2 ⊕ k ⊕ k = m1 ⊕ m2 = I D a bư c th c hi n dị tìm khóa b n: * Th c hi n ti n tính tốn: l p b ng phân b xác su t Vi sai vào) Vi sai u ( O - XOR ra) cho t ng h p S u vào ( I - XOR M i h p S có bit vào, b i v y có 26 = 64 u vào có th M i h p S có bit ra, b i v y có 24 = 16 bit có th Như v y, có th xây d ng b ng 64 x 16 “b ” vào/ra Bình quân, m i b s c tr k t qu t c p vào/ra Nhưng th c t , không ph i t t c b u t n t i s b t n t i l i phân b không u B ng 1: M t ph n c a B ng phân b c p vi sai Vào – Ra (c p XOR) c a h p S1 nh nghĩa 1: B ng ây c g i B ng phân b c p XOR M i tiêu dịng trình di n giá tr khác u vào (XOR vào) M i tiêu c t trình di n giá tr Vũ c M nh - K19 HTTT - Mã HV: 12025057 khác u (XOR ra) Các ph n t b ng th hi n s lư ng “b ” có th v i XOR vào XOR tương ng theo dòng c t (B ng ch m t ph n c a B ng phân b vi sai, th c t B ng phân b có 64 u vào, t c có 64 dịng (input XOR), t 00x n 3Fx) nh nghĩa 2: Cho S’iI giá tr khác u vào (XOR vào) S’iO giá tr khác u (XOR ra) c a m t h p Si ó Chúng ta nói S’iI có th t o S’iO n u u vào SiI, S*iI t nt im tc p S’iI = SiI ⊕ S*iI và: S’iO = Si (SiI) ⊕ Si (S*iI) = SiO ⊕ S*iO T ó, có th vi t S’iI S’iO Hay nói cách khác, giá tr khác S’iI d n n giá tr khác u S’iO nh nghĩa 3: Cho m t h p S (Si), S’iO sau: INi (S’iI u vào là: N (S’iI S’iI u vào (INi) SiI, S*iI cho S’iI S’iO) = {SiI | Si (SiI) ⊕ Si (S*iI) = S’iO} nh nghĩa s lư ng (N) Xác su t nh nghĩa t p u vào S’iO) = | INi(S’iI S’iO) | S’iO, sau: P (S’iI S’iO) = ( N (S’iI S’iO) ) / 64 * Dị tìm khóa: D a vào s phân b vi sai không u c a h p S: l a ch n c p vi sai xu t hi n v i xác su t cao ( làm n i b t vai trị khóa ki) xây d ng b ng tham chi u ti p theo Xác nh khóa: Gi i h n, l p khơng gian khóa, xác khóa xác nh khóa nh t nh bit khóa, vùng * Ví d v tham chi u B ng 1: Xét u vào XOR S’1I = Cx Nó có 10 giá tr u có th Các giá tr XOR u có th 3x, 5x, 6x, 9x, Ax, Bx, Cx, Dx, Ex, Fx giá tr XOR u không th x y 0x, 1x, 2x, 4x, 7x, 8x Vì v y, có th vi t: Cx ե 0x, Cx ե 1x, Cx ե 2x, Cx 3x, Cx ե 4x, Cx 5x, Vũ Hơn n a, N (Cx Ex) = 14, P (Cx c M nh - K19 HTTT - Mã HV: 12025057 Ex) = 14 / 64 = / 32 th c hi n y bư c trên, có th xây d ng m t lo t b ng t B ng phân b c p XOR nói T ó, có th li t kê xác c p giá tr u vào (input XOR) cho trư c giá tr u tương ng S lư ng “b ” B ng c là s lư ng c p u vào c th c th hi n b ng c trình bày ph n ti p theo IV Ví d v t n cơng thám mã vi sai i v i DES m t vịng Trong ph n s trình di n m t ví d v t n cơng DES gi m xu ng vòng Chúng ta s nh n th y s ph c t p c a t p th t c x lý tồn b tính tốn liên quan ng th i ví d gi m h DES xu ng h p S - h p S1 i v i vi c dị tìm 42 bít khóa d a vào h p S l i s c th c hi n v i thu t toán tương t Tuy nhiên, ph c t p dị tìm bít khóa tương ng v i m i h p S khác c i m “m nh” hay “y u” c a t ng h p S ó Vi c ơn gi n hóa tốn v y ch v i m c ích th hi n ý tư ng, phương pháp thám mã vi sai i v i DES T t nhiên tăng s vòng c a DES lên n vòng (1 < n < 16) cu i i v i DES y 16 vịng thu t tốn thám mã c n ph i c thay i nhi u ng th i ph c t p c a tăng lên theo c p lũy th a Ti n tính tốn: (Các giá tr c quy v h Th p l c phân (HexaDecimal) Trong ví d ký hi u c hi u sau: - S1E, S*1E: c p giá tr u vào H p S1 (6 bit) trư c XOR v i bit c a khóa k - S1I, S*1I: c p giá tr - S1O, S*1O: c p giá tr u vào H p S1 (6 bit) sau XOR v i bit c a khóa k u H p S1 (4 bit) - S1k: bít c a khóa k s d ng XOR v i u vào bít S1E, S*1E Gi s có c p vào S1E = 08x S*1E = 04x v i khóa bí m t S1k = 1Ax Th c hi n l n v t giá tr k t qu c a hàm F sau: S1I = S1E ⊕ S1k = 08x ⊕ 1Ax S*1I = S*1E ⊕ S1k = 04x ⊕ 1Ax - K19 HTTT - = 12x = 1Ex S d ng h p S1, ta có: S1O = S1(S1I) = S1(12x) = Ax : 12025057 S*1O = S1(S*1I) = S1(1Ex) = 7x B i v y, S’1O = S1O ⊕ S*1O = 0Dx (XOR ra) B qua khóa S1k, tính S’1E = S’1I = (S1E ⊕ S*1E) = 0Cx (XOR vào) Tra B ng v i c p (XOR vào, XOR ra) = (0Cx, 0Dx) ào, Dị tìm khóa: Bư c 1: T B ng 1, xét: S’1E = S’1I = 0Cx l p B ng v i giá tr khác u vào 0Cx giá tr khác u tương ng; ch n giá tr khác u 0Dx, ta có: Các c p u vào có th vi sai u 0Dx Bư c 2: Ch n S’1I S’1O 0Cx 0Dx V y ta có c p a u vào tương ng là: (S1I, S*1I) ∈ {(01x, 0Dx), (12x, 1Ex), 36x, 3Ax)} Ti p ó, ch n c p (S1E, S*1E) = (08x, 04x), tính “khóa có th ” theo cơng th c: S1k = heo S1I ⊕ S1E l p l p B ng 10 Vũ B ng 3: Các khóa có th c M nh - K19 HTTT - Mã HV: 12025057 i v i c p vi sai 0Cx 0Dx, u vào (S1E, S*1E) = (08x, 04x) T B ng 1, xét: S’1E = S’1I = 0Cx S’1I S’1O 0Cx 0Ax l p B ng 2, Ta có c p u vào: (S1I, S*1I) ∈ {(22x, 2Ex), (30x, 3Cx), 34x, 38x)} Ch n c p (S1E, S*1E) = (38x, 34x), tính “khóa có th ” theo công th c: S1k = S1I ⊕ S1E l p B ng Cô l p vùng khóa B ng 4: Các khóa có th i v i c p vi sai 0Cx 0Ax, u vào (S1E, S*1E) = (38x, 34x) Bư c 3: T B ng 1, xét: S’1E = S’1I = 10x Ch n giá tr khác u vào (10x) l p B ng 11 - K19 HTTT - : 12025057 Các c p u vào có th vi sai u 0Dx Bư c 4: Tham chi u B ng 5, v i giá tr khác S’1O 10x Ax), Ta có c p u vào: u (Ax), (hay S’1I (S1I, S*1I) ∈ {(01x, 11x), (21x, 31x), (2F, 3F)} Ch n c p (S1E, S*1E) = (3Bx, 2Bx), tính “khóa có th ” theo cơng th c: S1k = heo S1I ⊕ S1E l p B ng Xác nh khóa nh t B ng 6: Các khóa có th i v i c p vi sai 10x Ax, u vào (S1E, S*1E) = (3Bx, 2Bx) Bư c 5: Xác nh khóa nh t: 1Ax 12 Vũ c M nh - K19 HTTT - Mã HV: 12025057 Như v y, t h p S1 th c hi n ti n tính toán d a h p S1 qua bư c x lý v i c p b n rõ có l a ch n (08x, 04x) (3Bx, 2Bx), có th xác nh c giá tr khóa “1A” ( d ng th p l c phân) tương ương bít khóa (011010) d ng nh phân s d ng cho h p S1 có th dị tìm c y 48 bít khóa (khóa con) c n s d ng h p S (t S1 n S8) v i m t lo t b ng tham chi u d li u ti n tính tốn c a chúng V K t lu n hư ng phát tri n ti p theo Khi s vòng l p c a DES (n

Ngày đăng: 27/10/2014, 10:53

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan