YOMEDIA
ADSENSE
Chương 4. Mã Hóa Theo Khối và DES (2)
125
lượt xem 21
download
lượt xem 21
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Hoán vị khởi tạo: Là bước đầu của quá trình mã hóa. Gồm 2 bước: Làm thay đổi trật tự các bit nguồn (xét khối nguồn 64 bit). Chia thành 2 nửa (mỗi phần 32 bit): Các bit chẵn chọn vào nửa đầu, lẻ vào nửa sau. Nói chung không tăng độ an toàn của thuật toán mà chỉ làm cho thuật toán phức tạp hơn. Ví dụ: IP (675a6967 5e5a6b5a) = (ffb2194d 004df6fb)
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 4. Mã Hóa Theo Khối và DES (2)
- * Chương 4 Mã Hóa Theo Khối và DES (tt) Bảo Mật Thông Tin * *Trần Nhật Quang *Khoa Công Nghệ Thông Tin – ĐH
- *Các Nội Dung *DES (tiếp theo) *Sử dụng DES trong thực tế *Các Kiểu sử dụng (Mode of use): ECB, CBC, OFB, và CFB Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 2
- Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 3
- *Quá Trình Mã Hóa *Hoán vị khởi tạo IP * Xáo trộn 64 bit dữ liệu và chia 2 nửa R0, L0 (32 bit) *Các phép tính ở vòng thứ i trong 16 vòng lặp * Hàm mở rộng E(Ri1) (32 bit 48 bit) * XOR với khóa Ki * 8 Sbox (6 bit 4 bit) * Hoán vị P xáo 32 bit nhận được * XOR với Li1 để cho ra Ri * Tóm lại : Ri = Li1 XOR P( S(E(Ri1) XOR Ki) ) * Còn : Li = Ri1 (vòng 16 không đảo chỗ R16 và L16) *Hoán vị kết thúc FP ( = IP1 ) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 4
- Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 5
- *Hoán Vị Khởi Tạo (Intial Permutation – IP) Là bước đầu của quá trình mã hóa. Gồm 2 bước: * *Làm thay đổi trật tự các bit nguồn (xét khối nguồn 64 bit). *Chia thành 2 nửa (mỗi phần 32 bit): Các bit chẵn chọn vào nửa đầu, lẻ vào nửa sau. *Nói chung không tăng độ an toàn của thuật toán mà chỉ làm cho thuật toán phức tạp hơn. *Ví dụ: IP (675a6967 5e5a6b5a) = (ffb2194d 004df6fb) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 6
- 1 2 3 4 5 6 7 8 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 9 10 11 12 13 14 15 16 62 54 46 3 30 22 14 6 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 IP 8 32 64 64 64 56 48 40 32 24 16 8 33 34 35 36 37 38 39 40 57 49 41 3 25 17 9 1 41 42 43 44 45 46 47 48 3 49 50 51 52 53 54 55 56 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 57 58 59 60 61 62 63 64 63 55 47 3 31 23 15 7 1111 1111 ff 9 0 1 1 0 0 1 1 1 67 1011 0 0 1 0 b2 0 1 0 1 1 0 1 0 5a 0 0 0 1 1 0 0 1 19 0 1 1 0 1 0 0 1 69 0 1 0 0 1 1 0 1 4d 0 1 1 0 0 1 1 1 67 0 0 0 0 0 0 0 0 00 0 1 0 1 1 1 1 0 5e 0 1 0 0 1 1 0 1 4d 0 1 0 1 1 0 1 0 5a 1 1 1 1 0 1 1 0 f6 0 1 1 0 1 0 1 1 6b 1 1 1 1 1 0 1 1 fb 0 1 0 1 1 0 1 0 5a
- Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 8
- *Các Phép Tính Ở Vòng i *Khối nửa phải R(i1)Ł Ri: *Mở rộng E (32 48 bit) *XOR với khóa 48 bit *Thay thế S *Hoán vị P *XOR với nửa trái Ri = Li1 XOR P( S [E(Ri1) XOR Ki ] ) *Khối nửa trái L(i1)Ł Li: Li = Ri1 L(i) = R(i-1) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 9
- *Hàm Mở Rộng E (Expansion Function) *Mở rộng 32 bit Ł 48 bit. 0 0 32 1 2 3 4 5 *Dùng các bit trong 32 bit để 00 4 5 6 7 8 9 thêm thành 2 cột 2 bên. 00 8 9 10 11 12 13 *Đệm thêm 2 cột bit ảo vào 0 0 12 13 14 15 16 17 (bit 0) để đủ 8 bit để ghi 0 0 16 17 18 19 20 21 thành số hexa. 0 0 20 21 22 23 24 25 *Ví dụ: E(00 4d f6 fb) = 20 0 0 24 25 26 27 28 29 00 09 1b 3e 2d 1f 36 0 0 28 29 30 31 32 1 Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 10
- 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 32Ł 48 16 17 18 19 20 21 1 2 3 4 5 6 7 8 20 21 22 23 24 25 9 10 11 12 13 14 15 16 24 25 26 27 28 29 17 18 19 20 21 22 23 24 28 29 30 31 32 1 25 26 27 28 29 30 31 32 1 1 1 1 1 1 1 1 ff 1 0 0 0 0 0 20 0 0 1 0 1 1 0 0 1 0 b2 0 0 0 0 0 0 00 0 0 0 0 0 1 1 0 0 1 19 0 0 1 0 0 1 09 0 0 0 1 0 0 1 1 0 1 4d 0 1 1 0 1 1 1b 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 0 3e 0 0 0 1 0 0 1 1 0 1 4d 1 0 1 1 0 1 2d 0 0 1 1 1 1 0 1 1 0 f6 0 1 1 1 1 1 1f 0 0 1 1 1 1 1 0 1 1 fb 1 1 0 1 1 0 36 0 0
- *Các Phép Tính Ở Vòng i *Khối nửa phải R(i1)Ł Ri: *Mở rộng E (32 48 bit) *XOR với khóa 48 bit *Thay thế S *Hoán vị P *XOR với nửa trái Ri = Li1 XOR P( S [E(Ri1) XOR Ki ] ) *Khối nửa trái L(i1)Ł Li: Li = Ri1 L(i) = R(i-1) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 12
- 48 bit sau mở rộng Subkey 48 bit 00 1 0 0 0 0 0 20 0 0 1 1 1 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 1 0 0 1 00 0 0 1 0 0 1 09 0 0 0 1 1 0 1 1 XOR 00 0 1 1 0 1 1 1b 0 0 1 0 0 1 1 0 00 1 1 1 1 1 0 3e 0 0 1 0 1 1 1 1 00 1 0 1 1 0 1 2d 0 0 1 1 1 0 1 0 00 0 1 1 1 1 1 1f 0 0 1 0 0 1 1 1 00 1 1 0 1 1 0 36 0 0 0 0 1 1 1 1 0 0 0 11 0 0 0 = 0 0 0 01 0 0 1 A = E(R0) XOR K1 0 0 0 10 0 1 0 = 20 00 09 1b 3e 2d 1f 36 0 0 1 11 1 0 1 XOR 38 09 1b 26 2f 3a 27 0f 0 0 0 10 0 0 1 = 18 09 12 3d 11 17 38 39 0 0 0 10 1 1 1 0 0 1 11 0 0 0 A (48 bit) 0 0 1 11 0 0 1
- *Các Phép Tính Ở Vòng i *Khối nửa phải R(i1)Ł Ri: *Mở rộng E (32 48 bit) *XOR với khóa 48 bit *Thay thế S *Hoán vị P *XOR với nửa trái Ri = Li1 XOR P( S [E(Ri1) XOR Ki ] ) *Khối nửa trái L(i1)Ł Li: Li = Ri1 L(i) = R(i-1) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 14
- *Các Sbox 01 23456789 a bc def 0e4 d12f b83a 6 c5 907 S1 1 0f 74e2d1a6 c b9 538 241e8d62bfc 973a50 3f c 8249175b 3 ea 06d *Cần các Sbox biến đổi 48 bit (khối A). *Ta dùng 8 Sbox, mỗi cái sẽ biến đổi 6 bit thành 4 bit. *Mỗi Sbox có 4 hàng và 16 cột (được đánh số từ 0). *Mỗi phần tử của Sbox là một số hexa (4 bit). Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 15
- *Sbox 012 3456789 abcdef 0e4d12f b83a 6c59 07 S1 1 0f 7 4e2d1a6 cb95 38 241e8d62bfc 973a50 3f c8 249175b 3ea0 6d *6 bit đầu vào được biến đổi như sau: * 2 bit đầu và cuối tạo thành chỉ số hàng (03) * 4 bit giữa tạo thành chỉ số cột (0f) * Kết quả là số hexa (4bit) của bảng nằm tại giao điểm *Ví dụ: Ta có 6 bit : (011000)2 , khi đó: * Hàng = (00)2 = 016 * Cột = (1100)2 = c16 * S1(011000)2 = 516 = (0101)2 Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 16
- 10 123456789abcdef 50123456789abcdef 0e 4d12f b83a6c5907 02c417ab6853f d0e9 10 f 74e2d1a6cb9538 1eb2c47d150f a3986 24 1e8d62bf c973a50 2421bad78f 9c5630e 3f c8249175b3ea06d 3b8c71e2d6f 09a453 2f 1 8 e6 b3 4 97 2 dc 0 5a 6c 1af 92680d34e75b 13 d4 7 f 28e c01 a6 9b5 1a f 427c9561de0b38 20 e7 ba 4d1 58c 69 32f 29 ef 528c3704a1db6 3d 8 a 1 3 f 4 2 b6 7 c 0 5 e 9 34 32c95f abe17608d 3a 09e63f 51dc7b428 74 b2ef 08d3c975d61 1d 709346a285ecbf 1 1d 0b7491ae35c2f 86 2d 6498f 30b12c5ae7 21 4bdc37eaf 680592 31 ad069874f e3b52c 36 bd814a7950f e23c 47 de3069a1285bc4f 8d2 846f b1a93e50c7 1d 8b56f 03472c1ae9 11 f d8a374c56b0e92 2a 690cb7df 13e5284 27b 419ce206adf 358 33 f 06a1d8945bc72e 321 e74a8df c90356b VD: S(18 09 12 3d 11 17 38 39) = 5f d2 5e 03
- *Tóm Tắt Tính B 0 0 0 1 1 0 0 0 18 0 c S1 5 0 0 0 0 1 0 0 1 09 1 4 S2 f 0 0 0 1 0 0 1 0 12 0 9 S3 d 0 0 1 1 1 1 0 1 3d 3 e S4 2 0 0 0 1 0 0 0 1 11 1 8 S5 5 0 0 0 1 0 1 1 1 17 1 b S6 e 0 0 1 1 1 0 0 0 38 2 c S7 0 0 0 1 1 1 0 0 1 39 3 c S8 3 A (48 bit) Hàng Cột B (32 bit) B = S(A) = S(E(R0) XOR K1) = S(18 09 12 3d 11 17 38 39) = 5f d2 5e 03 Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 18
- *Các Phép Tính Ở Vòng i *Khối nửa phải R(i1)Ł Ri: *Mở rộng E (32 48 bit) *XOR với khóa 48 bit *Thay thế S *Hoán vị P *XOR với nửa trái Ri = Li1 XOR P( S [E(Ri1) XOR Ki ] ) *Khối nửa trái L(i1)Ł Li: Li = Ri1 L(i) = R(i-1) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 19
- *Hoán Vị P (Permutation) *Sắp xếp lại các bit trong B (đầu ra của Sbox (32 bit)). *Ví dụ: P(B) = P(5f d2 5e 03) = 74 6f c9 1a 1 2 3 4 16 7 20 21 5 6 7 8 29 12 28 17 9 10 11 12 1 15 23 26 13 14 15 16 5 18 31 10 32Ł 32 17 18 19 20 2 8 24 14 21 22 23 24 32 27 3 9 25 26 27 28 19 13 30 6 29 30 31 32 22 11 4 25 Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 20
ADSENSE
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn