#include "quiche/quic/core/crypto/quic_decrypter.h"
#include <memory>
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
#include "openssl/tls1.h"
#include "quiche/quic/core/crypto/aes_128_gcm_12_decrypter.h"
#include "quiche/quic/core/crypto/aes_128_gcm_decrypter.h"
#include "quiche/quic/core/crypto/aes_256_gcm_decrypter.h"
#include "quiche/quic/core/crypto/chacha20_poly1305_decrypter.h"
#include "quiche/quic/core/crypto/chacha20_poly1305_tls_decrypter.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/crypto/null_decrypter.h"
#include "quiche/quic/core/crypto/quic_hkdf.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
std::unique_ptr<QuicDecrypter> QuicDecrypter::Create(
const ParsedQuicVersion& version, QuicTag algorithm) { … }
std::unique_ptr<QuicDecrypter> QuicDecrypter::CreateFromCipherSuite(
uint32_t cipher_suite) { … }
void QuicDecrypter::DiversifyPreliminaryKey(absl::string_view preliminary_key,
absl::string_view nonce_prefix,
const DiversificationNonce& nonce,
size_t key_size,
size_t nonce_prefix_size,
std::string* out_key,
std::string* out_nonce_prefix) { … }
}