Classes | Typedefs | Functions | Variables
aes_gcm_test.cc File Reference
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include "src/core/tsi/alts/crypt/gsec.h"
#include "test/core/tsi/alts/crypt/gsec_test_util.h"
#include "test/core/util/test_config.h"
Include dependency graph for aes_gcm_test.cc:

Go to the source code of this file.

Classes

struct  gsec_aead_test_vector
 

Typedefs

typedef struct gsec_aead_test_vector gsec_aead_test_vector
 

Functions

static void gsec_aead_free_test_vector (gsec_aead_test_vector *test_vector)
 
static void gsec_aead_malloc_test_vector (gsec_aead_test_vector **test_vector, const uint8_t *key, size_t key_length, const uint8_t *nonce, size_t nonce_length, const uint8_t *aad, size_t aad_length, const uint8_t *plaintext, size_t plaintext_length, const uint8_t *ciphertext_and_tag, size_t ciphertext_and_tag_length)
 
static void gsec_assert_ok (grpc_status_code status, const char *error_detail)
 
static void gsec_randomly_slice (uint8_t *input, size_t input_length, struct iovec **output, size_t *output_length)
 
static void gsec_test_create_random_aes_gcm_crypter (gsec_aead_crypter **crypter, size_t key_length, size_t nonce_length, size_t tag_length, bool rekey)
 
static void gsec_test_decryption_failure (gsec_aead_crypter *crypter)
 
static void gsec_test_do_generic_crypter_tests ()
 
static void gsec_test_do_vector_tests_ieee ()
 
static void gsec_test_do_vector_tests_nist ()
 
static void gsec_test_do_vector_tests_rekey_ieee ()
 
static void gsec_test_do_vector_tests_rekey_nist ()
 
static void gsec_test_encrypt_decrypt (gsec_aead_crypter *crypter)
 
static void gsec_test_encrypt_decrypt_test_vector (gsec_aead_crypter *crypter, gsec_aead_test_vector *test_vector)
 
static void gsec_test_encryption_failure (gsec_aead_crypter *crypter)
 
static void gsec_test_get_crypter_from_test_vector (gsec_aead_crypter **crypter, gsec_aead_test_vector *test_vector, bool rekey=false)
 
static void gsec_test_get_random_aes_gcm_crypters (gsec_aead_crypter ***crypters)
 
static void gsec_test_multiple_encrypt_decrypt (gsec_aead_crypter *crypter)
 
static void gsec_test_multiple_random_encrypt_decrypt (gsec_aead_crypter *crypter, size_t *aad_lengths, size_t *message_lengths, size_t count)
 
static void gsec_test_random_encrypt_decrypt (gsec_aead_crypter *crypter, size_t aad_length, size_t message_length)
 
static void gsec_test_verify_crypter_on_test_vector (gsec_aead_test_vector *test_vector, bool rekey=false)
 
int main (int argc, char **argv)
 

Variables

const size_t kTestMaxLength = 1024
 
const size_t kTestMaxSlices = 5
 
const size_t kTestMinTagLengthForCorruption = 8
 
const size_t kTestNumCrypters = 3
 
const size_t kTestNumEncryptions = 100
 

Typedef Documentation

◆ gsec_aead_test_vector

Function Documentation

◆ gsec_aead_free_test_vector()

static void gsec_aead_free_test_vector ( gsec_aead_test_vector test_vector)
static

Definition at line 784 of file aes_gcm_test.cc.

◆ gsec_aead_malloc_test_vector()

static void gsec_aead_malloc_test_vector ( gsec_aead_test_vector **  test_vector,
const uint8_t key,
size_t  key_length,
const uint8_t nonce,
size_t  nonce_length,
const uint8_t aad,
size_t  aad_length,
const uint8_t plaintext,
size_t  plaintext_length,
const uint8_t ciphertext_and_tag,
size_t  ciphertext_and_tag_length 
)
static

Definition at line 764 of file aes_gcm_test.cc.

◆ gsec_assert_ok()

static void gsec_assert_ok ( grpc_status_code  status,
const char *  error_detail 
)
static

Definition at line 69 of file aes_gcm_test.cc.

◆ gsec_randomly_slice()

static void gsec_randomly_slice ( uint8_t input,
size_t  input_length,
struct iovec **  output,
size_t *  output_length 
)
static

Definition at line 46 of file aes_gcm_test.cc.

◆ gsec_test_create_random_aes_gcm_crypter()

static void gsec_test_create_random_aes_gcm_crypter ( gsec_aead_crypter **  crypter,
size_t  key_length,
size_t  nonce_length,
size_t  tag_length,
bool  rekey 
)
static

Definition at line 793 of file aes_gcm_test.cc.

◆ gsec_test_decryption_failure()

static void gsec_test_decryption_failure ( gsec_aead_crypter crypter)
static

Definition at line 548 of file aes_gcm_test.cc.

◆ gsec_test_do_generic_crypter_tests()

static void gsec_test_do_generic_crypter_tests ( )
static

Definition at line 820 of file aes_gcm_test.cc.

◆ gsec_test_do_vector_tests_ieee()

static void gsec_test_do_vector_tests_ieee ( )
static

From: http://www.ieee802.org/1/files/public/docs2011/ bn-randall-test-vectors-0511-v1.pdf

Definition at line 1591 of file aes_gcm_test.cc.

◆ gsec_test_do_vector_tests_nist()

static void gsec_test_do_vector_tests_nist ( )
static

◆ gsec_test_do_vector_tests_rekey_ieee()

static void gsec_test_do_vector_tests_rekey_ieee ( )
static

Definition at line 1051 of file aes_gcm_test.cc.

◆ gsec_test_do_vector_tests_rekey_nist()

static void gsec_test_do_vector_tests_rekey_nist ( )
static

Definition at line 836 of file aes_gcm_test.cc.

◆ gsec_test_encrypt_decrypt()

static void gsec_test_encrypt_decrypt ( gsec_aead_crypter crypter)
static

Definition at line 224 of file aes_gcm_test.cc.

◆ gsec_test_encrypt_decrypt_test_vector()

static void gsec_test_encrypt_decrypt_test_vector ( gsec_aead_crypter crypter,
gsec_aead_test_vector test_vector 
)
static

Definition at line 697 of file aes_gcm_test.cc.

◆ gsec_test_encryption_failure()

static void gsec_test_encryption_failure ( gsec_aead_crypter crypter)
static

Definition at line 422 of file aes_gcm_test.cc.

◆ gsec_test_get_crypter_from_test_vector()

static void gsec_test_get_crypter_from_test_vector ( gsec_aead_crypter **  crypter,
gsec_aead_test_vector test_vector,
bool  rekey = false 
)
static

Definition at line 739 of file aes_gcm_test.cc.

◆ gsec_test_get_random_aes_gcm_crypters()

static void gsec_test_get_random_aes_gcm_crypters ( gsec_aead_crypter ***  crypters)
static

Definition at line 805 of file aes_gcm_test.cc.

◆ gsec_test_multiple_encrypt_decrypt()

static void gsec_test_multiple_encrypt_decrypt ( gsec_aead_crypter crypter)
static

Definition at line 400 of file aes_gcm_test.cc.

◆ gsec_test_multiple_random_encrypt_decrypt()

static void gsec_test_multiple_random_encrypt_decrypt ( gsec_aead_crypter crypter,
size_t *  aad_lengths,
size_t *  message_lengths,
size_t  count 
)
static

Definition at line 234 of file aes_gcm_test.cc.

◆ gsec_test_random_encrypt_decrypt()

static void gsec_test_random_encrypt_decrypt ( gsec_aead_crypter crypter,
size_t  aad_length,
size_t  message_length 
)
static

The returned plaintext will be zeroed if there was an authentication error.

Definition at line 80 of file aes_gcm_test.cc.

◆ gsec_test_verify_crypter_on_test_vector()

static void gsec_test_verify_crypter_on_test_vector ( gsec_aead_test_vector test_vector,
bool  rekey = false 
)
static

Definition at line 756 of file aes_gcm_test.cc.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 2113 of file aes_gcm_test.cc.

Variable Documentation

◆ kTestMaxLength

const size_t kTestMaxLength = 1024

Definition at line 29 of file aes_gcm_test.cc.

◆ kTestMaxSlices

const size_t kTestMaxSlices = 5

Definition at line 28 of file aes_gcm_test.cc.

◆ kTestMinTagLengthForCorruption

const size_t kTestMinTagLengthForCorruption = 8

Definition at line 26 of file aes_gcm_test.cc.

◆ kTestNumCrypters

const size_t kTestNumCrypters = 3

Definition at line 27 of file aes_gcm_test.cc.

◆ kTestNumEncryptions

const size_t kTestNumEncryptions = 100

Definition at line 30 of file aes_gcm_test.cc.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:02