X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=bcal-cfb_bit.c;h=2611b658ecca3bb04051a7cfd50fcb621a9ece8f;hp=6f373c9a35aa62458bc80c0aad960ae3ec7cda5f;hb=8abb80e1fe152be6d95d3fa2967789ba3238d695;hpb=3790ef3b40efb6649a517144f3089aba564ca541 diff --git a/bcal-cfb_bit.c b/bcal-cfb_bit.c index 6f373c9..2611b65 100644 --- a/bcal-cfb_bit.c +++ b/bcal-cfb_bit.c @@ -40,7 +40,7 @@ static void write_bit(void* block, uint32_t index, uint8_t value){ } } -uint8_t bcal_cfb_b_init(const bcdesc_t* desc, const void* key, uint16_t keysize, uint16_t size_b, bcal_cfb_b_ctx_t* ctx){ +uint8_t bcal_cfb_b_init(const bcdesc_t* desc, const void* key, uint16_t keysize_b, uint16_t size_b, bcal_cfb_b_ctx_t* ctx){ ctx->desc = (bcdesc_t*)desc; ctx->blocksize_B = (bcal_cipher_getBlocksize_b(desc)+7)/8; ctx->in_block=malloc(ctx->blocksize_B); @@ -51,7 +51,7 @@ uint8_t bcal_cfb_b_init(const bcdesc_t* desc, const void* key, uint16_t keysize, return 0x12; } ctx->size_b = size_b; - return bcal_cipher_init(desc, key, keysize, &(ctx->cctx)); + return bcal_cipher_init(desc, key, keysize_b, &(ctx->cctx)); } void bcal_cfb_b_free(bcal_cfb_b_ctx_t* ctx){ @@ -60,7 +60,9 @@ void bcal_cfb_b_free(bcal_cfb_b_ctx_t* ctx){ } void bcal_cfb_b_loadIV(const void* iv, bcal_cfb_b_ctx_t* ctx){ - memcpy(ctx->in_block, iv, ctx->blocksize_B); + if(iv){ + memcpy(ctx->in_block, iv, ctx->blocksize_B); + } } void bcal_cfb_b_encNext(void* block, uint8_t offset, bcal_cfb_b_ctx_t* ctx){