xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/core/crypto/aes_256_gcm_encrypter.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "quiche/quic/core/crypto/aes_256_gcm_encrypter.h"
6 
7 #include "openssl/evp.h"
8 
9 namespace quic {
10 
11 namespace {
12 
13 const size_t kKeySize = 32;
14 const size_t kNonceSize = 12;
15 
16 }  // namespace
17 
Aes256GcmEncrypter()18 Aes256GcmEncrypter::Aes256GcmEncrypter()
19     : AesBaseEncrypter(EVP_aead_aes_256_gcm, kKeySize, kAuthTagSize, kNonceSize,
20                        /* use_ietf_nonce_construction */ true) {
21   static_assert(kKeySize <= kMaxKeySize, "key size too big");
22   static_assert(kNonceSize <= kMaxNonceSize, "nonce size too big");
23 }
24 
~Aes256GcmEncrypter()25 Aes256GcmEncrypter::~Aes256GcmEncrypter() {}
26 
27 }  // namespace quic
28