Computer >> Máy Tính >  >> Lập trình >> Lập trình

DES hoạt động như thế nào trong Bảo mật thông tin?

DES là một mật mã khối. Thủ tục mã hóa là tạo ra hai hoán vị (Pbox) có thể được xác định 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 khác nhau được tạo ra từ khóa mật mã phù hợp với thuật toán xác định trước.

DES dựa trên hai thuộc tính thiết yếu của mật mã bao gồm thay thế (còn được gọi là nhầm lẫn) và chuyển vị (còn được gọi là khuếch tán). DES bao gồm 16 bước, mỗi bước được gọi là vòng.

Mỗi vòng thực hiện các bước thay thế và chuyển vị. DES là hệ thống mật mã không đối xứng. Một khối được kết hợp sẽ được đưa đến một IP hoán vị ban đầu và do đó dẫn đến một phép tính phức tạp phụ thuộc vào khóa và cuối cùng đến apermutation là nghịch đảo của IP hoán vị ban đầu −1 .

Hãy để chúng tôi thảo luận về các bước sau trong DES.

  • Hoán vị ban đầu (IP) - Một hoán vị ban đầu chỉ được yêu cầu một lần khi bắt đầu quá trình mã hóa. Trong DES, sau khi bản rõ hoàn chỉnh được chia thành các khối 64 bit, mỗi khối cần có IP. Hoán vị ban đầu này là một bước trong quy trình chuyển vị.

  • 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 thi có L I − 1 và R I − 1 từ vòng trước và sản xuất L I và R I , chuyển đến phần tiếp theo. Có thể coi mỗi vòng có hai thành phần mật mã (bộ trộn và bộ cắt).

    Mỗi thành phần này đều có thể đảo ngược. Swapper chắc chắn là không thể đảo ngược. Nó cắt nửa bên trái của văn bản với nửa bên phải. Máy trộn có thể đảo ngược thông qua hoạt động của XOR. Tất cả thành phần không thể đảo ngược được thu thập trong functionf (R I − 1 , K I ).

  • Hoán vị cuối cùng (FP) - Vào cuối thứ 16 vòng, hoán vị cuối cùng được thực hiện. Đây là một chuyển vị đơn giản là phụ thuộc vào bảng. Ví dụ, thứ 40 đầu vào chiếm vị trí của 1 st bit đầu ra, v.v. Đầu ra của hoán vị cuối cùng là khối được mã hóa 64 bit.

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
  • Giải mã DES - Đây là một sơ đồ mã hóa cực kỳ phức tạp và do đó việc giải mã bằng DES có thể sử dụng một cách tiếp cận cuối cùng khác. Thuật toán tương tự được sử dụng để mã hóa trong DES cũng hoạt động để giải mã.

    Các giá trị của nhiều bảng và các phép toán cũng như trình tự của chúng được chọn cẩn thận để thuật toán có thể đảo ngược. Sự khác biệt duy nhất giữa mã hóa và quy trình giải mã là việc đảo ngược các phần chính.

    Nếu khóa ban đầu K được chia thành K1, K2, K3… .K16 cho 16 vòng mã hóa, do đó để giải mã, khóa phải được sử dụng là K16, K15 và K14… k1.