diff options
| author | Egor Tensin <egor@tensin.name> | 2026-07-21 14:44:58 +0200 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-07-21 15:03:00 +0200 |
| commit | 31b275f8c201570af8a22dfe8c5ceaa9624b638c (patch) | |
| tree | 8e11af31ec04c7c91b512a548bf23a61bc752d8b /aes/src/box_aes.c | |
| parent | aes: minor refactoring (diff) | |
| download | aes-tools-31b275f8c201570af8a22dfe8c5ceaa9624b638c.tar.gz aes-tools-31b275f8c201570af8a22dfe8c5ceaa9624b638c.zip | |
blocks are the same for every variant
Diffstat (limited to 'aes/src/box_aes.c')
| -rw-r--r-- | aes/src/box_aes.c | 114 |
1 files changed, 18 insertions, 96 deletions
diff --git a/aes/src/box_aes.c b/aes/src/box_aes.c index 8c79335..c566b36 100644 --- a/aes/src/box_aes.c +++ b/aes/src/box_aes.c @@ -56,17 +56,6 @@ static AES_StatusCode aes_box_derive_params_aes256( return AES_SUCCESS; } -static AES_StatusCode aes_box_parse_block_aes( - AES_BoxBlock* dest, - const char* src, - AES_ErrorDetails* err_details -) { - if (dest == NULL) - return aes_error_null_argument(err_details, "dest"); - - return aes_AES_parse_block(&dest->aes_block, src, err_details); -} - static AES_StatusCode aes_box_parse_key_aes128( AES_BoxKey* dest, const char* src, @@ -100,19 +89,6 @@ static AES_StatusCode aes_box_parse_key_aes256( return aes256_parse_key(&dest->aes256_key, src, err_details); } -static AES_StatusCode aes_box_format_block_aes( - AES_BoxBlockString* dest, - const AES_BoxBlock* src, - AES_ErrorDetails* err_details -) { - if (dest == NULL) - return aes_error_null_argument(err_details, "dest"); - if (src == NULL) - return aes_error_null_argument(err_details, "src"); - - return aes128_format_block(&dest->aes, &src->aes_block, err_details); -} - static AES_StatusCode aes_box_format_key_aes128( AES_BoxKeyString* dest, const AES_BoxKey* src, @@ -152,22 +128,6 @@ static AES_StatusCode aes_box_format_key_aes256( return aes256_format_key(&dest->aes256, &src->aes256_key, err_details); } -static AES_StatusCode aes_box_xor_block_aes( - AES_BoxBlock* dest, - const AES_BoxBlock* src, - AES_ErrorDetails* err_details -) { - AES_UNUSED_PARAMETER(err_details); - dest->aes_block = aes_xor_blocks(dest->aes_block, src->aes_block); - return AES_SUCCESS; -} - -static AES_StatusCode aes_box_inc_block_aes(AES_BoxBlock* ctr, AES_ErrorDetails* err_details) { - AES_UNUSED_PARAMETER(err_details); - ctr->aes_block = aes_inc_block(ctr->aes_block); - return AES_SUCCESS; -} - static AES_StatusCode aes_box_get_block_size_aes( size_t* block_size, AES_ErrorDetails* err_details @@ -177,133 +137,95 @@ static AES_StatusCode aes_box_get_block_size_aes( return AES_SUCCESS; } -static AES_StatusCode aes_box_store_block_aes( - void* dest, - const AES_BoxBlock* src, - AES_ErrorDetails* err_details -) { - AES_UNUSED_PARAMETER(err_details); - aes_store_block(dest, src->aes_block); - return AES_SUCCESS; -} - -static AES_StatusCode aes_box_load_block_aes( - AES_BoxBlock* dest, - const void* src, - AES_ErrorDetails* err_details -) { - AES_UNUSED_PARAMETER(err_details); - dest->aes_block = aes_load_block(src); - return AES_SUCCESS; -} - static AES_StatusCode aes_box_encrypt_block_aes128( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxEncryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes128_encrypt_block_(input->aes_block, ¶ms->aes128_encryption_keys); + *output = aes128_encrypt_block_(*input, ¶ms->aes128_encryption_keys); return AES_SUCCESS; } static AES_StatusCode aes_box_decrypt_block_aes128( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxDecryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes128_decrypt_block_(input->aes_block, ¶ms->aes128_decryption_keys); + *output = aes128_decrypt_block_(*input, ¶ms->aes128_decryption_keys); return AES_SUCCESS; } static AES_StatusCode aes_box_encrypt_block_aes192( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxEncryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes192_encrypt_block_(input->aes_block, ¶ms->aes192_encryption_keys); + *output = aes192_encrypt_block_(*input, ¶ms->aes192_encryption_keys); return AES_SUCCESS; } static AES_StatusCode aes_box_decrypt_block_aes192( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxDecryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes192_decrypt_block_(input->aes_block, ¶ms->aes192_decryption_keys); + *output = aes192_decrypt_block_(*input, ¶ms->aes192_decryption_keys); return AES_SUCCESS; } static AES_StatusCode aes_box_encrypt_block_aes256( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxEncryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes256_encrypt_block_(input->aes_block, ¶ms->aes256_encryption_keys); + *output = aes256_encrypt_block_(*input, ¶ms->aes256_encryption_keys); return AES_SUCCESS; } static AES_StatusCode aes_box_decrypt_block_aes256( - const AES_BoxBlock* input, + const AES_Block* input, const AES_BoxDecryptionRoundKeys* params, - AES_BoxBlock* output, + AES_Block* output, AES_ErrorDetails* err_details ) { AES_UNUSED_PARAMETER(err_details); - output->aes_block = aes256_decrypt_block_(input->aes_block, ¶ms->aes256_decryption_keys); + *output = aes256_decrypt_block_(*input, ¶ms->aes256_decryption_keys); return AES_SUCCESS; } AES_BoxInterface aes128_box_interface = { &aes_box_derive_params_aes128, - &aes_box_parse_block_aes, &aes_box_parse_key_aes128, - &aes_box_format_block_aes, &aes_box_format_key_aes128, &aes_box_encrypt_block_aes128, &aes_box_decrypt_block_aes128, - &aes_box_xor_block_aes, - &aes_box_inc_block_aes, &aes_box_get_block_size_aes, - &aes_box_store_block_aes, - &aes_box_load_block_aes, }; AES_BoxInterface aes192_box_interface = { &aes_box_derive_params_aes192, - &aes_box_parse_block_aes, &aes_box_parse_key_aes192, - &aes_box_format_block_aes, &aes_box_format_key_aes192, &aes_box_encrypt_block_aes192, &aes_box_decrypt_block_aes192, - &aes_box_xor_block_aes, - &aes_box_inc_block_aes, &aes_box_get_block_size_aes, - &aes_box_store_block_aes, - &aes_box_load_block_aes, }; AES_BoxInterface aes256_box_interface = { &aes_box_derive_params_aes256, - &aes_box_parse_block_aes, &aes_box_parse_key_aes256, - &aes_box_format_block_aes, &aes_box_format_key_aes256, &aes_box_encrypt_block_aes256, &aes_box_decrypt_block_aes256, - &aes_box_xor_block_aes, - &aes_box_inc_block_aes, &aes_box_get_block_size_aes, - &aes_box_store_block_aes, - &aes_box_load_block_aes, }; |
