def extend_message(message, extension, init, key_len):
    ''' Length based extension attack on a sha1 keyed authentication code
        Arguments:
            message: Original message
            extension: Message to append
            init: list of sha1 init variables
            key_len: length of key
    '''

    original_len = key_len + len(message)
    glue_padding = get_glue_padding(original_len)
    original_len += len(glue_padding)

    new_message = message + glue_padding + extension

    new_hash = sha1.sha1(extension, init, original_len)

    return (new_message, new_hash)
Ejemplo n.º 2
0
def extend_message(message, extension, init, key_len):
    ''' Length based extension attack on a sha1 keyed authentication code
        Arguments:
            message: Original message
            extension: Message to append
            init: list of sha1 init variables
            key_len: length of key
    '''

    original_len = key_len + len(message)
    glue_padding = get_glue_padding(original_len)
    original_len += len(glue_padding)

    new_message = message + glue_padding + extension

    new_hash = sha1.sha1(extension, init, original_len)

    return (new_message, new_hash)
Ejemplo n.º 3
0
 def mac(self, text):
     return sha1.sha1(self.key + text)
Ejemplo n.º 4
0
 def mac(self, text):
     return sha1.sha1(self.key + text)