Я хочу знать, есть ли разница между этими двумя методами шифрования? Я никогда не использовал это раньше. Мой клиент попросил меня использовать шифрование AES-128, но когда я его гуглю, он показывает мне «aes-128-cbc», «aes-128-ctr», «aes-256-cbc» или «aes-256-ctr» «так что я хочу знать, какой из них мне следует использовать, который будет похож на AES-128?
ссылка ссылка: это где я должен отправить метод шифрования
3 вещи:
Теперь ваш клиент попросил вас зашифровать с помощью AES-128. Таким образом, вы должны использовать шифрование AES с размером ключа 128 бит. Любой режим, который вы можете использовать, будет вашим предпочтением. Я бы предпочел CBC.
Просто короткая заметка о CBC против ECB. Когда вы шифруете с помощью ECB, каждые 128 бит (в зависимости от размера блока) данных шифруются одним и тем же ключом. Если в открытом тексте есть какой-либо шаблон, результирующий зашифрованный текст также будет предсказуемым, независимо от того, насколько хорош алгоритм шифрования.
ЕЦБ:
Plain text: aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa
---------------- ---------------- ----------------
Encrypted: bdefjakjapqeiowp bdefjakjapqeiowp bdefjakjapqeiowp
Если вы используете CBC, первый блок получает XOR с IV (вектором инициализации) и шифруется ключом, а второй блок получает XOR с первым блоком, а затем шифруется ключом, третий — со вторым. Получающийся в результате шифр тогда менее уязвим для частотного анализа.
Это изображение взято из Wikimedia Commons, свободного хранилища медиа
Недостатком является то, что вы не можете распараллелить шифрование / дешифрование, так как вам нужен результат предыдущего блока, поэтому он может быть медленнее. Но на практике это не имеет никакого значения.
Глядя на ссылку, которую вы включили, он говорит, что примет несколько различных режимов, в том числе CBC. Если у вас нет особых причин не использовать его, используйте AES-128-CBC. Режим CBC — хороший режим общего назначения. Вам также нужно будет понять использование отступов (используйте PKCS # 5 или PKCS # 7, что позволяет ваша система) и вектор инициализации IV, чтобы режим CBC работал правильно.
Не используйте режим ECB, так как он небезопасен и пропускает информацию.
Вот aes-128-cbc
а также aes-128
, aes
обозначает расширенный сервис шифрования, 128
это битрейт, и CBC
это режим шифрования.
Тем не менее, это читается и используется только в OPEN SSL
Форматы. До открытия SSL, PHP использовался mcrypt_encrypt
который не был должным образом разработан (более старые версии PHP).
aes-128
может также ссылаться на rijndael
при использовании mcrypt
,