From fd9ed2ee1024cb1482d85889d4dce7cfadf478b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pelc?= Date: Mon, 11 Dec 2017 17:00:59 +0100 Subject: [PATCH] Wykonane na pierwszych zajeciach --- notatki_i_linki.txt | 9 +++++++++ script.py | 47 ++++++++++++++++++++++++++++++++++++++++++++ script.pyc | Bin 0 -> 410 bytes 3 files changed, 56 insertions(+) create mode 100644 notatki_i_linki.txt create mode 100644 script.py create mode 100644 script.pyc diff --git a/notatki_i_linki.txt b/notatki_i_linki.txt new file mode 100644 index 0000000..57f42af --- /dev/null +++ b/notatki_i_linki.txt @@ -0,0 +1,9 @@ +https://brain.fuw.edu.pl/edu/index.php/TI/Zadania_powtorzeniowe2 + +http://www.cs.haifa.ac.il/~orrd/HashFuncSeminar/Lecture3.pdf + +http://marc-stevens.nl/research/md5-1block-collision/ + +http://www.mscs.dal.ca/~selinger/md5collision/ + +http://www.staff.amu.edu.pl/~renmich/ZBIF/ \ No newline at end of file diff --git a/script.py b/script.py new file mode 100644 index 0000000..ff99e66 --- /dev/null +++ b/script.py @@ -0,0 +1,47 @@ +import md5 + +renmich_1 = 'renmich1123376350383621786626'; +renmich_2 = 'renmich3700873222361195459231'; + +def rmhash(input): + return md5.new(md5.new(input).digest()).digest()[1:3]; + +def find_colision(input): + tortoise=input; + hare=input; + i=0; + + dlugosc_cyklu = 0; + pierwsze_wystapienie_cyklu = 0; + + while i==0 or tortoise!=hare: + i+=1; + + tortoise=rmhash(tortoise); + + hare=rmhash(hare); + hare=rmhash(hare); + + print("Zolw: "+tortoise+" Zajac "+hare) + + #Przesuwam zajaca o jedno pole do przodu + hare=rmhash(hare); + + while tortoise!=hare: + previous_hare = hare; + hare=rmhash(hare); + dlugosc_cyklu+=1; + + print("Zajac jest na polu "+hare+" a byl na "+previous_hare) + + #Zolw na poczatek + tortoise = input; + + while tortoise!=hare: + previous_tortoise = tortoise; + tortoise=rmhash(tortoise); + pierwsze_wystapienie_cyklu+=1; + + print("Zolw jest na polu "+tortoise+" a byl na "+previous_tortoise) + print("Dlugosc cyklu: "+str(dlugosc_cyklu)) + print("Pierwsze wystapienie cyklu: "+str(pierwsze_wystapienie_cyklu)) \ No newline at end of file diff --git a/script.pyc b/script.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c11aa05f2a52b1a780680e159ccd2680dc6c2cc GIT binary patch literal 410 zcmZusO-sZu5S^rJ{Xl=f9y}^JNt4*L3nGH|J?w&qUPPK=vutZ=vWTFk^&jsK(3w(j z7aTHg-X!y8CeiNV?CEP-lrS2{_<-)O5G)=BYk&d?hk}8Ppx|I9@Qs%dy)MNOR=OXw zdALN{S8e0UT1usLW^|h9TpJ~`+!$r{D|D75d8U<8+DJJ|Z_}C5vSiqUJVJj&_tyvk zV8urK1lTfIaoFw=++?~GwEf&2BMOoSg2tvpY^(PWV{YAR<%6IRVOYKGHbGzp1Nc*9 zzU*BWZn}>_(Kq#ruSx4^05CB@To4abJ^uJv9%O1kioeGHbw9z1yXMVq*3~^N