NC State's Nonlinear Artificial Intelligence Lab (formerly its Applied Chaos Lab) has constructed circuits which leverage an evolving chaotic dynamical system to implement logic functions.
For reasons elucidated in doc
, the lab wondered if these "chaotic logic gates" would be less susceptible than an ordinary computer to side-channel attacks.
Thus, I subjected these gates to Simple Power-Analysis (SPA) attacks, computing various metrics of robustness against them.
fianle_small.py
saves recorded data as dataframe and pickles itprocess.py
splits data into distinct signatures and saves them 1D Numpy arraysplot.py
generates function table & average power signatures, plots signaturesfun.py
performs analysis (signature correlation measurements, etc.)
corr
: correlations calculated between 0 and 1 (treats out-of-phase as uncorrelated)fullcorr
: correlations calculated between -1 and 1 (treats out-of-phase as negatively correlated)abscorr
: correlations calculated between -1 and 1, then abs'd (treats out-of-phase as positively correlated)