/* test program for FORK-256 implementation.
   Compile:
   gcc fork.c testfork.c -o testfork
*/

#include <stdio.h>

void FORK256_compress(unsigned int CV[8], const unsigned int M[16]);

int main(void) {
	/*default IV */
	unsigned int IV[8] = {	
		0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
		0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 
	};

	/*test message given in specification*/
	unsigned int M[16] = {
		0x4105ba8c, 0xd8423ce8, 0xac484680, 0x07ee1d40,
 		0xbc18d07a, 0x89fc027c, 0x5ee37091, 0xcd1824f0,
 		0x878de230, 0xdbbaf0fc, 0xda7e4408, 0xc6c05bc0,
 		0x33065020, 0x7367cfc5, 0xf4aa5c78, 0xe1cbc780 
	};
	
	int i;
	
	FORK256_compress(IV,M);
	
	for(i = 0; i<8; ++i) {
		printf("%08x ",IV[i]);
	}
	printf("\n");
	
	return 0;
}
