Giáo trình Mật mã và ứng dụng: Chương 3

48 8 0
Giáo trình Mật mã và ứng dụng: Chương 3

Đ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

Mật mã và ứng dụng - Chương 3: Chuẩn mã dữ liệu, trình bày các nội dung chính: mô tả des, tranh luận về des, des trong thực tế, phép tối ưu hóa thời gian, thám mã vi sai, tấn công des 6 vòng,... Đây là tài liệu tham khảo dành cho sinh viên ngành Công nghệ thông tin.

Chơng Chuẩn m liệu 3.1 Mở đầu Ngày 15.5.1973 Uỷ ban tiêu chuẩn quốc gia Mỹ đ công bố khuyến nghị cho hệ mật Hồ sơ quản lý liên bang Điều cuối đ dẫn đến phát triển Chuẩn m liệu (DES) đ trở thành hệ mật đợc sư dơng réng r i nhÊt trªn thÕ giíi DES đợc IBM phát triển đợc xem nh cải biên cuả hệ mật LUCIPHER Lần DES đợc công bố Hồ sơ Liên bang vào ngày 17.3.1975 Sau nhiều trânh luận công khai, DES đ đợc chấp nhận chọn làm chuẩn cho ứng dụng không đợc coi mật vào 5.1.1977 Kể từ năm lần, DES lại đợc Uỷ ban Tiêu chuẩn Quốc gia xem xét lại Lần đổi gàn DES vào tháng 1.1994 tiếp tới 1998 Ngời ta đoán DES không chuẩn sau 1998 3.2 Mô tả DES Mô tả đầy đủ DES đợc nêu Công bố số 46 chuẩn xử lý thông tin Liên bang (Mỹ) vào 15.1.1977 DES m hoá xâu bít x bẳn rõ độ dài 64 khoá 54 bít Bản m nhậ đợc xâu bít có độ dài 48 Trớc hết ta mô tả mức cao hệ thống Thuật toán tiến hành theo giai đoạn: 1.Với rõ cho trớc x, xâu bít x0 đợc xây dựng cách hoán vị bít x theo phép hoán vị cố định ban đầu IP Ta viết:x0= IP(X) = L0R0, L0 gồm 32 bít đầu R0 32 bít cuối Sau tính toán 16 lần lặp theo hàm xác định Ta tính LiRi, ≤ i ≤16 theo quy t¾c sau: Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1,Ki) ®ã ⊕ kí hiệu phép loại trừ hai xâu bít (céng theo modulo 2) f lµ mét hµm mµ ta mô tả sau, K1,K2, ,K16 xâu bít độ dài 48 đợc tính nh hàm khoá K ( thực tế Ki phép chọn hoán vị bít K) K1, , K16 tạo thành bảng khoá Một vòng phép m hoá đợc mô tả hình 3.1 áp dụng phép hoán vị ngợc IP -1 cho xâu bít R16L16, ta thu đợc m y Tøc lµ y=IP -1 (R16L16) H y chó ý thứ tự đ đảo L16 R16 Hình 3.1 Mét vong cña DES Li-1 Ri-1 f Ki + Li Ri Hµm f cã hai biÕn vµo: biÕn thø nhÊt A xâu bít độ dài 32, biến thứ hai J xâu bít độ dài 48 Đầu f xâu bít độ dài 32 Các bớc sau đợc thực hiện: Biến thứ A đợc mở rộng thành xâu bít độ dài 48 theo hàm mở rộng cố định E E(A) gồm 32 bít A (đợc hoán vị theo cách cố định) với 16 bít xuất hai lần Tính E(A) J viết kết thành chuỗi x©u bÝt = B1B2B3B4B5B6B7B8 3.B−íc tiÕp theo dïng bảng S1, S2, ,S8 ( đợc gọi hộp S ) Với Si bảng 4ì16 cố định có hàng số nguyên từ đến 15 Với xâu bít có độ dài (KÝ hiÖu Bi = b1b2b3b4b5b6), ta tÝnh Sj(Bj) nh− sau: Hai bít b1b6 xác định biểu diễn nhị phân cđa hµng r cđa Sj ( ≤ r ≤ 3) bốn bít (b2b3b4b5) xác định biểu diễn nhị ph©n cđa cét c cđa Sj ( ≤ c 15 ) Khi Sj(Bj) xác định phần tử Sj(r,c); phần tử viết dới dạng nhị phân xâu bít có độ dài ( Bởi vậy, Sj đợc coi hàm m mà đầu vào xâu bít có độ dài xâu bít có độ dài 4, đầu xâu bít có độ dài 4) Bằng cách tơng tự tính Cj = Sj(Bj), ≤ j ≤ X©u bÝt C = C1C2 C8 có độ dài 32 đợc hoán vị theo phép hoán vị cố định P Xâu kết P(C) đợc xác định f(A,J) Hàm f đợc mô tả hình 3.2 Chủ yếu gômg mét phÐp thÕ ( sư dơng hép S ), tiÕp sau phép hoán vị P 16 phép lặp f tạo nên hệ mật tích nêu nh phần 2.5 Hình 3.2 Hàm f DES A J E E(A) + B1 B2 B3 B4 B5 B6 B7 B8 S1 S2 S3 S4 S5 S6 S7 S8 c1 c2 c3 c4 c5 c6 c7 c8 f(A,J) Trong phần lại mục này, ta mô tả hàm cụ thể đợc dùng DES Phép hoán vị ban đầu IP nh sau: IP 58 50 42 34 26 18 10 60 52 44 36 28 20 12 62 54 46 38 31 22 14 64 56 48 40 32 24 16 57 49 41 33 25 17 59 51 43 35 27 19 11 61 53 45 37 29 21 13 63 55 47 39 31 23 15 Bảng có nghĩa bít thứ 58 x bít IP(x); bít thứ 50 cđa x lµ bÝt thø hai cđa IP(x), v.v Phép hoán vi ngợc IP -1 là: IP -1 40 48 16 56 24 64 32 39 47 15 55 23 63 31 38 46 14 54 22 62 30 37 45 13 53 21 61 29 36 44 12 52 20 60 28 35 43 11 51 19 59 27 34 42 10 50 18 58 26 33 41 49 17 57 25 Hàm mở rộng E đợc xác đinh theo bảng sau: Bảng chọn E bít 32 5 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 T¸m hép S lµ: 14 13 1 15 4 14 15 12 15 13 14 13 10 10 13 13 10 13 13 14 13 11 10 15 14 11 14 9 14 13 15 10 15 11 10 13 10 6 11 15 12 11 S1 11 14 12 13 15 11 12 10 15 10 15 14 15 12 10 11 15 14 13 12 10 12 12 15 13 12 11 4 10 14 12 11 11 12 10 15 14 11 15 14 12 S3 10 13 10 11 13 13 14 13 12 12 15 10 12 14 15 11 11 13 12 13 12 12 11 9 10 14 10 13 9 15 0 12 11 10 13 12 14 11 12 4 11 10 11 12 11 13 11 S1 S4 15 11 12 15 12 10 14 14 11 12 14 S5 5 15 15 15 13 14 15 10 12 14 10 S6 13 14 15 11 13 14 11 10 13 11 11 14 11 13 S7 13 12 9 10 14 12 14 10 15 10 15 10 15 14 12 13 15 13 11 14 15 11 10 12 14 10 13 S8 10 14 12 12 11 14 10 13 15 15 12 11 Và phép hoán vị P có dạng: P 16 29 12 15 18 32 27 19 13 22 11 20 28 23 31 30 Cuối cung ta cần mô tả việc tính toán bảng khoá từ khoá K Trên thực tế, K xâu bít độ dài 64, 56 bít khoá bít để kiểm tra tính chẵn lẻ nhằm phát sai Các bít vị trí 8,16, , 64 đợc xác định cho byte chứa số lẻ số "1" Bởi sai sót đơn lẻ phát đợc nhóm bít Các bít kiểm tra bị bỏ qua trình tính toán bảng khoá Víi mét kho¸ K 64 bÝt cho tr−íc, ta loại bỏ bít kiểm tra tính chẵn lẻ hoán vị bít lại K theo phép hoán vị cố định PC-1 Ta viết: PC-1(K) = C0D0 Víi i thay ®ỉi tõ ®Õn 16: Ci = LSi(Ci-1) Di = LSi(Di-1) Việc tính bảng khoá đợc mô tả hình 3.3 Các hoán vị PC-1 PC-2 đợc dùng bảng khoá là: 57 49 58 10 19 11 63 55 62 14 21 13 PC-1 41 33 50 42 59 51 60 47 39 54 46 61 53 28 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 H×nh 3.3 TÝnh bảng khoá DES K PC-1 C0 D0 LS1 LS1 C1 D1 PC-2 K1 PC-2 K16 LS16 LS16 C16 D16 14 17 28 23 19 16 41 52 30 40 44 49 46 42 PC-2 11 24 15 12 27 20 31 37 51 45 39 56 50 36 21 26 13 47 33 34 29 10 55 48 53 32 Bây ta đa bảng khoá kết Nh đ nói trên, vòng sử dụng kho¸ 48 bÝt gåm 48 bÝt n»m K C¸c phần tử bảng dới biểu thị bít K vòng khoá khác Vòng 10 51 34 60 49 17 35 57 35 26 25 44 58 59 36 27 22 28 39 54 37 47 30 53 61 21 38 63 15 20 45 14 13 62 19 18 23 55 42 41 29 31 43 26 52 41 60 27 18 17 36 14 20 31 46 29 53 13 30 55 Vßng 25 49 50 51 58 63 39 22 12 37 51 44 61 37 Vßng 58 33 43 50 60 18 34 35 42 41 59 17 47 23 12 29 62 63 21 53 20 38 31 35 57 45 21 27 10 11 15 28 14 11 60 55 12 59 51 62 61 36 30 39 49 50 14 23 25 49 13 54 59 11 34 57 19 10 33 28 45 15 21 54 47 23 Vßng 42 58 17 27 34 44 33 18 19 26 25 52 43 28 31 53 63 13 46 20 38 47 37 22 15 54 19 41 29 60 44 39 63 43 35 46 45 Vßng 33 58 26 42 11 18 57 51 34 17 10 36 27 50 61 12 15 54 37 47 28 30 22 31 20 21 55 62 38 Vßng 44 27 17 42 10 26 25 57 19 18 51 52 13 23 30 45 63 62 38 20 47 29 54 15 50 60 41 35 59 58 49 11 34 21 31 12 14 55 39 53 46 22 Vßng 52 57 11 26 59 10 34 44 51 25 19 41 50 35 36 43 42 33 60 18 28 14 29 47 46 22 15 63 61 39 31 13 38 53 62 55 20 23 38 30 Vßng 36 41 60 50 10 43 59 18 57 35 58 25 5251 34 19 49 27 26 17 44 12 54 61 13 31 30 20 62 47 45 23 55 15 28 22 37 46 39 721 14 53 Vßng 57 33 52 42 35 51 10 49 27 50 17 44 43 26 11 41 19 18 46 53 23 22 61 12 54 39 47 20 14 29 38 31 63 62 13 41 17 34 55 30 31 54 Vßng 10 36 26 51 19 35 59 57 27 10 60 25 37 20 45 63 61 13 22 15 47 36 37 60 59 15 45 33 11 50 44 58 49 43 38 23 21 62 46 28 53 29 25 49 10 18 50 41 11 39 14 21 15 38 55 45 Vßng 11 35 19 43 17 60 59 44 52 51 42 54 53 29 47 22 28 62 31 30 12 34 57 33 27 46 37 13 Vßng 12 50 33 59 19 52 27 44 18 41 34 25 60 43 57 58 36 35 26 17 11 23 61 55 38 37 13 31 54 20 30 62 22 39 29 12 53 46 15 14 63 21 28 58 34 17 43 51 18 44 27 45 20 39 22 46 23 13 63 27 57 23 28 Vßng 13 36 52 11 41 42 49 21 28 15 37 30 62 50 19 53 61 57 10 38 47 25 60 14 12 Vßng 14 52 49 36 60 34 41 51 11 25 26 33 59 50 44 12 62 37 22 55 61 47 21 14 46 45 31 20 63 42 35 54 30 18 58 29 53 26 19 38 14 Vßng 15 50 11 36 33 49 44 51 42 41 60 10 17 13 55 53 20 63 46 37 54 12 31 61 30 18 52 21 29 25 43 15 35 58 34 57 39 45 47 Vßng 16 18 59 42 57 25 41 36 10 17 27 50 11 43 34 33 52 44 35 26 49 30 47 62 45 12 55 58 13 61 31 37 27 46 23 28 53 22 21 62 39 PhÐp gi¶i m đợc thực nhờ dùng thuật toán nh phép m đầu vào y nhng dùng bảng khoá theo thứ tự ngợc lại K16, K1 Đầu thuật toán rõ x Các XOR vào S2,S5,S6,S7 S8 000000 vòng 4, XOR hộp 0000 Điều có nghĩa tính XOR hộp S vòng theo (3.4) Bởi giả sử ta tính: C1'C2'C3'C4'C5'C6'C7'C8' = P-1(R6' 0400000016) Ci' xâu bít có độ dài Khi đó, với xác suất 1/16 xâu bít C2',C5', C6', C7' C8' tơng ứng XOR S2,S5,S6,S7 S8 vong Các đầu hộp S vòng đợc tính E2, E5, E6, E7, E8 vµ E2*, E5*, E6*, E7*vµ E8* , : E1 E2 E3 E4 E5 E6 E E8 =E(R5) = E(L6) E1* E2* E3* E4* E5* E6* E 7* E8* =E(R5*) = E(L6*) đợc tính theo m nh đ mô tả hình 3.13 Hình 3.13 DC DES vòng Đầu vào L0R0,L0*R0*,L6R6,và L6*R6* L0' = 4008000016 vµ R0' = 0400000016 TÝnh C' = P-1(R6' ⊕ 4008000016) TÝnh E = E(L6) vµ E* = E(L6*) For ∈ j {2, 5, 6, 7, 8} TÝnh testj(Ej, Ej*, Cj') B©y giê ta muèn xác định 30 bít khoá J2, J5, J6, J7 J8 nh cách đ làm công vòng Vấn đề XOR đợc giả định cho vòng với xác suất 1/16 Bởi 15/16 thời gian ta thu đợc bít ngẫu nhiên bít khoá Bằng cách ta phải có khẳ xác định đợc khoá số liệu ® cho ( ®ã cã 15/16 c¸c sè liƯu sai) Điều không sáng sủa cho lắm, song may mắn viễn cảnh ta không tối tăm nh Định nghĩa 3.6 Giả sử L0 ⊕ L0* = L0' vµ R0 ⊕ R0* = R0' Ta nói cặp rõ L0R0 L0*R0* cặp ứng với đặc trng LiLi* = Li' vµ Ri⊕Ri* = Ri' víi mäi i, ≤ i n Ngợc lại, cặp đợc xác định cặp sai Hy vọng khoảng 1/16 cặp cặp lại sai ứng với đặc trng vòng Chiến thuật ta tính Ej, Ej* Cj' ( nh đ mô tả ) sau xác định testj(Ej, Ej*, Cj') v¬i j = 2, 5, 6, 7, Nếu bắt đầu cặp bít khoá cho Jj nằm tập testj Nếu cặp sai giá trị Cj' không giả định tập testj chủ yếu ngẫu nhiên coi có lý: Có thể nhận cặp sai theo phơng ph¸p sau: NÕu | testj | = víi bÊt kì j {2, 5, 6, 7, 8} chắn ta có cặp sai Bây , với cặp sai cho trớc, thấy xác suất để testj = với giá trị j định xấp xỉ 1/5 Đây giả định hợp lý Nj(Ej',Cj') = | testj | nh đ nói trên, xác suất để Nj(Ej',Cj') = xấp xỉ 1/5 Xác suất để tất tập testj có lực lợng dơng đợc ớc lợng 0,85 0,33 Bởi xác suất để Ýt nhÊt mét tËp testj cã lùc l−ỵng b»ng vào khoảng 0,67 Nh ta hy vọng loại bỏ đợc 2/3 số cặp sai cách quan sát đơn giản ( ta gọi phép lọc ) Tỷ lệ cặp lại sau phép läc xÊp xØ b»ng (1/16)/(1/3) = (3/16) VÝ dô 3.4 Giả sử ta có cặp m - rõ sau: Bản râ B¶n m· 86FA1C2B1F51D3BE C6F21C2B1B51D3BE 1E23ED7F2F553971 296DE2B687AC6340 NhËn thÊy r»ng L0' = 4008000016 R0' = 0400000016 Các đầu vào đầu hộp S vòng đợc tính nh sau: j Ej 111100 111101 011010 101111 111110 Ej* 010010 111100 000101 010110 101100 Cj' 1101 0001 0010 1100 1101 Khi tập testj (2, 5, 6, 7, 8) là: j testj 14, 15, 26, 30, 32, 33, 48,52 7, 24, 36, 41, 54, 59 34, 35, 48, 59 Ta thÊy tËp test5 vµ test7 tập rỗng, cặp cặp sai bị loại bỏ phép lọc Bây giờ, giả sử ta có cặp cho | testj | > 0, víi j = 2, 5, 6, 7, 8, để tồn lại sau phép lọc ( nhiên cha biết cặp hay sai ) Ta nói xâu bít J2 J5 J6 J7 J8 có độ dài 30 xâu bít đợc gợi ý cặp Jj testj với j = 2,5,6,7,8 Số xâu bít đợc gợi ý là: j{2,5, 6, 7,8 | testj | } Thông thờng số xâu bít đợc gợi ý có giá trị lớn ( ví dụ: > 80000) Giả sử ta đ lập bảng tất xâu bít đợc gợi ý thu đợc từ N cặp ( không bị loại bỏ phép lọc) Với cặp đúng, xâu bít J2 J5 J6 J7 J8 xâu bít đợc gợi ý Xâu bít xuất vào khoảng 3N/16 lần Các xâu bít không thờng xuất nhiều chúng xuất cách ngẫu nhiên có 230 khả ( số lớn) Việc lập bảng tất xâu bít đợc ôựi ý sÏ rÊt cång kÒnh, bëi vËy ta sÏ dïng thuật toán yêu cầu thời gian không gian ( bé nhí) Ta cã thĨ m tËp testj véc tơ Tj có độ dài 64, tạo độ thứ i Tj đợc đặt giá trị ( với i 63) xâu bít độ dài ( biểu diễn nhị phân i ) nằm tập testj Trong trờng hợp ngợc lại, toạ độ thứ i đợc đặt ( giống nh cách biểu diễn mảng đếm đ dùng phép công vòng) Với cặp lại ta xây dợng véc tơ nh đ mô tả ký hiƯu chóng lµ Tji , j = 2,5,6,7,8, ≤ i ≤ N Víi I ⊆ {1, ,N} ta nói I tập đợc phép với j {2,5,6,7,8} có toạ độ b»ng | I | vÐc t¬ ∑Tj (víi j I) Nếu cặp thứ i cặp với i I I tập ®−ỵc phÐp Bëi vËy ta tin r»ng sÏ cã mét tạp đợc phép với kích thớc xấp xỉ 3N/16 chứa bít khoá tập khác Có thể dễ dàng xây dựng tập đợc phép I thuật toán đệ quy Ví dụ 3.5 Một số chơng trình máy tính đ đợc thực để kiêmr tra phơng pháp Trong đ tạo mẫu ngẫu nhiên gồm 120 cặp rõ với XOR xác định rõ đ đợc m hoá khoá ( ngẫu nhiên ) Bảng 3.1 đa 120 cặp rõ m tơng ứng dạng m hexa Khi tính tập đợc phép ta thu đợc ni tập đợc phép có lực lợng nh− sau: i 10 ni 111 180 231 255 210 120 45 10 Tập đợc phép có lực lợng 10 là: {24,29,30,48,50,52,55,83,92,118} Thực tế tập đợc tạo theo 10 cặp Chỉ có tập đợc phép chứa bít khoá cho J2, J5, J6, J7, J8 Chúng có giá trị nh sau: J2 = 011001 J5 = 110000 J6 = 001001 J7 = 101010 J8 = 100011 Chú ý tất tập đợc phép có lực lợng tối thiểu không kể tập đợc phép có lực lợng sinh từ cặp 10 10    = 252 vµ   = n i 5  i  víi ≤ i ≤ 10 Phơng pháp cho ta biết 30 bít 56 bít khoá Bằng đặc trng vòng khác ( nêu hình 3.14 ), ta tính thêm 12 bít khoá ( bít nằm J1 J4) Bây lại 14 bít khoá cha biết Vì 214 = 16384 số nhỏ nên dùng phép tìm kiếm vét cạn để xác định nốt chúng Hình 3.14 L0' = 0020000816 L1' = 0000040016 L2' = 0000000016 L3' = 0000040016 R0' = 0000040016 R1' = 0000000016 R2' = 0000040016 R3' = 0020000816 p = 1/4 p=1 p = 1/4 Toàn khoá ( dạng hexa, kể bít kiểm tra chẵn lẻ ) là: 34E9F71A20756231 Nh đ nói trên, 120 cặp đợc cho b¶ng 3.1 Trong cét thø hai, dÊu (*) kÝ hiƯu cặp đúng, dấu (**) kí hiệu cặp sai nhận biết đợc bị loại bỏ phép lọc Trong số 120 cặp, có 73 cặp đợc xác định cặp sai nhờ trình lọc, 47 cặp lại cặp có thĨ 3.6.3 C¸c vÝ dơ kh¸c vỊ DC C¸c kü thuật DC đợc sử dụng để công DES có vòng Với DES vòng cần 214 b¶n râ chän läc, DES 10, 12, 14, 16 vòng phá đợc với tơng ứng 224, 231, 239 247 rõ chọn lọc Vào thời điểm tại, công DES có 10 vòng không thực tế Một loại m tích hoán vị - thay thÕ kh¸c víi DES cịng cã thĨ dïng DC để phá ( mức độ khác ) Trong hệ này, có số hệ mật hoán vị - thay đ đợc đa năm gần nh FEAL,REDOC-II LOKI Ghi ( ngời dịch ): theo công bố Micheal Wiener vào 1993, với 107 USD xây dựng thiết bị chuyên dụng để phá DES khoảng 21 phút Với 108 USD, tin DES bị phá khoảng phút Nh vậy, DES không bí mật NAS Tuy nhiên không cần thiết bị chuyên dụng đắt tiền nh để phá DES Các thông báo đợc m hoá DES bị phá máy tính thông thờng với điều kiẹen siêu thực: có 243 ì 26 bít rõ - m với khoá 56 bít cố định, nhiên bạn phải chờ lâu Trong hội nghị CRYPTO'94 M.Matsui đ trình bày kỹ thuật phá DES đợc gọi " thám m tuyến tính" Sử dụng 243 (8.796.093.022.208) m đ biÕt Matsui cã thĨ ph¸ mét kho¸ DES 50 ngày máy tính cá nhân 3.7 Các giải tài liệu dẫn Smid Branstad đ có báo hay lịch sử DES [SB 92] Các công bố Chuẩn xử lý thông tin liên bang (FIPS) liên quan đến DES gồm: mô tả DES [NBS 77]; øng dơng vµ sư dơng DES [NBS 81]; chế độ làm việc DES [NBS 80]; x¸c thùc b»ng DES [NBS 85] Mét sè tÝnh chÊt hộp S đợc Brickell, Moore Purtill [BMP87] nghiên cứu Chíp giải m DES đợc mô tả [EB 93] Thiết bị tìm khoá Wiener đợc mô tả CRYPTO' 93 [Wi 94] Phép tối u hoá thời gian - nhớ tổng quát đợc trình bµy bëi Fiat vµ Naor [FN 91] Kü thuËt DC đợc phát triển Biham Shamir [BS 91] ( xem [BS93A] sách họ [BS 93] thảo luận thám m hệ mật khác) Cách trình bày DC chơng phần lớn dựa [BS93] Một phơng pháp m thám dùng để công DES hệ mật tơng ứng khác phơng pháp thám m tuyến tính Matsui [MA 94], [MA 94A] Các mô tả hệ mật hoán vị - thay khác tìm tài liệu sau: LUCIFER [FE 73], FEAL [MI 91], REDOC-II [CW 91] vµ LOKI [BKPS 90] Bảng 3.1 Mà thám DES vòng Cặp Cặp ®óng B¶n râ B¶n m ** ** ** ** ** ** 10 ** 11 12 ** 13 14 15 16 ** 17 18 19 ** 20 21 ** 22 ** 23 24 * Pair Rightpair 25 ** 26 ** 86FA1C2B1F51D3BE C6F21CC2B1B51D3BE EDC439EC935E1ACD ADCC39EC975E1ACD 9468A0BE00166155 D460A0BE04166155 D4FF2B18A5A8AACB 94F72B18A1A8AAC8 09D0F2CF273AE54F 49D8F2CF237AF54F CBC7157240D415DF 8BCF157244D415DF 0D4A1E84890981C1 4D421E848D0981C1 6CE6B2A9B8194835 2CEEB2A9BC194835 799F63C3C9322C1A 399763C3CD322C1A 1B36645FE381EDF48 5B3E645E3C1EDF48 85CA13F50B4ADBB9 C5C213F50F4ADBB9 7963A8EFD15BC4A1 396BA8EFD55BC4A1 7BCFF7BCA455E65E 3BC7F7BCA005E65E 0C505CEDB499218C 4C585CEDB099218C 6C5EA056CDC91A14 2C56A056C9C91A14 6622A441A0D32415 262AA441A4B32415 C0333C994AEF1C99 803B3C994EFF1C99 9E7B2974FOOE1A6E DE73297BF40E1A6E CF592897BFD70C7E 8F512897BBD70C7E E976CF39124A9FA1 A97ECF19164A9FA1 5C09696E7363675D 1C01696E7763675D AB145AB3C1B2C7DE E81C5AB3C5B2C7DE 47DF6A0BB1787159 07D76A0BB5787159 7CE65464329B4E6D 3CEE5464369B4E6D 1E23ED7F2F551971 296DE2BG87AC6310 0F847EFE90466588 93E84839E374440B 3D6A906A6566D0BF 3BC3B23698379E1 26B14738C2556BA4 15753FDE86575ABF 15751F4F11308114 6046AFC863F066AF 7FCDC300FB9698E5 522185DD7E47D43A E7C0B01E32557558 912C6341A69DF295 75B52E028A5C48A3 6C88603B8E5A8CE A6DA322BBF2444B5 6634AA9DF18307F4 1F91E295D559091B B094FC12C02C17CA ED108EE739DDE02 3F405F4A3E254714 BC714399715A33BA C334C73CC97E4AC4 475A2D0459BCCE62 8E94334AEF359EF8 D3C66239E89CCD76 9A316E801EE18EB1 BC7EBA159BCA94E6 67DB935C21EF4A8D 35F8616FEBA62883 4313E1925F5B64BC D46A4CF1C0221B11 D22B42DB150E2CE8 172D286D9606E6FE 2217A91F8C427D27 FB892B59E7BCE7EC C328B765E1CC6653 905BF24188509FA6 9ADDBA0C23DD724 92D60E5C71801A99 DD90908A4FE8168F F68FC9F80568487B 51C041B5711BB132 52E36C4CA23EA5A2 373EAFB503F68BE4 832A9D7032015D9F 85E2CE665571E99 Plaintext ciphertext 421FB6AD95791BA7 0217B6AD91791BA7 C58E9A361368FFD6 D1E730BA1DB565E7 188E61753FA4F3CE 795EB9D30CAE6879 27 ** 28 ** 29 * 30 * 31 ** 32 ** 33 ** 34 ** 35 ** 36 ** 37 ** 38 ** 39 40 41 ** 42 43 44 ** 45 46 ** 47 ** 48 ** Pair Rightpair 49 ** 50 * 85869A361768FFD6 DD86B6C74C8EA4E2 9D8EB6C7488EA4E2 43DB9D2F483CA585 03D39D2F4D3CA585 855A309F96FEA5EA C552309F92FEA5EA AB3CA25B02B08C8 EB34A25B0BD18C8 A9F7A6F4A7C00E06 E9FFA6F4A3C00E02 688D9ACD856D1312 28839ACD816D1312 76BF0621C03D4CD9 36B70621C43D4CD9 014CF8D1F981B8EE 4144F8D1FD81B8EE 487D66EDE0405F8C 087566EDE4405F8C DDCA47093A362521 9DC247093E362521 45A9D34A3996F6D9 05A1D34A3D96F6D9 295D2FBFB00875EA 69552FBFB40875EA 964C8B98D590D524 D6448B93D190D524 60383D2BAF0836BC 20303D2BAB0836BC 5CF8D539A22A1CAD 1CF0D539A62A1CAD F95167CAB6565609 B95967CAB2565609 49F1CA3615874122 09E9C83611874122 ACB2EC1941B03765 ECBAEC1945B03765 CCCC129D5CB55EC0 8CC4129D58B55EC0 917FF8E2EE6B78D5 D177F8E2EA6B78D5 51DBCF028E96DE00 11C3CF028A96DE00 2094942E093463CE 609C9442E0D3463CE 26D37AC4867ACC61 CC3B6915C9A348BF 104C2394555645F0 E3E4DA503D1B9396 4EA02C0061332443 85AD6E9E352AFAFA 929D22370ACAB80D 0F7D78E9203F786 A1313B26299D353 F26B385E6BA057FD 203D83848F854D19 C41D99C107B4EF76 6CC813CA025AFDAC BBE1F952FC1E052A 561F4801F2EB0C6334 D27091C4314CBFE8 B7976D6A80EADB61 8136325C0AEB84CE 8C638BC4495B69A0 51040CF16B600FAA 7FC75515AC3CAAF9 F2004B854AE6C46C 546825016B03D193 A309DF027E69C264 4F633FFB9530C11E 1FF1D0271D6F6C18 8CF2D8D401EBFC0F 10A82D55FC480640 602346173581EF79 92685D806FBE8738 17006DAB2D28081C C52E2EB27446054E 0C219F686840EA7A 2680C8ECDF5E51CD 5022AFB69B4E75EF D6B593460098DEC5 D3190A0200FC6B9B 3AD22B7EF59E0D52 A48C92CBECB7E430 EF847E058DE71724 F243F0554A00E4C5 574897CA1EE73885 9F0FD0A5B2C2B5FD 59F6A018C6A0D820 799FE001432346C0 Plaintext Ciphertext 50FB0723D7CD1081 10F30723D3CD1081 740815A4F6CDCABB 16AF758395EA3A7D CDCB23392D144BED 4A84D2ED4D9351AB 51 ** 52 * 53 ** 54 ** 55 * 56 57 ** 58 ** 59 60 ** 61 ** 62 ** 63 ** 64 ** 65 ** 66 ** 67 ** 68 ** 69 ** 70 ** 71 72 ** Pair Rightpair 73 74 75 ** 340015A4F2CDCABB EDA46A1AE93735DC ADAC6A1AED3735DC 08BC39B766B2C128 48B439B762B2C128 A74E29BBA98F2312 E74629BBAD8F2312 D6F50D31EE4E68AB 96FD0D31EA4E68AB 06191AA594891CF5 46111AA590891CF5 5EA7EFD557946962 1EAFEFD553946962 41FB7704781CC88A 01F377047C1CC88A 9689B9123F7C5431 D681B9123B7C5431 6F25032B4A309BFE 2F2D032B4E309BFE D8C4B02D8E8BF1E9 98CCB02D8A8BF1E9 F663E8CCEE86805B B66BE8CCEA86805B 428B29BFDFA838DB 028329BFDBA838DBB 04BE2D22D81EDC66 44B62D22DC1EDC66 667B779123A3EF80 2673779127A3EF80 BC86D401D6752438 FC8ED401D2572438 6FE5E9547659E401 2FEDE9547259E401 27D3BAC6453BE3DE 67DBBAC6413BE3DE 1D864E7642A7023A 5D8E4E7646A7023A 5256CA6894707CBA 125ECA6890707CBA C05383B8EFCD2BD7 805B83B8EBCD2BD7 50EB21CA17F9A96E 10E321CA17F9A96E 60EB1229ACD90EDC 20E31229A8D90EDC 5923D04CE94D6111 0B302A51B7E5476A 5F817F0ABC770E75 DFB5F3F500BC0100 B7B9FED8AC93EBFA A2B352B7F922E8DA D6BC4B89CED2DEAC 4D464847065C0938 7554D87AEDCE5634 649C1D084F920F9E BE12A10384365E65 15E664293F4D77EE E23396A758DC9CE6 8ABD385C441FD6CE 06DE8D55777AB65C E1E63120742099BB 1AF88A2CF6649A4A 48FE50DE774288D7 47950691260D5E10 F34D565E6AE85683 A4D2DB548622A8E8 51BD62C9D5D0F0BB D2ABB03CF9D26C0A 006D62A65761089F 9FD73EF6124B0C11 26D99536D99B5707 94144EBDA0CDEB55 5D09CBF2CE7E5A69 5EFF8BFCA7BAA152 E05572AAA5F6C377 3C670BC455144F61 2C465BF6F52F864C B71D106444F95F31 8F160E29000461CD 2A6660F46487F885 65F91EEBFD8A9D05 84761791B3C36661 91527F9349ABCF15 30F28F06A7B0A35A 710B6EC61BF63E9C 53AC029D8E0179D5 26D95BA4DE4C85CF 8F01A90F638AFFF6 3890EE8567782F96 EE404DF7BE537589 Plaintext Ciphertext 8E9A17D17B173B99 CE9217D17F173B99 6EC5CD0802C98817 2ECDC0806C98817 1E81712FF1145C06 5E89712FF5145C06 885C3933627EDEF0 B7ABB6DF5835E962 A985ADFB1FEE013C 0428DE024B7E4604 417E667A99B3CFA5 5C24AA056EB1ADBA 76 ** 77 ** 78 ** 79 80 ** 81 ** 82 83 * 84 ** 85 ** 86 ** 87 88 89 90 ** 91 ** 92 ** 93 ** 94 ** 95 96 ** Pair Rightpair 97 ** 98 ** 99 DF3C5C13311AEC7C 9F345C13351AEC7C 7C34472994127C2D 3C3C472990127C2D 37304DABA75EAFB3 77384DABA35EAFB3 D03A16E4C2D8B54B 903216E4C6D8B54B 8CED882B5D91832E CCE5882B5991832E 1BB0E6C79EFBEC41 5BB8E6C79AFBEC41 D41B8346DA9E2252 94138346DE9E2252 02A9D0A0A91F6340 42A1D0A0AD1F6304 841B3E27C8F0A561 C4133E27CCF0A561 CDF0A8D6EE909185 8DF8A8D6EA909185 4C31AC854F44EA34 0C39AC854B44EA34 DB3FC0703C972930 9B37C07038972930 E4B362BFD6A7CFD1 A4BB62BFD2A7CFD1 F234232A0E0A4A28 B23C232A0A0A4A28 71265345A5874004 312E5345A1874004 3E6364548C857110 7E6B645488857110 464FBEDBD78900A7 0647BEDBD38900A7 373B75F847480BB0 773375F843480BB0 D714E87810DE97AC 971CE87814DE97AC B9B5932EF54B2C60 F9BD932EF14B2C60 2F283C38D2D4E1DD 6F203C38D6E4D1DD BF01675096F1C48A 243D99BCE12DB864 713915DA311A7CF4 E9733D11D787E20B EFB5C37FA0238ADF A728F7407AF958B3 423FC0AC24CEFEDD 047D8595DB4D372E 0006E2DE3AF5C2B5 00F6AA9ED614001B E9AED4363915775A 655BC48F1FFB5165 34F5E0BCC5B042EA 702D2C48CDBE5173 E2F1C10E59AF07C5 BDEE6AA00F25F840 2B288E554D712C92 FF8609C9E7301162 5D661834D1C76324 22034D57D21FFB56 BD016309AEBD9BB1 C72EEDC4FA1D9312 296ABCFBF01DF991 CA4700686F9F83A2 20FDAF335F25B1DA 008C24D75E14ACBD 90CFD699F2DEC5BD 2918D3DE0C1B689C 3052CE3CE88710AE 38F0FC685DF30564 0E8581E42C9FEC6F 4DD1751B61EC5529 90F5F9ADEDED627A 2EF4C540425E339B 5408B964F8442D16 805287D52599E9F0 4EC4D623108FA909 0AA0725CED10D6A3 4B438B3CCF36DEC9 054C6A337709280D 83515FB6DFEA90B8 09BCC4FF38C7BC23 Plaintext Ciphertext 1EB8ADAA43BBD575 5EB0ADAA47BBD575 3164AA5454D9F991 716CAA5450D9F991 D78C1C5C6F2243D2 21A1E04813616E42 D044BA3F25DFD02A 9382C6C1883F1038 5CDFED4FF2117DEC 1CCEB091E030E6A6 100 ** 101 ** 102 ** 103 104 ** 105 ** 106 ** 107 ** 108 109 ** 110 111 112 ** 113 ** 114 ** 115 116 ** 117 118 119 120 * 97841C5C6B2243D2 BBE212A7D3CE3D14 FBEA12A7D7CE3D14 104917795E98D0FB 504117795A98D0FB 4DDA114D6EFEEEB4 0DD2114D6AFEEEB4 E0BED7B285BF0A77 A0B6D7B281BF0A77 0AE1555FA1716214 4AE9555FA5716214 4657C26790FCB354 065FC26794FCB354 32BD719B0DC1B091 72B5719B09C1B091 0992F8C8C73A9BFE 499AF8C8C33A9BFE 02C3F061A237BBEB 42CBF061A637BBEB 80E529E69EDE6827 C0ED29E69ADE6827 B55E84630067B8D5 F55684630467B8D5 2749C2EBC603BFF2 6741C2EBC203BFF2 C4C5E14D4C5D9FF5 84CDE14D485D9FF5 1566BA21F2647E18 556EBA21F6647E18 2D093D426D992F92 6D013D4269922F92 004518468E0C96C3 404D18468A0C96C3 437B70A98AE03344 037370A98EE03344 2D01F1073D3E375B 6D09F107393E375B 66573DD7E0D7F110 265F3DD7E4D7F110 0846DB9538155201 484EDB953C155201 ABB34FC195C820D1 EBBB4FC191C820D1 4DA2CD67CC449B21 2917C207B4D93E0D A01D50E5A2B902D8 40916A71385C2803 413FD26EF671F46D 2E2C65E1D5CBAC31 A16FF03BC0913ED6 5D9EFEFF0AD10490 4C6CA1FAC36A8E5B 378400BCED39EB81 A1E0C758BD8912C2 588BA079B2E7ED20 DA90827AEED7A41F F3477C7552BCB05D EFF444449D66BE9E 9F3FFD0F158295F6 C138358DCECC8FC7 AC28B0307127EA7C 3FF1DAED9E0FCBC5 1DF1DB7B66BA1AF1 15700151A5804549 88321611FF9DA421 90649D7EACF91F9A A62B23A7348E2C3A EB760A09C7FF5153 ABC2312FBFD94DFS D2BB5954E5062D53 A247ED988457CB78 5E99F231005F5249 5DF62030B9F23AE9 5D92DA1F3AD07BA1 F28D85FF7E84F38F 52541B0443053C57 04B3FBF9823B4CF7 14EBEC79DAD3093E F10B3E1EE356226C 6FF26DA5E3525B62 F2F26204C29FE51E 083A4ECE57E429AC F120D0D2AE700057 00CC914A33034782 5F17AE066B50FC81 2858DD63A2FA4B51 Bµi tËp 3.1.h y chøng minh r»ng phÐp gi¶i m DES cã thĨ thùc hiƯn b»ng c¸ch ¸p dơng tht to¸n m ho¸ DES cho rõ với bảng khoá đảo ngợc 3.2.Cho DES(x,K) phép m hoá DES rõ x với khoá K Giả sử y = DES(x,K) y' = DES(c(x),c(K)) c(.) kí hiệu phần bù theo c¸c bÝt cđa biÕn H y chøng minh r»ng y' = c(y) ( tức lấy phần bù rõ khoá m kết phần bù m ban đầu) Chú ý kết chứng minh đợc cách sử dụng mô tả "mức cao" DES - cấu trúc thực tế hộp S thành phần khác hệ thống không ảnh hởng tới kết 3.3.M kép cách để làm mạnh thêm cho DES: với hai khóa K1 K2 cho trớc, ta xác định y = eK2(eK1(x)) (dĩ nhiên tích DES với Nếu hàm m hoá eK2 giống nh hàm giải m dK1 K1 K2 đợc gọi khoá đối ngẫu ( trờng hợp không mong muốn phép m kép m kết lại trùng với rõ) Một khoá đợc gọi tù ®èi ngÉu nÕu nã ®èi ngÉu víi chÝnh nã a/ H y chøng minh r»ng nÕu C0 gåm toµn số gồm toàn số D0 K tự đối ngẫu b/ H y tù chøng minh r»ng c¸c kho¸ sau ( cho dạng hexa) tự đối ngẫu: 0101010101010101 FEEFEFEFEFEFEFE 1F1F1F1F0E0E0E0E E0E0E0E0F1F1F1F1 c/ H y chøng tá r»ng nÕu C0 = 0101 01 hc 1010 .10 ( dạng nhị phân) XOR xâu bít Ci C17-i 111 .11, vơi i 16 ( khẳng định tơng tự Di) d/ H y chứng tỏ cặp khoá sau ®èi ngÉu: E001E001F101F101 01E001E001F101F1 FE1FFE1FF0EFE0E 1FFE1FFE0EFE0EFE E01FE01FFF10FF10 1FE01FE00EF10EF1 3.4.Cã thÓ tạo m xác thực thông báo chế độ CFB nh chế độ CBC Cho d y khèi b¶n râ x1 .xn , gi¶ s− ta xác định véc tơ khởi đầu IV x1 Sau m hoá x2 .xn khoá K chế độ CFB để thu đợc y1 yn-1 ( chó ý r»ng chØ cã n-1 khèi b¶n m ) Cuối xác định eK(yn-1) làm MAC H y chứng minh MAC đòng với MAC đợc tạo phần 3.4.1 dùng chế độ CBC 3.5.Giả sử d y khối rõ x1 .xn đợc m hoá DES, tạo khối m y1 .y2 Gi¶ sư r»ng mét khèi m ( chẳng hạn yi) bị phát sai ( tức có số số bị chuyển thành số ngợc lại) H y số khối rõ bị giải m không ta dùng chế độ ECB OFB để m hoá; hai dùng chế độ CBC CFB để m hoá 3.6.Bài tập nhằm nghiên cứu phép tối u hoá thời gian - nhớ đơn giản phép công rõ chọn lọc Giả sử có hệ mật P = C = K đạt đợc độ mật hoàn thiện Khi eK(x) = eK1(x) cã nghÜa lµ K = K1 KÝ hiƯu P = Y = {y1, .,yN} Cho x rõ cố định Định nghĩa hàm g: Y Y theo quy tắc g(y) = ey(x) Ta xác định đồ có hớng G chứa tập đỉnh Y, tập cạnh chứa tất cạnh có hớng có d¹ng (yi,g(yi)), ≤ i ≤ N a/ H y chứng minh G gồm tất chu trình có hớng không liên thông b/ Cho T tham sè thêi gian mong mn Gi¶ sư ta cã tập phần tử Z = {z1, .,zm} Y cho với phần tử yi Y nằm chu trình có độ dài tối đa T tồn phần tử zj yi cho khoảng cách tử yi tới zj G tối đa T H y chứng tỏ r»ng tån t¹i mét tËp Z nh− vËy cho: | Z | ≤ 2N/T vµ nh− vËy | Z | = 0(N/T) c/ Với zj Z ta xác định g-T(zj) phần tử yi cho gT(yi) = zj , gT hàm gồm T phép lặp g H y xây dựng bảng X gồm cặp (zi,g-T(zj)) đợc xếp theo toạ độ đầu chúng Một mô tả giả m thuật toán tìm K với y = eK(x) cho trớc đợc trình bày hình 3.15 H y chứng tỏ thuật toán tìm K tối ®a lµ T b−íc ( bëi vËy cì cđa phÐp tối u hoá thời gian - nhớ 0(N)) Hình 3.15 Phép tối u hoá thời gian - nhí Ystart = y Backup = false While g(y) ≠ ystart if y = zj với j and not backup then y = g-T(zj) backup = true else y = g(y) K = y d/ H y m« tả thuật toán giải m để xây dựng tập Z mong muèn thêi gian 0(NT) kh«ng dïng mét mảng có kích thớc N 3.7 H y tính xác suất đặc trng vòng sau: L0' = 0020000816 L1' = 0000040016 L2' = 0000000016 L3' = 0000040016 R0' = 0000040016 R1' = 0000000016 p = ? R2' = 0000040016 p = ? R3' = 0020000816 p = ? 3.8 Sau phép công vi sai DES vòng sử dụng đặc trng sau ( trờng hợp đặc biệt đặc trng đợc trình bày hình 3.10) L0' = 2000000016 L1' = 0000000016 R0' = 0000000016 R1' = 2000000016 p=1 a/ Giả sử thuật toán sau ( đợc nêu hình 3.16) đợc dùng để tính tập test2, .,test8 H y chøng tá r»ng Jj ∈ testj víi ≤ j ≤ H×nh 3.16 TÊn công DC lên DES vong Vào : L0R0, L0*R0*, L3R3 L3*R3*, L0' = 1000000016 R0' = 0000000016 TÝnh C ' = P-1(R4') TÝnh E = E(L4) vµ E* = E*(L4*) For j =2 to Tính testj(Ej,Ej*,Cj') b/ Với cặp rõ - m sau, h y xác định bít khoá J2, ,J8 Bản rõ 18493AC485B8D9A0 38493AC485B8D9A0 482765DDD7009123 682765DDD7009123 ABCD098733731FF1 8BCD098733731FF1 13578642AAEDCB 33578642AAFFEDCB B¶n m E332151312A18B4F 87391C27E5282161 B5DDD833D82D1D1 81F4B92BD94B6FD8 93A4B42F62EA59E4 ABA494072BF411E5 FDEB526275FB9D94 CC8F72AAE685FDB1 c/ H y tÝnh toµn khoá ( 14 bít khoá lại cần phải xác định tìm theo phơng pháp tìm kiếm vÐt c¹n) ... 22 28 62 31 30 12 34 57 33 27 46 37 13 Vßng 12 50 33 59 19 52 27 44 18 41 34 25 60 43 57 58 36 35 26 17 11 23 61 55 38 37 13 31 54 20 30 62 22 39 29 12 53 46 15 14 63 21 28 58 34 17 43 51 18 44... 41 50 35 36 43 42 33 60 18 28 14 29 47 46 22 15 63 61 39 31 13 38 53 62 55 20 23 38 30 Vßng 36 41 60 50 10 43 59 18 57 35 58 25 5251 34 19 49 27 26 17 44 12 54 61 13 31 30 20 62 47 45 23 55 15... 34 57 19 10 33 28 45 15 21 54 47 23 Vßng 42 58 17 27 34 44 33 18 19 26 25 52 43 28 31 53 63 13 46 20 38 47 37 22 15 54 19 41 29 60 44 39 63 43 35 46 45 Vßng 33 58 26 42 11 18 57 51 34 17 10 36

Ngày đăng: 11/05/2021, 04:38

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

Tài liệu liên quan