技術ブログ 暗号入門 2 (共通鍵編)
暗号入門 2 (共通鍵編)

暗号入門 2 (共通鍵編)

今回は、共通鍵暗号に関する内容だね!

待ってました!この記事を読めば、共通鍵暗号について深いところまで学べますね!

本記事で学べること

・ブロック暗号方式
・ストリーム暗号方式
・共通鍵暗号方式を採用している暗号

はじめに

共通鍵暗号方式の名前はよく聞くけれども、なかなかどのようなものかを学ぶ機会は無いと思います。しかし、共通鍵暗号は至る所で使われており、サービスのセキュリティを考える上では必須だと言えます。そこで今回は、共通鍵暗号の詳細について紹介したいと思います。

 
(共通鍵暗号の長所・短所に関してはこちらをチェック↓)

暗号入門 1(暗号の基本編)

共通鍵暗号方式とは

共通鍵暗号方式とは、暗号化と復号に同じ鍵を使用する暗号方式です。暗号化されたメッセージを復号するには、送信側と受信側が同じ鍵を共有していなければなりません。共通鍵暗号方式は、公開鍵暗号方式と比べて高速な処理が可能であるため、大量のデータを暗号化・復号する必要がある場合によく使用されます。
共通鍵暗号方式には、ブロック暗号方式とストリーム暗号方式の2種類があります。ブロック暗号方式は、メッセージを固定長のブロックに分割して暗号化する方式で、ストリーム暗号方式は、メッセージを連続的に暗号化する方式です。

共通鍵暗号方式の種類

共通鍵暗号方式にはブロック暗号方式とストリーム暗号方式があります。それぞれ見ていきましょう。
 

ブロック暗号方式

ブロック暗号方式は、メッセージを固定長のブロックに分割して暗号化する方式です。セキュリティは高いですが、処理速度が遅いため、大量のデータを暗号化・復号する際には不向きです。
 

ストリーム暗号方式

ストリーム暗号方式は、メッセージを連続的に暗号化する方式です。処理速度が速いため、大量のデータを暗号化・復号する際に適しています。しかし、セキュリティが低いため、機密性の高いデータを暗号化する際には不向きです。

 

ブロック暗号方式 ストリーム暗号方式
セキュリティ 高い 低い
処理速度 遅い 速い
用途 機密性の高いデータの暗号化 大量のデータの暗号化

 

ブロック暗号方式とストリーム暗号方式は、それぞれに長所と短所があるため、用途に応じて適切な方式を選択する必要があります。例として、ブロック暗号方式は、クレジットカード情報やパスワードなどの機密性の高いデータの暗号化によく使用されます。ストリーム暗号方式は、Web通信やデータベース通信などの大量のデータを暗号化するためによく使用されます。

代表的な暗号

共通鍵暗号方式の代表的な暗号には、DES、3DES、AES、RC4があります。以下ではこれら4つの暗号について説明していきます。
 

DES

DESは、1977年に米国のNISTによって策定された暗号方式です。DESは、ブロック暗号方式であり、64ビットの平文を56ビットの鍵で暗号化し、残り8ビットはパリティチェックに使われます。DESは、長い間、最も広く使用されていた暗号方式の一つでしたが、1990年代に解読され、現在ではセキュリティ上問題があるとして使用されていません。
DESは、64ビットの平文を56ビットの鍵で暗号化します。暗号化は、次の手順で実行されます。
平文を64ビットブロックに分割します。
各ブロックを56ビットの鍵で暗号化します。
暗号化されたブロックを連結して、暗号文を生成します。
DESは、長い間、最も広く使用されていた暗号方式の一つでした。しかし、1990年代に解読され、現在ではセキュリティ上問題があるとして使用されていません。

 

3DES

3DESとは、DES(を3回繰り返す暗号方式です。3DESは、DESを3回繰り返すため、168ビットの鍵を使用しています。これにより、DESよりも強力なセキュリティを備えています。3DESは、現在でも一部のアプリケーションで使用されていますが、将来的にコンピュータの処理能力が向上すれば解読は可能とされ、NISTでは2030年までの使用にとどめることを推奨している。

 

AES

AES(は、2001年に米国のNISTによって策定された暗号方式です。ブロック暗号方式であり、128、192、256ビットの鍵を使用しています。現在最も広く使用されている暗号方式であり、DESや3DESよりも強力なセキュリティを備えています。特徴としては次の4つが挙げられます。

1. 世界中で制限なく無料で使用できる

2. 暗号化・鍵の実装のスピードが速い

3. シンプルで実装がしやすい

4. 世界中に公開されたうえで、暗号強度を保てる

 

RC4

RC4は、RSA Securityが開発したストリーム暗号方式です。1987年に公開され、1992年に米国で特許を取得しました。RC4は、高速な暗号化と復号化が可能で、Web通信やファイル転送などの多くのアプリケーションで使用されています。
しかし、RC4は、2015年にいくつかの脆弱性が指摘されました。これらの脆弱性により、RC4で暗号化されたデータが解読される可能性があります。そのため、RC4は、現在では安全な暗号化方式として認められていません。
RC4は、高速で使いやすい暗号化方式ですが、セキュリティ上の懸念があるため、代わりに、AESなどのより安全な暗号化方式を使用することをお勧めします。

まとめ

本記事では、共通鍵暗号方式の詳細について紹介しました。本記事が共通鍵暗号の理解の一助となれば嬉しいです。次回は公開鍵暗号方式の詳細について紹介したいと思います。

この記事の執筆者

Takanobu Morishita(インターン)

株式会社taiziiiでインターンをしている森下です!

SNSでシェアする

各種お問い合わせ

お問い合わせ・ご相談


開発に関することならお気軽にご相談ください。
お見積もり依頼も可能です。

お問い合わせする

私たちは一緒に働く
メンバーを探しています。


私たちはミッション・価値観への共感を何よりも大切に考え、
一緒に働くメンバーを探しています。

採用情報をみる