Значения переключателей кода на более быстрый (с использованием 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_D_ECB , CSP_FAST_CODE_D_CBC , CSP_FAST_CODE_D_CNT , CSP_FAST_CODE_D_CFB , CSP_FAST_CODE_MD_ECB , CSP_FAST_CODE_GR3411SP , CSP_FAST_CODE_GR3411H , CSP_FAST_CODE_GR3411HV , CSP_FAST_CODE_HASH , CSP_FAST_CODE_IMIT , 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_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_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. |
CSP_OPERATION_CIPHER2 | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции спараллеленного шифрования. Также задает значение идентификатора набора функций спараллеленного шифрования, использующих расширение MMX. |
CSP_OPERATION_IMIT | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции выработки имитовставки. Также задает значение идентификатора набора функций выработки имитовставки, использующих расширение MMX. |
CSP_OPERATION_HASH | Возможное значение аргумента op_type функции CPC_Kernel_Fpu_Begin_Callback . Означает, что запрос захвата FPU произошел в функции вычисления хэша. В данном случае необходимо сохранять не только регистры ST0 - ST7, но и XMM0 - XMM7. Также задает значение идентификатора набора функций хэшифрования, использующих расширения MMX и SSE2. |
CSP_OPERATION_MULT | Битовая маска для включения/выключения кода MMX в функции умножения. Задает значение идентификатора набора функций умножения по модулю P, использующих расширения MMX и SSE2. Применяется только в пользовательском режиме. |
CSP_OPERATION_ALL | Битовая маска для включения/выключения кода MMX во всех функциях. Задает значение логической суммы всех идентификаторов наборов функций, использующих MMX и SSE2. |
CSP_OPERATION_UNDEF | Битовая маска, означающая неопределенную установку функций. Применяется, если нужно установить набор функций по умолчанию для данного процессора. |
CPGetProvParam (PP_FAST_CODE_FLAGS)