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_encrypter.h" 6 7 #include "openssl/evp.h" 8 9 namespace quic { 10 11 namespace { 12 13 const size_t kKeySize = 16; 14 const size_t kNonceSize = 12; 15 16 } // namespace 17 Aes128GcmEncrypter()18Aes128GcmEncrypter::Aes128GcmEncrypter() 19 : AesBaseEncrypter(EVP_aead_aes_128_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 ~Aes128GcmEncrypter()25Aes128GcmEncrypter::~Aes128GcmEncrypter() {} 26 27 } // namespace quic 28