Почему все входы в AES должны быть кратны 16?

Я использую реализацию AES PyCrypto и пытаюсь зашифровать некоторый текст (24 байта) с помощью 24-байтового ключа.

aes_ecb = AES.new('\x00'*24, AES.MODE_ECB)
aes_ecb.encrypt("123456"*4)

Я получаю эту удивительную ошибкуValueError: Input strings must be a multiple of 16 in length
Так почему мой вклад должен быть кратным 16? Для меня было бы больше смысла, что длина входной строки должна быть кратна размеру моего ключа, потому что это позволило бы делать хорошие побитовые операции между ключом и блоками открытого текста.

Ответы на вопрос(3)

Ваш ответ на вопрос