КриптоПро CSP  

Мультипакетная обработка

Функции CPEncrypt(), CPCEncrypt(),CPDecrypt(), CPCDecrypt() допускают мультипакетную обработку по технологии SIMD при использовании аппаратной платформы, поддерживающей расширения SSSE3, AVX.

СтруктурыОписание
CSP_Multipacket_Структура для передачи параметров в случае мультипакетной обработки (использования флага CP_CHP_MULTIPACKET). Мультипакет передаётся массивом структур CSP_Multipacket. Каждая структура передаёт пакет как линейный буфер либо как IOVEC если в параметре dwFlags устаны флаги CP_CRYPT_HASH_PACKET, CP_CHP_MULTIPACKET и CP_CRYPT_DATA_IOVEC в случае представления пакета через IOVEC.
МакросыОписание
MultiPacket_PTR Макрос возвращает указатель на пакет с номером n в массиве пакетов.
MultiPacket_LEN Макрос возвращает длину пакета с номером n в массиве пакетов либо число координат в представлении пакета вектором ввода вывода.
MultiPacket_LEN Макрос возвращает длину пакета с номером n в массиве пакетов либо число координат в представлении пакета вектором ввода вывода.
MultiPacket_BUFLEN Макрос возвращает длину буфера линейного пакета с номером n в массиве пакетов.
MultiPacket_RES Макрос возвращает результат оработки пакета с номером n в массиве пакетов. Для функций CPEncrypt(), CPCEncrypt(), CPDecrypt(), CPCDecrypt() перед их вызовом а это поле устанавливается удиница. После вызова функций CPDecrypt(), CPCDecrypt() значение ноль в данном поле свидетельствует, что пакет с номером n обработан корректно, значение хеш функции пакета совпало с вычисленным значением; значение единица в данном поле свидетельствует о том, что значения хеш функций не совпали. Параметры:
  • p - указатель на первый элемент в массиве структур CSP_Multipacket;
  • n - номер структуры в массиве пакетов.