aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/codegen
diff options
context:
space:
mode:
authorJ08nY2023-10-05 15:35:47 +0200
committerJ08nY2023-10-05 15:35:47 +0200
commit522d646c34f702492a1f8d8f87a1daecdeeb6df4 (patch)
tree5e569f72d990287fb78258e6ef4127a355d1a792 /pyecsca/codegen
parent30ad1d48422655001c64a6982f7f97208b802df3 (diff)
downloadpyecsca-codegen-522d646c34f702492a1f8d8f87a1daecdeeb6df4.tar.gz
pyecsca-codegen-522d646c34f702492a1f8d8f87a1daecdeeb6df4.tar.zst
pyecsca-codegen-522d646c34f702492a1f8d8f87a1daecdeeb6df4.zip
Fix montgomery reduction.
Diffstat (limited to 'pyecsca/codegen')
-rw-r--r--pyecsca/codegen/bn/bn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pyecsca/codegen/bn/bn.c b/pyecsca/codegen/bn/bn.c
index 13d7134..5e9164a 100644
--- a/pyecsca/codegen/bn/bn.c
+++ b/pyecsca/codegen/bn/bn.c
@@ -166,7 +166,11 @@ bn_err bn_mod(const bn_t *one, const bn_t *mod, bn_t *out) {
bn_err bn_red_init(red_t *out) {
#if REDUCTION == RED_MONTGOMERY
- return bn_init(&out->montgomery_renorm);
+ bn_err err;
+ if ((err = bn_init(&out->montgomery_renorm)) != BN_OKAY) {
+ return err;
+ }
+ return bn_init(&out->montgomery_renorm_sqr);
#elif REDUCTION == RED_BARRETT
return bn_init(&out->barrett);
#endif
@@ -337,6 +341,7 @@ bn_err bn_red_reduce(const bn_t *mod, const red_t *red, bn_t *what) {
void bn_red_clear(red_t *out) {
#if REDUCTION == RED_MONTGOMERY
bn_clear(&out->montgomery_renorm);
+ bn_clear(&out->montgomery_renorm_sqr);
#elif REDUCTION == RED_BARRETT
bn_clear(&out->barrett);
#endif