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()18Aes256GcmEncrypter::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()25Aes256GcmEncrypter::~Aes256GcmEncrypter() {} 26 27 } // namespace quic 28