1// Copyright (c) 2013 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/quic/crypto/aes_128_gcm_12_encrypter.h"
6
7#include <openssl/evp.h>
8
9namespace net {
10
11namespace {
12
13const size_t kKeySize = 16;
14const size_t kNoncePrefixSize = 4;
15
16}  // namespace
17
18Aes128Gcm12Encrypter::Aes128Gcm12Encrypter()
19    : AeadBaseEncrypter(EVP_aead_aes_128_gcm(), kKeySize, kAuthTagSize,
20                        kNoncePrefixSize) {
21  COMPILE_ASSERT(kKeySize <= kMaxKeySize, key_size_too_big);
22  COMPILE_ASSERT(kNoncePrefixSize <= kMaxNoncePrefixSize,
23                 nonce_prefix_size_too_big);
24}
25
26Aes128Gcm12Encrypter::~Aes128Gcm12Encrypter() {}
27
28}  // namespace net
29