CoderTools

Công cụ Mã hóa/Giải mã DES/3DES

Thuật toán mã hóa đối xứng cổ điển, hỗ trợ DES và Triple DES

⚠️ Cảnh báo bảo mật

DES/3DES là các thuật toán mã hóa cũ, không khuyến nghị cho các ứng dụng bảo mật mới. Đối với các dự án mới, vui lòng sử dụng các thuật toán hiện đại như AES-256.

Độ dài khóa DES: 8 byte (64 bit, hiệu quả 56 bit)
Tùy chọn định dạng

Về Mã hóa DES/3DES

DES (Data Encryption Standard) là một thuật toán mã hóa khối đối xứng được phát triển bởi IBM vào những năm 1970 và được Cục Tiêu chuẩn Quốc gia (NBS) chấp nhận làm Tiêu chuẩn Xử lý Thông tin Liên bang (FIPS) vào năm 1977.

Do khóa 56-bit của DES không còn an toàn, 3DES (Triple DES) đã được phát triển. 3DES sử dụng ba khóa DES cho ba lần mã hóa, cải thiện đáng kể độ an toàn.

Chế độ mã hóa

  • CBC: CBC (Cipher Block Chaining): Mỗi khối văn bản rõ được XOR với khối văn bản mã hóa trước đó trước khi mã hóa. Yêu cầu IV, an toàn hơn.
  • ECB: ECB (Electronic Codebook): Mỗi khối được mã hóa độc lập. Không cần IV, nhưng cùng một văn bản rõ tạo ra cùng một văn bản mã hóa, ít an toàn hơn.
  • CFB: CFB (Cipher Feedback): Chuyển đổi mã hóa khối thành mã hóa luồng. Yêu cầu IV.
  • OFB: OFB (Output Feedback): Chuyển đổi mã hóa khối thành mã hóa luồng, đầu ra được phản hồi vào đầu vào. Yêu cầu IV.

So sánh DES và 3DES

Thuật toán Độ dài khóa Kích thước khối Bảo mật Tốc độ Khuyến nghị
DES 56 bit (8 byte) 64 bit Thấp - Dễ bị tấn công brute force Nhanh Chỉ để tương thích với hệ thống cũ
3DES-2Key 112 bit (16 byte) 64 bit Trung bình Trung bình Khuyến nghị cho hệ thống cũ
3DES-3Key 168 bit (24 byte) 64 bit Cao hơn Chậm hơn (3x DES) Khuyến nghị cho hệ thống cũ

Khuyến nghị bảo mật

  • DES không còn an toàn do độ dài khóa ngắn, không khuyến nghị cho hệ thống mới.
  • Mặc dù 3DES an toàn hơn, nó đã được thay thế bằng AES. Sử dụng AES cho các dự án mới.
  • Nếu bạn phải sử dụng 3DES, hãy sử dụng khóa 168-bit (3 khóa khác nhau).
  • Tránh sử dụng chế độ ECB vì nó làm lộ các mẫu dữ liệu.
  • Sử dụng IV khác nhau cho mỗi lần mã hóa, ngay cả với cùng một khóa.

Trường hợp sử dụng

  • Hệ thống tài chính cũ: Thiết bị đầu cuối POS, máy ATM, v.v.
  • Cổng thanh toán cũ: Truyền dữ liệu liên ngân hàng
  • Tích hợp phần mềm cũ: Giao tiếp với các hệ thống chỉ hỗ trợ DES/3DES
  • Mã hóa thẻ từ: Mã hóa khối PIN trong tiêu chuẩn thanh toán EMV

Tài liệu tham khảo