ReactOS 0.4.17-dev-1005-g171e1de
a_dispatch.c File Reference
#include "precomp.h"
Include dependency graph for a_dispatch.c:

Go to the source code of this file.

Macros

#define SymCryptModLabel(_label)   (_label << 16)
 
#define SymCryptModFntableGeneric   (SymCryptModLabel('gM') + (0 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomery   (SymCryptModLabel('mM') + (1 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntable369Montgomery   (SymCryptModLabel('9m') + (2 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryMulx256   (SymCryptModLabel('2x') + (3 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryMulxP384   (SymCryptModLabel('3n') + (4 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryMulx   (SymCryptModLabel('xM') + (5 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryMulx1024   (SymCryptModLabel('1x') + (6 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryArm64256   (SymCryptModLabel('2m') + (3 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 
#define SymCryptModFntableMontgomeryArm64P384   (SymCryptModLabel('3n') + (4 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))
 

Functions

 C_ASSERT ((sizeof(g_SymCryptModFns) &(sizeof(g_SymCryptModFns) - 1))==0)
 
UINT32 SymCryptDigitsFromBits (UINT32 nBits)
 
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntAllocate (UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptIntFree (_Out_ PSYMCRYPT_INT piObj)
 
UINT32 SYMCRYPT_CALL SymCryptSizeofIntFromDigits (UINT32 nDigits)
 
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntCreate (_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptIntWipe (_Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntCopy (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntMaskedCopy (_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 mask)
 
VOID SYMCRYPT_CALL SymCryptIntConditionalCopy (_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 cond)
 
VOID SYMCRYPT_CALL SymCryptIntConditionalSwap (_Inout_ PSYMCRYPT_INT piSrc1, _Inout_ PSYMCRYPT_INT piSrc2, UINT32 cond)
 
UINT32 SYMCRYPT_CALL SymCryptIntBitsizeOfObject (_In_ PCSYMCRYPT_INT piSrc)
 
UINT32 SYMCRYPT_CALL SymCryptIntDigitsizeOfObject (_In_ PCSYMCRYPT_INT piSrc)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptIntCopyMixedSize (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntBitsizeOfValue (_In_ PCSYMCRYPT_INT piSrc)
 
VOID SYMCRYPT_CALL SymCryptIntSetValueUint32 (UINT32 u32Src, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntSetValueUint64 (UINT64 u64Src, _Out_ PSYMCRYPT_INT piDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptIntSetValue (_In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, SYMCRYPT_NUMBER_FORMAT format, _Out_ PSYMCRYPT_INT piDst)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptIntGetValue (_In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst, SYMCRYPT_NUMBER_FORMAT format)
 
UINT32 SYMCRYPT_CALL SymCryptIntGetValueLsbits32 (_In_ PCSYMCRYPT_INT piSrc)
 
UINT64 SYMCRYPT_CALL SymCryptIntGetValueLsbits64 (_In_ PCSYMCRYPT_INT piSrc)
 
UINT32 SYMCRYPT_CALL SymCryptIntAddUint32 (_In_ PCSYMCRYPT_INT piSrc1, UINT32 u32Src2, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntAddSameSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntAddMixedSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntSubUint32 (_In_ PCSYMCRYPT_INT piSrc1, UINT32 u32Src2, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntSubSameSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntSubMixedSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntNeg (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntMulPow2 (_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntDivPow2 (_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntShr1 (UINT32 highestBit, _In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntModPow2 (_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
 
UINT32 SYMCRYPT_CALL SymCryptIntGetBit (_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit)
 
UINT32 SYMCRYPT_CALL SymCryptIntGetBits (_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit, UINT32 nBits)
 
VOID SYMCRYPT_CALL SymCryptIntSetBits (_In_ PSYMCRYPT_INT piDst, UINT32 value, UINT32 iBit, UINT32 nBits)
 
UINT32 SYMCRYPT_CALL SymCryptIntIsEqualUint32 (_In_ PCSYMCRYPT_INT piSrc1, _In_ UINT32 u32Src2)
 
UINT32 SYMCRYPT_CALL SymCryptIntIsEqual (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2)
 
UINT32 SYMCRYPT_CALL SymCryptIntIsLessThan (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2)
 
UINT32 SYMCRYPT_CALL SymCryptIntMulUint32 (_In_ PCSYMCRYPT_INT piSrc1, UINT32 Src2, _Out_ PSYMCRYPT_INT piDst)
 
VOID SYMCRYPT_CALL SymCryptIntMulSameSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptIntSquare (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptIntMulMixedSize (_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorAllocate (UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptDivisorFree (_Out_ PSYMCRYPT_DIVISOR pdObj)
 
UINT32 SYMCRYPT_CALL SymCryptSizeofDivisorFromDigits (UINT32 nDigits)
 
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorCreate (_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptDivisorWipe (_Out_ PSYMCRYPT_DIVISOR pdObj)
 
VOID SymCryptDivisorCopy (_In_ PCSYMCRYPT_DIVISOR pdSrc, _Out_ PSYMCRYPT_DIVISOR pdDst)
 
UINT32 SYMCRYPT_CALL SymCryptDivisorDigitsizeOfObject (_In_ PCSYMCRYPT_DIVISOR pdSrc)
 
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntFromDivisor (_In_ PSYMCRYPT_DIVISOR pdSrc)
 
VOID SYMCRYPT_CALL SymCryptIntToDivisor (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_DIVISOR pdDst, UINT32 totalOperations, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptIntDivMod (_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)
 
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptModulusAllocate (UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptModulusFree (_Out_ PSYMCRYPT_MODULUS pmObj)
 
UINT32 SYMCRYPT_CALL SymCryptSizeofModulusFromDigits (UINT32 nDigits)
 
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptModulusCreate (_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
 
VOID SYMCRYPT_CALL SymCryptModulusWipe (_Out_ PSYMCRYPT_MODULUS pmObj)
 
VOID SymCryptModulusCopy (_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
 
UINT32 SYMCRYPT_CALL SymCryptModulusDigitsizeOfObject (_In_ PCSYMCRYPT_MODULUS pmSrc)
 
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptModElementAllocate (_In_ PCSYMCRYPT_MODULUS pmMod)
 
VOID SYMCRYPT_CALL SymCryptModElementFree (_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peObj)
 
UINT32 SYMCRYPT_CALL SymCryptSizeofModElementFromModulus (PCSYMCRYPT_MODULUS pmMod)
 
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptModElementCreate (_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, _In_ PCSYMCRYPT_MODULUS pmMod)
 
VOID SYMCRYPT_CALL SymCryptModElementWipe (_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst)
 
VOID SymCryptModElementCopy (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst)
 
VOID SymCryptModElementMaskedCopy (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 mask)
 
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorFromModulus (_In_ PSYMCRYPT_MODULUS pmSrc)
 
VOID SymCryptModElementConditionalSwap (_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peData1, _Inout_ PSYMCRYPT_MODELEMENT peData2, _In_ UINT32 cond)
 
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntFromModulus (_In_ PSYMCRYPT_MODULUS pmSrc)
 
VOID SYMCRYPT_CALL SymCryptIntToModulus (_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_MODULUS pmDst, UINT32 averageOperations, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptIntToModElement (_In_ PCSYMCRYPT_INT piSrc, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModElementToInt (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_DISABLE_CFG SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModElementSetValue (_In_reads_bytes_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, SYMCRYPT_NUMBER_FORMAT format, PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModElementGetValue (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)
 
UINT32 SYMCRYPT_CALL SymCryptModElementIsEqual (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc1, _In_ PCSYMCRYPT_MODELEMENT peSrc2)
 
UINT32 SYMCRYPT_CALL SymCryptModElementIsZero (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc)
 
SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModAdd (_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_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModSub (_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_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModMul (_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_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModSquare (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModNeg (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModElementSetValueUint32 (UINT32 value, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptModElementSetValueNegUint32 (UINT32 value, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptModDivPow2 (_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, UINT32 exp, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
SYMCRYPT_DISABLE_CFG SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModInv (_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 SymCryptModExp (_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)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModMultiExp (_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_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModSetRandom (_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
PCSYMCRYPT_TRIALDIVISION_CONTEXT SYMCRYPT_CALL SymCryptCreateTrialDivisionContext (UINT32 nDigits)
 
UINT32 SYMCRYPT_CALL SymCryptIntFindSmallDivisor (_In_ PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext, _In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
 
VOID SYMCRYPT_CALL SymCryptFreeTrialDivisionContext (PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext)
 

Variables

const SYMCRYPT_MODULAR_FUNCTIONS g_SymCryptModFns []
 
const UINT32 g_SymCryptModFnsMask = sizeof( g_SymCryptModFns ) - sizeof( g_SymCryptModFns[0] )
 
const SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY SymCryptModulusTypeSelections []
 

Macro Definition Documentation

◆ SymCryptModFntable369Montgomery

#define SymCryptModFntable369Montgomery   (SymCryptModLabel('9m') + (2 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 55 of file a_dispatch.c.

◆ SymCryptModFntableGeneric

#define SymCryptModFntableGeneric   (SymCryptModLabel('gM') + (0 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 53 of file a_dispatch.c.

◆ SymCryptModFntableMontgomery

#define SymCryptModFntableMontgomery   (SymCryptModLabel('mM') + (1 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 54 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryArm64256

#define SymCryptModFntableMontgomeryArm64256   (SymCryptModLabel('2m') + (3 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 61 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryArm64P384

#define SymCryptModFntableMontgomeryArm64P384   (SymCryptModLabel('3n') + (4 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 62 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryMulx

#define SymCryptModFntableMontgomeryMulx   (SymCryptModLabel('xM') + (5 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 58 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryMulx1024

#define SymCryptModFntableMontgomeryMulx1024   (SymCryptModLabel('1x') + (6 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 59 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryMulx256

#define SymCryptModFntableMontgomeryMulx256   (SymCryptModLabel('2x') + (3 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 56 of file a_dispatch.c.

◆ SymCryptModFntableMontgomeryMulxP384

#define SymCryptModFntableMontgomeryMulxP384   (SymCryptModLabel('3n') + (4 * SYMCRYPT_MODULAR_FUNCTIONS_SIZE))

Definition at line 57 of file a_dispatch.c.

◆ SymCryptModLabel

#define SymCryptModLabel (   _label)    (_label << 16)

Definition at line 52 of file a_dispatch.c.

Function Documentation

◆ C_ASSERT()

C_ASSERT ( (sizeof(g_SymCryptModFns) &(sizeof(g_SymCryptModFns) - 1))  = =0)

◆ SymCryptCreateTrialDivisionContext()

PCSYMCRYPT_TRIALDIVISION_CONTEXT SYMCRYPT_CALL SymCryptCreateTrialDivisionContext ( UINT32  nDigits)

Definition at line 1007 of file a_dispatch.c.

1008{
1010}
PCSYMCRYPT_TRIALDIVISION_CONTEXT SYMCRYPT_CALL SymCryptFdefCreateTrialDivisionContext(UINT32 nDigits)

Referenced by SymCryptDlgroupGenerate(), SymCryptDlgroupSetValue(), and SymCryptIntGenerateRandomPrime().

◆ SymCryptDigitsFromBits()

◆ SymCryptDivisorAllocate()

PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorAllocate ( UINT32  nDigits)

Definition at line 497 of file a_dispatch.c.

498{
499 return SymCryptFdefDivisorAllocate( nDigits );
500}
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorAllocate(UINT32 nDigits)
Definition: fdef_general.c:796

◆ SymCryptDivisorCopy()

VOID SymCryptDivisorCopy ( _In_ PCSYMCRYPT_DIVISOR  pdSrc,
_Out_ PSYMCRYPT_DIVISOR  pdDst 
)

Definition at line 537 of file a_dispatch.c.

540{
541 SymCryptFdefDivisorCopy( pdSrc, pdDst );
542}
VOID SymCryptFdefDivisorCopy(_In_ PCSYMCRYPT_DIVISOR pdSrc, _Out_ PSYMCRYPT_DIVISOR pdDst)
Definition: fdef_general.c:891

◆ SymCryptDivisorCreate()

PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorCreate ( _Out_writes_bytes_(cbBuffer) PBYTE  pbBuffer,
SIZE_T  cbBuffer,
UINT32  nDigits 
)

Definition at line 519 of file a_dispatch.c.

523{
524 return SymCryptFdefDivisorCreate( pbBuffer, cbBuffer, nDigits );
525}
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
Definition: fdef_general.c:842
SIZE_T cbBuffer
Definition: sc_lib_mldsa.h:405

Referenced by SymCryptDlgroupGenerate(), SymCryptDlgroupSetValue(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), SymCryptRsakeyGenerate(), and SymCryptRsakeySetValueInternal().

◆ SymCryptDivisorDigitsizeOfObject()

UINT32 SYMCRYPT_CALL SymCryptDivisorDigitsizeOfObject ( _In_ PCSYMCRYPT_DIVISOR  pdSrc)

Definition at line 546 of file a_dispatch.c.

547{
548 return pdSrc->nDigits;
549}

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS().

◆ SymCryptDivisorFree()

VOID SYMCRYPT_CALL SymCryptDivisorFree ( _Out_ PSYMCRYPT_DIVISOR  pdObj)

Definition at line 504 of file a_dispatch.c.

505{
506 SymCryptDivisorWipe( pdObj );
507 SymCryptCallbackFree( pdObj );
508}
VOID SYMCRYPT_CALL SymCryptDivisorWipe(_Out_ PSYMCRYPT_DIVISOR pdObj)
Definition: a_dispatch.c:529
void SYMCRYPT_CALL SymCryptCallbackFree(void *ptr)
Definition: implglue.c:42

◆ SymCryptDivisorFromModulus()

PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptDivisorFromModulus ( _In_ PSYMCRYPT_MODULUS  pmSrc)

Definition at line 703 of file a_dispatch.c.

704{
705 return SymCryptFdefDivisorFromModulus( pmSrc );
706}
PSYMCRYPT_DIVISOR SYMCRYPT_CALL SymCryptFdefDivisorFromModulus(_In_ PSYMCRYPT_MODULUS pmSrc)
Definition: fdef_mod.c:265

Referenced by rsa_decrypt(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEckeyGetValue(), SymCryptEckeySetValue(), SymCryptRsaCoreDecCrt(), and SymCryptRsakeyCalculatePrimesFromPrivateExponent().

◆ SymCryptDivisorWipe()

VOID SYMCRYPT_CALL SymCryptDivisorWipe ( _Out_ PSYMCRYPT_DIVISOR  pdObj)

Definition at line 529 of file a_dispatch.c.

530{
531 SYMCRYPT_CHECK_MAGIC( pdObj );
532
533 SymCryptWipe( pdObj, pdObj->cbSize );
534}
VOID SYMCRYPT_CALL SymCryptWipe(_Out_writes_bytes_(cbData) PVOID pbData, SIZE_T cbData)
Definition: libmain.c:137
#define SYMCRYPT_CHECK_MAGIC(p)

Referenced by SymCryptDivisorFree().

◆ SymCryptFreeTrialDivisionContext()

VOID SYMCRYPT_CALL SymCryptFreeTrialDivisionContext ( PCSYMCRYPT_TRIALDIVISION_CONTEXT  pContext)

Definition at line 1025 of file a_dispatch.c.

1026{
1028}
VOID SYMCRYPT_CALL SymCryptFdefFreeTrialDivisionContext(PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext)

Referenced by SymCryptDlgroupGenerate(), SymCryptDlgroupSetValue(), and SymCryptIntGenerateRandomPrime().

◆ SymCryptIntAddMixedSize()

UINT32 SYMCRYPT_CALL SymCryptIntAddMixedSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 304 of file a_dispatch.c.

308{
309 return SymCryptFdefIntAddMixedSize( piSrc1, piSrc2, piDst );
310}
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddMixedSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:113

Referenced by SymCryptCrtSolve(), and SymCryptIntExtendedGcd().

◆ SymCryptIntAddSameSize()

UINT32 SYMCRYPT_CALL SymCryptIntAddSameSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 294 of file a_dispatch.c.

298{
299 return SymCryptFdefIntAddSameSize( piSrc1, piSrc2, piDst );
300}
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddSameSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:98

◆ SymCryptIntAddUint32()

UINT32 SYMCRYPT_CALL SymCryptIntAddUint32 ( _In_ PCSYMCRYPT_INT  piSrc1,
UINT32  u32Src2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 284 of file a_dispatch.c.

288{
289 return SymCryptFdefIntAddUint32( piSrc1, u32Src2, piDst );
290}
UINT32 SYMCRYPT_CALL SymCryptFdefIntAddUint32(_In_ PCSYMCRYPT_INT piSrc1, UINT32 u32Src2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:83

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDlgroupGeneratePrimeQ_FIPS(), SymCryptFixedWindowRecoding(), SymCryptModSqrt(), and SymCryptWidthNafRecoding().

◆ SymCryptIntAllocate()

◆ SymCryptIntBitsizeOfObject()

UINT32 SYMCRYPT_CALL SymCryptIntBitsizeOfObject ( _In_ PCSYMCRYPT_INT  piSrc)

Definition at line 200 of file a_dispatch.c.

201{
202 return SymCryptFdefIntBitsizeOfObject( piSrc );
203}
UINT32 SYMCRYPT_CALL SymCryptFdefIntBitsizeOfObject(_In_ PCSYMCRYPT_INT piSrc)
Definition: fdef_general.c:328

Referenced by SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), SymCryptModExpWindowed(), and SymCryptPositiveWidthNafRecoding().

◆ SymCryptIntBitsizeOfValue()

◆ SymCryptIntConditionalCopy()

VOID SYMCRYPT_CALL SymCryptIntConditionalCopy ( _In_ PCSYMCRYPT_INT  piSrc,
_Inout_ PSYMCRYPT_INT  piDst,
UINT32  cond 
)

Definition at line 180 of file a_dispatch.c.

184{
185 SymCryptFdefIntConditionalCopy( piSrc, piDst, cond );
186}
VOID SYMCRYPT_CALL SymCryptFdefIntConditionalCopy(_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 cond)
Definition: fdef_general.c:298

Referenced by SymCryptIntExtendedGcd().

◆ SymCryptIntConditionalSwap()

VOID SYMCRYPT_CALL SymCryptIntConditionalSwap ( _Inout_ PSYMCRYPT_INT  piSrc1,
_Inout_ PSYMCRYPT_INT  piSrc2,
UINT32  cond 
)

Definition at line 190 of file a_dispatch.c.

194{
195 SymCryptFdefIntConditionalSwap( piSrc1, piSrc2, cond );
196}
VOID SYMCRYPT_CALL SymCryptFdefIntConditionalSwap(_Inout_ PSYMCRYPT_INT piSrc1, _Inout_ PSYMCRYPT_INT piSrc2, UINT32 cond)
Definition: fdef_general.c:313

Referenced by SymCryptIntExtendedGcd().

◆ SymCryptIntCopy()

◆ SymCryptIntCopyMixedSize()

◆ SymCryptIntCreate()

PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntCreate ( _Out_writes_bytes_(cbBuffer) PBYTE  pbBuffer,
SIZE_T  cbBuffer,
UINT32  nDigits 
)

◆ SymCryptIntDigitsizeOfObject()

UINT32 SYMCRYPT_CALL SymCryptIntDigitsizeOfObject ( _In_ PCSYMCRYPT_INT  piSrc)

Definition at line 207 of file a_dispatch.c.

208{
209 return piSrc->nDigits;
210}

Referenced by SymCryptDsaSignEx(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), and SymCryptIntMillerRabinPrimalityTest().

◆ SymCryptIntDivMod()

VOID SYMCRYPT_CALL SymCryptIntDivMod ( _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 
)

Definition at line 573 of file a_dispatch.c.

580{
581 SymCryptFdefIntDivMod( piSrc, pdDivisor, piQuotient, piRemainder, pbScratch, cbScratch );
582}
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)
Definition: fdef_int.c:1219
UINT32 UINT32 UINT32 UINT32 cbScratch

Referenced by rsa_decrypt(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEckeyGetValue(), SymCryptEckeySetValue(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), SymCryptRsaCoreDecCrt(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), and SymCryptRsakeyCalculatePrivateFields().

◆ SymCryptIntDivPow2()

VOID SYMCRYPT_CALL SymCryptIntDivPow2 ( _In_ PCSYMCRYPT_INT  piSrc,
SIZE_T  exp,
_Out_ PSYMCRYPT_INT  piDst 
)

◆ SymCryptIntFindSmallDivisor()

UINT32 SYMCRYPT_CALL SymCryptIntFindSmallDivisor ( _In_ PCSYMCRYPT_TRIALDIVISION_CONTEXT  pContext,
_In_ PCSYMCRYPT_INT  piSrc,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 1014 of file a_dispatch.c.

1019{
1020 return SymCryptFdefIntFindSmallDivisor( pContext, piSrc, pbScratch, cbScratch );
1021}
UINT32 SYMCRYPT_CALL SymCryptFdefIntFindSmallDivisor(_In_ PCSYMCRYPT_TRIALDIVISION_CONTEXT pContext, _In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDlgroupGeneratePrimeQ_FIPS(), and SymCryptIntGenerateRandomPrime().

◆ SymCryptIntFree()

◆ SymCryptIntFromDivisor()

PSYMCRYPT_INT SYMCRYPT_CALL SymCryptIntFromDivisor ( _In_ PSYMCRYPT_DIVISOR  pdSrc)

Definition at line 553 of file a_dispatch.c.

554{
555 return SymCryptFdefIntFromDivisor( pdSrc );
556}
PSYMCRYPT_INT SYMCRYPT_CALL SymCryptFdefIntFromDivisor(_In_ PSYMCRYPT_DIVISOR pdSrc)
Definition: fdef_int.c:915

Referenced by SymCryptDlgroupGeneratePrimeQ_FIPS(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), and SymCryptRsakeyCalculatePrivateFields().

◆ SymCryptIntFromModulus()

◆ SymCryptIntGetBit()

UINT32 SYMCRYPT_CALL SymCryptIntGetBit ( _In_ PCSYMCRYPT_INT  piSrc,
UINT32  iBit 
)

Definition at line 394 of file a_dispatch.c.

397{
398 return SymCryptFdefIntGetBit( piSrc, iBit );
399}
UINT32 SYMCRYPT_CALL SymCryptFdefIntGetBit(_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit)
Definition: fdef_int.c:580

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptEcpointScalarMulFixedWindow(), SymCryptIntMillerRabinPrimalityTest(), and SymCryptMontgomeryPointScalarMul().

◆ SymCryptIntGetBits()

UINT32 SYMCRYPT_CALL SymCryptIntGetBits ( _In_ PCSYMCRYPT_INT  piSrc,
UINT32  iBit,
UINT32  nBits 
)

Definition at line 403 of file a_dispatch.c.

407{
408 return SymCryptFdefIntGetBits( piSrc, iBit, nBits );
409}
UINT32 SYMCRYPT_CALL SymCryptFdefIntGetBits(_In_ PCSYMCRYPT_INT piSrc, UINT32 iBit, UINT32 nBits)
Definition: fdef_int.c:591

Referenced by SymCryptEckeySetValue(), SymCryptModExpWindowed(), and SymCryptPositiveWidthNafRecoding().

◆ SymCryptIntGetValue()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptIntGetValue ( _In_ PCSYMCRYPT_INT  piSrc,
_Out_writes_bytes_(cbDst) PBYTE  pbDst,
SIZE_T  cbDst,
SYMCRYPT_NUMBER_FORMAT  format 
)

Definition at line 259 of file a_dispatch.c.

264{
265 return SymCryptFdefIntGetValue( piSrc, pbDst, cbDst, format );
266}
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptFdefIntGetValue(_In_ PCSYMCRYPT_INT piSrc, _Out_writes_bytes_(cbDst) PBYTE pbDst, SIZE_T cbDst, SYMCRYPT_NUMBER_FORMAT format)
Definition: fdef_general.c:695
PCBYTE PBYTE pbDst

Referenced by rsa_decrypt(), SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDlgroupGeneratePrimeQ_FIPS(), SymCryptDlgroupGetValue(), SymCryptDlkeyGetValue(), SymCryptEckeyGetValue(), SymCryptRsaCoreDecCrt(), SymCryptRsakeyGetCrtValue(), and SymCryptRsakeyGetValue().

◆ SymCryptIntGetValueLsbits32()

◆ SymCryptIntGetValueLsbits64()

UINT64 SYMCRYPT_CALL SymCryptIntGetValueLsbits64 ( _In_ PCSYMCRYPT_INT  piSrc)

Definition at line 277 of file a_dispatch.c.

278{
279 return SymCryptFdefIntGetValueLsbits64( piSrc );
280}
UINT64 SYMCRYPT_CALL SymCryptFdefIntGetValueLsbits64(_In_ PCSYMCRYPT_INT piSrc)
Definition: fdef_general.c:721

Referenced by SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptFdefIntToModulus(), SymCryptIntGenerateRandomPrime(), and SymCryptRsakeyCalculatePrimesFromPrivateExponent().

◆ SymCryptIntIsEqual()

UINT32 SYMCRYPT_CALL SymCryptIntIsEqual ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2 
)

Definition at line 433 of file a_dispatch.c.

436{
437 return SymCryptFdefIntIsEqual( piSrc1, piSrc2 );
438}
UINT32 SYMCRYPT_CALL SymCryptFdefIntIsEqual(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2)
Definition: fdef_general.c:758

Referenced by SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlgroupIsSame(), SymCryptDlgroupSetValue(), SymCryptEcurveIsSame(), SymCryptRsaCoreDecCrt(), and SymCryptRsakeyCalculatePrivateFields().

◆ SymCryptIntIsEqualUint32()

◆ SymCryptIntIsLessThan()

◆ SymCryptIntMaskedCopy()

VOID SYMCRYPT_CALL SymCryptIntMaskedCopy ( _In_ PCSYMCRYPT_INT  piSrc,
_Inout_ PSYMCRYPT_INT  piDst,
UINT32  mask 
)

Definition at line 170 of file a_dispatch.c.

174{
175 SymCryptFdefIntMaskedCopy( piSrc, piDst, mask );
176}
VOID SymCryptFdefIntMaskedCopy(_In_ PCSYMCRYPT_INT piSrc, _Inout_ PSYMCRYPT_INT piDst, UINT32 mask)
Definition: fdef_general.c:280
GLenum GLint GLuint mask
Definition: glext.h:6028

Referenced by SymCryptEcpointScalarMulFixedWindow(), and SymCryptFixedWindowRecoding().

◆ SymCryptIntModPow2()

VOID SYMCRYPT_CALL SymCryptIntModPow2 ( _In_ PCSYMCRYPT_INT  piSrc,
SIZE_T  exp,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 384 of file a_dispatch.c.

388{
389 SymCryptFdefIntModPow2( piSrc, exp, piDst );
390}
VOID SYMCRYPT_CALL SymCryptFdefIntModPow2(_In_ PCSYMCRYPT_INT piSrc, SIZE_T exp, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:539

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDlgroupGeneratePrimeQ_FIPS(), and SymCryptIntGenerateRandomPrime().

◆ SymCryptIntMulMixedSize()

VOID SYMCRYPT_CALL SymCryptIntMulMixedSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 485 of file a_dispatch.c.

491{
492 SymCryptFdefIntMulMixedSize( piSrc1, piSrc2, piDst, pbScratch, cbScratch );
493}
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)
Definition: fdef_int.c:889

Referenced by SymCryptCrtSolve(), SymCryptIntExtendedGcd(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), SymCryptRsakeyCalculatePrivateFields(), and SymCryptRsakeyGenerate().

◆ SymCryptIntMulPow2()

VOID SYMCRYPT_CALL SymCryptIntMulPow2 ( _In_ PCSYMCRYPT_INT  piSrc,
SIZE_T  exp,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 354 of file a_dispatch.c.

358{
359 SymCryptFdefIntMulPow2( piSrc, exp, piDst );
360}
VOID SYMCRYPT_CALL SymCryptFdefIntMulPow2(_In_ PCSYMCRYPT_INT piSrc, SIZE_T Exp, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:407

Referenced by SymCryptDlgroupGeneratePrimeQ_FIPS(), SymCryptEckeyGetValue(), and SymCryptRsakeyGenerate().

◆ SymCryptIntMulSameSize()

VOID SYMCRYPT_CALL SymCryptIntMulSameSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 461 of file a_dispatch.c.

467{
468 SymCryptFdefIntMulSameSize( piSrc1, piSrc2, piDst, pbScratch, cbScratch );
469}
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)
Definition: fdef_int.c:704

◆ SymCryptIntMulUint32()

UINT32 SYMCRYPT_CALL SymCryptIntMulUint32 ( _In_ PCSYMCRYPT_INT  piSrc1,
UINT32  Src2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 451 of file a_dispatch.c.

455{
456 return SymCryptFdefIntMulUint32( piSrc1, Src2, piDst );
457}
UINT32 SYMCRYPT_CALL SymCryptFdefIntMulUint32(_In_ PCSYMCRYPT_INT piSrc1, UINT32 Src2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:681

◆ SymCryptIntNeg()

VOID SYMCRYPT_CALL SymCryptIntNeg ( _In_ PCSYMCRYPT_INT  piSrc,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 344 of file a_dispatch.c.

347{
348 SymCryptFdefIntNeg( piSrc, piDst );
349}
VOID SYMCRYPT_CALL SymCryptFdefIntNeg(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:394

Referenced by SymCryptFdefModInvGeneric().

◆ SymCryptIntSetBits()

VOID SYMCRYPT_CALL SymCryptIntSetBits ( _In_ PSYMCRYPT_INT  piDst,
UINT32  value,
UINT32  iBit,
UINT32  nBits 
)

Definition at line 413 of file a_dispatch.c.

418{
419 SymCryptFdefIntSetBits( piDst, value, iBit, nBits );
420}
VOID SYMCRYPT_CALL SymCryptFdefIntSetBits(_In_ PSYMCRYPT_INT piDst, UINT32 value, UINT32 iBit, UINT32 nBits)
Definition: fdef_int.c:627
Definition: pdh_main.c:64

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptEckeySetRandom(), and SymCryptIntGenerateRandomPrime().

◆ SymCryptIntSetValue()

◆ SymCryptIntSetValueUint32()

VOID SYMCRYPT_CALL SymCryptIntSetValueUint32 ( UINT32  u32Src,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 230 of file a_dispatch.c.

233{
234 SymCryptFdefIntSetValueUint32( u32Src, piDst );
235}
VOID SYMCRYPT_CALL SymCryptFdefIntSetValueUint32(UINT32 u32Src, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_general.c:497

Referenced by SymCryptEckeyWipePrivateState(), SymCryptFdefIntToDivisor(), SymCryptIntExtendedGcd(), SymCryptRsakeyCalculatePrivateFields(), SymCryptRsakeyGenerate(), and SymCryptSswu().

◆ SymCryptIntSetValueUint64()

VOID SYMCRYPT_CALL SymCryptIntSetValueUint64 ( UINT64  u64Src,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 239 of file a_dispatch.c.

242{
243 SymCryptFdefIntSetValueUint64( u64Src, piDst );
244}
VOID SYMCRYPT_CALL SymCryptFdefIntSetValueUint64(UINT64 u64Src, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_general.c:511

Referenced by rsa_encrypt(), SymCryptIntGenerateRandomPrime(), SymCryptRsaCoreDecCrt(), SymCryptRsaCoreEnc(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), and SymCryptRsakeyCalculatePrivateFields().

◆ SymCryptIntShr1()

VOID SYMCRYPT_CALL SymCryptIntShr1 ( UINT32  highestBit,
_In_ PCSYMCRYPT_INT  piSrc,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 374 of file a_dispatch.c.

378{
379 SymCryptFdefIntShr1( highestBit, piSrc, piDst );
380}
VOID SYMCRYPT_CALL SymCryptFdefIntShr1(UINT32 highestBit, _In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:511

Referenced by SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlgroupSetValueSafePrime(), and SymCryptIntExtendedGcd().

◆ SymCryptIntSquare()

VOID SYMCRYPT_CALL SymCryptIntSquare ( _In_ PCSYMCRYPT_INT  piSrc,
_Out_ PSYMCRYPT_INT  piDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 474 of file a_dispatch.c.

479{
480 SymCryptFdefIntSquare( piSrc, piDst, pbScratch, cbScratch );
481}
VOID SYMCRYPT_CALL SymCryptFdefIntSquare(_In_ PCSYMCRYPT_INT piSrc, _Out_ PSYMCRYPT_INT piDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
Definition: fdef_int.c:716

◆ SymCryptIntSubMixedSize()

UINT32 SYMCRYPT_CALL SymCryptIntSubMixedSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 334 of file a_dispatch.c.

338{
339 return SymCryptFdefIntSubMixedSize( piSrc1, piSrc2, piDst );
340}
UINT32 SYMCRYPT_CALL SymCryptFdefIntSubMixedSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:260

Referenced by SymCryptDlgroupGeneratePrimeP_FIPS(), and SymCryptIntExtendedGcd().

◆ SymCryptIntSubSameSize()

UINT32 SYMCRYPT_CALL SymCryptIntSubSameSize ( _In_ PCSYMCRYPT_INT  piSrc1,
_In_ PCSYMCRYPT_INT  piSrc2,
_Out_ PSYMCRYPT_INT  piDst 
)

Definition at line 324 of file a_dispatch.c.

328{
329 return SymCryptFdefIntSubSameSize( piSrc1, piSrc2, piDst );
330}
UINT32 SYMCRYPT_CALL SymCryptFdefIntSubSameSize(_In_ PCSYMCRYPT_INT piSrc1, _In_ PCSYMCRYPT_INT piSrc2, _Out_ PSYMCRYPT_INT piDst)
Definition: fdef_int.c:248

Referenced by SymCryptEcpointScalarMulFixedWindow(), SymCryptFdefModInvGeneric(), and SymCryptIntExtendedGcd().

◆ SymCryptIntSubUint32()

UINT32 SYMCRYPT_CALL SymCryptIntSubUint32 ( _In_ PCSYMCRYPT_INT  piSrc1,
UINT32  u32Src2,
_Out_ PSYMCRYPT_INT  piDst 
)

◆ SymCryptIntToDivisor()

VOID SYMCRYPT_CALL SymCryptIntToDivisor ( _In_ PCSYMCRYPT_INT  piSrc,
_Out_ PSYMCRYPT_DIVISOR  pdDst,
UINT32  totalOperations,
UINT32  flags,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 560 of file a_dispatch.c.

567{
568 SymCryptFdefIntToDivisor( piSrc, pdDst, totalOperations, flags, pbScratch, cbScratch );
569}
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)
Definition: fdef_int.c:922
GLbitfield flags
Definition: glext.h:7161

Referenced by SymCryptDlgroupGeneratePrimeQ_FIPS(), SymCryptFdefIntToModulus(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), and SymCryptRsakeyCalculatePrivateFields().

◆ SymCryptIntToModElement()

VOID SYMCRYPT_CALL SymCryptIntToModElement ( _In_ PCSYMCRYPT_INT  piSrc,
_In_ PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 749 of file a_dispatch.c.

755{
756 SymCryptFdefIntToModElement( piSrc, pmMod, peDst, pbScratch, cbScratch );
757}
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)
Definition: fdef_mod.c:407

Referenced by rsa_decrypt(), SymCrypt802_11SaeCustomCommitProcessGeneric(), SymCrypt802_11SaeCustomCreatePTGeneric(), SymCrypt802_11SaeCustomInit(), SymCryptCrtGenerateForTwoCoprimes(), SymCryptCrtSolve(), SymCryptDsaSignEx(), SymCryptDsaTruncateHash(), SymCryptDsaVerify(), SymCryptEcDsaSignEx(), SymCryptEcDsaTruncateHash(), SymCryptEcDsaVerify(), SymCryptEckeySetRandom(), SymCryptEckeySetValue(), SymCryptRsaCoreDecCrt(), and SymCryptSswu().

◆ SymCryptIntToModulus()

VOID SYMCRYPT_CALL SymCryptIntToModulus ( _In_ PCSYMCRYPT_INT  piSrc,
_Out_ PSYMCRYPT_MODULUS  pmDst,
UINT32  averageOperations,
UINT32  flags,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 727 of file a_dispatch.c.

734{
735 PSYMCRYPT_INT piSrcTweak = (PSYMCRYPT_INT) piSrc;
736
737 // In CHKed build, we'll verify that the modulus is not prime, or that it is 2 or odd
738 // (Some inversion algorithms fail hard when one input isn't 2 or odd.)
739 // We are constant-time w.r.t. piSrc being odd or =2. We don't hide the size of any input,
740 // but inputs 2 and 3 are handled with the same code path.
742 (((SymCryptIntGetValueLsbits32( piSrc ) & 1) | SymCryptIntIsEqualUint32( piSrc, 2 )) != 0) );
743
744 SymCryptFdefIntToModulus( piSrcTweak, pmDst, averageOperations, flags, pbScratch, cbScratch );
745}
UINT32 SYMCRYPT_CALL SymCryptIntGetValueLsbits32(_In_ PCSYMCRYPT_INT piSrc)
Definition: a_dispatch.c:270
UINT32 SYMCRYPT_CALL SymCryptIntIsEqualUint32(_In_ PCSYMCRYPT_INT piSrc1, _In_ UINT32 u32Src2)
Definition: a_dispatch.c:424
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)
Definition: fdef_mod.c:385
#define SYMCRYPT_ASSERT(_x)
Definition: symcrypt.h:10807
SYMCRYPT_INT * PSYMCRYPT_INT
#define SYMCRYPT_FLAG_MODULUS_PRIME

Referenced by SymCrypt802_11SaeCustomInitH2EGeneric(), SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlgroupGenerate(), SymCryptDlgroupSetValue(), SymCryptDlgroupSetValueSafePrime(), SymCryptEcurveInitialize(), SymCryptIntMillerRabinPrimalityTest(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), SymCryptRsakeyGenerate(), and SymCryptRsakeySetValueInternal().

◆ SymCryptIntWipe()

VOID SYMCRYPT_CALL SymCryptIntWipe ( _Out_ PSYMCRYPT_INT  piDst)

Definition at line 151 of file a_dispatch.c.

152{
153 SYMCRYPT_CHECK_MAGIC( piDst );
154
155 // Wipe the whole structure in one go;
156 SymCryptWipe( piDst, piDst->cbSize );
157}

Referenced by SymCryptIntFree(), and SymCryptRsaCoreEnc().

◆ SymCryptModAdd()

◆ SymCryptModDivPow2()

VOID SYMCRYPT_CALL SymCryptModDivPow2 ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_In_ PCSYMCRYPT_MODELEMENT  peSrc,
UINT32  exp,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 934 of file a_dispatch.c.

941{
942 SymCryptFdefModDivPow2( pmMod, peSrc, exp, peDst, pbScratch, cbScratch );
943}
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)
Definition: fdef_mod.c:872

Referenced by SymCryptEckeySetRandom(), SymCryptEckeySetValue(), and SymCryptEcurveInitialize().

◆ SymCryptModElementAllocate()

◆ SymCryptModElementConditionalSwap()

VOID SymCryptModElementConditionalSwap ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_Inout_ PSYMCRYPT_MODELEMENT  peData1,
_Inout_ PSYMCRYPT_MODELEMENT  peData2,
_In_ UINT32  cond 
)

Definition at line 709 of file a_dispatch.c.

714{
715 SymCryptFdefModElementConditionalSwap( pmMod, peData1, peData2, cond );
716}
VOID SymCryptFdefModElementConditionalSwap(_In_ PCSYMCRYPT_MODULUS pmMod, _Inout_ PSYMCRYPT_MODELEMENT peData1, _Inout_ PSYMCRYPT_MODELEMENT peData2, _In_ UINT32 cond)
Definition: fdef_mod.c:271

Referenced by SymCryptMontgomeryPointScalarMul().

◆ SymCryptModElementCopy()

VOID SymCryptModElementCopy ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_In_ PCSYMCRYPT_MODELEMENT  peSrc,
_Out_ PSYMCRYPT_MODELEMENT  peDst 
)

◆ SymCryptModElementCreate()

PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptModElementCreate ( _Out_writes_bytes_(cbBuffer) PBYTE  pbBuffer,
SIZE_T  cbBuffer,
_In_ PCSYMCRYPT_MODULUS  pmMod 
)

Definition at line 665 of file a_dispatch.c.

669{
670 return SymCryptFdefModElementCreate( pbBuffer, cbBuffer, pmMod );
671}
PSYMCRYPT_MODELEMENT SYMCRYPT_CALL SymCryptFdefModElementCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, PCSYMCRYPT_MODULUS pmMod)
Definition: fdef_mod.c:202

Referenced by rsa_decrypt(), rsa_encrypt(), SymCryptCrtSolve(), SymCryptDhSecretAgreement(), SymCryptDlgroupCreate(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDlgroupSetValue(), SymCryptDlkeyCreate(), SymCryptDlkeyGenerate(), SymCryptDlkeyPerformPublicKeyValidation(), SymCryptDlkeySetValue(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEcDsaSignEx(), SymCryptEcDsaVerify(), SymCryptEckeyGetValue(), SymCryptEckeySetRandom(), SymCryptEckeySetValue(), SymCryptEcpointCreateEx(), SymCryptEcpointGenericSetRandom(), SymCryptEcpointScalarMulFixedWindow(), SymCryptEcpointTransform(), SymCryptEcurveInitialize(), SymCryptFdefModInvGeneric(), SymCryptIntMillerRabinPrimalityTest(), SymCryptModExpSquareAndMultiply32(), SymCryptModExpWindowed(), SymCryptModMultiExpGeneric(), SymCryptModMultiExpWnafWithInterleaving(), SymCryptMontgomeryIsEqual(), SymCryptMontgomeryPointScalarMul(), SymCryptRsaCoreDec(), SymCryptRsaCoreDecCrt(), SymCryptRsaCoreEnc(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), SymCryptRsakeyCreateAllObjects(), SymCryptShortWeierstrassAddDiffNonZero(), SymCryptShortWeierstrassAddSideChannelUnsafe(), SymCryptShortWeierstrassDouble(), SymCryptShortWeierstrassDoubleSpecializedAm3(), SymCryptShortWeierstrassIsEqual(), SymCryptShortWeierstrassNegate(), SymCryptShortWeierstrassOnCurve(), SymCryptTwistedEdwardsAdd(), SymCryptTwistedEdwardsDouble(), SymCryptTwistedEdwardsIsEqual(), SymCryptTwistedEdwardsNegate(), and SymCryptTwistedEdwardsOnCurve().

◆ SymCryptModElementFree()

VOID SYMCRYPT_CALL SymCryptModElementFree ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peObj 
)

◆ SymCryptModElementGetValue()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModElementGetValue ( 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 
)

Definition at line 804 of file a_dispatch.c.

812{
813 return SymCryptFdefModElementGetValue( pmMod, peSrc, pbDst, cbDst, format, pbScratch, cbScratch );
814}
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)
Definition: fdef_mod.c:484

Referenced by rsa_encrypt(), SymCrypt802_11SaeCustomCommitCreateGeneric(), SymCrypt802_11SaeCustomCommitProcessGeneric(), SymCrypt802_11SaeCustomInit(), SymCrypt802_11SaeCustomSetRandMask(), SymCryptDhSecretAgreement(), SymCryptDlgroupGetValue(), SymCryptDlkeyGetValue(), SymCryptDsaSignEx(), SymCryptEcDsaSignEx(), SymCryptEcpointGetValue(), SymCryptRsaCoreDec(), SymCryptRsaCoreEnc(), SymCryptRsakeyGetCrtValue(), and SymCryptSswu().

◆ SymCryptModElementIsEqual()

◆ SymCryptModElementIsZero()

◆ SymCryptModElementMaskedCopy()

VOID SymCryptModElementMaskedCopy ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_In_ PCSYMCRYPT_MODELEMENT  peSrc,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
UINT32  mask 
)

Definition at line 692 of file a_dispatch.c.

697{
698 SymCryptFdefModElementMaskedCopy( pmMod, peSrc, peDst, mask );
699}
VOID SymCryptFdefModElementMaskedCopy(_In_ PCSYMCRYPT_MODULUS pmMod, _In_ PCSYMCRYPT_MODELEMENT peSrc, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 mask)
Definition: fdef_mod.c:253

Referenced by SymCrypt802_11SaeCustomInit(), SymCryptShortWeierstrassNegate(), SymCryptSswu(), and SymCryptTwistedEdwardsNegate().

◆ SymCryptModElementSetValue()

SYMCRYPT_DISABLE_CFG SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModElementSetValue ( _In_reads_bytes_(cbSrc) PCBYTE  pbSrc,
SIZE_T  cbSrc,
SYMCRYPT_NUMBER_FORMAT  format,
PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 781 of file a_dispatch.c.

789{
790 SYMCRYPT_ERROR scError;
791
792 scError = SymCryptFdefModElementSetValueGeneric( pbSrc, cbSrc, format, pmMod, peDst, pbScratch, cbScratch );
793
794 if( scError == SYMCRYPT_NO_ERROR )
795 {
796 SYMCRYPT_MOD_CALL( pmMod ) modSetPost( pmMod, peDst, pbScratch, cbScratch );
797 }
798
799 return scError;
800}
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)
Definition: fdef_mod.c:445
SYMCRYPT_ERROR
Definition: symcrypt.h:227

Referenced by rsa_encrypt(), SymCrypt802_11SaeCustomInitH2EGeneric(), SymCrypt802_11SaeCustomSetRandMask(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDlgroupSetValue(), SymCryptDlkeySetValue(), SymCryptEcDsaSignEx(), SymCryptEcpointSetValue(), SymCryptEcurveInitialize(), SymCryptRsaCoreDec(), and SymCryptRsaCoreEnc().

◆ SymCryptModElementSetValueNegUint32()

VOID SYMCRYPT_CALL SymCryptModElementSetValueNegUint32 ( UINT32  value,
_In_ PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 922 of file a_dispatch.c.

928{
929 SymCryptFdefModElementSetValueNegUint32( value, pmMod, peDst, pbScratch, cbScratch );
930}
VOID SYMCRYPT_CALL SymCryptFdefModElementSetValueNegUint32(UINT32 value, _In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
Definition: fdef_mod.c:663

Referenced by SymCryptDlkeyPerformPublicKeyValidation(), SymCryptEcurveInitialize(), SymCryptIntMillerRabinPrimalityTest(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), and SymCryptSswu().

◆ SymCryptModElementSetValueUint32()

◆ SymCryptModElementToInt()

SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModElementToInt ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_In_ PCSYMCRYPT_MODELEMENT  peSrc,
_Out_ PSYMCRYPT_INT  piDst,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 762 of file a_dispatch.c.

768{
770
771 SYMCRYPT_ASSERT( piDst->nDigits >= pmMod->nDigits );
772
773 pData = SYMCRYPT_MOD_CALL( pmMod ) modPreGet( pmMod, peSrc, pbScratch, cbScratch );
774
775 SymCryptFdefModElementToIntGeneric( pmMod, pData, piDst, pbScratch, cbScratch );
776}
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)
Definition: fdef_mod.c:428
const UINT32 * PCUINT32
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830

Referenced by SymCrypt802_11SaeCustomCommitCreateGeneric(), SymCrypt802_11SaeCustomCommitProcessGeneric(), SymCrypt802_11SaeCustomInit(), SymCrypt802_11SaeCustomInitH2EGeneric(), SymCryptCrtSolve(), SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlkeyGenerate(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEcDsaVerify(), SymCryptEckeySetRandom(), SymCryptEckeySetValue(), SymCryptEcpointGenericSetRandom(), SymCryptRsaCoreDecCrt(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), and SymCryptSswu().

◆ SymCryptModElementWipe()

VOID SYMCRYPT_CALL SymCryptModElementWipe ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peDst 
)

Definition at line 675 of file a_dispatch.c.

678{
679 SymCryptFdefModElementWipe( pmMod, peDst );
680}
VOID SYMCRYPT_CALL SymCryptFdefModElementWipe(_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst)
Definition: fdef_mod.c:233

◆ SymCryptModExp()

VOID SYMCRYPT_CALL SymCryptModExp ( _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 
)

Definition at line 961 of file a_dispatch.c.

970{
971 SymCryptModExpGeneric( pmMod, peBase, piExp, nBitsExp, flags, peDst, pbScratch, cbScratch );
972}
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)
Definition: modexp.c:217

Referenced by rsa_decrypt(), rsa_encrypt(), SymCryptDhSecretAgreement(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDlgroupSetValue(), SymCryptDlkeyGenerate(), SymCryptDlkeyPerformPublicKeyValidation(), SymCryptDlkeySetValue(), SymCryptDsaSignEx(), SymCryptIntMillerRabinPrimalityTest(), SymCryptModSqrt(), SymCryptRsaCoreDec(), SymCryptRsaCoreDecCrt(), SymCryptRsaCoreEnc(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), and SymCryptSswu().

◆ SymCryptModInv()

Definition at line 948 of file a_dispatch.c.

955{
956 return SYMCRYPT_MOD_CALL( pmMod ) modInv( pmMod, peSrc, peDst, flags, pbScratch, cbScratch );
957}

Referenced by SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEcDsaSignEx(), SymCryptEcDsaVerify(), SymCryptEcpointTransform(), and SymCryptSswu().

◆ SymCryptModMul()

◆ SymCryptModMultiExp()

SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptModMultiExp ( _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 
)

Definition at line 976 of file a_dispatch.c.

986{
987 return SymCryptModMultiExpGeneric( pmMod, peBaseArray, piExpArray, nBases, nBitsExp, flags, peDst, pbScratch, cbScratch );
988}
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)
Definition: modexp.c:449

Referenced by SymCryptDsaVerify().

◆ SymCryptModNeg()

◆ SymCryptModSetRandom()

SYMCRYPT_DISABLE_CFG VOID SYMCRYPT_CALL SymCryptModSetRandom ( _In_ PCSYMCRYPT_MODULUS  pmMod,
_Out_ PSYMCRYPT_MODELEMENT  peDst,
UINT32  flags,
_Out_writes_bytes_(cbScratch) PBYTE  pbScratch,
SIZE_T  cbScratch 
)

Definition at line 993 of file a_dispatch.c.

999{
1000 SymCryptFdefModSetRandomGeneric( pmMod, peDst, flags, pbScratch, cbScratch );
1001
1002 SYMCRYPT_MOD_CALL( pmMod ) modSetPost( pmMod, peDst, pbScratch, cbScratch );
1003}
VOID SYMCRYPT_CALL SymCryptFdefModSetRandomGeneric(_In_ PCSYMCRYPT_MODULUS pmMod, _Out_ PSYMCRYPT_MODELEMENT peDst, UINT32 flags, _Out_writes_bytes_(cbScratch) PBYTE pbScratch, SIZE_T cbScratch)
Definition: fdef_mod.c:703

Referenced by SymCrypt802_11SaeCustomSetRandMask(), SymCryptDlkeyGenerate(), SymCryptDsaSignEx(), SymCryptEckeySetRandom(), SymCryptEcpointGenericSetRandom(), SymCryptFdefModInvGeneric(), SymCryptIntMillerRabinPrimalityTest(), and SymCryptRsakeyCalculatePrimesFromPrivateExponent().

◆ SymCryptModSquare()

◆ SymCryptModSub()

◆ SymCryptModulusAllocate()

PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptModulusAllocate ( UINT32  nDigits)

Definition at line 587 of file a_dispatch.c.

588{
589 return SymCryptFdefModulusAllocate( nDigits );
590}
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptFdefModulusAllocate(UINT32 nDigits)
Definition: fdef_mod.c:11

Referenced by SymCrypt802_11SaeCustomInitH2EGeneric().

◆ SymCryptModulusCopy()

VOID SymCryptModulusCopy ( _In_ PCSYMCRYPT_MODULUS  pmSrc,
_Out_ PSYMCRYPT_MODULUS  pmDst 
)

Definition at line 626 of file a_dispatch.c.

629{
630 SymCryptFdefModulusCopy( pmSrc, pmDst );
631}
VOID SymCryptFdefModulusCopy(_In_ PCSYMCRYPT_MODULUS pmSrc, _Out_ PSYMCRYPT_MODULUS pmDst)
Definition: fdef_mod.c:124

◆ SymCryptModulusCreate()

PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptModulusCreate ( _Out_writes_bytes_(cbBuffer) PBYTE  pbBuffer,
SIZE_T  cbBuffer,
UINT32  nDigits 
)

Definition at line 608 of file a_dispatch.c.

612{
613 return SymCryptFdefModulusCreate( pbBuffer, cbBuffer, nDigits );
614}
PSYMCRYPT_MODULUS SYMCRYPT_CALL SymCryptFdefModulusCreate(_Out_writes_bytes_(cbBuffer) PBYTE pbBuffer, SIZE_T cbBuffer, UINT32 nDigits)
Definition: fdef_mod.c:67

Referenced by SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlgroupCreate(), SymCryptDlgroupGenerate(), SymCryptDlgroupSetValue(), SymCryptDlgroupSetValueSafePrime(), SymCryptEcurveInitialize(), SymCryptIntMillerRabinPrimalityTest(), SymCryptRsakeyCreate(), and SymCryptRsakeyCreateAllObjects().

◆ SymCryptModulusDigitsizeOfObject()

UINT32 SYMCRYPT_CALL SymCryptModulusDigitsizeOfObject ( _In_ PCSYMCRYPT_MODULUS  pmSrc)

◆ SymCryptModulusFree()

VOID SYMCRYPT_CALL SymCryptModulusFree ( _Out_ PSYMCRYPT_MODULUS  pmObj)

Definition at line 594 of file a_dispatch.c.

595{
597}
VOID SYMCRYPT_CALL SymCryptFdefModulusFree(_Out_ PSYMCRYPT_MODULUS pmObj)
Definition: fdef_mod.c:41

Referenced by SymCrypt802_11SaeCustomInitH2EGeneric().

◆ SymCryptModulusWipe()

VOID SYMCRYPT_CALL SymCryptModulusWipe ( _Out_ PSYMCRYPT_MODULUS  pmObj)

Definition at line 618 of file a_dispatch.c.

619{
620 SYMCRYPT_CHECK_MAGIC( pmObj );
621
622 SymCryptWipe( pmObj, pmObj->cbSize );
623}

Referenced by SymCryptDlgroupSetValue(), and SymCryptFdefModulusFree().

◆ SymCryptSizeofDivisorFromDigits()

◆ SymCryptSizeofIntFromDigits()

UINT32 SYMCRYPT_CALL SymCryptSizeofIntFromDigits ( UINT32  nDigits)

Definition at line 134 of file a_dispatch.c.

135{
136 return SymCryptFdefSizeofIntFromDigits( nDigits );
137}
UINT32 SYMCRYPT_CALL SymCryptFdefSizeofIntFromDigits(UINT32 nDigits)
Definition: fdef_general.c:196

Referenced by rsa_decrypt(), SymCryptCrtGenerateForTwoCoprimes(), SymCryptCrtSolve(), SymCryptDlgroupAutoCompleteNamedSafePrimeGroup(), SymCryptDlgroupGenerateGenG_FIPS(), SymCryptDlgroupGeneratePrimeP_FIPS(), SymCryptDlgroupScratchSpace_FIPS(), SymCryptDlgroupSetValue(), SymCryptDlkeyGenerate(), SymCryptDlkeySetValue(), SymCryptDsaSignEx(), SymCryptDsaVerify(), SymCryptEcDsaSignEx(), SymCryptEcDsaVerify(), SymCryptEckeyCreate(), SymCryptEckeyGetValue(), SymCryptEckeySetRandom(), SymCryptEckeySetValue(), SymCryptEcpointMultiScalarMulWnafWithInterleaving(), SymCryptEcpointScalarMulFixedWindow(), SymCryptEcpointSetValue(), SymCryptEcurveValidateAndComputeSizes(), SymCryptFdefModInvGeneric(), SymCryptIntExtendedGcd(), SymCryptIntGenerateRandomPrime(), SymCryptIntMillerRabinPrimalityTest(), SymCryptMontgomeryFillScratchSpaces(), SymCryptMontgomeryPointScalarMul(), SymCryptRsaCoreDecCrt(), SymCryptRsaCoreDecCrtScratchSpace(), SymCryptRsaCoreVerifyInput(), SymCryptRsakeyCalculatePrimesFromPrivateExponent(), SymCryptRsakeyCreate(), SymCryptRsakeyCreateAllObjects(), SymCryptRsakeyGenerate(), SymCryptRsakeySetValueInternal(), SymCryptShortWeierstrassFillScratchSpaces(), SymCryptSizeofDlkeyFromDlgroup(), SymCryptSizeofEckeyFromCurve(), SymCryptSizeofRsakeyFromParams(), SymCryptTwistedEdwardsFillScratchSpaces(), and verify_input().

◆ SymCryptSizeofModElementFromModulus()

◆ SymCryptSizeofModulusFromDigits()

Variable Documentation

◆ g_SymCryptModFns

const SYMCRYPT_MODULAR_FUNCTIONS g_SymCryptModFns[]
Initial value:
= {
}
#define SYMCRYPT_MOD_FUNCTIONS_FDEF_GENERIC
Definition: sc_lib.h:2041
#define SYMCRYPT_MOD_FUNCTIONS_FDEF_MONTGOMERY
Definition: sc_lib.h:2054

Definition at line 21 of file a_dispatch.c.

◆ g_SymCryptModFnsMask

const UINT32 g_SymCryptModFnsMask = sizeof( g_SymCryptModFns ) - sizeof( g_SymCryptModFns[0] )

Definition at line 72 of file a_dispatch.c.

◆ SymCryptModulusTypeSelections

const SYMCRYPT_MODULUS_TYPE_SELECTION_ENTRY SymCryptModulusTypeSelections[]
Initial value:
=
{
}
#define SymCryptModFntableGeneric
Definition: a_dispatch.c:53
#define SymCryptModFntableMontgomery
Definition: a_dispatch.c:54
#define SYMCRYPT_MODULUS_FEATURE_MONTGOMERY
Definition: sc_lib.h:2018

Definition at line 77 of file a_dispatch.c.

Referenced by SymCryptFdefDecideModulusType().