DES (Tiêu chuẩn mã hóa dữ liệu) là gì? Thuật toán và hoạt động của DES

DES (Tiêu chuẩn mã hóa dữ liệu) là gì? Thuật toán và hoạt động của DES

Chia sẻ kiến thức 19/07/2023

Sự phụ thuộc ngày càng tăng vào internet có nghĩa là bảo mật thông tin quan trọng hơn bao giờ hết. Các cổ phần là quá cao bây giờ. Người dùng cần biết rằng dữ liệu nhạy cảm của họ được giữ bí mật, không sửa đổi và luôn sẵn sàng cho người đọc được phép.

DES (Tiêu chuẩn mã hóa dữ liệu) là gì? Thuật toán và hoạt động của DES
DES (Tiêu chuẩn mã hóa dữ liệu) là gì? Thuật toán và hoạt động của DES (Nguồn ảnh: internet)

Mã hóa dữ liệu chỉ là một vũ khí trong kho vũ khí an ninh mạng , nhưng nó là một trong những vũ khí lâu đời nhất và được sử dụng nhiều nhất. Và vì không có cuộc thảo luận nào về mã hóa dữ liệu mà không nói về DES.

1. Tiêu chuẩn mã hóa dữ liệu (DES)

DES là viết tắt của Tiêu chuẩn mã hóa dữ liệu. Có một số máy có thể được sử dụng để bẻ khóa thuật toán DES. Thuật toán DES sử dụng khóa có kích thước 56 bit. Sử dụng khóa này, DES lấy một khối văn bản thuần 64-bit làm đầu vào và tạo ra một khối văn bản mật mã 64-bit.

Quy trình DES bao gồm một số bước, trong đó mỗi bước được gọi là một vòng. Tùy thuộc vào kích thước của phím được sử dụng, số vòng khác nhau. Ví dụ: khóa 128 bit yêu cầu 10 vòng, khóa 192 bit yêu cầu 12 vòng,…

2. Thuật toán DES trong An ninh mạng là gì?

Thuật toán DES (Tiêu chuẩn mã hóa dữ liệu) là một mật mã khối khóa đối xứng được tạo ra vào đầu những năm 1970 bởi một nhóm IBM và được Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) áp dụng. Thuật toán lấy văn bản thuần túy trong các khối 64 bit và chuyển đổi chúng thành văn bản mã hóa bằng các khóa 48 bit.

Vì là thuật toán khóa đối xứng nên nó sử dụng cùng một khóa trong cả mã hóa và giải mã dữ liệu. Nếu đó là một thuật toán bất đối xứng, nó sẽ sử dụng các khóa khác nhau để mã hóa và giải mã.

3. Lịch sử của thuật toán DES

Phân tích dữ liệu
(Nguồn ảnh: internet)

DES dựa trên mật mã khối Feistel, được gọi là LUCIFER, được phát triển vào năm 1971 bởi nhà nghiên cứu mật mã của IBM, Horst Feistel. DES sử dụng 16 vòng của cấu trúc Feistel, sử dụng một khóa khác nhau cho mỗi vòng.

DES đã trở thành tiêu chuẩn mã hóa liên bang được phê duyệt vào tháng 11 năm 1976 và sau đó được xác nhận lại là tiêu chuẩn vào năm 1983, 1988 và 1999.

Sự thống trị của DES chấm dứt vào năm 2002, khi Tiêu chuẩn mã hóa nâng cao (AES) thay thế thuật toán mã hóa DES làm tiêu chuẩn được chấp nhận, sau một cuộc cạnh tranh công khai để tìm ra giải pháp thay thế. NIST đã chính thức rút FIPS 46-3 (tái xác nhận năm 1999) vào tháng 5 năm 2005, mặc dù Triple DES (3DES), vẫn được chấp thuận cho thông tin nhạy cảm của chính phủ cho đến năm 2030.

4. Hoán vị ban đầu (IP)

Văn bản thuần túy được chia thành các phần nhỏ hơn có kích thước 64 bit. IP được thực hiện trước vòng đầu tiên. Giai đoạn này mô tả việc thực hiện quá trình chuyển vị. Ví dụ, bit thứ 58 thay thế bit đầu tiên, bit thứ 50 thay thế bit thứ hai, v.v. Văn bản 64 bit kết quả được chia thành hai nửa bằng nhau 32 bit, mỗi phần được gọi là Văn bản thuần túy bên trái (LPT) và Văn bản thuần túy bên phải (RPT).

4.1 Bước 1: Chuyển đổi chính 

Chúng ta đã biết rằng quy trình DES sử dụng khóa 56 bit, khóa này thu được bằng cách loại bỏ tất cả các bit có ở mọi vị trí thứ 8 trong khóa 64 bit. Trong bước này, một khóa 48 bit được tạo. Khóa 56 bit được chia thành hai nửa bằng nhau và tùy thuộc vào số vòng mà các bit được dịch chuyển sang trái theo kiểu vòng tròn.

Do đó, tất cả các bit trong khóa được sắp xếp lại. Chúng ta có thể quan sát thấy rằng một số bit bị loại bỏ trong quá trình dịch chuyển, tạo ra khóa 48 bit. Quá trình này được gọi là hoán vị nén.

4.2 Bước 2: Hoán vị mở rộng

Hãy xem xét một RPT có kích thước 32 bit được tạo trong giai đoạn IP. Trong bước này, nó được mở rộng từ 32-bit thành 48-bit. RPT có kích thước 32 bit được chia thành 8 khối, mỗi khối 4 bit và thêm hai bit được thêm vào mỗi khối, sau đó, các bit được hoán vị với nhau dẫn đến dữ liệu 48 bit. Hàm XOR được áp dụng ở giữa khóa 48 bit thu được từ bước 1 và RPT mở rộng 48 bit.

4.3 Bước 3: Triển khai và thử nghiệm DES

Việc triển khai DES yêu cầu một nhà cung cấp bảo mật. Tuy nhiên, có nhiều nhà cung cấp sẵn có để lựa chọn, nhưng chọn một nhà cung cấp là bước đầu tiên cần thiết trong quá trình triển khai. Lựa chọn của bạn có thể phụ thuộc vào ngôn ngữ bạn đang sử dụng, chẳng hạn như Java, Python , C hoặc MATLAB.

Khi bạn quyết định chọn nhà cung cấp, bạn phải chọn có khóa bí mật ngẫu nhiên do KeyGenerator tạo hay tự tạo khóa bằng cách sử dụng mảng văn bản gốc hoặc byte.

funix-branding-2

>>> Đăng ký tìm hiểu chi tiết các khóa học CNTT của FUNiX tại đây:

Tham khảo chuỗi bài viết liên quan:

5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX

Từ A-Z chương trình học FUNiX – Mô hình đào tạo lập trình trực tuyến số 1 Việt Nam

Lý do phổ biến khiến học viên nước ngoài chọn FUNiX

5 Ứng dụng của machine learning quan trọng trong công cuộc chuyển đổi số

9 Xu hướng học máy hàng đầu tính đến 2025

Nguyễn Cúc

Nguồn tham khảo: simplilearn

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!