X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_keywrap.c;h=a2134c2e3f9180b455fbf310e5b4c3444cb75e85;hb=0906436e33bdd8dabf07d494e3d6d5184cc02246;hp=502a83c62d53e2638f5eb2a4198dc7d785119258;hpb=c98ba9d03213d0c63d6874539d59f7b55fbc3fae;p=openssl-gost%2Fengine.git diff --git a/gost_keywrap.c b/gost_keywrap.c index 502a83c..a2134c2 100644 --- a/gost_keywrap.c +++ b/gost_keywrap.c @@ -23,16 +23,17 @@ void keyDiversifyCryptoPro(gost_ctx * ctx, const unsigned char *inputKey, const unsigned char *ukm, unsigned char *outputKey) { - - u4 k, s1, s2; - int i, j, mask; - unsigned char S[8]; + int i; memcpy(outputKey, inputKey, 32); for (i = 0; i < 8; i++) { + u4 s1 = 0; + u4 s2 = 0; + int j, mask; + unsigned char S[8]; /* Make array of integers from key */ /* Compute IV S */ - s1 = 0, s2 = 0; for (j = 0, mask = 1; j < 8; j++, mask <<= 1) { + u4 k; k = ((u4) outputKey[4 * j]) | (outputKey[4 * j + 1] << 8) | (outputKey[4 * j + 2] << 16) | (outputKey[4 * j + 3] << 24); if (mask & ukm[i]) {