Question: def main (message, injection) : Your goal is to bypass the oracle's integrity check. This will break UF-CMA security of the scheme and demonstrate

def main (message, injection) : "" Your goal is to bypass the oracle's integrity check. This will break UF-CMA security of the scheme and demonstrate a length extension attack on the underlying SHA1 hash function, which relies on the Merkle-Damgard construction internally. Specifically, you must somehow craft a message that includes the given parameter WITHIN the default message AND find a valid tag for it WITHOUT querying the oracle. Your attack should be able to inject any message you want, but we want you to include your GT username specifically. print ("forging message that includes %s within %s" % (injection, message) ) # # TODO: Find a way to break UF-CMA security of the scheme. # # mi is the orignal message m1 = message + injection # you can make queries to the oracle #t1 is the tag of the original message t1 = oracle . query (m1) miBits = m1 if isinstance(mi, str ) : miBits = crypto . 52b(m1) sha1 = crypto . Shai( ) # added by student- abhutiany #lets first convert the message m to bits and then pad the message m # file= open("secret. txt", "r")
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
