intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 4. Mã Hóa Theo Khối và DES (2)

Chia sẻ: Bùi Vĩnh Tiến | Ngày: | Loại File: PPTX | Số trang:46

125
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)

Chủ đề:
Lưu

Nội dung Text: Chương 4. Mã Hóa Theo Khối và DES (2)

  1. * 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 
  2. *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
  3. Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 3
  4. *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(Ri­1)  (32 bit   48 bit) * XOR với khóa Ki * 8 S­box (6 bit   4 bit) * Hoán vị P xáo 32 bit nhận được * XOR với Li­1 để cho ra Ri * Tóm lại :  Ri = Li­1 XOR  P( S(E(Ri­1) XOR Ki) ) * Còn  :      Li = Ri­1 (vòng 16 không đảo chỗ R16 và L16) *Hoán vị kết thúc FP  ( = IP­1 ) Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 4
  5. Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 5
  6. *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
  7. 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
  8. Bảo Mật Thông Tin Chương 4. Mã Hóa Theo Khối và DES (tt) 8
  9. *Các Phép Tính Ở Vòng i *Khối nửa phải R(i­1)Ł 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 = Li­1 XOR       P( S [E(Ri­1) XOR  Ki ] )  *Khối nửa trái L(i­1)Ł Li: Li = Ri­1  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
  10. *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
  11. 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
  12. *Các Phép Tính Ở Vòng i *Khối nửa phải R(i­1)Ł 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 = Li­1 XOR       P( S [E(Ri­1) XOR  Ki ] )  *Khối nửa trái L(i­1)Ł Li: Li = Ri­1  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
  13. 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
  14. *Các Phép Tính Ở Vòng i *Khối nửa phải R(i­1)Ł 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 = Li­1 XOR       P( S [E(Ri­1) XOR  Ki ] )  *Khối nửa trái L(i­1)Ł Li: Li = Ri­1  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
  15. *Các S­box 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 S­box biến đổi 48 bit (khối A). *Ta dùng 8 S­box, mỗi cái sẽ biến đổi 6 bit thành 4 bit. *Mỗi S­box có 4 hàng và 16 cột (được đánh số từ 0). *Mỗi phần tử của S­box 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
  16. *S­box 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 (0­3) * 4 bit giữa tạo thành chỉ số cột (0­f) * Kết quả là số hexa (4­bit) 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
  17. 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
  18. *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
  19. *Các Phép Tính Ở Vòng i *Khối nửa phải R(i­1)Ł 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 = Li­1 XOR       P( S [E(Ri­1) XOR  Ki ] )  *Khối nửa trái L(i­1)Ł Li: Li = Ri­1  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
  20. *Hoán Vị P (Permutation) *Sắp xếp lại các bit trong B (đầu ra của S­box (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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2