セキュリティ
上級

ChaCha20-Poly1305 (2014)(チャチャニジューポリ)

Daniel J. Bernstein が 2008 年に設計した ChaCha20 ストリーム暗号と Poly1305 メッセージ認証コード (MAC) の組合せ AEAD (Authenticated Encryption with Associated Data)。2014 年 IETF RFC 7539 として標準化、TLS 1.3・WireGuard VPN・QUIC・OpenSSH・SSH-2 で AES-GCM 並列標準として広く採用される現代モバイル最適化暗号。

0 回閲覧
0 いいね
2026/5/12 更新
関連タグ
ChaCha20
Poly1305
Daniel J Bernstein
AEAD
TLS 1.3
WireGuard

概要

ChaCha20-Poly1305 は、Daniel J. Bernstein (D. J. Bernstein、シカゴ大学暗号学者) が 2008 年に設計した ChaCha20 ストリーム暗号と Poly1305 メッセージ認証コード (MAC) の組合せ AEAD (Authenticated Encryption with Associated Data、認証付き暗号) で、2014 年 IETF RFC 7539 として標準化、2018 年 TLS 1.3 (RFC 8446)・WireGuard VPN (2018)・QUIC (2021 RFC 9000)・OpenSSH 6.5+ (2014)・SSH-2 で AES-256-GCM 並列標準として広く採用される現代モバイル最適化暗号です。Bernstein は AES より単純な構造で ChaCha20 を設計、AES-NI 非対応 CPU (古い ARM Cortex-A53・低消費電力 IoT デバイス・古い x86 CPU) でもソフトウェア実装で高速動作する特性が強みで、ソフトウェア実装で AES の 3-5 倍高速のためモバイル・組み込み機器最適化が決定的な利点となりました。Google が Android (Chrome 33、2014 年から)・iOS Chrome・Edge・Firefox で 2014 年から積極採用、TLS 1.3 (RFC 8446、2018 年標準化) で AES-128-GCM・AES-256-GCM・ChaCha20-Poly1305 の 3 つが標準暗号スイートとして標準化された現代の重要暗号として、AI 時代の 2026 年現在も成長を続けています。

主な特徴・仕組み

  • 設計: 2008 年 Daniel J. Bernstein
  • 標準化: 2014 年 IETF RFC 7539・2018 年 TLS 1.3 RFC 8446
  • ChaCha20: ストリーム暗号、20 ラウンド ARX (Add-Rotate-XOR) 構造
  • Poly1305: メッセージ認証コード (MAC)、Wegman-Carter MAC
  • AEAD: 認証付き暗号 (機密性 + 完全性 + 真正性を 1 アルゴリズムで提供)
  • 鍵長: 256-bit
  • ナンス: 96-bit (RFC 7539)・64-bit (オリジナル)
  • タグ: 128-bit (Poly1305 認証タグ)
  • ソフトウェア性能: AES-NI 非対応 CPU で AES の 3-5 倍高速
  • 採用: TLS 1.3・WireGuard・QUIC・OpenSSH・Signal・Android Chrome

スペック比較表 (AES-GCM vs ChaCha20-Poly1305)

暗号構造鍵長HW アクセラモバイル最適
AES-256-GCMブロック256-bitIntel AES-NI (2010)△
ChaCha20-Poly1305ストリーム256-bit不要◎
AES-128-GCMブロック128-bitIntel AES-NI△
ChaCha8-Poly1305ストリーム256-bit不要◎ (高速版)

具体例・対応技術

  • TLS 1.3 (RFC 8446, 2018): 3 つの標準暗号スイートの 1 つ
  • WireGuard VPN (2018): ChaCha20-Poly1305 必須採用、現代 VPN 標準
  • QUIC (RFC 9000, 2021): HTTP/3 トランスポート暗号化
  • OpenSSH 6.5+ (2014-): [email protected]、デフォルト暗号
  • Signal メッセージング: エンドツーエンド暗号化
  • Android Chrome (2014-): モバイル HTTPS で AES-GCM より高速

自作PCでの選び方・注意点

ChaCha20-Poly1305 は 2026 年現在、現代 Web ブラウザ・モバイル・VPN・SSH で広く利用される暗号、特に AES-NI 非対応の低スペック CPU・古い ARM CPU・IoT デバイスで価値発揮。WireGuard VPN (Linus Torvalds が「素晴らしい仕事」と絶賛した次世代 VPN プロトコル、Linux カーネル 5.6 に統合) は ChaCha20-Poly1305 のみを暗号として採用、OpenVPN・IPsec より高速・シンプル・セキュア。OpenSSH 6.5+ (2014 年以降の現代 SSH 全バージョン) でデフォルト暗号 [email protected] が標準、SSH 接続時に明示的に指定不要で自動利用。AES-NI 搭載 PC では AES-256-GCM が SHA-NI でハードウェアアクセラレーション (5-10 GB/s) されるため AES が若干優位ですが、AES-NI 非対応の Raspberry Pi 3・古い Atom・組み込み Linux で ChaCha20-Poly1305 が 3-5 倍高速。Cloudflare の HTTPS 接続で ChaCha20-Poly1305 が自動選択 (モバイルクライアント検出時)、Web ページの読込が高速化される仕組みが背景に。AI 時代の 2026 年現在、Llama 3 などの AI モデル配信・モデル並列学習通信の暗号化で ChaCha20-Poly1305 が AES-GCM 競合として選択される機会増加、特にエッジ AI 推論機器 (NVIDIA Jetson・Raspberry Pi 5) で実用価値大。

関連用語との違い

  • AES-256-GCM: 競合、AES-NI 搭載 CPU で優位
  • AES-128-GCM: TLS 1.3 標準暗号、互換性高
  • Salsa20: ChaCha20 の前身、Bernstein 2005 年設計

よくある質問(FAQ)

Q1: ChaCha20 と AES どちらを選ぶ? A: AES-NI 搭載 PC では AES-256-GCM 優位 (ハードウェアアクセラ)、AES-NI 非対応 (古い ARM・IoT・低スペック CPU) では ChaCha20 圧倒。TLS 1.3 では両者並列標準で自動選択。

Q2: WireGuard が ChaCha20 のみ採用した理由? A: シンプル性・モバイル最適化・AES-NI 非対応デバイス対応・コードベース最小化 (4,000 行 vs OpenVPN 100,000 行) で、Jason Donenfeld が ChaCha20-Poly1305 のみを採用した結果、現代 VPN プロトコルの中で最速・最セキュアの地位を獲得。

Q3: 量子コンピュータで破られる? A: 256-bit 鍵で量子耐性 128-bit 実効強度 (Grover アルゴリズム)、当面安全。NIST PQC との併用が 2030 年代に予測される。

まとめ

  • ChaCha20-Poly1305 = 2008 年 Bernstein 設計、2014 年 IETF 標準化
  • ストリーム暗号 + MAC の AEAD、256-bit 鍵・128-bit タグ
  • TLS 1.3/WireGuard/QUIC/OpenSSH で AES-GCM と並列標準
  • AES-NI 非対応 CPU で 3-5 倍高速、モバイル・IoT 最適
この記事について
カテゴリーセキュリティ
難易度上級
作成日2026/5/12