Ejemplo n.º 1
0
duplication = int(sys.argv[6])
parallelism = int(sys.argv[7])
algorithm = sys.argv[8]

f = open(ptextFile, 'r')
f1 = open(tracesFile, 'r')

if algorithm == 'Algo1':

    dpa = AlgoDPA(keys, numTraces, numBits, duplication, parallelism)

elif algorithm == 'nlf':
    
    dpa = NLFDPA(keys, numTraces, numBits, duplication, parallelism)

##########################################################
## Generates Synthetic Traces Based On Prediction Model ##
##########################################################
dpa.doSimulation(f)

dpa.findLeakage(f1, peaks=0, index=None)

correlations = dpa.attackSamples(dpa.peaks)
#correlations = dpa.attackPeaks(dpa.peaks)
#correlations = dpa.attackSelectedPeaks(dpa.peaks, 110)
results = dpa.findKey(correlations)

print results
#for result in results:
#    print result.timeIndex
Ejemplo n.º 2
0
#        dpa = Sbox1DPA(keys, numTraces, duplication)

    elif algorithm == 'nlf':
    
        dpa = NLFDPA(keys, numTraces, numBits, duplication, parallelism)

    dpa.doSimulation(f) 


dpa.computeDeltas()

f1 = open(tracesFile, 'r')
position = f1.tell()

log.info('finding peak values...')
peaks = dpa.findLeakage(f1)

log.info('attacking...')
correlations = dpa.attackPeaks(peaks)
results = dpa.findKey(correlations)

#####################

log.info(results)

if algorithm == 'Algo1' or algorithm == 'nlf':
    pp = [y.value for x in peaks.values() for y in x]
    samples = [x for x in xrange((numBits/parallelism)*numTraces)]
    deltaSamples = [x for x in xrange(((numBits-1)/parallelism)*numTraces)]

#elif algorithm == 'sbox1':