Skip to content

Commit 1e6209e

Browse files
committed
Fix Camellia key size in encrypt/decrypt
wc_CamelliaSetKey was passed `block` (cipher block size, always 16) instead of `size` (actual key size). This caused camellia-192 and camellia-256 to use only 16 bytes of the key, producing incorrect output. camellia-128 was unaffected since block == size == 16.
1 parent bcd3742 commit 1e6209e

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

src/crypto/clu_decrypt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ int wolfCLU_decrypt(int alg, char* mode, byte* pwdKey, byte* key, int size,
172172
(alg == WOLFCLU_CAMELLIA128CBC ||
173173
alg == WOLFCLU_CAMELLIA192CBC ||
174174
alg == WOLFCLU_CAMELLIA256CBC)) {
175-
ret = wc_CamelliaSetKey(&camellia, key, block, iv);
175+
ret = wc_CamelliaSetKey(&camellia, key, size, iv);
176176
if (ret == 0) {
177177
wc_CamelliaCbcDecrypt(&camellia, output, input, tempMax);
178178
}

src/crypto/clu_encrypt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ int wolfCLU_encrypt(int alg, char* mode, byte* pwdKey, byte* key, int size,
218218
#ifdef HAVE_CAMELLIA
219219
if (alg == WOLFCLU_CAMELLIA128CBC || alg == WOLFCLU_CAMELLIA192CBC ||
220220
alg == WOLFCLU_CAMELLIA256CBC) {
221-
ret = wc_CamelliaSetKey(&camellia, key, block, iv);
221+
ret = wc_CamelliaSetKey(&camellia, key, size, iv);
222222
if (ret != 0) {
223223
XFCLOSE(inFile);
224224
wolfCLU_LogError("CamelliaSetKey failed.");

0 commit comments

Comments
 (0)