diff options
Diffstat (limited to 'chromium/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc')
-rw-r--r-- | chromium/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/chromium/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc b/chromium/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc new file mode 100644 index 00000000000..7f0e24da704 --- /dev/null +++ b/chromium/net/quic/crypto/chacha20_poly1305_decrypter_openssl.cc @@ -0,0 +1,31 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "net/quic/crypto/chacha20_poly1305_decrypter.h" + +#include <openssl/evp.h> + +namespace net { + +namespace { + +const size_t kKeySize = 32; +const size_t kNoncePrefixSize = 0; + +} // namespace + +ChaCha20Poly1305Decrypter::ChaCha20Poly1305Decrypter() + : AeadBaseDecrypter(EVP_aead_chacha20_poly1305(), kKeySize, kAuthTagSize, + kNoncePrefixSize) { + COMPILE_ASSERT(kKeySize <= kMaxKeySize, key_size_too_big); + COMPILE_ASSERT(kNoncePrefixSize <= kMaxNoncePrefixSize, + nonce_prefix_size_too_big); +} + +ChaCha20Poly1305Decrypter::~ChaCha20Poly1305Decrypter() {} + +// static +bool ChaCha20Poly1305Decrypter::IsSupported() { return true; } + +} // namespace net |