diff options
Diffstat (limited to 'pyecsca/sca/ttest.py')
| -rw-r--r-- | pyecsca/sca/ttest.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pyecsca/sca/ttest.py b/pyecsca/sca/ttest.py index 34e631c..329f37d 100644 --- a/pyecsca/sca/ttest.py +++ b/pyecsca/sca/ttest.py @@ -1,13 +1,13 @@ +import numpy as np from public import public from scipy.stats import ttest_ind -import numpy as np from typing import Sequence, Optional from .trace import Trace, CombinedTrace def ttest_func(first_set: Sequence[Trace], second_set: Sequence[Trace], - equal_var: bool) -> Optional[CombinedTrace]: + equal_var: bool) -> Optional[CombinedTrace]: if not first_set or not second_set or len(first_set) == 0 or len(second_set) == 0: return None first_stack = np.stack([first.samples for first in first_set]) @@ -15,8 +15,9 @@ def ttest_func(first_set: Sequence[Trace], second_set: Sequence[Trace], result = ttest_ind(first_stack, second_stack, axis=0, equal_var=equal_var) return CombinedTrace(None, None, result[0], parents=[*first_set, *second_set]) + @public -def welch_ttest(first_set: Sequence[Trace], second_set: Sequence[Trace]) -> CombinedTrace: +def welch_ttest(first_set: Sequence[Trace], second_set: Sequence[Trace]) -> Optional[CombinedTrace]: """ Perform the Welch's t-test sample wise on two sets of traces `first_set` and `second_set`. Useful for Test Vector Leakage Analysis (TVLA). @@ -27,8 +28,9 @@ def welch_ttest(first_set: Sequence[Trace], second_set: Sequence[Trace]) -> Comb """ return ttest_func(first_set, second_set, False) + @public -def student_ttest(first_set: Sequence[Trace], second_set: Sequence[Trace]) -> CombinedTrace: +def student_ttest(first_set: Sequence[Trace], second_set: Sequence[Trace]) -> Optional[CombinedTrace]: """ Perform the Students's t-test sample wise on two sets of traces `first_set` and `second_set`. Useful for Test Vector Leakage Analysis (TVLA). |
