13#define SYMCRYPT_DISABLE_CFG __declspec(guard(nocf))
15#define SYMCRYPT_DISABLE_CFG
22#define SYMCRYPT_FLAG_LIB_INITIALIZED 0x00000001
53#if !defined(UNREFERENCED_PARAMETER)
54#define UNREFERENCED_PARAMETER(x) ((void)x)
57#if !defined(FAST_FAIL_CRYPTO_LIBRARY)
58#define FAST_FAIL_CRYPTO_LIBRARY 22
69#if SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64
72#define NATIVE_BITS (64)
73#define NATIVE_BYTES (8)
74#define NATIVE_BYTES_LOG2 (3)
78#define NATIVE_BITS (32)
79#define NATIVE_BYTES (4)
80#define NATIVE_BYTES_LOG2 (2)
92#pragma prefast( disable:28112 )
93#pragma prefast( disable:28113 )
94#pragma warning( disable: 4702 )
96#pragma warning( disable: 4296 )
106#define CONCAT_I2( a, b ) a##b
107#define CONCAT_I3( a, b, c ) a##b##c
110#define CONCAT2( a, b ) CONCAT_I2( a, b )
111#define CONCAT3( a, b, c ) CONCAT_I3( a, b, c )
116#define SYMCRYPT_XXX_STATE CONCAT3( SYMCRYPT_, ALG, _STATE )
117#define PSYMCRYPT_XXX_STATE CONCAT3( PSYMCRYPT_, ALG, _STATE )
118#define PCSYMCRYPT_XXX_STATE CONCAT3( PCSYMCRYPT_, ALG, _STATE )
120#define SYMCRYPT_Xxx CONCAT2( SymCrypt, Alg )
122#define SYMCRYPT_XxxStateCopy CONCAT3( SymCrypt, Alg, StateCopy )
123#define SYMCRYPT_XxxInit CONCAT3( SymCrypt, Alg, Init )
124#define SYMCRYPT_XxxAppend CONCAT3( SymCrypt, Alg, Append )
125#define SYMCRYPT_XxxResult CONCAT3( SymCrypt, Alg, Result )
126#define SYMCRYPT_XxxAppendBlocks CONCAT3( SymCrypt, Alg, AppendBlocks )
127#define SYMCRYPT_XxxStateImport CONCAT3( SymCrypt, Alg, StateImport)
128#define SYMCRYPT_XxxStateExport CONCAT3( SymCrypt, Alg, StateExport)
131#define SYMCRYPT_XXX_EXPANDED_KEY CONCAT3( SYMCRYPT_, ALG, _EXPANDED_KEY )
132#define PSYMCRYPT_XXX_EXPANDED_KEY CONCAT3( PSYMCRYPT_, ALG, _EXPANDED_KEY )
133#define PCSYMCRYPT_XXX_EXPANDED_KEY CONCAT3( PCSYMCRYPT_, ALG, _EXPANDED_KEY )
134#define SYMCRYPT_XxxEx CONCAT3( SymCrypt, Alg, Ex)
135#define SYMCRYPT_XxxDefault CONCAT3( SymCrypt, Alg, Default )
136#define SYMCRYPT_XxxExpandKey CONCAT3( SymCrypt, Alg, ExpandKey )
137#define SYMCRYPT_XxxExpandKeyEx CONCAT3( SymCrypt, Alg, ExpandKeyEx )
138#define SYMCRYPT_XxxExtract CONCAT3( SymCrypt, Alg, Extract )
139#define SYMCRYPT_XxxResultEx CONCAT3( SymCrypt, Alg, ResultEx )
140#define SYMCRYPT_XxxKeyCopy CONCAT3( SymCrypt, Alg, KeyCopy )
142#define SYMCRYPT_HmacXxx CONCAT2( SymCryptHmac, Alg )
143#define SYMCRYPT_HmacXxxStateCopy CONCAT3( SymCryptHmac, Alg, StateCopy )
144#define SYMCRYPT_HmacXxxKeyCopy CONCAT3( SymCryptHmac, Alg, KeyCopy )
145#define SYMCRYPT_HmacXxxExpandKey CONCAT3( SymCryptHmac, Alg, ExpandKey )
146#define SYMCRYPT_HmacXxxInit CONCAT3( SymCryptHmac, Alg, Init )
147#define SYMCRYPT_HmacXxxAppend CONCAT3( SymCryptHmac, Alg, Append )
148#define SYMCRYPT_HmacXxxResult CONCAT3( SymCryptHmac, Alg, Result )
151#define SYMCRYPT_XXX_INPUT_BLOCK_SIZE CONCAT3( SYMCRYPT_, ALG, _INPUT_BLOCK_SIZE )
152#define SYMCRYPT_XXX_RESULT_SIZE CONCAT3( SYMCRYPT_, ALG, _RESULT_SIZE )
154#define SYMCRYPT_HMAC_XXX_INPUT_BLOCK_SIZE SYMCRYPT_XXX_INPUT_BLOCK_SIZE
155#define SYMCRYPT_HMAC_XXX_RESULT_SIZE SYMCRYPT_XXX_RESULT_SIZE
157#define PSYMCRYPT_HMAC_XXX_EXPANDED_KEY CONCAT3( PSYMCRYPT_HMAC_, ALG, _EXPANDED_KEY )
158#define PCSYMCRYPT_HMAC_XXX_EXPANDED_KEY CONCAT3( PCSYMCRYPT_HMAC_, ALG, _EXPANDED_KEY )
159#define SYMCRYPT_HMAC_XXX_STATE CONCAT3( SYMCRYPT_HMAC_, ALG, _STATE )
160#define PSYMCRYPT_HMAC_XXX_STATE CONCAT3( PSYMCRYPT_HMAC_, ALG, _STATE )
161#define PCSYMCRYPT_HMAC_XXX_STATE CONCAT3( PCSYMCRYPT_HMAC_, ALG, _STATE )
168#if SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_AMD64
207#define SYMCRYPT_XSTATE_SAVE_SIZE (32)
209#elif SYMCRYPT_CPU_AMD64
223#define SYMCRYPT_XSTATE_SAVE_SIZE (56)
229struct _SYMCRYPT_EXTENDED_SAVE_DATA {
232} SYMCRYPT_EXTENDED_SAVE_DATA, *PSYMCRYPT_EXTENDED_SAVE_DATA;
252SymCryptSaveXmm(
_Out_ PSYMCRYPT_EXTENDED_SAVE_DATA pSaveData );
256SymCryptRestoreXmm(
_Inout_ PSYMCRYPT_EXTENDED_SAVE_DATA pSaveData );
261SymCryptSaveYmm(
_Out_ PSYMCRYPT_EXTENDED_SAVE_DATA pSaveData );
265SymCryptRestoreYmm(
_Inout_ PSYMCRYPT_EXTENDED_SAVE_DATA pSaveData );
280SymCryptLibraryWasNotInitialized(
void);
289 SymCryptLibraryWasNotInitialized();
301#define HMAC_IPAD_BYTE 0x36
302#define HMAC_OPAD_BYTE 0x5c
305#define SYMCRYPT_CPU_FEATURES_FOR_PCLMULQDQ_CODE (SYMCRYPT_CPU_FEATURE_PCLMULQDQ | SYMCRYPT_CPU_FEATURE_SSSE3 | SYMCRYPT_CPU_FEATURE_SAVEXMM_NOFAIL )
307#define SYMCRYPT_CPU_FEATURES_FOR_AESNI_CODE (SYMCRYPT_CPU_FEATURE_SSSE3 | SYMCRYPT_CPU_FEATURE_AESNI)
308#define SYMCRYPT_CPU_FEATURES_FOR_AESNI_PCLMULQDQ_CODE (SYMCRYPT_CPU_FEATURES_FOR_AESNI_CODE | SYMCRYPT_CPU_FEATURES_FOR_PCLMULQDQ_CODE)
309#define SYMCRYPT_CPU_FEATURES_FOR_VAES_256_CODE (SYMCRYPT_CPU_FEATURES_FOR_AESNI_CODE | SYMCRYPT_CPU_FEATURE_AVX2 | SYMCRYPT_CPU_FEATURE_VAES)
310#define SYMCRYPT_CPU_FEATURES_FOR_VAES_512_CODE (SYMCRYPT_CPU_FEATURES_FOR_AESNI_CODE | SYMCRYPT_CPU_FEATURE_AVX512 | SYMCRYPT_CPU_FEATURE_VAES)
312#define SYMCRYPT_CPU_FEATURES_FOR_SHANI_CODE (SYMCRYPT_CPU_FEATURE_SSSE3 | SYMCRYPT_CPU_FEATURE_SHANI)
314#define SYMCRYPT_CPU_FEATURES_FOR_MULX (SYMCRYPT_CPU_FEATURE_BMI2 | SYMCRYPT_CPU_FEATURE_ADX | SYMCRYPT_CPU_FEATURE_SSE2 )
324#define ROL16( x, n ) ((UINT16)( ( ((x) << (n)) | ((x) >> (16-(n))) ) ))
325#define ROR16( x, n ) ((UINT16)( ( ((x) >> (n)) | ((x) << (16-(n))) ) ))
328 #define ROL32( x, n ) _rotl( (x), (n) )
329 #define ROR32( x, n ) _rotr( (x), (n) )
330 #define ROL64( x, n ) _rotl64( (x), (n) )
331 #define ROR64( x, n ) _rotr64( (x), (n) )
333 #define ROL32( x, n ) ((UINT32)( ( ((x) << (n)) | ((x) >> (32-(n))) ) ))
334 #define ROR32( x, n ) ((UINT32)( ( ((x) >> (n)) | ((x) << (32-(n))) ) ))
335 #define ROL64( x, n ) ((UINT64)( ( ((x) << (n)) | ((x) >> (64-(n))) ) ))
336 #define ROR64( x, n ) ((UINT64)( ( ((x) >> (n)) | ((x) << (64-(n))) ) ))
338 #error Unknown compiler
342#define SYMCRYPT_ARRAY_SIZE(_x) (sizeof(_x)/sizeof(_x[0]))
374#if SYMCRYPT_CPU_AMD64
426 while( cuResult != 0 )
440#if SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM | SYMCRYPT_CPU_ARM64
491 while( cuResult != 0 )
507#if SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM | SYMCRYPT_CPU_ARM64
558 while( cuResult != 0 )
596 while( cuResult != 0 )
889#define REPEAT_BYTE_TO_UINT32( x ) (((UINT32)x << 24) | ((UINT32)x << 16) | ((UINT32)x << 8) | x)
890#define REPEAT_BYTE_TO_UINT64( x ) ( ((UINT64)REPEAT_BYTE_TO_UINT32(x) << 32) | REPEAT_BYTE_TO_UINT32(x) )
897#if SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM | SYMCRYPT_CPU_ARM64
906 for(
i=0;
i<cqBuf;
i++ )
919 for(
i=0;
i<8*cqBuf;
i++ )
1025#define SYMCRYPT_CPUID_DETECT_FLAG_CHECK_OS_SUPPORT_FOR_YMM 1
1077#define SYMCRYPT_BLOB_MAGIC ('cmys')
1082#pragma pack(push, 1)
1611#define GCM_YMM_MINBLOCKS 16
1767#define PAR_SCRATCH_ELEMENTS_256 (4+8+64)
1768#define PAR_SCRATCH_ELEMENTS_512 (4+8+80)
1808#define SYMCRYPT_SHA3_PADDING_VALUE 0x06
1809#define SYMCRYPT_SHAKE_PADDING_VALUE 0x1f
1810#define SYMCRYPT_CSHAKE_PADDING_VALUE 0x04
1889 SIZE_T cbFunctionNameString,
1891 SIZE_T cbCustomizationString);
1910#define SYMCRYPT_ASSERT_ASYM_ALIGNED(_p )
1912#define SYMCRYPT_ASSERT_ASYM_ALIGNED( _p ) SYMCRYPT_ASSERT( ((SIZE_T)(_p) & (SYMCRYPT_ASYM_ALIGN_VALUE - 1)) == 0 );
1916#define SYMCRYPT_FDEF_DIGIT_NUINT32 ((UINT32)(SYMCRYPT_FDEF_DIGIT_SIZE / sizeof( UINT32 ) ))
1918#define SYMCRYPT_OBJ_NDIGITS( _p ) ((_p)->nDigits)
1919#define SYMCRYPT_OBJ_NBYTES( _p ) ((_p)->nDigits * SYMCRYPT_FDEF_DIGIT_SIZE)
1920#define SYMCRYPT_OBJ_NUINT32( _p ) ((_p)->nDigits * SYMCRYPT_FDEF_DIGIT_SIZE / sizeof( UINT32 ))
1923#define SYMCRYPT_MUL32x32TO64( _a, _b ) UInt32x32To64( (_a), (_b) )
1925#define SYMCRYPT_MUL32x32TO64( _a, _b ) ( (UINT64)(_a)*(UINT64)(_b) )
1927 #error Unknown compiler
2007#define SYMCRYPT_MODULAR_FUNCTIONS_SIZE (sizeof( SYMCRYPT_MODULAR_FUNCTIONS ) )
2018#define SYMCRYPT_MODULUS_FEATURE_MONTGOMERY 1
2021#define SYMCRYPT_MODULUS_FEATURE_NISTP384 8
2039#define SYMCRYPT_MOD_CALL(v) ((SYMCRYPT_MODULAR_FUNCTIONS *)(( SYMCRYPT_FORCE_READ32( &(v)->type) & g_SymCryptModFnsMask) + (PBYTE)(&g_SymCryptModFns) ))->
2041#define SYMCRYPT_MOD_FUNCTIONS_FDEF_GENERIC {\
2042 &SymCryptFdefModAddGeneric,\
2043 &SymCryptFdefModSubGeneric,\
2044 &SymCryptFdefModNegGeneric,\
2045 &SymCryptFdefModMulGeneric,\
2046 &SymCryptFdefModSquareGeneric,\
2047 &SymCryptFdefModInvGeneric,\
2048 &SymCryptFdefModSetPostGeneric,\
2049 &SymCryptFdefModPreGetGeneric,\
2050 &SymCryptFdefModulusCopyFixupGeneric,\
2051 &SymCryptFdefModulusInitGeneric,\
2054#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY {\
2055 &SymCryptFdefModAddGeneric,\
2056 &SymCryptFdefModSubGeneric,\
2057 &SymCryptFdefModNegGeneric,\
2058 &SymCryptFdefModMulMontgomery,\
2059 &SymCryptFdefModSquareMontgomery,\
2060 &SymCryptFdefModInvMontgomery,\
2061 &SymCryptFdefModSetPostMontgomery,\
2062 &SymCryptFdefModPreGetMontgomery,\
2063 &SymCryptFdefModulusCopyFixupMontgomery,\
2064 &SymCryptFdefModulusInitMontgomery,\
2067#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_ARM64256 {\
2068 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAdd256Asm,\
2069 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub256Asm,\
2070 &SymCryptFdefModNegGeneric,\
2071 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomery256Asm, \
2072 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomery256Asm, \
2073 &SymCryptFdefModInvMontgomery,\
2074 &SymCryptFdefModSetPostMontgomery,\
2075 &SymCryptFdefModPreGetMontgomery,\
2076 &SymCryptFdefModulusCopyFixupMontgomery,\
2077 &SymCryptFdefModulusInitMontgomery,\
2080#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_ARM64P384 {\
2081 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAdd384Asm,\
2082 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub384Asm,\
2083 &SymCryptFdefModNegGeneric,\
2084 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomeryP384Asm, \
2085 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomeryP384Asm, \
2086 &SymCryptFdef369ModInvMontgomery,\
2087 &SymCryptFdef369ModSetPostMontgomery,\
2088 &SymCryptFdef369ModPreGetMontgomery,\
2089 &SymCryptFdefModulusCopyFixupMontgomery,\
2090 &SymCryptFdef369ModulusInitMontgomery,\
2093#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULX256 {\
2094 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAddMulx256Asm,\
2095 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub256Asm,\
2096 &SymCryptFdefModNegGeneric,\
2097 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomeryMulx256Asm,\
2098 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomeryMulx256Asm,\
2099 &SymCryptFdefModInvMontgomery256,\
2100 &SymCryptFdefModSetPostMontgomeryMulx256,\
2101 &SymCryptFdefModPreGetMontgomery256,\
2102 &SymCryptFdefModulusCopyFixupMontgomery,\
2103 &SymCryptFdefModulusInitMontgomery256,\
2106#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULXP256 {\
2107 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAddMulx256Asm,\
2108 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub256Asm,\
2109 &SymCryptFdefModNegGeneric,\
2110 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomeryMulxP256Asm,\
2111 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomeryMulxP256Asm,\
2112 &SymCryptFdefModInvMontgomery256,\
2113 &SymCryptFdefModSetPostMontgomeryMulx256,\
2114 &SymCryptFdefModPreGetMontgomery256,\
2115 &SymCryptFdefModulusCopyFixupMontgomery,\
2116 &SymCryptFdefModulusInitMontgomery256,\
2119#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULX384 {\
2120 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAddMulx384Asm,\
2121 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub384Asm,\
2122 &SymCryptFdefModNegGeneric,\
2123 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomeryMulx384Asm,\
2124 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomeryMulx384Asm,\
2125 &SymCryptFdef369ModInvMontgomery,\
2126 &SymCryptFdefModSetPostMontgomeryMulx384,\
2127 &SymCryptFdef369ModPreGetMontgomery,\
2128 &SymCryptFdefModulusCopyFixupMontgomery,\
2129 &SymCryptFdef369ModulusInitMontgomery,\
2132#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULXP384 {\
2133 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModAddMulx384Asm,\
2134 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModSub384Asm,\
2135 &SymCryptFdefModNegGeneric,\
2136 (SYMCRYPT_MOD_BINARY_OP_FN) &SymCryptFdefModMulMontgomeryMulxP384Asm,\
2137 (SYMCRYPT_MOD_UNARY_OP_FN) &SymCryptFdefModSquareMontgomeryMulxP384Asm,\
2138 &SymCryptFdef369ModInvMontgomery,\
2139 &SymCryptFdefModSetPostMontgomeryMulxP384,\
2140 &SymCryptFdef369ModPreGetMontgomery,\
2141 &SymCryptFdefModulusCopyFixupMontgomery,\
2142 &SymCryptFdef369ModulusInitMontgomery,\
2145#define SYMCRYPT_MOD_FUNCTIONS_FDEF369_MONTGOMERY {\
2146 &SymCryptFdef369ModAddGeneric,\
2147 &SymCryptFdef369ModSubGeneric,\
2148 &SymCryptFdefModNegGeneric,\
2149 &SymCryptFdef369ModMulMontgomery,\
2150 &SymCryptFdef369ModSquareMontgomery,\
2151 &SymCryptFdef369ModInvMontgomery,\
2152 &SymCryptFdef369ModSetPostMontgomery,\
2153 &SymCryptFdef369ModPreGetMontgomery,\
2154 &SymCryptFdefModulusCopyFixupMontgomery,\
2155 &SymCryptFdef369ModulusInitMontgomery,\
2158#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULX {\
2159 &SymCryptFdefModAddGeneric,\
2160 &SymCryptFdefModSubGeneric,\
2161 &SymCryptFdefModNegGeneric,\
2162 &SymCryptFdefModMulMontgomeryMulx,\
2163 &SymCryptFdefModSquareMontgomeryMulx,\
2164 &SymCryptFdefModInvMontgomery,\
2165 &SymCryptFdefModSetPostMontgomery,\
2166 &SymCryptFdefModPreGetMontgomery,\
2167 &SymCryptFdefModulusCopyFixupMontgomery,\
2168 &SymCryptFdefModulusInitMontgomery,\
2171#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY512 {\
2172 &SymCryptFdefModAddGeneric,\
2173 &SymCryptFdefModSubGeneric,\
2174 &SymCryptFdefModNegGeneric,\
2175 &SymCryptFdefModMulMontgomery512,\
2176 &SymCryptFdefModSquareMontgomery512,\
2177 &SymCryptFdefModInvMontgomery,\
2178 &SymCryptFdefModSetPostMontgomery,\
2179 &SymCryptFdefModPreGetMontgomery,\
2180 &SymCryptFdefModulusCopyFixupMontgomery,\
2181 &SymCryptFdefModulusInitMontgomery,\
2184#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY1024 {\
2185 &SymCryptFdefModAddGeneric,\
2186 &SymCryptFdefModSubGeneric,\
2187 &SymCryptFdefModNegGeneric,\
2188 &SymCryptFdefModMulMontgomery1024,\
2189 &SymCryptFdefModSquareMontgomery1024,\
2190 &SymCryptFdefModInvMontgomery,\
2191 &SymCryptFdefModSetPostMontgomery,\
2192 &SymCryptFdefModPreGetMontgomery,\
2193 &SymCryptFdefModulusCopyFixupMontgomery,\
2194 &SymCryptFdefModulusInitMontgomery,\
2197#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY_MULX1024 {\
2198 &SymCryptFdefModAddGeneric,\
2199 &SymCryptFdefModSubGeneric,\
2200 &SymCryptFdefModNegGeneric,\
2201 &SymCryptFdefModMulMontgomeryMulx1024,\
2202 &SymCryptFdefModSquareMontgomeryMulx1024,\
2203 &SymCryptFdefModInvMontgomery,\
2204 &SymCryptFdefModSetPostMontgomery,\
2205 &SymCryptFdefModPreGetMontgomery,\
2206 &SymCryptFdefModulusCopyFixupMontgomery,\
2207 &SymCryptFdefModulusInitMontgomery,\
2654 UINT32 averageOperations,
3686#define SYMCRYPT_RUN_SELFTEST_ONCE(AlgorithmSelftestFunction, AlgorithmSelftestFlag) \
3687if( ( g_SymCryptFipsSelftestsPerformed & AlgorithmSelftestFlag ) == 0 ) \
3689 AlgorithmSelftestFunction( ); \
3690 SYMCRYPT_ATOMIC_OR32_PRE_RELAXED( &g_SymCryptFipsSelftestsPerformed, AlgorithmSelftestFlag ); \
3699#define SYMCRYPT_RUN_KEY_GEN_PCT(KeySelftestFunction, Key, KeySelftestFlag) \
3700if( ( Key->fAlgorithmInfo & (KeySelftestFlag | SYMCRYPT_FLAG_KEY_NO_FIPS) ) == 0 ) \
3703 SYMCRYPT_FIPS_ASSERT( KeySelftestFunction( Key ) == SYMCRYPT_NO_ERROR ); \
3704 SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(&Key->fAlgorithmInfo, KeySelftestFlag); \
3708#define CHECK_ALGORITHM_INFO_FLAG_POW2( flag ) \
3709 C_ASSERT( (flag != 0) && ((flag & (flag-1)) == 0) );
3712#define CHECK_ALGORITHM_INFO_FLAGS_DISTINCT( flag0, flag1, flag2, flag3, flag4 ) \
3713 C_ASSERT( (flag0 < flag1) && (flag1 < flag2) && (flag2 < flag3) && (flag3 < flag4) );
3788#define SYMCRYPT_DH_SAFEPRIME_GROUP_COUNT (10)
3922#define SYMCRYPT_ECURVE_FUNCTIONS_SIZE (sizeof( SYMCRYPT_ECURVE_FUNCTIONS ) )
4256 UINT32 numOfCoordinates );
4347#define SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS (256)
4369#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PUBLIC_KEY_P256 (65)
4370#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PUBLIC_KEY_P384 (97)
4371#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PUBLIC_KEY_CURVE_25519 (32)
4373#define SYMCRYPT_COMPOSITE_SIZEOF_MAX_ENCODED_EC_PUBLIC_KEY SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PUBLIC_KEY_P384
4375#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PRIVATE_KEY_P256 (51)
4376#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PRIVATE_KEY_P384 (64)
4377#define SYMCRYPT_COMPOSITE_SIZEOF_ENCODED_EC_PRIVATE_KEY_CURVE_25519 (32)
4597#define SYMCRYPT_SIZEOF_TREEHASH_NODE(cbValue) (sizeof(SYMCRYPT_TREEHASH_NODE) - 1 + (cbValue))
4599#define SYMCRYPT_TREEHASH_NODE_GET(aNodes, cbValue, i) ((PSYMCRYPT_TREEHASH_NODE)((PBYTE)(aNodes) + (i) * SYMCRYPT_SIZEOF_TREEHASH_NODE(cbValue)))
4701#define SYMCRYPT_IS_VALID_WINTERNITZ_WIDTH(w) ( ((w) == 1) || ((w) == 2) || ((w) == 4) || ((w) == 8) )
4702#define SYMCRYPT_LMS_KEY_PAIR_IDENTIFIER_SIZE 16
4703#define SYMCRYPT_LMS_MAX_N 32
4704#define SYMCRYPT_LMS_MAX_P 265
4705#define SYMCRYPT_LMS_MAX_H 25
4706#define SYMCRYPT_LMS_MAX_CUSTOM_TREE_HEIGHT 31
4707#define SYMCRYPT_LMS_CHECKSUM_SIZE 16
4710#define SYMCRYPT_LMS_PUB_KEY_SIZE(cbHashOutput) (8 + SYMCRYPT_LMS_KEY_PAIR_IDENTIFIER_SIZE + cbHashOutput)
4713#define SYMCRYPT_LMS_PRIV_KEY_SIZE(cbHashOutput) (SYMCRYPT_LMS_PUB_KEY_SIZE(cbHashOutput) + sizeof(UINT32) + cbHashOutput)
4778#if SYMCRYPT_PLATFORM_WINDOWS
4781#if SYMCRYPT_CPU_ARM64
4783#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) SYMCRYPT_FORCE_READ64(_dest)
4784#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) _InterlockedOr_nf( (volatile LONG *)(_dest), (LONG)(_val) )
4785#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) _InterlockedExchangeAdd_nf( (volatile LONG *)(_dest), (LONG)(_val) )
4786#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) _InterlockedAdd64_nf( (volatile LONG64 *)(_dest), (LONG64)(_val) )
4788#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) _InterlockedAdd( (volatile LONG *)(_dest), (LONG)(_val) )
4790#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)__ldar64( (volatile UINT64 *)(_dest) ))
4791#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) __stlr64( (volatile UINT64 *)(_dest), (UINT64)(_val) )
4794#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4795 _InterlockedCompareExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_exchange), (PVOID)(_comp) )
4797#elif SYMCRYPT_CPU_ARM
4798#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) _InterlockedOr64_nf( (volatile LONG64 *)(_dest), 0 )
4799#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) _InterlockedOr_nf( (volatile LONG *)(_dest), (LONG)(_val) )
4800#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) _InterlockedExchangeAdd_nf( (volatile LONG *)(_dest), (LONG)(_val) )
4801#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) _InterlockedAdd64_nf( (volatile LONG64 *)(_dest), (LONG64)(_val) )
4803#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) _InterlockedAdd( (volatile LONG *)(_dest), (LONG)(_val) )
4805#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)_InterlockedOr_acq( (volatile LONG *)(_dest), 0 ))
4806#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) _InterlockedExchangePointer_rel( (volatile PVOID *)(_dest), (PVOID)(_val) )
4808#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4809 _InterlockedCompareExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_exchange), (PVOID)(_comp) )
4811#elif SYMCRYPT_CPU_AMD64
4814#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) SYMCRYPT_FORCE_READ64(_dest)
4815#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) _InterlockedOr( (volatile LONG *)(_dest), (LONG)(_val) )
4816#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) _InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) )
4817#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) (_InterlockedExchangeAdd64( (volatile LONG64 *)(_dest), (LONG64)(_val) ) + (LONG64)(_val))
4819#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) (_InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) ) + (LONG)(_val))
4822#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)SYMCRYPT_FORCE_READ64(_dest))
4823#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) SYMCRYPT_FORCE_WRITE64(_dest, ((UINT64)(_val)))
4825#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4826 _InterlockedCompareExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_exchange), (PVOID)(_comp) )
4828#elif SYMCRYPT_CPU_X86
4830#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) _InterlockedCompareExchange64( (volatile LONG64 *)(_dest), 0, 0 )
4832#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) _InterlockedOr( (volatile LONG *)(_dest), (LONG)(_val) )
4833#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) _InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) )
4843 preValue = *destination;
4846 return preValue +
value;
4848#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) SymCryptInlineInterlockedAdd64( (volatile LONG64 *)(_dest), (LONG64)(_val) )
4850#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) (_InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) ) + (LONG)(_val))
4853#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)SYMCRYPT_FORCE_READ32(_dest))
4854#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) SYMCRYPT_FORCE_WRITE32(_dest, ((UINT32)(_val)))
4856#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4857 _InterlockedCompareExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_exchange), (PVOID)(_comp) )
4865#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) _InterlockedCompareExchange64( (volatile LONG64 *)(_dest), 0, 0 )
4866#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) _InterlockedOr( (volatile LONG *)(_dest), (LONG)(_val) )
4867#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) _InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) )
4875 preValue = *destination;
4878 return preValue +
value;
4880#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) SymCryptInlineInterlockedAdd64( (volatile LONG64 *)(_dest), (LONG64)(_val) )
4882#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) (_InterlockedExchangeAdd( (volatile LONG *)(_dest), (LONG)(_val) ) + (LONG)(_val))
4885#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)_InterlockedOr64( (volatile LONG64 *)(_dest), 0 ))
4887#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) ((PVOID)_InterlockedOr( (volatile LONG *)(_dest), 0 ))
4890#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) _InterlockedExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_val) )
4892#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4893 _InterlockedCompareExchangePointer( (volatile PVOID *)(_dest), (PVOID)(_exchange), (PVOID)(_comp) )
4898#define SYMCRYPT_ATOMIC_LOAD64_RELAXED(_dest) __atomic_load_n( (volatile uint64_t *)(_dest), __ATOMIC_RELAXED )
4899#define SYMCRYPT_ATOMIC_OR32_PRE_RELAXED(_dest, _val) __atomic_fetch_or( (volatile uint32_t *)(_dest), (uint32_t)(_val), __ATOMIC_RELAXED )
4900#define SYMCRYPT_ATOMIC_ADD32_PRE_RELAXED(_dest, _val) __atomic_fetch_add( (volatile uint32_t *)(_dest), (uint32_t)(_val), __ATOMIC_RELAXED )
4901#define SYMCRYPT_ATOMIC_ADD64_POST_RELAXED(_dest, _val) __atomic_add_fetch( (volatile uint64_t *)(_dest), (uint64_t)(_val), __ATOMIC_RELAXED )
4903#define SYMCRYPT_ATOMIC_ADD32_POST_SEQ_CST(_dest, _val) __atomic_add_fetch( (volatile uint32_t *)(_dest), (uint32_t)(_val), __ATOMIC_ACQ_REL )
4905#define SYMCRYPT_ATOMIC_LOADPTR_ACQUIRE(_dest) __atomic_load_n( (volatile void* *)(_dest), __ATOMIC_ACQUIRE )
4906#define SYMCRYPT_ATOMIC_STOREPTR_RELEASE(_dest, _val) __atomic_store_n( (volatile void* *)(_dest), (void*)(_val), __ATOMIC_RELEASE )
4910SymCryptAtomicCasPtrAcqRel(
4915 __atomic_compare_exchange_n(
4925#define SYMCRYPT_ATOMIC_CAS_PTR_ACQUIRE_RELEASE( _dest, _exchange, _comp ) \
4926 SymCryptAtomicCasPtrAcqRel( (volatile void **)(_dest), (void *)(_exchange), (void *)(_comp) )
4949#if SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64
4951#if SYMCRYPT_PLATFORM_WINDOWS
4953#if SYMCRYPT_CPU_ARM64
4954#define SYMCRYPT_MSVC_CAS128_NF _InterlockedCompareExchange128_nf
4955#elif SYMCRYPT_CPU_AMD64
4956#define SYMCRYPT_MSVC_CAS128_NF _InterlockedCompareExchange128
4961SymCryptAtomicCas128Relaxed(
4966 return SYMCRYPT_MSVC_CAS128_NF(
4967 (
volatile LONG64 *)destination,
4970 (
LONG64 *) expectedValue );
4977SymCryptAtomicCas128Relaxed(
4982#if SYMCRYPT_CPU_AMD64
4988 "lock cmpxchg16b %1\n\t"
4991 ,
"+m" (*destination)
4992 ,
"+d" (expectedValue[1])
4993 ,
"+a" (expectedValue[0])
4994 :
"c" (desiredValue[1])
4995 ,
"b" (desiredValue[0])
4999#elif SYMCRYPT_CPU_ARM64
5004 return __atomic_compare_exchange(
5005 (__int128 *)destination,
5006 (__int128 *)expectedValue,
5007 (__int128 *)desiredValue,
5022 unsigned long index = 0;
5028#if SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64 | SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_ARM)
5033 while( (
value & 1) == 0 )
5047 unsigned long index = 0;
5053#if SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64)
5055#elif SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_ARM)
5067 while( (
value & 1) == 0 )
5081 unsigned long zeros = 0;
5088#if SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64 | SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_ARM)
5092 zeros = __builtin_clz(
value);
5094 while( (
value & 0x80000000) == 0 )
5108 unsigned long zeros = 0;
5115#if SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64)
5118#elif SYMCRYPT_PLATFORM_WINDOWS && (SYMCRYPT_CPU_X86 | SYMCRYPT_CPU_ARM)
5119 if( (
value >> 32) == 0 )
5128 zeros = __builtin_clzll(
value);
5130 while( (
value & 0x8000000000000000) == 0 )
COMPILER_DEPENDENT_INT64 INT64
COMPILER_DEPENDENT_UINT64 UINT64
unsigned __int64 * PUINT64
static const WCHAR version[]
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
GLubyte GLubyte GLubyte GLubyte w
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
__INTRIN_INLINE unsigned char _BitScanReverse64(unsigned long *Index, unsigned long long Mask)
__INTRIN_INLINE unsigned char _BitScanForward64(unsigned long *Index, unsigned long long Mask)
#define memcpy(s1, s2, n)
static const DWORD padding[]
#define _In_reads_bytes_(s)
#define _Inout_updates_(s)
#define _Out_writes_opt_(s)
#define _Analysis_noreturn_
#define _Inout_updates_bytes_(s)
#define _Out_writes_bytes_(s)
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tpush %rbx\n" "\t.seh_pushreg %rbx\n" "\tpush %rdi\n" "\t.seh_pushreg %rdi\n" "\tpush %rsi\n" "\t.seh_pushreg %rsi\n" "\tpush %r12\n" "\t.seh_pushreg %r12\n" "\tpush %r13\n" "\t.seh_pushreg %r13\n" "\tpush %r14\n" "\t.seh_pushreg %r14\n" "\tpush %r15\n" "\t.seh_pushreg %r15\n" "\tsub $40, %rsp\n" "\t.seh_stackalloc 40\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $40, %rsp\n" "\tpop %r15\n" "\tpop %r14\n" "\tpop %r13\n" "\tpop %r12\n" "\tpop %rsi\n" "\tpop %rdi\n" "\tpop %rbx\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptFdefIntFromDivisor(_In_ PSYMCRYPT_DIVISOR pdSrc)
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddSameSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdef369ModInvMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModulusInitMontgomeryInternal(_Inout_ PSYMCRYPT_MODULUS pmObj, UINT32 nUint32Used, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesCbcDecryptXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_ISZERO_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModElementWipe(_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst)
const SYMCRYPT_HASH SymCryptSha3_224Algorithm_default
UINT32(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_ISEQUAL_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptSha256AppendBlocks_ymm_8blocks(_Inout_ SYMCRYPT_SHA256_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
SYMCRYPT_MAGIC_FIELD SYMCRYPT_LMS_KEY
VOID SYMCRYPT_CALL SymCryptGHashAppendDataC(_In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptMontgomeryIsEqual(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEckeyGetValueCompositeEncodingPk(_In_ PCSYMCRYPT_ECKEY pEckey, SYMCRYPT_CACHED_ECURVE_ID curveId, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
UINT32 SYMCRYPT_CALL SymCryptFdefIntGetValueLsbits32(_In_ PCSYMCRYPT_INT piSrc)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsffdhe3072
#define SYMCRYPT_DH_SAFEPRIME_GROUP_COUNT
VOID SYMCRYPT_CALL SymCryptFdefIntToModulus(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_MODULUS pmDst, UINT32 averageOperations, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SymCryptFdefIntMaskedCopy(_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 mask)
VOID SYMCRYPT_CALL SymCryptFdefIntShr1(UINT32 highestBit, _In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsNegate(_In_ PCSYMCRYPT_ECURVE pCurve, _Inout_ PSYMCRYPT_ECPOINT poSrc, UINT32 mask, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsModp6144
VOID SYMCRYPT_CALL SymCryptFdef369MaskedCopyAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCBYTE pbSrc, _Inout_updates_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PBYTE pbDst, UINT32 nDigits, UINT32 mask)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModInvMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_ymm_avx2_asm(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
VOID SYMCRYPT_CALL SymCryptAesCreateDecryptionRoundKey(_In_reads_(16) PCBYTE pEncryptionRoundKey, _Out_writes_(16) PBYTE pDecryptionRoundKey, BOOL UseSimd)
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptFdefModulusRetrieveHandle(_In_ PBYTE pbBuffer)
VOID SYMCRYPT_CALL SymCryptSha256AppendBlocks(_Inout_ SYMCRYPT_SHA256_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
const SYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS * PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS
VOID SYMCRYPT_CALL SymCryptMontgomerySetDistinguished(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFatalIntercept(UINT32 fatalCode)
const SYMCRYPT_HASH SymCryptSha3_384Algorithm_default
#define SYMCRYPT_MODULAR_FUNCTIONS_SIZE
const SYMCRYPT_HASH SymCryptSha1Algorithm_default
const BYTE SymCryptSha384KATAnswer[48]
BYTE abId[SYMCRYPT_LMS_KEY_PAIR_IDENTIFIER_SIZE]
VOID SYMCRYPT_CALL SymCryptAesCtrMsb64Xmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefModElementSetValueNegUint32(UINT32 value, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptUint64ToLsbFirst(_In_reads_(cuData) PCUINT64 puData, _Out_writes_(8 *cuData) PBYTE pbResult, SIZE_T cuData)
UINT32 SYMCRYPT_CALL SymCryptMontgomeryIsZero(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModSquareGeneric(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_ECURVE_PARAMS_V2_EXTENSION SymCryptEcurveParamsV2ExtensionShortWeierstrass
UINT32 SYMCRYPT_CALL SymCryptFdefRawIsEqualUint32(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits, _In_ UINT32 u32Src2)
VOID SymCryptFdefModElementCopy(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst)
struct _SYMCRYPT_BLOB_TRAILER * PSYMCRYPT_BLOB_TRAILER
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddUint32(_In_ PCSYMCRYPT_INT piSrc1, UINT32 u32Src2, _Out_ PSYMCRYPT_INT piDst)
struct _SYMCRYPT_SHA512_STATE_EXPORT_BLOB SYMCRYPT_SHA512_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomeryP384Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_ymm_2blocks(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
VOID SYMCRYPT_CALL SymCryptFdefModSub256Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptHashAppendInternal(_In_ PCSYMCRYPT_HASH pHash, _Inout_ PSYMCRYPT_COMMON_HASH_STATE pState, _In_reads_bytes_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsFillScratchSpaces(_In_ PSYMCRYPT_ECURVE pCurve)
const BYTE SymCryptTestMsg16[16]
VOID SYMCRYPT_CALL SymCryptKeccakAppendEncodeTimes8(_Inout_ SYMCRYPT_KECCAK_STATE *pState, UINT64 uValue, BOOLEAN bLeftEncode)
UINT32 SYMCRYPT_CALL SymCryptTwistedEdwardsIsZero(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_TREEHASH_NODE * PSYMCRYPT_TREEHASH_NODE
VOID SYMCRYPT_CALL SymCryptFdefRawSquare1024Asm(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
BYTE SkPrf[SYMCRYPT_HASH_MAX_RESULT_SIZE]
VOID SYMCRYPT_CALL SymCryptFdefModElementToIntGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_reads_bytes_(pmMod->nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEckeySetValueCompositeEncodingPk(_In_ SYMCRYPT_CACHED_ECURVE_ID curveId, _In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, UINT32 flags, _Inout_ PSYMCRYPT_ECKEY pEckey)
VOID(SYMCRYPT_CALL * PSYMCRYPT_INCREMENTAL_TREEHASH_FUNC)(_In_ PSYMCRYPT_TREEHASH_NODE pNodeLeft, _In_ PSYMCRYPT_TREEHASH_NODE pNodeRight, _Out_ PSYMCRYPT_TREEHASH_NODE pNodeOut, _Inout_ PSYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT pContext)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptRsaSignVerifyPct(PCSYMCRYPT_RSAKEY pkRsakey)
UINT32 SYMCRYPT_CALL SymCryptFdefIntGetBit(_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit)
SYMCRYPT_ERROR(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_SCALAR_MUL_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_INT piScalar, _In_opt_ PCSYMCRYPT_ECPOINT poSrc, UINT32 flags, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ASYM_ALIGN_STRUCT _SYMCRYPT_COMPOSITE_MLKEMKEY
VOID SYMCRYPT_CALL SymCryptAesCtrMsb32(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptEcpointGenericSetRandom(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_INT piScalar, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModAddGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptKeccakZeroAppendBlock(_Inout_ PSYMCRYPT_KECCAK_STATE pState)
UINT32 SYMCRYPT_CALL SymCryptShortWeierstrassIsEqual(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
UINT32 SYMCRYPT_CALL SymCryptFdefRawMaskedAdd(_Inout_updates_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pAcc, _In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 mask, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptKeccakInit(_Out_ PSYMCRYPT_KECCAK_STATE pState, UINT32 inputBlockSize, UINT8 padding)
VOID SYMCRYPT_CALL SymCryptFdefRawDivMod(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pNum, UINT32 nDigits, _In_ PCSYMCRYPT_DIVISOR pdDivisor, _Out_writes_opt_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pQuotient, _Out_writes_opt_(SYMCRYPT_OBJ_NUINT32(pdDivisor)) PUINT32 pRemainder, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptXmssComputePublicRoot(_In_ PCSYMCRYPT_XMSS_PARAMS pParams, _In_reads_bytes_(cbSeed) PCBYTE pbSeed, SIZE_T cbSeed, _In_reads_bytes_(cbSkXmss) PCBYTE pbSkXmss, SIZE_T cbSkXmss, _Out_writes_bytes_(cbRoot) PBYTE pbRoot, SIZE_T cbRoot)
const SYMCRYPT_HASH SymCryptSha224Algorithm_default
VOID SYMCRYPT_CALL SymCryptAesCbcMacXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefModSubGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptHbsGetWinternitzLengths(UINT32 n, UINT32 w, _Out_ PUINT32 puLen1, _Out_ PUINT32 puLen2)
VOID SYMCRYPT_CALL SymCryptSha256AppendBlocks_ymm_avx2_asm(_Inout_ SYMCRYPT_SHA256_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
BYTE Root[SYMCRYPT_HASH_MAX_RESULT_SIZE]
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptFdefModulusInitGeneric(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesCbcEncryptNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefIntSubUint32(_In_ PCSYMCRYPT_INT piSrc1, UINT32 u32Src2, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptFdefRawSquareMulx1024(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptSha256AppendBlocks_xmm_4blocks(_Inout_ SYMCRYPT_SHA256_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
VOID SYMCRYPT_CALL SymCryptGHashExpandKeyC(_Out_writes_(SYMCRYPT_GF128_FIELD_SIZE) PSYMCRYPT_GF128_ELEMENT expandedKey, _In_reads_(SYMCRYPT_GF128_BLOCK_SIZE) PCBYTE pH)
PSYMCRYPT_TREEHASH_NODE SYMCRYPT_CALL SymCryptHbsIncrementalTreehashFinalize(_Inout_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash)
VOID SYMCRYPT_CALL SymCryptFdefIntToDivisor(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_DIVISOR pdDst, UINT32 totalOperations, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_TREEHASH_NODE SYMCRYPT_TREEHASH_NODE
const PCSYMCRYPT_ECURVE_PARAMS_V2_EXTENSION SymCryptEcurveParamsV2ExtensionMontgomery
VOID(SYMCRYPT_CALL * SYMCRYPT_MOD_SET_POST_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_COMPOSITE_MLKEMKEY
const SYMCRYPT_HASH SymCryptSha512_256Algorithm_default
struct _SYMCRYPT_INCREMENTAL_TREEHASH * PSYMCRYPT_INCREMENTAL_TREEHASH
struct _XMSS_LTREE_ADDRESS * PXMSS_LTREE_ADDRESS
VOID SYMCRYPT_CALL SymCryptFdefModDivSmallPow2Mulx(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _In_range_(1, NATIVE_BITS) UINT32 exp, _Out_ PSYMCRYPT_MODELEMENT peDst)
UINT32 SYMCRYPT_CALL SymCryptFdefModElementIsEqual(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2)
struct _XMSS_HASHTREE_ADDRESS XMSS_HASHTREE_ADDRESS
#define SYMCRYPT_OBJ_NUINT32(_p)
const SYMCRYPT_HASH SymCryptMd4Algorithm_default
VOID SYMCRYPT_CALL SymCryptKeccakAppendEncodedString(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_(cbString) PCBYTE pbString, SIZE_T cbString)
VOID SYMCRYPT_CALL SymCryptCpuidExFunc(int cpuInfo[4], int function_id, int subfunction_id)
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptFdefModElementCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, PCSYMCRYPT_MODULUS pmMod)
UINT32 SYMCRYPT_CALL SymCryptFdefRawIsLessThan(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc2, UINT32 nDigits)
struct _SYMCRYPT_ECURVE_FUNCTIONS * PSYMCRYPT_ECURVE_FUNCTIONS
VOID SYMCRYPT_CALL SymCryptFdefIntConditionalSwap(_Inout_ PSYMCRYPT_INT piSrc1, _Inout_ PSYMCRYPT_INT piSrc2, UINT32 cond)
VOID SYMCRYPT_CALL SymCryptFdefFreeTrialDivisionContext(PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext)
VOID SYMCRYPT_CALL SymCryptAes4SboxNeon(_In_reads_(4) PCBYTE pIn, _Out_writes_(4) PBYTE pOut)
const SYMCRYPT_HASH SymCryptSha256Algorithm_default
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptLsbFirstToUint64(_In_reads_(8 *cuResult) PCBYTE pbData, _Out_writes_(cuResult) PUINT64 puResult, SIZE_T cuResult)
VOID SYMCRYPT_CALL SymCryptFdef369ModMulMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
#define SYMCRYPT_FLAG_LIB_INITIALIZED
VOID SYMCRYPT_CALL SymCryptShortWeierstrassAdd(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptUint32ToLsbFirst(_In_reads_(cuData) PCUINT32 puData, _Out_writes_(4 *cuData) PBYTE pbResult, SIZE_T cuData)
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitZmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptFdefModElementRetrieveHandle(_In_ PBYTE pbBuffer)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptMsbFirstToUint64(_In_reads_(8 *cuResult) PCBYTE pbData, _Out_writes_(cuResult) PUINT64 puResult, SIZE_T cuResult)
UINT32 SYMCRYPT_CALL SymCryptFdefIntSubSameSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptGcmDecryptPartTwoPass(_Inout_ PSYMCRYPT_GCM_STATE pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduceMulx(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
struct _SYMCRYPT_BLOB_HEADER * PSYMCRYPT_BLOB_HEADER
UINT32 SYMCRYPT_CALL SymCryptShortWeierstrassIsZero(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_KECCAK_STATE_EXPORT_BLOB SYMCRYPT_KECCAK_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptFdefIntMulPow2(_In_ PCSYMCRYPT_INT piSrc, SIZE_T Exp, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptFdefModSetPostMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PCUINT32 SYMCRYPT_CALL SymCryptFdefModPreGetMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAes4SboxC(_In_reads_(4) PCBYTE pIn, _Out_writes_(4) PBYTE pOut)
SYMCRYPT_MAGIC_FIELD SYMCRYPT_COMPOSITE_MLKEMKEY
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomeryMulx256Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
UINT32(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_ONCURVE_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
FORCEINLINE UINT32 SymCryptCountLeadingZeros64(UINT64 value)
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduceMulx1024(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptMd4AppendBlocks(_Inout_ SYMCRYPT_MD4_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
SYMCRYPT_KECCAK_STATE_EXPORT_BLOB SYMCRYPT_SHA3_256_STATE_EXPORT_BLOB
@ SymCryptBlobTypeSha512_224State
@ SymCryptBlobTypeSha224State
@ SymCryptBlobTypeSha512_256State
@ SymCryptBlobTypeMd4State
@ SymCryptBlobTypeSha3_256State
@ SymCryptBlobTypeSha3_224State
@ SymCryptBlobTypeMd2State
@ SymCryptBlobTypeSha384State
@ SymCryptBlobTypeUnknown
@ SymCryptBlobTypeSha512State
@ SymCryptBlobTypeHashState
@ SymCryptBlobTypeSha3_384State
@ SymCryptBlobTypeSha3_512State
@ SymCryptBlobTypeSha256State
@ SymCryptBlobTypeMd5State
@ SymCryptBlobTypeSha1State
struct _XMSS_OTS_ADDRESS XMSS_OTS_ADDRESS
VOID SYMCRYPT_CALL SymCryptFdefModElementSetValueUint32Generic(UINT32 value, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesEncryptNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptKeccakReset(_Out_ PSYMCRYPT_KECCAK_STATE pState)
VOID SYMCRYPT_CALL SymCryptFdefModulusFree(_Out_ PSYMCRYPT_MODULUS pmObj)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptLmsVerifyInternal(_In_ PCSYMCRYPT_LMS_KEY pKey, _In_reads_bytes_(cbMessage) PCBYTE pbMessage, SIZE_T cbMessage, UINT32 flags, _In_reads_bytes_(cbSignature) PCBYTE pbSignature, SIZE_T cbSignature)
VOID SYMCRYPT_CALL SymCryptFdefMaskedCopy(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCBYTE pbSrc, _Inout_updates_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PBYTE pbDst, UINT32 nDigits, UINT32 mask)
VOID SYMCRYPT_CALL SymCryptFixedWindowRecoding(UINT32 W, _Inout_ PSYMCRYPT_INT piK, _Inout_ PSYMCRYPT_INT piTmp, _Out_writes_(nRecodedDigits) PUINT32 absofKIs, _Out_writes_(nRecodedDigits) PUINT32 sigofKIs, UINT32 nRecodedDigits)
UINT32 SYMCRYPT_CALL SymCryptFdefIntMulUint32(_In_ PCSYMCRYPT_INT piSrc1, UINT32 Src2, _Out_ PSYMCRYPT_INT piDst)
UINT32 SYMCRYPT_CALL SymCryptFdefRawMaskedSub(_Inout_updates_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pAcc, _In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 mask, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptAesGcmDecryptPart(_Inout_ PSYMCRYPT_GCM_STATE pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
PSYMCRYPT_MLKEMKEY pkMlKemkey
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModInvMontgomery256(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomeryMulx(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptCShakeEncodeInputStrings(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_(cbFunctionNameString) PCBYTE pbFunctionNameString, SIZE_T cbFunctionNameString, _In_reads_(cbCustomizationString) PCBYTE pbCustomizationString, SIZE_T cbCustomizationString)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptLsbFirstToUint32(_In_reads_(4 *cuResult) PCBYTE pbData, _Out_writes_(cuResult) PUINT32 puResult, SIZE_T cuResult)
VOID SYMCRYPT_CALL SymCryptFdefRawMulMulx1024(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, _In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_ymm_1block(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
PCUINT32 SYMCRYPT_CALL SymCryptFdef369ModPreGetMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_NEGATE_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _Inout_ PSYMCRYPT_ECPOINT poSrc, UINT32 mask, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
UINT32 SYMCRYPT_CALL SymCryptFdef369RawSubAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 pDst, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptAesEncryptAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptAesGcmDecryptStitchedNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefRawSubAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 pDst, UINT32 nDigits)
struct _XMSS_ADRS XMSS_ADRS
UINT32 SYMCRYPT_CALL SymCryptHbsIncrementalTreehashStackDepth(UINT32 nLeaves)
struct _SYMCRYPT_MD4_STATE_EXPORT_BLOB SYMCRYPT_MD4_STATE_EXPORT_BLOB
struct _XMSS_OTS_ADDRESS * PXMSS_OTS_ADDRESS
VOID SYMCRYPT_CALL SymCryptFdefModDivPow2(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, UINT32 exp, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptMd5AppendBlocks(_Inout_ SYMCRYPT_MD5_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
VOID SYMCRYPT_CALL SymCryptKeccakAppend(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefIntFindSmallDivisor(_In_ PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext, _In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModSetRandomGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
#define SYMCRYPT_LMS_KEY_PAIR_IDENTIFIER_SIZE
VOID SYMCRYPT_CALL SymCryptFdefRawMulMulx(_In_reads_(nDigits1 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits1, _In_reads_(nDigits2 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits2, _Out_writes_((nDigits1+nDigits2) *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomeryP384Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID(SYMCRYPT_CALL * SYMCRYPT_MOD_COPY_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst)
struct _SYMCRYPT_MODULAR_FUNCTIONS SYMCRYPT_MODULAR_FUNCTIONS
UINT32 SYMCRYPT_CALL SymCryptSizeofEcpointEx(UINT32 cbModElement, UINT32 numOfCoordinates)
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomeryMulx256Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptFdefIntMulMixedSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptMd2AppendBlocks(_Inout_ SYMCRYPT_MD2_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
SYMCRYPT_ERROR(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_MULTI_SCALAR_MUL_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_reads_(nPoints) PCSYMCRYPT_INT *piSrcScalarArray, _In_reads_(nPoints) PCSYMCRYPT_ECPOINT *poSrcEcpointArray, UINT32 nPoints, UINT32 flags, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _XMSS_LTREE_ADDRESS XMSS_LTREE_ADDRESS
BYTE abPublicRoot[SYMCRYPT_LMS_MAX_N]
UINT32 SYMCRYPT_CALL SymCryptFdefIntGetBits(_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit, UINT32 nBits)
#define PAR_SCRATCH_ELEMENTS_512
const SYMCRYPT_HASH SymCryptSha512Algorithm_default
const SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY SymCryptModulusTypeSelections[]
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptFdefModulusCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptFdefRawMul512Asm(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, _In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptAesCbcEncryptXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptAesCtrMsb32Neon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID(SYMCRYPT_CALL * SYMCRYPT_MODULUS_COPYFIXUP_FN)(_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
VOID SYMCRYPT_CALL SymCryptWidthNafRecoding(UINT32 W, _Inout_ PSYMCRYPT_INT piK, _Out_writes_(nRecodedDigits) PUINT32 absofKIs, _Out_writes_(nRecodedDigits) PUINT32 sigofKIs, UINT32 nRecodedDigits)
VOID SYMCRYPT_CALL SymCryptOfflinePrecomputation(_In_ PSYMCRYPT_ECURVE pCurve, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptShortWeierstrassSetZero(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptXmsskeyVerifyRoot(_In_ PCSYMCRYPT_XMSS_KEY pKey)
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomery256Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptFdefIntNeg(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
struct _SYMCRYPT_SHA256_STATE_EXPORT_BLOB SYMCRYPT_SHA256_STATE_EXPORT_BLOB
const SYMCRYPT_HASH SymCryptMd2Algorithm_default
VOID SYMCRYPT_CALL SymCryptFdefModulusInitMontgomery(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptFdefModulusAllocate(UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptGHashExpandKeyAmd64(_Out_writes_(SYMCRYPT_GF128_FIELD_SIZE) PSYMCRYPT_GF128_ELEMENT expandedKey, _In_reads_(SYMCRYPT_GF128_BLOCK_SIZE) PCBYTE pH)
VOID SYMCRYPT_CALL SymCryptGHashAppendDataXmm(_In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsModp8192
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefRawSetValue(_In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, SYMCRYPT_NUMBER_FORMAT format, _Out_writes_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst, UINT32 nDigits)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEcpointMultiScalarMulWnafWithInterleaving(_In_ PCSYMCRYPT_ECURVE pCurve, _In_reads_(nPoints) PCSYMCRYPT_INT *piSrcScalarArray, _In_reads_(nPoints) PCSYMCRYPT_ECPOINT *poSrcEcpointArray, UINT32 nPoints, UINT32 flags, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const SYMCRYPT_COMPOSITE_MLKEMKEY * PCSYMCRYPT_COMPOSITE_MLKEMKEY
VOID SYMCRYPT_CALL SymCryptFdefRawSquare512Asm(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptAesCbcEncryptAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefIntBitsizeOfValue(_In_ PCSYMCRYPT_INT piSrc)
VOID SymCryptFdefDivisorCopy(_In_ PCSYMCRYPT_DIVISOR pdSrc, _Out_ PSYMCRYPT_DIVISOR pdDst)
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptFdefIntAllocate(UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptUint32ToMsbFirst(_In_reads_(cuData) PCUINT32 puData, _Out_writes_(4 *cuData) PBYTE pbResult, SIZE_T cuData)
VOID SYMCRYPT_CALL SymCryptShortWeierstrassFillScratchSpaces(_In_ PSYMCRYPT_ECURVE pCurve)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_xmm(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
VOID SYMCRYPT_CALL SymCryptGHashExpandKeyX86(_Out_ PSYMCRYPT_GHASH_EXPANDED_KEY expandedKey, _In_reads_(SYMCRYPT_GF128_BLOCK_SIZE) PCBYTE pH)
VOID SYMCRYPT_CALL SymCryptAesGcmEncryptPart(_Inout_ PSYMCRYPT_GCM_STATE pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptAesGcmDecryptStitchedYmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptDetectCpuFeaturesFromRegistersNoTry(void)
VOID SYMCRYPT_CALL SymCryptFdefIntDivMod(_In_ PCSYMCRYPT_INT piSrc, _In_ PCSYMCRYPT_DIVISOR pdDivisor, _Out_opt_ PSYMCRYPT_INT piQuotient, _Out_opt_ PSYMCRYPT_INT piRemainder, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID(SYMCRYPT_CALL * SYMCRYPT_MODULUS_INIT_FN)(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesCtrMsb32Xmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_SET_RANDOM_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_INT piScalar, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEckeySetValueCompositeEncodingSk(SYMCRYPT_CACHED_ECURVE_ID curveId, _In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, UINT32 flags, _Inout_ PSYMCRYPT_ECKEY pEckey)
UINT32 SymCryptFdefDigitsFromBits(UINT32 nBits)
struct _SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY * PSYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY
FORCEINLINE UINT32 SymCryptCountTrailingZeros64(UINT64 value)
VOID SYMCRYPT_CALL SymCryptAesCreateDecryptionRoundKeyC(_In_reads_(16) PCBYTE pEncryptionRoundKey, _Out_writes_(16) PBYTE pDecryptionRoundKey)
VOID SYMCRYPT_CALL SymCryptFdefModSetPostMontgomeryMulx256(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptXmssVerifyInternal(_Inout_ PSYMCRYPT_XMSS_KEY pKey, _In_reads_bytes_(cbMessage) PCBYTE pbMessage, SIZE_T cbMessage, UINT32 flags, _In_reads_bytes_(cbSignature) PCBYTE pbSignature, SIZE_T cbSignature)
VOID SYMCRYPT_CALL SymCryptFdefModulusCopyFixupGeneric(_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
SYMCRYPT_KECCAK_STATE_EXPORT_BLOB SYMCRYPT_SHA3_512_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptGcmEncryptPartTwoPass(_Inout_ PSYMCRYPT_GCM_STATE pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_ADD_DIFF_NONZERO_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_XMSSKEY_TYPE keyType
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptKeccakStateImport(SYMCRYPT_BLOB_TYPE type, _Out_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_bytes_(SYMCRYPT_KECCAK_STATE_EXPORT_SIZE) PCBYTE pbBlob)
VOID SYMCRYPT_CALL SymCryptFdefIntSquare(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModSetPostGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesDecryptAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
UINT32 SYMCRYPT_CALL SymCryptTwistedEdwardsIsEqual(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModMultiExpGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_reads_(nBases) PCSYMCRYPT_MODELEMENT *peBaseArray, _In_reads_(nBases) PCSYMCRYPT_INT *piExpArray, UINT32 nBases, UINT32 nBitsExp, UINT32 flags, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModElementSetValueGeneric(_In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, SYMCRYPT_NUMBER_FORMAT format, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const SYMCRYPT_LMS_KEY * PCSYMCRYPT_LMS_KEY
const BYTE SymCryptTestKey32[32]
const PCSYMCRYPT_PARALLEL_HASH SymCryptParallelSha384Algorithm
VOID SYMCRYPT_CALL SymCryptFdefIntModPow2(_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
UINT32 SYMCRYPT_CALL SymCryptFdefIntIsEqualUint32(_In_ PCSYMCRYPT_INT piSrc1, _In_ UINT32 u32Src2)
VOID SYMCRYPT_CALL SymCryptDetectCpuFeaturesFromIsProcessorFeaturePresent(void)
UINT32 SYMCRYPT_CALL SymCryptFdefIntIsLessThan(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2)
const BYTE SymCryptSha512KATAnswer[64]
VOID SYMCRYPT_CALL SymCryptAesCbcDecryptNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
PCSYMCRYPT_TRIALDIVISION_CONTEXT SYMCRYPT_CALL SymCryptFdefCreateTrialDivisionContext(UINT32 nDigits)
VOID SymCryptFdefDivisorCopyFixup(_In_ PCSYMCRYPT_DIVISOR pSrc, _Out_ PSYMCRYPT_DIVISOR pDst)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsSetZero(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModAdd384Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptFdefConditionalSwap(_Inout_updates_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PBYTE pbSrc1, _Inout_updates_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PBYTE pbSrc2, UINT32 nDigits, UINT32 cond)
VOID SYMCRYPT_CALL SymCryptMontgomeryFillScratchSpaces(_In_ PSYMCRYPT_ECURVE pCurve)
#define SYMCRYPT_LMS_MAX_N
VOID SYMCRYPT_CALL SymCryptAesCbcMacNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomeryMulxP384Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptAesGcmEncryptStitchedXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
const SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY * PCSYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY
VOID SYMCRYPT_CALL SymCryptHashCommonPaddingMd4Style(_In_ PCSYMCRYPT_HASH pHash, _Inout_ PSYMCRYPT_COMMON_HASH_STATE pState)
UINT32 SYMCRYPT_CALL SymCryptCompositeGetSizeOfEncodedEcPk(SYMCRYPT_CACHED_ECURVE_ID curveId)
VOID SymCryptFdefModElementMaskedCopy(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 mask)
struct _SYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT * PSYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT
BYTE Seed[SYMCRYPT_HASH_MAX_RESULT_SIZE]
VOID SYMCRYPT_CALL SymCryptAesEcbEncryptXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdef369ModAddGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_LMS_KEY * PSYMCRYPT_LMS_KEY
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsffdhe8192
const SYMCRYPT_HASH SymCryptSha3_512Algorithm_default
#define REPEAT_BYTE_TO_UINT64(x)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefIntSetValue(_In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, SYMCRYPT_NUMBER_FORMAT format, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptDetectCpuFeaturesFromRegisters(void)
const SYMCRYPT_HASH SymCryptShake128HashAlgorithm_default
VOID SYMCRYPT_CALL SymCryptFdefModulusCopyFixupMontgomery(_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
UINT32 SYMCRYPT_CALL SymCryptCompositeGetSizeOfEncodedEcSk(SYMCRYPT_CACHED_ECURVE_ID curveId)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECURVE_FILL_SCRATCH_SPACES_FUNC)(_Inout_ PSYMCRYPT_ECURVE pCurve)
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorRetrieveHandle(_In_ PBYTE pbBuffer)
const SYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS * PCSYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS
enum _XMSS_ADRS_TYPE XMSS_ADRS_TYPE
UINT32 SYMCRYPT_CALL SymCryptFdefRawSub(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 pDst, UINT32 nDigits)
PCSYMCRYPT_ECURVE SYMCRYPT_CALL SymCryptGetCachedEcurve(SYMCRYPT_CACHED_ECURVE_ID curveId)
VOID SYMCRYPT_CALL SymCryptFdefModulusInitMontgomery256(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesEcbEncryptC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptGHashResult(_In_ PCSYMCRYPT_GF128_ELEMENT pState, _Out_writes_(SYMCRYPT_GF128_BLOCK_SIZE) PBYTE pbResult)
const PCSYMCRYPT_PARALLEL_HASH SymCryptParallelSha512Algorithm
struct _SYMCRYPT_ECURVE_FUNCTIONS SYMCRYPT_ECURVE_FUNCTIONS
VOID SYMCRYPT_CALL SymCryptEckeyWipePrivateState(_Inout_ PSYMCRYPT_ECKEY pkEckey)
VOID SYMCRYPT_CALL SymCryptParallelSha512AppendBlocks_ymm(_Inout_updates_(4) PSYMCRYPT_SHA512_CHAINING_STATE *pChain, _Inout_updates_(4) PCBYTE *ppByte, SIZE_T nBytes, _Out_writes_(PAR_SCRATCH_ELEMENTS_512 *32) PBYTE pScratch)
VOID SYMCRYPT_CALL SymCryptAesGcmEncryptStitchedNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptSha1AppendBlocks(_Inout_ SYMCRYPT_SHA1_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEcpointScalarMulFixedWindow(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_INT piScalar, _In_opt_ PCSYMCRYPT_ECPOINT poSrc, UINT32 flags, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
UINT32 SYMCRYPT_CALL SymCryptFdefIntBitsizeOfObject(_In_ PCSYMCRYPT_INT piSrc)
VOID SYMCRYPT_CALL SymCryptDetectCpuFeaturesByCpuid(UINT32 flags)
VOID SYMCRYPT_CALL SymCryptAesCtrMsb64Neon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptAesEcbDecryptC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModInvGeneric(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
UINT32 SYMCRYPT_CALL SymCryptFdefIntIsEqual(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2)
VOID SYMCRYPT_CALL SymCryptFdef369RawMulAsm(_In_reads_(nDigits1 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits1, _In_reads_(nDigits2 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits2, _Out_writes_((nDigits1+nDigits2) *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
PSYMCRYPT_TREEHASH_NODE SYMCRYPT_CALL SymCryptHbsIncrementalTreehashGetNode(_In_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash, SIZE_T index)
VOID SYMCRYPT_CALL SymCryptFdefModElementFree(_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peObj)
VOID SYMCRYPT_CALL SymCryptGHashExpandKey(_Out_ PSYMCRYPT_GHASH_EXPANDED_KEY expandedKey, _In_reads_(SYMCRYPT_GF128_BLOCK_SIZE) PCBYTE pH)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptParallelHashProcess(_In_ PCSYMCRYPT_PARALLEL_HASH pParHash, _Inout_updates_bytes_(nStates *pParHash->pHash->stateSize) PVOID pStates, SIZE_T nStates, _Inout_updates_(nOperations) PSYMCRYPT_PARALLEL_HASH_OPERATION pOperations, SIZE_T nOperations, _Out_writes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch, UINT32 maxParallel)
const BYTE SymCryptTestMsg3[3]
#define CHECK_ALGORITHM_INFO_FLAGS_DISTINCT(flag0, flag1, flag2, flag3, flag4)
#define SYMCRYPT_ECURVE_FUNCTIONS_SIZE
UINT32 SYMCRYPT_CALL SymCryptFdefRawAdd(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 Dst, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
struct _XMSS_HASHTREE_ADDRESS * PXMSS_HASHTREE_ADDRESS
VOID SYMCRYPT_CALL SymCryptGHashAppendDataPclmulqdq(_In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefIntMulSameSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_ymm_4blocks(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
struct _SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY
VOID SYMCRYPT_CALL SymCryptAes4SboxXmm(_In_reads_(4) PCBYTE pIn, _Out_writes_(4) PBYTE pOut)
BYTE privateSeed[SYMCRYPT_COMPOSITE_MLKEM_IRTF_PRIVATE_SEED_SIZE]
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomeryMulx1024(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsDouble(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const SYMCRYPT_HASH SymCryptMd5Algorithm_default
VOID SYMCRYPT_CALL SymCryptFdefRawSquare(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_DOUBLE_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ASYM_ALIGN_STRUCT _SYMCRYPT_LMS_KEY
UINT32 SYMCRYPT_CALL SymCryptFdefModElementIsZero(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc)
VOID SYMCRYPT_CALL SymCryptAesEcbEncryptNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefRawSquareMulx(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
@ XMSS_ADRS_TYPE_HASH_TREE
VOID SYMCRYPT_CALL SymCryptAesCbcDecryptAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
BYTE SkXmss[SYMCRYPT_HASH_MAX_RESULT_SIZE]
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_SET_DISTINGUISHED_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PSYMCRYPT_TREEHASH_NODE SYMCRYPT_CALL SymCryptHbsIncrementalTreehashProcessCommon(_Inout_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash, BOOLEAN fFinal)
VOID SYMCRYPT_CALL SymCryptFdefRawMulAsm(_In_reads_(nDigits1 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits1, _In_reads_(nDigits2 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits2, _Out_writes_((nDigits1+nDigits2) *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
UINT32 SYMCRYPT_CALL SymCryptFdefSizeofModElementFromModulus(PCSYMCRYPT_MODULUS pmMod)
UINT32 SYMCRYPT_CALL SymCryptFdefSizeofDivisorFromDigits(UINT32 nDigits)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMontgomeryPointScalarMul(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_INT piScalar, _In_opt_ PCSYMCRYPT_ECPOINT poSrc, UINT32 flags, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorFromModulus(_In_ PSYMCRYPT_MODULUS pmSrc)
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomeryMulx1024(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefIntGetValue(_In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst, SYMCRYPT_NUMBER_FORMAT format)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_ADD_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
FORCEINLINE UINT32 SymCryptCountLeadingZeros32(UINT32 value)
VOID SYMCRYPT_CALL SymCryptEcurveFillScratchSpaces(_Inout_ PSYMCRYPT_ECURVE pCurve)
VOID SYMCRYPT_CALL SymCryptFdefModMulGeneric(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT SYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT
VOID SYMCRYPT_CALL SymCryptShortWeierstrassSetDistinguished(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModSetPostMontgomeryMulxP384(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdef369RawMul(_In_reads_(nDigits1 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits1, _In_reads_(nDigits2 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits2, _Out_writes_((nDigits1+nDigits2) *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptAesDecryptNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptAesCtrMsb64Asm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
PSYMCRYPT_INCREMENTAL_TREEHASH SYMCRYPT_CALL SymCryptHbsIncrementalTreehashInit(UINT32 nLeaves, PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 cbHashResult, PSYMCRYPT_INCREMENTAL_TREEHASH_FUNC funcCompressNodes, PSYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT pContext)
VOID(SYMCRYPT_CALL * PSYMCRYPT_ECPOINT_SET_ZERO_FUNC)(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptNamedSafePrimeGroups[SYMCRYPT_DH_SAFEPRIME_GROUP_COUNT]
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsffdhe2048
FORCEINLINE VOID SYMCRYPT_CALL SymCryptMsbFirstToUint32(_In_reads_(4 *cuResult) PCBYTE pbData, _Out_writes_(cuResult) PUINT32 puResult, SIZE_T cuResult)
UINT32 SYMCRYPT_CALL SymCryptFdefRawNeg(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, UINT32 carryIn, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 pDst, UINT32 nDigits)
UINT32 SYMCRYPT_CALL SymCryptFdefNumberofDigitsFromInt(_In_ PCSYMCRYPT_INT piSrc)
const SYMCRYPT_HASH SymCryptSha3_256Algorithm_default
FORCEINLINE UINT32 SymCryptCountTrailingZeros32(UINT32 value)
struct _SYMCRYPT_BLOB_TRAILER SYMCRYPT_BLOB_TRAILER
SYMCRYPT_CACHED_ECURVE_ID
@ SYMCRYPT_CACHED_ECURVE_ID_CURVE_25519
@ SYMCRYPT_CACHED_ECURVE_ID_NIST_P256
@ SYMCRYPT_CACHED_ECURVE_ID_COUNT
@ SYMCRYPT_CACHED_ECURVE_ID_NIST_P384
enum SYMCRYPT_CACHED_ECURVE_ID * PSYMCRYPT_CACHED_ECURVE_ID
const UINT32 g_SymCryptModFnsMask
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptFdefIntCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
#define PAR_SCRATCH_ELEMENTS_256
VOID SYMCRYPT_CALL SymCryptKeccakStateExport(SYMCRYPT_BLOB_TYPE type, _In_ PCSYMCRYPT_KECCAK_STATE pState, _Out_writes_bytes_(SYMCRYPT_KECCAK_STATE_EXPORT_SIZE) PBYTE pbBlob)
UINT64 SymCryptInverseMod2e64(UINT64 m)
struct _SYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS
FORCEINLINE VOID SYMCRYPT_CALL SymCryptCheckLibraryInitialized(void)
VOID SYMCRYPT_CALL SymCryptXtsEncryptDataUnit(_In_ PCSYMCRYPT_BLOCKCIPHER pBlockCipher, _In_ PCVOID pExpandedKey, _Inout_updates_(pBlockCipher->blockSize) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdef369MontgomeryReduce(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID(SYMCRYPT_CALL * SYMCRYPT_MOD_UNARY_OP_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesGcmDecryptStitchedXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefIntConditionalCopy(_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 cond)
VOID SYMCRYPT_CALL SymCryptFdefModSub384Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptMarvin32AppendBlocks(_Inout_ PSYMCRYPT_MARVIN32_CHAINING_STATE pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsAdd(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesGcmEncryptStitchedYmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbChainingValue, _In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefIntSubMixedSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
SYMCRYPT_ERROR(SYMCRYPT_CALL * SYMCRYPT_MOD_UNARY_OP_FLAG_STATUS_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorAllocate(UINT32 nDigits)
PCUINT32(SYMCRYPT_CALL * SYMCRYPT_MOD_PRE_GET_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_KECCAK_STATE_EXPORT_BLOB SYMCRYPT_SHA3_384_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ASYM_ALIGN_STRUCT _SYMCRYPT_XMSS_KEY
SYMCRYPT_KECCAK_STATE_EXPORT_BLOB SYMCRYPT_SHA3_224_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptFdefMaskedCopyAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCBYTE pbSrc, _Inout_updates_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PBYTE pbDst, UINT32 nDigits, UINT32 mask)
SYMCRYPT_ERROR SymCryptFdefIntCopyMixedSize(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsAddDiffNonZero(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SymCryptFdefModElementConditionalSwap(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peData1, _Inout_ PSYMCRYPT_MODELEMENT peData2, _In_ UINT32 cond)
VOID SYMCRYPT_CALL SymCryptFdefClaimScratch(PBYTE pbScratch, SIZE_T cbScratch, SIZE_T cbMin)
struct _SYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS SYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS
VOID SYMCRYPT_CALL SymCryptGHashAppendData(_In_ PCSYMCRYPT_GHASH_EXPANDED_KEY expandedKey, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptFdefModElementAllocate(_In_ PCSYMCRYPT_MODULUS pmMod)
struct _XMSS_ADRS * PXMSS_ADRS
VOID SYMCRYPT_CALL SymCryptFdef369ModulusInitMontgomery(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_ECURVE_PARAMS_V2_EXTENSION SymCryptEcurveParamsV2ExtensionTwistedEdwards
VOID SYMCRYPT_CALL SymCryptAesEncryptXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
const SYMCRYPT_HASH SymCryptSha384Algorithm_default
VOID SYMCRYPT_CALL SymCryptFdef369ModSetPostMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const BYTE SymCryptSha256KATAnswer[32]
VOID SYMCRYPT_CALL SymCryptPositiveWidthNafRecoding(UINT32 W, _In_ PCSYMCRYPT_INT piK, UINT32 nBitsExp, _Out_writes_(nRecodedDigits) PUINT32 absofKIs, UINT32 nRecodedDigits)
VOID SYMCRYPT_CALL SymCryptFdef369ModSubGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitNeon(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdef369MontgomeryReduceAsm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptFdefModAdd256Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
UINT32 SYMCRYPT_CALL SymCryptFdefSizeofIntFromDigits(UINT32 nDigits)
SYMCRYPT_XMSS_PARAMS params
VOID SYMCRYPT_CALL SymCryptShortWeierstrassDoubleSpecializedAm3(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_INCREMENTAL_TREEHASH SYMCRYPT_INCREMENTAL_TREEHASH
PSYMCRYPT_TREEHASH_NODE SYMCRYPT_CALL SymCryptHbsIncrementalTreehashProcess(_Inout_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefRawGetValue(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst, SYMCRYPT_NUMBER_FORMAT format)
const SYMCRYPT_BLOCKCIPHER SymCryptAesBlockCipherNoOpt
enum _SYMCRYPT_BLOB_TYPE SYMCRYPT_BLOB_TYPE
VOID SYMCRYPT_CALL SymCryptFdefIntSetValueUint32(UINT32 u32Src, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptShortWeierstrassNegate(_In_ PCSYMCRYPT_ECURVE pCurve, _Inout_ PSYMCRYPT_ECPOINT poSrc, UINT32 mask, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduce1024Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptModExpGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peBase, _In_ PCSYMCRYPT_INT piExp, UINT32 nBitsExp, UINT32 flags, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
BYTE abSeed[SYMCRYPT_LMS_MAX_N]
UINT32 SYMCRYPT_CALL SymCryptFdefSizeofModulusFromDigits(UINT32 nDigits)
struct _SYMCRYPT_MD5_STATE_EXPORT_BLOB SYMCRYPT_MD5_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptFdefRawMul(_In_reads_(nDigits1 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, UINT32 nDigits1, _In_reads_(nDigits2 *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits2, _Out_writes_((nDigits1+nDigits2) *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
UINT32 SYMCRYPT_CALL SymCryptFdefRawAddAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 Dst, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptFdefModAddMulx384Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SymCryptFdefIntCopy(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptKeccakExtract(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _Out_writes_(cbResult) PBYTE pbResult, SIZE_T cbResult, BOOLEAN bWipe)
VOID SYMCRYPT_CALL SymCryptAesCreateDecryptionRoundKeyNeon(_In_reads_(16) PCBYTE pEncryptionRoundKey, _Out_writes_(16) PBYTE pDecryptionRoundKey)
VOID SYMCRYPT_CALL SymCryptAesCreateDecryptionRoundKeyXmm(_In_reads_(16) PCBYTE pEncryptionRoundKey, _Out_writes_(16) PBYTE pDecryptionRoundKey)
VOID SYMCRYPT_CALL SymCryptFdefModMulMontgomeryMulxP384Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
VOID SYMCRYPT_CALL SymCryptShortWeierstrassDouble(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_ PSYMCRYPT_ECPOINT poDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptCompositeMlKemGetRandomScalarForEcKeyEx(SYMCRYPT_CACHED_ECURVE_ID ecurveId, SYMCRYPT_NUMBER_FORMAT numFormat, _In_reads_bytes_(cbSeed) PCBYTE pbSeed, SIZE_T cbSeed, _Out_writes_bytes_(cbScalar) PBYTE pbScalar, SIZE_T cbScalar)
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomery256Asm(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc1, _In_ PCSYMCRYPT_MODELEMENT pSrc2, _Out_ PSYMCRYPT_MODELEMENT pDst)
const UINT32 SymCryptEcpointFormatNumberofElements[4]
VOID SYMCRYPT_CALL SymCryptFdefModSquareMontgomeryMulx(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefRawMul1024Asm(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc1, _In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc2, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
const SYMCRYPT_MODULAR_FUNCTIONS g_SymCryptModFns[]
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptDsaPct(PCSYMCRYPT_DLKEY pkDlkey)
UINT32 SYMCRYPT_CALL SymCryptFdefRawAddUint32(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src1, UINT32 Src2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 Dst, UINT32 nDigits)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsffdhe4096
VOID(SYMCRYPT_CALL * SYMCRYPT_MOD_BINARY_OP_FN)(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_BLOB_HEADER SYMCRYPT_BLOB_HEADER
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitZmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptSha512AppendBlocks_ymm_avx512vl_asm(_Inout_ SYMCRYPT_SHA512_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
const PCSYMCRYPT_PARALLEL_HASH SymCryptParallelSha256Algorithm
VOID SYMCRYPT_CALL SymCryptFdefIntSetValueUint64(UINT64 u64Src, _Out_ PSYMCRYPT_INT piDst)
PCUINT32 SYMCRYPT_CALL SymCryptFdefModPreGetGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsffdhe6144
VOID SYMCRYPT_CALL SymCryptCtrMsb32(_In_ PCSYMCRYPT_BLOCKCIPHER pBlockCipher, _In_ PCVOID pExpandedKey, _Inout_updates_(pBlockCipher->blockSize) PBYTE pbChainingValue, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEcDsaPct(PCSYMCRYPT_ECKEY pkEckey)
VOID SYMCRYPT_CALL SymCryptHbsIncrementalTreehashGetTopNodes(_Inout_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash, _Out_ PSYMCRYPT_TREEHASH_NODE *ppNodeLeft, _Out_ PSYMCRYPT_TREEHASH_NODE *ppNodeRight)
#define CHECK_ALGORITHM_INFO_FLAG_POW2(flag)
PSYMCRYPT_TREEHASH_NODE SYMCRYPT_CALL SymCryptHbsIncrementalTreehashAllocNode(_Inout_ PSYMCRYPT_INCREMENTAL_TREEHASH pIncHash, UINT32 nLeafIndex)
VOID SYMCRYPT_CALL SymCryptGHashAppendDataNeon(_In_reads_(SYMCRYPT_GF128_FIELD_SIZE) PCSYMCRYPT_GF128_ELEMENT expandedKeyTable, _Inout_ PSYMCRYPT_GF128_ELEMENT pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddMixedSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
VOID SYMCRYPT_CALL SymCryptTwistedEdwardsSetDistinguished(_In_ PCSYMCRYPT_ECURVE pCurve, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptInitEnvCommon(UINT32 version)
VOID SYMCRYPT_CALL SymCryptFdefModDivSmallPow2Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _In_range_(1, NATIVE_BITS) UINT32 exp, _Out_ PSYMCRYPT_MODELEMENT peDst)
const SYMCRYPT_HASH SymCryptShake256HashAlgorithm_default
#define SYMCRYPT_FDEF_DIGIT_NUINT32
VOID SYMCRYPT_CALL SymCryptFdefIntSetBits(_In_ PSYMCRYPT_INT piDst, UINT32 value, UINT32 iBit, UINT32 nBits)
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatalHang(UINT32 fatalcode)
VOID SYMCRYPT_CALL SymCryptSha256AppendBlocks_xmm_ssse3_asm(_Inout_ SYMCRYPT_SHA256_CHAINING_STATE *pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_ SIZE_T *pcbRemaining)
UINT32 SYMCRYPT_CALL SymCryptShortWeierstrassOnCurve(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsModp2048
VOID SYMCRYPT_CALL SymCryptAesEncryptC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
UINT32 SYMCRYPT_CALL SymCryptFdef369RawAddAsm(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src1, _In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 Src2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 Dst, UINT32 nDigits)
FORCEINLINE VOID SYMCRYPT_CALL XorByteIntoBuffer(_Inout_updates_(8 *cqBuf) PBYTE pbBuf, SIZE_T cqBuf, BYTE v)
VOID SYMCRYPT_CALL SymCryptFdefModDivSmallPow2(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _In_range_(1, NATIVE_BITS) UINT32 exp, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptFdefModAddMulx256Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2, _Out_ PSYMCRYPT_MODELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptShortWeierstrassAddDiffNonZero(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc1, _In_ PCSYMCRYPT_ECPOINT poSrc2, _Out_ PSYMCRYPT_ECPOINT poDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
SIZE_T SYMCRYPT_CALL SymCryptHbsSizeofScratchBytesForIncrementalTreehash(UINT32 cbNode, UINT32 nLeaves)
PCUINT32 SYMCRYPT_CALL SymCryptFdefModPreGetMontgomery256(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptFdefIntFromModulus(_In_ PSYMCRYPT_MODULUS pmSrc)
const SYMCRYPT_HASH SymCryptSha512_224Algorithm_default
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduceAsm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptEckeyGetValueCompositeEncodingSk(_In_ PCSYMCRYPT_ECKEY pEckey, SYMCRYPT_CACHED_ECURVE_ID curveId, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsModp4096
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduce256Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
const PCSYMCRYPT_DLGROUP_DH_SAFEPRIME_PARAMS SymCryptDlgroupDhSafePrimeParamsModp3072
VOID SYMCRYPT_CALL SymCryptFdef369ModSquareMontgomery(_In_ PCSYMCRYPT_MODULUS pMod, _In_ PCSYMCRYPT_MODELEMENT pSrc, _Out_ PSYMCRYPT_MODELEMENT pDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefIntToModElement(_In_ PCSYMCRYPT_INT piSrc, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SymCryptFdefModulusCopy(_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
struct _SYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS * PSYMCRYPT_COMPOSITE_MLKEM_INTERNAL_PARAMS
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModElementGetValue(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst, SYMCRYPT_NUMBER_FORMAT format, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefMontgomeryReduce512Asm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptParallelSha256AppendBlocks_ymm(_Inout_updates_(8) PSYMCRYPT_SHA256_CHAINING_STATE *pChain, _Inout_updates_(8) PCBYTE *ppByte, SIZE_T nBytes, _Out_writes_(PAR_SCRATCH_ELEMENTS_256 *32) PBYTE pScratch)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptUint64ToMsbFirst(_In_reads_(cuData) PCUINT64 puData, _Out_writes_(8 *cuData) PBYTE pbResult, SIZE_T cuData)
VOID SYMCRYPT_CALL SymCryptAesDecryptC(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptAesDecryptXmm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(SYMCRYPT_AES_BLOCK_SIZE) PCBYTE pbSrc, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptXtsAesDecryptDataUnitYmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptFdefRawSubUint32(_In_reads_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PCUINT32 pSrc1, UINT32 Src2, _Out_writes_bytes_(nDigits *SYMCRYPT_FDEF_DIGIT_SIZE) PUINT32 pDst, UINT32 nDigits)
VOID SYMCRYPT_CALL SymCryptXtsAesEncryptDataUnitYmm_2048(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _Inout_updates_(SYMCRYPT_AES_BLOCK_SIZE) PBYTE pbTweakBlock, _Out_writes_(SYMCRYPT_AES_BLOCK_SIZE *16) PBYTE pbScratch, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
UINT32 SYMCRYPT_CALL SymCryptTwistedEdwardsOnCurve(_In_ PCSYMCRYPT_ECURVE pCurve, _In_ PCSYMCRYPT_ECPOINT poSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAesEcbEncryptAsm(_In_ PCSYMCRYPT_AES_EXPANDED_KEY pExpandedKey, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptParallelHashProcess_serial(_In_ PCSYMCRYPT_PARALLEL_HASH pParHash, _Inout_updates_bytes_(nStates *pParHash->pHash->stateSize) PVOID pStates, SIZE_T nStates, _Inout_updates_(nOperations) PSYMCRYPT_PARALLEL_HASH_OPERATION pOperations, SIZE_T nOperations, _Out_writes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
struct _SYMCRYPT_MD2_STATE_EXPORT_BLOB SYMCRYPT_MD2_STATE_EXPORT_BLOB
UINT32 SYMCRYPT_CALL SymCryptHbsGetDigit(UINT32 width, _In_ PCBYTE pbBuffer, SIZE_T cbBuffer, UINT32 index)
const SYMCRYPT_ECURVE_FUNCTIONS * PCSYMCRYPT_ECURVE_FUNCTIONS
VOID SYMCRYPT_CALL SymCryptFdefIntDivPow2(_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
struct _SYMCRYPT_SHA1_STATE_EXPORT_BLOB SYMCRYPT_SHA1_STATE_EXPORT_BLOB
VOID SYMCRYPT_CALL SymCryptKeccakPermute(_Inout_updates_(25) UINT64 *pState)
UINT64 SYMCRYPT_CALL SymCryptFdefIntGetValueLsbits64(_In_ PCSYMCRYPT_INT piSrc)
VOID SYMCRYPT_CALL SymCryptXtsDecryptDataUnit(_In_ PCSYMCRYPT_BLOCKCIPHER pBlockCipher, _In_ PCVOID pExpandedKey, _Inout_updates_(pBlockCipher->blockSize) PBYTE pbTweakBlock, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptFdefRawSquareAsm(_In_reads_(nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PCUINT32 pSrc, UINT32 nDigits, _Out_writes_(2 *nDigits *SYMCRYPT_FDEF_DIGIT_NUINT32) PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptFdefModNegGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptAes4Sbox(_In_reads_(4) PCBYTE pIn, _Out_writes_(4) PBYTE pOut, BOOL UseSimd)
UINT32 UINT32 UINT32 UINT32 cbScratch
unsigned char _BitScanReverse(unsigned long *_Index, unsigned long _Mask)
__int64 _InterlockedCompareExchange64(_Interlocked_operand_ __int64 volatile *_Destination, __int64 _Exchange, __int64 _Comparand)
unsigned char _BitScanForward(unsigned long *_Index, unsigned long _Mask)
static const BYTE pbResult[]
SYMCRYPT_MLKEM_PARAMS mlKemParams
SIZE_T cbEncodedPrivateKey
SIZE_T cbEncodedPublicKey
SYMCRYPT_NUMBER_FORMAT numFormat
SYMCRYPT_ECPOINT_FORMAT ecPointFormat
SYMCRYPT_COMPOSITE_MLKEM_PARAMS params
SYMCRYPT_CACHED_ECURVE_ID ecurveId
SYMCRYPT_DLGROUP_DH_SAFEPRIMETYPE eDhSafePrimeType
PSYMCRYPT_ECPOINT_ADD_FUNC addFunc
PSYMCRYPT_ECPOINT_SCALAR_MUL_FUNC scalarMulFunc
PSYMCRYPT_ECPOINT_SET_DISTINGUISHED_FUNC setDistinguishedFunc
PSYMCRYPT_ECPOINT_ONCURVE_FUNC onCurveFunc
PSYMCRYPT_ECPOINT_MULTI_SCALAR_MUL_FUNC multiScalarMulFunc
PSYMCRYPT_ECURVE_FILL_SCRATCH_SPACES_FUNC fillScratchSpacesFunc
PSYMCRYPT_ECPOINT_DOUBLE_FUNC doubleFunc
PSYMCRYPT_ECPOINT_ISZERO_FUNC isZeroFunc
PSYMCRYPT_ECPOINT_SET_RANDOM_FUNC setRandomFunc
PSYMCRYPT_ECPOINT_ISEQUAL_FUNC isEqualFunc
PSYMCRYPT_ECPOINT_ADD_DIFF_NONZERO_FUNC addDiffFunc
PSYMCRYPT_ECPOINT_SET_ZERO_FUNC setZeroFunc
PSYMCRYPT_ECPOINT_NEGATE_FUNC negateFunc
PSYMCRYPT_INCREMENTAL_TREEHASH_FUNC funcCompressNodes
PSYMCRYPT_XMSS_INCREMENTAL_TREEHASH_CONTEXT pContext
SYMCRYPT_TREEHASH_NODE arrNodes[SYMCRYPT_ANYSIZE_ARRAY]
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_MODULUS_COPYFIXUP_FN modulusCopyFixup
SYMCRYPT_MOD_SET_POST_FN modSetPost
SYMCRYPT_MOD_BINARY_OP_FN modSub
SYMCRYPT_MOD_PRE_GET_FN modPreGet
SYMCRYPT_MOD_UNARY_OP_FN modNeg
SYMCRYPT_MOD_UNARY_OP_FLAG_STATUS_FN modInv
SYMCRYPT_MOD_BINARY_OP_FN modMul
SYMCRYPT_MOD_UNARY_OP_FN modSquare
SYMCRYPT_MOD_BINARY_OP_FN modAdd
SYMCRYPT_MODULUS_INIT_FN modulusInit
SYMCRYPT_CPU_FEATURES cpuFeatures
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_TRAILER trailer
SYMCRYPT_BLOB_HEADER header
SYMCRYPT_BLOB_TRAILER trailer
PCSYMCRYPT_XMSS_PARAMS pParams
union _XMSS_ADRS::@5246 u
XMSS_HASHTREE_ADDRESS hashtree
#define SYMCRYPT_FLAG_DLKEY_DSA
#define SYMCRYPT_LOAD_MSBFIRST32(p)
enum _SYMCRYPT_COMPOSITE_MLKEM_PARAMS SYMCRYPT_COMPOSITE_MLKEM_PARAMS
enum _SYMCRYPT_DLGROUP_DH_SAFEPRIMETYPE SYMCRYPT_DLGROUP_DH_SAFEPRIMETYPE
#define SYMCRYPT_LOAD_LSBFIRST64(p)
#define SYMCRYPT_FLAG_ECKEY_ECDSA
#define SYMCRYPT_LOAD_MSBFIRST64(p)
enum _SYMCRYPT_NUMBER_FORMAT SYMCRYPT_NUMBER_FORMAT
#define SYMCRYPT_COMPOSITE_MLKEM_IRTF_PRIVATE_SEED_SIZE
#define SYMCRYPT_FLAG_RSAKEY_SIGN
#define SYMCRYPT_FLAG_RSAKEY_ENCRYPT
#define SYMCRYPT_LOAD_LSBFIRST32(p)
#define SYMCRYPT_FLAG_DLKEY_DH
enum _SYMCRYPT_ECPOINT_FORMAT SYMCRYPT_ECPOINT_FORMAT
#define SYMCRYPT_AES_BLOCK_SIZE
#define SYMCRYPT_FLAG_KEY_NO_FIPS
enum _SYMCRYPT_MLKEM_PARAMS SYMCRYPT_MLKEM_PARAMS
#define SYMCRYPT_STORE_LSBFIRST32(p, v)
#define SYMCRYPT_STORE_LSBFIRST64(p, v)
#define SYMCRYPT_STORE_MSBFIRST32(p, v)
#define SYMCRYPT_STORE_MSBFIRST64(p, v)
enum _SYMCRYPT_XMSSKEY_TYPE SYMCRYPT_XMSSKEY_TYPE
#define SYMCRYPT_FLAG_KEY_MINIMAL_VALIDATION
#define SYMCRYPT_FLAG_ECKEY_ECDH
* PSYMCRYPT_SHA512_CHAINING_STATE
#define SYMCRYPT_SHA3_512_STATE_EXPORT_SIZE
struct _SYMCRYPT_XMSS_KEY SYMCRYPT_XMSS_KEY
const SYMCRYPT_KECCAK_STATE * PCSYMCRYPT_KECCAK_STATE
const SYMCRYPT_XMSS_PARAMS * PCSYMCRYPT_XMSS_PARAMS
struct _SYMCRYPT_COMPOSITE_MLKEMKEY SYMCRYPT_COMPOSITE_MLKEMKEY
const SYMCRYPT_MODELEMENT * PCSYMCRYPT_MODELEMENT
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_GCM_STATE
#define SYMCRYPT_SHA1_STATE_EXPORT_SIZE
const SYMCRYPT_ECPOINT * PCSYMCRYPT_ECPOINT
struct _SYMCRYPT_HASH SYMCRYPT_HASH
const SYMCRYPT_ECKEY * PCSYMCRYPT_ECKEY
const SYMCRYPT_GF128_ELEMENT * PCSYMCRYPT_GF128_ELEMENT
SYMCRYPT_SHA256_CHAINING_STATE
SYMCRYPT_MODELEMENT * PSYMCRYPT_MODELEMENT
#define SYMCRYPT_FDEF_DIGIT_SIZE
#define SYMCRYPT_HASH_MAX_RESULT_SIZE
SYMCRYPT_MLKEMKEY * PSYMCRYPT_MLKEMKEY
#define SYMCRYPT_ALIGN_AT(alignment)
SYMCRYPT_SHA512_CHAINING_STATE
#define SYMCRYPT_SHA3_384_STATE_EXPORT_SIZE
#define SYMCRYPT_SHA3_224_STATE_EXPORT_SIZE
#define SYMCRYPT_KECCAK_STATE_EXPORT_SIZE
#define SYMCRYPT_MD2_STATE_EXPORT_SIZE
const SYMCRYPT_DIVISOR * PCSYMCRYPT_DIVISOR
SYMCRYPT_XMSS_KEY * PSYMCRYPT_XMSS_KEY
const SYMCRYPT_AES_EXPANDED_KEY * PCSYMCRYPT_AES_EXPANDED_KEY
const SYMCRYPT_PARALLEL_HASH * PCSYMCRYPT_PARALLEL_HASH
PCSYMCRYPT_BLOCKCIPHER pBlockCipher
UINT32 SYMCRYPT_CPU_FEATURES
#define SYMCRYPT_GF128_FIELD_SIZE
const SYMCRYPT_HASH * PCSYMCRYPT_HASH
#define SYMCRYPT_GF128_BLOCK_SIZE
* PSYMCRYPT_GF128_ELEMENT
PCBYTE PBYTE SIZE_T cbData
#define SYMCRYPT_MD5_STATE_EXPORT_SIZE
SYMCRYPT_MD4_CHAINING_STATE
const SYMCRYPT_RSAKEY * PCSYMCRYPT_RSAKEY
SYMCRYPT_MD2_CHAINING_STATE
#define SYMCRYPT_SHA256_STATE_EXPORT_SIZE
const SYMCRYPT_LMS_KEY * PCSYMCRYPT_LMS_KEY
const SYMCRYPT_XMSS_KEY * PCSYMCRYPT_XMSS_KEY
PCSYMCRYPT_HMAC_MD5_EXPANDED_KEY pKey
const SYMCRYPT_GHASH_EXPANDED_KEY * PCSYMCRYPT_GHASH_EXPANDED_KEY
* PSYMCRYPT_COMMON_HASH_STATE
#define SYMCRYPT_SHA3_256_STATE_EXPORT_SIZE
#define SYMCRYPT_PCT_ECDSA
#define SYMCRYPT_MAGIC_FIELD
const SYMCRYPT_INT * PCSYMCRYPT_INT
const SYMCRYPT_DLKEY * PCSYMCRYPT_DLKEY
SYMCRYPT_ECPOINT * PSYMCRYPT_ECPOINT
PSYMCRYPT_COMMON_HASH_STATE pState
#define SYMCRYPT_MD4_STATE_EXPORT_SIZE
const SYMCRYPT_MODULUS * PCSYMCRYPT_MODULUS
SYMCRYPT_DIVISOR * PSYMCRYPT_DIVISOR
#define SYMCRYPT_SHA512_STATE_EXPORT_SIZE
SYMCRYPT_ECKEY * PSYMCRYPT_ECKEY
struct _SYMCRYPT_LMS_KEY SYMCRYPT_LMS_KEY
SYMCRYPT_MODULUS * PSYMCRYPT_MODULUS
SYMCRYPT_SHA1_CHAINING_STATE
SYMCRYPT_INT * PSYMCRYPT_INT
* PSYMCRYPT_SHA256_CHAINING_STATE
const SYMCRYPT_ECURVE * PCSYMCRYPT_ECURVE
SYMCRYPT_ECURVE * PSYMCRYPT_ECURVE
SYMCRYPT_MD5_CHAINING_STATE
SYMCRYPT_MARVIN32_EXPANDED_SEED * PSYMCRYPT_MARVIN32_CHAINING_STATE
#define SYMCRYPT_PCT_RSA_SIGN
* PSYMCRYPT_GHASH_EXPANDED_KEY