Система шифрования AES-256-GCM работает по следующему алгоритму: habr.com
- Генерация длинной строки двоичных данных. habr.com Перед шифрованием сообщения используется блочный шифр, который шифрует блоки, содержащие счётчик, и 128-битную строку для аутентификации данных. habr.com
- XOR-выборка данных для шифровки. habr.com Данные для шифровки объединяются с ранее зашифрованными блоками-счётчиками. habr.com На этом шаге происходит шифрование сообщения. habr.com
- Применение «быстрого хеша» GMAC. habr.com Он используется поверх дополнительных данных, зашифрованных данных и размера обоих вводов, чтобы сгенерировать 128-битную строку для аутентификации данных. habr.com
При расшифровке алгоритм работает в обратном направлении: codeby.net
- Вход: зашифрованный текст, ключ, IV, МАС и AAD (если он использовался во время шифрования). codeby.net
- Выход: открытый текст или ошибка, если МАС или AAD не соответствуют зашифрованному тексту. codeby.net
GCM (от англ. Galois/Counter Mode — счётчик с аутентификацией Галуа) — режим аутентифицированного шифрования, который обеспечивает конфиденциальность и целостность переданных данных. ru.wikipedia.org