diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/gost/gost89_keywrap.c | 25 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gost_locl.h | 31 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_pmeth.c | 6 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gost89_keywrap.c | 25 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gost_locl.h | 31 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c | 6 |
6 files changed, 64 insertions, 60 deletions
diff --git a/src/lib/libcrypto/gost/gost89_keywrap.c b/src/lib/libcrypto/gost/gost89_keywrap.c index 8f641b6cef..fa7698d3f7 100644 --- a/src/lib/libcrypto/gost/gost89_keywrap.c +++ b/src/lib/libcrypto/gost/gost89_keywrap.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gost89_keywrap.c,v 1.1 2014/11/09 19:17:13 miod Exp $ */ | 1 | /* $OpenBSD: gost89_keywrap.c,v 1.2 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -59,14 +59,15 @@ | |||
| 59 | 59 | ||
| 60 | #include "gost_locl.h" | 60 | #include "gost_locl.h" |
| 61 | 61 | ||
| 62 | static void key_diversify_crypto_pro(GOST2814789_KEY * ctx, const unsigned char *inputKey, | 62 | static void |
| 63 | const unsigned char *ukm, unsigned char *outputKey) | 63 | key_diversify_crypto_pro(GOST2814789_KEY *ctx, const unsigned char *inputKey, |
| 64 | const unsigned char *ukm, unsigned char *outputKey) | ||
| 64 | { | 65 | { |
| 65 | |||
| 66 | unsigned long k, s1, s2; | 66 | unsigned long k, s1, s2; |
| 67 | int i, mask; | 67 | int i, mask; |
| 68 | unsigned char S[8]; | 68 | unsigned char S[8]; |
| 69 | unsigned char *p; | 69 | unsigned char *p; |
| 70 | |||
| 70 | memcpy(outputKey, inputKey, 32); | 71 | memcpy(outputKey, inputKey, 32); |
| 71 | for (i = 0; i < 8; i++) { | 72 | for (i = 0; i < 8; i++) { |
| 72 | /* Make array of integers from key */ | 73 | /* Make array of integers from key */ |
| @@ -86,13 +87,15 @@ static void key_diversify_crypto_pro(GOST2814789_KEY * ctx, const unsigned char | |||
| 86 | l2c (s2, p); | 87 | l2c (s2, p); |
| 87 | Gost2814789_set_key(ctx, outputKey, 256); | 88 | Gost2814789_set_key(ctx, outputKey, 256); |
| 88 | mask = 0; | 89 | mask = 0; |
| 89 | Gost2814789_cfb64_encrypt(outputKey, outputKey, 32, ctx, S, &mask, 1); | 90 | Gost2814789_cfb64_encrypt(outputKey, outputKey, 32, ctx, S, |
| 91 | &mask, 1); | ||
| 90 | } | 92 | } |
| 91 | } | 93 | } |
| 92 | 94 | ||
| 93 | int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 95 | int |
| 94 | const unsigned char *ukm, const unsigned char *sessionKey, | 96 | gost_key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, |
| 95 | unsigned char *wrappedKey) | 97 | const unsigned char *ukm, const unsigned char *sessionKey, |
| 98 | unsigned char *wrappedKey) | ||
| 96 | { | 99 | { |
| 97 | GOST2814789_KEY ctx; | 100 | GOST2814789_KEY ctx; |
| 98 | unsigned char kek_ukm[32]; | 101 | unsigned char kek_ukm[32]; |
| @@ -109,9 +112,9 @@ int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | |||
| 109 | return 1; | 112 | return 1; |
| 110 | } | 113 | } |
| 111 | 114 | ||
| 112 | int key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 115 | int |
| 113 | const unsigned char *wrappedKey, | 116 | gost_key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, |
| 114 | unsigned char *sessionKey) | 117 | const unsigned char *wrappedKey, unsigned char *sessionKey) |
| 115 | { | 118 | { |
| 116 | unsigned char kek_ukm[32], cek_mac[4]; | 119 | unsigned char kek_ukm[32], cek_mac[4]; |
| 117 | GOST2814789_KEY ctx; | 120 | GOST2814789_KEY ctx; |
diff --git a/src/lib/libcrypto/gost/gost_locl.h b/src/lib/libcrypto/gost/gost_locl.h index b616005dc5..202ba39688 100644 --- a/src/lib/libcrypto/gost/gost_locl.h +++ b/src/lib/libcrypto/gost/gost_locl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gost_locl.h,v 1.1 2014/11/09 19:17:13 miod Exp $ */ | 1 | /* $OpenBSD: gost_locl.h,v 1.2 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -88,22 +88,21 @@ extern void Gost2814789_decrypt(const unsigned char *in, unsigned char *out, | |||
| 88 | extern void Gost2814789_cryptopro_key_mesh(GOST2814789_KEY *key); | 88 | extern void Gost2814789_cryptopro_key_mesh(GOST2814789_KEY *key); |
| 89 | 89 | ||
| 90 | /* GOST 28147-89 key wrapping */ | 90 | /* GOST 28147-89 key wrapping */ |
| 91 | extern int key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 91 | extern int gost_key_unwrap_crypto_pro(int nid, |
| 92 | const unsigned char *wrappedKey, | 92 | const unsigned char *keyExchangeKey, const unsigned char *wrappedKey, |
| 93 | unsigned char *sessionKey); | 93 | unsigned char *sessionKey); |
| 94 | extern int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 94 | extern int gost_key_wrap_crypto_pro(int nid, |
| 95 | const unsigned char *ukm, const unsigned char *sessionKey, | 95 | const unsigned char *keyExchangeKey, const unsigned char *ukm, |
| 96 | unsigned char *wrappedKey); | 96 | const unsigned char *sessionKey, unsigned char *wrappedKey); |
| 97 | /* Pkey part */ | 97 | /* Pkey part */ |
| 98 | extern int gost2001_compute_public(GOST_KEY * ec); | 98 | extern int gost2001_compute_public(GOST_KEY *ec); |
| 99 | extern ECDSA_SIG *gost2001_do_sign(BIGNUM * md, GOST_KEY * eckey); | 99 | extern ECDSA_SIG *gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey); |
| 100 | extern int gost2001_do_verify(BIGNUM * md, ECDSA_SIG * sig, GOST_KEY * ec); | 100 | extern int gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec); |
| 101 | extern int gost2001_keygen(GOST_KEY * ec); | 101 | extern int gost2001_keygen(GOST_KEY *ec); |
| 102 | extern void VKO_compute_key(BIGNUM * X, BIGNUM * Y, | 102 | extern void VKO_compute_key(BIGNUM *X, BIGNUM *Y, const GOST_KEY *pkey, |
| 103 | const GOST_KEY * pkey, GOST_KEY * priv_key, | 103 | GOST_KEY *priv_key, const BIGNUM *ukm); |
| 104 | const BIGNUM * ukm); | 104 | extern BIGNUM *GOST_le2bn(const unsigned char *buf, size_t len, BIGNUM *bn); |
| 105 | extern BIGNUM *GOST_le2bn(const unsigned char * buf, size_t len, BIGNUM * bn); | 105 | extern int GOST_bn2le(BIGNUM *bn, unsigned char *buf, int len); |
| 106 | extern int GOST_bn2le(BIGNUM * bn, unsigned char * buf, int len); | ||
| 107 | 106 | ||
| 108 | /* GOST R 34.10 parameters */ | 107 | /* GOST R 34.10 parameters */ |
| 109 | extern int GostR3410_get_md_digest(int nid); | 108 | extern int GostR3410_get_md_digest(int nid); |
diff --git a/src/lib/libcrypto/gost/gostr341001_pmeth.c b/src/lib/libcrypto/gost/gostr341001_pmeth.c index 910c0b9c45..c7001fc1fa 100644 --- a/src/lib/libcrypto/gost/gostr341001_pmeth.c +++ b/src/lib/libcrypto/gost/gostr341001_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.2 2014/11/09 19:24:30 miod Exp $ */ | 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.3 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -396,7 +396,7 @@ int pkey_gost01_decrypt(EVP_PKEY_CTX * pctx, unsigned char *key, | |||
| 396 | OPENSSL_assert(gkt->key_info->imit->length == 4); | 396 | OPENSSL_assert(gkt->key_info->imit->length == 4); |
| 397 | memcpy(wrappedKey + 40, gkt->key_info->imit->data, 4); | 397 | memcpy(wrappedKey + 40, gkt->key_info->imit->data, 4); |
| 398 | gost01_VKO_key(peerkey, priv, wrappedKey, sharedKey); | 398 | gost01_VKO_key(peerkey, priv, wrappedKey, sharedKey); |
| 399 | if (!key_unwrap_crypto_pro(nid, sharedKey, wrappedKey, key)) { | 399 | if (!gost_key_unwrap_crypto_pro(nid, sharedKey, wrappedKey, key)) { |
| 400 | GOSTerr(GOST_F_PKEY_GOST01_DECRYPT, | 400 | GOSTerr(GOST_F_PKEY_GOST01_DECRYPT, |
| 401 | GOST_R_ERROR_COMPUTING_SHARED_KEY); | 401 | GOST_R_ERROR_COMPUTING_SHARED_KEY); |
| 402 | goto err; | 402 | goto err; |
| @@ -478,7 +478,7 @@ int pkey_gost01_encrypt(EVP_PKEY_CTX * pctx, unsigned char *out, | |||
| 478 | 478 | ||
| 479 | if (out) { | 479 | if (out) { |
| 480 | gost01_VKO_key(pubk, sec_key, ukm, shared_key); | 480 | gost01_VKO_key(pubk, sec_key, ukm, shared_key); |
| 481 | key_wrap_crypto_pro(nid, shared_key, ukm, key, crypted_key); | 481 | gost_key_wrap_crypto_pro(nid, shared_key, ukm, key, crypted_key); |
| 482 | } | 482 | } |
| 483 | gkt = GOST_KEY_TRANSPORT_new(); | 483 | gkt = GOST_KEY_TRANSPORT_new(); |
| 484 | if (!gkt) { | 484 | if (!gkt) { |
diff --git a/src/lib/libssl/src/crypto/gost/gost89_keywrap.c b/src/lib/libssl/src/crypto/gost/gost89_keywrap.c index 8f641b6cef..fa7698d3f7 100644 --- a/src/lib/libssl/src/crypto/gost/gost89_keywrap.c +++ b/src/lib/libssl/src/crypto/gost/gost89_keywrap.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gost89_keywrap.c,v 1.1 2014/11/09 19:17:13 miod Exp $ */ | 1 | /* $OpenBSD: gost89_keywrap.c,v 1.2 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -59,14 +59,15 @@ | |||
| 59 | 59 | ||
| 60 | #include "gost_locl.h" | 60 | #include "gost_locl.h" |
| 61 | 61 | ||
| 62 | static void key_diversify_crypto_pro(GOST2814789_KEY * ctx, const unsigned char *inputKey, | 62 | static void |
| 63 | const unsigned char *ukm, unsigned char *outputKey) | 63 | key_diversify_crypto_pro(GOST2814789_KEY *ctx, const unsigned char *inputKey, |
| 64 | const unsigned char *ukm, unsigned char *outputKey) | ||
| 64 | { | 65 | { |
| 65 | |||
| 66 | unsigned long k, s1, s2; | 66 | unsigned long k, s1, s2; |
| 67 | int i, mask; | 67 | int i, mask; |
| 68 | unsigned char S[8]; | 68 | unsigned char S[8]; |
| 69 | unsigned char *p; | 69 | unsigned char *p; |
| 70 | |||
| 70 | memcpy(outputKey, inputKey, 32); | 71 | memcpy(outputKey, inputKey, 32); |
| 71 | for (i = 0; i < 8; i++) { | 72 | for (i = 0; i < 8; i++) { |
| 72 | /* Make array of integers from key */ | 73 | /* Make array of integers from key */ |
| @@ -86,13 +87,15 @@ static void key_diversify_crypto_pro(GOST2814789_KEY * ctx, const unsigned char | |||
| 86 | l2c (s2, p); | 87 | l2c (s2, p); |
| 87 | Gost2814789_set_key(ctx, outputKey, 256); | 88 | Gost2814789_set_key(ctx, outputKey, 256); |
| 88 | mask = 0; | 89 | mask = 0; |
| 89 | Gost2814789_cfb64_encrypt(outputKey, outputKey, 32, ctx, S, &mask, 1); | 90 | Gost2814789_cfb64_encrypt(outputKey, outputKey, 32, ctx, S, |
| 91 | &mask, 1); | ||
| 90 | } | 92 | } |
| 91 | } | 93 | } |
| 92 | 94 | ||
| 93 | int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 95 | int |
| 94 | const unsigned char *ukm, const unsigned char *sessionKey, | 96 | gost_key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, |
| 95 | unsigned char *wrappedKey) | 97 | const unsigned char *ukm, const unsigned char *sessionKey, |
| 98 | unsigned char *wrappedKey) | ||
| 96 | { | 99 | { |
| 97 | GOST2814789_KEY ctx; | 100 | GOST2814789_KEY ctx; |
| 98 | unsigned char kek_ukm[32]; | 101 | unsigned char kek_ukm[32]; |
| @@ -109,9 +112,9 @@ int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | |||
| 109 | return 1; | 112 | return 1; |
| 110 | } | 113 | } |
| 111 | 114 | ||
| 112 | int key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 115 | int |
| 113 | const unsigned char *wrappedKey, | 116 | gost_key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, |
| 114 | unsigned char *sessionKey) | 117 | const unsigned char *wrappedKey, unsigned char *sessionKey) |
| 115 | { | 118 | { |
| 116 | unsigned char kek_ukm[32], cek_mac[4]; | 119 | unsigned char kek_ukm[32], cek_mac[4]; |
| 117 | GOST2814789_KEY ctx; | 120 | GOST2814789_KEY ctx; |
diff --git a/src/lib/libssl/src/crypto/gost/gost_locl.h b/src/lib/libssl/src/crypto/gost/gost_locl.h index b616005dc5..202ba39688 100644 --- a/src/lib/libssl/src/crypto/gost/gost_locl.h +++ b/src/lib/libssl/src/crypto/gost/gost_locl.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gost_locl.h,v 1.1 2014/11/09 19:17:13 miod Exp $ */ | 1 | /* $OpenBSD: gost_locl.h,v 1.2 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -88,22 +88,21 @@ extern void Gost2814789_decrypt(const unsigned char *in, unsigned char *out, | |||
| 88 | extern void Gost2814789_cryptopro_key_mesh(GOST2814789_KEY *key); | 88 | extern void Gost2814789_cryptopro_key_mesh(GOST2814789_KEY *key); |
| 89 | 89 | ||
| 90 | /* GOST 28147-89 key wrapping */ | 90 | /* GOST 28147-89 key wrapping */ |
| 91 | extern int key_unwrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 91 | extern int gost_key_unwrap_crypto_pro(int nid, |
| 92 | const unsigned char *wrappedKey, | 92 | const unsigned char *keyExchangeKey, const unsigned char *wrappedKey, |
| 93 | unsigned char *sessionKey); | 93 | unsigned char *sessionKey); |
| 94 | extern int key_wrap_crypto_pro(int nid, const unsigned char *keyExchangeKey, | 94 | extern int gost_key_wrap_crypto_pro(int nid, |
| 95 | const unsigned char *ukm, const unsigned char *sessionKey, | 95 | const unsigned char *keyExchangeKey, const unsigned char *ukm, |
| 96 | unsigned char *wrappedKey); | 96 | const unsigned char *sessionKey, unsigned char *wrappedKey); |
| 97 | /* Pkey part */ | 97 | /* Pkey part */ |
| 98 | extern int gost2001_compute_public(GOST_KEY * ec); | 98 | extern int gost2001_compute_public(GOST_KEY *ec); |
| 99 | extern ECDSA_SIG *gost2001_do_sign(BIGNUM * md, GOST_KEY * eckey); | 99 | extern ECDSA_SIG *gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey); |
| 100 | extern int gost2001_do_verify(BIGNUM * md, ECDSA_SIG * sig, GOST_KEY * ec); | 100 | extern int gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec); |
| 101 | extern int gost2001_keygen(GOST_KEY * ec); | 101 | extern int gost2001_keygen(GOST_KEY *ec); |
| 102 | extern void VKO_compute_key(BIGNUM * X, BIGNUM * Y, | 102 | extern void VKO_compute_key(BIGNUM *X, BIGNUM *Y, const GOST_KEY *pkey, |
| 103 | const GOST_KEY * pkey, GOST_KEY * priv_key, | 103 | GOST_KEY *priv_key, const BIGNUM *ukm); |
| 104 | const BIGNUM * ukm); | 104 | extern BIGNUM *GOST_le2bn(const unsigned char *buf, size_t len, BIGNUM *bn); |
| 105 | extern BIGNUM *GOST_le2bn(const unsigned char * buf, size_t len, BIGNUM * bn); | 105 | extern int GOST_bn2le(BIGNUM *bn, unsigned char *buf, int len); |
| 106 | extern int GOST_bn2le(BIGNUM * bn, unsigned char * buf, int len); | ||
| 107 | 106 | ||
| 108 | /* GOST R 34.10 parameters */ | 107 | /* GOST R 34.10 parameters */ |
| 109 | extern int GostR3410_get_md_digest(int nid); | 108 | extern int GostR3410_get_md_digest(int nid); |
diff --git a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c index 910c0b9c45..c7001fc1fa 100644 --- a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c +++ b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.2 2014/11/09 19:24:30 miod Exp $ */ | 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.3 2014/11/09 19:27:29 miod Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD |
| @@ -396,7 +396,7 @@ int pkey_gost01_decrypt(EVP_PKEY_CTX * pctx, unsigned char *key, | |||
| 396 | OPENSSL_assert(gkt->key_info->imit->length == 4); | 396 | OPENSSL_assert(gkt->key_info->imit->length == 4); |
| 397 | memcpy(wrappedKey + 40, gkt->key_info->imit->data, 4); | 397 | memcpy(wrappedKey + 40, gkt->key_info->imit->data, 4); |
| 398 | gost01_VKO_key(peerkey, priv, wrappedKey, sharedKey); | 398 | gost01_VKO_key(peerkey, priv, wrappedKey, sharedKey); |
| 399 | if (!key_unwrap_crypto_pro(nid, sharedKey, wrappedKey, key)) { | 399 | if (!gost_key_unwrap_crypto_pro(nid, sharedKey, wrappedKey, key)) { |
| 400 | GOSTerr(GOST_F_PKEY_GOST01_DECRYPT, | 400 | GOSTerr(GOST_F_PKEY_GOST01_DECRYPT, |
| 401 | GOST_R_ERROR_COMPUTING_SHARED_KEY); | 401 | GOST_R_ERROR_COMPUTING_SHARED_KEY); |
| 402 | goto err; | 402 | goto err; |
| @@ -478,7 +478,7 @@ int pkey_gost01_encrypt(EVP_PKEY_CTX * pctx, unsigned char *out, | |||
| 478 | 478 | ||
| 479 | if (out) { | 479 | if (out) { |
| 480 | gost01_VKO_key(pubk, sec_key, ukm, shared_key); | 480 | gost01_VKO_key(pubk, sec_key, ukm, shared_key); |
| 481 | key_wrap_crypto_pro(nid, shared_key, ukm, key, crypted_key); | 481 | gost_key_wrap_crypto_pro(nid, shared_key, ukm, key, crypted_key); |
| 482 | } | 482 | } |
| 483 | gkt = GOST_KEY_TRANSPORT_new(); | 483 | gkt = GOST_KEY_TRANSPORT_new(); |
| 484 | if (!gkt) { | 484 | if (!gkt) { |
