Значения переключателей кода на более быстрый (с использованием SSE2).
При использовании в функции CPGetProvParam (PP_FAST_CODE_FLAGS), в параметре pbData возвращаются флаги, определяющие набор проверенных на включённый код функций. Указание, какие функции проверять на включённый код, передаётся во флагах dwFlags.
Если применён флаг CRYPT_FAST_CODE_GET_SETFN, при выходе CSP_FAST_CODE_GET_SETFN будет установлен в 1, если провайдер может использовать быстрый код, и 0 - иначе. Если установлен флаг CRYPT_FAST_CODE_ALL_FUNCTIONS, будут проверяться все функции, и на выходе будут установлены все флаги CSP_FAST_CODE_E_ECB , CSP_FAST_CODE_E_CBC , CSP_FAST_CODE_E_CNT , CSP_FAST_CODE_E_CFB , CSP_FAST_CODE_E_OFB , CSP_FAST_CODE_E_CTR , CSP_FAST_CODE_D_ECB , CSP_FAST_CODE_D_CBC , CSP_FAST_CODE_D_CNT , CSP_FAST_CODE_D_CFB , CSP_FAST_CODE_D_OFB , CSP_FAST_CODE_D_CTR , CSP_FAST_CODE_MD_ECB , CSP_FAST_CODE_GR3411SP , CSP_FAST_CODE_GR3411H , CSP_FAST_CODE_GR3411HV , CSP_FAST_CODE_HASH , CSP_FAST_CODE_HASH_2012 , CSP_FAST_CODE_HASH_2012HV , CSP_FAST_CODE_IMIT , CSP_FAST_CODE_IMIT_EX , CSP_FAST_CODE_MULT , в 1, если соответствующая функция использует быстрый код, и 0 - иначе. В режиме пользователя следует вместо флага CRYPT_FAST_CODE_ALL_FUNCTIONS использовать CRYPT_FAST_CODE_ALL_USER_FUNCTIONS, а в режиме ядра ОС - CRYPT_FAST_CODE_ALL_KERNEL_FUNCTIONS. На выходе флаг CSP_FAST_CODE_GET_FN установлен в 1, если быстрый код работает во всех выбранных функциях, и 0 если хотя бы одна из выбранных функций не сработала. Поведение не выбранных флагов не определено.
Макросы | Описание |
---|---|
CSP_FAST_CODE_GET_FN | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется для определения полноты набора установленных быстрых функций. |
CSP_FAST_CODE_GET_SETFN | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется для определения, может ли провайдер исполнять быстрый код на данной машине. |
CSP_FAST_CODE_E_ECB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по ECB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_E_CBC | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по CBC Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_E_CNT | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по CNT Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_CNT | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по CNT Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_E_CFB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по CFB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_ECB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по ECB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_CBC | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по CBC Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_CFB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по CFB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_MD_ECB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции маскирования ключа Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_GR3411SP | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в упрощенной функции хэширования. Флаг устанавливается только в режиме ядра ОС. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_GR3411H | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции хэширования. Флаг устанавливается только в режиме ядра ОС. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_GR3411HV | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции проверки хэша. Флаг устанавливается только в режиме ядра ОС. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_HASH | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции хэш-преобразования. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_IMIT | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции выработки имитовставки. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_MULT | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции умножения. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_MULT_ATT | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функциях умножения в UNIX-оподобных системах. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_HASH_2012 | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции хэш-преобразования по ГОСТ Р 34.11-2012. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_HASH_2012HV | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции проверки хэша по ГОСТ Р 34.11-2012. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_DISABLE_SSSE3 | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, используется ли SSSE3 код. Выставлен, если код не используется. |
CSP_FAST_CODE_DISABLE_AVX | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, используется ли AVX код. Выставлен, если код не используется. |
CSP_FAST_CODE_RT_TS | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Признак, что для захвата FPU используется TS-бит (Solaris, Linux). |
CSP_FAST_CODE_E_OFB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по OFB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_OFB | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по OFB Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_E_CTR | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции зашифрования по CTR Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_D_CTR | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции расшифрования по CTR Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_IMIT_EX | Флаг, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции выработки имитовставки. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_MGM_AUTH | Флаг, возвращаемый функцей CPGetProvParam (PP_FAST_CODE_FLAGS). Используется как флаг для проверки, какой код применяется в функции аутентификации MGM. Равен 1 в случае быстрого кода данной функции, и 0 иначе. |
CSP_FAST_CODE_ALL_ENCRYPT | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги функций зашифрования. |
CSP_FAST_CODE_ALL_DECRYPT | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги функций расшифрования. |
CSP_FAST_CODE_ALL_HASH | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги функций хэширования. |
CSP_FAST_CODE_ALL_MULT | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги функций умножения. |
CSP_FAST_CODE_ALL_CRYPT | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги функций шифрования. |
CSP_FAST_CODE_ALL_FUNCTIONS | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги переключаемых функций криптопровайдера. |
CSP_FAST_CODE_ALL_KERNEL_FUNCTIONS | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги переключаемых функций криптопровайдера режима ядра ОС. |
CSP_FAST_CODE_ALL_USER_FUNCTIONS | Набор флагов, возвращаемый функцией CPGetProvParam (PP_FAST_CODE_FLAGS). Группирует все флаги переключаемых функций криптопровайдера пользовательского режима. |
CRYPT_FAST_CODE_ALL_KERNEL_FUNCTIONS | Флаг, используемый при вызове CPGetProvParam (PP_FAST_CODE_FLAGS), запрашивает вариант кода для всех функций провайдера в режиме ядра ОС. |
CRYPT_FAST_CODE_ALL_USER_FUNCTIONS | Флаг, используемый при вызове CPGetProvParam (PP_FAST_CODE_FLAGS), запрашивает вариант кода для всех функций провайдера в режиме пользователя. |
CRYPT_FAST_CODE_ALL_FUNCTIONS | Флаг, используемый при вызове CPGetProvParam (PP_FAST_CODE_FLAGS), запрашивает вариант кода для всех функций провайдера. |
CRYPT_FAST_CODE_GET_SETFN | Флаг, используемый при вызове CPGetProvParam (PP_FAST_CODE_FLAGS), запрашивает результат определения процессора. |
CSP_OPERATION_CIPHER1 | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции нераспараллеливаемого шифрования. Также задает значение идентификатора набора функций нераспараллеливаемого шифрования, использующих расширение MMX (только для x86 архитектуры). |
CSP_OPERATION_CIPHER2 | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции распараллеливаемого шифрования. Также задает значение идентификатора набора функций распараллеливаемого шифрования, использующих расширения MMX, SSE2, SSSE3, AVX и CLMUL. В режиме ядра x64 MMX расширение не используется. В режиме ядра CLMUL расширение не используется. |
CSP_OPERATION_IMIT | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции выработки имитовставки. Также задает значение идентификатора набора функций выработки имитовставки, использующих расширение MMX (только для x86 архитектуры). |
CSP_OPERATION_HASH | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции хэширования. В данном случае необходимо сохранять не только регистры ST0 - ST7, но и XMM0 - XMM7. Также задает значение идентификатора набора функций хэширования, использующих расширения MMX и SSE2. В режиме ядра x64 MMX расширение не используется. |
CSP_OPERATION_MULT | Битовая маска для включения/выключения кода MMX в функции умножения. Задает значение идентификатора набора функций умножения по модулю P, использующих расширения MMX и SSE2. Применяется только в пользовательском режиме. |
CSP_OPERATION_MGM_AUTH | Битовая маска для включения/выключения быстрого кода функции MGM_Auth режима MGM. Задает значение логической суммы всех идентификаторов наборов функций, использующих расширения SSSE3 + CLMUL. В режиме ядра расширения не используются. |
CSP_OPERATION_ALL | Битовая маска для включения/выключения кода быстрого кода во всех функциях. Задает значение логической суммы всех идентификаторов наборов функций, использующих MMX, SSE2, SSSE3 и AVX. |
CSP_OPERATION_UNDEF | Битовая маска, означающая неопределенную установку функций. Применяется, если нужно установить набор функций по умолчанию для данного процессора. |
CPGetProvParam (PP_FAST_CODE_FLAGS)