Versions Compared

Key

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

...

Deck of Cards
id001
Card
labelС
Code Block
languagecpp
int GRD_API GrdTransformEx(	
  HANDLE hGrd,
  DWORD dwAlgoNum,
  DWORD dwLng,
  void *pData,
  DWORD dwMethod,
  DWORD	dwIVLng
  void *pIV
  void	*pReserved
);		
Expand
titleПараметры функции

hGrd

хэндл, через который будет выполнена данная операция

dwAlgoNum

номер аппаратного алгоритма, которым будет производиться преобразование

dwLng

длина блока данных в байтах

pData

буфер данных для преобразования

dwMethod

метод преобразования, который задается комбинацией флагов GrdAM_XXX. Для алгоритмов Guardant Stealth I и Fidus значение параметра должно быть 0

Биты 0-5 - режим работы алгоритма

GrdAM_ECB

Режим электронной кодовой книги

GrdAM_CBC

Режим сцепления кодированных блоков

GrdAM_CFB

Режим с кодированной обратной связью

GrdAM_OFB

Режим с обратной связью по выходу

Бит 6 - резерв

Бит 7 - тип операции

GrdAM_Encode

Кодировать блок

GrdAM_Decode

Декодировать блок

Флаги GrdSC_XXX тут не используются, так как это просто синоним старой функции nXkTransformEx. Мы рекомендуем вместо нее использовать функцию GrdCrypt.

dwIVLng

Длина вектора инициализации:
- для GSII64 - 8 байтов, для AES - 16 байтов,
- для алгоритмов Guardant Stealth I и Fidus значение параметра должно быть NULL, поскольку в этих алгоритмах вектор инициализации не используется

pIV

8-байтовый вектор инициализации.
Если в качестве указателя на вектор инициализации задан NULL, то преобразование пройдет корректно, при этом будет использован нулевой вектор
Для алгоритмов Guardant Stealth I и Fidus параметр не используются (значение должно быть NULL)

Reserved

не используется. Параметр должен быть равен NULL

Expand
titleВозвращаемое значение функции

GrdE_AlgoNotFound

Алгоритм с указанным номером не существует.

GrdE_CRCErrorFunc

Ошибка CRC при выполнении алгоритма. Эта ошибка обычно возникает, если длина преобразуемой последовательности не совпадает с заданной во время создания алгоритма.

GrdE_GPis0

Счетчик алгоритма достиг нулевого значения. Результат алгоритма больше нельзя получить.

Card
labelС#
Code Block
languagec#
public static GrdE GrdTransformEx(Handle grdHandle,GrdAlgNum algNum, byte[] data, GrdAM method, byte[] iv)

Expand
titleПараметры метода

grdHandle [in] 

Тип: Handle

хэндл, через который будет выполнена данная операция.

algNum [in]

Тип: GrdAlgNum

Номер аппаратного алгоритма, с помощью которого будет происходить преобразование.

data [in]

Тип: byte [ ]

Буфер данных для преобразования.

method [in]

Тип: GrdAM

Метод преобразования. Задается комбинацией флагов GrdAM.

iv [in]

Тип: byte [ ]

Вектор инициализации.

Expand
titleВозвращаемое значение метода
 
Card
labelJava
Code Block
languagejava
 public static GrdE GrdTransformEx(Handle grdHandle, int algoNum, byte[] data, GrdAM method, byte[] iv)
Expand
titleПараметры метода
 
Expand
titleВозвращаемое значение метода
 

...