Output Diary

プログラミング × 読書 のアウトプットを発信しています

【セキュリティ】暗号方式

f:id:kina_kq:20210511105117j:plain

 

情報の機密性、安全性を保つためには、暗号化と認証の導入は欠かせません。

今日は3つの暗号化の方式と特徴を紹介していきます。

 

そもそも暗号化って?

 

暗号化とは、

データを規則に従って変換し、第三者が解読できないようにすることです。

 

暗号化されたデータは、デタラメに文字列が並べられており、何が書いてあるか理解できないものになっています。

 

なぜ暗号化するかというと、暗号化されていない状態でデータを送信すると、

三者からデータを盗み見されたり、改ざんされてしまう可能性があるからです。

 

暗号化前のデータは、平文といい、

暗号化されたデータをもとに戻すことを復号と呼びます。

 

暗号化や複合は、暗号化アルゴリズムによって行われます。

 

共通鍵暗号方式

 

共通鍵暗号方式とは、

暗号化と同じ鍵(共通鍵)を使用する方式です。

 

共通鍵は第三者に知られないように秘密にするため、

秘密鍵暗号方式とも呼ばれます。

 

メリットとしては、暗号化と復号が高速に行える点で、

デメリットとしては、鍵が第三者に渡ってしまうと暗号が解読されてしまうという点になります。

 

鍵交換の際には、盗聴されないよう細心の注意を払う必要があります。

 

公開鍵暗号方式

 

公開鍵暗号方式とは、

暗号化と復号で異なる鍵を使用し、暗号化する鍵(公開鍵)を公開し、復号する鍵秘密鍵)を秘密にする方法です。

 

メリットとしては、鍵の入手や管理がしやすい点、安全性が高い点で、

デメリットとしては、暗号化と復号の処理が複雑なため処理に時間を要してしまう点です。共通鍵暗号化方式と比べて約1.000倍の時間がかかるといわれています。

 

ハイブリッド暗号方式

 

ハイブリット暗号方式は、

共通鍵暗号方式と公開鍵暗号方式のメリットを組み合わせたハイブリット型です。

共通鍵を安全に渡すために、鍵交換の際には公開鍵を使用して、実際のデータの暗号化には共通鍵を使用するというものです。

 

こうすることで、鍵を安全に配布することが出来、高速処理が可能になります。

 

〜流れ〜

1. 送信者が共通鍵を作成

2. 送信者が受信者の公開鍵で共通鍵を暗号化

3. 暗号化された共通鍵を送信

4. 受信者の秘密鍵で共通鍵を復号

5. 送信者が共通鍵で平文を暗号化

6. 受信者に暗号文を送信

7. 共通鍵で暗号文を復元

 

 

参考

共通鍵暗号と公開鍵暗号とはf:id:kina_kq:20210511111106j:plain