Card |
---|
| Code Block |
---|
| int GRD_API GrdCrypt(
HANDLE hGrd,
DWORD dwAlgo,
DWORD dwDataLng,
void *pData,
DWORD dwMethod,
DWORD dwIVLng,
void *pIV,
void *pKeyBuf,
void *pContext
void *pReserved
); |
Expand |
---|
| 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 | Единственный блок данных |
| dwIVLng | длина вектора инициализации: - для GSII64 - 8 байтов, для AES - 16 байтов | pIV | вектор инициализации Если в качестве указателя на вектор инициализации задан 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) |
| Reserved | не используется. Параметр должен быть равен NULL |
|
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdCryptEx(Handle grdHandle, GrdAlgNum algNum, byte[] data, GrdAM method, byte[] iv)
public static GrdE GrdCryptEx(Handle grdHandle, GrdAlgNum algNum, byte[] data, GrdAM method, byte[] iv, byte[] key)
public static GrdE GrdCryptEx(Handle grdHandle, GrdAlgNum algNum, byte[] data, GrdAM method, byte[] iv, byte[] key, byte[] context) |
Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdCryptEx(Handle grdHandle, int algoNum, byte[] data, int method, byte[] iv)
public static GrdE GrdCryptEx(Handle grdHandle, int algoNum, byte[] data, int method, byte[] iv, byte[] key)
public static GrdE GrdCryptEx(Handle grdHandle, int algoNum, byte[] data, int method, byte[] iv, byte[] key, byte[] context) |
Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
|