WebCrypto.

受信者にアプリがいらない理由。ブラウザはすでに暗号を内蔵しています。

// definition

WebCrypto(Web Cryptography API)は、ブラウザのネイティブな暗号エンジンへの標準的な JavaScript インターフェースです。BurnPony のビューアは、HKDF・PBKDF2・AES-256-GCM のすべてにこれを使い、同梱ライブラリはゼロです。

これは何か

プラットフォームの暗号を使うことは、二つの点でビューアを誠実に保ちます。「ソースを表示」で監査できるほど小さく保てます。かき分けるべき 500 キロバイトのライブラリがないからです。そして実際の暗号は、誰かが同梱した JavaScript ではなく、ブラウザ自身の監査済み・ハードウェア高速化された実装で走ります。

なぜ重要か

それは到達性も保証します。どの端末のどの現代のブラウザでも、ノートを開けます。「受信者にアプリはいらない」が真なのは、必要な暗号がすでにインストール済みだからにほかなりません。

// in BurnPony ビューアの WebCrypto 経路とアプリの Swift 経路は、独立に生成したテストベクトルで相互検証されます — CryptoKit で封印されたノートは、WebCrypto でバイト単位で開かねばならず、実際にそうなります。

関連用語

よくある質問。

どのブラウザで動きますか?

あらゆる現代のブラウザです — BurnPony が使う WebCrypto の操作は、Safari・Chrome・Firefox・Edge にわたって何年も標準です。WebCrypto を持たない非常に古いブラウザは復号できませんが、それが正しい失敗です。

ブラウザの暗号を使うと、サーバーがそのコードを実行するということですか?

サーバーはビューアのページを一度だけ届けます。以降、暗号にかかわるすべてはあなたのブラウザ内でローカルに実行されます。ページの Content-Security-Policy は、どこからもコードを読み込むことを禁じています。

BurnPony を入手

iPhone と Android 向けの無料の自己消滅型暗号化ノート。受信者に必要なのはブラウザだけ。アカウントなし、トラッキングなし。