暗号化は、データを読み取り不能な形式に変換し、不正アクセスから保護する、現代の情報セキュリティに欠かせない要素です。具体的には、平文と呼ばれる読み取り可能なデータを、特定のアルゴリズムと鍵を使って暗号文という読み取り不能な形式に変換します。正しい鍵を持つ人だけが、暗号文を平文に戻して読み取ることができます。
暗号化には、主に対称暗号と非対称暗号の2種類があります。
- 対称暗号:プライベートな通信、データ保存、高性能なネットワーク接続などで一般的に使われます。
- 非対称暗号:安全なメール通信、メールの通信内容の保護、デジタル署名による認証、オンライン取引の保護に使われます。
暗号化の種類:対称暗号と非対称暗号の比較

対称暗号とは?
秘密鍵暗号とも呼ばれる対称暗号は、暗号化と復号の両方に同じ鍵を使います。高速かつ効率的なため、大量のデータの暗号化に適しています。
この暗号方式は速度と効率性に優れる一方、暗号化と復号の両方に1つの鍵を使うため、非対称暗号より安全性が低くなります。そのため、ハッカーが暗号を解読しやすくなります。
対称暗号はいつ使われる?
対称暗号は、大量のデータを迅速に暗号化するのに適しています。米国政府が機密情報の暗号化に使用するAdvanced Encryption Standard(AES)で重要な役割を果たしています。また、すでに秘密鍵を共有している当事者間での利用にも適しており、特に速度と効率性が最優先される場合に有効です。
対称暗号の実例
- データ保存:パスワードを使ってコンピューターやUSBドライブ上のファイルを暗号化する場合、対称暗号が使われることが多くあります。データの暗号化と復号には同じパスワードを使います。
- Secure Sockets Layer(SSL)とTransport Layer Security(TLS):これらのプロトコルは対称暗号によるネットワーク暗号化を使い、オンラインバンキングでの取引や安全なWebサイトへのログインなど、インターネット経由で送信されるデータを保護します。
- Virtual Private Networks(VPN):多くのVPNサービスは対称暗号を使い、デバイスとVPNサーバー間で送信されるデータを保護します。これにより、インターネットの閲覧中もプライバシーと安全性を確保できます。
- ディスク暗号化:BitLocker(Windows)やFileVault(macOS)などのディスク全体の暗号化ツールは、対称暗号を使ってハードディスクやソリッドステートドライブ(SSD)の全内容を保護します。
- メッセージングアプリ:WhatsAppなど一部のメッセージングアプリは対称暗号を使ってユーザー間で送信されるメッセージを保護し、正しい復号鍵を持つ受信者だけがメッセージを読めるようにしています。

非対称暗号とは?
公開鍵暗号とも呼ばれる非対称暗号は、暗号化に使う公開鍵と、復号に使う秘密鍵という2つの異なる鍵を使用します。オープンで安全でない通信経路上で、データや鍵の交換を保護するために利用できます。また、認証やデータの完全性の確保にも使われます。
この暗号方式は対称暗号に比べて低速で効率も劣りますが、公開鍵を共有できる一方で秘密鍵を機密に保てるため、より高い安全性を実現できます。
非対称暗号はいつ使われる?
非対称暗号は、インターネットのように保護されていない媒体上で安全に鍵を交換する必要がある場面に適しています。安全なメール(PGP)、安全なWebサイト(HTTPS)、オンライン取引、デジタル署名などで広く使われています。
この暗号方式により、あらかじめ鍵を共有しなくても、2者が互いにプライベートな通信を行えるようになります。
非対称暗号の実例
- 安全なメール通信:PGP(Pretty Good Privacy)やS/MIME(Secure/Multipurpose Internet Mail Extensions)などのプラットフォームを使って暗号化メールを送信するとき、非対称暗号を使っています。暗号化には受信者の公開鍵を使い、メッセージを復号できるのは受信者の秘密鍵だけです。
- デジタル署名:ユーザーは非対称暗号を利用して、文書やソフトウェアのデジタル署名を生成します。秘密鍵で文書に署名すると、他の人は公開鍵を使ってその真正性を検証できます。
- 安全なWeb閲覧(HTTPS):「https://」URLの安全なWebサイトにアクセスすると、非対称暗号によってブラウザーとWebサーバー間の安全な接続が確立されます。この暗号方式は、ユーザーとWebサイト間のデータ転送を保護します。
- Secure Shell(SSH):SSHプロトコルは、コンピューター間のリモートログインやファイル転送を認証・保護するために非対称暗号を使います。認証にはサーバーの公開鍵を使用し、データの暗号化ではセッション鍵を生成します。
- ブロックチェーン技術:BitcoinやEthereumなどの暗号資産は、安全な取引やウォレット管理に非対称暗号を利用しています。公開鍵と秘密鍵は、こうしたブロックチェーンシステムの中核を成します。
一般的な暗号化アルゴリズム
対称暗号と非対称暗号で使われる、代表的な暗号化アルゴリズムを見ていきましょう。
対称暗号のアルゴリズム:
対称暗号のアルゴリズムには、AES、DES、3DES、Blowfish、Twofishなどがあります。
Advanced Encryption Standard(AES)
AESは、安全な通信やデータ保存、さまざまな暗号化ツールで広く使われています。128ビット、192ビット、256ビットの鍵長を持つブロック暗号を使用します。
用途:
- SSLおよびTLSプロトコル。
- ハードディスクやSSDの内容を保護するディスク全体の暗号化。
- WindowsやmacOSなどのOSにおけるファイルとフォルダーの暗号化。
- データベース内の機密データの暗号化。
Data Encryption Standard(DES)
対称暗号の標準規格であるDESは、過去に広く利用されていました。しかし現在ではAESより安全性が低く、総当たり攻撃に対して脆弱です。56ビットの鍵を使用しますが、現在では大半がより安全なアルゴリズムに置き換えられています。
過去の用途:
- 金融取引および銀行システム。
- 政府や軍事用途における安全な通信。
Triple Data Encryption Algorithm(3DES)
3DESは、DESをより安全にした派生規格です。異なる鍵を使ってDESアルゴリズムを3回連続で適用し、より強固な暗号化を実現します。
用途:
- 旧式の決済処理システム。
- より新しい暗号化標準へまだ移行していない従来型の銀行アプリケーション。
Blowfish
Blowfishは、シンプルさと高速性で知られる対称鍵ブロック暗号で、さまざまなアプリケーションで使われてきました。しかし、より安全な代替方式が存在するため、現在ではあまり一般的ではありません。
用途:
- VPNプロトコル。
- ディスク暗号化ソフトウェア。
- 一部の従来型システム内における保護された通信。
Twofish
Twofishは、別の対称鍵ブロック暗号であり、主にAESの代替として、セキュリティを重視する一部のアプリケーションで使われてきました。しかし、AESほど広く普及するには至りませんでした。
用途:
- 特定のVPN実装における安全な通信。
- セキュリティを重視する特定のソフトウェアやシステムにおける機密データの暗号化。
非対称暗号のアルゴリズム
非対称暗号のアルゴリズムには、RSA、ECC、DH、ECDH、DSA、EdDSAなどがあります。
Rivest-Shamir-Adleman(RSA)
RSAは、安全なデータ送信に広く使われている公開鍵暗号アルゴリズムです。大きな素数の数学的性質に基づいています。
用途:
- S/MIMEなどの技術を介した安全なメール通信。
- HTTPS(TLS/SSL)経由で送信されるデータの保護およびWeb通信の暗号化。
- デジタル証明書における認証とデータ完全性のためのデジタル署名。
- SSHなどの安全なプロトコルにおける鍵交換。
Elliptic Curve Cryptography(ECC)
ECCは、比較的小さな鍵長で高い安全性を実現するため、スマートフォンのようにリソースに制約のあるデバイスに適しています。
用途:
- 暗号資産およびブロックチェーン技術(例:Bitcoinは鍵管理にECCを使用)。
- 安全なメッセージングアプリケーション。
- モバイルデバイスの暗号化と安全な通信。
- IoT(モノのインターネット)セキュリティ。
Diffie–Hellman(DH)
この方式により、2者は安全でない通信経路上でも共有秘密鍵を作成できます。この共有秘密鍵が、安全な通信の基盤となります。
用途:
- 安全なWeb通信のため、SSL/TLSなどのプロトコルで共有秘密鍵を確立すること。
- 保護されたメール通信。
- 安全なデータ送信のためのVPN。
Elliptic Curve Diffie–Hellman(ECDH)
ECDHは、Diffie–Hellmanと楕円曲線暗号を組み合わせた方式で、高い安全性を備えた信頼性の高い鍵交換を実現します。
用途:
- 暗号化されたメッセージングアプリにおける秘密鍵の交換。
- 安全なVoice over IP(VoIP)アプリケーションにおけるセキュアチャネルの確立。
Digital Signature Algorithm(DSA)
DSAは、データの真正性と完全性を検証するデジタル署名に使われる非対称アルゴリズムです。
用途:
- 安全なWeb通信のためのデジタル証明書におけるデジタル署名(ただし、この用途ではRSAやECCにほぼ置き換えられています)。
- 特定の政府および軍事用途における暗号学的認証。
EdDSA(Edwards-curve Digital Signature Algorithm)
EdDSAは、より新しい楕円曲線ベースのアルゴリズムで、デジタル署名の用途における有効性と安全性で知られています。
用途:
- 暗号資産技術(ブロックチェーンネットワークの一部で使われるEd25519を含む)。
- プライベートメッセージングやファイル共有アプリケーションにおける安全な認証と本人確認。
まとめ:対称暗号と非対称暗号を使い分ける場面
対称暗号と非対称暗号は、データおよびネットワークセキュリティでそれぞれ独自の役割を果たします。
対称暗号は速度と効率性に優れているため、大量のデータの暗号化や、データ保存、高速ネットワーク通信などの処理に適しています。
非対称暗号は速度こそ劣るものの、鍵の配布メカニズムによって堅牢なセキュリティ基盤を提供し、安全なメール、デジタル署名、安全なWeb閲覧、信頼できないネットワーク上での安全な通信に不可欠です。
対称暗号と非対称暗号のどちらを選ぶかは、どちらの方式が優れているかという問題ではありません。最適なデータセキュリティを実現するため、用途に合ったツールを選ぶことが重要です。この選択は、システム固有のセキュリティニーズと運用要件によって決まります。
適切に設計されたセキュリティ戦略では、デジタル時代の多様なセキュリティ課題に対処するため、両方の暗号方式を組み合わせることがあります。セキュリティ脅威は増え続けており、これらの暗号方式の長所と短所を理解することがますます急務になっています。この理解は、組織の機密情報と通信を保護するための十分な情報に基づく意思決定に役立ちます。
暗号化への取り組みを次の段階へ進め、暗号化を極めましょう。データを保護するための当社の最適な暗号化ソフトウェアガイドをお見逃しなく。