# OpenPGPとは
OpenPGPは、電子メールなどのメッセージの暗号化や電子署名のために広く利用されている公開鍵暗号の規格の総称です。本章では、ブラウザ内で動作するJavaScriptによるOpenPGPの実装である、OpenPGP.jsを利用して、暗号化や電子署名を試してみて、公開鍵暗号の振る舞いを確認してみます。
公開鍵暗号によるメッセージの暗号化や電子署名のためには、公開鍵(public key)と私有鍵(private key)のペア(鍵対、key pair)を使います。公開鍵は、インターネットなどで公開しておき、メッセージの暗号化や、電子署名の検証に使います。私有鍵は、ペアになっている公開鍵で暗号化されたメッセージの復号や、ペアになっている公開鍵で検証できるような電子署名の付与に使います。
ヒント
公開鍵暗号では、暗号化と復号に、ペアになってはいても異なる鍵を使います。このため、非対称暗号とも呼ばれます。
メッセージの暗号化の際には、手元の公開鍵が本当にメッセージを送る相手のものか確認する必要があります。公開鍵を取り違えると、送信者の意図しない第三者がメッセージを復号できてしまうかもしれません。
私有鍵は、鍵対の持ち主以外に漏れないよう厳重に管理する必要があります。私有鍵を入手した第三者は、鍵対の持ち主になりすますことができてしまいます。
注意
本章では、ブラウザ上で私有鍵を生成したり利用したりしますが、原則的に、実際に利用する私有鍵をブラウザにペーストしないように注意してください。ブラウザが表示しているウェブサイトに私有鍵が漏洩してしまう可能性があります。
それでは、ブラウザ上で、鍵対の生成、テキストの暗号化と復号、電子署名を試してみましょう。公開鍵が意図した人のものかを確認する、信頼の網にも触れます。