Skip to content

Commit

Permalink
more exports for banderwagon scalar mul
Browse files Browse the repository at this point in the history
  • Loading branch information
Richa-iitr committed Oct 22, 2024
1 parent 2003342 commit b283079
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 5 deletions.
26 changes: 21 additions & 5 deletions bindings/c_curve_decls.nim
Original file line number Diff line number Diff line change
Expand Up @@ -519,15 +519,31 @@ template genBindings_EC_TwEdw_Projective*(EC, EcAff, ScalarBig, ScalarField: unt
func `ctt _ EC _ batch_affine`(dst: ptr UncheckedArray[EcAff], src: ptr UncheckedArray[EC], n: csize_t) =
dst.batchAffine(src, cast[int](n))

func `ctt _ EC _ scalar_mul_big_coef`(
P: var EC, scalar: ScalarBig) =
func `ctt _ EC _ scalar_mul_big_coef`(P: var EC, scalar: ScalarBig) =
P.scalarMul(scalar)

func `ctt _ EC _ scalar_mul_fr_coef`(P: var EC, scalar: ScalarField) =
P.scalarMul(scalar)

func `ctt _ EC _ scalar_mul_fr_coef`(
P: var EC, scalar: ScalarField) =
func `ctt _ EC _ scalar_mul_big_coef_vartime`(P: var EC, scalar: ScalarBig) =
P.scalarMul_vartime(scalar)

P.scalarMul(scalar)
func `ctt _ EC _ scalar_mul_fr_coef_vartime`(P: var EC, scalar: ScalarField) =
P.scalarMul_vartime(scalar)

func `ctt _ EC _ multi_scalar_mul_big_coefs_vartime`(
r: var EC,
coefs: ptr UncheckedArray[ScalarBig],
points: ptr UncheckedArray[EcAff],
len: csize_t) =
r.multiScalarMul_vartime(coefs, points, cast[int](len))

func `ctt _ EC _ multi_scalar_mul_fr_coefs_vartime`(
r: var EC,
coefs: ptr UncheckedArray[ScalarField],
points: ptr UncheckedArray[EcAff],
len: csize_t)=
r.multiScalarMul_vartime(coefs, points, cast[int](len))

{.pop.}

Expand Down
1 change: 1 addition & 0 deletions constantine/lowlevel_elliptic_curves.nim
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ export ec_twistededwards.`-=`
export ec_twistededwards.affine
export ec_twistededwards.projective
export ec_twistededwards.fromAffine
export ec_twistededwards.batchAffine
export ec_twistededwards.sum_vartime
export ec_twistededwards.mixedSum_vartime
export ec_twistededwards.diff_vartime
Expand Down
7 changes: 7 additions & 0 deletions include/constantine/curves/banderwagon.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,13 @@ void ctt_banderwagon_ec_prj_diff_in_place(banderwagon_ec_prj* P, const banderwag
void ctt_banderwagon_ec_prj_mixed_diff_in_place(banderwagon_ec_prj* P, const banderwagon_ec_aff* Q);
void ctt_banderwagon_ec_prj_affine(banderwagon_ec_aff* dst, const banderwagon_ec_prj* src);
void ctt_banderwagon_ec_prj_from_affine(banderwagon_ec_prj* dst, const banderwagon_ec_aff* src);
void ctt_banderwagon_ec_prj_batch_affine(const banderwagon_ec_aff dst[], const banderwagon_ec_prj src[], size_t n);
void ctt_banderwagon_ec_prj_scalar_mul_big_coef(banderwagon_ec_prj* P, const big253* scalar);
void ctt_banderwagon_ec_prj_scalar_mul_fr_coef(banderwagon_ec_prj* P, const banderwagon_fr* scalar);
void ctt_banderwagon_ec_prj_scalar_mul_big_coef_vartime(banderwagon_ec_prj* P, const big253* scalar);
void ctt_banderwagon_ec_prj_scalar_mul_fr_coef_vartime(banderwagon_ec_prj* P, const banderwagon_fr* scalar);
void ctt_banderwagon_ec_prj_multi_scalar_mul_big_coefs_vartime(banderwagon_ec_prj* r, const big253 coefs[], const banderwagon_ec_aff points[], size_t len);
void ctt_banderwagon_ec_prj_multi_scalar_mul_fr_coefs_vartime(banderwagon_ec_prj* r, const banderwagon_fr coefs[], const banderwagon_ec_aff points[], size_t len);

#ifdef __cplusplus
}
Expand Down

0 comments on commit b283079

Please sign in to comment.