From 49ea01816d5e4acaa8996da04072936206bbb58f Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 19 Mar 2025 15:57:04 +0100 Subject: Add Brumley & Tuveri countermeasure. --- test/ec/test_countermeasures.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'test/ec') diff --git a/test/ec/test_countermeasures.py b/test/ec/test_countermeasures.py index 8a572e8..3cd5461 100644 --- a/test/ec/test_countermeasures.py +++ b/test/ec/test_countermeasures.py @@ -7,7 +7,7 @@ from pyecsca.ec.countermeasures import ( GroupScalarRandomization, AdditiveSplitting, MultiplicativeSplitting, - EuclideanSplitting, + EuclideanSplitting, BrumleyTuveri, ) from pyecsca.ec.mult import * @@ -219,3 +219,22 @@ def test_euclidean_splitting(mults, secp128r1, num): esplit.init(secp128r1, secp128r1.generator) masked = esplit.multiply(num) assert raw.equals(masked) + + +@pytest.mark.parametrize( + "num", + [ + 3253857902090173296443513219124437746, + 1234567893141592653589793238464338327, + ], +) +def test_brumley_tuveri(mults, secp128r1, num): + mult = copy(mults[0]) + mult.init(secp128r1, secp128r1.generator) + raw = mult.multiply(num) + + for mult in mults: + bt = BrumleyTuveri(mult) + bt.init(secp128r1, secp128r1.generator) + masked = bt.multiply(num) + assert raw.equals(masked) -- cgit v1.3.1