Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleВыходные параметры

Cтандартный набор ошибок

Expand
titleОписание

Функция GccaCryptEx позволяет зашифровывать и расшифровывать данные с помощью алгоритма AES128. GccaCryptEx предназначена для работы с алгоритмами шифрования с переменным вектором инициализации.

Преобразование производится алгоритмом с порядковым номером, заданным в параметре dwAlgo. В зависимости от номера алгоритма dwAlgo функция определяет, каким образом реализован алгоритм - аппаратным или программным.

Программно-реализованные алгоритмы шифрования при шифровании больших массивов данных используют контекст, память для которого размером не менее GrdXXXXXX_CONTEXT_SIZE должна быть зарезервирована до вызова функции. Указатель на буфер для контекста передается через параметр pContext.

Длина шифруемых блоков данных зависит от метода шифрования (см. описание методов в Руководство пользователя, часть 3). Для методов CFB и OFB длина шифруемых блоков может быть произвольной.

Если в дескрипторе аппаратного алгоритма установлен флаг nsafl_GP_dec (уменьшение счетчика), вычитание счетчика GP происходит при каждом вызове GccCryptEx.

Новый параметр (dwIVLng) имеет смысл для аппаратных алгоритмов с переменным вектором инициализации, которые появятся в будущем. На существующих алгоритмах это отразится лишь в том случае, если указывается длина вектора инициализации от 0 до 8 байт (включительно). При указании длины более 8 байт шифрование происходит с использованием первых 8 байт указанного вектора инициализации.

При вызове GccaCryptEx с нулевым указателем на вектор инициализации возвращается GrdE_OK, шифрование и последующее расшифрование происходит нормально в любых режимах (в т. ч. тех, которые требуют вектор инициализации). Ситуация полностью аналогична использованию нулевого вектора инициализации или вектора инициализации нулевой длины. Может работать как через защищенные ячейки типа алгоритм, так и напрямую обращаться к алгоритму AES128 (GrdSC_AES128 в параметре dwAlgo).

...