CoderTools

Mã hóa & Giải mã Camellia

Mã được chứng nhận ISO/NESSIE/CRYPTREC - bảo mật tương đương AES

Thông báo bảo mật

Camellia cung cấp bảo mật xuất sắc tương đương AES. Được khuyến nghị cho các ứng dụng yêu cầu tuân thủ tiêu chuẩn ISO/IEC hoặc chứng nhận Nhật Bản/Châu Âu.

Tùy chọn định dạng

Về Camellia

Về Camellia

Camellia là mật mã khối khóa đối xứng được Mitsubishi Electric và NTT (Nippon Telegraph and Telephone) cùng phát triển và công bố năm 2000. Hoạt động trên các khối 128-bit với khóa 128, 192 hoặc 256-bit. Thuật toán tổ chức các vòng thành nhóm 6 vòng, mỗi nhóm tiếp theo là các hàm FL/FL⁻¹ — các phép toán bit phụ thuộc khóa tiêm thêm phi tuyến tính giữa các lớp Feistel chính, yếu tố cấu trúc không có trong AES.

Đặc điểm chính

  • Kích thước khối 128-bit với hỗ trợ khóa 128/192/256-bit — độ rộng khối giống AES, đảm bảo tương thích byte cho byte trong chế độ TLS và IPsec
  • 18 vòng cho khóa 128-bit; 24 vòng cho 192/256-bit — tổ chức thành nhóm 6 vòng với lớp FL/FL⁻¹ giữa mỗi nhóm
  • Hàm FL/FL⁻¹ độc đáo của Camellia: áp dụng phép AND/OR/xoay phụ thuộc khóa giữa các nhóm vòng, tăng đáng kể khuếch tán vật liệu khóa
  • Ba chứng nhận: tiêu chuẩn toàn cầu ISO/IEC 18033-3 + dự án châu Âu NESSIE + khuyến nghị chính phủ Nhật CRYPTREC — mật mã phi-AES duy nhất có cả ba
  • Miễn phí bằng sáng chế từ 2017; đã tích hợp trong OpenSSL, GnuTLS, NSS (Firefox), LibreSSL và Bouncy Castle cho TLS và VPN
  • Miễn phí bằng sáng chế từ 2017; đã tích hợp trong OpenSSL, GnuTLS, NSS (Firefox), LibreSSL và Bouncy Castle cho TLS và VPN

Chế độ mã hóa

Chế độ mã hóa

ECB: Sổ mã điện tử — mỗi khối 128-bit được xử lý độc lập qua tất cả 18 (hoặc 24) vòng Camellia bao gồm các lớp trộn khóa FL/FL⁻¹. Vì các khối văn bản gốc giống nhau luôn tạo ra mật mã giống nhau, các mẫu lặp lại dữ liệu bị lộ — chỉ chấp nhận cho mã hóa một khối duy nhất của nonce thực sự duy nhất.
CBC: Chuỗi khối mật mã — mỗi khối Camellia 128-bit được XOR với mật mã trước trước 18/24 vòng Feistel và biến đổi FL/FL⁻¹. Độ rộng khối 128-bit của Camellia khớp chính xác với AES-CBC, cho phép thay thế trực tiếp trong các bộ mã TLS (RFC 5932) — dữ liệu căn chỉnh 16 byte chỉ cần đệm PKCS#7 tiêu chuẩn.
CFB: Phản hồi mật mã — hàm đầy đủ 18/24 vòng Camellia (bao gồm lớp FL) xử lý khối mật mã trước và XOR đầu ra với phân đoạn văn bản gốc tiếp theo. Tạo ra mã luồng tự đồng bộ phù hợp với các giao thức truyền phát cần độ hạt mức byte.
OFB: Phản hồi đầu ra — hàm vòng Camellia lặp lại mã hóa IV để tạo luồng khóa phụ thuộc khóa độc lập với văn bản gốc. Lỗi chỉ ảnh hưởng đến byte đầu ra tương ứng mà không lan truyền — lý tưởng cho các kênh có mất mát nơi cấu trúc hiệu quả phần cứng của Camellia mang lại lợi thế thông lượng.

So sánh thuật toán

Thuật toán Kích thước khối Độ dài khóa Bảo mật Tiêu chuẩn Tiêu chuẩn
Camellia128 bit128/192/25618/24Xuất sắcISO/NESSIE/CRYPTREC
AES128 bit128/192/25610/12/14TốtNIST
Twofish128 bit128/192/25616Xuất sắcAES Finalist
DES64 bit5616Xuất sắcYếu

Lưu ý bảo mật

  • Tấn công tốt nhất được công bố chống Camellia-128 đạt 12 trong 18 vòng (phân tích mã vi sai khóa liên quan); không có tấn công thực tế nào tồn tại cho phiên bản đầy đủ, để lại biên độ bảo mật sáu vòng trên ranh giới phân tích mã hiện tại
  • Các hàm FL/FL⁻¹ giữa các nhóm 6 vòng tiêm hoán vị bit phụ thuộc khóa làm gián đoạn các đường vi sai và tuyến tính tại ranh giới vòng — cơ chế cấu trúc khiến tấn công khóa liên quan khó hơn đáng kể so với các mã SPN thuần túy như AES
  • Đánh giá độc lập của NESSIE (2003) và CRYPTREC xác nhận khả năng kháng tất cả các họ tấn công đã biết của Camellia: vi sai, tuyến tính, vi sai bất khả thi, vi sai bậc cao và vi sai bị cắt — cùng tiêu chí đánh giá dùng để xác nhận AES
  • Kích thước khối 128-bit của Camellia loại bỏ vấn đề giới hạn sinh nhật ảnh hưởng đến các mã 64-bit (DES, 3DES, Blowfish): ngưỡng đụng độ xảy ra ở 2⁶⁴ khối (~147 petabyte mỗi khóa), đặt các tấn công kiểu Sweet32 hoàn toàn ngoài tầm với thực tế
  • Kích thước khối 128-bit của Camellia loại bỏ vấn đề giới hạn sinh nhật ảnh hưởng đến các mã 64-bit (DES, 3DES, Blowfish): ngưỡng đụng độ xảy ra ở 2⁶⁴ khối (~147 petabyte mỗi khóa), đặt các tấn công kiểu Sweet32 hoàn toàn ngoài tầm với thực tế

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

Bộ mã TLS/SSL: Camellia được triển khai trong TLS 1.2 như TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (RFC 5932) và TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (RFC 6367) — được sử dụng tích cực trong các hệ thống tài chính và dịch vụ chính phủ Nhật Bản
VPN IPsec: RFC 4312 định nghĩa Camellia cho IKEv1/v2 và ESP, cung cấp thay thế AES cho các triển khai yêu cầu thuật toán tuân thủ CRYPTREC trong mạng chính phủ Nhật Bản
Mã hóa email và tệp OpenPGP: RFC 5581 thêm Camellia-128/192/256 như thuật toán đối xứng tùy chọn vào OpenPGP, cung cấp thay thế AES cho người dùng cần mã được chứng nhận NESSIE
Hệ thống chính phủ và tổ chức tài chính Nhật Bản: chỉ định CRYPTREC khiến Camellia bắt buộc hoặc được ưu tiên mạnh cho các hệ thống e-Government và cơ sở hạ tầng ngân hàng tại Nhật Bản
Module bảo mật phần cứng và mã hóa nhúng: cấu trúc Feistel của Camellia ánh xạ hiệu quả vào mảng cổng FPGA và triển khai ASIC, cho phép tính toán đồng thời mã hóa và lịch trình khóa
Module bảo mật phần cứng và mã hóa nhúng: cấu trúc Feistel của Camellia ánh xạ hiệu quả vào mảng cổng FPGA và triển khai ASIC, cho phép tính toán đồng thời mã hóa và lịch trình khóa

Tài liệu tham khảo

Công Cụ Liên Quan

Menu Nhanh

Chưa có công cụ gần đây