cryptopals

https://cryptopals.com/
Log | Files | Refs

crack_mt_seed.py (538B)


      1 import time
      2 import random
      3 from mt19937 import MersenneTwister
      4 
      5 secret_seed = int(time.time())
      6 time.sleep(random.randint(40, 1000))
      7 secret_seed_output = MersenneTwister(secret_seed).extract_number()
      8 print secret_seed_output
      9 
     10 current_time = int(time.time())
     11 cracked_seed = 0
     12 
     13 for i in range(1001):
     14     if MersenneTwister(current_time - i).extract_number() == secret_seed_output:
     15         cracked_seed = current_time - i
     16         break
     17 
     18 print MersenneTwister(cracked_seed).extract_number()
     19 print cracked_seed
     20 print secret_seed == cracked_seed