Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Go to the source code of this file.
Macros | |
#define | SPH_CUBEHASH_UNROLL 0 |
#define | SPH_CUBEHASH_NOCOPY 0 |
#define | T32 SPH_T32 |
#define | ROTL32 SPH_ROTL32 |
#define | DECL_STATE |
#define | READ_STATE(cc) |
#define | WRITE_STATE(cc) |
#define | INPUT_BLOCK |
#define | ROUND_EVEN |
#define | ROUND_ODD |
#define | SIXTEEN_ROUNDS |
Functions | |
static void | cubehash_init (sph_cubehash_context *sc, const sph_u32 *iv) |
static void | cubehash_core (sph_cubehash_context *sc, const void *data, size_t len) |
static void | cubehash_close (sph_cubehash_context *sc, unsigned ub, unsigned n, void *dst, size_t out_size_w32) |
void | sph_cubehash224_init (void *cc) |
Initialize a CubeHash-224 context. More... | |
void | sph_cubehash224 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_cubehash224_close (void *cc, void *dst) |
Terminate the current CubeHash-224 computation and output the result into the provided buffer. More... | |
void | sph_cubehash224_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (28 bytes). More... | |
void | sph_cubehash256_init (void *cc) |
Initialize a CubeHash-256 context. More... | |
void | sph_cubehash256 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_cubehash256_close (void *cc, void *dst) |
Terminate the current CubeHash-256 computation and output the result into the provided buffer. More... | |
void | sph_cubehash256_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (32 bytes). More... | |
void | sph_cubehash384_init (void *cc) |
Initialize a CubeHash-384 context. More... | |
void | sph_cubehash384 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_cubehash384_close (void *cc, void *dst) |
Terminate the current CubeHash-384 computation and output the result into the provided buffer. More... | |
void | sph_cubehash384_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (48 bytes). More... | |
void | sph_cubehash512_init (void *cc) |
Initialize a CubeHash-512 context. More... | |
void | sph_cubehash512 (void *cc, const void *data, size_t len) |
Process some data bytes. More... | |
void | sph_cubehash512_close (void *cc, void *dst) |
Terminate the current CubeHash-512 computation and output the result into the provided buffer. More... | |
void | sph_cubehash512_addbits_and_close (void *cc, unsigned ub, unsigned n, void *dst) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (64 bytes). More... | |
Variables | |
static const sph_u32 | IV224 [] |
static const sph_u32 | IV256 [] |
static const sph_u32 | IV384 [] |
static const sph_u32 | IV512 [] |
Macro Definition Documentation
◆ DECL_STATE
#define DECL_STATE |
Definition at line 178 of file cubehash.c.
Referenced by cubehash_close(), and cubehash_core().
◆ INPUT_BLOCK
#define INPUT_BLOCK |
Definition at line 256 of file cubehash.c.
Referenced by cubehash_close(), and cubehash_core().
◆ READ_STATE
#define READ_STATE | ( | cc | ) |
Definition at line 184 of file cubehash.c.
Referenced by cubehash_close(), and cubehash_core().
◆ ROTL32
#define ROTL32 SPH_ROTL32 |
Definition at line 135 of file cubehash.c.
◆ ROUND_EVEN
#define ROUND_EVEN |
Definition at line 267 of file cubehash.c.
◆ ROUND_ODD
#define ROUND_ODD |
Definition at line 366 of file cubehash.c.
◆ SIXTEEN_ROUNDS
#define SIXTEEN_ROUNDS |
Definition at line 513 of file cubehash.c.
Referenced by cubehash_close(), and cubehash_core().
◆ SPH_CUBEHASH_NOCOPY
#define SPH_CUBEHASH_NOCOPY 0 |
Definition at line 69 of file cubehash.c.
◆ SPH_CUBEHASH_UNROLL
#define SPH_CUBEHASH_UNROLL 0 |
Definition at line 66 of file cubehash.c.
◆ T32
#define T32 SPH_T32 |
Definition at line 134 of file cubehash.c.
◆ WRITE_STATE
#define WRITE_STATE | ( | cc | ) |
Definition at line 219 of file cubehash.c.
Referenced by cubehash_close(), and cubehash_core().
Function Documentation
◆ cubehash_close()
|
static |
Definition at line 579 of file cubehash.c.
References sph_cubehash_context::buf, DECL_STATE, INPUT_BLOCK, sph_cubehash_context::ptr, READ_STATE, SIXTEEN_ROUNDS, SPH_C32, sph_enc32le(), sph_cubehash_context::state, and WRITE_STATE.
Referenced by sph_cubehash224_addbits_and_close(), sph_cubehash256_addbits_and_close(), sph_cubehash384_addbits_and_close(), and sph_cubehash512_addbits_and_close().
◆ cubehash_core()
|
static |
Definition at line 542 of file cubehash.c.
References sph_cubehash_context::buf, DECL_STATE, INPUT_BLOCK, memcpy(), sph_cubehash_context::ptr, READ_STATE, SIXTEEN_ROUNDS, and WRITE_STATE.
Referenced by sph_cubehash224(), sph_cubehash256(), sph_cubehash384(), and sph_cubehash512().
◆ cubehash_init()
|
static |
Definition at line 535 of file cubehash.c.
References memcpy(), sph_cubehash_context::ptr, and sph_cubehash_context::state.
Referenced by sph_cubehash224_init(), sph_cubehash256_init(), sph_cubehash384_init(), and sph_cubehash512_init().
◆ sph_cubehash224()
void sph_cubehash224 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
Process some data bytes.
It is acceptable that len
is zero (in which case this function does nothing).
- Parameters
-
cc the CubeHash-224 context data the input data len the input data length (in bytes)
Definition at line 615 of file cubehash.c.
References cubehash_core().
◆ sph_cubehash224_addbits_and_close()
void sph_cubehash224_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (28 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-224 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 629 of file cubehash.c.
References cubehash_close(), and sph_cubehash224_init().
Referenced by sph_cubehash224_close().
◆ sph_cubehash224_close()
void sph_cubehash224_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current CubeHash-224 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (28 bytes). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-224 context dst the destination buffer
Definition at line 622 of file cubehash.c.
References sph_cubehash224_addbits_and_close().
◆ sph_cubehash224_init()
void sph_cubehash224_init | ( | void * | cc | ) |
Initialize a CubeHash-224 context.
This process performs no memory allocation.
- Parameters
-
cc the CubeHash-224 context (pointer to a sph_cubehash224_context
)
Definition at line 608 of file cubehash.c.
References cubehash_init(), and IV224.
Referenced by sph_cubehash224_addbits_and_close().
◆ sph_cubehash256()
void sph_cubehash256 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
Process some data bytes.
It is acceptable that len
is zero (in which case this function does nothing).
- Parameters
-
cc the CubeHash-256 context data the input data len the input data length (in bytes)
Definition at line 644 of file cubehash.c.
References cubehash_core().
◆ sph_cubehash256_addbits_and_close()
void sph_cubehash256_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (32 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-256 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 658 of file cubehash.c.
References cubehash_close(), and sph_cubehash256_init().
Referenced by sph_cubehash256_close().
◆ sph_cubehash256_close()
void sph_cubehash256_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current CubeHash-256 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (32 bytes). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-256 context dst the destination buffer
Definition at line 651 of file cubehash.c.
References sph_cubehash256_addbits_and_close().
◆ sph_cubehash256_init()
void sph_cubehash256_init | ( | void * | cc | ) |
Initialize a CubeHash-256 context.
This process performs no memory allocation.
- Parameters
-
cc the CubeHash-256 context (pointer to a sph_cubehash256_context
)
Definition at line 637 of file cubehash.c.
References cubehash_init(), and IV256.
Referenced by sph_cubehash256_addbits_and_close().
◆ sph_cubehash384()
void sph_cubehash384 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
Process some data bytes.
It is acceptable that len
is zero (in which case this function does nothing).
- Parameters
-
cc the CubeHash-384 context data the input data len the input data length (in bytes)
Definition at line 673 of file cubehash.c.
References cubehash_core().
◆ sph_cubehash384_addbits_and_close()
void sph_cubehash384_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (48 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-384 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 687 of file cubehash.c.
References cubehash_close(), and sph_cubehash384_init().
Referenced by sph_cubehash384_close().
◆ sph_cubehash384_close()
void sph_cubehash384_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current CubeHash-384 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (48 bytes). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-384 context dst the destination buffer
Definition at line 680 of file cubehash.c.
References sph_cubehash384_addbits_and_close().
◆ sph_cubehash384_init()
void sph_cubehash384_init | ( | void * | cc | ) |
Initialize a CubeHash-384 context.
This process performs no memory allocation.
- Parameters
-
cc the CubeHash-384 context (pointer to a sph_cubehash384_context
)
Definition at line 666 of file cubehash.c.
References cubehash_init(), and IV384.
Referenced by sph_cubehash384_addbits_and_close().
◆ sph_cubehash512()
void sph_cubehash512 | ( | void * | cc, |
const void * | data, | ||
size_t | len | ||
) |
Process some data bytes.
It is acceptable that len
is zero (in which case this function does nothing).
- Parameters
-
cc the CubeHash-512 context data the input data len the input data length (in bytes)
Definition at line 702 of file cubehash.c.
References cubehash_core().
Referenced by HashX11().
◆ sph_cubehash512_addbits_and_close()
void sph_cubehash512_addbits_and_close | ( | void * | cc, |
unsigned | ub, | ||
unsigned | n, | ||
void * | dst | ||
) |
Add a few additional bits (0 to 7) to the current computation, then terminate it and output the result in the provided buffer, which must be wide enough to accomodate the result (64 bytes).
If bit number i in ub
has value 2^i, then the extra bits are those numbered 7 downto 8-n (this is the big-endian convention at the byte level). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-512 context ub the extra bits n the number of extra bits (0 to 7) dst the destination buffer
Definition at line 716 of file cubehash.c.
References cubehash_close(), and sph_cubehash512_init().
Referenced by sph_cubehash512_close().
◆ sph_cubehash512_close()
void sph_cubehash512_close | ( | void * | cc, |
void * | dst | ||
) |
Terminate the current CubeHash-512 computation and output the result into the provided buffer.
The destination buffer must be wide enough to accomodate the result (64 bytes). The context is automatically reinitialized.
- Parameters
-
cc the CubeHash-512 context dst the destination buffer
Definition at line 709 of file cubehash.c.
References sph_cubehash512_addbits_and_close().
Referenced by HashX11().
◆ sph_cubehash512_init()
void sph_cubehash512_init | ( | void * | cc | ) |
Initialize a CubeHash-512 context.
This process performs no memory allocation.
- Parameters
-
cc the CubeHash-512 context (pointer to a sph_cubehash512_context
)
Definition at line 695 of file cubehash.c.
References cubehash_init(), and IV512.
Referenced by HashX11(), and sph_cubehash512_addbits_and_close().
Variable Documentation
◆ IV224
|
static |
◆ IV256
|
static |
◆ IV384
|
static |
◆ IV512
|
static |