暗号化の種類1.共通鍵暗号方式
共通鍵暗号方式の概要を見ていきましょう。
暗号化と復号で同じ鍵を使うこと
共通鍵暗号方式とは、暗号化と復号の鍵が共通している方式です。つまり、暗号化するのに使った鍵を、復号する際にも使うことになります。この方式は、もう1つの公開鍵暗号方式と異なり、一般公開する鍵がないため「秘密鍵暗号方式」とも呼ばれます。
共通鍵暗号方式の特徴は、処理速度が速いことです。しかし、安全性の観点では公開鍵暗号方式に劣ります。暗号化に使った鍵を何らかの方法でデータ受信者に渡す必要があるためです。その途中で第三者に鍵を盗まれるおそれがあります。
また、鍵の管理が大変なのも難点です。正規のデータ受信者以外に復号されないためには、データをやり取りする相手ごとに異なる鍵を用意しなければなりません。やり取りする相手が増えるのに伴って、管理すべき鍵が増えてしまいます。
使用する暗号アルゴリズムは「DES」「RC4」「AES」
暗号アルゴリズムとは、暗号化のやり方のことです。たとえば、「ABC」を「BCD」に暗号化した場合は、「アルファベット順に後ろにずらす」のがアルゴリズムといえます。共通鍵暗号方式の代表的な暗号アルゴリズムは以下の3種類です。
- DES(Data Encryption Standard)
- 56bitの鍵を使った方式です。現在では、そのくらいの長さの鍵は簡単に解読されるリスクがあるため推奨されていません。
- RC4(Rivest Cipher 4)
- 40~256bitの鍵を使った方式です。2015年に解読法が公開されたため、現在は推奨されていません。
- AES(Advanced Encryption Standard)
- 128・192・256bitの鍵を使った方式です。DESに代わる暗号アルゴリズムとして登場し、高い安全性を誇ります。SSL通信などに使われています。
現在主流となっている暗号アルゴリズム「AES」に関して、詳しく知りたい方は以下の記事もご覧ください。
関連記事
watch_later
2020.11.05
暗号化のAES方式とは?ほかの種類との違い・実施方法を解説!
続きを読む ≫
暗号化の種類2.公開鍵暗号方式
続いて、公開鍵暗号方式の概要を紹介します。
暗号化と復号で異なる鍵を使うこと
公開鍵暗号方式は、暗号用と復号用の鍵を別々に用意する方式です。
まず、データ受信者が2つの鍵を作成します。そして暗号用の鍵(公開鍵)だけを一般公開します。公開鍵は、誰もが入手可能です。公開鍵でできるのは暗号化だけであるため、この鍵が第三者の手に渡っても問題はありません。
データを送信する側は、送りたいデータを公開鍵で暗号化します。そのデータを受け取った受信者は、自身が持っている復号用の秘密鍵でデータを復号できます。
公開鍵暗号方式の特徴は、やり取りする相手ごとに異なる鍵を用意する必要がないことです。また、共通鍵暗号方式と異なり復号用の鍵を送信者から受信者に渡す必要がなく、第三者に盗まれるリスクがありません。
ただし、公開鍵暗号方式は処理速度が遅いという難点もあります。
使用するアルゴリズムは「RSA」
公開鍵暗号方式における代表的な暗号アルゴリズムは「RSA」です。離散対数問題と素因数分解の難しさを安全性の根拠としています。
RSAは公開鍵暗号方式であるため、データ送信者と受信者の間で復号用の鍵の受け渡しが行われません。そのため、第三者が暗号文を復号しようとしても復号用の鍵を入手することは不可能です。
したがって、第三者が復号するには、鍵を使わずに計算によって平文を算出するしかありません。そこで、RSAではその計算を難解なものにしています。コンピュータを使っても、平文の算出に非現実的なほど膨大な時間を要する、離散対数問題と素因数分解を利用しています。
RSA暗号について詳しく知りたい方は、以下の記事もご覧ください。
関連記事
watch_later
2021.01.07
RSA暗号とは?仕組みや応用事例を初心者にもわかりやすく解説!
続きを読む ≫
暗号化の種類3.ハイブリッド暗号方式
共通鍵暗号方式は、処理速度が早い反面、共通鍵の受け渡しにリスクが伴うという難点があります。一方、公開鍵暗号方式は安全性が高い反面、処理に時間がかかるのが難点です。そこで、両者の弱点を補い合う方式として、ハイブリッド暗号方式が考案されました。
この方式では、以下の手順でデータと鍵がやり取りされます。
- 1.受信者は公開鍵と秘密鍵を作成し、公開鍵を公開する
- 2.送信者は共通鍵を作成する
- 3.送信者はデータを共通鍵で暗号化し、受信者に送る
- 4.送信者は入手した公開鍵で共通鍵を暗号化し、受信者に送る
- 5.受信者は暗号化された共通鍵を、自身の秘密鍵で復号する
- 6.受信者は復号した共通鍵で、データを復号する
基本的な流れは共通鍵暗号方式と同じです。しかし、共通鍵をそのまま渡すのはハイリスクです。そこで、共通鍵を暗号化して渡すために公開鍵暗号方式の仕組みを利用します。
以下の記事では、ハイブリッド暗号方式について詳しく解説していますので参考にしてください。
関連記事
watch_later
2019.11.28
ハイブリッド暗号方式とは?仕組みや活用事例をわかりやすく解説!
続きを読む ≫
暗号化と混同しやすい「ハッシュ化」とは
暗号化と混同しやすいものに、ハッシュ化があります。両者はどう違うのでしょうか。
特殊値でデータを置き換える方法
ハッシュ化は、データを元の状態とは異なる値に置き換えることです。同じ値を同じアルゴリズムでハッシュ化すると、常に同じ値に置き換えられます。これらの点では暗号化と同じですが、復号を想定していない点で暗号化とは異なります。
そのため、ハッシュ化が使われるのは復号が必要ないときです。たとえば、パスワードの管理に利用されます。
2つのパスワードが一致するか確かめる際、パスワードそのものを送信すると第三者に見られるリスクがあります。しかし、ハッシュ化していれば問題ありません。確認対象の2つのパスワードをそれぞれ同じアルゴリズムでハッシュ化します。
その結果が一致すれば、もとのパスワードも一致することが確認されます。
使用する関数アルゴリズムは「SHA-2」
従来はハッシュ化のアルゴリズムとして「SHA-1」が使われていました。以前使われていたアルゴリズムであるMD5に脆弱性が見つかり、それに代わる存在としてSHA-1が登場しました。
しかし、SHA-1にも脆弱性があることが判明し、次世代のアルゴリズムとして「SHA-2」が登場しました。現在ではこちらに移行することが推奨されています。
ハッシュ化に関しては、以下の記事で詳しく解説していますのでご覧ください。
関連記事
watch_later
2019.11.28
ハッシュ化とは?暗号化との違いや利用シーンを詳しく解説!
続きを読む ≫
暗号の種類を理解して自社のセキュリティを強化しよう!
暗号化方式には以下の3種類があります。
- 共通鍵暗号方式
- 処理速度は早いが安全性に難あり
- 公開鍵暗号方式
- 安全性は高いが処理速度に難あり
- ハイブリッド暗号方式
- 共通鍵と公開鍵の弱点を補い合う方式
また、暗号化と似たものにハッシュ化があります。暗号化の1種と見なされがちですが、復号を前提としていない点で異なります。以上を参考にして暗号化への理解を深め、セキュリティを強化しましょう。