Tài liệu Chương 3: Chuẩn mã dữ liệu docx

50 451 0
Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Đ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

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 sử dụng rộng rãi giới DES IBM phát triển xem cải biên cuả hệ mật LUCIPHER Lần DES 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 chấp nhận chọn làm chuẩn cho ứng dụng không coi mật vào 5.1.1977 Kể từ năm lần, DES lại 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 đốn DES khơng cịn chuẩn sau 1998 3.2 Mơ tả DES Mơ tả đầy đủ DES 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ã hố xâu bít x bẳn rõ độ dài 64 khoá 54 bít Bản mã nhậ 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 xây dựng cách hốn vị bít x theo phép hốn vị cố định ban đầu IP Ta viết:x 0= IP(X) = L0R0, L0 gồm 32 bít đầu R0 32 bít cuối Sau tính tốn 16 lần lặp theo hàm xác định Ta tính L iRi, ≤ 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 hàm mà ta mơ tả sau, cịn K 1,K2, ,K16 xâu bít độ dài 48 tính hàm khố K ( thực tế K i phép chọn hoán vị bít K) K1, , K16 tạo thành bảng khố Một vịng phép mã hố mơ tả hình 3.1 áp dụng phép hốn vị ngược IP -1 cho xâu bít R16L16, ta thu mã y Tức y=IP -1 (R16L16) Hãy ý thứ tự đảo L16 R16 Hình 3.1 Một vong DES Li-1Ri-1 f Ki + LiRi Hàm f có hai biến vào: biến thứ 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 thực hiện: Biến thứ A 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 hố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 dùng bảng S1, S2, ,S8 ( gọi hộp S ) Với Si bảng 4×16 cố định có hàng số ngun từ đến 15 Với xâu bít có độ dài (Kí hiệu B i = b1b2b3b4b5b6), ta tính Sj(Bj) sau: Hai bít b1b6 xác định biểu diễn nhị phân hàng r S j ( ≤ r ≤ 3) bốn bít (b2b3b4b5) xác định biểu diễn nhị phân cột c S j ( ≤ c ≤ 15 ) Khi Sj(Bj) xác định phần tử Sj(r,c); phần tử viết dạng nhị phân xâu bít có độ dài ( Bởi vậy, Sj coi hàm mã mà đầu vào xâu bít có độ dài xâu bít có độ dài 4, cịn đầ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 hoán vị theo phép hoán vị cố định P Xâu kết P(C) xác định f(A,J) Hàm f mơ tả hình 3.2 Chủ yếu gơmg phép ( sử dụng hộp S ), tiếp sau phép hốn vị P 16 phép lặp f tạo nên hệ mật tích nêu phần 2.5 Hình 3.2 Hàm f DES A J E E(A) + B1B2B3B4B5B6B7B8 S1 S2 S3 S4 S5 S6 S7 S8 c1c2c3c4c5c6c7c8 f(A,J) Trong phần cịn lại mục này, ta mơ tả hàm cụ thể dùng DES Phép hoán vị ban đầu IP 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 x bít thứ hai 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 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à: S1 14 13 15 14 14 13 15 12 15 11 10 12 13 10 12 11 11 15 12 10 11 14 10 13 S1 15 13 14 13 10 14 11 15 10 11 14 12 13 15 11 13 12 10 12 12 0 5 10 11 15 14 15 13 12 11 4 10 14 12 11 11 12 10 15 14 11 15 14 12 S3 10 13 13 10 13 13 14 13 11 10 15 14 9 6 15 0 12 11 10 13 10 13 S4 11 12 15 12 10 14 15 14 11 12 14 12 10 11 14 11 12 13 11 10 13 11 12 14 13 S5 15 13 15 10 15 12 6 15 10 12 10 15 10 15 14 15 12 S6 13 14 15 11 13 14 11 10 13 11 11 14 11 13 12 12 15 10 14 14 11 13 11 12 14 15 11 11 13 12 13 13 15 13 11 14 13 10 14 10 15 11 10 12 14 10 13 S7 12 10 14 12 15 10 15 15 14 12 S8 10 14 12 12 11 14 10 13 15 15 12 11 Và phép hốn vị P có dạng: 16 29 32 19 22 P 12 15 18 27 13 11 20 28 23 31 30 Cuối cung ta cần mơ tả việc tính tốn bảng khố từ khoá K Trên thực tế, K xâu bít độ dài 64, 56 bít khố bít để kiểm tra tính chẵn lẻ nhằm phát sai Các bít vị trí 8,16, , 64 xác định cho byte chứa số lẻ số "1" Bởi sai sót đơn lẻ phát nhóm bít Các bít kiểm tra bị bỏ qua q trình tính tốn bảng khố Với khố K 64 bít cho trước, ta loại bỏ bít kiểm tra tính chẵn lẻ hốn vị bít cịn lại K theo phép hố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 khố mơ tả hình 3.3 Các hốn vị PC-1 PC-2 dùng bảng khoá là: PC-1 57 49 41 33 58 50 42 10 59 51 19 11 60 63 55 47 39 62 54 46 14 61 53 21 13 28 Hình 3.3 Tính bảng khố DES 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 K PC-1 C0 D0 LS1 LS1 C1 D1 PC-2 K1 PC-2 K16 LS16 LS16 C16 D16 14 23 16 41 30 44 46 PC-2 17 11 24 28 15 19 12 27 20 52 31 37 40 51 45 49 39 56 42 50 36 21 10 26 13 47 55 33 48 34 53 29 32 Bây ta đưa bảng khoá kết Như nói trên, vịng sử dụng khố 48 bít gồm 48 bít nằm K Các phần tử bảng biểu thị bít K vịng khố 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 19 41 29 27 10 11 15 28 14 11 60 55 12 60 44 39 63 36 30 39 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 59 51 62 61 49 50 14 23 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 50 60 41 35 25 57 19 18 51 52 59 58 49 11 34 13 23 30 45 63 62 38 21 31 12 14 55 20 47 29 54 15 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 25 49 10 18 50 41 11 39 14 21 15 38 55 45 60 59 15 45 33 11 50 44 58 49 43 38 23 21 62 46 28 53 29 Vòng 11 35 19 43 17 60 59 44 52 51 42 54 53 29 47 22 28 62 31 30 12 Vòng 12 36 37 34 57 33 27 46 37 13 Chiến thuật ta tính Ej, Ej* Cj' ( 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 khố cho J j 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 | test j | = với 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 để test j = với giá trị j định xấp xỉ 1/5 Đây giả định hợp lý N j(Ej',Cj') = | testj | 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 lượng 0,8 ≈ 0,33 Bởi xác suất để tập testj có lực lượng vào khoảng 0,67 Như ta hy vọng loại bỏ 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ỉ (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 L0' = 4008000016 R0' = 0400000016 Các đầu vào đầu hộp S vòng tính sau: j Ej 111100 111101 011010 101111 111110 Ej* 010010 111100 000101 010110 101100 Khi tập testj (2, 5, 6, 7, 8) là: Cj' 1101 0001 0010 1100 1101 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 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 | test j | > 0, với j = 2, 5, 6, 7, 8, để cịn tồn lại sau phép lọc ( nhiên chưa 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 gợi ý cặp Jj ∈ testj với j = 2,5,6,7,8 Số xâu bít gợi ý là: Thơng thường số xâu bít gợi ý có giá trị q lớn ( ví dụ: > 80000) Giả sử ta lập bảng tất xâu bít gợi ý thu từ N cặp ( không bị loại bỏ phép lọc) Với cặp đúng, xâu bít J J5 J6 J7 J8 xâu bít 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 ôựi ý cồng kềnh, ta dùng thuật tốn u cầu thời gian khơng gian ( nhớ) Ta mã tập testj véc tơ T j có độ dài 64, tạo độ thứ i Tj đặ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 đặt ( giống cách biểu diễn mảng đếm dùng phép cơng vịng) Với cặp cịn lại ta xây dượng véc tơ mô tả ký hiệu chúng Tji , j = 2,5,6,7,8, ≤ i ≤ N Với I ⊆ {1, ,N} ta nói I tập phép với j ∈{2,5,6,7,8} có toạ độ | I | véc tơ ∑Tj (với j ∈ I) Nếu cặp thứ i cặp với i ∈ I I tập phép Bởi ta tin có tạp phép với kích thước xấp xỉ 3N/16 chứa bít khố ngồi khơng có tập khác Có thể dễ dàng xây dựng tập phép I thuật tốn đệ quy Ví dụ 3.5 Một số chương trình máy tính 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õ 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 phép ta thu n i tập phép có lực lượng sau: i 10 ni 111 180 231 255 210 120 45 10 Tập phép có lực lượng 10 là: {24,29,30,48,50,52,55,83,92,118} Thực tế tập tạo theo 10 cặp Chỉ có tập phép chứa bít khố cho J2, J5, J6, J7, J8 Chúng có giá trị sau: J2 = 011001 J5 = 110000 J6 = 001001 J7 = 101010 J8 = 100011 Chú ý tất tập phép có lực lượng tối thiểu khơng kể tập phép có lực lượng sinh từ cặp với ≤ i ≤ 10 Phương pháp cho ta biết 30 bít 56 bít khố Bằng đặc trưng vịng khác ( nêu hình 3.14 ), ta tính thêm 12 bít khố ( bít nằm J1 J4) Bây cịn lại 14 bít khố chưa 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 khố ( dạng hexa, kể bít kiểm tra chẵn lẻ ) là: 34E9F71A20756231 Như nói trên, 120 cặp 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 bị loại bỏ phép lọc Trong số 120 cặp, có 73 cặp xác định cặp sai nhờ q trình lọc, 47 cặp cịn lại cặp 3.6.3 Các ví dụ khác DC Các kỹ thuật DC sử dụng để cơng DES có vòng Với DES vòng cần 14 rõ chọn lọc, DES 10, 12, 14, 16 vịng phá với tương ứng 24, 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 hốn vị - thay khác với DES dùng DC để phá ( mức độ khác ) Trong hệ này, có số hệ mật hốn vị - thay đưa năm gần 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 cịn bí mật NAS Tuy nhiên khơng cần thiết bị chuyên dụng đắt tiền để phá DES Các thơng báo mã hố 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 khố 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 gọi " thám mã tuyến tính" Sử dụng 43 (8.796.093.022.208) mã biết Matsui phá khố 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 sử dụng DES [NBS 81]; chế độ làm việc DES [NBS 80]; xác thực DES [NBS 85] Một số tính chất hộp S Brickell, Moore Purtill [BMP87] nghiên cứu Chíp giải mã DES mơ tả [EB 93] Thiết bị tìm khố Wiener mô tả CRYPTO' 93 [Wi 94] Phép tối ưu hoá thời gian - nhớ tổng quát trình bày Fiat Naor [FN 91] Kỹ thuật DC 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 hốn vị - thay khác tìm tài liệu sau: LUCIFER [FE 73], FEAL [MI 91], REDOC-II [CW 91] LOKI [BKPS 90] Bảng 3.1 Mã thám DES vòng Cặp Cặp Bản rõ Bản mã ** 86FA1C2B1F51D3BE 1E23ED7F2F551971 ** ** ** C6F21CC2B1B51D3BE EDC439EC935E1ACD ADCC39EC975E1ACD 9468A0BE00166155 D460A0BE04166155 D4FF2B18A5A8AACB 94F72B18A1A8AAC8 296DE2BG87AC6310 0F847EFE90466588 93E84839E374440B 3D6A906A6566D0BF 3BC3B23698379E1 26B14738C2556BA4 15753FDE86575ABF Bài tập 3.1.hãy chứng minh phép giải mã DES thực cách áp dụng thuật 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 bít biến Hãy chứng minh y' = c(y) ( tức lấy phần bù rõ khố mã kết phần bù mã ban đầu) Chú ý kết chứng minh 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 K 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ã hố eK2 giống hàm giải mã dK1 K1 K2 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 khố gọi tự đối ngẫu đối ngẫu với a/ Hãy chứng minh C0 gồm toàn số gồm toàn số D0 K tự đối ngẫu b/ Hãy tự chứng minh khoá sau ( cho dạng hexa) tự đối ngẫu: 0101010101010101 FEEFEFEFEFEFEFE 1F1F1F1F0E0E0E0E E0E0E0E0F1F1F1F1 c/ Hãy chứng tỏ C0 = 0101 01 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 chế độ CBC Cho dãy khối rõ x1 .xn , giả sư ta xác định véc tơ khởi đầu IV x1 Sau mã hố x2 .xn khố K chế độ CFB để thu y1 yn-1 ( ý có n-1 khối mã ) Cuối xác định e K(yn-1) làm MAC Hãy chứng minh MAC đòng với MAC tạo phần 3.4.1 dùng chế độ CBC 3.5.Giả sử dãy khối rõ x .xn mã hoá DES, tạo khối mã y1 .y2 Giả sử khối mã ( chẳng hạn y i) 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 độ mật hồn thiện Khi e K(x) = eK1(x) có nghĩa K = K1 Kí hiệu P = Y = {y 1, .,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 muốn 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ử z j ≠ yi cho khoảng cách tử yi tới zj G tối đa T Hãy chứng tỏ tồn tập Z cho: | Z | ≤ 2N/T | 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)) xếp theo toạ độ đầu chúng Một mô tả giả mã thuật tốn tìm K với y = e K(x) cho trước trình bày hình 3.15 Hãy chứng tỏ thuật tốn tìm K tối đa T bước ( cỡ phép tối ưu hố 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ảng có kích thước N 3.7 Hãy tính xác suất đặc trưng 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 trưng sau ( trường hợp đặc biệt đặc trưng trình bày hình 3.10) L0' = 2000000016 L1' = 0000000016 R0' = 0000000016 R1' = 2000000016 p=1 a/ Giả sử thuật tốn sau ( nêu hình 3.16) dùng để tính tập test2, .,test8 Hãy chứng tỏ 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) E* = E*(L4*) For j =2 to Tính testj(Ej,Ej*,Cj') b/ Với cặp rõ - mã sau, xác định bít khố J2, ,J8 Bản rõ 18493AC485B8D9A0 38493AC485B8D9A0 482765DDD7009123 682765DDD7009123 ABCD098733731FF1 8BCD098733731FF1 13578642AAEDCB 33578642AAFFEDCB Bản mã E332151312A18B4F 87391C27E5282161 B5DDD833D82D1D1 81F4B92BD94B6FD8 93A4B42F62EA59E4 ABA494072BF411E5 FDEB526275FB9D94 CC8F72AAE685FDB1 ... Phép giải mã thực nhờ dùng thuật toán phép mã đầu vào y dùng bảng khoá theo thứ tự ngược lại K 16, K1 Đầu thuật tốn rõ x 3.2.1 Một ví dụ DES Sau ví dụ phép mã DES Giả sử ta mã rõ (ở dạng mã hexa... sử dụng CFB mô tả hình 3.5 (chú ý hàm mã DES e K dùng cho phép mã phép giải mã chế độ CFB OFB) Hình 3.5 Chế độ CFB x1 IV=y0 eK Mã hoá Encrypt + x2 eK + Giải mã Decrypt eK y2 y1 IV=y0 y1 y2 + x1... thám mã tuyến tính" Sử dụng 43 (8.796.093.022.208) mã biết Matsui phá khố 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

Ngày đăng: 25/12/2013, 20:15

Hình ảnh liên quan

vị bít trong K). K1, ..., K16 sẽ tạo thành bảng khoá. Một vòng của phép mã hoá được mô tả trên hình 3.1. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

v.

ị bít trong K). K1, ..., K16 sẽ tạo thành bảng khoá. Một vòng của phép mã hoá được mô tả trên hình 3.1 Xem tại trang 2 của tài liệu.
Hà mf được mô tả trong hình 3.2. Chủ yếu nó gômg một phép thế (sử dụng hộp S ), tiếp sau đó là phép hoán vị P - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

mf.

được mô tả trong hình 3.2. Chủ yếu nó gômg một phép thế (sử dụng hộp S ), tiếp sau đó là phép hoán vị P Xem tại trang 3 của tài liệu.
Bảng này có nghĩa là bít thứ 58 của x là bít đầu tiên của IP(x); bít thứ 50 của x là bít thứ hai của IP(x), .v.v  - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Bảng n.

ày có nghĩa là bít thứ 58 của x là bít đầu tiên của IP(x); bít thứ 50 của x là bít thứ hai của IP(x), .v.v Xem tại trang 4 của tài liệu.
Bảng chọ nE bít - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Bảng ch.

ọ nE bít Xem tại trang 4 của tài liệu.
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 là một xâu bít độ dài 64, trong đó 56 bít là khoá và 8 bít để kiểm tra tính chẵn lẻ nhằm phát hiện sai - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

u.

ố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 là một xâu bít độ dài 64, trong đó 56 bít là khoá và 8 bít để kiểm tra tính chẵn lẻ nhằm phát hiện sai Xem tại trang 6 của tài liệu.
Các hoán vị PC-1 và PC-2 được dùng trong bảng khoá là: - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

c.

hoán vị PC-1 và PC-2 được dùng trong bảng khoá là: Xem tại trang 7 của tài liệu.
Bây giờ ta sẽ đưa ra bảng khoá kết quả. Như đã nói ở trên, mỗi vòng sử dụng một khoá 48 bít gồm 48 bít nằm trong K - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

y.

giờ ta sẽ đưa ra bảng khoá kết quả. Như đã nói ở trên, mỗi vòng sử dụng một khoá 48 bít gồm 48 bít nằm trong K Xem tại trang 9 của tài liệu.
Hình 3.4. Chế độ CBC. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Hình 3.4..

Chế độ CBC Xem tại trang 17 của tài liệu.
dụng CFB được mô tả trên hình 3.5 (chú ý rằng hàm mã DES eK được dùng - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

d.

ụng CFB được mô tả trên hình 3.5 (chú ý rằng hàm mã DES eK được dùng Xem tại trang 18 của tài liệu.
Sau đó Oscar xây dựng một bảng các cặp T= (X(i,t), X(i,0) được sắp xếp theo toạ độ đầu của chúng( tức là chỉ lưu giữ cột đầu và cột cuối của X). - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

au.

đó Oscar xây dựng một bảng các cặp T= (X(i,t), X(i,0) được sắp xếp theo toạ độ đầu của chúng( tức là chỉ lưu giữ cột đầu và cột cuối của X) Xem tại trang 21 của tài liệu.
Oscar sẽ thực hiện theo thuật toán được mô tả trên hình 3.7. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

scar.

sẽ thực hiện theo thuật toán được mô tả trên hình 3.7 Xem tại trang 22 của tài liệu.
Chú ý rằng phân bố được lập bảng ở trong ví dụ 3.1 chứa các giá trị N1(110100,C1'), C1'   ∈(Z2)4 - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

h.

ú ý rằng phân bố được lập bảng ở trong ví dụ 3.1 chứa các giá trị N1(110100,C1'), C1' ∈(Z2)4 Xem tại trang 25 của tài liệu.
Mô tả dạng giả mã của thuật toán này được cho ở hình 3.9. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

t.

ả dạng giả mã của thuật toán này được cho ở hình 3.9 Xem tại trang 28 của tài liệu.
Tiếp theo, lập bảng các giá trị trong 8 dãy bộ đếm cho từng cặp. Minh - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

i.

ếp theo, lập bảng các giá trị trong 8 dãy bộ đếm cho từng cặp. Minh Xem tại trang 30 của tài liệu.
Hình 3.13. DC đối với DE S6 vòng. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Hình 3.13..

DC đối với DE S6 vòng Xem tại trang 35 của tài liệu.
Việc lập bảng tất cả các xâu bít được ôựi ý sẽ rất cồng kềnh, bởi vậy ta sẽ dùng một thuật toán yêu cầu ít thời gian và không gian ( bộ nhớ) - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

i.

ệc lập bảng tất cả các xâu bít được ôựi ý sẽ rất cồng kềnh, bởi vậy ta sẽ dùng một thuật toán yêu cầu ít thời gian và không gian ( bộ nhớ) Xem tại trang 37 của tài liệu.
Hình 3.15. Phép tối ưu hoá thời gia n- bộ nhớ. - Tài liệu Chương 3: Chuẩn mã dữ liệu docx

Hình 3.15..

Phép tối ưu hoá thời gia n- bộ nhớ Xem tại trang 49 của tài liệu.

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan