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 "net/third_party/quiche/src/quic/core/crypto/aes_128_gcm_12_decrypter.h" 6 7 #include "third_party/boringssl/src/include/openssl/aead.h" 8 #include "third_party/boringssl/src/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, 21 kKeySize, 22 kAuthTagSize, 23 kNonceSize, 24 /* use_ietf_nonce_construction */ false) { 25 static_assert(kKeySize <= kMaxKeySize, "key size too big"); 26 static_assert(kNonceSize <= kMaxNonceSize, "nonce size too big"); 27 } 28 ~Aes128Gcm12Decrypter()29Aes128Gcm12Decrypter::~Aes128Gcm12Decrypter() {} 30 cipher_id() const31uint32_t Aes128Gcm12Decrypter::cipher_id() const { 32 return TLS1_CK_AES_128_GCM_SHA256; 33 } 34 35 } // namespace quic 36