grasshopper_w128_t *currentInputBlock;
grasshopper_w128_t *currentOutputBlock;
unsigned int n = EVP_CIPHER_CTX_num(ctx);
grasshopper_w128_t *currentInputBlock;
grasshopper_w128_t *currentOutputBlock;
unsigned int n = EVP_CIPHER_CTX_num(ctx);
n = (n + 1) % GRASSHOPPER_BLOCK_SIZE;
}
EVP_CIPHER_CTX_set_num(ctx, n);
n = (n + 1) % GRASSHOPPER_BLOCK_SIZE;
}
EVP_CIPHER_CTX_set_num(ctx, n);
ctr128_inc(iv_buffer->b);
current_in += GRASSHOPPER_BLOCK_SIZE;
current_out += GRASSHOPPER_BLOCK_SIZE;
ctr128_inc(iv_buffer->b);
current_in += GRASSHOPPER_BLOCK_SIZE;
current_out += GRASSHOPPER_BLOCK_SIZE;
if (lasted > 0) {
currentInputBlock = (grasshopper_w128_t *) current_in;
currentOutputBlock = (grasshopper_w128_t *) current_out;
if (lasted > 0) {
currentInputBlock = (grasshopper_w128_t *) current_in;
currentOutputBlock = (grasshopper_w128_t *) current_out;
return gost2015_final_call(ctx, c->omac_ctx, KUZNYECHIK_MAC_MAX_SIZE, c->tag, gost_grasshopper_cipher_do_ctracpkm);
}
return gost2015_final_call(ctx, c->omac_ctx, KUZNYECHIK_MAC_MAX_SIZE, c->tag, gost_grasshopper_cipher_do_ctracpkm);
}
result = gost_grasshopper_cipher_do_ctracpkm(ctx, out, in, inl);
/* As in and out can be the same pointer, process decrypted here */
result = gost_grasshopper_cipher_do_ctracpkm(ctx, out, in, inl);
/* As in and out can be the same pointer, process decrypted here */