23 {0xcd0893b7, 0xd53cd9ce},
24#if defined( SYMCRYPT_MAGIC_ENABLED )
51 scError = SYMCRYPT_WRONG_KEY_SIZE;
84 if( pExpandedSeed ==
NULL )
87 pDst->pSeed = pSrc->pSeed;
92 pDst->pSeed = pExpandedSeed;
104 pState->chain = *pExpandedSeed;
106 pState->pSeed = pExpandedSeed;
184#define BLOCK( a, b ) \
186 b ^= a; a = ROL32( a, rotate[0] );\
187 a += b; b = ROL32( b, rotate[1] );\
188 b ^= a; a = ROL32( a, rotate[2] );\
189 a += b; b = ROL32( b, rotate[3] );\
207 pbData += bytesInFirstBlock;
208 cbData -= bytesInFirstBlock;
210 switch( bytesInFirstBlock )
250 UINT32 s0 = pExpandedSeed->s[0];
287 case 0: tmp = 0x80;
break;
290 case 1: tmp = 0x8000 |
pbData[0];
break;
315 0xbf, 0x69, 0x27, 0x49, 0x39, 0x43, 0xc7, 0x22,
static void cleanup(void)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
VOID SYMCRYPT_CALL SymCryptMarvin32Result(_Inout_ PSYMCRYPT_MARVIN32_STATE pState, _Out_writes_(SYMCRYPT_MARVIN32_RESULT_SIZE) PBYTE pbResult)
VOID SYMCRYPT_CALL SymCryptMarvin32(_In_ PCSYMCRYPT_MARVIN32_EXPANDED_SEED pExpandedSeed, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_writes_(SYMCRYPT_MARVIN32_RESULT_SIZE) PBYTE pbResult)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMarvin32ExpandSeed(_Out_ PSYMCRYPT_MARVIN32_EXPANDED_SEED pExpandedSeed, _In_reads_(cbSeed) PCBYTE pbSeed, SIZE_T cbSeed)
VOID SYMCRYPT_CALL SymCryptMarvin32Selftest(void)
VOID SYMCRYPT_CALL SymCryptMarvin32SeedCopy(_In_ PCSYMCRYPT_MARVIN32_EXPANDED_SEED pSrc, _Out_ PSYMCRYPT_MARVIN32_EXPANDED_SEED pDst)
static const BYTE marvin32KATAnswer[8]
PCSYMCRYPT_MARVIN32_EXPANDED_SEED const SymCryptMarvin32DefaultSeed
VOID SYMCRYPT_CALL SymCryptMarvin32AppendBlocks(_Inout_ PSYMCRYPT_MARVIN32_CHAINING_STATE pChain, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptMarvin32StateCopy(_In_ PCSYMCRYPT_MARVIN32_STATE pSrc, _In_opt_ PCSYMCRYPT_MARVIN32_EXPANDED_SEED pExpandedSeed, _Out_ PSYMCRYPT_MARVIN32_STATE pDst)
static const SYMCRYPT_MARVIN32_EXPANDED_SEED SymCryptMarvin32DefaultSeedStruct
VOID SYMCRYPT_CALL SymCryptMarvin32Init(_Out_ PSYMCRYPT_MARVIN32_STATE pState, _In_ PCSYMCRYPT_MARVIN32_EXPANDED_SEED pExpandedSeed)
static const int rotate[4]
VOID SYMCRYPT_CALL SymCryptMarvin32Append(_Inout_ PSYMCRYPT_MARVIN32_STATE state, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
const BYTE SymCryptTestMsg3[3]
static const BYTE pbResult[]
#define SYMCRYPT_ASSERT(_x)
#define SYMCRYPT_MARVIN32_SEED_SIZE
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
#define SYMCRYPT_MARVIN32_RESULT_SIZE
#define SYMCRYPT_LOAD_LSBFIRST16(p)
#define SYMCRYPT_LOAD_LSBFIRST32(p)
#define SYMCRYPT_STORE_LSBFIRST32(p, v)
const SYMCRYPT_MARVIN32_EXPANDED_SEED * PCSYMCRYPT_MARVIN32_EXPANDED_SEED
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_MARVIN32_STATE
PCBYTE PBYTE SIZE_T cbData
#define SYMCRYPT_SET_MAGIC(p)
const SYMCRYPT_MARVIN32_STATE * PCSYMCRYPT_MARVIN32_STATE
PSYMCRYPT_COMMON_HASH_STATE pState
#define SYMCRYPT_CHECK_MAGIC(p)
SYMCRYPT_MARVIN32_EXPANDED_SEED * PSYMCRYPT_MARVIN32_CHAINING_STATE
SYMCRYPT_MAGIC_FIELD SYMCRYPT_MARVIN32_EXPANDED_SEED
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_MARVIN32_EXPANDED_SEED