]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - twister_ref.h
new makefile and modified build process
[avr-crypto-lib.git] / twister_ref.h
diff --git a/twister_ref.h b/twister_ref.h
deleted file mode 100644 (file)
index 1a5e05a..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/******************************************************************
- ** Header File for the Reference Implementation of Twister
- **
- ** Author: Ewan Fleischmann <ewan.fleischmann@uni-weimar.de> 2008
- **
- ** This algorithm and source code is released into the public domain.
- **
- *******************************************************************/
-
-#ifndef TWISTER_REF_H_
-#define TWISTER_REF_H_
-
-#define DEBUG
-
-#define MIN(a,b) ((a)>(b)?(b):(a))
-/* state matrix has size of 8x8 BYTES i.e. 8 rows and 8 columns*/
-#define NUMROWSCOLUMNS 8 
-#define STATESIZE NUMROWSCOLUMNS * NUMROWSCOLUMNS
-
-/* blocksize in BITS, i.e. size of an input message block for a compression function call*/
-#define BLOCKSIZE 512
-
-/* unit64 def for ANSIC/GNUC <-> MSVC */
-#ifdef __GNUC__
-#include <stdint.h>
-#else
-typedef unsigned __int64 uint64_t;
-#endif
-
-/* multiplication in F_256 */
-#define MULT(a,b) (multab[a-1][b])
-
-/* NIST requirements definitions */
-typedef unsigned char BitSequence;
-typedef uint64_t DataLength;
-typedef enum {SUCCESS=0, FAIL=1, BAD_HASHBITLEN=2 } HashReturn;
-typedef enum {FULL = 0, NOT_FULL = 1 } INTERMEDIATE_RESULT;
-
-typedef struct {
-  /* statematrix[Y][X] */ 
-  unsigned char hs_State[NUMROWSCOLUMNS][NUMROWSCOLUMNS];
-
-  /* matrix for checksum */ 
-  unsigned char hs_Checksum[NUMROWSCOLUMNS][NUMROWSCOLUMNS];
-
-  /* Processed message bits */
-  DataLength hs_ProcessedMsgLen;
-
-  /* Unprocessed message block */
-  BitSequence hs_Data[STATESIZE];    
-
-  /* size of data hs_Data, in bits*/
-  uint64_t hs_DataBitLen;
-
-  /* Twist counter, prevents slide attacks, counts the number of twist operations */
-  uint64_t hs_Counter;
-
-  /* output hash bit length, in bits */
-  uint64_t hs_HashBitLen;
-
-} hashState;
-
-
-/******************************************************************/
-/************************* N I S T    A P I ***********************/
-/******************************************************************/
-
-/* Initiate Twister */
-HashReturn Init(hashState *state, int hashbitlen);
-
-/* Process the supplied data */
-HashReturn Update(hashState *state, const BitSequence *data, 
-                 DataLength databitlen);
-
-/* Perform any post processing and output filtering */
-HashReturn Final(hashState *state, BitSequence *hashval);
-
-/* Hash the supplied data and provie the resulting hash value */
-HashReturn Hash(int hashbitlen, const BitSequence *data,
-               DataLength databitlen, BitSequence *hashval); 
-
-
-/* only for testing */
-INTERMEDIATE_RESULT fill_intermediate_state( hashState *state, const BitSequence *data, DataLength *databitlen, DataLength *processed );
-void twist( hashState *state, uint64_t *data );
-void twist_mini_round( hashState *state );
-void checksum( hashState *state, int col );
-
-
-#endif /* TWISTER_REF_H_ */