Advertisement
Triacontakai

cool python script for aes-abc

Oct 12th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.74 KB | None | 0 0
  1. def aes_abc_decrypt(ct):
  2.     blocks = [ct[i * BLOCK_SIZE : (i+1) * BLOCK_SIZE] for i in range(len(ct) / BLOCK_SIZE)]
  3.  
  4.     for i in range(len(blocks)-1, 0, -1):
  5.         upper_blk = int(blocks[i].encode('hex'), 16)
  6.         lower_blk = int(blocks[i-1].encode('hex'), 16)
  7.  
  8.         blk_diff = upper_blk - lower_blk
  9.         if blk_diff < 0:
  10.             blk_diff += UMAX
  11.  
  12.         blocks[i] = to_bytes(blk_diff)
  13.  
  14.     ct_ecb = "".join(blocks)
  15.  
  16.     return ct_ecb
  17.  
  18. if __name__="__main__":
  19.     header, data = '', ''
  20.  
  21.     with open('body.enc.ppm', 'rb') as f:
  22.         header, data = parse_header_ppm(f)
  23.        
  24.     ct_ecb = aes_abc_decrypt(data)
  25.  
  26.     with open('flag.ecb.ppm', 'wb') as fw:
  27.         fw.write(header)
  28.         fw.write(ct_ecb)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement