36 if (iterationCnt == 0)
38 return SYMCRYPT_WRONG_ITERATION_COUNT;
48 pExpandedKey->macAlg->appendFunc( &macState, pbSalt, cbSalt);
49 pExpandedKey->macAlg->appendFunc( &macState, &rbBlockResult[0], 4 );
50 pExpandedKey->macAlg->resultFunc( &macState, rbWorkBuffer);
52#pragma warning(suppress: 22105)
53 memcpy( rbBlockResult, rbWorkBuffer, blockSize );
57 pExpandedKey->macAlg->appendFunc( &macState, rbWorkBuffer, blockSize );
58 pExpandedKey->macAlg->resultFunc( &macState, rbWorkBuffer );
59 SymCryptXorBytes( &rbWorkBuffer[0], &rbBlockResult[0], &rbBlockResult[0], blockSize );
70 return SYMCRYPT_NO_ERROR;
103 if( scError != SYMCRYPT_NO_ERROR )
109 if( scError != SYMCRYPT_NO_ERROR )
COMPILER_DEPENDENT_UINT64 UINT64
static unsigned char bytes[4]
static void cleanup(void)
#define memcpy(s1, s2, n)
#define _In_reads_opt_(s)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptPbkdf2ExpandKey(_Out_ PSYMCRYPT_PBKDF2_EXPANDED_KEY pExpandedKey, _In_ PCSYMCRYPT_MAC macAlgorithm, _In_reads_(cbKey) PCBYTE pbKey, SIZE_T cbKey)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptPbkdf2(PCSYMCRYPT_MAC macAlgorithm, _In_reads_(cbKey) PCBYTE pbKey, SIZE_T cbKey, _In_reads_opt_(cbSalt) PCBYTE pbSalt, SIZE_T cbSalt, UINT64 iterationCnt, _Out_writes_(cbResult) PBYTE pbResult, SIZE_T cbResult)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptPbkdf2Derive(_In_ PCSYMCRYPT_PBKDF2_EXPANDED_KEY pExpandedKey, _In_reads_opt_(cbSalt) PCBYTE pbSalt, SIZE_T cbSalt, UINT64 iterationCnt, _Out_writes_(cbResult) PBYTE pbResult, SIZE_T cbResult)
static const BYTE pbResult[]
PSYMCRYPT_MAC_EXPAND_KEY expandKeyFunc
#define SYMCRYPT_ASSERT(_x)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptWipeKnownSize(_Out_writes_bytes_(cbData) PVOID pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptXorBytes(_In_reads_(cbBytes) PCBYTE pbSrc1, _In_reads_(cbBytes) PCBYTE pbSrc2, _Out_writes_(cbBytes) PBYTE pbResult, SIZE_T cbBytes)
#define SYMCRYPT_STORE_MSBFIRST32(p, v)
#define SYMCRYPT_MIN(_a, _b)
#define SYMCRYPT_MAC_MAX_RESULT_SIZE
PCSYMCRYPT_MAC macAlgorithm