9#define CHACHA20_POLY1305_MAX_DATA_SIZE (((1ull << 32) - 1) * 64)
26 BYTE partialBlockSize;
37 if ( partialBlockSize > 0 )
50 if ( partialBlockSize > 0 )
88 status = SYMCRYPT_WRONG_DATA_SIZE;
94 status = SYMCRYPT_WRONG_TAG_SIZE;
99 if (
status != SYMCRYPT_NO_ERROR )
159 status = SYMCRYPT_WRONG_DATA_SIZE;
165 status = SYMCRYPT_WRONG_TAG_SIZE;
170 if (
status != SYMCRYPT_NO_ERROR )
194 status = SYMCRYPT_AUTHENTICATION_FAILURE;
218 0x80, 0x10, 0xd2, 0x05, 0x4a, 0xad, 0x53, 0x1f, 0xa2, 0xce, 0x83, 0xc1, 0x66, 0x12, 0x85, 0x21
VOID SYMCRYPT_CALL SymCryptChaCha20Poly1305Selftest(void)
SYMCRYPT_NOINLINE SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptChaCha20Poly1305Encrypt(_In_reads_(cbKey) PCBYTE pbKey, SIZE_T cbKey, _In_reads_(cbNonce) PCBYTE pbNonce, SIZE_T cbNonce, _In_reads_opt_(cbAuthData) PCBYTE pbAuthData, SIZE_T cbAuthData, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData, _Out_writes_(cbTag) PBYTE pbTag, SIZE_T cbTag)
static const BYTE SymCryptChaCha20Poly1305Result[3+SYMCRYPT_POLY1305_RESULT_SIZE]
#define CHACHA20_POLY1305_MAX_DATA_SIZE
SYMCRYPT_NOINLINE SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptChaCha20Poly1305Decrypt(_In_reads_(cbKey) PCBYTE pbKey, SIZE_T cbKey, _In_reads_(cbNonce) PCBYTE pbNonce, SIZE_T cbNonce, _In_reads_opt_(cbAuthData) PCBYTE pbAuthData, SIZE_T cbAuthData, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData, _In_reads_(cbTag) PCBYTE pbTag, SIZE_T cbTag)
const BOOL fcbDataLteMaxDataSizeStatic
VOID SYMCRYPT_CALL SymCryptChaCha20Poly1305ComputeTag(_Inout_ PSYMCRYPT_POLY1305_STATE pState, _In_reads_opt_(cbAuthData) PCBYTE pbAuthData, SIZE_T cbAuthData, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_writes_(SYMCRYPT_POLY1305_RESULT_SIZE) PBYTE pbTag)
static void cleanup(void)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
GLenum GLuint GLenum GLsizei const GLchar * buf
#define _In_reads_opt_(s)
const BYTE SymCryptTestMsg16[16]
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
const BYTE SymCryptTestKey32[32]
const BYTE SymCryptTestMsg3[3]
VOID SYMCRYPT_CALL SymCryptPoly1305Result(_Inout_ PSYMCRYPT_POLY1305_STATE pState, _Out_writes_(SYMCRYPT_POLY1305_RESULT_SIZE) PBYTE pbResult)
FORCEINLINE VOID SYMCRYPT_CALL SymCryptWipeKnownSize(_Out_writes_bytes_(cbData) PVOID pbData, SIZE_T cbData)
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
VOID SYMCRYPT_CALL SymCryptChaCha20Crypt(_Inout_ PSYMCRYPT_CHACHA20_STATE pState, _In_reads_(cbData) PCBYTE pbSrc, _Out_writes_(cbData) PBYTE pbDst, SIZE_T cbData)
VOID SYMCRYPT_CALL SymCryptPoly1305Init(_Out_ PSYMCRYPT_POLY1305_STATE pState, _In_reads_(SYMCRYPT_POLY1305_KEY_SIZE) PCBYTE pbKey)
#define SYMCRYPT_POLY1305_KEY_SIZE
#define SYMCRYPT_POLY1305_BLOCK_SIZE
VOID SYMCRYPT_CALL SymCryptChaCha20SetOffset(_Inout_ PSYMCRYPT_CHACHA20_STATE pState, UINT64 offset)
VOID SYMCRYPT_CALL SymCryptPoly1305Append(_Inout_ PSYMCRYPT_POLY1305_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
#define SYMCRYPT_POLY1305_RESULT_SIZE
#define SYMCRYPT_STORE_LSBFIRST64(p, v)
BOOLEAN SYMCRYPT_CALL SymCryptEqual(_In_reads_(cbBytes) PCBYTE pbSrc1, _In_reads_(cbBytes) PCBYTE pbSrc2, SIZE_T cbBytes)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptChaCha20Init(_Out_ PSYMCRYPT_CHACHA20_STATE pState, _In_reads_(cbKey) PCBYTE pbKey, _In_ SIZE_T cbKey, _In_reads_(cbNonce) PCBYTE pbNonce, SIZE_T cbNonce, UINT64 offset)
SYMCRYPT_MAGIC_FIELD * PSYMCRYPT_POLY1305_STATE
PCBYTE PBYTE SIZE_T cbData
PSYMCRYPT_COMMON_HASH_STATE pState
SYMCRYPT_MAGIC_FIELD SYMCRYPT_POLY1305_STATE