「秘密鍵で暗号化」と「公開鍵で暗号化」
公開鍵暗号方式は、現代のセキュリティ技術を支える重要な仕組みです。ただ、よくある説明で「署名」という言葉が登場すると、途端に混乱しがちです。正解にはちょっと違うかもですが、ほぼ「署名」とは、秘密鍵でデータを暗号化することを指しています。しかし、わざわざ新しい言葉を使うことでわかりづらくなってしまいます。
この記事では、「秘密鍵で暗号化」と「公開鍵で暗号化」の違いを、運転免許証のPDFを例にしてシンプルに解説します!
秘密鍵で暗号化:データが改ざんされていないことを確認
秘密鍵で暗号化するのは、データが改ざんされておらず、送信者が本人であることを証明するためです。
どんな仕組み?
データのハッシュ値を計算
運転免許証をPDFに変換し、その内容からハッシュ値(データを要約した数値)を計算します。ハッシュ値を秘密鍵で暗号化
自分だけが持っている秘密鍵を使い、計算したハッシュ値を暗号化します。PDFと暗号化したハッシュ値を送る
PDFデータと、暗号化したハッシュ値、そして自分の公開鍵を取引先に渡します。
取引先はどうやって確認するの?
受け取ったPDFからハッシュ値を再計算します。
暗号化されたハッシュ値を、送信者の公開鍵で復号します。
自分が再計算したハッシュ値と、復号したハッシュ値が一致するか確認します。
これにより、データが改ざんされていないことと、送信者が秘密鍵を持つ本人であることが確認できます。
公開鍵で暗号化:データを安全に送る
公開鍵で暗号化するのは、データを安全に相手に届けるためです。
どんな仕組み?
データを公開鍵で暗号化
取引先が提供する公開鍵を使って、運転免許証のPDFを暗号化します。この公開鍵は取引先しか持っていません。暗号化されたPDFを送る
安全に暗号化されたPDFデータを取引先に送ります。
取引先はどうやってデータを読むの?
自分だけが持つ秘密鍵を使って暗号化されたPDFを復号します。
復号されたPDFを確認します。
これにより、第三者にデータを読まれることなく、安全にやり取りできます。
まとめ
「秘密鍵で暗号化」と「公開鍵で暗号化」は、同じ公開鍵暗号の仕組みを使いますが、目的は全く違います。難しいところでじっくり整理していきましょう。