LibSWIFFT  1.2.0
Macros | Functions
swifft_hash_api.inl File Reference

LibSWIFFT internal C hash API. More...

This graph shows which files directly or indirectly include this file:

Macros

#define LIBSWIFFT_API(name)   name
 

Functions

void LIBSWIFFT_API() SWIFFT_Compact (const BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], BitSequence compact[SWIFFT_COMPACT_BLOCK_SIZE])
 Compacts a hash value of SWIFFT. The result is not composable with other compacted hash values. More...
 
void LIBSWIFFT_API() SWIFFT_CompactMultiple (int nblocks, const BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE], BitSequence compact[SWIFFT_COMPACT_BLOCK_SIZE])
 Compacts a hash value of SWIFFT for multiple blocks. The result is not composable with other compacted hash values. More...
 
void LIBSWIFFT_API() SWIFFT_Compute (const BitSequence input[SWIFFT_INPUT_BLOCK_SIZE], BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE])
 Computes the result of a SWIFFT operation. The result is composable with other hash values. More...
 
void LIBSWIFFT_API() SWIFFT_ComputeSigned (const BitSequence input[SWIFFT_INPUT_BLOCK_SIZE], const BitSequence sign[SWIFFT_INPUT_BLOCK_SIZE], BitSequence output[SWIFFT_OUTPUT_BLOCK_SIZE])
 Computes the result of a SWIFFT operation. The result is composable with other hash values. More...
 
void LIBSWIFFT_API() SWIFFT_ComputeMultiple (int nblocks, const BitSequence *input, BitSequence *output)
 Computes the result of multiple SWIFFT operations. The result is composable with other hash values. More...
 
void LIBSWIFFT_API() SWIFFT_ComputeMultipleSigned (int nblocks, const BitSequence *input, const BitSequence *sign, BitSequence *output)
 Computes the result of multiple SWIFFT operations. The result is composable with other hash values. More...
 

Detailed Description

LibSWIFFT internal C hash API.

Macro Definition Documentation

◆ LIBSWIFFT_API

#define LIBSWIFFT_API (   name)    name

Function Documentation

◆ SWIFFT_Compact()

void LIBSWIFFT_API() SWIFFT_Compact ( const BitSequence  output[SWIFFT_OUTPUT_BLOCK_SIZE],
BitSequence  compact[SWIFFT_COMPACT_BLOCK_SIZE] 
)

Compacts a hash value of SWIFFT. The result is not composable with other compacted hash values.

Parameters
[in]outputthe hash value of SWIFFT, of size 128 bytes (1024 bit).
[out]compactthe compacted hash value of SWIFFT, of size 64 bytes (512 bit).

◆ SWIFFT_CompactMultiple()

void LIBSWIFFT_API() SWIFFT_CompactMultiple ( int  nblocks,
const BitSequence  output[SWIFFT_OUTPUT_BLOCK_SIZE],
BitSequence  compact[SWIFFT_COMPACT_BLOCK_SIZE] 
)

Compacts a hash value of SWIFFT for multiple blocks. The result is not composable with other compacted hash values.

Parameters
[in]nblocksthe number of blocks to operate on.
[in]outputthe hash value of SWIFFT, of size 128 bytes (1024 bit).
[out]compactthe compacted hash value of SWIFFT, of size 64 bytes (512 bit).

◆ SWIFFT_Compute()

void LIBSWIFFT_API() SWIFFT_Compute ( const BitSequence  input[SWIFFT_INPUT_BLOCK_SIZE],
BitSequence  output[SWIFFT_OUTPUT_BLOCK_SIZE] 
)

Computes the result of a SWIFFT operation. The result is composable with other hash values.

Parameters
[in]inputthe input of 256 bytes (2048 bit).
[out]outputthe resulting hash value of SWIFFT, of size 128 bytes (1024 bit).

◆ SWIFFT_ComputeMultiple()

void LIBSWIFFT_API() SWIFFT_ComputeMultiple ( int  nblocks,
const BitSequence input,
BitSequence output 
)

Computes the result of multiple SWIFFT operations. The result is composable with other hash values.

Parameters
[in]nblocksthe number of blocks to operate on.
[in]inputthe blocks of input, each of 256 bytes (2048 bit).
[out]outputthe resulting blocks of hash values of SWIFFT, each of size 128 bytes (1024 bit).

◆ SWIFFT_ComputeMultipleSigned()

void LIBSWIFFT_API() SWIFFT_ComputeMultipleSigned ( int  nblocks,
const BitSequence input,
const BitSequence sign,
BitSequence output 
)

Computes the result of multiple SWIFFT operations. The result is composable with other hash values.

Parameters
[in]nblocksthe number of blocks to operate on.
[in]inputthe blocks of input, each of 256 bytes (2048 bit).
[in]signthe blocks of sign bits corresponding to blocks of input of 256 bytes (2048 bit).
[out]outputthe resulting blocks of hash values of SWIFFT, each of size 128 bytes (1024 bit).

◆ SWIFFT_ComputeSigned()

void LIBSWIFFT_API() SWIFFT_ComputeSigned ( const BitSequence  input[SWIFFT_INPUT_BLOCK_SIZE],
const BitSequence  sign[SWIFFT_INPUT_BLOCK_SIZE],
BitSequence  output[SWIFFT_OUTPUT_BLOCK_SIZE] 
)

Computes the result of a SWIFFT operation. The result is composable with other hash values.

Parameters
[in]inputthe input of 256 bytes (2048 bit).
[in]signthe sign bits corresponding to the input of 256 bytes (2048 bit).
[out]outputthe resulting hash value of SWIFFT, of size 128 bytes (1024 bit).