| 40 | |
| 41 | |
| 42 | def function(expansion, s0, s1, key, message): |
| 43 | left = message[:4] |
| 44 | right = message[4:] |
| 45 | temp = apply_table(right, expansion) |
| 46 | temp = xor(temp, key) |
| 47 | left_bin_str = apply_sbox(s0, temp[:4]) |
| 48 | right_bin_str = apply_sbox(s1, temp[4:]) |
| 49 | left_bin_str = "0" * (2 - len(left_bin_str)) + left_bin_str |
| 50 | right_bin_str = "0" * (2 - len(right_bin_str)) + right_bin_str |
| 51 | temp = apply_table(left_bin_str + right_bin_str, p4_table) |
| 52 | temp = xor(left, temp) |
| 53 | return temp + right |
| 54 | |
| 55 | |
| 56 | if __name__ == "__main__": |