Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. import numpy as np
  2.  
  3. def p_box(key, values):
  4. li = [0 for _ in range(len(key))]
  5. for i,ele in enumerate(key):
  6. li[i] = value[ele]
  7. return li
  8.  
  9. def left_shift(key):
  10. return [key[-1]]+key[:len(key)-1]
  11.  
  12. def gen_keys(key):
  13. assert len(key)==10
  14. key = p_box([3,5,2,7,4,10,1,9,8,6], key)
  15. part1 = left_shift(key[:5])
  16. part2 = left_shift(key[5:])
  17. key1 = p_box([6,3,7,4,3,5,10,9], part1+part2)
  18. part1 = left_shift(part1)
  19. part2 = left_shift(part2)
  20. key2 = p_box([3,1,7,6,8,4,10,2], part1+part2)
  21. return key1, key2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement