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()19Aes128Gcm12Decrypter::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()26Aes128Gcm12Decrypter::~Aes128Gcm12Decrypter() {} 27 cipher_id() const28uint32_t Aes128Gcm12Decrypter::cipher_id() const { 29 return TLS1_CK_AES_128_GCM_SHA256; 30 } 31 32 } // namespace quic 33