ChaCha20-Poly1305はChaCha20ストリーム暗号とPoly1305認証タグを組み合わせたAEAD暗号方式です。暗号化だけでなく改ざん検出も同時に行えるため、TLS1.3、VPN、モバイルアプリケーションなどで利用されています。
ChaCha20-Poly1305では256ビット(32バイト)の鍵を使用します。Nonceは96ビット(12バイト)固定です。暗号化時に生成されるTagは16バイトで、復号時には暗号文、Nonce、Tag、AADがすべて一致する必要があります。
AADは暗号化されませんが、認証対象として扱われます。APIバージョン、メッセージタイプ、ヘッダー情報などを改ざん防止対象に含めたい場合に利用します。
同じ鍵でNonceを再利用すると安全性が低下します。実際のシステムではランダム生成または管理されたカウンター方式で一意性を保証してください。
ChaCha20-Poly1305は現在推奨されるAEAD方式の一つですが、Nonceの再利用は禁止されています。実運用では鍵管理とNonce管理を適切に行ってください。
入力データや鍵情報は計算処理にのみ使用され、保存されません。テスト用途以外では本番環境の秘密情報を入力しないでください。
コメント 0