Advertisement
yeuchimse

WhiteHat Contest 09 - Crypto300

Apr 27th, 2015
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.75 KB | None | 0 0
  1. def encrypt(byte):
  2.     bit = bin(byte)[2:].rjust(8, '0')
  3.     bit = [int(x) for x in bit]
  4.  
  5.  
  6.     a = 1 - (bit[0] & bit[1])
  7.     b = 1 - (bit[2] & bit[3])
  8.     c = 1 - (bit[4] & bit[5])
  9.     d = 1 - (bit[6] & bit[7])
  10.  
  11.  
  12.     A = 1 - (bit[0] & bit[2])
  13.     B = 1 - (bit[1] & bit[3])
  14.     C = 1 - (bit[4] & bit[6])
  15.     D = 1 - (bit[5] & bit[7])
  16.  
  17.  
  18.  
  19.  
  20.     e = a ^ bit[1]
  21.     f = b ^ bit[1]
  22.     g = c ^ bit[2]
  23.     h = d ^ bit[3]
  24.     i = A ^ bit[4]
  25.     j = B ^ bit[5]
  26.     k = C ^ bit[6]
  27.     l = D ^ bit[7]
  28.  
  29.  
  30.     o = [0] * 8
  31.     o[0] = e ^ bit[7]
  32.     o[1] = f ^ bit[3]
  33.     o[2] = g ^ bit[4]
  34.     o[3] = h ^ bit[5]
  35.     o[4] = i ^ bit[6]
  36.     o[5] = j ^ bit[7]
  37.     o[6] = k ^ bit[0]
  38.     o[7] = l ^ bit[1]
  39.  
  40.  
  41.     return int(''.join([str(x) for x in o]), 2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement