From 4ed371cc378a3b579d46ed89a2677769a6d5ea24 Mon Sep 17 00:00:00 2001 From: Benedict Date: Tue, 22 Mar 2016 19:11:22 +0100 Subject: completed set 2 challenge 11 --- lib/lib2.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 9 deletions(-) (limited to 'lib/lib2.c') diff --git a/lib/lib2.c b/lib/lib2.c index 49f7363..a28b7a5 100644 --- a/lib/lib2.c +++ b/lib/lib2.c @@ -59,7 +59,7 @@ int valid_pkcs7_padding(const char *in, int length_in, char *unpadded, int block * @param string_key key with which the content in in has been decrypted * @param iv initalization vector */ -int aes_cbc(char *in, int length_in, char *out, unsigned char *string_key, char *init_vector) +int aes_cbc(char *in, int length_in, char *out, unsigned char *string_key, char *init_vector, int encrypt) { char iv[16]; AES_KEY key; @@ -69,22 +69,59 @@ int aes_cbc(char *in, int length_in, char *out, unsigned char *string_key, char unsigned char tmp_after_aes[128+1]; unsigned char cleartext[128+1]; // set the key and bits - AES_set_decrypt_key(string_key, 128, &key); + if(encrypt) + AES_set_encrypt_key(string_key, 128, &key); + else + AES_set_decrypt_key(string_key, 128, &key); memcpy(init_vector, iv, 16); // implement cbc mode for(i=0;i