Я не уверен в первоначальной настройке AES, но я понимаю, как работает сам алгоритм, когда мы начинаем раунды 2–14 (subBytes, shiftRows, mixColumns, addRounKey), в зависимости от размера ключа.
Чего я не следую, так это начального пароля и настроек. Выбираем ли мы пароль любой длины или создаем собственный 128, 192 или 256-битный пароль, который затем используется во всем приложении?
например, в этом примере использования AES с cryptojs:
var myString = "attack at dawn";
var myPassword = "superSecretPassword";
var encrypted = CryptoJS.AES.encrypt(myString, myPassword);
выполняется ли переменная myPassword
через хеш для создания 128, 192 или 256-битного ключа? Для лучшей безопасности мы должны сделать уже myPassword
256 бит?