コンテンツへスキップ
uencoder

RC4

RC4は、Ron Rivestが1987年に設計したストリーム暗号である。シンプルで高速だが深刻なバイアスがあり、TLSなどから禁止された。

目的

パディング不要の高速なストリーム暗号化を提供し、SSL/TLSやWEPで広く使われましたが、脆弱性のため引退しました。

メカニズム

KSA(鍵スケジューリングアルゴリズム)が鍵で256バイトのSボックスを置換し、PRGA(疑似ランダム生成アルゴリズム)が1バイトごとにSボックスの2要素を交換してキーストリームを1バイト出力し、平文とXORする。先頭数バイトのキーストリームには統計的バイアスがある。

ユースケース

  • 旧式のWEP/WPA Wi-Fi暗号
  • 旧SSL/TLS(現在は無効)
  • 過去のOffice/PDF暗号
  • 教材例(ストリーム暗号の欠陥)

例

  • 入力
    key="Secret", data="Hi"
    Output
    ciphertext byte stream

    Insecure; do not use in new systems

よくあるエラー

Using RC4 in new systems
Use AES-GCM or ChaCha20-Poly1305

関連用語

関連ツール

References