dpa1: DPA

Description Usage Arguments Details Value Author(s) References Examples

Description

The dpa1 function applies a Differential Power Analysis (DPA) to a set of traces in order to find the key used by the cryptographic device.

Usage

1
dpa1(x, y,...)

Arguments

x

A matrix where each row is a trace.

y

A vector where the i_th element of the vector y is the key for the i_th trace in the matrix x.

...

Currently ignored.

Details

The dpa1 function is an example of DPA. It calculates the average X_i of traces for each key Y_i. Then, to estimate the key from a trace T, it returns the key Y_i which maximizes the equation argmax{Y_i}(cor(T,X_i))

Value

The dpa1 function returns an object which knowing a trace can be used with the predict function that estimates the value of the key. The value of this function is an object of class dpa1, which is a list with the following components:

mean

a list of arithmetics means, one for each possible key

Author(s)

Liran Lerman llerman@ulb.ac.be & Gianluca Bontempi gbonte@ulb.ac.be@ulb.ac.be & Olivier Markowitch olivier.markowitch@ulb.ac.be

References

P. C. Kocher & J. Jaffe & B. Jun, (1999), "Differential Power Analysis: Leaking Secrets", In Proc. Crypto '99, Springer-Verlag, LNCS 1666, pages 388-397.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#data collection
data(powerC)
traces = powerC[,-301]
key = powerC[,301]+1

#model creation
attack=dpa1(traces[-1,],factor(key[-1]))

#model prediction
predict(attack, traces[1,])

Example output

Loading required package: MASS
Loading required package: corpcor
Loading required package: mmap
Loading required package: ade4
Loading required package: infotheo

Attaching package: 'sideChannelAttack'

The following object is masked from 'package:stats':

    gaussian

[1] 0
Levels: 0

sideChannelAttack documentation built on May 2, 2019, 3:40 p.m.