Distinguishers traces partitioning attacks

class scared.distinguishers.partitioned.PartitionedDistinguisherMixin[source]

Base mixin for various traces partitioning based attacks (ANOVA, NICV, SNR, …).

Attacks differs mainly in the metric computation, not in the accumulation process.

partitions

partitions used to categorize traces according to intermediate data value. if None, it will be automatically estimated at first update of distinguisher.

Type:

numpy.ndarray or range, default=None

sum

sum of traces accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

sum_square

sum of traces squared accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

counters

number of traces accumulated by data word and partitions, with shape (data_words, len(partitions)).

Type:

numpy.ndarray

class scared.distinguishers.partitioned.PartitionedDistinguisherBase(partitions=None, precision='float32')[source]
__init__(partitions=None, precision='float32')[source]
class scared.distinguishers.partitioned.PartitionedDistinguisher(partitions=None, precision='float32')[source]
class scared.distinguishers.partitioned.ANOVADistinguisherMixin[source]

This standalone partitioned distinguisher applies the ANOVA F-test metric.

class scared.distinguishers.partitioned.ANOVADistinguisher(partitions=None, precision='float32')[source]

Base mixin for various traces partitioning based attacks (ANOVA, NICV, SNR, …).

Attacks differs mainly in the metric computation, not in the accumulation process.

partitions

partitions used to categorize traces according to intermediate data value. if None, it will be automatically estimated at first update of distinguisher.

Type:

numpy.ndarray or range, default=None

sum

sum of traces accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

sum_square

sum of traces squared accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

counters

number of traces accumulated by data word and partitions, with shape (data_words, len(partitions)).

Type:

numpy.ndarray

This standalone partitioned distinguisher applies the ANOVA F-test metric.

class scared.distinguishers.partitioned.NICVDistinguisherMixin[source]

This standalone partitioned distinguisher applies the NICV (Normalized Inter-Class Variance) metric.

class scared.distinguishers.partitioned.NICVDistinguisher(partitions=None, precision='float32')[source]

Base mixin for various traces partitioning based attacks (ANOVA, NICV, SNR, …).

Attacks differs mainly in the metric computation, not in the accumulation process.

partitions

partitions used to categorize traces according to intermediate data value. if None, it will be automatically estimated at first update of distinguisher.

Type:

numpy.ndarray or range, default=None

sum

sum of traces accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

sum_square

sum of traces squared accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

counters

number of traces accumulated by data word and partitions, with shape (data_words, len(partitions)).

Type:

numpy.ndarray

This standalone partitioned distinguisher applies the NICV (Normalized Inter-Class Variance) metric.

class scared.distinguishers.partitioned.SNRDistinguisherMixin[source]

This standalone partitioned distinguisher applies the SNR (Signal to Noise Ratio) metric.

class scared.distinguishers.partitioned.SNRDistinguisher(partitions=None, precision='float32')[source]

Base mixin for various traces partitioning based attacks (ANOVA, NICV, SNR, …).

Attacks differs mainly in the metric computation, not in the accumulation process.

partitions

partitions used to categorize traces according to intermediate data value. if None, it will be automatically estimated at first update of distinguisher.

Type:

numpy.ndarray or range, default=None

sum

sum of traces accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

sum_square

sum of traces squared accumulator with shape (trace_size, data_words, len(partitions))

Type:

numpy.ndarray

counters

number of traces accumulated by data word and partitions, with shape (data_words, len(partitions)).

Type:

numpy.ndarray

This standalone partitioned distinguisher applies the SNR (Signal to Noise Ratio) metric.