Create birthday_attack.py
This commit is contained in:
25
LabPSA_1/birthday_attack.py
Normal file
25
LabPSA_1/birthday_attack.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import hashlib
|
||||
import os
|
||||
import binascii
|
||||
|
||||
nr_collisions = 0
|
||||
hashed_dict = {}
|
||||
strn_table = {}
|
||||
n = 1
|
||||
file = open("results.txt", "w")
|
||||
while n < 11:
|
||||
strn = binascii.b2a_hex(os.urandom(16))
|
||||
hashed_strn = hashlib.md5(strn).hexdigest()
|
||||
sliced_hash = hashed_strn[:n]
|
||||
if sliced_hash in hashed_dict:
|
||||
nr_collisions += 1
|
||||
x = "----------------------------------------------------------------------------------"
|
||||
z = "Collision number: " + str(nr_collisions) + " "*n + "Collision: " + str(sliced_hash)
|
||||
a = "Hashes: " + " "*(n-7) + str(hashed_dict[sliced_hash]) + " " + str(hashed_strn)
|
||||
b = "Values: " + " "*(n-7) + strn.decode() + " " + strn_table[sliced_hash].decode()
|
||||
file.write(x + "\n" + z + "\n" + a + "\n" + b + "\n")
|
||||
n += 1
|
||||
else:
|
||||
hashed_dict[sliced_hash] = hashed_strn
|
||||
strn_table[sliced_hash] = strn
|
||||
file.close()
|
||||
Reference in New Issue
Block a user