DES (Tiêu chuẩn mã hóa dữ liệu) là một thuật toán mã hóa đối xứng cũ mã hóa dữ liệu trong các khối 64 bit bằng khóa 56 bit.
Mã hóa: Chuyển đổi văn bản thuần túy thành văn bản mã hóa không thể đọc được bằng khóa bí mật.
Giải mã: Chuyển đổi văn bản mã hóa trở lại thành văn bản thuần túy bằng cùng một khóa bí mật.
Mặc dù DES đã được sử dụng rộng rãi trong nhiều thập kỷ, nhưng hiện nay nó được coi là không an toàn vì độ dài khóa tương đối ngắn, khiến nó dễ bị tấn công bằng cách dùng vũ lực.
Hệ thống cũ: DES vẫn được sử dụng trong các hệ thống và ứng dụng cũ hơn, nơi khả năng tương thích ngược là quan trọng.
Đơn giản: Là một thuật toán lịch sử, DES dễ hiểu và dễ triển khai trong bối cảnh giáo dục hoặc trình diễn.
Tuân thủ (Cũ): Một số hệ thống cũ vẫn có thể được yêu cầu hỗ trợ DES cho một số tiêu chuẩn hoặc chứng chỉ tuân thủ nhất định.
Tạo khóa: Khóa bí mật 56 bit được sử dụng cho cả mã hóa và giải mã.
Mã hóa: Dữ liệu văn bản thuần túy được chia thành các khối 64 bit và được mã hóa bằng thuật toán DES với khóa.
Giải mã: Cùng một khóa 56 bit được sử dụng để giải mã văn bản mã hóa trở lại văn bản thuần túy ban đầu.
Thư viện/Công cụ: Nhiều thư viện vẫn hỗ trợ DES vì lý do tương thích:
Python: thư viện pycryptodome.
Java: gói javax.crypto.
C#: không gian tên System.Security.Cryptography.
Các chế độ hoạt động: DES có thể hoạt động ở nhiều chế độ khác nhau (ví dụ: ECB, CBC, CFB) để cải thiện tính bảo mật.
Hệ thống cũ: Khi làm việc với các hệ thống hoặc phần cứng cũ vẫn sử dụng DES.
Mục đích giáo dục hoặc trình diễn: Nếu bạn cần một ví dụ đơn giản về thuật toán mã hóa để giảng dạy hoặc học tập.
Khả năng tương thích: Trong các tình huống mà ứng dụng vẫn dựa vào DES để tương tác với các hệ thống cũ hơn.