Cześć. Badam czas pracy algorytmu szyfrującego AES w Pythonie. Kod pochodzi z Internetu:
https://pastebin.com/Dg55KQCT
Dodałem do niego time.time() przed i po wywołaniu komendy, która odpowiada za szyfrowanie. Bo tylko czas szyfrowania mnie interesuje. Ale te czasy mocno się wahają. Żeby mieć jakiś obiektywizm chciałbym zmierzyć szyfrowanie tekstu powiedzmy 100 tys. razy. Ale jak to zrobić? Napisałem sobie taką pętlę:
start = time.time()
i=0
while i < 10
r = Rijndael("abcdefg1234567890123456789012345", block_size = 32)
ciphertext = r.encrypt("12345999999999999999999999954321")
i += 1
print (i)
end = time.time()
#print (plaintext,ciphertext)
a=end-start
print (a)
Ale nie działa. Powinno wykonać szyfrowanie 10 razy i za każdym razem wypisać "i", według mnie. Coś się oczywiście nie zgadza, nie wiem co.
Swoją drogą wracam do programowania po latach i szybko sobie przypomniałem dlaczego porzuciłem naukę programowania. Nie widzę tu logiki ani sensu. Jest pętla, jest funkcja. Z jakichś niezrozumiałych powodów się jednak nie wykonuje. Pomijam oczywiście, że cały kod mnie przerasta i nawet rozumiejąc algorytm AES, nie rozumiem kodu, ale nie muszę rozumieć, chcę zmierzyć tylko czasy.