КриптоПро CSP  

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

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

СтруктурыОписание
CSP_Multipacket_Используется только для совместимости; заменена CSP_Multipacket_ENC и CSP_Multipacket_DEC.
CSP_Multipacket_ENC_Структура для передачи параметров для шифрования в случае мультипакетной обработки (использования флага CP_CHP_MULTIPACKET). Мультипакет передаётся массивом структур CSP_Multipacket_ENC. Каждая структура передаёт пакет как линейный буфер, либо как IOVEC, если в параметре dwFlags установлены флаги CP_CRYPT_HASH_PACKET, CP_CHP_MULTIPACKET и CP_CRYPT_DATA_IOVEC.
CSP_Multipacket_DEC_Структура для передачи параметров для расшифрования в случае мультипакетной обработки (использования флага CP_CHP_MULTIPACKET). Мультипакет передаётся массивом структур CSP_Multipacket_DEC. Каждая структура передаёт пакет как линейный буфер, либо как IOVEC, если в параметре dwFlags установлены флаги CP_CRYPT_HASH_PACKET, CP_CHP_MULTIPACKET и CP_CRYPT_DATA_IOVEC.
МакросыОписание
MultiPacket_ENC_PTR Макрос возвращает указатель на шифруемый пакет с номером n в массиве пакетов.
MultiPacket_DEC_PTR Макрос возвращает указатель на расшифровываемый пакет с номером n в массиве пакетов.
MultiPacket_ENC_LEN Макрос возвращает длину шифруемого пакета с номером n в массиве пакетов либо общую длину в представлении шифруемого пакета вектором ввода-вывода.
MultiPacket_DEC_LEN Макрос возвращает длину расшифровываемого пакета с номером n в массиве пакетов либо число элементов вектора ввода-вывода.
MultiPacket_ENC_BUFLEN Макрос возвращает длину буфера шифруемого линейного пакета с номером n в массиве пакетов либо число элементов вектора ввода-вывода.
MultiPacket_ENC_RES Макрос возвращает результат обработки пакета с номером n в массиве пакетов. Для функций CPEncrypt(), CPCEncrypt() перед их вызовом в это поле устанавливается единица. Параметры:
  • p - указатель на первый элемент в массиве структур CSP_Multipacket_ENC;
  • n - номер структуры в массиве пакетов.
MultiPacket_DEC_RES Макрос возвращает результат обработки пакета с номером n в массиве пакетов. Для функций CPDecrypt(), CPCDecrypt() перед их вызовом в это поле устанавливается единица. После вызова функций CPDecrypt(), CPCDecrypt() значение ноль в данном поле свидетельствует, что пакет с номером n обработан корректно, значение хэш функции пакета совпало с вычисленным значением; значение единица в данном поле свидетельствует о том, что значения хэш функций не совпали. Параметры:
  • p - указатель на первый элемент в массиве структур CSP_Multipacket_DEC;
  • n - номер структуры в массиве пакетов.