Tiêu chuẩn mã hóa dữ liệu (DES) là một thuật toán mã hóa khối tạo ra văn bản thuần túy trong các khối 64 bit và biến đổi chúng thành văn bản mã bằng cách sử dụng các khóa 48 bit. Đây là một thuật toán khóa đối xứng, xác định rằng khóa tương tự có thể được sử dụng để mã hóa và giải mã thông tin.
Giai đoạn mã hóa là tạo ra hai hoán vị (hộp P), nó có thể xác định các hoán vị ban đầu và cuối cùng, và 16 vòng Feistel. Mỗi vòng cần một khóa tròn 48 bit cụ thể được tạo từ khóa mật mã phù hợp với một thuật toán xác định.
Các phần tử của mật mã DES tại trang web mã hóa như sau -
Hoán vị ban đầu và cuối cùng - Mỗi hoán vị tạo ra một đầu vào 64 bit và hoán vị chúng theo một quy tắc xác định. Nó có thể chỉ hiển thị một số cổng đầu vào và các cổng đầu ra tương ứng. Các hoán vị này là các hoán vị thẳng không khóa, ngược lại với nhau.
Ví dụ, trong hoán vị ban đầu, bit thứ 58 trong đầu vào phát triển thành bit đầu tiên trong đầu ra. Tương tự như vậy, trong hoán vị cuối cùng, bit đầu tiên trong đầu vào phát triển thành bit thứ 58 trong đầu ra.
Nói cách khác, nếu các vòng giữa hai hoán vị này không tiếp tục và bit thứ 58 đi vào hoán vị ban đầu sẽ bằng với bit thứ 58 rời khỏi hoán vị cuối cùng.
Vòng thi - DES sử dụng 16 vòng. Mỗi vòng của DES là một mật mã Feistel. Vòng tạo ra L I − 1 và R I − 1 từ vòng trước và làm cho L I và R I , sẽ đi đến vòng tiếp theo. Có thể coi mỗi vòng có hai phần tử mật mã (chẳng hạn như bộ trộn và bộ trao đổi).
Mỗi yếu tố này đều không thể đảo ngược. Bộ trao đổi không thể đảo ngược. Nó có thể hoán đổi nửa bên trái của văn bản với nửa bên phải. Bộ trộn có thể đảo ngược do hoạt động XOR. Tất cả các yếu tố không thể đảo ngược được thu thập trong hàm f (R I − 1 , K I ).
Mật mã và mật mã đảo ngược - Bằng cách sử dụng bộ trộn và bộ quét, nó có thể tạo mật mã và mật mã đảo ngược, mỗi vòng có 16 vòng. Mật mã có thể được sử dụng tại trang web mã hóa và mật mã đảo ngược có thể được sử dụng tại trang web giải mã. Toàn bộ khái niệm là tạo ra mật mã và các thuật toán mật mã ngược tương tự nhau.
Trong phương pháp đầu tiên, nó có thể quản lý mục tiêu này, một phương pháp là tạo ra vòng cuối cùng (vòng 16) khác biệt với các vòng khác và nó chỉ có bộ trộn và không có bộ trao đổi. Mặc dù các vòng không nằm ngang, các phần tử (bộ trộn hoặc bộ đổi chiều) nằm ngang.
Trong cách tiếp cận đầu tiên, vòng 16 khác với các vòng khác và không có sự hoán đổi trong vòng này. Điều này được yêu cầu để tạo bộ trộn cuối cùng trong mật mã và bộ trộn đầu tiên trong bộ mã hóa đối diện điều chỉnh. Nó được sử dụng để tạo tất cả 16 vòng tương tự bằng cách chứa một người đổi chỗ vào vòng thứ 16 và chèn thêm một người hoán đổi sau đó (hai người hoán đổi loại trừ kết quả của nhau).