xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/core/crypto/aes_128_gcm_12_decrypter.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_128_gcm_12_decrypter.h"
6 
7 #include "openssl/aead.h"
8 #include "openssl/tls1.h"
9 
10 namespace quic {
11 
12 namespace {
13 
14 const size_t kKeySize = 16;
15 const size_t kNonceSize = 12;
16 
17 }  // namespace
18 
Aes128Gcm12Decrypter()19 Aes128Gcm12Decrypter::Aes128Gcm12Decrypter()
20     : AesBaseDecrypter(EVP_aead_aes_128_gcm, kKeySize, kAuthTagSize, kNonceSize,
21                        /* use_ietf_nonce_construction */ false) {
22   static_assert(kKeySize <= kMaxKeySize, "key size too big");
23   static_assert(kNonceSize <= kMaxNonceSize, "nonce size too big");
24 }
25 
~Aes128Gcm12Decrypter()26 Aes128Gcm12Decrypter::~Aes128Gcm12Decrypter() {}
27 
cipher_id() const28 uint32_t Aes128Gcm12Decrypter::cipher_id() const {
29   return TLS1_CK_AES_128_GCM_SHA256;
30 }
31 
32 }  // namespace quic
33