Mô tả thuật toán

Một phần của tài liệu Nghiên cứu giải pháp sử dụng khóa USB cho việc đảm bảo bản quyền cho (Trang 27 - 29)

DES là thuật toán mã hóa khối (là những thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định với những chuyển đổi xác định): nó xử lý từng khối thông tin của các văn bản tƣờng minh (plaintext) có độ dài xác định và biến đổi theo những quá trình phức tạp để trở thành khối thông tin của văn bản đã đƣợc mã hóa (ciphertext) nhƣng có độ dài không đổi. Trong trƣờng hợp của DES, độ dài mỗi khối là 64 bit. DES cũng sử dụng khóa (đoạn thông tin để điều khiển hoạt động của thuật toán mật mã hóa) để cá biệt hóa quá trình chuyển đổi. nhờ vậy chỉ khi biết khóa mới có thể giải mã đƣợc văn bản. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit thực sự đƣợc sử dụng, 8 bit còn lại chỉ dùng cho việc kiểm tra, vì vậy độ dài thực tế của khóa chỉ là 56 bit.

28

Hình 2-1: Lƣu đồ cơ chế hoạt động của thuật toán DES[4]

Hình trên cho thấy cơ chế làm việc của DES, ở đó: - Input là văn bản tƣờng minh (plaintext) có độ dài 64 bit - IP và IP-1 lần lƣợt là hoán vị đầu vào và hoán vị đầu ra - Output là văn bản đã đƣợc mã hóa (ciphertext)

Quá trình có 16 vòng thực hiện giống nhau trong quá trình xử lý. Ngoài ra có hai lần hoán vị đầu cuối (IP và IP-1), hai hoán vị này đƣợc sử dụng với mục đích đƣa thông tin vào và lấy thông tin ra.

29

Muốn vào vòng mã hóa thì khối thông tin ban đầu 64 bit đƣợc chia làm 2 khối, mỗi khối 32 bit. Hàm f làm biến đổi một nửa của khối đang xử lý với một khóa con, tƣơng ứng với vòng mã hóa đầu ra của hàm f, đƣợc kết hợp với nửa khối còn lại bằng phép toán XOR và hai phần đƣợc trao đổi để xử lý trong chu trình kế tiếp. Cứ thực hiện các vòng nhƣ vậy cho tới vòng cuối cùng thì hai phần không bị tráo đổi nữa, chính vì điều này mà quá trình mã hóa và giải mã là giống nhau chỉ khác nhau về chiều.

Một phần của tài liệu Nghiên cứu giải pháp sử dụng khóa USB cho việc đảm bảo bản quyền cho (Trang 27 - 29)