From 522d646c34f702492a1f8d8f87a1daecdeeb6df4 Mon Sep 17 00:00:00 2001 From: J08nY Date: Thu, 5 Oct 2023 15:35:47 +0200 Subject: Fix montgomery reduction. --- pyecsca/codegen/bn/bn.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pyecsca/codegen') 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 -- cgit v1.3.1