diff --git a/crypto/aes/aes-file-encrypt.c b/crypto/aes/aes-file-encrypt.c index 7367583b..1da8f4ed 100644 --- a/crypto/aes/aes-file-encrypt.c +++ b/crypto/aes/aes-file-encrypt.c @@ -119,10 +119,19 @@ int AesEncrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1040; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1001; + } + /* sets key */ ret = wc_AesSetKey(aes, key, size, iv, AES_ENCRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1001; + } /* encrypts the message to the output based on input length + padding */ ret = wc_AesCbcEncrypt(aes, output, input, length); @@ -195,10 +204,19 @@ int AesDecrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1050; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1001; + } + /* sets key */ ret = wc_AesSetKey(aes, key, size, iv, AES_DECRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1002; + } /* change length to remove salt/iv block from being decrypted */ length -= (AES_BLOCK_SIZE + SALT_SIZE); diff --git a/crypto/aes/aescfb-file-encrypt.c b/crypto/aes/aescfb-file-encrypt.c index 28f2d475..5c173687 100644 --- a/crypto/aes/aescfb-file-encrypt.c +++ b/crypto/aes/aescfb-file-encrypt.c @@ -112,10 +112,19 @@ int AesEncrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1040; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1001; + } + /* sets key */ ret = wc_AesSetKey(aes, key, size, iv, AES_ENCRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1001; + } /* encrypts the message to the output based on input length + padding */ ret = wc_AesCfbEncrypt(aes, output, input, length); @@ -188,11 +197,20 @@ int AesDecrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1050; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1002; + } + /* sets key */ /* decrypt uses AES_ENCRYPTION */ ret = wc_AesSetKey(aes, key, size, iv, AES_ENCRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1002; + } /* change length to remove salt/iv block from being decrypted */ length -= (AES_BLOCK_SIZE + SALT_SIZE); diff --git a/crypto/aes/aesctr-file-encrypt.c b/crypto/aes/aesctr-file-encrypt.c index 67bcfe41..366d694e 100644 --- a/crypto/aes/aesctr-file-encrypt.c +++ b/crypto/aes/aesctr-file-encrypt.c @@ -95,10 +95,19 @@ int AesCtrEncrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1040; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1001; + } + /* sets key */ ret = wc_AesSetKey(aes, key, size, iv, AES_ENCRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1001; + } /* encrypts the message to the output based on input length + padding */ ret = wc_AesCtrEncrypt(aes, output, input, length); @@ -164,11 +173,20 @@ int AesCtrDecrypt(Aes* aes, byte* key, int size, FILE* inFile, FILE* outFile) if (ret != 0) return -1050; + /* inits aes structure */ + ret = wc_AesInit(aes, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + return -1002; + } + /* sets key */ /* decrypt uses AES_ENCRYPTION */ ret = wc_AesSetKey(aes, key, size, iv, AES_ENCRYPTION); - if (ret != 0) + if (ret != 0) { + printf("SetKey returned: %d\n", ret); return -1002; + } ret = wc_AesCtrEncrypt(aes, output, c, cSz); if (ret != 0) diff --git a/crypto/aes/aesgcm-file-encrypt.c b/crypto/aes/aesgcm-file-encrypt.c index 21927180..f877dad8 100644 --- a/crypto/aes/aesgcm-file-encrypt.c +++ b/crypto/aes/aesgcm-file-encrypt.c @@ -235,6 +235,13 @@ int encrypt_file_AesGCM(const char *in_file, const char *out_file, strncpy((char *)iv, iv_str, AES_IV_SIZE); strncpy((char *)key, key_str, AES_KEY_SIZE); + /* inits aes structure */ + ret = wc_AesInit(&gcm, NULL, INVALID_DEVID); + if (ret != 0) { + printf("AesInit returned: %d\n", ret); + goto exit; + } + ret = wc_AesGcmEncryptInit(&gcm, key, AES_KEY_SIZE, iv, AES_IV_SIZE); if (ret == 0) { /* Write magic label in the beginning of the cipher file */