aboutsummaryrefslogtreecommitdiff
path: root/gost_ec_keyx.c
diff options
context:
space:
mode:
authorBilly Brumley <bbrumley@gmail.com>2021-08-09 22:57:47 +0300
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>2021-08-11 16:51:34 +0300
commitc5ec3860a0c95a74ee98210e0ac174924866dab1 (patch)
treeef3133f7c2ad1e29d1acd3d6c6b23a9c9ba59881 /gost_ec_keyx.c
parent949e0de6bf5c9c75f18924f062cf505eea796361 (diff)
downloadgost-engine-c5ec3860a0c95a74ee98210e0ac174924866dab1.zip
gost-engine-c5ec3860a0c95a74ee98210e0ac174924866dab1.tar.gz
gost-engine-c5ec3860a0c95a74ee98210e0ac174924866dab1.tar.bz2
push VKO cofactor clearing into ECCKiila
Diffstat (limited to 'gost_ec_keyx.c')
-rw-r--r--gost_ec_keyx.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gost_ec_keyx.c b/gost_ec_keyx.c
index 40cad2b..06835d3 100644
--- a/gost_ec_keyx.c
+++ b/gost_ec_keyx.c
@@ -62,7 +62,12 @@ int VKO_compute_key(unsigned char *shared_key,
EC_GROUP_get0_order(grp), ctx))
goto err;
- /* these two curves have cofactor 4; the rest have cofactor 1 */
+#if 0
+ /*-
+ * These two curves have cofactor 4; the rest have cofactor 1.
+ * But currently gost_ec_point_mul takes care of the cofactor clearing,
+ * hence this code is not needed.
+ */
switch (EC_GROUP_get_curve_name(grp)) {
case NID_id_tc26_gost_3410_2012_256_paramSetA:
case NID_id_tc26_gost_3410_2012_512_paramSetC:
@@ -70,6 +75,7 @@ int VKO_compute_key(unsigned char *shared_key,
goto err;
break;
}
+#endif
if (!gost_ec_point_mul(grp, pnt, NULL, pub_key, scalar, ctx)) {
GOSTerr(GOST_F_VKO_COMPUTE_KEY, GOST_R_ERROR_POINT_MUL);