X-Git-Url: http://www.wagner.pp.ru/gitweb/?p=openssl-gost%2Fengine.git;a=blobdiff_plain;f=gost89.c;h=c103e72844cda6ccb4e74b8c892069543e1a0fd5;hp=240bc7ace23418bf6a31229b6455549d870eb62c;hb=HEAD;hpb=fcca1ab049978ae66a3dfeff5e4704fa8127095e diff --git a/gost89.c b/gost89.c index 240bc7a..c103e72 100644 --- a/gost89.c +++ b/gost89.c @@ -768,20 +768,11 @@ void cryptopro_key_meshing(gost_ctx * ctx, unsigned char *iv) void acpkm_magma_key_meshing(gost_ctx * ctx) { unsigned char newkey[32]; - int i, j; - + int i; for (i = 0; i < 4; i++) { - unsigned char buf[8], keybuf[8]; - for (j = 0; j < 8; j++) { - buf[j] = ACPKM_D_const[8 * i + 7 - j]; - } - gostcrypt(ctx, buf, keybuf); - memcpy(newkey + 8 * i, keybuf + 4, 4); - memcpy(newkey + 8 * i + 4, keybuf, 4); - OPENSSL_cleanse(keybuf, sizeof(keybuf)); - OPENSSL_cleanse(buf, sizeof(buf)); + magmacrypt(ctx, ACPKM_D_const + 8 * i, newkey + 8 * i); } /* set new key */ - gost_key(ctx, newkey); + magma_key(ctx, newkey); OPENSSL_cleanse(newkey, sizeof(newkey)); }