コード例 #1
0
def solve(crypt_msg):
    max_score, decoder, secret = 0, None, None
    unhex_msg = stringlib.decode_hex(crypt_msg)
    for c in range(256):
        dec_msg = strxor.strxor_c(unhex_msg, c)
        score = stringlib.score(dec_msg)
        if score > max_score:
            max_score, decoder, secret = score, c, dec_msg

    return secret, max_score, decoder
コード例 #2
0
ファイル: test8.py プロジェクト: Renelvon/matasano
def solve(filename):
    with open(filename, "r") as f:
        min_cnt, msg = None, None
        for i, line in enumerate(f):
            unhex_msg = stringlib.decode_hex(line.rstrip())
            block_cnt = (len(unhex_msg) + 15) // 16
            blocks = (unhex_msg[16*k: 16*(k + 1)] for k in range(block_cnt))
            unequal_block_cnt = len(set(blocks))
            if min_cnt is None or unequal_block_cnt < min_cnt:
                min_cnt = unequal_block_cnt
                msg = line.rstrip()
        return min_cnt, msg
コード例 #3
0
ファイル: test8.py プロジェクト: Renelvon/matasano
def solve(filename):
    with open(filename, "r") as f:
        min_cnt, msg = None, None
        for i, line in enumerate(f):
            unhex_msg = stringlib.decode_hex(line.rstrip())
            block_cnt = (len(unhex_msg) + 15) // 16
            blocks = (unhex_msg[16 * k:16 * (k + 1)] for k in range(block_cnt))
            unequal_block_cnt = len(set(blocks))
            if min_cnt is None or unequal_block_cnt < min_cnt:
                min_cnt = unequal_block_cnt
                msg = line.rstrip()
        return min_cnt, msg
コード例 #4
0
ファイル: test1.py プロジェクト: Renelvon/matasano
def solve(bstring):
    dec_hex = stringlib.decode_hex(bstring)
    enc_base64 = stringlib.encode_base64(dec_hex)
    return enc_base64
コード例 #5
0
ファイル: test2.py プロジェクト: Renelvon/matasano
def solve(hex1, hex2):
    dec1 = stringlib.decode_hex(hex1)
    dec2 = stringlib.decode_hex(hex2)
    xored = strxor.strxor(dec1, dec2)
    return stringlib.encode_hex(xored).lower()
コード例 #6
0
def solve(hex1, hex2):
    dec1 = stringlib.decode_hex(hex1)
    dec2 = stringlib.decode_hex(hex2)
    xored = strxor.strxor(dec1, dec2)
    return stringlib.encode_hex(xored).lower()