テキストの暗号化・復号
Text Encrypt & Decrypt
パスフレーズからAES-GCMでメッセージを暗号化し、それだけで完結するBase64の塊にします。
メッセージをパスフレーズで暗号化して、どこにでも貼り付けられるBase64の文字列1つにし、また元に戻します。PBKDF2で導いた鍵によるAES-GCMです。ソルトとノンスは出力の中に一緒に入るので、その文字列が暗号文のすべてであり、ほかに取っておくものはありません。
取り戻す手立てはありません。パスフレーズを忘れればメッセージは失われ、弱いパスフレーズはメッセージを公開したのと同じです。
メッセージ
暗号化の結果(どこにでも貼り付けられる Base64)
使い方
無くさないパスフレーズを選びます
どんな形の復旧もありません。パスフレーズを忘れればメッセージは消えますし、推測できるものを使えばメッセージは公開されたのと同じです。
暗号化してBase64をコピーします
メールもチャットもテキストファイルも、そのまま通り抜けます。添付も、鍵のファイルも、横に一緒に保管するものもありません。
パスフレーズは別の経路で渡します
パスフレーズが暗号文の隣を一緒に旅してしまえば、すべてが台無しです。別のチャネルで、できれば別の日に送ってください。
よくある質問
Argon2idではなくPBKDF2なのはなぜですか
ブラウザ自身が実装し、プラットフォームが保守しているのがPBKDF2だからです。Argon2を使うにはWebAssemblyのビルドを一緒に配ることになりますが、監査できない暗号のプリミティブは、OWASPの推奨する反復回数で回すよく知られたものに劣ります。ここで使っているのがその推奨値です。
パスフレーズを間違えると、文字化けした文章が出ますか
出ません。はっきり失敗します。AES-GCMは暗号文を認証するので、パスフレーズが違ったり、文字が1つでも変わっていたりすれば、それらしい意味不明な文章ではなくエラーになります。改ざんは復号されるのではなく、検出されます。
これはエンドツーエンドの暗号化ですか
自分の手で、ブラウザの中で、ほかの誰も持たない鍵を使って行う暗号化です。ただしメッセージングのプロトコルではありません。前方秘匿性も、身元も、鍵交換もありません。やりとりを続ける会話なら、その目的で作られた道具を使ってください。
ファイルの暗号化ツールでこれを開けますか
開けます。意図的に同じコンテナを使っているので、2つの道具はお互いの出力を復号できます。監査すべき構造を、2つではなく1つにしておくためです。
ここから渡せます
ファイルの暗号化・復号
File Encrypt & Decrypt
パスフレーズからAES-256-GCMでどんなファイルでも暗号化し、ここで作ったファイルを復号します。
一度で消える秘密メモ
Self-Destructing Note
ブラウザ内でメモを暗号化し、一度読まれたら中身が消える使い切りのリンクを渡します。
PGPメッセージ暗号化
PGP Message Tool
パスフレーズでOpenPGPのメッセージをブラウザ内だけで暗号化・復号します(RFC 4880の共通鍵モードなのでgpg -cと読み合えますが、公開鍵暗号と署名は作っていません)。
古典暗号ツール
Classic Cipher Tool
シーザー・ROT13・アトバシュ・ヴィジュネル・レールフェンスの各暗号を変換し、全シフトの総当たり表も出します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
Base64エンコード・デコード
Base64 Encoder & Decoder
テキストでもファイルでもBase64とBase64URLを符号化・復号し、UTF-8も正しく扱います。
ファイルの暗号化・復号
File Encrypt & Decrypt
パスフレーズからAES-256-GCMでどんなファイルでも暗号化し、ここで作ったファイルを復号します。
ランダムキー生成
Random Key Generator
暗号学的な乱数バイトを指定した長さで16進・Base64・Base64URLとして生成し、アプリのシークレットに使えるようにします。
一度で消える秘密メモ
Self-Destructing Note
ブラウザ内でメモを暗号化し、一度読まれたら中身が消える使い切りのリンクを渡します。
curlをコードに変換
curl to Code
curlのコマンドをfetch・axios・Pythonのrequests・Go・PHP・PowerShellのコードに変換します。
文字列のハッシュ
Text Hash
文字列のMD5・SHA-1・SHA-256・SHA-384・SHA-512・CRC-32を計算し、大文字表記とBase64での出力も選べます。