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

Go to the source code of this file.

Macros

#define ALG   SHA3_224
 
#define Alg   Sha3_224
 

Functions

VOID SYMCRYPT_CALL SymCryptSha3_224Init (_Out_ PSYMCRYPT_SHA3_224_STATE pState)
 
VOID SYMCRYPT_CALL SymCryptSha3_224Append (_Inout_ PSYMCRYPT_SHA3_224_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
 
VOID SYMCRYPT_CALL SymCryptSha3_224Result (_Inout_ PSYMCRYPT_SHA3_224_STATE pState, _Out_writes_(SYMCRYPT_SHA3_224_RESULT_SIZE) PBYTE pbResult)
 
VOID SYMCRYPT_CALL SymCryptSha3_224StateExport (_In_ PCSYMCRYPT_SHA3_224_STATE pState, _Out_writes_bytes_(SYMCRYPT_SHA3_224_STATE_EXPORT_SIZE) PBYTE pbBlob)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptSha3_224StateImport (_Out_ PSYMCRYPT_SHA3_224_STATE pState, _In_reads_bytes_(SYMCRYPT_SHA3_224_STATE_EXPORT_SIZE) PCBYTE pbBlob)
 
VOID SYMCRYPT_CALL SymCryptSha3_224Selftest (void)
 

Variables

const SYMCRYPT_HASH SymCryptSha3_224Algorithm_default
 
const PCSYMCRYPT_HASH SymCryptSha3_224Algorithm = &SymCryptSha3_224Algorithm_default
 
static const BYTE sha3_224KATAnswer [28]
 

Macro Definition Documentation

◆ ALG

#define ALG   SHA3_224

Definition at line 33 of file sha3_224.c.

◆ Alg

#define Alg   Sha3_224

Definition at line 34 of file sha3_224.c.

Function Documentation

◆ SymCryptSha3_224Append()

VOID SYMCRYPT_CALL SymCryptSha3_224Append ( _Inout_ PSYMCRYPT_SHA3_224_STATE  pState,
_In_reads_(cbData) PCBYTE  pbData,
SIZE_T  cbData 
)

Definition at line 60 of file sha3_224.c.

64{
66}
VOID SYMCRYPT_CALL SymCryptKeccakAppend(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
Definition: sha3.c:285
PCBYTE PBYTE SIZE_T cbData
PSYMCRYPT_COMMON_HASH_STATE pState
PCBYTE pbData

◆ SymCryptSha3_224Init()

VOID SYMCRYPT_CALL SymCryptSha3_224Init ( _Out_ PSYMCRYPT_SHA3_224_STATE  pState)

Definition at line 45 of file sha3_224.c.

46{
50
52}
VOID SYMCRYPT_CALL SymCryptKeccakInit(_Out_ PSYMCRYPT_KECCAK_STATE pState, UINT32 inputBlockSize, UINT8 padding)
Definition: sha3.c:174
#define SYMCRYPT_SHA3_PADDING_VALUE
Definition: sc_lib.h:1808
#define SYMCRYPT_SHA3_224_INPUT_BLOCK_SIZE
Definition: symcrypt.h:1561
#define SYMCRYPT_SET_MAGIC(p)

◆ SymCryptSha3_224Result()

Definition at line 74 of file sha3_224.c.

77{
79}
#define TRUE
Definition: types.h:120
VOID SYMCRYPT_CALL SymCryptKeccakExtract(_Inout_ PSYMCRYPT_KECCAK_STATE pState, _Out_writes_(cbResult) PBYTE pbResult, SIZE_T cbResult, BOOLEAN bWipe)
Definition: sha3.c:411
static const BYTE pbResult[]
#define SYMCRYPT_SHA3_224_RESULT_SIZE
Definition: symcrypt.h:1560

◆ SymCryptSha3_224Selftest()

VOID SYMCRYPT_CALL SymCryptSha3_224Selftest ( void  )

Definition at line 129 of file sha3_224.c.

130{
132
134
136
137 if (memcmp(result, sha3_224KATAnswer, sizeof(result)) != 0)
138 {
139 SymCryptFatal('SHA3');
140 }
141}
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
Definition: string.c:2807
GLuint64EXT * result
Definition: glext.h:11304
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
const BYTE SymCryptTestMsg3[3]
Definition: selftest.c:8
static const BYTE sha3_224KATAnswer[28]
Definition: sha3_224.c:120
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
VOID SYMCRYPT_CALL SymCryptSha3_224(_In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_writes_(SYMCRYPT_SHA3_224_RESULT_SIZE) PBYTE pbResult)
unsigned char BYTE
Definition: xxhash.c:193

◆ SymCryptSha3_224StateExport()

Definition at line 87 of file sha3_224.c.

90{
93}
@ SymCryptBlobTypeSha3_224State
Definition: sc_lib.h:1074
VOID SYMCRYPT_CALL SymCryptKeccakStateExport(SYMCRYPT_BLOB_TYPE type, _In_ PCSYMCRYPT_KECCAK_STATE pState, _Out_writes_bytes_(SYMCRYPT_KECCAK_STATE_EXPORT_SIZE) PBYTE pbBlob)
Definition: sha3.c:479
#define SYMCRYPT_CHECK_MAGIC(p)

◆ SymCryptSha3_224StateImport()

Definition at line 101 of file sha3_224.c.

104{
106
107 if (scError == SYMCRYPT_NO_ERROR)
108 {
110 }
111
112 return scError;
113}
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptKeccakStateImport(SYMCRYPT_BLOB_TYPE type, _Out_ PSYMCRYPT_KECCAK_STATE pState, _In_reads_bytes_(SYMCRYPT_KECCAK_STATE_EXPORT_SIZE) PCBYTE pbBlob)
Definition: sha3.c:518
SYMCRYPT_ERROR
Definition: symcrypt.h:227

Variable Documentation

◆ sha3_224KATAnswer

const BYTE sha3_224KATAnswer[28]
static
Initial value:
= {
0xe6, 0x42, 0x82, 0x4c, 0x3f, 0x8c, 0xf2, 0x4a,
0xd0, 0x92, 0x34, 0xee, 0x7d, 0x3c, 0x76, 0x6f,
0xc9, 0xa3, 0xa5, 0x16, 0x8d, 0x0c, 0x94, 0xad,
0x73, 0xb4, 0x6f, 0xdf,
}

Definition at line 120 of file sha3_224.c.

Referenced by SymCryptSha3_224Selftest().

◆ SymCryptSha3_224Algorithm

Definition at line 27 of file sha3_224.c.

Referenced by SymCryptHmacSha3_224ExpandKey().

◆ SymCryptSha3_224Algorithm_default

const SYMCRYPT_HASH SymCryptSha3_224Algorithm_default
Initial value:
= {
NULL,
}
#define NULL
Definition: types.h:112
VOID SYMCRYPT_CALL SymCryptSha3_224Init(_Out_ PSYMCRYPT_SHA3_224_STATE pState)
Definition: sha3_224.c:45
VOID SYMCRYPT_CALL SymCryptSha3_224Result(_Inout_ PSYMCRYPT_SHA3_224_STATE pState, _Out_writes_(SYMCRYPT_SHA3_224_RESULT_SIZE) PBYTE pbResult)
Definition: sha3_224.c:74
VOID SYMCRYPT_CALL SymCryptSha3_224Append(_Inout_ PSYMCRYPT_SHA3_224_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
Definition: sha3_224.c:60
VOID SYMCRYPT_CALL SymCryptSha3_224StateCopy(_In_ PCSYMCRYPT_SHA3_224_STATE pSrc, _Out_ PSYMCRYPT_SHA3_224_STATE pDst)
#define SYMCRYPT_FIELD_SIZE(type, field)
#define SYMCRYPT_FIELD_OFFSET(type, field)
SYMCRYPT_MAGIC_FIELD SYMCRYPT_SHA3_224_STATE

Definition at line 14 of file sha3_224.c.