Exemple #1
0
def crack(top_letter, en_top_letter, encrypted_hex):
    decoding_key = ''
    p_key = crack_key(en_top_letter, top_letter)
    bin_key = hex_to_binary(p_key)
    # print('key: {}'.format(hex_to_ascii(p_key)))
    # print('key bin: {}'.format(bin_key))

    hex_clear_text = ''
    for i in range(0, len(encrypted_hex), 2):
        enc_hex = encrypted_hex[i:i + 2]
        hex_clear_text += binary_to_hex(
            inverse_bitwise_xor(bin_key, hex_to_binary(enc_hex)))

    return hex_clear_text, p_key
Exemple #2
0
def ascii_str_to_binary(ascii_str):
    bin_str = ''
    for c in ascii_str:
        bin_str += hex_to_binary(ascii_letter_to_hex(c))
    return bin_str
Exemple #3
0
def hex_xor(hex_input, hex_xor_value):
    bin_input = hex_to_binary(hex_input)
    xor_input = hex_to_binary(hex_xor_value)
    return binary_to_hex(bitwise_xor(bin_input, xor_input))
Exemple #4
0
def crack_key(top_letter, en_top_letter):
    bin_top_l = hex_to_binary(top_letter)
    bin_top_en = hex_to_binary(en_top_letter)
    bin_key = inverse_bitwise_xor(bin_top_en, bin_top_l)
    return binary_to_hex(bin_key)
Exemple #5
0
def hex_to_ascii_letter(hex_v):
    return ASCII[binary_to_decimal(hex_to_binary(hex_v))]