暗号方式史 DES→AES→Ed25519 1976-2026(暗号方式史)
Cipher Algorithm 50年史 1976-2026。DES Data Encryption Standard (1976年11月23日 IBM Lucifer→FIPS 46・56bit Key・1990s末破られる EFF $250k Deep Crack 22h 1998)→3DES (1998 FIPS 46-3・Triple DES 168bit Key Effective 112bit・2024年廃止予定)・RSA (1977 Rivest+Shamir+Adleman MIT・Public Key・Asymmetric・特許2000年expire)・Diffie-Hellman Key Exchange (1976 Whitfield Diffie+Martin Hellman・公開鍵暗号Concept起源)・AES Advanced Encryption Standard (2001年11月26日 FIPS 197 Rijndael 選定 Belgian Joan Daemen+Vincent Rijmen・128/192/256bit・Block Cipher Symmetric・Intel AES-NI 2010)・Blowfish (1993 Bruce Schneier・64bit Block・Free)→Twofish (1998 AES Finalist)・RC4 (1987 Ron Rivest・Stream Cipher・WEP+TLS old Default・2015年廃止 SSL/TLS)・RC5+RC6 (1994/98)・Salsa20 (2005 Daniel Bernstein DJB)→ChaCha20 (2008 RFC 8439 Salsa20改良 Stream)・Poly1305 (DJB MAC・ChaCha20-Poly1305 AEAD RFC 8439 TLS 1.3 Default)・Camellia (2000 NTT+三菱 IPSec/TLS)・SHA-1 (1995 NIST FIPS・1610年破られる SHAttered 2017)→SHA-2 (2001 SHA-224/256/384/512)→SHA-3 (2015 Keccak FIPS 202)・MD5 (1991 Rivest・1996衝突発見・廃止)・BLAKE2/3 (2012-2020 高速)・ECDSA (2000 楕円曲線 ECC・secp256k1+P-256)・Ed25519 EdDSA (2011 DJB・Curve25519+SHA-512・Smaller+Faster・SSH+TLS 1.3)・X25519 (DH ECDH on Curve25519・WireGuard+TLS 1.3)・Argon2 (2015 PHC優勝 Memory-Hard・Password Hashing 2026推奨)・Post-Quantum: Kyber (FIPS 203 ML-KEM 2024年8月)+Dilithium (FIPS 204 ML-DSA)+SPHINCS+ (FIPS 205)・¥0 OSS。
概要
1976年にIBMが公開したData Encryption Standard (DES) が、暗号化技術の基盤を築きました。以降、ブロック暗号・ストリーム暗号・公開鍵暗号・ハッシュ関数・鍵派生・ポスト量子暗号といった多様なカテゴリが登場し、2026年現在ではAES、Ed25519、ChaCha20‑Poly1305、Argon2、Kyber・Dilithiumといった標準が確立しています。これらは、政府・軍事・商用・オープンソースプロジェクトで広く採用され、ハードウェアアクセラレーションやマルチコア処理、クラウドサービスとの統合が進んでいます。
主な特徴・仕組み
| 暗号 | 種類 | キー長 | ブロック長 | 主要用途 | 主なアクセラレーション |
|---|---|---|---|---|---|
| DES | ブロック | 56bit | 64bit | 旧軍事・商用 | なし |
| 3DES | ブロック | 168bit (実効112bit) | 64bit | 旧TLS/SSL | なし |
| AES | ブロック | 128/192/256bit | 128bit | TLS1.3, VPN, SSD | AES‑NI (Intel/AMD) |
| ChaCha20 | ストリーム | 256bit | 64bit | TLS1.3, WireGuard | ARM Crypto‑Extensions |
| Ed25519 | 公開鍵 | 256bit | 256bit | SSH, TLS1.3 | なし |
| Argon2 | パスワードハッシュ | 256bit | 512bit | パスワード保存 | なし |
| Kyber | ポスト量子 KEM | 256/384/512bit | 256bit | FIPS 203 | なし |
| Dilithium | ポスト量子 DSA | 256/384/512bit | 256bit | FIPS 204 | なし |
主要なアルゴリズムの仕組み
- AES はRijndael構造で、10〜14ラウンドのSubBytes・ShiftRows・MixColumns・AddRoundKeyを行う。AES‑NIはレジスタベースで1サイクルで1ラウンドを実行し、1Gbpsを超えるスループットを実現。
- ChaCha20 はSalsa20を改良し、12ラウンドで256bit鍵と64bit nonceを用いる。CPU側でシフト・加算・論理演算のみで実装でき、ARMv8.2のCrypto Extensionsで32bit/64bit単位で並列化が可能。
- Ed25519 はEdDSA(Edwards-curve Digital Signature Algorithm)で、Curve25519上の255bit素数を用い、署名生成と検証を512bit演算で完結。RSAに比べて鍵長が短く、計算コストが低い。
- Argon2 はメモリハードな設計で、パラメータ(時間係数、メモリ係数、並列度)を調整し、GPUやASICによる高速化を防止。Argon2idはブルートフォース対策に最適。
- Kyber は学習失敗付き多項式乗算(LWE)に基づくKEMで、256bit鍵で1.5KBの暗号文を生成。量子コンピュータに対して安全性が証明されている。
具体例・対応製品 (テーブル必須)
| 製品 | 型番 | 対応アルゴリズム | スループット | 主要特徴 | 備考 |
|---|---|---|---|---|---|
| Intel Xeon Gold 6252 | 6252 | AES‑NI, SHA‑512, SHA‑3 | 10 Gbps (AES) | 2.7 GHz, 16コア | データセンター向け |
| ARM Cortex‑A55 | - | AES‑NI, ChaCha20, SHA‑256 | 6 Gbps (AES) | 1.8 GHz, 4コア | スマートフォン・IoT |
| NXP i.MX 8M Mini | i.MX8MM | AES, SHA‑256, RSA | 2 Gbps (AES) | 1.5 GHz, 4コア | エッジデバイス |
| Qualcomm Snapdragon 8 Gen 2 | SM8550 | AES, ChaCha20, Ed25519 | 8 Gbps (AES) | 3.0 GHz, 8コア | 5Gスマートフォン |
| AWS Key Management Service (KMS) | - | AES‑256, RSA‑4096, ECC‑P256, Ed25519 | 1 Gbps | クラウド鍵管理 | マネージドサービス |
| Google Cloud KMS | - | AES‑256, RSA‑4096, ECC‑P256, Ed25519 | 1 Gbps | マネージドサービス | |
| Microsoft Azure Key Vault | - | AES‑256, RSA‑4096, ECC‑P256, Ed25519 | 1 Gbps | マネージドサービス | |
| OpenSSL 3.0 | - | AES, ChaCha20, Ed25519, Argon2 | 1 Gbps | オープンソース | |
| LibreSSL 3.0 | - | AES, ChaCha20, Ed25519 | 1 Gbps | オープンソース | |
| WireGuard | - | ChaCha20, Poly1305, Curve25519 | 1 Gbps | VPNプロトコル |
数値スペック(10個以上)
- AES‑NI throughput: Intel Xeon 10 Gbps, ARM Cortex‑A55 6 Gbps
- ChaCha20 throughput: Snapdragon 8 Gen 2 8 Gbps
- Ed25519 signature time: 1.2 ms on Cortex‑A55
- Argon2id memory cost: 4 MiB (t=2, m=4 MiB, p=1)
- Kyber‑512 ciphertext size: 1,472 bytes
- RSA‑4096 key size: 512 bytes
- SHA‑256 block size: 64 bytes
- SHA‑3 (Keccak) rate: 200 bytes per block
- AES key schedule cycles: 10 cycles per round (AES‑NI)
- TLS1.3 handshake time: 30 ms on Xeon 6252
選び方・注意点
- 用途に応じたアルゴリズム選択
- データ転送: AES‑NIが最も高速。TLS1.3ではChaCha20‑Poly1305が暗号レートが高い。
- 署名・認証: Ed25519はRSAより高速で鍵長が短い。
- パスワード保護: Argon2idが推奨。
- ハードウェアアクセラレーション
- CPUにAES‑NIやARM Crypto Extensionsがあるか確認。
- GPU/ASICでの実装は、メモリハードなアルゴリズム(Argon2)では効果が薄い。
- 量子耐性
- 2025年以降、FIPS 203・204に対応したKyber・Dilithiumを採用。
- 既存システムではRSA/DSAの置き換えを計画。
- 規格遵守
- FIPS 140‑2/3、NIST SP 800‑57、ISO/IEC 19790を満たすこと。
- クラウドサービス利用時は、サービスプロバイダーが規格を遵守しているか確認。
- 鍵管理
- ハードウェアセキュリティモジュール(HSM)やクラウドKMSで鍵を保管。
- キー寿命・ローテーションポリシーを設定。
関連用語との違い
| 用語 | 主な違い | 例 |
|---|---|---|
| AES vs 3DES | AESは128bitブロック、3DESは64bitブロック。AESは高速・安全。 | TLS1.3はAESのみ。 |
| ChaCha20 vs RC4 | ChaCha20は256bit鍵、RC4は可変鍵。ChaCha20はセキュリティ上の欠陥がない。 | TLS1.3でRC4は廃止。 |
| Ed25519 vs ECDSA | Ed25519はEdDSAで署名速度が速い。ECDSAは楕円曲線上の点演算で遅い。 | SSHでEd25519が推奨。 |
| Argon2 vs PBKDF2 | Argon2はメモリハードでGPU対策。PBKDF2はCPUのみ。 | パスワード保存でArgon2idが推奨。 |
| Kyber vs RSA | KyberはLWEベースで量子耐性。RSAは整数分解に依存。 | FIPS 203でKyberが採用。 |
よくある質問 (FAQ)
-
Q: 2026年にAESが破られる可能性はありますか?
A: 現在の研究ではAES‑256は量子計算でも安全とされ、2026年までに実用的な破壊は見込まれません。AES‑128は古いハードウェアで十分ですが、将来性を考えるとAES‑256を推奨します。 -
Q: Ed25519はRSAより安全ですか?
A: Ed25519は鍵長が短く、計算コストが低いだけでなく、実装ミスが少なく安全です。RSAは鍵長が長く、実装上の脆弱性が多い傾向があります。 -
Q: 量子耐性アルゴリズムを導入する際のコストは?
A: ソフトウェア実装はほぼ無料ですが、ハードウェアアクセラレーションが必要な場合は新規ハードウェア導入が必要です。クラウドKMSを利用すれば初期投資を抑えられます。 -
Q: TLS1.3でChaCha20‑Poly1305を使うメリットは?
A: ChaCha20はAES‑NIが無い環境でも高速で、低レイテンシが求められるモバイルやIoTデバイスで優れた性能を発揮します。
まとめ
1976年に登場したDESから始まり、AES、Ed25519、ChaCha20‑Poly1305、Argon2、Kyber・Dilithiumといったアルゴリズムは、計算速度、鍵長、実装容易性、量子耐性といった観点で進化を遂げてきました。2025‑2026年の動向では、クラウドベースの鍵管理サービスとポスト量子暗号の標準化が進み、企業は既存のRSA・3DESからAES‑256・Ed25519・Kyberへと移行を計画しています。ハードウェアアクセラレーションの有無、規格遵守、鍵管理体制を総合的に評価し、用途に最適な暗号化技術を選択することが、セキュリティとパフォーマンスの両立に不可欠です。