割り符(わりふ)
沈めた一言は端末の中で3枚の符に割られ、古い秘密から順に見ず知らずの人へ1枚ずつ配られます。1枚では数学的に一文字も読めず、2枚そろって初めて本文が組み上がります。30日でそろわなければ符ごと消え、二度と読めません。
アプリを試す
別タブで開く ↗ユーザーが投稿した外部アプリを埋め込み表示しています。表示されない場合は「別タブで開く」からご利用ください。
誰にも言っていないことを、ひとつだけ書いて沈める。その一言は、送信ボタンを押す前にあなたのブラウザの中で3枚の「符」に割られ、本文のかたちのままではネットワークに出ていきません。割られた符は、あとから来た見ず知らずの人へ1枚ずつ配られます。符が1枚しか無いうちは、そこから本文の一文字も出てきません。これは「頑張れば解ける」という意味ではなく、どんな本文もその1枚に対して等しくあり得るという意味です。2枚そろって初めて、本文がひとりでに組み上がります。
こんなときに使う
- 誰かに言いたいけれど、特定の誰かには言いたくないことがあるとき
- 読まれるかどうかを自分で決めたくないとき(ここでは偶然そろう二人が決めます)
- 秘密分散(シャミアの閾値法)が何をする道具なのか、説明ではなく手ざわりで知りたいとき
- 見ず知らずの人が残した、これまで世界の誰にも読めなかった一言を読んでみたいとき
使い方
- 「秘密をひとつ沈める」に一言(120字まで)と、名乗り(12字まで・省略可)を書きます。
- 「3枚に割って沈める」を押すと、ブラウザの中で3枚の符ができます。実際に送られた3枚の中身が、その場で16進の並びとして表示されます。
- 沈めると引きかえに、他の誰かの秘密の符を1枚あずかります。画面に出るのはやはり読めないバイトの列です。
- 「この符を差し出す」を押すと、符は蔵に戻ります。あなたが1枚目なら、もう一人が来るのを待つことになります。2枚目なら、その場で秘密が開き、あなたが最初の読み手になります。
- 開いた一言は「開いた蔵」に並びます。あなたが沈めたものの行方も、同じ画面で追えます。
仕様と機能
| 項目 | 値 |
|---|---|
| 本文 | 120字まで(UTF-8で510バイトまで) |
| 名乗り | 12字まで。省略すると「名もなし」 |
| 割る枚数 | 3枚(うち2枚で復元) |
| 符の大きさ | 513バイト固定(本文の長さを悟られないため) |
| 配る順 | 古い秘密から順に、1回の投稿につき1枚 |
| 持てる符 | 同時に1枚まで |
| 寿命 | 30日。そろわなければ符ごと消える |
| 投稿の間隔 | 20分に1つ、1日5つまで |
符はシャミアの秘密分散です。本文の1バイトごとに、定数項がそのバイトである1次式をGF(2^8)の上で立て、x=1,2,3での値を3枚の符にしています。1点しか無ければ、その点を通る直線は256通りぜんぶ等しくあり得るので、どのバイト値も同じ確からしさになります。本文は常に512バイトへ詰めてから割るので、符の長さから字数は分かりません。同時に来た二人が同じ符を持つことがないよう、配布は(秘密, 通し番号)の主キーと「まだ配られていない」という条件をUPDATEに入れて直列化しています。
作るときに決めたこと
閾値を2にしたのは、3にすると現実には誰の秘密も開かないからです。1回沈めるごとに符は3枚生まれ、配られるのは1枚。だから蔵には配られ待ちの符が常に溜まっていきます。この非対称は意図したもので、「沈めれば必ず読んでもらえる」場所にはしたくありませんでした。読まれるかどうかが人の来かた次第で決まるほうが、秘密を預けるという行為に近いと思ったからです。
寿命を30日にしたのも同じ理由です。30日を過ぎた秘密は、蔵に残っている符の中身をすべて消します。符は配った瞬間に蔵から中身が消え、受け取った端末の中にしか残らないので、蔵が残りを消したあとは、持ち主の手元に1枚あっても本文は戻りません。読まれずに終わることが、運営の約束ではなく計算上の事実になります。「読まれずの蔵」には、名乗りと字数と日付だけが残ります。
正直に書いておくと、ここは暗号の金庫ではありません。蔵は預かった直後だけ3枚とも持っているので、その瞬間だけは本文を組み立てられます。実際に一度だけ組み立てて、長すぎないか・連絡先が混ざっていないかを検め、検め終えた本文は捨てて、字数と指紋(SHA-256)だけを残しています。符が守るのは「持ち主ひとりでは読めない」という一点であり、その限界は画面にもそのまま書きました。
注意点
- 符の中身はブラウザのlocalStorageにしかありません。消したり別の端末で開いたりすると、その符は永久に使えません(画面から手放して次の符を受け取れます)。
- 開いた秘密は誰でも読める場所に並びます。読まれて困ることは書かないでください。
- URL・メールアドレス・電話番号らしきものが混ざった一言は受け付けません。
- 取り消しはできません。沈めた秘密も、差し出した符も、戻せません。