RC5-64 Key Buffer
RC5-64クライアントや代理キーサーバは、暗号キーを2^28〜2^31個(Ver.2.7109.440以降では2^33個まで)を単位とした「ブロック」で管理しています。未解読キーや解読済みキーに関する情報はバッファファイルに保存されていますが、これらの管理方法がクライアントと代理キーサーバでは異なります。
クライアントの入力バッファファイルbuff-in.rc5(RC5の場合)はLIFO(Last In First Out)方式(スタック)で未解読キーを蓄えています。つまり、最後に取り込んだキーが最初に解読に使われます。従って、バッファにキーが残っているのにキーを取り込むと、新しく取り込んだキーから解読されるため、古いキーはいつまでたっても解読されずに残ってしまいますから、入力バッファと出力バッファのブロック数は同じに設定しておく方がよいでしょう。クライアントによっては同じにしか設定できないものもあります。この場合でも設定ファイルを直接編集することにより異なる値にすることもできます。
この方法のメリットは1つのバッファファイルを複数のクライアントで共有できることです。1台のコンピュータで複数のクライアントを起動してもあまり意味はないのですが、複数のコンピュータでネットワーク共有しているドライブ上にバッファファイルをおくことができます。
新しいクライアント(Ver.2.7109.440以降)では、キーバッファがFIFO(First In First Out)方式(キュー)に変更されています。この場合は、古いキーから順にクライアントに渡されます。
また、解読を中断した場合、解読途中のブロックは入力バッファに戻されます。なお、最近のバージョンでは、バージョンあるいはプラットフォームの異なるクライアントで解読を中断して入力バッファに戻されたブロックはもう一度始めから解読されることになりました。これは万一、クライアントのバグで正しく解読できていないかもしれないブロックが見つかった際、無効としてdistributed.netで削除する疑わしいブロックを最小限にするためです。バージョンアップの際はご注意下さい。
これに対し、代理キーサーバ(Build 300以降)の入力バッファファイルpprc5in.rc5(RC5の場合)はFIFO(First In First Out)方式(キュー)で未解読キーを蓄えています。つまり、最初に取り込んだキーから順にクライアントへ渡されます。
ただし、代理キーサーバのバッファファイルは、メモリ上のキーバッファのバックアップに過ぎません。代理キーサーバはキーのやりとりをメモリ上のキーバッファを用いて行い、一定時間(.iniファイルの[Keyserver] connectperiodで設定)ごとにこれをファイルに書き出すようになっています。従って、複数の代理キーサーバでバッファファイルを共有できないのはもちろん、代理キーサーバ動作中にバッファファイルに手を加えてもいけません。バッファファイルを操作したい場合は、代理キーサーバを停止して下さい。また、ハングアップした場合、同じ未解読キーを再割り当てしたり、解読済みキーが消えたりすることもあり得ます。
ホームページに戻る