Mô tả
Quá trình mã hóa với DES
1. Chuẩn bị dữ liệu: Dữ liệu cần mã hóa được chia thành các khối có độ dài cố định là 64 bit. Nếu dữ liệu ban đầu không đủ 64 bit, chúng ta sẽ thêm các bit không cần thiết cho đủ độ dài.
2. Khởi tạo khóa: Khóa bí mật được sử dụng để mã hóa và giải mã dữ liệu có độ dài 56 bit. Tuy nhiên, để tăng cường bảo mật, khóa bí mật này được mở rộng lên thành 64 bit bằng cách thêm một bit kiểm tra cho mỗi byte.
3. Tạo các khóa con: Sau khi khởi tạo khóa, chúng ta sử dụng một thuật toán gọi là "keyschedule" để tạo ra 16 khóa con có độ dài 48 bit mỗi khóa. Các khóa con này sẽ được sử dụng để mã hóa dữ liệu trong quá trình mã hóa.
4. Pha mã hóa: Dữ liệu được chia thành hai nửa có độ dài 32 bit mỗi nửa. Tiế ptheo, mỗi nửa dữ liệu được đưa qua một hàm mã hóa khác nhau và mỗi hàm sử dụng một khóa con. Quá trình mã hóa này được lặp lại 16 lần, với dữ liệu và khóa con được cập nhật sau mỗi lần mã hóa.
5. Ghép dữ liệu: Sau khi 16 lần mã hóa, hai nửa dữ liệu đượ c ghép lại và tr ả về dướ i dạng một khối 64 bit đã đượ c mã hóa.Quá trình mã hóa với DES sử dụng phương pháp mã hóa đối xứng, có nghĩa là cùng một khóa bí mật được sử dụng cho cả quá trình mã hóa và giải mã. Quá trình giải mã với DES tương tự với quá trình mã hóa, nhưng khóa con được sử dụng theo thứ tự ngược lại.