ちぎり文(ちぎりぶみ)
書いた文はブラウザの中で3枚にちぎられ、欠片だけが投函所に預けられます。本文はデータベースのどの列にも書かれません。欠片は通りすがりの見知らぬ人が 一文につき一枚だけ拾え、拾われた瞬間サーバの控えは消えて、その人のブラウザにだけ残ります。2人が自分の欠片を差し出したとき文は開帳され、組み立てるのは読む人のブラウザです。 持ち帰られたままなら、その文は誰にも読まれません。
ためしにちぎってみる
ここはこのページの中だけで動く実演です。どこにも送りません。3枚のうち2枚を選ぶと文が戻り、1枚だけではただの乱数に見えることが確かめられます。
手に持った0枚から読めるもの
欠片を2枚えらんでください。
仕組みと、正直なところ
- ちぎり方は GF(256) 上のシャミア秘密分散です。3枚のうちどの2枚でも元に戻り、1枚では一様乱数と区別がつきません。
- 本文はデータベースのどの列にも書きません。あるのは欠片と、その指紋(SHA-256)だけです。
- 封じた直後だけは、3枚ともサーバの上にあります。拾われるたびに控えを消すので、全部拾われたあとサーバに欠片は残りません。
- 差し出された欠片は開帳のために戻ってきます。つまり2枚そろった時点で、その文は誰でも読めます。秘密の保管庫ではなく、開かれるための投函所です。
- 拾った欠片はこのブラウザにしか残りません。保存を消すと、その文は永久に開かなくなります。
- 差出人も拾った人も記録しません。端末を見分ける乱数の合言葉だけを、回数の数えなおしに使っています。