CipherSaberは、 RC4ストリーム暗号に基づいたシンプルな対称暗号化プロトコルです。その目的は技術的な側面と政治的な側面の両方にあります。メッセージの機密性をある程度強力に保護しながらも、初心者プログラマーでもアルゴリズムを記憶し、ゼロから実装できるほどシンプルに設計されています。設計者によると、QBASICプログラミング言語で記述されたCipherSaberは わずか16行のコードで済みます。政治的な側面としては、非常にシンプルなため、いつでもどこでも再実装でき、政府やその他の規制によって通常の暗号化ソフトウェアの配布が完全に不可能になった場合でも、ユーザーがプライベートに通信できる手段を提供できる点が挙げられます。
CipherSaberは、強力な暗号技術を一般の人々が利用できるようにするために、アーノルド・ラインホルドによって発明されました。多くの政府が暗号技術の利用資格に法的制限を設けており、さらに多くの政府がそのような制限を提案しています。ラインホルドは、安全でありながらプログラミングが容易な暗号化アルゴリズムの詳細を公開することで、暗号技術を誰もが利用できるようにしたいと考えています。
PGPのような使いやすい既成ソフトウェアとして配布されるプログラムとは異なり、ラインホルトはCipherSaberを仕様書としてのみ公開している。この仕様書は、初心者プログラマーでも簡単に実装できるほどシンプルに設計されている。CipherSaberのウェブサイトでは説明:
ウェブサイトには「CipherKnight」証明書として表示されるグラフィックファイルがありますが、このファイルはCipherSaberを使用して暗号化されており、ファイルと一緒に公開されている既知の鍵が使用されています。ユーザーは、まず独自のCipherSaber実装を作成してファイルを復号化することで、グラフィックを表示(必要に応じて印刷して額装)できます。独自の実装を作成し、いくつかの簡単なタスクを実行することで、ユーザーはCipherKnightとなり、復号化された証明書がその騎士の称号を証明します。つまり、CipherSaberの開発者は、既製のツールを提供するのではなく、コンピューターユーザーがプロの開発者や政府の許可に頼ることなく、独自の強力な暗号化プログラムを作成できることを理解してもらうことを目指しています。
CipherSaberのオリジナルバージョン(現在はCipherSaber-1またはCS1と呼ばれている)では、暗号化された各メッセージは、ランダムな10バイトの初期化ベクトル(IV)で始まります。このIVはCipherSaberキーに追加され、RC4キー設定アルゴリズムへの入力となります。RC4キーストリームとXOR演算されたメッセージがその直後に続きます。[ 1 ]
RC4に対するFluhrer 、Mantin、Shamirの攻撃により、同じCipherSaberキーで多数(1000以上)のメッセージが送信されると、CipherSaber-1が脆弱になることが判明しました。これに対処するため、CipherSaberの設計者は、RC4キー設定ループを複数回(20回推奨)繰り返す修正プロトコル(CipherSaber-2と呼ばれる)を作成しました。CipherSaber-2で通信する当事者は、秘密鍵に合意するだけでなく、このループを何回繰り返すかについても合意する必要があります。[ 2 ]
暗号文の出力は、ランダムノイズと区別できないように設計されたバイナリバイトストリームです。[ 3 ] ASCIIデータ のみを受け入れることができる通信システムで使用する場合、著者はバイトストリームを16進数でエンコードすることを推奨しています。これは、たとえばbase64 MIMEエンコーディングよりも効率は劣りますが、実装の容易さを最大限に高めるというCipherSaberの目標に沿って、プログラミングははるかに簡単です。
CipherSaberは、政治的な主張を効果的に伝えるには十分な強度と使いやすさを備えています。しかし、このような暗号システムに通常求められるセキュリティと利便性には著しく欠けています。CipherKnightsは、娯楽のため、あるいは非常に困難な状況下で、CipherSaberを使って時折メッセージを比較的安全に交換することはできますが、CipherSaberは暗号技術を必要最低限に絞り込んでいるため、広く展開したり日常的に使用したりするのに十分な機能を提供していません。実際、CipherSaberの作者は、CipherKnightになるための手順の一つとして、ユーザーにPGPをダウンロードしてインストールするよう求めています。CipherSaberは、PGPのようなプログラムが禁止された場合の最後の手段としての代替システムと見なすことができます。CipherSaberの犠牲と欠点のいくつかはRC4特有のものですが、すべてがそうではありません。