12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #ifndef PTWIST_H
- #define PTWIST_H
- #define PTWIST_BITS 168
- #define PTWIST_BYTES (PTWIST_BITS/8)
- #define PTWIST_TAG_BITS 224
- #define PTWIST_TAG_BYTES (PTWIST_TAG_BITS/8)
- #define PTWIST_PUZZLE_STRENGTH 0
- #define PTWIST_PUZZLE_MASK ((1<<PTWIST_PUZZLE_STRENGTH)-1)
- #if PTWIST_PUZZLE_STRENGTH == 0
- #define PTWIST_RESP_BITS 0
- #else
- #define PTWIST_RESP_BITS (PTWIST_PUZZLE_STRENGTH+6)
- #endif
- #define PTWIST_RESP_BYTES ((PTWIST_RESP_BITS+7)/8)
- #define PTWIST_RESP_MASK ((1<<(((PTWIST_RESP_BITS&7)==0)?8:(PTWIST_RESP_BITS&7)))-1)
- #define PTWIST_HASH_SHOWBITS (PTWIST_TAG_BITS-PTWIST_BITS-PTWIST_RESP_BITS)
- #define PTWIST_HASH_TOTBITS (PTWIST_HASH_SHOWBITS+PTWIST_PUZZLE_STRENGTH)
- #define PTWIST_HASH_TOTBYTES ((PTWIST_HASH_TOTBITS+7)/8)
- #define PTWIST_HASH_MASK ((1<<(((PTWIST_HASH_TOTBITS&7)==0)?8:(PTWIST_HASH_TOTBITS&7)))-1)
- typedef unsigned char byte;
- void ptwist_pointmul(byte out[PTWIST_BYTES], const byte x[PTWIST_BYTES],
- const byte seckey[PTWIST_BYTES]);
- #endif
|