PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Util::ContingencyTableStruct Struct Reference

Defines a contingency table. More...

#include <Util.hpp>

Public Member Functions

void CalculateTraces (int, double, double)
 Computes the required number of traces.
 

Public Attributes

std::vector< TableEntryStructEntries
 Different entries of a contingency table, i.e. one entry per sample.
 
std::vector< std::vector< std::vector< std::vector< unsigned char > > > > OnlyOneEntry
 Stores all entires that occurred only once.
 
double Probability
 The false-positive probability computed with the G-test.
 
unsigned int Traces
 The number of traces required to achieve a desired confidence level computed via statistical power analysis.
 

Detailed Description

Defines a contingency table.

Defines the contingency table related to a probing set. Every contingency table encompasses a list of contingency table entries.

Author
Nicolai Müller

Definition at line 58 of file Util.hpp.

Member Function Documentation

◆ CalculateTraces()

void Util::ContingencyTableStruct::CalculateTraces ( int  ,
double  ,
double   
)

Computes the required number of traces.

Computes the number of traces required to achieve a pre-defined confidence level, i.e. false-negative probability.

Parameters
NumberOfGroupsNumber of user-defined groups.
BetaThresholdThe pre-defined false-negative probability to achieve.
EffectSizeThe statistical effect size for which the false-negative probability should be achieved.
Returns
Traces Number of traces required to satisfy the effect size and false-negative probability.
Author
Nicolai Müller

Member Data Documentation

◆ Entries

std::vector<TableEntryStruct> Util::ContingencyTableStruct::Entries

Different entries of a contingency table, i.e. one entry per sample.

Definition at line 59 of file Util.hpp.

◆ OnlyOneEntry

std::vector<std::vector<std::vector<std::vector<unsigned char> > > > Util::ContingencyTableStruct::OnlyOneEntry

Stores all entires that occurred only once.

Temporary storage for all samples that occurred only once. To save memory, we create a new entry in the table only if the sample occurres multiple times. Hence, only the sample itself must be stored without corresponding counters. The structure is as follows:

  1. Dimension: The underlying group in which the sample occurred once.
  2. Dimension: The last byte of the sample vector. This only accelerates searching for samples.
  3. Dimension: The particular sample vector.
  4. Dimension: The specific byte of a particular sample vector.

Definition at line 71 of file Util.hpp.

◆ Probability

double Util::ContingencyTableStruct::Probability

The false-positive probability computed with the G-test.

Definition at line 72 of file Util.hpp.

◆ Traces

unsigned int Util::ContingencyTableStruct::Traces

The number of traces required to achieve a desired confidence level computed via statistical power analysis.

Definition at line 73 of file Util.hpp.


The documentation for this struct was generated from the following file: