Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. ### In your xor program
  2. # your keystream goes there ->
  3. keystream = [102, 49, 48, 101, 55, ...]
  4. keystream = bytearray(keystream)
  5. print(keystream[:32])
  6. # copy output, you gonna need it later
  7. exit()
  8.  
  9. ### in shitty_cipher.py
  10. mport argparse
  11. import sys
  12.  
  13. # comment out this shit...
  14. #parser = argparse.ArgumentParser()
  15. #parser.add_argument("key")
  16. #args = parser.parse_args()
  17.  
  18. SUB = [0, 1, 1, 0, 0, 1, 0, 1]
  19. N_B = 32
  20. N = 8 * N_B
  21.  
  22. # Next keystream
  23. def step(x):
  24.     x = (x & 1) << N+1 | x << 1 | x >> N-1
  25.     y = 0
  26.     for i in range(N):
  27.         y |= SUB[(x >> i) & 7] << i
  28.     return y
  29.  
  30. # Keystream init
  31. # comment this, you dont need it
  32. # keystr = int.from_bytes(args.key.encode(),'little')
  33. # instead use bytearray from your keystream
  34. keystr = int.from_bytes(bytearray(b'...','little')
  35. for i in range(N//2):
  36.     keystr = step(keystr)
  37. print(keystr.to_bytes(N_B, 'little'))
  38. # your key ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement