diff options
| author | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-27 10:08:26 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-27 10:08:26 +0100 |
| commit | bb6103c6629abf11730929c1a9b735af1f3983c5 (patch) | |
| tree | ffa4923bab17cb976b7e806574bed7acc7c6fc91 | |
| parent | 0034747fd91b5d1b5d6375eb295a79f5221de84a (diff) | |
| download | lilliput-ae-implem-bb6103c6629abf11730929c1a9b735af1f3983c5.tar.xz | |
Ajout des prototypes des sous-fonctions SCT-2
| -rw-r--r-- | src/lilliput-ae-ii.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/lilliput-ae-ii.c b/src/lilliput-ae-ii.c index 9b156c7..23ff27e 100644 --- a/src/lilliput-ae-ii.c +++ b/src/lilliput-ae-ii.c @@ -6,6 +6,49 @@ #include "lilliput-ae.h" +static void _process_associated_data( + const uint8_t key[KEY_BYTES], + size_t A_len, + const uint8_t A[A_len], + uint8_t Auth[BLOCK_BYTES] +) +{ +} + +static void _generate_tag( + const uint8_t key[KEY_BYTES], + size_t M_len, + const uint8_t M[M_len], + const uint8_t N[NONCE_BYTES], + const uint8_t Auth[BLOCK_BYTES], + uint8_t tag[TAG_BYTES] +) +{ +} + +static void _encrypt_message( + const uint8_t key[KEY_BYTES], + size_t M_len, + const uint8_t M[M_len], + const uint8_t N[NONCE_BYTES], + const uint8_t tag[TAG_BYTES], + uint8_t C[M_len] +) +{ +} + +static void _decrypt_message( + const uint8_t key[KEY_BYTES], + size_t C_len, + const uint8_t C[C_len], + const uint8_t N[NONCE_BYTES], + const uint8_t tag[TAG_BYTES], + uint8_t M[C_len] +) +{ +} + + void lilliput_ae_encrypt( size_t message_len, const uint8_t message[message_len], @@ -17,6 +60,12 @@ void lilliput_ae_encrypt( uint8_t tag[TAG_BYTES] ) { + uint8_t auth[BLOCK_BYTES]; + _process_associated_data(key, auth_data_len, auth_data, auth); + + _generate_tag(key, message_len, message, nonce, auth, tag); + + _encrypt_message(key, message_len, message, nonce, tag, ciphertext); } bool lilliput_ae_decrypt( @@ -30,6 +79,13 @@ bool lilliput_ae_decrypt( uint8_t message[ciphertext_len] ) { + _decrypt_message(key, ciphertext_len, ciphertext, nonce, tag, message); + + uint8_t auth[BLOCK_BYTES]; + _process_associated_data(key, auth_data_len, auth_data, auth); + uint8_t effective_tag[TAG_BYTES]; + _generate_tag(key, ciphertext_len, message, nonce, auth, effective_tag); + return memcmp(tag, effective_tag, TAG_BYTES) == 0; } |
