CoderTools

Mã hóa/Giải mã họ RC

Mã hóa đối xứng RC2/RC4/RC5/RC6 được thiết kế bởi Ron Rivest

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

RC4 có các lỗ hổng đã biết và đã bị loại bỏ khỏi TLS/SSL. Để bảo mật tối đa, hãy cân nhắc sử dụng AES-256. Tất cả dữ liệu được xử lý cục bộ trong trình duyệt của bạn.

Độ dài khóa RC2: 1-128 byte. Kích thước khối: 64 bit. Số bit khóa hiệu dụng khuyến nghị: 128
Tùy chọn định dạng

Về họ RC

Gia đình RC (Rivest Cipher, còn gọi là "Ron's Code") được Ron Rivest thiết kế tại MIT và RSA Security qua nhiều thập kỷ. RC2 (1987, xuất bản qua RFC 2268 năm 1998): mật mã khối 64 bit, khóa biến đổi 64–128 bit, tạo cho mục đích kiểm soát xuất khẩu. RC4 (1987, rò rỉ đến Cypherpunks năm 1994): mật mã dòng khét tiếng vì lỗ hổng lập lịch khóa WEP và tấn công FMS.

RC5 (1994, Rivest): mật mã khối hoàn toàn tham số hóa RC5-w/r/b. RC5-32/12/16 là phiên bản tham chiếu. RC6 (1998, Rivest/Gupta/Shamir/Yin): mở rộng RC5 với phép nhân số nguyên và bốn thanh ghi làm ứng viên AES cuối cùng với khối 128 bit.

So sánh thuật toán

Thuật toán Loại Độ dài khóa Kích thước khối Bảo mật Trạng thái
RC2 Mã hóa khối 1-128 byte 64 bit Yếu Đã lỗi thời
RC4 Mã hóa luồng 1-256 byte N/A (luồng) Yếu Đã lỗi thời
RC5 Mã hóa khối 0-255 byte 32/64/128 bit Tốt An toàn
RC6 Mã hóa khối 16/24/32 byte 128 bit Xuất sắc Ứng viên AES cuối cùng

RC2 (Rivest Cipher 2)

RC2 là mã hóa khối 64-bit được thiết kế năm 1987. Nó sử dụng khóa có độ dài thay đổi (1-128 byte) và có tham số 'số bit khóa hiệu dụng' độc đáo có thể giới hạn không gian tìm kiếm khóa.

Ban đầu được thiết kế bí mật, RC2 nhằm đáp ứng yêu cầu xuất khẩu với độ dài khóa hiệu dụng 40-bit. Do các lỗ hổng đã biết, nó chỉ nên được sử dụng để tương thích với hệ thống cũ.

RC4 (Rivest Cipher 4)

RC4 là mã hóa luồng được thiết kế năm 1987. Nó tạo ra luồng byte giả ngẫu nhiên (luồng khóa) được XOR với văn bản thuần. Nổi tiếng với sự đơn giản và tốc độ, nó được sử dụng rộng rãi trong các giao thức SSL/TLS, WEP và WPA.

Do các lỗ hổng được phát hiện (đặc biệt trong các byte đầu tiên của luồng khóa), RC4 đã bị loại bỏ khỏi các giao thức bảo mật hiện đại. Biến thể 'RC4-Drop' bỏ qua các byte luồng khóa ban đầu để giảm thiểu các vấn đề này.

RC5 (Rivest Cipher 5)

RC5, công bố năm 1994, giới thiệu thiết kế tham số hóa với ba biến: kích thước từ (w), số vòng (r) và độ dài khóa (b). Tính linh hoạt này cho phép điều chỉnh RC5 theo các yêu cầu bảo mật khác nhau.

RC5 sử dụng phép quay phụ thuộc dữ liệu như phép toán phi tuyến chính, làm cho nó đơn giản nhưng hiệu quả. Các cấu hình phổ biến bao gồm RC5-32/12/16 (từ 32 bit, 12 vòng, khóa 16 byte).

RC6 (Rivest Cipher 6)

RC6 được nộp như ứng cử viên AES năm 1998 và là một trong năm ứng viên cuối cùng. Nó mở rộng RC5 với phép nhân số nguyên để khuếch tán tốt hơn và sử dụng bốn thanh ghi làm việc thay vì hai.

Với kích thước khối cố định 128 bit và hỗ trợ khóa 128/192/256 bit, RC6 cung cấp bảo mật xuất sắc. Mặc dù Rijndael được chọn làm AES, RC6 vẫn là thuật toán được tôn trọng và an toàn.

Tính năng chính

  • RC2: Mã hóa khối cũ với độ dài khóa thay đổi, chỉ dùng cho mục đích tương thích
  • RC4: Mã hóa luồng cực nhanh, lý tưởng cho ứng dụng thời gian thực
  • RC5: Thiết kế tham số hóa cho phép cân bằng linh hoạt giữa bảo mật và hiệu suất
  • RC6: Mã hóa khối hiện đại với đảm bảo bảo mật mạnh
  • Tất cả thuật toán đều miễn phí bằng sáng chế và có sẵn miễn phí cho mọi mục đích sử dụng

Chế độ mã hóa (RC5/RC6)

  • CBC: CBC cho RC2/RC5/RC6 — khối 64 bit của RC2/RC5-32/RC6-32 phơi nhiễm với rủi ro Sweet32 (≈ 32 GB cùng khóa). RC4 không có CBC; tạo luồng PRGA liên tục.
  • ECB: ECB cho RC2/RC5/RC6 — mỗi khối xử lý độc lập. Khối giống nhau → mật mã giống nhau. Chỉ cho token khối đơn hoặc gói khóa.
  • CFB: CFB cho RC2/RC5/RC6 — hàm khối mã hóa đoạn trước, n bit trên cùng XOR với văn bản gốc. Chế độ dòng tự đồng bộ.
  • OFB: OFB cho RC2/RC5/RC6 — tạo luồng khóa bằng cách mã hóa lại trạng thái lặp lại, độc lập với văn bản gốc. Không lan truyền lỗi.

Cân nhắc bảo mật

  • RC4 KHÔNG được sử dụng trong bất kỳ ứng dụng mới nào. RFC 7465 (2015) chính thức cấm RC4 trong TLS. Tấn công FMS (2001) phục hồi khóa WEP trong chưa đầy một phút. RC4 ở đây chỉ để giải mã dữ liệu cũ.
  • RC4-Drop (loại bỏ 768–3072 byte PRGA đầu tiên) giảm nhưng không loại bỏ độ lệch RC4. Tấn công NOMORE (2015, Black Hat): phục hồi cookie TLS RC4 trong 75 giờ.
  • RC5 và RC6 không có tấn công thực tế toàn vòng nhưng khối 64 bit phơi nhiễm Sweet32 với ≈ 32 GB dữ liệu CBC cùng khóa.
  • RC2 được thiết kế cho khóa hiệu quả 40 bit (xuất khẩu) và coi là yếu. Chỉ dùng cho tương thích S/MIME cũ.

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

  • Pháp y WEP/WPA: tái tạo luồng RC4 mỗi gói từ IV 3 byte và khóa mạng
  • Giải mã S/MIME: lưu trữ email mã hóa bằng RC2/40 hoặc RC2/128 theo RFC 2268
  • Nghiên cứu tham số hóa RC5: so sánh RC5-32/12/16 với RC5-64/20/16 để hiểu khả năng mở rộng ARX
  • Đánh giá ứng viên AES: tái tạo RC6-32/20 để so sánh với Rijndael, Serpent, Twofish, MARS

Tài liệu tham khảo

Menu Nhanh

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