ハッシュ/暗号

PGP/GPG Encrypt/Decrypt

PGP鍵の生成、メッセージの暗号化・復号(OpenPGP、RFC 4880)をopenpgp.jsライブラリで実行。


                        

                        

PGP/OpenPGP (RFC 4880) uses a key pair — public and private — for end-to-end message encryption and digital signatures. This tool generates keys and encrypts/decrypts messages using the openpgp.js library, right in your browser.

How to use it

Common uses

Things to keep in mind

A public key can be shared freely — it's exactly what others need to encrypt a message for you; a private key must never be shared with anyone.

Losing a private key with no backup means old messages can never be decrypted again — that's why creating a revocation certificate right after generating a key is worth doing immediately.

このツールに関する記事: PGP:公開鍵と秘密鍵による暗号化の仕組み

よくある質問

PGPでの暗号化と署名の違いは何ですか?

暗号化はメッセージを、意図した受信者の秘密鍵だけが読めるように、その公開鍵を使ってスクランブルします。署名はその逆で、あなたの秘密鍵を使ってメッセージがあなたから来たもので改ざんされていないことを証明し、あなたの公開鍵を持つ誰もが検証できます。

このツールに秘密鍵を信頼して預ける必要がありますか?

鍵生成、暗号化、復号、署名はすべてブラウザ内で完結します — 秘密鍵がサーバーに送信されることはありません。とはいえ、ここに貼り付ける秘密鍵は他の場所と同じように慎重に扱ってください。

ここでのRSA鍵とECC鍵の違いは何ですか?

RSAはより古く、広くサポートされている選択肢で、同等のセキュリティには通常より長い鍵(2048ビット以上)が必要です。ECC(楕円曲線)ははるかに短い鍵で同様のセキュリティを達成し高速ですが、古いソフトウェアでの互換性はやや劣ります。

Web of Trustとは何で、X.509とどう違うのですか?

信頼を集中管理する認証局が保証するX.509とは異なり、PGPは「信頼の輪(Web of Trust)」に依存します。ユーザーは、鍵の所属を個人的に確認したうえで互いの公開鍵に自分で署名します。見知らぬ鍵への信頼は、すでに信頼している人々の署名の連鎖を通じて生まれます。

秘密鍵をなくしてしまったらどうなりますか?

秘密鍵がなければ、自分宛てに暗号化されたメッセージを復号することも、自分の名前で署名することもできません——バックアップがなければ鍵を復元することは不可能です。だからこそ、鍵を生成した直後に失効証明書(revocation certificate)を作成しておくことが重要な習慣なのです。

記事: ハッシュ/暗号

Hash Generator:MD5、SHA-1、SHA-256はどう違うのか

MD5が今もファイルの整合性検証に使われるが、パスワードには使われない理由。

Checksum Verifier:ファイルが壊れていないか確認する方法

一致するチェックサムがファイルの整合性を確認する一方、誰が作成したかは確認しない理由。

HMAC:鍵付きハッシュが通常のハッシュとどう違うか

通常のSHA-256がメッセージの改ざんから保護しない理由と、HMACがそれを可能にする理由。

Bcrypt:パスワードが速くではなく遅くハッシュ化される理由

速いSHA-256がパスワードに向かない理由と、遅いbcryptが適切な選択である理由。

UUID:ほとんど重複しない識別子はどう生成されるか

UUID v4が数百万台のマシンで独立して、衝突リスクなしに生成できる理由。

パスワード生成ツール:パスワードを本当に強くするものは何か

辞書の単語からなる長いパスワードが、記号や数字を含む短いパスワードより強い理由。

AES:共通鍵暗号の仕組み

AESで同じ鍵がデータの暗号化と復号の両方に使われる理由と、それが公開鍵暗号とどう違うか。

Argon2:このアルゴリズムがパスワードハッシュコンペティションで優勝した理由

Argon2が古いパスワードハッシュ化アルゴリズムよりGPUを使った攻撃に対してどう優れた防御を行うか。

Scrypt:このアルゴリズムがなぜこれほど多くのメモリを必要とするか

scryptがASICデバイスでのクラッキングを困難にするために意図的に大量のメモリを要求する理由。

TOTP:認証アプリのワンタイムコードはどう機能するか

Google Authenticatorのコードがインターネットなしで動作し、時刻だけでサーバーと同期する理由。

PBKDF2:最も古い鍵ストレッチング標準

PBKDF2の推奨反復回数が毎年増え続ける理由。

X.509:SSL証明書の中身は何か

緑色の錠前を表示する前に、ブラウザがサイトの証明書で正確に何をチェックしているか。