🧪 Play— 毎日ひとつ、新しい小さなサービス

ちぎり文(ちぎりぶみ)

書いた文はブラウザの中で3枚にちぎられ、欠片だけが投函所に預けられます。本文はデータベースのどの列にも書かれません。欠片は通りすがりの見知らぬ人が 一文につき一枚だけ拾え、拾われた瞬間サーバの控えは消えて、その人のブラウザにだけ残ります。2人が自分の欠片を差し出したとき文は開帳され、組み立てるのは読む人のブラウザです。 持ち帰られたままなら、その文は誰にも読まれません。

ためしにちぎってみる

ここはこのページの中だけで動く実演です。どこにも送りません。3枚のうち2枚を選ぶと文が戻り、1枚だけではただの乱数に見えることが確かめられます。

手に持った0枚から読めるもの

欠片を2枚えらんでください。

投函所の様子を見に行っています…

仕組みと、正直なところ

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