既出っていうか大昔に出したもの。

・キャッシュを分断しまくる

仮に1MB毎に分断するとする
大きなファイルほど細切れに
キャッシュにはヘッダとコンテンツの2種類あって

コンテンツファイルには1MBの中身が入っている。ファイル名はその中身のハッシュ値でいいだろう。
ハッシュには速度等を考慮してSHA1辺りを使用する。(MD5は少し心許ない
コンテンツにはそれ以上の情報は詰め込まれていない。あるファイルの一部とそのハッシュ値のみ。
先頭からブロック暗号でやっておけば先頭を入手しない限り、理論上復号は不可能。
固定サイズであり、ハッシュが一方向関数である以上、何のファイルの断片か分かりえない。

ヘッダファイルには
・ファイル名
・各コンテンツのハッシュ値
・その他必要そうな情報
のみを詰め込む。

キー情報は、ヘッダファイルから生成する。

欲しいキー情報を見つけたら、ヘッダファイルを要求する。
ヘッダファイルを得たら、コンテンツを要求する。
勿論、コンテンツはどんな順番で手に入れようと構わない。
コンテンツが全て揃ったら、無作為に選んだ数個(任意)を他に転送し、削除する。

問題点を多く含んだ糞仕様の完成。