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

Go to the source code of this file.

Macros

#define ALG   SHA3_384
 
#define Alg   Sha3_384
 

Functions

VOID SYMCRYPT_CALL SymCryptSha3_384Init (_Out_ PSYMCRYPT_SHA3_384_STATE pState)
 
VOID SYMCRYPT_CALL SymCryptSha3_384Append (_Inout_ PSYMCRYPT_SHA3_384_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
 
VOID SYMCRYPT_CALL SymCryptSha3_384Result (_Inout_ PSYMCRYPT_SHA3_384_STATE pState, _Out_writes_(SYMCRYPT_SHA3_384_RESULT_SIZE) PBYTE pbResult)
 
VOID SYMCRYPT_CALL SymCryptSha3_384StateExport (_In_ PCSYMCRYPT_SHA3_384_STATE pState, _Out_writes_bytes_(SYMCRYPT_SHA3_384_STATE_EXPORT_SIZE) PBYTE pbBlob)
 
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptSha3_384StateImport (_Out_ PSYMCRYPT_SHA3_384_STATE pState, _In_reads_bytes_(SYMCRYPT_SHA3_384_STATE_EXPORT_SIZE) PCBYTE pbBlob)
 
VOID SYMCRYPT_CALL SymCryptSha3_384Selftest (void)
 

Variables

const SYMCRYPT_HASH SymCryptSha3_384Algorithm_default
 
const PCSYMCRYPT_HASH SymCryptSha3_384Algorithm = &SymCryptSha3_384Algorithm_default
 
static const BYTE sha3_384KATAnswer [48]
 

Macro Definition Documentation

◆ ALG

#define ALG   SHA3_384

Definition at line 33 of file sha3_384.c.

◆ Alg

#define Alg   Sha3_384

Definition at line 34 of file sha3_384.c.

Function Documentation

◆ SymCryptSha3_384Append()

VOID SYMCRYPT_CALL SymCryptSha3_384Append ( _Inout_ PSYMCRYPT_SHA3_384_STATE  pState,
_In_reads_(cbData) PCBYTE  pbData,
SIZE_T  cbData 
)

Definition at line 60 of file sha3_384.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_384Init()

VOID SYMCRYPT_CALL SymCryptSha3_384Init ( _Out_ PSYMCRYPT_SHA3_384_STATE  pState)

Definition at line 45 of file sha3_384.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_384_INPUT_BLOCK_SIZE
Definition: symcrypt.h:1669
#define SYMCRYPT_SET_MAGIC(p)

◆ SymCryptSha3_384Result()

Definition at line 74 of file sha3_384.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_384_RESULT_SIZE
Definition: symcrypt.h:1668

◆ SymCryptSha3_384Selftest()

VOID SYMCRYPT_CALL SymCryptSha3_384Selftest ( void  )

Definition at line 131 of file sha3_384.c.

132{
134
136
138
139 if (memcmp(result, sha3_384KATAnswer, sizeof(result)) != 0)
140 {
141 SymCryptFatal('SHA3');
142 }
143}
_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_384KATAnswer[48]
Definition: sha3_384.c:120
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
VOID SYMCRYPT_CALL SymCryptSha3_384(_In_reads_(cbData) PCBYTE pbData, SIZE_T cbData, _Out_writes_(SYMCRYPT_SHA3_384_RESULT_SIZE) PBYTE pbResult)
unsigned char BYTE
Definition: xxhash.c:193

◆ SymCryptSha3_384StateExport()

Definition at line 87 of file sha3_384.c.

90{
93}
@ SymCryptBlobTypeSha3_384State
Definition: sc_lib.h:1069
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_384StateImport()

Definition at line 101 of file sha3_384.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_384KATAnswer

const BYTE sha3_384KATAnswer[48]
static
Initial value:
= {
0xec, 0x01, 0x49, 0x82, 0x88, 0x51, 0x6f, 0xc9,
0x26, 0x45, 0x9f, 0x58, 0xe2, 0xc6, 0xad, 0x8d,
0xf9, 0xb4, 0x73, 0xcb, 0x0f, 0xc0, 0x8c, 0x25,
0x96, 0xda, 0x7c, 0xf0, 0xe4, 0x9b, 0xe4, 0xb2,
0x98, 0xd8, 0x8c, 0xea, 0x92, 0x7a, 0xc7, 0xf5,
0x39, 0xf1, 0xed, 0xf2, 0x28, 0x37, 0x6d, 0x25
}

Definition at line 120 of file sha3_384.c.

Referenced by SymCryptSha3_384Selftest().

◆ SymCryptSha3_384Algorithm

Definition at line 27 of file sha3_384.c.

Referenced by SymCryptHmacSha3_384ExpandKey().

◆ SymCryptSha3_384Algorithm_default

const SYMCRYPT_HASH SymCryptSha3_384Algorithm_default
Initial value:
= {
NULL,
}
#define NULL
Definition: types.h:112
VOID SYMCRYPT_CALL SymCryptSha3_384Result(_Inout_ PSYMCRYPT_SHA3_384_STATE pState, _Out_writes_(SYMCRYPT_SHA3_384_RESULT_SIZE) PBYTE pbResult)
Definition: sha3_384.c:74
VOID SYMCRYPT_CALL SymCryptSha3_384Append(_Inout_ PSYMCRYPT_SHA3_384_STATE pState, _In_reads_(cbData) PCBYTE pbData, SIZE_T cbData)
Definition: sha3_384.c:60
VOID SYMCRYPT_CALL SymCryptSha3_384Init(_Out_ PSYMCRYPT_SHA3_384_STATE pState)
Definition: sha3_384.c:45
VOID SYMCRYPT_CALL SymCryptSha3_384StateCopy(_In_ PCSYMCRYPT_SHA3_384_STATE pSrc, _Out_ PSYMCRYPT_SHA3_384_STATE pDst)
SYMCRYPT_MAGIC_FIELD SYMCRYPT_SHA3_384_STATE
#define SYMCRYPT_FIELD_SIZE(type, field)
#define SYMCRYPT_FIELD_OFFSET(type, field)

Definition at line 14 of file sha3_384.c.