Beispiel #1
0
def test_cs_spectrum():
    # Creating CS
    cs = CryptoSignal(256)
    sig = cs.generateDefRandomSeq(32)
    # calculatin pfak and afak
    pfak_list, afak_list = test_auto_correl(sig)
    build_plot(pfak_list)

    # setting sampling rate
    sampling_rate = 30
    # calculate spctrum
    freq, ps = calculate_spectrum_autocorrel(pfak_list, sampling_rate)

    # the same as above function
    # https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.periodogram.html
    # freq_1, ps_1 = signal.periodogram(pfak_list, sampling_rate)

    print('Frequency:', freq)
    print('PSD', ps)
    build_spectrum(freq, ps)

    # print('Frequency:', freq_1)
    # print('PSD', ps_1)
    # build_spectrum(freq_1,ps_1)

    # if you need a left part but it make
    # no sense to use it because its mirrored
    freq_1, ps_1, idx_1 = calculate_spectrum_autocorrel_fft(
        pfak_list, sampling_rate)
    build_spectrum(freq_1[idx_1], ps_1[idx_1])
Beispiel #2
0
def test_time_ensemble():
    cs = CryptoSignal(256)
    time_list = list()
    for i in range(0, 10):
        start_time = time.process_time()
        cs_ensemble = cs.genereteAnsambleOfCryptoSig(128, 32)
        time_list.append(time.process_time() - start_time)
        print("{0:5f} seconds".format(time.process_time() - start_time))

    return time_list
Beispiel #3
0
def test_time_decimation2():
    cs = CryptoSignal(256)
    time_list = list()

    for i in range(0, 10):

        start_time = time.process_time()
        sig = cs.generateDefRandomSeq(32)
        decimations = getDecimation(sig)
        time_list.append(time.process_time() - start_time)
        print("{0:5f} seconds".format(time.process_time() - start_time))
Beispiel #4
0
def test_derivative_cs_spectrum():
    p = 256
    h = Hadamar(p)
    cs = CryptoSignal(p)

    source_sig = cs.generateDefRandomSeq(32)
    hadamar_sig_list = h.getHadamMatrix()

    # setting sampling rate
    sampling_rate = 30

    # derivative
    dersig, combinations = derivativeSigFromTo([source_sig], hadamar_sig_list,
                                               1, 5)
    print_derivative(dersig, combinations)

    for sig in dersig:
        pfak_list, afak_list = test_auto_correl(sig)
        freq, ps = calculate_spectrum_autocorrel(pfak_list, sampling_rate)
        print('Frequency:', freq)
        print('PSD', ps)
        build_spectrum(freq, ps)
Beispiel #5
0
    print("Result: {0} Run 1: {1} Run 0: {2}".format("Success" if res == True else "Fail", arr, arr2))
    print('\n===Long Run test===')
    res, x = fp.long_run(string_sig)
    print("Result: {0} X: {1}".format("Success" if res == True else "Fail", x))



if __name__ =="__main__":
    # testing fips
    # tmp = '00010101001000000101111010010100110100000000011101110001001000001010001011011110111011010100001100110100110111110011101011100001101101100001010100101001010111110111001111100010110111010011101111000011100001100100111011010110110001000011011000001010001100100110001100100101000110001001100110100111100001000011100110011110010110101110111001001100111110001011110101011000000100010100110100101111000110100010000000110000100111101010011111101011111010011010110111110111100110100011000000011000111110000111111001000101001111001011001001100000011001011001101000101100001111100111001011000111110100001110111101000010101101010010011000001101111000111101011101000000101000000011011100010100000110111011011101010011000010100111100111010001000111011011111100001111100100011101010001000101010110010000000110000000111010100100001000110101011111100001110001100101110011011001011000101110100110111001110000011100001111110101011101011001011011011101101111110001100010101111111110110100110101001011100110001101011000110101111101101010111101100111001101000110001110001111001010110110011000010001011101000110110001001011100010001011001001010101001010111001010111001000011111010000011100110100111100111001000101011000010010111011010111011010010111100000001010001011000010100010010100000110110001010100000001010100001101111110111111111100000111100010010111111111100000111100100010000010101010011110110110110011111001110111001010110100100101111100010001100101011011111000110000011000110110001111110010111001000111111100010101100111111010011110000110000010001101011010110101000000011000000011111111000100101001011000000101001010000110110110100010010010010011010011010000000110101110000101101100010010011011000110010100010111001001111101110100010011010101101100000111111011011101111011110110010110100111110111101100100010001100111111011001111110011010001100001001000101001100011000011110100000001110101011111100000100100011111101111110100111101001011001001100010011111100001011101111011001011111101100100110011101001010110010110111111110101100000101001110010000110010010000001001100001001101101101101001111110001100110100010000100001001110010001111011011101111001110000000001111110110000001001110100101000010100100110000110100110110001000000110100011110111000001000111100001011010101111101111001011111011100000101001110010000000101010000000101100010101110101010100101001011011100001010101011010110100111011101011111111100101110001110011010110010001001111110000111000010100100010011000000111010110110010100110110001101101010011110110001001010100100000011001010111100101101001101011101100000111110000001010100110101011010101001000111110000110101000001111101001110001111011100011100011000011000010101001111101101000011100100011100111001001100000100001001110010100010000100011000000011100101001010111000100010111010001100001111001010001011100111011101100110101000110010101100111101100101110001000001100100110100101111010101101111111010100101000111011010100010101111001011110000110001100100011010100101111011101000110000101011100111001100100001111110011110001010101111100101000001101100010110011100010101001111011110100000010011001110100010100101110100101011011110101111100010000100101101110001100101101110100001010110000010111011111011000100111101110011000001010010100110111000100001110110000110011001110111000001010010001100100111100110110001010000011010000011100101111111010000101100001111111101110111100110001111000100000000001011010000010110101000101110011100000010010010110001011101110101010000000111101001101010110001001111110110110001101100111111011110101101110000000110101001000010101000100010010000011111011001101110100000111010001111111100000001110110011001000010100010011101100010101011010100011000111011110111110001010111101110011000110100011010111110100110110101001110010000011110110100001001010100000010001110001011010001111110010101010101110010111000111000011111000000110101101111011010101100000001100001101111001001000100011000111111100101111100110001110100110000011100011001000110011001010000110100000011001101111000000110101011110100001010010111101110100011101110001111010111001110010000010100110000101011000100001110100100011000000111010110101001011111010001010011010000101111111010100001010101111000111111000111000101011000110110001000110101011000110000111001110101100101111001001111101011110011010110011111110100110110000100011111101000011001011111110011111010001011100010010101100111010010101010011100110101010110100001001001101110011000001000000101010010111101001111000010010111110100101000111011110011011000000110001000010001001111110011001000010101111011111000000011010000001100100101111100001000100010000010011000110111110101010010011010000011010001001100000101100111100000000101101011010110101101100110000011100011000000000100101010011100000000000011011010010101000111011010011010010000110101010001100001000000001101111100010010101100100011000100111010010110011111100101110011011000001011100000011001011111100111101100110001111101101110100000101100010101010111010101110111101110011001001010100101101100000011010100111111110111010111101110100100010000110001110111000010100100000000111100011010110001110110000001110110010000001001011100001000000110000100111100111100011011011100101011011011011001110011100011001110000101100101111010001100000101000001000101001100000101011010000001001111110001111101011000110110101011000000011001001010111110001000011000111000000011100110101001110001001000010000110000000100101100110000010101001100111100011101000000100000000110111001110011010010010010100101101111000110110100111010001001010100000110000001000111011101011001010101000111001110001001111001101011011001010100001110010110111011101110010000000101000110110011010000001110010100100010101001110000000111100110001111001011000011010000000001101000010101100110001011001111101001100110010100001111001101111011110000001111011010110011011111100010011001010001101000101100101011101010001010001111000000011000001110101011111001001000011000000011100111111000101010100001101111011100011011010111001100111011001110111000100000000010110011110000101001101011001010011001000100111000100011110111011010100001000101101100001001100101101000001101011110111110011110111111011001110000100101110101001101000110100110100100111000100111111000111000110010011011011001101101000011000010111101100101000001010001000001100101000000111101010001101010010010100000110110001111111001010100110001111110101101110100110110110101011011001111110010010001110100010110010101000111100110010100000001100110100100100001010111010101001110110010011000011100011111000011101001001110000110111101110000000101001101010001001000100000110000000001001001101101110010110011111000110000000101101100001110111011101100010101000001001110011000010101101100000111011111110010010101001011001101101001111001011000010101010011110100000011001101111001101011110011001100000101101001100010111010010101101000111110011000101011011100110000010011110111100111111011111101111101101001010100110101101111111010110001110100110101011011001010110111111111010011101000100100111000001001100110111001101110110111010101011110011010010111110011111001111100110001000110110111011010001000111111010001000011100101110011000011110101100000101110101100101110101000110001100111111110001110100010111111110011001001110100111010001010111001011111001000001111101110011010101110011111001110010011100001101111001110010101010000101111110011011100100110110001100101110011110110101110100000100001110110110010001111111010011010100000011101000111111100111101000100001111110101101111000000000100100000110100001110101101101100001000101011101010101011001101100010001101010010101001001110100011100001001011011001010110100001001111101101011101101010001010011010000000010101010010110100100111110001101101100011110111110011011001000111101001101100111101110110100000000010001100111011000011101010111001010110100001000011000110010110100110110011001111010001111111110011001010100011110100001000011010011011011001111011110110110101100001010011001100001001000000011010000010011101000101110000000101110001001001011000100111111000000101000101001111000001110000011110110100001111101111001100110110010101110001010110101101000001001011001101001010100111010010101011111110010110011001110011101011100000100100011111001010010011000011110000110010110011100100001001001000100111000100101110101100101101011011101000100101100100011111111101111100001010111011001000001101111011010111100110010000011101101101011001010011100001010001001110111001011101101000111111100001110101111010111011000111000011101001101100001101000011010100110010000011100100110000110101001111110011011001011011011000100100001110100110100000100010111101010111100111110111001111110010110100000101010111110100111010011000110010110010000111000010110001111100110011010110101101000010110111101011111000110110011110011001101100011011110100111001000101101000010001000011001111010010100011100101010000000000101101101101110111010101010000001111011100110000111101000011101100000100100101110000110011111001101101110010011100000100110110110110110100110010000110100110100000101011011001110110110111111010101101101011011000100001110110000010101110101000101010010100110110011101001001000010100110000110011000011100101000101011100010100011111010100100001100110110011001101011111100111011111111011000101010010110100101010010101000001001000010111011111010001011011100101011010011110111000100001111110111100110010001101001001101110101000110101110001011000111111111011000010000101100000011010111100011011101011101111100010000111010011000011110110001110010001010000101101000111111010110101101101011001010101110010111110101011010110010100110101011111100001011111011110110100011111100011011101101101100111000000110111010100110101101001001110011000110110101110000000101010010101110000101101101011110010101010100111100101101101101000111001001111010111111100000000000101000001001001010000010001111000111011101101010100100101100010111110011011001100100101111010001000100110011011001011011101010100101101101101000101001110100001110100101010110000000101110101111101001110101000010111101001010101110000011111100011011001011111110111101000110001100101111001011111011100001000001101100100011000100110000110101000000010010111101101100000001111111111000010100111011001000010011101001110011110110101010111111111111001001101010001001100100000111111100001111000000011111110101110001011110111010111101111000100111111000011010001001000101101010001011001100010011110001100010000001001111101101111001001010101000110100010111100101011000001011011000100000100010100100010110111100110100101110010010011101111101000011110110101000001111100011111001111111101100001010000000111110011111001111111010100101111010111010001111011010100100111011100011100110110101001110111111001111100001110010011001001110000010010101000000011111101101000011100000101100000000000110100111100011100001001001110010111110101011010101010111110101110001111101011101101001001000100011111111000111100100001010011000110011000111101000010001000110011000110000111011111111000011100011110111110010000101101111000000001101010111101111101011110010000001011110100001111111101101011010100100111001111010101110100001001101100111101001111010111011010001010011100111011001000110010110000001010100011110100011100101010010101010110100000110111001110100011011110010011010001111111110101010101001110011111101110011000101000101100110011001101000100101000001100000010010110001100001000111110110111011111110000001111111110010111010010100100110011100011110100001010111101101110010001111001010001011001000110000001001110111110100100111100011001011001101010110111011100011011111010010011101010101001100000101010111010101110001011011011001110010010101011100010101100101111100110010000010110010101011001111111010110100011000111110111101100001101010011011101110010011110010011101100000001110010111011011011101010100010100010101101001000000001000101011101101111101011101011111000100001111001001110010101110101111100000000001001011010101101010111011111001110011110101101001110111111011010010111100001010011001111001011001100111010101001001101101111111100110010110010000110111100100111001101101101100100000010001011011011100110000000101000010000011100000010010010011110111111101111101001000101100010100001011000001110000000010010011110100010011010100000011101111000010001010001101000010111000110101011111001101010110100000111100000010100110101101011010110000111111110010101110001101001001100011100010110110100010101001001101100010000101101010100000000111001100000111100111010010010100111000100100100001110000110010001000000111100001101011101100110111000111011100001111011010111110000110011010010001001011011000011110011000001001101010011111110001100010111011101010001110010101100101001011101110010000011001001100111111100010000001001111100111011110100011111110011001011001011111001111011101001100000100111010111111111011111100011100110111001101000010110011100110010001010101111111111010111010111011000010101100001100100100001011011001000001001110111001001010011010000000101011101011001111010110101001000101110111101110101100101101001100110010010100111101011010001001101101101100001101111010110101000011110010100010110100000001111011101100001010011010010001110010011110110011001111111000010000111000100010010101011001110100100010100110011011001101100100000110111111100100001110001010001000110000110010100011000101001111111010001000010010110001011101100011100010011111001101011101100101100110101100100001010010111111101000010010111100010011000010101111101110001111001100011001111010101001111000000100101111001010000100001011100001011010101110111001111000011111001000101010111010000100010110100100001101100001111111110000100010110100000111100000000110111111001111100110100000010010001000110001011111001111110010110111011111011000000010101010011000010001100010100111111011100011101001100000000011111100011010100100010010101001110101110010011001110110010111101010111010101101101101010111111111011100110001100110001101110010001010010011010110101011110110110100000010011101011101111101001111110001100100110111001010100100111100111101110001000111011100101011010010101010101111001010010011110001000000101111010110101110001101001101101001010011101101001001100001110111010110110000001111011110101111100010101010100110000111011010000100010000110011111110110100010011111111110101010000001001111101100111110110100001001110111010100101010011101010001101011001110001000111010010100011101111101000010000011010101100010000000011001111100111010000011110101011110100011110100100011001011111101011101101101001100100110010111111110010110101000111101001111101000101111011010000111111101110110010110100101001110111111110111101000100001111000101100011010010101010010111011110000101001011010101001110101001101011001111010100011101110110010000101001101010011110001000101000110101011111111100110100010011011111001010111011011011110011010101011010100100111111000100011111110010000010011100110010001100001011111110111111100011100000001010101000100110010011001101100010011101111100011000001111111010001110000101011100100000100010100001101010010011000110001001111111000110100110100010010001001000100111111000011111111111101001111100011010010001010111101000001111101101100001100011110000011011100001110011010010001000001110010101101000101111101011011111111111001101001000111101000100010110011010101110000100011010101010000000010101110010100011001010001111010001101110111111000000011011111101100000110010010001001000011111011011101011110100010100111111100100010101100101100100001011100100010011110101000111011111111000111111101000001011011111111100000101101110010110010001000010111011001110101110000001001000101010100100101101101110111011111101001001011110011101001010101010110011100100010000111111111000010001001110111011110001010011111100111010011000111000101101001111100111001111110011101110000111001010001111101001010110111000010111101010001110000100110101011011110000000011001001101010110100010110010010011111010110100001101010111001011110010111010100010110001111001011000011011010010011100000101101100111000101010110110010101110110000011011011000011100100011000000010110001110000010010101000000001100101100101101111000001001000100010110100100110001010100000000011111001000000101010111101100010000101010101000110100010001101000100001111010101111110011001011100100111011011010010101101110110101010001111000000011111100011101111000110000111110100100111110010000011010001101010100011100101101011001101000110101100000100110100000011110110111011000000111110101000111110110010111001011000000110011110001111110100001101010111000001001111010100010001110100110011011101111010100110010010000100100100100011111100111100111110101110110010001011101010111110100011011010101010100011010011100101001000101100101100101011100110101110111011101110111010001100110111011001110010000110110111110010110111111011000011001000100110111000000000100010001110101100100000001001100001110010001100101101111100101001101000000000111111001111011001111111101001110101001111010100110101011010000111000101101111011111010100001111101010100001010000101000010010010100110010011100010010111001110011000000001011111101111100000111010010110001000011110000010001001100011111001111000101001101011000101110000011100111110011000000110100011111001001010011101000011100011011000111101010100010110111001101001011010110111001111001001110100000000111011011110110101110101100111111111000110110101101110101101001010101111010110101100100001000001001011110001111010101100110000100001001111100111001011101100011100111101111111111100001101001011101010010001001010011010101001011110011100011111001101111001000001110011101110100011111111110111011011001010101111011011110100001000011000000111111001001110111111011100010011000110110111110100110011001000001111101011000010001111110000001100010101001110111011101110111011011111111101110101011111011010111101100000111101100100000111111101110101000101100110001000100001001111110110011101010110100000100000001111011000001101010010011001111001111110001010100110010010100011000001110011111100110100100101111011010001110110001100011110010011001001001110001101101111010011111111010111101111000101011111111001100011100111011000011010001111000001000111100001101110111111101001111110000100111111001010001110100111101010011111111001111100010110000010110000010010010111101011111010010011001000111101111111000011110010111010100101000001001001100101110100011101001110110000000110011010000010110000100011010010110011011011000011010100011101100010110110100001110011010101011011100010100111111010110111010111101010010001100110010110101101001000110000100010110000111111110000101100100100101001100010110001010010011011101111011010101010001000111001111111101000111010000101110100110101001010110001101110101000100100011001001110001010000110011001110101101011111001011101101010010101100100000001101110111011101110111000101010100010000000101000111110100011010110100011000101001010100010000001000011001101110111010001101010001100100000001111010111010101101000110101100000011100110010110010101101111111001100011111011001010010011010100110000111000010111000010010001101100100101100011001110001101101100011101000011010101000001011101001000000101010110011011011001000110100111101101001010001001011010011101110101011110010101101000110101001111101101111001011111100101010110010100100001101011110010100011100001011111010111100011001110110100010101001011010011110111111000001010001110011000010000100100001101110010101001100111101011110010111011000011110011000111001011000000100100011011110001111010010011000000000111011011111001010111110001000001011111100010011001100001111100001110110010111011110010101011010101011101000000100000011100010011111011111001011010100110000111110000110001110100100110101001101111110001001000010001110101111100000110100110100001101100010111110111100001110001100111001000000011111110011000000110101101111100001111000011110001011110000011110100111001010100000011011111111100101001110111100101101101101010110100001111000101111110010100100100101010100000111000000000110111111011011100101101110100011101101101010010100010100111111011111001111110001000110011101000100100001101100000100010100001110011100100000101011001000110000110110001011001101011000111101101000000101111001000101010011001100011110111011101011010011110101011100010001110011111101100000011001000110101000111101101111111001101111101111110100011001110101111101010100001110000000011100000000000000100001101010100000101110010110011110110111101111100011000010010110011100100011001011000100010000111001110011000101111011010111101110011000100000111010010101001000010101110001101110000101000110101011011010010101010111011101001111111000010000'
    # run_fips_test(tmp[0:20000])

    # testing nist
    p = 1024
    h = Hadamar(p)
    cs = CryptoSignal(p)

    # 2048 pfak 140
    # 256 pfak 32
    # 16 pfak 4
    # 512 pfak 52
    # 1024 pfak 81
    # 64 pfak 8

    hadamar_sig_list = h.getHadamMatrix()
    write_list_to_file(hadamar_sig_list, "hadamar" + str(p) + ".txt")

    # generating CS ensemble
    crypto_sig_ansam = cs.genereteAnsambleOfCryptoSig(5, 81)

    print("\nCRYPTOSIG")
Beispiel #6
0
    # print(len(only_decimated_signals))
    # asnsam_pfak_list = cal.auto_corel_all(only_decimated_signals, "PFAK")
    # cal.printFullStat(asnsam_pfak_list, 1, 256 - 1, True)
    # cal.printFullStat(asnsam_pfak_list, 1, 256 - 1)
    pfak_function = modules.arr_procedures.ansamble_correlation('PFAK')
    afak_function = modules.arr_procedures.ansamble_correlation('AFAK')
    pfvk_function = modules.arr_procedures.ansamble_correlation('PFVK')
    afvk_function = modules.arr_procedures.ansamble_correlation('AFVK')

    pfak_function(only_decimated_signals[1:10])
    afak_function(only_decimated_signals[1:10])
    pfvk_function(only_decimated_signals[1:10])
    afvk_function(only_decimated_signals[1:10])


if __name__ == '__main__':
    # Generating random sequence with 256 el
    cs = CryptoSignal(256)
    source_sig = cs.generateDefRandomSeq(32)

    #Source signal calculate PFAK, AFAK
    pfak_list, afak_list = test_auto_correl(source_sig, len(source_sig))

    cal.printFullStat([pfak_list], 1, len(source_sig) - 1, True)

    # Getting singals created with decimation method
    decimations = modules.arr_procedures.getDecimation(source_sig)
    test_stat_correl(decimations)

    #For each decimation signal calculate PFAK AFAK
Beispiel #7
0
import modules.arr_procedures
from classes.CryptoSignal import CryptoSignal
from modules import calculations as cal, plot

if __name__ == "__main__":
    p = 256
    cs = CryptoSignal(p)
    # путем ручного тестирования первое число длина сигнала, второе оптимальный
    # минимальный пфак по которому будут отбирать
    # сигналы, при таком пфак возможно найти сигналы с 0 пиками вблизи центра,
    # если меньше установить ,то на поиски уйдет больше времени

    # 2048 pfak 140
    # 256 pfak 32
    # 16 pfak 4
    # 1024 81pfak
    crypto_sig_ansam = cs.genereteAnsambleOfCryptoSig_zero(3, 50)

    print("\nPFAK CRYPTOGRAPHIC SIGNALS")
    ansam_pfak_list = modules.arr_procedures.auto_corel_all(
        crypto_sig_ansam, "PFAK")

    for i in range(0, len(crypto_sig_ansam)):
        print(i + 1, ")", crypto_sig_ansam[i])
        print("PFAK: ", ansam_pfak_list[i])
        plot.build_plotly(ansam_pfak_list[i],
                          "ПФАК КС №{0} L = {1}".format(i + 1, p))