Phương pháp sử dụng chuẩn mật mã (DES)

Một phần của tài liệu Mạng máy tính và HTM (Trang 83 - 85)

e. Cổng giao tiế p Gateway

4.3.3.4. Phương pháp sử dụng chuẩn mật mã (DES)

Giới thiệu chung về DES

Chuẩn mã hoá dữ liệu DES được Văn phòng tiêu chuẩn của Mỹ (U.S National Bureau for Standards) công bố năm 1971 để sử dụng trong các cơ quan chính phủ liên bang. Giải thuật được phát triển tại Công ty IBM dựa trên hệ mã hoá LUCIFER của Feistel.

DES là thuật toán mã hoá khối (block algorithm), với cỡ của một khối là 64 bít. Một khối 64 bít bản rõ được đưa vào, sau khi mã hoá dữ liệu đưa ra là một khối bản mã 64 bít. Cả mã hố và giải mã đều sử dụng cùng một thuật tốn và khố.

Khố mã hố có độ dài 64 bít, trong đó có 8 bít chẵn lẻ được sử dụng để kiểm sốt lỗi. Các bít chẵn lẻ nằm ở các vị trí 8, 16, 24,... , 64. Tức là cứ 8 bít khố thì trong đó có 1 bít kiểm sốt lỗi, bít này qui định số bít có giá trị “1” của khối 8 bít đó theo tính bù chẵn.

Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật thay thế và hoán vị bản rõ (bản gốc) dựa trên khố, đó là các vịng lặp. DES sử dụng 16 vịng lặp, nó áp dụng cùng một kiểu kết hợp của các kỹ thuật trên khối bản rõ 16 lần (hình

4.7).

Thuật toán chỉ sử dụng các phép tốn số học và lơgíc trên các số 64 bít, vì vậy nó dễ dàng thực hiện vào những năm 1970 trong điều kiện về công nghệ phần cứng lúc bấy giờ. Ban đầu, sự thực hiện các phần mềm kiểu này rất thô sơ, nhưng hiện tại thì việc đó đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật toán đã tạo nên ý tưởng sử dụng chíp với mục đích đặc biệt này.

Tóm lại DES có một số đặc điểm sau: − Sử dụng khoá 56 bít.

− Xử lý khối vào 64 bít, biến đổi khối vào thành khối ra 64 bít. − Mã hoá và giải mã được sử dụng cùng một khoá.

− DES được thiết kế để chạy trên phần cứng.

DES thường được sử dụng để mã hoá các dòng dữ liệu mạng và mã hoá dữ liệu được lưu trữ trên đĩa.

Mơ tả thuật tốn

DES thực hiện trên từng khối 64 bít bản rõ. Sau khi thực hiện hoán vị khởi đầu, khối dữ liệu được chia làm hai nửa trái và phải, mỗi nửa 32 bít. Tiếp đó, có 16 vịng lặp giống hệt nhau được thực hiện, được gọi là các hàm ƒ, trong đó dữ liệu được kết hợp với khố. Sau 16 vịng lặp, hai nửa trái và phải được kết hợp lại và hoán vị cuối cùng (hoán vị ngược) sẽ kết thúc thuật toán.

Trong mỗi vịng lặp, các bít của khố được dịch đi và có 48 bít được chọn ra từ 56 bít

của khố. Nửa phải của dữ liệu được mở rộng thành 48 bít bằng một phép hốn vị mở rộng, tiếp đó khối 48 bít này được kết hợp với khối 48 bít đã được thay đổi và hoán vị của khoá bằng toán tử XOR. Khối kết quả của phép tính XOR được lựa chọn ra 32 bít bằng cách sử dụng thuật tốn thay thế và hốn vị lần nữa. Đó là bốn thao tác tạo nên hàm ƒ. Tiếp đó, đầu ra của hàm ƒ được kết hợp với nửa trái bằng một toán tử XOR. Kết quả của các bước thực hiện này trở thành nửa phải mới; nửa phải cũ trở thành nửa trái mới. Sự thực hiện này được lặp lại 16 lần, tạo thành 16 vòng của DES (hình 4.7).

Nếu Bi là kết quả của vịng thứ i, Li và Ri là hai nửa trái và phải của Bi, Ki là khố 48 bít của vịng thứ i, và ƒ là hàm thực hiện thay thế, hoán vị và XOR với khố, ta có biểu diễn của một vòng sẽ như sau:

Li=Ri-1

Ri=Li-1 XOR ƒ(Ri-1,Ki)

Chi tiết về thuật toán DES được trình bày trong các tài liệu về Lý thuyết mật mã, đề nghị bạn đọc tự tìm tài liệu nghiên cứu thêm.

Một phần của tài liệu Mạng máy tính và HTM (Trang 83 - 85)

Tải bản đầy đủ (PDF)

(124 trang)