RC4(ARCFOUR)とは?
RC4(Rivest Cipher 4)は、流れ暗号(ストリーム暗号)の一種で、Ronald Rivestによって設計された暗号アルゴリズムです。RC4は、暗号文の生成に使用される鍵長(Key Length)が短く、高速で暗号化が可能であることから、Webセキュリティなどの分野で広く使用されています。
RC4は、鍵生成アルゴリズムに「ARCFOUR(Alleged RC4)」と呼ばれるアルゴリズムを使用しているため、RC4とARCFOURは同義語として使用されることがあります。
RC4の基本概念
RC4は、1バイトずつ暗号化を行い、暗号文を生成するストリーム暗号です。ストリーム暗号は、平文の各ビットと鍵の各ビットをXOR演算で結合することで、暗号化を行います。RC4の場合、鍵はランダムなバイト列であり、この鍵を元にS-Boxと呼ばれる256バイトのテーブルを生成します。S-Boxは、同時に2つのキーインデックス(i,j)を元に生成されます。
暗号化の手順は、以下の通りです。
1. S-Boxの初期化
2. パーミュテーション(置換)
3. 鍵ストリームの生成
4. 平文とのXOR演算
RC4の応用事例
RC4は、Webセキュリティの分野で最も広く使用されている暗号アルゴリズムの一つです。以下は、RC4が使用される主な応用事例です。
1. SSL/TLS通信の暗号化
2. WEP無線LANの暗号化
3. パスワードの暗号化
しかし、RC4にはセキュリティ上の脆弱性が指摘されており、最近では使用が推奨されていません。代替としては、AES(Advanced Encryption Standard)が広く使用されています。