暗号化の種類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」に関して詳しく知りたい方は、以下の記事もご覧ください。
暗号化の種類2.公開鍵暗号方式
公開鍵暗号方式は、暗号用と復号用の鍵を別々に用意する方式です。
まず、データ受信者が2つの鍵を作成します。そして、暗号用の鍵(公開鍵)だけを一般公開します。公開鍵は、誰もが入手可能です。公開鍵でできるのは暗号化だけであるため、鍵が第三者の手に渡っても問題はありません。
データ送信側は、送りたいデータを公開鍵で暗号化します。データを受け取った受信者は、自身がもつ復号用の秘密鍵でデータを復号できます。
公開鍵暗号方式の特徴は、やり取りする相手ごとに異なる鍵を用意する必要がないことです。複数名で暗号化データのやり取りを行う場合に、重宝するでしょう。また、共通鍵暗号方式と異なり復号用の鍵を送信者から受信者に渡す必要がなく、第三者に盗まれるリスクがありません。
ただし、公開鍵暗号方式は暗号化処理速度が遅いという難点もあります。
暗号アルゴリズムは「RSA」
公開鍵暗号方式における代表的な暗号アルゴリズムは「RSA」です。離散対数問題と素因数分解の難しさを安全性の根拠としています。
RSAは公開鍵暗号方式であるため、データ送信者と受信者の間で復号用の鍵の受け渡しはありません。第三者が暗号文を復号しようとしても、復号化に必要な鍵の入手は不可能です。
したがって、第三者が復号するには、鍵を使わずに計算によって平文(暗号化されていないデータ)を算出するしかありません。そこで、RSAは計算を難解なものにしています。コンピュータを使っても、平文の算出に非現実的なほど膨大な時間を要する、離散対数問題と素因数分解を利用しています。
RSA暗号について詳しく知りたい方は、以下の記事もご覧ください。
暗号化の種類3.ハイブリッド暗号方式
共通鍵暗号方式は、処理速度が早い反面、共通鍵の受け渡しにリスクがともなうという難点があります。一方、公開鍵暗号方式は安全性が高い反面、暗号化処理に時間がかかります。そこで、両者の弱点を補い合う方式として、ハイブリッド暗号方式が考案されました。
ハイブリッド暗号方式では、以下の手順でデータと鍵がやり取りされます。
- 1.受信者は公開鍵と秘密鍵を作成し、公開鍵を公開する
- 2.送信者は共通鍵を作成する
- 3.送信者はデータを共通鍵で暗号化し、受信者に送る
- 4.送信者は入手した公開鍵で共通鍵を暗号化し、受信者に送る
- 5.受信者は暗号化された共通鍵を、自身の秘密鍵で復号する
- 6.受信者は復号した共通鍵で、データを復号する
基本的な流れは、共通鍵暗号方式と同じです。しかし、共通鍵をそのまま渡すのはハイリスクです。そこで、共通鍵を暗号化して渡すために公開鍵暗号方式の仕組みを利用します。HTTPS通信が、ハイブリッド暗号方式の代表的な例です。
ハイブリッド暗号方式について、以下の記事で詳しく解説しているので参考にしてください。
共通鍵暗号・公開鍵暗号・ハイブリッド暗号の違いを比較
暗号化には複数の方式がありますが、「どの方式を選べばよいのか分からない」と悩む方も多いのではないでしょうか。それぞれの方式には、処理速度や安全性、鍵管理のしやすさなどに違いがあります。
ここでは、代表的な3つの暗号方式である「共通鍵暗号方式」「公開鍵暗号方式」「ハイブリッド暗号方式」の違いを、一覧表でわかりやすく比較します。自社の用途や目的に合った暗号方式を選ぶための参考にしてください。
| 項目 | 共通鍵暗号 | 公開鍵暗号 | ハイブリッド暗号 |
|---|---|---|---|
| 鍵の仕組み | 同じ鍵を使用 | 公開鍵+秘密鍵 | 両方を併用 |
| 処理速度 | ◎ 速い | △ 遅い | ◎ 速い |
| 安全性 | △ 鍵共有にリスク | ◎ 高い | ◎ 高い |
| 鍵管理 | × 煩雑 | ◎ 容易 | ○ やや複雑 |
| 主な用途 | 大量データ通信 | 鍵交換・認証 | HTTPS通信 |
そのほかの暗号化一覧
前述した暗号化方式と関連の深い、セキュリティ技術やアルゴリズムを一覧で紹介します。コンピュータが登場する以前に考案された古典暗号もあわせて紹介するので、暗号化の理解を深めるための参考にしてください。
- ■ハッシュ関数
- 入力データを一定の手順で計算し、決められた長さ(固定長)のビット列を出力する関数のことです。出力されたビット列を「ハッシュ値」と呼びます。暗号化技術の構成要素として用いられることが多く、データの改ざんや破損の検知、パスワード管理などに利用されています。
- ■メッセージ認証コード(MAC)
- メッセージを「秘密鍵」で暗号化することによって、メッセージの改ざんやすり替えが行われていないかを検証する仕組みです。メッセージ認証コードの生成や手順にはいくつかの方式があり、ハッシュ関数や共通鍵暗号を用いた方式が有名です。
- ■デジタル署名
- 電子文書が本人によって作成され、かつ第三者に改ざんされていないことを証明する公開鍵暗号方式の一種です。メッセージの送信者は、秘密鍵と本文を元にハッシュ値をメッセージに添付し、受信者は本文と公開鍵を用いて認証を行います。
- ■古典暗号
- 代表的な古典暗号は以下の4つです。商業や軍事目的で利用され、暗号アルゴリズムを非公開にして使われるのが特徴です。コンピュータが発達した現代では解読が容易なため、暗号化の手法として用いられる機会はほとんどありません。
- ・シーザー暗号:アルファベットを一定の文字数だけずらして暗号化する手法
- ・コード暗号:特定の単語を、一部の人にしか理解できない合言葉や隠語などに置き換える手法
- ・スタキュレー暗号:細長い羊皮紙を螺旋状に棒に巻きつけ、羊皮紙に横書きで文字を書くことで暗号化する手法
- ・転置式暗号:言葉遊びのアナグラムのように、文章の文字を並べ替えることで暗号化する手法
暗号には様々な種類がありますが、業務で使うのに必要な暗号は、暗号化ソフトを使うのがおすすめです。
「自社に合う暗号化ソフトを診断してみたい」、「どんな観点で選べばいいかわからない」という方向けの診断ページもあります。
簡単な質問に答えるだけで、最適なシステムを案内します。
無料で今すぐ利用できますので、下のリンクから診断を開始してください。
▶暗号化ソフト おすすめ比較・無料診断
候補を比較しながら、具体的に検討を進めたい方には、一括資料請求がおすすめです。複数の暗号化ソフトをまとめてチェックできます。
暗号化と混同しやすい「ハッシュ化」とは
続いて、ハッシュ化について解説します。混同しやすい暗号化とハッシュ化は、それぞれどう違うのでしょうか。
特殊値でデータを置き換える方法
ハッシュ化は、データを元の状態とは異なる値に置き換えることです。同じ値を同じアルゴリズムでハッシュ化すると、常に同じ値に置き換えられます。この点では暗号化と同じですが、復号を想定していない点で暗号化と異なります。
そのため、ハッシュ化が用いられるのは復号が必要ないときです。例えば、パスワードの管理に利用されます。
2つのパスワードが一致するか確かめる際、パスワードそのものを送信すると第三者に見られるリスクがあります。しかし、ハッシュ化していれば問題ありません。確認対象の2つのパスワードをそれぞれ同じアルゴリズムでハッシュ化します。
その結果が一致すれば、もとのパスワードも一致が確認されます。
関数アルゴリズムは「SHA-2」
従来はハッシュ化のアルゴリズムとして、「SHA-1」が用いられていました。しかし、SHA-1に脆弱性があると判明し、次世代のアルゴリズムとして「SHA-2」が登場しました。現在ではSHA-2への移行が推奨されています。
ハッシュ化に関しては、以下の記事で詳しく解説しています。
データやファイルの暗号化には専用ソフトの利用がおすすめ
ここまで、暗号化方式の種類や暗号アルゴリズムについて解説してきました。それらを活用し、暗号化による企業セキュリティ強化を図るためには、暗号化ソフトの導入がおすすめです。以下を参考にして、暗号化ソフトの導入を検討してみましょう。
D.AMO DP
- 既存データベースに後付けでクエリー変更せずに導入可能
- 選択的暗号化を実現しデータベースの機密性と可用性を両立
- 暗号化+アクセス制御+監査ログのAll-In-Oneパッケージで提供
D.AMO DE
- 暗号化の導入時アプリケーションのコードやクエリーの改修不要
- カラム単位で機密データを選択的に暗号化
- 暗号化+アクセス制御+監査ログのAll-In-Oneパッケージで提供
暗号化ソフトについてより詳しく知りたい方は、以下の記事をご覧ください。おすすめ製品や選び方などを紹介しています。
暗号化に関するよくある質問
暗号化については、「違いが分かりにくい」「どれを選べばいいのか判断できない」といった疑問を持つ方も多いでしょう。ここでは、暗号化に関してよくある質問をまとめて解説します。
暗号化とSSLの違いは何ですか?
暗号化は、データを第三者に読まれないよう変換する技術全般を指します。一方、SSL(現在はTLS)は、インターネット通信を暗号化するためのプロトコルです。つまり、SSLは暗号化技術を利用した通信手段の一つといえます。
暗号化とハッシュ化の違いは何ですか?
暗号化は、特定の鍵を使うことで元のデータに戻す(復号する)ことが可能です。一方、ハッシュ化は復号を前提としておらず、一方向の変換のみを行います。そのため、パスワード管理など、元のデータを復元する必要がない場面で利用されます。
AESとRSAはどちらを使うべきですか?
AESは処理速度が速いため、大量のデータを暗号化する用途に適しています。一方、RSAは安全性が高く、鍵の受け渡しや認証に適しています。実際の通信では、両者の長所を組み合わせたハイブリッド暗号方式が広く利用されています。
無料で使える暗号化ツールはありますか?
無料で利用できる暗号化ツールも存在しますが、機能やサポートに制限がある場合が多いです。企業で利用する場合は、セキュリティレベルや運用サポートを考慮し、有料ツールも含めて比較検討することが重要です。
暗号化はすべてのデータに必要ですか?
すべてのデータに必須というわけではありませんが、個人情報や機密情報など、漏えい時のリスクが高いデータについては暗号化が推奨されます。重要度に応じて適切に暗号化を行うことが大切です。
暗号の種類を理解して自社のセキュリティを強化しよう!
暗号化方式の3つの種類と特徴を一覧で表すと、以下のとおりです。
- ・共通鍵暗号方式(処理速度は早いが安全性に難あり)
- ・公開鍵暗号方式(安全性は高いが処理速度に難あり)
- ・ハイブリッド暗号方式(共通鍵と公開鍵の弱点を補い合う方式)
ハッシュ化は暗号化の1種と見なされがちですが、復号を前提としていない点で異なります。暗号化への理解を深め、セキュリティ強化に役立ててください。
なお、データやファイルの暗号化には暗号化ソフトの利用がおすすめです。早速、以下のボタンより資料請求を活用し、製品の比較をしてみましょう。


