Guest User

Key reconstructor for TeslaCrack

a guest
Dec 13th, 2015
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. import sys
  2. import os
  3. import struct
  4. from Crypto.Cipher import AES
  5. import binascii
  6.  
  7. primes = [
  8.      2,
  9.      3,
  10.      3,
  11.      3,
  12.      3,
  13.      5,
  14.      53,
  15.      223,
  16.      58741,
  17.      893213,
  18.      28970877851,
  19.      117841794409,
  20.      25021050921059072897,
  21.      3657158624554318168403263120870530469,
  22.      5796541384453701088685497253162999309444909778482679302833,
  23. ]
  24.  
  25. def padkey(str):
  26.     while len(str) < 32:
  27.         str = '0' + str
  28.     return str
  29.  
  30. iv = b'\x27\x51\x0A\xBF\x31\x8D\x69\x26\x17\x78\x97\x2B\x98\x7D\xF6\x9F'
  31.  
  32. n=0
  33.  
  34. with open("sample3.bin", "rb") as f:
  35.     data = f.read()
  36.     for i in xrange(1<<len(primes)):
  37.         x = 1
  38.         for j in xrange(len(primes)):
  39.             if i & 1<<j:
  40.                 x *= primes[j]
  41.         if 1<<224 < x < 1<<256 and AES.new(binascii.unhexlify('%064x' % x), AES.MODE_CBC, iv).decrypt(data).startswith('\r\n'):
  42.             print hex(x).upper() + " " + AES.new(binascii.unhexlify('%064x' % x), AES.MODE_CBC, iv).decrypt(data)
  43.             n+=1
  44. print n
Add Comment
Please, Sign In to add comment