----------
・キー拡散段階
@ CがBに「CのIPアドレス」と「Cの公開鍵」をセットにして送付。続いてBがこれらをAに転送。
A AはCの公開鍵で「Aのupファイルの情報(ファイル名、ハッシュなど)」を暗号化し、
ここに「Aの公開鍵」と「CのIPアドレス」を添付したキーを作り、Eに送る。
B EはEの公開鍵で「AのIPアドレス」を暗号化し、キーに追加。
さらに「Eの公開鍵」、「EのIPアドレス」をキーに追加してCに送る。
C Cは秘密鍵で解読し、「Eに接続している誰かが持っているファイルのリスト」
を手に入れる。この時点でCの持つキーには
----------
・ファイル転送段階
@ Dがファイルを検索し、Cが保持するキーを見つける。DはCから
「Eに接続している誰かが持っているファイルの情報」、「Eにより暗号化された
AのIPアドレス」、「EのIPアドレス」、「Aの公開鍵」をダウンロードする。
ただし、もしもこのとき Dの公開鍵=Eの公開鍵 なら、Cはキーを送信しない。
A DはAの公開鍵で「欲しいファイルのハッシュ」と「DのIPアドレス」を暗号化し、
「Eにより暗号化されたAのIPアドレス」、「Dの公開鍵」とあわせてEに送付する。
B Eは「AのIPアドレス」を秘密鍵で解読し、残り3つの情報をAに送信する。
C Aは「Dが欲しいファイルのハッシュ」と「DのIPアドレス」を秘密鍵で解読し、
Dの公開鍵で対象のファイルを暗号化して、Fに転送を依頼する。
D FはDにファイルを転送する。