Advertisement
Chris_M_Thomasson

Reverse Iteration Cipher in Python 3 (part 2)

Jul 12th, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. # Reverse iterate
  2. def revpow2(z, c, b):
  3.      if b == 1:
  4.             return -((z-c)**(0.5));
  5.      else:
  6.             return (z-c)**(0.5);
  7.  
  8.  
  9. # Forward iterate
  10. def fowpow2(z, c):
  11.      return z * z + c;
  12.  
  13.  
  14. # Encrypt bits
  15. def encrypt_bits(z, c, pt):
  16.     for b in pt:
  17.         z=revpow2(z,c,int(b));
  18.         print(z);
  19.     return z;
  20.  
  21.  
  22. # Decrypts bits
  23. def decrypt_bits(z, c, n):
  24.     s = ""
  25.     for b in range(n):
  26.         print(z);
  27.         s += "0" if z.real > 0 else "1";
  28.         z = fowpow2(z,c);
  29.     s = s[::-1]; # reverse the bits
  30.     return s;
  31.  
  32.  
  33.  
  34.  
  35. # The secret key (c), and origin point (z)
  36. c = (-.75+.09j);
  37. z = (0+0j);
  38. pt0 = "01000001010000010100000101000001";
  39. n = len(pt0);
  40.  
  41.  
  42. print("c:" + str(c));
  43. print("z:" + str(z));
  44. print("n:" + str(n));
  45. print("");
  46.  
  47.  
  48. print("Encrypt: " + pt0);
  49. print("______________________________________");
  50. ct = encrypt_bits(z, c, pt0);
  51. print("______________________________________");
  52. print("");
  53.  
  54.  
  55. print("Decrypt");
  56. print("______________________________________");
  57. pt1 = decrypt_bits(ct, c, n);
  58. print("______________________________________");
  59. print("");
  60.  
  61. print("Decrypted: " + pt1);
  62.  
  63. if pt0 != pt1: print("DATA CORRUPTED!!");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement