1
ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Lớp KHMT3-K3
DES
Nguyễn Đình Mạnh
Dương Văn Minh
Trần Anh Nam (Team Header)
Nguyễn Danh Nam
Trần Tuấn Nghĩa
Nguyễn Thị Nhài
Hoàng Ninh Nhật
Thực hiện:
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
DES
Giới thiệu về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
còn lại chỉ dùng cho việc kiểm tra.
Des xuất ra bãn mã 64 bit.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Văn Bản Gốc
IP
L
0
R
0
L
1
=R
0
R
1
=L
0
⊕f(R
0
K
1
)
f
IP
-1
Vòng 1
Vòng 16
Key K
Biến đổi
1
Biến đổi
16
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Hoán vị khởi đầu
Hoán vị khởi đầu (Kí hiệu là IP) đổi chỗ khối dữ liệu
vào, thay đổi vị trí các bit trong khối dữ liệu vào. Tất
cả các bảng hoán vị khởi đầu được đọc từ trái qua
phải từ trên xuống dưới.
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
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
- Hoán vị cuối cùng là nghịch đảo của hoán vị khởi
đầu.
- Khối L16R16 được sử dụng như khối dữ liệu ra
của hoán vị cuối cùng.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Hoán Vị Cuối Cùng
IP
-1
(IP(X))=X
Chú ý:
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
K
1
)
K1
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Mô Tả Thuật Toán
Với 1<=i<=16. Theo qui tắc:
for(i=1;i<=16,i++){
L
i
=R
i-1
R
i
=L
i-1
⊕f(R
i-1
,K
i
)
}
⊕ là phép XOR của hai xâu bit:
0 ⊕ 0=0 , 1 ⊕ 1=0
rộng” thành xâu có độ dài 48 bit
tương ứng với hàm mở rộng E cố
định.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Hàm f
E(Ri) bao gồm 32 bit từ Ri, được
hoán vị theo một cách thức xác định, với
16 bit được tạo ra 2 lần.
Với mỗi bộ 4 bit của dữ liệu vào, bit
đầu tiên và bit thứ 4 tương ứng với 2 bit
của dữ liệu ra, còn bit số 2 và số 3 tương
ứng với 1 bit của dữ liệu ra
Dữ liệu vào
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
25 26 27 28
29 30 31 32
E bit table
32 1 2 3 4 5
4 5 6 7 8 9
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Hộp Thay Thế - S
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Khóa Chuyển Đổi
-
K là một xâu có độ dài 64 bit trong đó 56
bit dùng làm khóa và 8 bit dùng để kiểm
tra lỗi.
7
1
8
16
K16
64
LS
1
LS
1
28 28
56
PC-2
5648
LS
2
LS
2
LS
16
LS
16
.
.
.
.
.
.
.
.
.
.
.
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Khóa Chuyển Đổi
Hoán vị cố định PC1
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 34 60 52 44 36
63 55 7 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
PC1
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Khóa Chuyển Đổi
Thuật toán tính C
i
, D
i
như sau:
for(i=1;i<=16;i++){
tùy thuộc vào giá trị của i.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Khóa Chuyển Đổi
1 2 9 16
Sang 1 vị trí
Sang 2 vị trí
3 4 5 6 7 8
10 11 12 13 14 15
Đẩy sang trái 1 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.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Khóa Chuyển Đổi
Sau khi được dịch chuyển vị trí, 48 bít
được lựa chọn ra từ 56 bít. Thực hiện này
đổi chỗ thứ tự các bít như lựa chọn một tập
con các bít, nó được gọi là hoán vị nén hoặc
hoán vị lựa chọn (PC-2).
14 17 11 24 1 5
XOR với K
17-i
chứ không phải với K
i
.
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Giải Mã DES
Mô hình về DES
Hoán Vị Khởi Đầu
Mô Tả Thuật Toán
Hàm f
Khóa Chuyển Đổi
Giải Mã DES
Đặc Điểm Mã Des
Phần Cứng Phần Mềm
Các phép tính số học duy nhất được thực hiện
là phép XOR các xâu bít.
Hàm mở rộng E, các hộp S, các hoán vị khởi
đầu IP, hoán vị cuối cùng IP-1 và việc tính toán các
khoá k1, k2, , k16 đều có thể thực hiện được cùng
lúc bằng tra bảng (trong phần mềm) hoặc bằng cách
nối cứng chúng thành mạch.
Ứng dụng rất quan trọng của DES là trong giao