13#define SYMCRYPT_MLDSA_Q (8380417)
18#define SYMCRYPT_MLDSA_R_LOG2 (32)
23#define SYMCRYPT_MLDSA_ROOT_SEED_SIZE (32)
28#define SYMCRYPT_MLDSA_PUBLIC_SEED_SIZE (32)
33#define SYMCRYPT_MLDSA_PUBLIC_KEY_HASH_SIZE SYMCRYPT_SHAKE256_RESULT_SIZE
38#define SYMCRYPT_MLDSA_PRIVATE_SIGNING_SEED_SIZE (32)
43#define SYMCRYPT_MLDSA_PRIVATE_VECTOR_SEED_SIZE (64)
48#define SYMCRYPT_MLDSA_SIGNING_RANDOM_SIZE (32)
55#define SYMCRYPT_MLDSA_SUPPORTED_HASH_OID_SIZE (11)
60#define SYMCRYPT_FLAG_MLDSA_EXTERNALMU (0x1)
69#define SYMCRYPT_MLDSA_VECTOR_MAX_LENGTH (8)
70#define SYMCRYPT_MLDSA_MATRIX_MAX_NROWS (8)
71#define SYMCRYPT_MLDSA_MATRIX_MAX_NCOLS (7)
208#define SYMCRYPT_INTERNAL_MLDSA_SIZEOF_POLYELEMENT ( sizeof( SYMCRYPT_MLDSA_POLYELEMENT ) )
209#define SYMCRYPT_INTERNAL_MLDSA_SIZEOF_VECTOR( _nElems ) ( sizeof( SYMCRYPT_MLDSA_VECTOR ) + ( _nElems * sizeof( SYMCRYPT_MLDSA_POLYELEMENT ) ) )
210#define SYMCRYPT_INTERNAL_MLDSA_SIZEOF_MATRIX( _nRows, _nCols ) ( sizeof( SYMCRYPT_MLDSA_MATRIX ) + ( _nRows * _nCols * sizeof( SYMCRYPT_MLDSA_POLYELEMENT ) ) )
211#define SYMCRYPT_INTERNAL_MLDSA_SIZEOF_KEY( _nRows, _nCols ) ( sizeof( SYMCRYPT_MLDSAKEY) + \
212 SYMCRYPT_INTERNAL_MLDSA_SIZEOF_MATRIX( _nRows, _nCols ) + \
213 SYMCRYPT_INTERNAL_MLDSA_SIZEOF_VECTOR( _nCols ) + \
214 (SYMCRYPT_INTERNAL_MLDSA_SIZEOF_VECTOR( _nRows ) * 3u) )
216#define SYMCRYPT_INTERNAL_MLDSA_VECTOR_ELEMENT_OFFSET( _row ) ( sizeof( SYMCRYPT_MLDSA_VECTOR ) + (_row * SYMCRYPT_INTERNAL_MLDSA_SIZEOF_POLYELEMENT) )
217#define SYMCRYPT_INTERNAL_MLDSA_VECTOR_ELEMENT( _row, _pVector ) ((PSYMCRYPT_MLDSA_POLYELEMENT) ( ((PBYTE) (_pVector)) + SYMCRYPT_INTERNAL_MLDSA_VECTOR_ELEMENT_OFFSET( _row ) ))
218#define SYMCRYPT_INTERNAL_MLDSA_MATRIX_ELEMENT_OFFSET( _row, _col, _pMatrix ) ( sizeof( SYMCRYPT_MLDSA_MATRIX ) + ((_row * (_pMatrix)->nCols + _col) * SYMCRYPT_INTERNAL_MLDSA_SIZEOF_POLYELEMENT) )
219#define SYMCRYPT_INTERNAL_MLDSA_MATRIX_ELEMENT( _row, _col, _pMatrix) ((PSYMCRYPT_MLDSA_POLYELEMENT) ( ((PBYTE) (_pMatrix)) + SYMCRYPT_INTERNAL_MLDSA_MATRIX_ELEMENT_OFFSET( _row, _col, _pMatrix ) ))
221#define SYMCRYPT_INTERNAL_MLDSA_SIZEOF_ENCODED_VECTOR( _pVector, _nBitsPerCoeff ) ( ((_pVector)->nElems * SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS * (_nBitsPerCoeff) ) / 8u )
228#define SYMCRYPT_INTERNAL_MLDSA_SHORT_COEFFICIENT_ENCODE_DECODE( _val, _bound) ( _bound - _val )
658 SIZE_T cbRejBoundedPolySeed,
671 SIZE_T cbPrivateVectorSeed,
760 UINT32 nBitsPerCoefficient,
761 UINT32 signedCoefficientBound,
783 UINT32 nBitsPerCoefficient,
784 UINT32 signedCoefficientBound,
798 UINT32 nBitsPerCoefficient,
799 UINT32 signedCoefficientBound,
812 UINT32 nBitsPerCoefficient,
813 UINT32 signedCoefficientBound,
COMPILER_DEPENDENT_UINT64 UINT64
GLdouble GLdouble GLdouble r
GLenum GLenum const GLfloat * coeffs
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLenum const GLfloat * params
_Use_decl_annotations_ PSYMCRYPT_MLDSA_INTERNAL_COMPUTATION_TEMPORARIES SYMCRYPT_CALL SymCryptMlDsaTemporariesAllocateAndInitialize(PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, UINT32 nRowVectors, UINT32 nColVectors, UINT32 nPolyElements, UINT32 cbScratch)
_Use_decl_annotations_ PSYMCRYPT_MLDSA_POLYELEMENT SYMCRYPT_CALL SymCryptMlDsaPolyElementCreate(PBYTE pbBuffer, SIZE_T cbBuffer)
_Use_decl_annotations_ PSYMCRYPT_MLDSAKEY SYMCRYPT_CALL SymCryptMlDsakeyInitialize(PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pInternalParams, PBYTE pbKey, UINT32 cbKey)
_Use_decl_annotations_ PSYMCRYPT_MLDSA_VECTOR SYMCRYPT_CALL SymCryptMlDsaVectorCreate(PBYTE pbBuffer, UINT32 cbBuffer, UINT8 nElems)
#define _In_reads_bytes_(s)
#define _Struct_size_bytes_(s)
#define _Inout_updates_(s)
#define _Field_size_bytes_(s)
#define _In_reads_opt_(s)
#define _Field_range_(l, h)
#define _Out_writes_bytes_(s)
#define _Field_size_bytes_part_(s, c)
#define SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS
const SYMCRYPT_MLDSA_INTERNAL_PARAMS * PCSYMCRYPT_MLDSA_INTERNAL_PARAMS
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaSkDecode(_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, UINT32 flags, _Inout_ PSYMCRYPT_MLDSAKEY pKey)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementPower2Round(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst1, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst0)
UINT32 SYMCRYPT_CALL SymCryptMlDsaModSub(UINT32 a, UINT32 b)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorSetZero(_Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorPower2Round(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst1, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst0)
VOID SYMCRYPT_CALL SymCryptMlDsaExpandA(_In_reads_(cbPublicSeed) PCBYTE pbPublicSeed, SIZE_T cbPublicSeed, _Inout_ PSYMCRYPT_MLDSA_MATRIX pmA)
VOID SYMCRYPT_CALL SymCryptMlDsaMakeHint(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvWMinusCs2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvWMinusCs2PlusCt0, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst, _Out_ UINT32 *nBitsSet)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementINTT(_Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peSrc)
#define SYMCRYPT_MLDSA_PUBLIC_KEY_HASH_SIZE
#define SYMCRYPT_MLDSA_PUBLIC_SEED_SIZE
VOID SYMCRYPT_CALL SymCryptMlDsaVectorSub(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc1, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementNTT(_Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peSrc)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementMulR(_Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peSrc)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaSignEx(_In_ PCSYMCRYPT_MLDSAKEY pkMlDsakey, _In_reads_(cbInput) PCBYTE pbInput, SIZE_T cbInput, _In_reads_opt_(cbContext) PCBYTE pbContext, _In_range_(0, SYMCRYPT_MLDSA_CONTEXT_MAX_LENGTH) SIZE_T cbContext, _In_reads_opt_(cbHashOid) PCBYTE pbHashOid, SIZE_T cbHashOid, _In_reads_(cbRandom) PCBYTE pbRandom, SIZE_T cbRandom, UINT32 flags, _Out_writes_(cbSignature) PBYTE pbSignature, SIZE_T cbSignature)
SYMCRYPT_MLDSA_INTERNAL_COMPUTATION_TEMPORARIES
const SYMCRYPT_MLDSAKEY * PCSYMCRYPT_MLDSAKEY
VOID SYMCRYPT_CALL SymCryptMlDsaVectorLowBits(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
FORCEINLINE UINT32 SYMCRYPT_CALL SymCryptMlDsaSignedCoefficientModQ(INT32 coefficient)
#define SYMCRYPT_MLDSA_MATRIX_MAX_NCOLS
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaVerifyEx(_In_ PCSYMCRYPT_MLDSAKEY pkMlDsakey, _In_reads_(cbInput) PCBYTE pbInput, SIZE_T cbInput, _In_reads_opt_(cbContext) PCBYTE pbContext, _In_range_(0, SYMCRYPT_MLDSA_CONTEXT_MAX_LENGTH) SIZE_T cbContext, _In_reads_opt_(cbHashOid) PCBYTE pbHashOid, SIZE_T cbHashOid, _In_reads_(cbSignature) PCBYTE pbSignature, SIZE_T cbSignature, UINT32 flags)
PSYMCRYPT_MLDSA_MATRIX SYMCRYPT_CALL SymCryptMlDsaMatrixCreate(_Out_writes_(cbBuffer) PBYTE pbBuffer, UINT32 cbBuffer, UINT8 nRows, UINT8 nCols)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaVectorDecode(_In_reads_bytes_(pvDst->nElems *nBitsPerCoefficient *(SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS/8)) PCBYTE pbSrc, UINT32 nBitsPerCoefficient, UINT32 signedCoefficientBound, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
const SYMCRYPT_MLDSA_MATRIX * PCSYMCRYPT_MLDSA_MATRIX
UINT32 UINT32 UINT32 nPolyElements
VOID SYMCRYPT_CALL SymCryptMlDsaExpandS(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_(cbPrivateVectorSeed) PCBYTE pbPrivateVectorSeed, SIZE_T cbPrivateVectorSeed, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvs1, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvs2)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementSub(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc1, _In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc2, _Out_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptMlDsakeyComputeT(_In_ PCSYMCRYPT_MLDSA_MATRIX pmA, _In_ PCSYMCRYPT_MLDSA_VECTOR pvs1, _In_ PCSYMCRYPT_MLDSA_VECTOR pvs2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvt0, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvt1, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvTmp, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peTmp)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaGetInternalParamsFromParams(SYMCRYPT_MLDSA_PARAMS params, _Out_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS *pInternalParams)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaKeyGenerateEx(_Inout_ PSYMCRYPT_MLDSAKEY pkMlDsakey, _In_reads_(cbRootSeed) PCBYTE pbRootSeed, SIZE_T cbRootSeed, UINT32 flags)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaSkEncode(_In_ PCSYMCRYPT_MLDSAKEY pKey, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
struct _SYMCRYPT_MLDSA_POLYELEMENT * PSYMCRYPT_MLDSA_POLYELEMENT
UINT32 SYMCRYPT_CALL SymCryptMlDsaModAdd(UINT32 a, UINT32 b)
VOID SYMCRYPT_CALL SymCryptMlDsaRejNttPoly(_In_reads_(cbRejNttPolySeed) PCBYTE pbRejNttPolySeed, SIZE_T cbRejNttPolySeed, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
UINT32 SYMCRYPT_CALL SymCryptMlDsaMontMul(UINT32 a, UINT32 b)
VOID SYMCRYPT_CALL SymCryptMlDsaSampleInBall(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_(cbCommitmentHash) PCBYTE pbCommitmentHash, SIZE_T cbCommitmentHash, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peChallenge)
VOID SYMCRYPT_CALL SymCryptMlDsaExpandMask(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _Inout_ PSYMCRYPT_SHAKE256_STATE pShakeState, _In_reads_(cbPrivateRandom) PCBYTE pbPrivateRandom, SIZE_T cbPrivateRandom, _In_ UINT16 counter, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvMask)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptHashMlDsaValidateHashAlgAndGetOid(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, SYMCRYPT_PQDSA_HASH_ID hashAlg, SIZE_T cbHash, _Out_ PCSYMCRYPT_OID *ppOid)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaPolyElementDecode(_In_reads_bytes_(nBitsPerCoefficient *(SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS/8)) PCBYTE pbSrc, UINT32 nBitsPerCoefficient, UINT32 signedCoefficientBound, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
const SYMCRYPT_MLDSA_VECTOR * PCSYMCRYPT_MLDSA_VECTOR
VOID SYMCRYPT_CALL SymCryptMlDsaHintBitPack(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, _Out_writes_bytes_(pParams->nHintNonZeroCoeffs+pvSrc->nElems) PBYTE pbDst)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorAdd(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc1, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
struct _SYMCRYPT_MLDSA_INTERNAL_PARAMS * PSYMCRYPT_MLDSA_INTERNAL_PARAMS
VOID SYMCRYPT_CALL SymCryptMlDsaSigEncode(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_(cbCommitmentHash) PBYTE pbCommitmentHash, SIZE_T cbCommitmentHash, _In_ PCSYMCRYPT_MLDSA_VECTOR pvResponse, _In_ PCSYMCRYPT_MLDSA_VECTOR pvHint, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
struct _SYMCRYPT_MLDSA_INTERNAL_PARAMS SYMCRYPT_MLDSA_INTERNAL_PARAMS
VOID SYMCRYPT_CALL SymCryptMlDsaVectorHighBits(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
FORCEINLINE INT8 SYMCRYPT_CALL SymCryptMlDsaCoeffFromHalfByte(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_range_(0, 15) UINT8 halfByte)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementAdd(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc1, _In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc2, _Out_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
#define SYMCRYPT_MLDSA_ROOT_SEED_SIZE
struct _SYMCRYPT_MLDSA_POLYELEMENT SYMCRYPT_MLDSA_POLYELEMENT
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaPkDecode(_In_reads_(cbSrc) PCBYTE pbSrc, SIZE_T cbSrc, UINT32 flags, _Inout_ PSYMCRYPT_MLDSAKEY pkMlDsakey)
UINT32 UINT32 nColVectors
#define SYMCRYPT_MLDSA_VECTOR_MAX_LENGTH
UINT32 UINT32 UINT32 UINT32 cbScratch
FORCEINLINE INT32 SYMCRYPT_CALL SymCryptMlDsaModPlusMinus(UINT32 r, UINT32 modulus)
VOID SYMCRYPT_CALL SymCryptMlDsaPower2Round(_In_range_(0, SYMCRYPT_MLDSA_Q - 1) UINT32 r, _Out_ UINT32 *puR1, _Out_ UINT32 *puR0)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorPolyElementMontMul(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc1, _In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementMontMul(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc1, _In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc2, _Out_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaSigDecode(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_(cbSig) PCBYTE pbSig, SIZE_T cbSig, _Out_writes_(cbCommitmentHash) PBYTE pbCommitmentHash, SIZE_T cbCommitmentHash, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvResponse, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvHint)
VOID SYMCRYPT_CALL SymCryptMlDsaRejBoundedPoly(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_(cbRejBoundedPolySeed) PCBYTE pbRejBoundedPolySeed, SIZE_T cbRejBoundedPolySeed, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
VOID SYMCRYPT_CALL SymCryptMlDsaUseHint(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_ PCSYMCRYPT_MLDSA_VECTOR pvHint, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvCommitment)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaHintBitUnpack(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_reads_bytes_(pParams->nHintNonZeroCoeffs+pvDst->nElems) PCBYTE pbSrc, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementSetZero(_Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peDst)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptMlDsaPkEncode(_In_ PCSYMCRYPT_MLDSAKEY pkMlDsakey, _Out_writes_(cbDst) PBYTE pbDst, SIZE_T cbDst)
VOID SYMCRYPT_CALL SymCryptMlDsaTemporariesFree(_In_ _Post_invalid_ PSYMCRYPT_MLDSA_INTERNAL_COMPUTATION_TEMPORARIES pTemporaries)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorNTT(_Inout_ PSYMCRYPT_MLDSA_VECTOR pvSrc)
* PSYMCRYPT_MLDSA_INTERNAL_COMPUTATION_TEMPORARIES
VOID SYMCRYPT_CALL SymCryptMlDsaVectorINTT(_Inout_ PSYMCRYPT_MLDSA_VECTOR pvSrc)
VOID SYMCRYPT_CALL SymCryptMlDsaVectorCopy(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst)
VOID SYMCRYPT_CALL SymCryptMlDsaMatrixVectorMontMul(_In_ PCSYMCRYPT_MLDSA_MATRIX pmSrc1, _In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc2, _Inout_ PSYMCRYPT_MLDSA_VECTOR pvDst, _Inout_ PSYMCRYPT_MLDSA_POLYELEMENT peTmp)
#define SYMCRYPT_MLDSA_PRIVATE_SIGNING_SEED_SIZE
UINT32 SYMCRYPT_CALL SymCryptMlDsaVectorInfinityNorm(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc)
const SYMCRYPT_MLDSA_POLYELEMENT * PCSYMCRYPT_MLDSA_POLYELEMENT
VOID SYMCRYPT_CALL SymCryptMlDsaVectorEncode(_In_ PCSYMCRYPT_MLDSA_VECTOR pvSrc, UINT32 nBitsPerCoefficient, UINT32 signedCoefficientBound, _Out_writes_(pvSrc->nElems *nBitsPerCoefficient *(SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS/8)) PBYTE pbDst)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptMlDsaDecompose(_In_ PCSYMCRYPT_MLDSA_INTERNAL_PARAMS pParams, _In_range_(0, SYMCRYPT_MLDSA_Q - 1) UINT32 r, _Out_opt_ UINT32 *puR1, _Out_opt_ UINT32 *puR0)
#define SYMCRYPT_MLDSA_MATRIX_MAX_NROWS
UINT32 SYMCRYPT_CALL SymCryptMlDsaMontReduce(UINT64 a)
FORCEINLINE UINT32 SYMCRYPT_CALL SymCryptMlDsaPolyElementInfinityNorm(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc)
VOID SYMCRYPT_CALL SymCryptMlDsaPolyElementEncode(_In_ PCSYMCRYPT_MLDSA_POLYELEMENT peSrc, UINT32 nBitsPerCoefficient, UINT32 signedCoefficientBound, _Out_writes_(nBitsPerCoefficient *(SYMCRYPT_MLWE_POLYNOMIAL_COEFFICIENTS/8)) PBYTE pbDst)
SYMCRYPT_SHAKE256_STATE shake256State
UINT8 maskCoefficientRangeLog2
UINT32 w1EncodeCoefficientBitLength
UINT32 commitmentRoundingRange
UINT32 cbEncodedPublicKey
UINT8 encodedCoefficientBitLength
UINT32 cbEncodedSignature
UINT32 cbEncodedPrivateKey
UINT8 nChallengeNonZeroCoeffs
#define SYMCRYPT_MLDSA_CONTEXT_MAX_LENGTH
enum _SYMCRYPT_PQDSA_HASH_ID SYMCRYPT_PQDSA_HASH_ID
enum _SYMCRYPT_MLDSA_PARAMS SYMCRYPT_MLDSA_PARAMS
const SYMCRYPT_MLDSAKEY * PCSYMCRYPT_MLDSAKEY
SYMCRYPT_MAGIC_FIELD SYMCRYPT_SHAKE256_STATE
struct _SYMCRYPT_MLDSAKEY SYMCRYPT_MLDSAKEY
PCSYMCRYPT_HMAC_MD5_EXPANDED_KEY pKey
#define SYMCRYPT_MAGIC_FIELD
SYMCRYPT_MLDSAKEY * PSYMCRYPT_MLDSAKEY
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_SHAKE256_STATE