hGrd | хэндл, через который будет выполнена данная операция. |
dwAlgo | номер аппаратного (GSII64) или программно-реализованного алгоритма (AES), которым будет производиться преобразование. Программно-реализованный алгоритм AES 256 имеет номер GrdSC_AES256. |
dwDataLng | длина блока данных в байтах |
pData | буфер данных для преобразования |
dwMethod | метод преобразования, который задается комбинацией флагов GrdAM_XXX и GrdSC_XXX Биты 0-5 - режим работы алгоритма | GrdAM_ECB | Режим электронной кодовой книги | GrdAM_CBC | Режим сцепления кодированных блоков | GrdAM_CFB | Режим с кодированной обратной связью | GrdAM_OFB | Режим с обратной связью по выходу | Бит 6 - резерв | Бит 7 - тип операции | GrdAM_Encrypt | Кодировать блок | GrdAM_Decrypt | Декодировать блок | Биты 8-9: тип блока данных | GrdSC_First | Первый блок данных | GrdSC_Next | Следующий блок данных | GrdSC_Last | Последний блок данных | GrdSC_All | Единственный блок данных |
|
pIV | вектор инициализации: для GSII64 - 8 байтов, для AES - 16 байтов. Если в качестве указателя на вектор инициализации задан NULL, то преобразование пройдет корректно, при этом будет использован нулевой вектор |
pKeyBuf | буфер для передачи ключа шифрования для программно-реализованного алгоритма (AES). Длина ключа 256 бит (32 байта). Только для программно-реализованных алгоритмов. При использовании аппаратного алгоритма параметр должен быть равен NULL |
pContext | буфер для контекста при шифровании больших массивов данных, которые разбиваются на несколько блоков. Для контекста должна быть зарезервирована память размером GrdXXXXXX_CONTEXT_SIZE байт в зависимости от алгоритма. Только для программно-реализованных алгоритмов. При использовании аппаратного алгоритма параметр должен быть равен NULL GrdAES256_KEY_SIZE | Длина ключа AES - 256 бит | GrdAES256_BLOCK_SIZE | Длина блока данных AES - 128 бит | GrdAES_CONTEXT_SIZE | Значение должно быть больше или равно sizeof(AES_CONTEXT) |
|