>>255
公開鍵方法を使うなら、
ファイルデータの流れは、ファイル送信元(A) ->中継 -> ファイル受信先
鍵の流れは、ファイル送信元(A) <-中継<-ファイル受信先
流れが逆。また、鍵(公開鍵)とファイルデータを持っていてもそれを復号できないから、中継はOK

ただし問題は>>249が言っているように拡散しない点ね。
だからダウンロードとは別に拡散させるための方法が必要。参照数が多いファイルは>>161の2、4の手順を使って
適当に選んだノードに強制コピーさせて拡散させていくのがいいのかな?