OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/crypto/chacha20_poly1305_encrypter.h" | 5 #include "net/quic/crypto/chacha20_poly1305_encrypter.h" |
6 | 6 |
7 #include <openssl/evp.h> | 7 #include <openssl/evp.h> |
8 | 8 |
9 namespace net { | 9 namespace net { |
10 | 10 |
11 namespace { | 11 namespace { |
12 | 12 |
13 const size_t kKeySize = 32; | 13 const size_t kKeySize = 32; |
14 const size_t kNoncePrefixSize = 0; | 14 const size_t kNoncePrefixSize = 0; |
15 | 15 |
16 } // namespace | 16 } // namespace |
17 | 17 |
18 ChaCha20Poly1305Encrypter::ChaCha20Poly1305Encrypter() | 18 ChaCha20Poly1305Encrypter::ChaCha20Poly1305Encrypter() |
19 : AeadBaseEncrypter(EVP_aead_chacha20_poly1305(), kKeySize, kAuthTagSize, | 19 : AeadBaseEncrypter(EVP_aead_chacha20_poly1305(), |
| 20 kKeySize, |
| 21 kAuthTagSize, |
20 kNoncePrefixSize) { | 22 kNoncePrefixSize) { |
21 COMPILE_ASSERT(kKeySize <= kMaxKeySize, key_size_too_big); | 23 COMPILE_ASSERT(kKeySize <= kMaxKeySize, key_size_too_big); |
22 COMPILE_ASSERT(kNoncePrefixSize <= kMaxNoncePrefixSize, | 24 COMPILE_ASSERT(kNoncePrefixSize <= kMaxNoncePrefixSize, |
23 nonce_prefix_size_too_big); | 25 nonce_prefix_size_too_big); |
24 } | 26 } |
25 | 27 |
26 ChaCha20Poly1305Encrypter::~ChaCha20Poly1305Encrypter() {} | 28 ChaCha20Poly1305Encrypter::~ChaCha20Poly1305Encrypter() { |
| 29 } |
27 | 30 |
28 // static | 31 // static |
29 bool ChaCha20Poly1305Encrypter::IsSupported() { return true; } | 32 bool ChaCha20Poly1305Encrypter::IsSupported() { |
| 33 return true; |
| 34 } |
30 | 35 |
31 } // namespace net | 36 } // namespace net |
OLD | NEW |