https://medium.com/@Jakekrajewski/coding-aes128-bit-encryption-in-python-in-less-than-5-minutes-f6bcbddd2b82