s2n_crypto_constants.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License").
  5. * You may not use this file except in compliance with the License.
  6. * A copy of the License is located at
  7. *
  8. * http://aws.amazon.com/apache2.0
  9. *
  10. * or in the "license" file accompanying this file. This file is distributed
  11. * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  12. * express or implied. See the License for the specific language governing
  13. * permissions and limitations under the License.
  14. */
  15. #pragma once
  16. #define S2N_TLS_SECRET_LEN 48
  17. #define S2N_TLS_RANDOM_DATA_LEN 32
  18. #define S2N_TLS_SEQUENCE_NUM_LEN 8
  19. #define S2N_TLS_CIPHER_SUITE_LEN 2
  20. #define S2N_SSLv2_CIPHER_SUITE_LEN 3
  21. #define S2N_TLS_FINISHED_LEN 12
  22. #define S2N_SSL_FINISHED_LEN 36
  23. #define S2N_TLS_MAX_IV_LEN 16
  24. /* From RFC 5246 6.2.3.3 */
  25. #define S2N_TLS12_AAD_LEN 13
  26. #define S2N_TLS_MAX_AAD_LEN S2N_TLS12_AAD_LEN
  27. #define S2N_TLS_GCM_FIXED_IV_LEN 4
  28. #define S2N_TLS_GCM_EXPLICIT_IV_LEN 8
  29. #define S2N_TLS_GCM_IV_LEN (S2N_TLS_GCM_FIXED_IV_LEN + S2N_TLS_GCM_EXPLICIT_IV_LEN)
  30. #define S2N_TLS_GCM_TAG_LEN 16
  31. #define S2N_TLS_AES_128_GCM_KEY_LEN 16
  32. #define S2N_TLS_AES_256_GCM_KEY_LEN 32
  33. /* TLS 1.3 uses only implicit IVs - RFC 8446 5.3 */
  34. #define S2N_TLS13_AAD_LEN 5
  35. #define S2N_TLS13_RECORD_IV_LEN 0
  36. #define S2N_TLS13_FIXED_IV_LEN 12
  37. /* From RFC 7905 */
  38. #define S2N_TLS_CHACHA20_POLY1305_FIXED_IV_LEN 12
  39. #define S2N_TLS_CHACHA20_POLY1305_EXPLICIT_IV_LEN 0
  40. #define S2N_TLS_CHACHA20_POLY1305_IV_LEN 12
  41. #define S2N_TLS_CHACHA20_POLY1305_KEY_LEN 32
  42. #define S2N_TLS_CHACHA20_POLY1305_TAG_LEN 16
  43. /* RFC 5246 7.4.1.2 */
  44. #define S2N_TLS_SESSION_ID_MAX_LEN 32