aboutsummaryrefslogtreecommitdiff
path: root/test/sca
diff options
context:
space:
mode:
authorJ08nY2024-04-04 11:15:24 +0200
committerJ08nY2024-04-04 11:16:11 +0200
commit010a328a553d92dead6ee8a93498b876d7ba953f (patch)
tree7847ba416830f789403a1cc47abc1f0bda0250e3 /test/sca
parent379e8634459ee27af4bd5ef22d0f36abc3db387a (diff)
downloadpyecsca-010a328a553d92dead6ee8a93498b876d7ba953f.tar.gz
pyecsca-010a328a553d92dead6ee8a93498b876d7ba953f.tar.zst
pyecsca-010a328a553d92dead6ee8a93498b876d7ba953f.zip
Diffstat (limited to 'test/sca')
-rw-r--r--test/sca/test_rpa.py37
1 files changed, 32 insertions, 5 deletions
diff --git a/test/sca/test_rpa.py b/test/sca/test_rpa.py
index 314bc4a..43f4183 100644
--- a/test/sca/test_rpa.py
+++ b/test/sca/test_rpa.py
@@ -95,24 +95,41 @@ def test_distinguish(secp128r1, add, dbl, neg):
BinaryNAFMultiplier(
add, dbl, neg, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
),
+ BinaryNAFMultiplier(
+ add, dbl, neg, None, ProcessingDirection.RTL, AccumulationOrder.PeqPR, True
+ ),
WindowNAFMultiplier(
add, dbl, neg, 3, None, AccumulationOrder.PeqPR, True, True
),
WindowNAFMultiplier(
add, dbl, neg, 4, None, AccumulationOrder.PeqPR, True, True
),
- WindowBoothMultiplier(
- add, dbl, neg, 4, None, AccumulationOrder.PeqPR, True, True
+ WindowNAFMultiplier(
+ add, dbl, neg, 5, None, AccumulationOrder.PeqPR, True, True
),
- # WindowNAFMultiplier(add, dbl, neg, 4, None, AccumulationOrder.PeqPR, False, True),
SlidingWindowMultiplier(
add, dbl, 3, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
),
SlidingWindowMultiplier(
+ add, dbl, 4, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
+ ),
+ SlidingWindowMultiplier(
add, dbl, 5, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
),
+ SlidingWindowMultiplier(
+ add, dbl, 3, None, ProcessingDirection.RTL, AccumulationOrder.PeqPR, True
+ ),
+ SlidingWindowMultiplier(
+ add, dbl, 4, None, ProcessingDirection.RTL, AccumulationOrder.PeqPR, True
+ ),
+ SlidingWindowMultiplier(
+ add, dbl, 5, None, ProcessingDirection.RTL, AccumulationOrder.PeqPR, True
+ ),
+ FixedWindowLTRMultiplier(add, dbl, 3, None, AccumulationOrder.PeqPR, True),
FixedWindowLTRMultiplier(add, dbl, 4, None, AccumulationOrder.PeqPR, True),
FixedWindowLTRMultiplier(add, dbl, 5, None, AccumulationOrder.PeqPR, True),
+ FixedWindowLTRMultiplier(add, dbl, 8, None, AccumulationOrder.PeqPR, True),
+ FixedWindowLTRMultiplier(add, dbl, 16, None, AccumulationOrder.PeqPR, True),
FullPrecompMultiplier(
add,
dbl,
@@ -133,14 +150,21 @@ def test_distinguish(secp128r1, add, dbl, neg):
True,
True,
),
- # FullPrecompMultiplier(add, dbl, None, False, ProcessingDirection.RTL, AccumulationOrder.PeqPR, True, True),
+ BGMWMultiplier(
+ add, dbl, 2, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
+ ),
BGMWMultiplier(
add, dbl, 3, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
),
BGMWMultiplier(
+ add, dbl, 4, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
+ ),
+ BGMWMultiplier(
add, dbl, 5, None, ProcessingDirection.LTR, AccumulationOrder.PeqPR, True
),
+ CombMultiplier(add, dbl, 2, None, AccumulationOrder.PeqPR, True),
CombMultiplier(add, dbl, 3, None, AccumulationOrder.PeqPR, True),
+ CombMultiplier(add, dbl, 4, None, AccumulationOrder.PeqPR, True),
CombMultiplier(add, dbl, 5, None, AccumulationOrder.PeqPR, True),
]
for real_mult in multipliers:
@@ -152,9 +176,12 @@ def test_distinguish(secp128r1, add, dbl, neg):
with local(MultipleContext()) as ctx:
real_mult.init(secp128r1, point)
real_mult.multiply(scalar)
- return any(map(lambda P: P.X == 0 or P.Y == 0, sum(ctx.parents.values(), [])))
+ return any(
+ map(lambda P: P.X == 0 or P.Y == 0, sum(ctx.parents.values(), []))
+ )
with redirect_stdout(io.StringIO()):
result = rpa_distinguish(secp128r1, multipliers, simulated_oracle)
+ assert real_mult in result
assert 1 == len(result)
assert real_mult == result.pop()