pyecsca.sca.attack.DPA module

class pyecsca.sca.attack.DPA.DPA(points, traces, mult, params)[source]

Bases: object

Parameters:
  • points (list[Point]) – Points on which scalar multiplication with secret scalar was performed

  • traces (list[Trace]) – Power traces corresponding to the scalar multiplication for each of the points

  • mult (ScalarMultiplier) – Scalar multiplier used

  • params (DomainParameters) – Domain parameters used

points: list[Point]
traces: list[Trace]
mult: ScalarMultiplier
params: DomainParameters
doms: Dict[str, list[Trace]]
compute_split_point(guessed_scalar, target_bit, point)[source]
Return type:

Point

split_traces(guessed_scalar, target_bit)[source]
Return type:

Tuple[list[Trace], list[Trace]]

calculate_difference_of_means(one_traces, zero_traces)[source]
Return type:

Trace

plot_difference_of_means(dom)[source]
recover_bit(recovered_scalar, target_bit, scalar_bit_length, real_pub_key)[source]
Return type:

int

perform(scalar_bit_length, real_pub_key)[source]
Return type:

int