tamakipedia

フロントエンドエンジニア。Typescriptもう特訓中です。一日の振り返りや学んだことをちょっとずつ吐いています。

共通鍵暗号方式、公開鍵暗号化方式、両方のメリットを掛け合わせた通信方法

昨日に引き続き共通鍵暗号公開鍵暗号について、

共通鍵暗号方式の欠点「第三者が鍵を使って復号できてしまう」を
補うように公開鍵暗号化方式というシステムが生まれました。

ですがこちらは速度が遅い、送信者と受信者を変更する時はまた鍵を作り直さないといけない
などといったデメリットがございます。

ここで両方のいいとこどりをする「ハイブリット暗号方式」が登場します。
簡単に説明すると「共通鍵」そのものを「公開鍵」で暗号化して送る通信になります。

ハイブリット暗号方式

f:id:okinawanpizza:20200511024559p:plain

①受信側が秘密鍵と公開鍵を作成し、送信側がその公開鍵を取得(図の黄色い鍵=秘密鍵 黒=公開鍵)
②送信側は共通鍵を作成し、送信したい文章を暗号化する。暗号化に使った共通鍵を公開鍵で暗号化。
③暗号化された文書と暗号化された共通鍵を送信。
④受信側は①で作成した秘密鍵で共通鍵を復号。共通鍵で受信した文書を復号。

共通鍵を公開鍵暗号で受渡しするシステムの完成です。

おしまい!