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

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

dpa.loadLeakage(open(leakageFile, 'r'))

f = open(ptextFile, 'r')

ptext = f.readline().strip()

chosenKey = None
numTraces = 1
attacks = {}
keyCorrelations = []

keys = dpa.unformatKey(keys)

while ptext != '' and numTraces <= 250: #and chosenKey != keys:
    ptexts = [int(k, 2) for k in ptext.split()]
    dpa.ptexts.append(ptexts)
    dpa.generatePowerSimulationModel(ptexts) 
    correlations = dpa.attackPeaks(dpa.peaks)
    results = dpa.findKey(correlations)
    attacks[numTraces] = correlations
    chosenKey = dpa.unformatKey(results[0].key)
    ptext = f.readline().strip()
    numTraces = numTraces + 1
    dpa.numTraces = numTraces

print results