SIde-Channel Analysis toolKit (SICAK)
Software toolkit for side-channel analysis
Functions
ompcpa.hpp File Reference

Implementation of CPA statistical algorithms as function templates for various SICAK plugins. More...

#include <cmath>
#include <omp.h>
#include "exceptions.hpp"
#include "types_power.hpp"
#include "types_stat.hpp"
Include dependency graph for ompcpa.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class T , class U , class V >
void UniFoCpaAddTraces (UnivariateContext< T > &c, const PowerTraces< U > &pt, const PowerPredictions< V > &pp)
 Adds given power traces and power predictions to the given statistical context. Use zeroed or meaningful UnivariateContext c! Accelerated using OpenMP. More...
 
template<class T >
void UniFoCpaMergeContexts (UnivariateContext< T > &firstAndOut, const UnivariateContext< T > &second)
 Merges two UnivariateContext and leaves the result in first context given. More...
 
template<class T >
void UniFoCpaComputeCorrelationMatrix (const UnivariateContext< T > &c, MatrixType< T > &correlations)
 Computes final correlation matrix based on a UnivariateContext given, stores results in correlations. More...
 

Detailed Description

Implementation of CPA statistical algorithms as function templates for various SICAK plugins.

Author
Petr Socha
Version
1.0

Function Documentation

◆ UniFoCpaAddTraces()

template<class T , class U , class V >
void UniFoCpaAddTraces ( UnivariateContext< T > &  c,
const PowerTraces< U > &  pt,
const PowerPredictions< V > &  pp 
)

Adds given power traces and power predictions to the given statistical context. Use zeroed or meaningful UnivariateContext c! Accelerated using OpenMP.

◆ UniFoCpaComputeCorrelationMatrix()

template<class T >
void UniFoCpaComputeCorrelationMatrix ( const UnivariateContext< T > &  c,
MatrixType< T > &  correlations 
)

Computes final correlation matrix based on a UnivariateContext given, stores results in correlations.

◆ UniFoCpaMergeContexts()

template<class T >
void UniFoCpaMergeContexts ( UnivariateContext< T > &  firstAndOut,
const UnivariateContext< T > &  second 
)

Merges two UnivariateContext and leaves the result in first context given.