Advertisement
e4ch

super_cipher_partial.py

Jan 22nd, 2018
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.50 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. import argparse
  4. import sys
  5.  
  6. parser = argparse.ArgumentParser()
  7. parser.add_argument("key")
  8. args = parser.parse_args()
  9.  
  10. RULE = [86 >> i & 1 for i in range(8)]
  11. N_BYTES = 32
  12. N = 8 * N_BYTES
  13.  
  14. def next(x):
  15.   x = (x & 1) << N+1 | x << 1 | x >> N-1
  16.   y = 0
  17.   for i in range(N):
  18.     y |= RULE[(x >> i) & 7] << i
  19.   return y
  20.  
  21. # Bootstrap the PNRG
  22. keystream = int.from_bytes(args.key.encode(),'little')
  23. for i in range(N//2):
  24.   keystream = next(keystream)
  25.  
  26. # Encrypt / decrypt stdin to stdout
  27. plaintex
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement