один、Документация онлайн-инструмента AES-шифрование/дешифрование
1.1、AES-шифрование/дешифрование Введение в алгоритм
AES-шифрование/дешифрование Алгоритмодин Алгоритм обратимого симметричного шифрования.,Этот тип алгоритма использует один и тот же ключ при шифровании и дешифровании.,Или используйте два ключа, которые можно легко вывести друг из друга.,один Обычно используется для шифрования данных между серверами и серверами./Расшифровать。этоодинпосажен на замену оригиналаDES、Advanced Encryption Standard (Расширенный стандарт шифрования), установленный 3DES.
1.2、AES-шифрование/дешифрование Характеристики алгоритма
Будучи обратимым и симметричным блочным шифрованием, алгоритм шифрования AES намного быстрее, чем алгоритмы шифрования, такие как шифрование с открытым ключом, которое требуется во многих ситуациях, но алгоритм AES требует, чтобы и шифрование, и дешифрование использовали один и тот же ключ. Один из главных недостатков.
2. Инструкция по использованию онлайн-инструмента AES-шифрование/дешифрование
2.1. Режим работы AES.
Обычными режимами работы AES являются: ECB, CBC, OFB, CFB, CFB8, CTR, GCM. За исключением того, что ECB не требует установки вектора инициализации IV и является небезопасным, другие режимы работы AES должны устанавливать вектор IV, среди которых Режим работы GCM более особенный.
Примечания к режиму работы AES-GCM:
- начальный вектор:вектор параметровIVЗначение эквивалентноGCMиспользовалNonce;
- дополнительное сообщение:GCMпреданный,Совместно используется обеими сторонами шифрования и дешифрования.,AAD может быть пустым;
- Код аутентификации сообщения:GCMСоздается после шифрования Код аутентификации messageTAG, используемый исключительно для расшифровки GCM.
2.2. Режим заполнения AES.
Блочные шифры могут работать только с блоками данных определенной длины, тогда как сообщения обычно имеют переменную длину, поэтому необходимо выбрать шаблон заполнения.
- заполнить разницу:существоватьECB、CBCПоследний в рабочем режимеодин块要существовать加密前进行填充,В противном случае выбирать Режим заполнения нет необходимости;
- Режим заполнения:AESподдерживается Режим заполнениядляPKCS7иNONEНет отступов。вPKCS7Стандартом является алгоритм заполнения данных, за которым следуют основные алгоритмы шифрования.。AES标准规定的区块长度для固定值128Bit,Соответствующая длина байта составляет 16 бит.,Это явно несовместимо с 8-битным фиксированным значением, используемым в стандарте PKCS5.,Хотя некоторые фреймворки можно универсально использовать в PKCS5 после специальной обработки.,Но из соображений долгосрочности и совместимости,Рекомендуется PKCS7.
2.3. Ключ AES KEY и вектор инициализации IV.
Вектор инициализации IV может эффективно повысить безопасность, но в реальных сценариях использования его нельзя сохранить напрямую в файле конфигурации или жестко запрограммировать в коде, как ключ KEY. Как правило, правильный способ обработки — включить IV. сторона шифрования. Это 16-битное случайное значение, которое затем возвращается на конец расшифровки вместе с зашифрованным текстом.
- КЛЮЧ:AESСтандарт предусматривает, что длина блока составляет всегоодинценить,Исправлено до 128 бит.,Соответствующий байт имеет длину 16 бит. AES предусматривает, что длина ключа имеет только три значения.,128Bit、192Bit、256Bit,Соответствующие байты — 16-битные, 24-битные и 32-битные.,КЛЮЧ не может передаваться публично,Используется для шифрования и дешифрования данных;
- Вектор инициализации IV:Это поле можно сделать общедоступным,Используется для рандомизации шифрования. Один и тот же открытый текст, зашифрованный несколько раз, приведет к созданию разных зашифрованных текстов.,Позволяет избежать более медленного процесса смены ключей,Векторы инициализации имеют другие требования безопасности, чем ключи.,Таким образом, IV обычно не нужно хранить в секрете. Однако в большинстве случаев,Не следует использовать один и тот же IV дважды с одним и тем же ключом.,один Обычно рекомендуется Вектор инициализации IV — 16-битное случайное значение.