// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef QUICHE_QUIC_CORE_CRYPTO_CHACHA20_POLY1305_TLS_ENCRYPTER_H_ #define QUICHE_QUIC_CORE_CRYPTO_CHACHA20_POLY1305_TLS_ENCRYPTER_H_ #include "quiche/quic/core/crypto/chacha_base_encrypter.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { // A ChaCha20Poly1305Encrypter is a QuicEncrypter that implements the // AEAD_CHACHA20_POLY1305 algorithm specified in RFC 7539 for use in IETF QUIC. // // It uses an authentication tag of 16 bytes (128 bits). It uses a 12 byte IV // that is XOR'd with the packet number to compute the nonce. class QUICHE_EXPORT ChaCha20Poly1305TlsEncrypter : public ChaChaBaseEncrypter { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CRYPTO_CHACHA20_POLY1305_TLS_ENCRYPTER_H_