機能の説明
このツールは、パスフレーズでファイルを暗号化・復号します。age(age-encryption.org/v1)の思想に従った実装です。age は、PGP の複雑さへの明確なアンサーとして設計された、モダンなファイル暗号化フォーマットです。その核心は「小さく、明示的で、認証付きの暗号化」。鍵の署名ウェブも、期限切れの鍵パケットも、望んでいないアルゴリズム交渉もありません。パスフレーズを決めれば、暗号化ファイルが手に入る。インターフェースはそれだけです。
出力は自己記述的なエンベロープです。先頭に cosmodev-age-v1 のマジックヘッダー、続いて毎回新しく生成される 16 バイトのソルト、12 バイトの IV、そして AES-256-GCM 認証付き暗号化で封印されたファイルが続きます。256 ビット鍵はパスフレーズから PBKDF2-SHA256(100,000 反復)で引き伸ばされるため、盗まれたファイルの総当たり攻撃は高コストになります。すべてはブラウザーの Web Crypto API で 100% クライアントサイドで実行されます。ファイルもパスフレーズも、あなたのマシンから出ることはありません。(注意:これは Web Crypto のプリミティブ上で age 流 の暗号化を行うものであり、公式の age CLI は scrypt + ChaCha20-Poly1305 を使うため、これらのファイルを読むことはできません。)
人々が PGP から age へ移行した理由:
| age | PGP/GPG | |
|---|---|---|
| スコープ | ファイル暗号化のみ | メール、鍵、署名、アイデンティティ — PKI 一式 |
| 鍵 | 小さな受信者鍵 1 つ、またはパスフレーズのみ | キーリング管理、有効期限、信頼レベル |
| 出力 | コンパクトなバイナリ、または ASCII アーマーテキスト | バージョン + アルゴリズムメタデータ入りの大きなパケット |
| アルゴリズム | 明示的なモダンな 1 スイート(AEAD)のみ | 交渉されるスイート、なかには数十年前のものも |
| 失敗時の挙動 | 認証タグエラーで明確に失敗 | 古くからのパーサーの癖、「信頼できないが表示」の壁 |
使い方
- トグルで Encrypt(暗号化)または Decrypt(復号)を選びます。
- ドロップゾーンにファイルをドラッグします(クリックして選択も可能)。ファイル形式は問いません。
- パスフレーズを入力します。目のアイコンで表示 / 非表示を切り替えられます。
- Encrypt file / Decrypt file を押します。結果は自動的にダウンロードされ、元と出力のサイズが並べて表示されるので、59 バイトのオーバーヘッド(ヘッダー 15 B + ソルト 16 B + IV 12 B + GCM タグ 16 B)を確認できます。
例
バックアップを暗号化:
secrets.tar(48.0 KB)+ パスフレーズ blue heron circles midnight → secrets.tar.age(48.1 KB、+59 B)
復号して元に戻す:
secrets.tar.age + 同じパスフレーズ → secrets.tar、元のファイルとバイト単位で完全に一致
誤ったパスフレーズ:
secrets.tar.age + それ以外のパスフレーズ → Decryption failed: wrong passphrase or corrupted file. — GCM タグの検証に失敗し、何も書き出されません。
補足事項
- サーバー通信ゼロ: すべてはブラウザーの Web Crypto API で実行されます。アップロードも、ログも、アカウントもありません。ネットワークを切断してもツールは動作します。
- なぜ認証付き暗号化か? AES-256-GCM の 16 バイトタグが、ファイルが暗号化後に改変されていないことを証明します。ヘッダー、暗号文、IV、ソルトのどの 1 バイトを改ざんしても、復号は破壊されたデータを返すのではなく、エラーとして失敗します。
- ヘッダーは機能です。 age 流のファイルは自らを名乗ります。このツールは
cosmodev-age-v1のマジックプレフィックスを検出し、それ以外のファイルの復号を拒否するため、平文ファイルを誤って「復号」してゴミを生成する事故が起きません。 - パスフレーズの強度がセキュリティモデルのすべてです。 鍵の復旧も、エスクローも、リセットもありません。パスフレーズを忘れたら、そのファイルは設計上復元不可能です。
- 同じファイルを 2 回暗号化しても、毎回異なる出力になります。ソルトと IV は暗号化のたびに新しくランダム生成されるためです。
- 関連ツール: Passphrase Generator(強いパスフレーズの生成)、File Encryptor(age の枠組みなしで同じ暗号化)、Text Encryptor(ファイルではなくスニペットの暗号化)。