RC4
暗号技術では、RC4(ARC4またはARCFOURとも呼ばれ、Alleged RC4の意味で後述)は、最も一般的なソフトウェアストリーム暗号の1つです。セキュア・ソケット・レイヤー(SSL)(インターネット・トラフィックを保護するため)やWEP(無線ネットワークを保護するため)のような一般的なプロトコルで使用されています。
RC4 はシンプルで素早いことで知られていますが、出力キーストリームの開始部分が削除されていなかったり、1つのキーストリームが2回使用されていたりすると、攻撃が起こりやすくなります。
RC4は、1987年にRSA SecurityのRon Rivest氏によって作成されました。正式名称は「Rivest Cipher 4」ですが、RCの略語は「Ron's Code」の略としても知られています(RC2、RC5、RC6も参照)。
RC4は最初は企業秘密として作成されたが、1994年9月にCypherpunksのメーリングリストにその説明が投稿された。それはすぐにsci.cryptニュースグループに投稿され、そこからインターネット上の多くのウェブサイトに投稿されました。コードは、その出力がライセンスされたRC4を使用してプロプライエタリなソフトウェアのそれと一致したので、本物であることが確認されました(偽物ではありません)。アルゴリズムが知られているため、もはや企業秘密ではありません。しかし、「RC4」という名称は商標登録されています。RC4は、商標上の問題を避けるため、「ARCFOUR」または「ARC4」(Alleged RC4の意)と呼ばれることが多いです(RSAがアルゴリズムを公式に発表したことがないため)。無線カード用のWEPやWPA、TLSなど、いくつかの一般的に使用されている暗号化プロトコルや規格の一部となっています。
このような幅広いアプリケーションでの使用を可能にした2つの主な理由は、そのスピードとシンプルさです。ソフトウェアとハードウェアの両方でRC4を使用すると、開発が非常に簡単になります。
RC4暗号化アルゴリズムは、キースケジューリングアルゴリズム(KSA)を使用して、異なるキー長、通常は40ビットから256ビットの間で開始されます。これが完了すると、疑似ランダム生成アルゴリズム(PRGA)を使用して暗号化されたビットのストリームが作成されます。
RC4 は多くの点で安全な暗号のために暗号家によって設定された基準を逸脱しており、RC4 を攻撃する方法が多く存在するため、新しいアプリケーションでの使用は推奨されていません。キーストリームから最初の1キロバイトのデータを削除することで、セキュリティを多少向上させることができます。
RC4ベースの暗号システム
- WEP
- WPA
- BitTorrent プロトコルの暗号化
- マイクロソフトのポイントツーポイント暗号化
- セキュアソケットレイヤー(オプション
- セキュアシェル(オプション)
- リモートデスクトップクライアント(RDC over RDP)
- Kerberos (オプション)
- SASL 機構ダイジェスト-MD5 (オプション)
- Gpcode.AK, 2008年6月初旬、Microsoft Windows用のコンピュータウイルスで、RC4とRSA-1024暗号化で文書を隠蔽することで、文書を人質にして身代金を要求してきます。
暗号システムが"(optionally)でマークされている場合、RC4はシステムが使用するように設定できるいくつかの暗号のうちの1つです。
関連ページ
質問と回答
Q:RC4とは何ですか?
A:RC4(ARC4またはARCFOURとも呼ばれ、Alleged RC4の意味)は、Secure Sockets Layer(SSL)やWEPなどの一般的なプロトコルで使用されるソフトウェアストリーム暗号の一つです。
Q:RC4は誰が作ったのですか?
A: RC4は、1987年にRSA Security社のRon Rivest氏によって作成されました。
Q: このアルゴリズムはどのようにして公開されたのですか?
A:1994年9月にCypherpunksメーリングリストに投稿され、その後、インターネット上の多くのWebサイトに拡散され、公開されました。
Q:RC4は商標登録されているのか?
A:はい、「RC4」という名称は商標登録されています。
Q: RC4が広く使われるようになった2つの理由は何ですか?
A:RC4がこれほど広範囲に利用されている理由は、その速度とシンプルさの2つです。ソフトウェアでもハードウェアでも、RC4の利用は極めて容易である。
Q:暗号化アルゴリズムはどのように動作するのですか?
A:暗号化アルゴリズムは、キースケジューリングアルゴリズム(KSA)を用いて、通常40~256ビットの異なる鍵長で開始します。これが完了すると、擬似ランダム生成アルゴリズム(PRGA)を用いて暗号化されたビットのストリームが作成されます。
Q:RC4は新しいアプリケーションでも安全だと考えられているのでしょうか?
A:いいえ、攻撃する方法がたくさんあるため、新しいアプリケーションでの使用は推奨されません。