From 186e641a98c50b3036940fc8a72d5c19179edce3 Mon Sep 17 00:00:00 2001 From: haskal Date: Sun, 25 Apr 2021 04:27:21 -0400 Subject: [PATCH] uwu --- sca/ascad/.gitignore | 1 + sca/ascad/alignment.png | Bin 0 -> 97989 bytes sca/ascad/attack.py | 141 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 sca/ascad/.gitignore create mode 100644 sca/ascad/alignment.png create mode 100644 sca/ascad/attack.py diff --git a/sca/ascad/.gitignore b/sca/ascad/.gitignore new file mode 100644 index 0000000..a2a8af1 --- /dev/null +++ b/sca/ascad/.gitignore @@ -0,0 +1 @@ +/ASCAD_databases diff --git a/sca/ascad/alignment.png b/sca/ascad/alignment.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d663ba69884da261fe9ebdb3dda2841a65c3c2 GIT binary patch literal 97989 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%0DgiN#T^R4 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 NNxxT+C=oaM`d=FNd)oj2 literal 0 HcmV?d00001 diff --git a/sca/ascad/attack.py b/sca/ascad/attack.py new file mode 100644 index 0000000..b9eb3ba --- /dev/null +++ b/sca/ascad/attack.py @@ -0,0 +1,141 @@ +import logging +import random + +logger = logging.getLogger(__name__) + +import h5py +import matplotlib.pyplot as plt +import numpy +import scipy.signal +import tqdm + +import numpy_popcount + + +AES_SBOX = numpy.array([ + # 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 +], dtype='uint8') + + +def align(db, ntraces): + logger.info("aligning traces") + traces = db["traces"] + reference = traces[0].astype("double") + alignments = numpy.zeros(ntraces, "int64") + lags = scipy.signal.correlation_lags(len(reference), len(reference)) + for i in tqdm.trange(1, ntraces): + trace = traces[i].astype("double") + corr = scipy.signal.correlate(reference, trace) + + max_idxs = corr.argsort()[-10:][::-1] + max_corr = 0 + max_idx = -1 + for idx in max_idxs: + lag = lags[idx] + if lag == 0: + s_ref = reference + s_trs = trace + elif lag < 0: + s_ref = reference[:lag] + s_trs = trace[-lag:] + else: + s_ref = reference[lag:] + s_trs = trace[:-lag] + pcorr = numpy.corrcoef(s_ref, s_trs)[1,0] + if pcorr > max_corr: + max_corr = pcorr + max_idx = idx + + lag = lags[max_idx] + alignments[i] = lag + + alignments -= numpy.min(alignments) + + traces = numpy.zeros((ntraces, 800), 'double') + for i in range(ntraces): + traces[i, alignments[i]:alignments[i]+700] = db["traces"][i] + + return traces + + +def main(db): + ntraces = 1000 + # traces = align(db, ntraces) + + traces = numpy.zeros((ntraces, 700), 'double') + for i in range(ntraces): + traces[i, :] = db["traces"][i] + + # for i in range(10): + # plt.plot(traces[i], color=numpy.hstack((numpy.random.random(3), [0.5]))) + # plt.show() + + logger.info("making model") + model = numpy.repeat(numpy.arange(256, dtype='uint8'), ntraces).reshape((256, ntraces)) + for i in tqdm.trange(ntraces): + (pt, ct, key, mask, desync) = db["metadata"][i] + pt_v = pt[2] + mask_v = mask[15] + model[:, i] = AES_SBOX[model[:, i] ^ pt_v] ^ mask_v + model = numpy_popcount.popcount(model).astype("double") + + input_matrix = numpy.vstack((model, traces.transpose())) + coefs = numpy.corrcoef(input_matrix)[0:256, 256:] + coefs = numpy.abs(coefs) + max_by_key = numpy.max(coefs, axis=1) + plt.plot(max_by_key) + plt.show() + + # logger.info("making 2nd order") + # traces = traces.transpose() + # traces_x = numpy.zeros((700*699//2, ntraces), 'double') + # tx_i = 0 + # for i in tqdm.trange(700): + # for j in range(i+1, 700): + # traces_x[tx_i, :] = numpy.abs(traces[i, :] - traces[j, :]) + # tx_i += 1 + # + # logger.info("doing corr") + # ncolumns = 100 + # step = traces_x.shape[0] // ncolumns + # all_coefs = None + # for i in tqdm.trange(ncolumns): + # start = i * step + # end = (i + 1) * step + # input_matrix = numpy.vstack((model, traces_x[start:end, :])) + # coefs = numpy.corrcoef(input_matrix)[0:256, 256:] + # if all_coefs is None: + # all_coefs = coefs + # else: + # all_coefs = numpy.hstack((all_coefs, coefs)) + # + # + # all_coefs = numpy.abs(all_coefs) + # max_by_key = numpy.max(all_coefs, axis=1) + # plt.plot(max_by_key) + # plt.show() + + +if __name__ == "__main__": + from tqdm.contrib.logging import logging_redirect_tqdm + logging.basicConfig(level=logging.INFO) + with logging_redirect_tqdm(): + # db = h5py.File("./ASCAD_databases/ASCAD_desync100.h5", "r") + db = h5py.File("./ASCAD_databases/ASCAD.h5", "r") + main(db["Attack_traces"])