DES sử dụng 16 vòng. Mỗi vòng trong số 16 vòng bao gồm các bước cấp độ rộng là asfollows -
-
Chuyển đổi chính - Khóa 64 bit ban đầu được thay đổi thành khóa 56 bit bằng cách loại bỏ từng thứ bit của khóa ban đầu. Do đó, đối với mỗi vòng, một khóa 56 bit có sẵn. Từ khóa 56 bit này, một khóa con 48 bit khác nhau được tạo trong mỗi vòng bằng cách sử dụng một quy trình được gọi là chuyển đổi khóa.
Khóa 56 bit được chia thành hai nửa, mỗi nửa 28 bit. Các nửa này được dịch chuyển tròn sang trái bởi một hoặc hai vị trí, dựa trên vòng.
Ví dụ:nếu số vòng là 1, 2, 9 hoặc 16, thì sự thay đổi chỉ được hoàn thành bởi một vị trí. Đối với một vòng khác, sự thay đổi vòng tròn được hoàn thành bởi hai vị trí. Sau đó, số bit chính được dịch chuyển mỗi vòng được hiển thị trong bảng.
Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Số lượng keybit được dịch chuyển | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
Không có bit quan trọng nào được dịch chuyển mỗi vòng
-
Hoán vị mở rộng - Sau khi hoán vị ban đầu, nó có hai vùng văn bản rõ 32 bit, được gọi là Văn bản thuần túy bên trái và Văn bản thuần túy bên phải. Trong quá trình hoán vị mở rộng, RPT được khuếch tán từ 32 bit đến 48 bit. Nó có thể tăng kích thước bit từ 32 lên 48, các bit được hoán vị hay còn gọi là hoán vị mở rộng.
-
Thay thế S-box - Thay thế hộp S là một thủ tục chấp nhận đầu vào 48 bit từ hoạt động XOR chứa khóa nén và RPT mở rộng, đồng thời tạo đầu ra 32 bit bằng kỹ thuật thay thế.
-
Hoán vị hộp P - Đầu ra của S-box bao gồm 32 bit. 32 bit này được hoán vị bằng cách sử dụng hộp P. Cấu trúc hoán vị đơn giản này chứa hoán vị đơn giản bao gồm việc thay thế từng bit bằng một bit khác như được định nghĩa trong bảng Pbox, mà không có bất kỳ sự mở rộng hoặc nén nào. Điều này được gọi là P-box Permutation.
Hộp P được hiển thị trong bảng. Ví dụ:một 16 trong khối đầu tiên biểu thị rằng bit ở vị trí 16 của đầu vào ban đầu thay đổi thành bit ở vị trí 1 trong đầu ra và một 10 trong khối số 16 biểu thị rằng bit ở vị trí 10 của đầu vào ban đầu thay đổi thành bit ở vị trí 16 trong đầu ra.
16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 | 1 | 15 | 23 | 26 | 5 | 18 | 31 | 10 |
2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 | 19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
-
XOR và hoán đổi - Nó chỉ có thể thực hiện tất cả các thao tác này trên phần nửa bên phải 32-bit của bản rõ gốc 64-bit. Phần nửa bên trái không có gì ấn tượng cho đến nay. Tại điểm nối này, nửa bên trái của khối văn bản rõ 64 bit ban đầu được XOR với đầu ra được tạo bởi P-box Permutation.