Toolonit
  1. ホーム
  2. 暗号化
  3. 暗号化 / 復号
  4. RC4

RC4暗号化・復号ツール

古いデータを、ストリーム暗号RC4で暗号化・復号します。

RC4は現在の基準では弱い暗号です。古いデータを読むために使い、新しいデータにはAESかChaCha20を使ってください。 AESへ移動

暗号化の方式

復号するときにも必要です。入力した内容がこのページの外に出ることはありません。

PBKDF2の反復回数

OpenSSLの既定値は10,000です。任意の回数を指定でき、多いほどパスワードの推測に時間がかかるようになります。復号には同じ回数が必要です。

鍵長
出力形式
OpenSSLで同じ処理
openssl enc -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider default

OpenSSLがパスワードを尋ねます。テキストを貼り付けるか、-inと-outでファイルを指定してください。

RC4(ARC4、ARCFOURとも呼ばれます)は、かつてSSL/TLSやWi-FiのWEPで使われていたストリーム暗号です。ブロックもモードもIVもなく、鍵からバイトの列(キーストリーム)を作ってテキストとXORするため、暗号文はテキストとまったく同じ長さになります。このページでは、openssl enc -pbkdf2形式のパスワードか、40〜2048ビット(初期値は128ビット)のhex鍵を使ってRC4でテキストを暗号化・復号できるので、古いシステムのデータを読んだり、古いシステム向けのデータを作ったりできます。RC4はすでに破られています。新しいデータにはAESかChaCha20を使ってください。すべてブラウザ内で動作するため、テキストも鍵も端末の外に出ることはありません。無料で登録も不要です。

RC4のテキストを復号する方法

  1. 「復号」を選んでBase64またはhexのテキストを貼り付けるか(形式は自動で判別されます)、「暗号化」を選んでテキストを入力します。
  2. パスワードを入力するか、「鍵とIV(hex)」に切り替えて鍵を入力します。RC4にはIVがないので、入力欄は鍵だけです。
  3. データの作成に使われた鍵長を選びます。ほかにわかっていなければ128ビット、輸出規制版のRC4なら40ビットです。
  4. 結果をコピーまたはダウンロードするか、「入れ替え」を押して結果を入力欄に移し、処理の向きを切り替えます。

主な機能

  • 40〜2048ビットの任意の鍵長を8ビット刻みで指定でき、40・128・256・2048はワンクリック
  • IVなし、パディングなし:暗号文はテキストとまったく同じ長さ
  • openssl enc -pbkdf2形式のパスワード方式。OpenSSLのレガシープロバイダー用にrc4・rc4-40コマンドを表示
  • 鍵だけを使う「鍵とIV(hex)」方式:鍵を入力または生成
  • Base64・hexで入出力。テキストではない結果はhexで表示

プライバシーは守られますか?

はい。RC4はブラウザ内のWebAssemblyで動作します。復号するデータも、その鍵やパスワードも、アップロードや保存はされません。

よくある質問

RC4は安全ですか?

いいえ。キーストリームに統計的な偏りがあり、攻撃者がデータを復元できてしまうため、2015年にRFC 7465でTLSでの使用が禁止されました。既存のRC4データを読むためだけに使い、保管するデータはAESかChaCha20で暗号化し直してください。

ARC4はRC4と同じですか?

はい。RC4は1987年にRon Rivestが設計し、企業秘密として扱われていました。1994年にアルゴリズムが流出したあと、RC4という名前は商標なので、ほかの開発者はARC4やARCFOUR(「RC4とされるもの」の意味)という名前で実装しました。暗号文はまったく同じです。

OpenSSLで復号できますか?

128ビットと40ビットの鍵ならできます。echo 'U2FsdGVkX1…' | openssl enc -d -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider default を使い、40ビット鍵の場合は-rc4-40にします。「鍵とIV」方式では、-pbkdf2 -iterの代わりに-K <鍵のhex>を使い、-ivは付けません。openssl encには、それ以外の鍵長のRC4はありません。

RC4の鍵を使い回しても大丈夫ですか?

いいえ。同じ鍵からは常に同じキーストリームが作られるため、1つの鍵で作った2つの出力をXORするとキーストリームが打ち消され、2つのテキストのXORがわかってしまいます。パスワード方式ではこうはなりません。ランダムなソルトによってメッセージごとに別の鍵が使われ、出力も毎回変わるためです。「鍵とIV」方式では、メッセージごとに新しい鍵を使ってください。

エラーではなく、読めないバイト列が出てくるのはなぜですか?

RC4は鍵が正しいかどうかを判別できないためです。パスワード、反復回数、鍵長が違っていても復号結果のバイト列は出てきますが、それはランダムなもので、ページではhexで表示されます。すべての設定が暗号化時と同じか確認してください。

関連ツール