Is this right? The RFC explicitly states how to pad `key` if it's shorter than `block_size` bytes? I'd have assumed OpenSSL (and any other backend) would ust handle that for us.