Professional Documents
Culture Documents
DES - Nguồn từ file bài giảng ATBMTT của thầy Hy
DES - Nguồn từ file bài giảng ATBMTT của thầy Hy
DES - Nguồn từ file bài giảng ATBMTT của thầy Hy
Hoán vị khởi tạo sẽ hoán đổi các bít theo quy tắc sau :
Hoán vị kết thúc hoán đổi các bít theo quy tắc sau:
Hoán vị kết thúc chính là hoán vị nghịch đảo của hoán vị khởi tạo. Đối với
knownplaintext hay chosen-plaintext attack, hoán vị khởi tạo và hoán vị kết thúc
không có ý nghĩa bảo mật, sự tồn tại của hai hoán vị trên được nhận định là do yếu tố
lịch sử.
2) Các vòng của DES
Hình sau minh họa một vòng Feistel của DES
Hình 3-7. Cấu trúc một vòng của mã DES
Trong DES, hàm F của Feistel là:
F(Ri-1, Ki) = P-box(S-boxes(Expand( Ri-1) Ki))
Trong đó hàm Expand vừa mở rộng vừa hoán vị Ri-1 từ 32 bít lên 48 bít. Hàm Sboxes
nén 48 bít lại còn 32 bít. Hàm P-box là một hoán vị 32 bít. Mô tả của các hàm trên là
như sau:
Expand: đánh số các bít của Ri-1 theo thứ tự từ trái sang phải là 0, 1, 2, …, 31.
HàmExpand thực hiện vừa hoán vị vừa mở rộng 32 bít thành 48 bít theo quy
tắc:
S-boxes:
Hàm S-boxes của DES biến đổi một số 48 bít thành một số 32 bít. Tuy nhiên, nếu
chỉ lập một bảng tra cứu như ở TinyDES thì bảng này phải có 216 dòng và 232
cột, dẫn đến số phần tử của bảng rất lớn. Để giảm kích thước của bảng tra cứu,
người ta chia hàm S-boxes thành 8 hàm S-box con, mỗi hàm biến đổi số 6 bít
thành số 4 bít (hình dưới).
Hàm S-box đầu tiên, hộp S1, giống hoàn toàn như S-box của TinyDES, tức có nội
dung như sau:
Chi tiết các hộp còn lại được trình bày trong Phụ lục 1. Có thể thấy, mỗi hàm S-
box con là một phép thay thế Substitution. Các hàm S-box con không khả nghịch,
do đó hàm S-boxes cũng không khả nghịch. Sự phức tạp này của S-boxes là yếu
tố chính làm cho DES có độ an toàn cao.
P-box: hàm P-box cũng thực hiện hoán vị 32 bít đầu vào theo quy tắc:
Cuối cùng khóa Ki của mỗi vòng được tạo ra bằng cách hoán vị và nén 56 bít của
KLi và KRi thành 48 bít theo quy tắc:
Dùng hai khóa sau đây để mã hóa bản rõ trên (hai khóa này chỉ khác nhau 1 bít):
K1: 1110010 1111011 1101111 0011000 0011101 0000100 0110001 11011100
K2: 0110010 1111011 1101111 0011000 0011101 0000100 0110001 11011100
Bảng 2-1.b cho biết số bít khác nhau của bản mã tương ứng với K1 và K2 qua các
vòng của DES. Sau 16 vòng, số bít khác nhau là 35 bít, cũng khoảng 1/2 tổng số
bít của bản rõ.