ChaCha20-Poly1305
ChaCha20-Poly1305 とは何ですか?
ChaCha20-Poly1305ChaCha20 ストリーム暗号と Poly1305 一回限り認証子を組み合わせた AEAD で、RFC 8439 で標準化され TLS 1.3 や WireGuard で採用される。
ChaCha20-Poly1305 は RFC 8439(旧 RFC 7539)で規定された AEAD 暗号です。ChaCha20 は Daniel J. Bernstein が設計した 256 ビット鍵の ARX 系ストリーム暗号で、96 ビット nonce と 32 ビットカウンタにより呼び出しごとに 512 ビットの鍵ストリームを生成します。Poly1305 は ChaCha20 の最初の鍵ストリームブロックから派生した鍵を用いる 128 ビットの一回限り MAC で、暗号文と関連データを認証します。AES-NI に依存しないソフトウェア実装でも高速かつ定数時間に動作するため、TLS 1.3、QUIC、SSH、OpenVPN、WireGuard の既定フォールバックとなっています。AES-GCM と同様、nonce 再利用は壊滅的です。
● 例
- 01
TLS 1.3 スイート TLS_CHACHA20_POLY1305_SHA256。
- 02
WireGuard のトンネルデータは ChaCha20-Poly1305 で暗号化される。
● よくある質問
ChaCha20-Poly1305 とは何ですか?
ChaCha20 ストリーム暗号と Poly1305 一回限り認証子を組み合わせた AEAD で、RFC 8439 で標準化され TLS 1.3 や WireGuard で採用される。 サイバーセキュリティの 暗号 カテゴリに属します。
ChaCha20-Poly1305 とはどういう意味ですか?
ChaCha20 ストリーム暗号と Poly1305 一回限り認証子を組み合わせた AEAD で、RFC 8439 で標準化され TLS 1.3 や WireGuard で採用される。
ChaCha20-Poly1305 はどのように機能しますか?
ChaCha20-Poly1305 は RFC 8439(旧 RFC 7539)で規定された AEAD 暗号です。ChaCha20 は Daniel J. Bernstein が設計した 256 ビット鍵の ARX 系ストリーム暗号で、96 ビット nonce と 32 ビットカウンタにより呼び出しごとに 512 ビットの鍵ストリームを生成します。Poly1305 は ChaCha20 の最初の鍵ストリームブロックから派生した鍵を用いる 128 ビットの一回限り MAC で、暗号文と関連データを認証します。AES-NI に依存しないソフトウェア実装でも高速かつ定数時間に動作するため、TLS 1.3、QUIC、SSH、OpenVPN、WireGuard の既定フォールバックとなっています。AES-GCM と同様、nonce 再利用は壊滅的です。
ChaCha20-Poly1305 からどのように防御しますか?
ChaCha20-Poly1305 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ChaCha20-Poly1305 の別名は何ですか?
一般的な別名: ChaCha20/Poly1305, RFC 8439, ChaPoly。
● 関連用語
- cryptography№ 023
AES-GCM
AES のカウンターモードと GHASH ベースの認証タグを組み合わせ、機密性と完全性を一度の処理で実現する認証付き暗号モード。
- cryptography№ 1109
ストリーム暗号
鍵とナンスから導出した擬似乱数の鍵ストリームを平文とビットまたはバイト単位で XOR して暗号化する対称暗号。
- network-security№ 1159
TLS(トランスポート層セキュリティ)
IETF が標準化した暗号プロトコルで、ネットワーク上の 2 つのアプリケーション間の通信に機密性・完全性・認証を提供する。
- network-security№ 1244
WireGuard
最新の暗号プリミティブを固定的に採用し、Linux カーネルの一部として動作するシンプルでモダンな VPN プロトコル。
- cryptography№ 258
Curve25519
Daniel J. Bernstein が設計したモンゴメリ型楕円曲線。RFC 7748 で規定される X25519 Diffie-Hellman に用いられ、約 128 ビット安全性を提供する。