公開鍵と秘密鍵のペアは、アセンブリ全体の暗号化には使用されません。代わりに、アセンブリに署名するために使用されます。
少し単純化すると、アセンブリなどのファイルに署名するには、ファイルのハッシュを取得し、そのハッシュを秘密鍵で暗号化します。ファイルを使用している人が、ファイル自体のハッシュを作成し、公開鍵を使用して暗号化されたハッシュを復号化し、これら2つのハッシュが同じであることを確認することで、署名を検証します。これは2つのことを証明します:
- アセンブリは、秘密鍵を使用して作成されているため、誰からのものであるか、つまりあなたからのものです。
- アセンブリをリリースしたときに作成したハッシュは現在のものと同じであるため、アセンブリは他の人によって変更されていません。秘密鍵を必要とする暗号化されたハッシュに対応する変更を加える必要があるため、署名されたアセンブリを変更することはできません。
このウィキペディアの記事には、デジタル署名に関する詳細がたくさんあります。
公開鍵と秘密鍵のペアの優れている点は、どちらの方法でも機能することです。したがって、秘密鍵で暗号化されたものは公開鍵でのみ復号化できますが、公開鍵で暗号化されたものは秘密鍵で復号化できます。この後者の使用法は、誰かがあなたに何かを送信したい場合、あなただけがあなたの自由に利用できる公開鍵でそれを暗号化できるが、あなたの秘密鍵を持っているあなただけがそれを復号化できることを彼らは知っていることを意味します。
キーはペアとしてのみ機能するため(暗号化を非対称にする)、他の誰かが公開キーで行った暗号化を単純に逆にしてメッセージを受け取ることはできません。