AES сам по себе не имеет слабых ключей. Слабые ключи - это ключи, которые будут выдвигать специальные свойства блочного шифра. Например, слабый ключ может быть ключом, в котором двойное шифрование с этим ключом снова приведет к открытому тексту. Это определение слабого ключа, однако, не то, которое вы используете.
Конечно, угадывание времени - это реальная опция, и генератор случайных чисел можно засечь за это время, а ключи можно восстановить таким образом. , Так что это точно не сильно. Если случайное число генерирует какие-либо другие данные, то злоумышленник также может рассчитать предыдущие состояния, в том числе то, которое сгенерировало ключ. Не очень хорошая идея.
Любой симметричный шифр c требует, чтобы ключи были полностью непредсказуемыми. Это не значит, что их трудно угадать; их должно быть невозможно угадать. В противном случае надежность ключа не будет достигнута. Например, если вы используете 16 полностью случайных шестнадцатеричных символов вместо байтов в качестве ключа, вы уменьшите размер ключа вдвое, оставив только 128 бит вместо 128.
Та же проблема с паролями , К сожалению, пароли, которые приводят люди, невероятно слабы. Вот почему мы используем такие приемы, как растяжение ключа, в функции получения ключа на основе пароля или PBKDF для усиления шифрования на основе пароля или PBE.
Так что да, ключ на слабее ключа состоящий из полностью случайных байтов, потому что атакующему легче угадать его. Это в основном не зависит от используемого (блочного) шифра.
Содержимое ключа действительно определенно имеет значение.