
EphemeralCypher / エフェメラルサイファー
Ephemeral Cypher Android v0.1.7 Ephemeral Cypher は、Webページや保存したHTMLなど、その時点で存在している情報を「鍵素材」として使い、文章を暗号化・復号するAndroidアプリです。 一般的な暗号化では、パスワードや秘密鍵そのものを共有します。Ephemeral Cypherでは、その代わりに「同じ素材を再現できること」を鍵として利用します。 たとえば、あるWebページを指定すると、アプリ内ブラウザで現在表示されているページのテキストを端末内で読み取り、正規化したうえでSHA-256によるフィンガープリントを生成します。そこからHKDFで暗号鍵を導出し、AES-256-GCMでメッセージを暗号化します。Webページのほかに、画像の見た目から生成する知覚ハッシュを鍵素材にすることもできます。 暗号化された文章はTXTファイルとして保存できます。あとからTXTを読み込み、暗号化したときと同じ鍵素材を指定することで、元の文章を復号できます。 つまり、 Webページを鍵にする → 文章を暗号化する → TXTとして持ち運ぶ → 同じページを使って復号する という使い方ができます。 Webページの内容が変化すれば、そこから生成されるフィンガープリントも変化する可能性があります。そして変化した瞬間から、その暗号文は、暗号化した本人を含め誰にも復号できなくなります。これは不具合ではなく、本作が意図する「鍵の可死性」です。鍵は手元に保管されるものではなく、素材の側で生き続け、素材とともに死にます。 Android版では、URLを入力するとアプリ内ブラウザでページを開き、実際に表示内容を確認してから「このページを鍵にする」ことができます。ログインが必要なページも同じ手順で鍵素材にできますが、通知や日付など表示の変わりやすいページほど、そこから生まれる鍵は儚くなります。どのくらい移ろいやすい素材を選ぶかが、そのまま暗号文の寿命を決めます。 暗号化・復号とページフィンガープリントの生成はすべて端末内で行われ、鍵素材を生成するために第三者の中継サーバーへページ本文を送信する仕組みは使用していません。 なお、Ephemeral Cypherは「公開素材の一時性を鍵として利用する」というコンセプトを実験的に実装した作品です。素材を第三者に特定された場合には、同じ鍵を再現される可能性があります。重要な個人情報や業務秘密など、高度な安全性が必要な用途には、専門的に監査された暗号化製品を使用してください。 今回の v0.1.7 では、TXTの保存・読み込み・復号までの一連の操作を改善し、暗号文をファイルとして実際に持ち運べるようになりました。あわせて、UIを紙と墨と朱の言語に刷新しています。 Ephemeral = 一時的な、儚い。 変化し続ける情報を、秘密そのものではなく「鍵」として使う。そしてその鍵は、情報とともに移ろい、いつか失われる。Ephemeral Cypherは、暗号化という機能を通して、情報の一時性と記憶の関係を扱う小さな実験です。