9#if (SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64)
11#if !(SYMCRYPT_CPU_AMD64 | SYMCRYPT_CPU_ARM64)
12#error code in this file is specific to normal digits being 4 64-bit words, and here 3 64-bit words
22#define SYMCRYPT_FDEF369_DIGITS_TO_NUINT32( nD ) (((nD) + 1) * 6)
23#elif SYMCRYPT_CPU_ARM64
24#define SYMCRYPT_FDEF369_DIGITS_TO_NUINT32( nD ) ((nD) * 6)
41 UINT32 nDigits = pmMod->nDigits;
76 UINT32 nDigits = pmMod->nDigits;
108 UINT32 nDigits = pmMod->nDigits;
141 UINT32 nDigits = pmMod->nDigits;
160 UINT32 nDigits = pmMod->nDigits;
161 UINT32 nUint32 = SYMCRYPT_FDEF369_DIGITS_TO_NUINT32( nDigits );
167 memcpy( pTmp, &peObj->d.uint32[0], nUint32 *
sizeof(
UINT32 ) );
210 UINT32 nDigits = pmMod->nDigits;
211 UINT32 nBytes = SYMCRYPT_FDEF369_DIGITS_TO_NUINT32( nDigits ) *
sizeof(
UINT32 );
221 memcpy( pTmp, &peSrc->d.uint32[0], nBytes );
VOID SYMCRYPT_CALL SymCryptFdefClaimScratch(PBYTE pbScratch, SIZE_T cbScratch, SIZE_T cbMin)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefModInvGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdefModulusInitMontgomeryInternal(_Inout_ PSYMCRYPT_MODULUS pmMod, UINT32 nUint32Used, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
#define memcpy(s1, s2, n)
#define _Out_writes_bytes_(s)
#define UNREFERENCED_PARAMETER(P)
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 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)
#define SYMCRYPT_ASSERT_ASYM_ALIGNED(_p)
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)
PCUINT32 SYMCRYPT_CALL SymCryptFdef369ModPreGetMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peObj, _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 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)
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)
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 SymCryptFdef369MontgomeryReduce(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
VOID SYMCRYPT_CALL SymCryptFdef369ModulusInitMontgomery(_Inout_ PSYMCRYPT_MODULUS pmObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
VOID SYMCRYPT_CALL SymCryptFdef369ModSetPostMontgomery(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peObj, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
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 SymCryptFdef369MontgomeryReduceAsm(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PUINT32 pSrc, _Out_ PUINT32 pDst)
#define SYMCRYPT_FDEF_DIGIT_NUINT32
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)
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)
UINT32 UINT32 UINT32 UINT32 cbScratch
#define SYMCRYPT_ASSERT(_x)
VOID SYMCRYPT_CALL SymCryptWipe(_Out_writes_bytes_(cbData) PVOID pbData, SIZE_T cbData)
const SYMCRYPT_MODELEMENT * PCSYMCRYPT_MODELEMENT
SYMCRYPT_MODELEMENT * PSYMCRYPT_MODELEMENT
#define SYMCRYPT_FDEF_DIGIT_SIZE
const SYMCRYPT_MODULUS * PCSYMCRYPT_MODULUS
#define SYMCRYPT_FDEF_INT_PUINT32(p)
SYMCRYPT_MODULUS * PSYMCRYPT_MODULUS
#define SYMCRYPT_SCRATCH_BYTES_FOR_COMMON_MOD_OPERATIONS(_nDigits)