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
# 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':