Tài liệu Đồ án bảo mật thông tin Part 2 docx

7 455 0
Tài liệu Đồ án bảo mật thông tin Part 2 docx

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

Thông tin tài liệu

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 II. HỆ MÃ CHUẨN DES (Data Encryption Standard) II.1 Đặc tả DES Phương pháp DES mã hóa từ x có 64 bit với khóa k có 56 bit thành một từ có y 64 bit. Thuật toán mã hóa bao gồm 3 giai đoạn: 1. Với từ cần mã hóa x có độ dài 64 bit, tạo ra từ x 0 (cũng có độ dài 64 bit) bằng cách hoán vò các bit trong từ x theo một hoán vò cho trước IP (Initial Permutation). Biểu diễn x 0 = IP(x) = L 0 R 0 , L 0 gồm 32 bit bên trái của x 0 , R 0 gồm 32 bit bên phải của x 0 L 0 R 0 x 0 Hình.1 Biểu diễn dãy 64 bit x thành 2 thành phần L và R 2. Xác đònh các cặp từ 32 bit L i , R i với 1≤ i ≤ 16theo quy tắc sau: L i = R i-1 R i = L i-1 ⊕ f (R i-1 , K i ) với ⊕ biểu diễn phép toán XOR trên hai dãy bit, K 1 , K 2 , , K 16 là các dãy 48 bit phát sinh từ khóa K cho trước (Trên thực tế, mỗi khóa K i được phát sinh bằng cách hoán vò các bit trong khóa K cho trước). L i -1 R i -1 f K i ⊕ L i R i Hình.2 Quy trình phát sinh dãy 64 bit L i R i từ dãy 64 bit L i-1 R i-1 và khóa K i 3. Áp dụng hoán vò ngược IP -1 đối với dãy bit R 16 L 16 , thu được từ y gồm 64 bit. Như vậy, y = IP -1 (R 16 L 16 ) ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 Hàm f được sử dụng ở bước 2 là A B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 S 1 J E(A) S 2 S 3 S 4 S 5 S 6 S 7 S 8 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 f(A,J) E + P ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 Hàm f có gồm 2 tham số: Tham số thứ nhất A là một dãy 32 bit, tham số thứ hai J là một dãy 48 bit. Kết quả của hàm f là một dãy 32 bit. Các bước xử lý của hàm f(A, J)như sau: • Tham số thứ nhất A (32 bit) được mở rộng thành dãy 48 bit bằng hàm mở rộng E. Kết quả của hàm E(A) là một dãy 48 bit được phát sinh từ A bằng cách hoán vò theo một thứ tự nhất đònh 32 bit của A, trong đó có 16 bit của A được lập lại 2 lần trong E(A). • Thực hiện phép toán XOR cho 2 dãy 48 bit E(A) và J, ta thu được một dãy 48 bit B. Biểu diễn B thành từng nhóm 6 bit như sau:B = B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 • Sử dụng 8 ma trận S 1 , S 2 , , S 8 , mỗi ma trận S i có kích thước 4×16 và mỗi dòng của ma trận nhận đủ 16 giá trò từ 0 đến 15. Xét dãy gồm 6 bit B j = b 1 b 2 b 3 b 4 b 5 b 6 , S j (B j ) được xác đònh bằng giá trò của phần tử tại dòng r cột c của S j , trong đó, chỉ số dòng r có biểu diễn nhò phân là b 1 b 6 , chỉ số cột c có biểu diễn nhò phân là b 2 b 3 b 4 b 5 . Bằng cách này, ta xác đònh được các dãy 4 bit C j = S j (B j ), 1 ≤ j ≤ 8. • Tập hợp các dãy 4 bit C j lại. ta có được dãy 32 bit C = C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 . Dãy 32 bit thu được bằng cách hoán vò C theo một quy luật P nhất đònh chính là kết quả của hàm F(A, J) các hàm được sử dụng trong DES. Hoán vò khởi tạo IP sẽ như sau: IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Điều này có nghóa là bit thứ 58 của x là bit đầu tiên của IP(x); bit thứ 50 của x là bit thứ hai của IP(x) v.v. Hoán vò ngược IP -1 sẽ là: IP -1 40 39 38 37 8 7 6 5 48 47 46 45 16 15 14 13 56 55 54 53 24 23 22 21 64 63 62 61 32 31 30 29 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 36 35 34 33 4 3 2 1 44 43 42 41 12 11 10 9 52 51 50 49 20 19 18 17 60 59 58 57 28 27 26 25 Hàm mở rộng E được đặc tả theo bảng sau: E – bảng chọn bit 32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1 Tám S-hộp và hoán vò P sẽ được biểu diễn như sau: S 1 14 0 4 15 4 15 1 12 13 7 14 8 1 4 8 2 2 14 13 4 15 2 6 9 11 13 2 1 8 1 11 7 3 10 15 5 10 6 12 11 6 12 9 3 12 11 7 14 5 9 3 10 9 5 10 0 0 3 5 6 7 8 0 13 S 2 15 3 0 13 1 13 14 8 8 4 7 10 14 7 11 1 6 15 10 3 11 2 4 15 3 8 13 4 4 14 1 2 9 12 5 11 7 0 8 6 2 1 12 7 13 10 6 12 12 6 9 0 0 9 3 5 5 11 2 14 10 5 15 9 S 3 10 13 13 1 0 7 6 10 9 0 4 13 14 9 9 0 6 3 8 6 3 4 15 9 15 6 3 8 5 10 0 7 1 2 11 4 13 8 1 15 12 5 2 14 7 14 12 3 11 12 5 11 4 11 10 5 2 15 14 2 8 1 7 12 S 4 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 7 13 10 3 13 8 6 15 14 11 9 0 3 5 0 6 0 6 12 10 6 15 11 1 9 0 7 13 10 3 13 8 1 4 15 9 2 7 1 4 8 2 3 5 5 12 14 11 11 1 5 12 12 10 2 7 4 14 8 2 15 9 4 14 S 5 2 14 4 11 12 11 2 8 4 2 1 12 1 12 11 7 7 4 10 0 10 7 13 14 11 13 7 2 6 1 8 13 8 5 15 6 5 0 9 15 3 15 12 0 15 10 5 9 13 3 6 10 0 9 3 4 14 8 0 5 9 6 14 3 S 6 12 10 9 4 1 15 14 3 10 4 15 2 15 2 5 12 9 7 2 9 2 12 8 5 6 9 12 15 8 5 3 10 0 6 7 11 13 1 0 14 3 13 4 1 4 14 10 7 14 0 1 6 7 11 13 0 5 3 11 8 11 8 6 13 S 7 4 13 1 6 11 0 4 11 2 11 11 13 14 7 13 8 15 4 12 1 0 9 3 4 8 1 7 10 13 10 14 7 3 14 10 9 12 3 15 5 9 5 6 0 7 12 8 15 5 2 0 14 10 15 5 2 6 8 9 3 1 6 2 12 S 8 13 1 7 2 2 15 11 1 8 13 4 14 4 8 1 7 6 10 9 4 15 3 12 10 11 7 14 8 1 4 2 13 10 12 0 15 9 5 6 12 3 6 10 9 14 11 13 0 5 0 15 3 0 14 3 5 12 9 5 6 7 2 8 11 P 16 29 1 5 2 32 19 22 7 12 15 18 8 27 13 11 20 28 23 31 24 3 30 4 21 17 26 10 14 9 6 25 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 K là xâu có độ dài 64 bit, trong đó có 56 bit dùng làm khóa và 8 bit dùng để kiểm tra sự bằng nhau (để phát hiện lỗi). Các bit ở các vò trí 8, 16, , 64 được xác đònh, sao cho mỗi byte chứa số lẻ các số 1. Vì vậy, từng lỗi có thể được phát hiện trong mỗi 8 bit. Các bit kiểm tra sự bằng nhau là được bỏ qua khi tính lòch khóa. 1. Cho khóa 64 bit K, loại bỏ các bit kiểm tra và hoán vò các bit còn lại của K tương ứng với hoán vò (cố đònh) PC-1. Ta viết PC-1(K) = C 0 D 0 , với C 0 bao gồm 28 bit đầu tiên của PC-1(K) và D 0 là 28 bit còn lại. 2. Với i nằm trong khoảng từ 1 đến 16, ta tính C i = LS i (C i-1 ) D i = LS i (D i-1 ) và K i = PC-2(C i D i ), LS i biểu diễn phép chuyển chu trình (cyclic shift) sang trái hoặc của một hoặc của hai vò trí tùy thuộc vào trò của i; đẩy một vò trí nếu i = 1, 2, 9 hoặc 16 và đẩy 2 vò trí trong những trường hợp còn lại. PC-2 là một hoán vò cố đònh khác. Việc tính lòch khóa được minh họa như hình vẽ sau: Các hoán vò PC-1 và PC-2 được sử dụng trong việc tính lòch khóa là như sau: PC-1 57 49 41 33 25 17 9 K PC-1 C 0 D 0 C 1 D 1 PC-2 K 1 LS 1 LS 1 LS 2 LS 2 LS 16 LS 16 C 16 D 16 PC-2 K 16 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES NGÔ THỊ TUYẾT HÀ – T012825 1 10 19 63 7 14 21 58 2 11 55 62 6 13 50 59 34 7 54 61 5 42 51 60 39 46 53 28 34 43 52 31 38 45 20 26 35 44 23 30 37 12 18 27 36 15 22 29 4 PC-2 14 3 23 16 41 30 44 46 17 28 19 7 50 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32 Bây giờ ta sẽ hiển thò kết quả việc tính lòch khóa. Như đã nhận xét ở trên, mỗi vòng sử dụng khóa 48 bit tương ứng với 48 bit trong K. Các thành phần trong các bảng sau sẽ chỉ ra các bit trong K được sử dụng trong các vòng khác nhau. . 3 5 12 9 5 6 7 2 8 11 P 16 29 1 5 2 32 19 22 7 12 15 18 8 27 13 11 20 28 23 31 24 3 30 4 21 17 26 10 14 9 6 25 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ. 21 58 2 11 55 62 6 13 50 59 34 7 54 61 5 42 51 60 39 46 53 28 34 43 52 31 38 45 20 26 35 44 23 30 37 12 18 27 36 15 22 29 4 PC -2 14 3 23 16

Ngày đăng: 21/01/2014, 10:20

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