Guest User

Untitled

a guest
Jan 16th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. # M2 = GF(2^8) * 2 multiplication table
  2. # for each column i :
  3.  
  4. s0 = state[(i<<3) + 0]
  5. s1 = state[(i<<3) + 1]
  6. s2 = state[(i<<3) + 2]
  7. s3 = state[(i<<3) + 3]
  8. s4 = state[(i<<3) + 4]
  9. s5 = state[(i<<3) + 5]
  10. s6 = state[(i<<3) + 6]
  11. s7 = state[(i<<3) + 7]
  12.  
  13. h = s7 ^ s6 ^ s5 ^ s4 ^ s3 ^ s2 ^ s1 ^ s0
  14. xh = M2[h] ^ h
  15.  
  16. state[(i<<3) + 0] ^= M2[M2[s7 ^ s6 ^ s4 ^ s3] ^ s6 ^ s4 ^ s3] ^ xh ^ s1 ^ s3
  17. state[(i<<3) + 1] ^= M2[M2[s0 ^ s7 ^ s5 ^ s4] ^ s7 ^ s5 ^ s4] ^ xh ^ s2 ^ s4
  18. state[(i<<3) + 2] ^= M2[M2[s1 ^ s0 ^ s6 ^ s5] ^ s0 ^ s6 ^ s5] ^ xh ^ s3 ^ s5
  19. state[(i<<3) + 3] ^= M2[M2[s2 ^ s1 ^ s7 ^ s6] ^ s1 ^ s7 ^ s6] ^ xh ^ s4 ^ s6
  20. state[(i<<3) + 4] ^= M2[M2[s3 ^ s2 ^ s0 ^ s7] ^ s2 ^ s0 ^ s7] ^ xh ^ s5 ^ s7
  21. state[(i<<3) + 5] ^= M2[M2[s4 ^ s3 ^ s1 ^ s0] ^ s3 ^ s1 ^ s0] ^ xh ^ s6 ^ s0
  22. state[(i<<3) + 6] ^= M2[M2[s5 ^ s4 ^ s2 ^ s1] ^ s4 ^ s2 ^ s1] ^ xh ^ s7 ^ s1
  23. state[(i<<3) + 7] ^= M2[M2[s6 ^ s5 ^ s3 ^ s2] ^ s5 ^ s3 ^ s2] ^ xh ^ s0 ^ s2
Add Comment
Please, Sign In to add comment