def __init__(self,
              jitter=None,
              use_extra=True,
              no_print=True,
              verbose=False,
              histogram=False):
     # Real Trace Handler
     self.real_trace_handler = rTH.RealTraceHandler(no_print=no_print,
                                                    use_nn=True,
                                                    use_lda=False,
                                                    memory_mapped=True,
                                                    tprange=700,
                                                    debug=True,
                                                    jitter=jitter,
                                                    use_extra=use_extra)
     self.verbose = verbose
     self.histogram = histogram
Пример #2
0
        for i in range(length):
            variable = '{}{}'.format(v, pad_string_zeros(i + 1))
            if not check_file_exists(
                    '{}{}_mlp5_nodes200_window{}_epochs6000_batchsize200_sd100_traces200000_aug0.h5'
                    .format(NEURAL_MODEL_FOLDER, variable, 700)):
                todo.append(variable)
    print len(todo), todo
    exit(1)

if USE_REAL_TRACE_HANDLER:

    traces = TRACES

    rth_nn = rTH.RealTraceHandler(no_print=False,
                                  use_nn=True,
                                  memory_mapped=True,
                                  tprange=700,
                                  debug=True)
    for var in ['k00{}'.format(i) for i in range(1, 10)]:
        rth_nn.get_leakage(var, ignore_bad=True)
    exit(1)
    # rth_none = rTH.RealTraceHandler(no_print = False, use_nn = False, use_lda = False, memory_mapped=True, tprange=1, debug=True)
    # rth_lda = rTH.RealTraceHandler(no_print = False, use_nn = False, use_lda = True, memory_mapped=True, tprange=200, debug=True)
    # rth_nn = rTH.RealTraceHandler(no_print = False, use_nn = True, use_lda = False, memory_mapped=True, tprange=700, debug=True)
    # csv_file = 'output/variable_template_comparison.csv'
    # dict_file = 'output/best_template_dict.dict'
    # clear_csv(csv_file)
    # append_csv(csv_file, 'VarName,VarNumber,TopTimepoint,TopCoefficient,AriMean,Median,SensibleTimepoint,SensibleCoefficient,Ranked,CoefficientDifference,\n')
    # append_csv(csv_file, 'Variable Name,Variable Number,Template Mean Rank,Template Median Rank,LDA Mean Rank,LDA Median Rank,Neural Mean Rank,Neural Median Rank,\n')
    template_dict = {}
    # for var_name in ['k','t','s']:
Пример #3
0
def get_best_templates():

    rtrace_uni = rTraceH.RealTraceHandler(no_print=False,
                                          use_nn=False,
                                          use_lda=False,
                                          use_best=False,
                                          tprange=1,
                                          jitter=None,
                                          use_extra=False)
    rtrace_lda = rTraceH.RealTraceHandler(no_print=False,
                                          use_nn=False,
                                          use_lda=True,
                                          use_best=False,
                                          tprange=200,
                                          jitter=None,
                                          use_extra=False)
    rtrace_nn = rTraceH.RealTraceHandler(no_print=False,
                                         use_nn=True,
                                         use_lda=False,
                                         use_best=False,
                                         tprange=700,
                                         jitter=None,
                                         use_extra=False)  #TODO CHANGE BACK

    template_dict = dict()

    variables = [
        '{}{}'.format(k, pad_string_zeros(i + 1))
        for k, v in variable_dict.iteritems() for i in range(v)
    ]

    my_csv = 'output/template_results.csv'
    clear_csv(my_csv)
    append_csv(
        my_csv,
        'Variable,MaxRankUni,MinRankUni,MeanRankUni,MedianRankUni,RangeRankUni,VarianceRankUni,MaxProbUni,MinProbUni,MeanProbUni,MedianProbUni,RangeProbUni,VarianceProbUni,MaxRankLda,MinRankLda,MeanRankLda,MedianRankLda,RangeRankLda,VarianceRankLda,MaxProbLda,MinProbLda,MeanProbLda,MedianProbLda,RangeProbLda,VarianceProbLda,MaxRankNN,MinRankNN,MeanRankNN,MedianRankNN,RangeRankNN,VarianceRankNN,MaxProbNN,MinProbNN,MeanProbNN,MedianProbNN,RangeProbNN,VarianceProbNN,\n'
    )

    for var in variables:

        print("\n\n\n*** VARIABLE {} ***".format(var))

        ranklist_uni, problist_uni = rtrace_uni.get_performance_of_handler(var)
        ranklist_lda, problist_lda = rtrace_lda.get_performance_of_handler(var)
        ranklist_nn, problist_nn = rtrace_nn.get_performance_of_handler(var)

        print("\n\n* Ranks *")
        print("\n> Uni")
        print_statistics(ranklist_uni)
        print("\n> Lda")
        print_statistics(ranklist_lda)
        print("\n> NN")
        print_statistics(ranklist_nn)

        print("\n\n* Probabilities *")
        print("\n> Uni")
        print_statistics(problist_uni)
        print("\n> Lda")
        print_statistics(problist_lda)
        print("\n> NN")
        print_statistics(problist_nn)

        template_dict[var] = dict()
        template_dict[var]['uni'] = (np.median(ranklist_uni),
                                     np.median(problist_uni))
        template_dict[var]['lda'] = (np.median(ranklist_lda),
                                     np.median(problist_lda))
        template_dict[var]['nn'] = (np.median(ranklist_nn),
                                    np.median(problist_nn))

        append_csv(
            my_csv, '{},{},{},{},{},{},{},\n'.format(
                var, get_statistics_string(ranklist_uni),
                get_statistics_string(problist_uni),
                get_statistics_string(ranklist_lda),
                get_statistics_string(problist_lda),
                get_statistics_string(ranklist_nn),
                get_statistics_string(problist_nn)))

    # Save template
    save_object(template_dict, BEST_TEMPLATE_DICT, suffix=False)
Пример #4
0
 def __init__(self, jitter=None, use_extra = True):
     # Real Trace Handler
     self.real_trace_handler = rTH.RealTraceHandler(no_print = True, use_nn = True, use_lda = False, memory_mapped=True, tprange=700, debug=True, jitter=jitter, use_extra = use_extra)