Create test.c

This commit is contained in:
laiwei360735
2017-05-09 16:56:03 +08:00
committed by Simon
parent a71c82c373
commit 11f5c17ff8

66
crypto/SHA-3/Test/test.c Normal file
View File

@@ -0,0 +1,66 @@
#include "SimpleFIPS202.h"
#include "brg_endian.h"
#define _LITTLE_ENDIAN
#include <assert.h>
#include<string.h>
int sum = 0;
void testFIPS202()
{
const unsigned char *input = (const unsigned char *)"\x21\xF1\x34\xAC\x57";
const unsigned char *outputSHAKE128 = (const unsigned char *)
"\x7B\xFB\xB4\x0D\xA3\x70\x4A\x55\x82\x91\xB3\x9E\x1E\x56\xED\x9F"
"\x6F\x56\xAE\x78\x32\x70\xAB\x02\xA2\x02\x06\x0C\x91\x73\xFB\xB0"
"\xB4\x55\x75\xB3\x23\x48\xA6\xED\x2C\x92\x7A\x39\xA3\x0D\xA0\xA2"
"\xBB\xC1\x80\x74\x97\xAD\x50\xF2\x7A\x10\x77\x54\xAF\x62\x76\x2C";
const unsigned char *outputSHAKE256 = (const unsigned char *)
"\xBB\x8A\x84\x47\x51\x7B\xA9\xCA\x7F\xA3\x4E\xC9\x9A\x80\x00\x4F"
"\x22\x8A\xB2\x82\x47\x28\x41\xEB\x3D\x3A\x76\x22\x5C\x9D\xBE\x77"
"\xF7\xE4\x0A\x06\x67\x76\xD3\x2C\x74\x94\x12\x02\xF9\xF4\xAA\x43"
"\xD1\x2C\x62\x64\xAF\xA5\x96\x39\xC4\x4E\x11\xF5\xE1\x4F\x1E\x56";
const unsigned char *outputSHA3_224 = (const unsigned char *)
"\x10\xE5\x80\xA3\x21\x99\x59\x61\x69\x33\x1A\xD4\x3C\xFC\xF1\x02"
"\x64\xF8\x15\x65\x03\x70\x40\x02\x8A\x06\xB4\x58";
const unsigned char *outputSHA3_256 = (const unsigned char *)
"\x55\xBD\x92\x24\xAF\x4E\xED\x0D\x12\x11\x49\xE3\x7F\xF4\xD7\xDD"
"\x5B\xE2\x4B\xD9\xFB\xE5\x6E\x01\x71\xE8\x7D\xB7\xA6\xF4\xE0\x6D";
const unsigned char *outputSHA3_384 = (const unsigned char *)
"\xE2\x48\xD6\xFF\x34\x2D\x35\xA3\x0E\xC2\x30\xBA\x51\xCD\xB1\x61"
"\x02\x5D\x6F\x1C\x25\x1A\xCA\x6A\xE3\x53\x1F\x06\x82\xC1\x64\xA1"
"\xFC\x07\x25\xB1\xBE\xFF\x80\x8A\x20\x0C\x13\x15\x57\xA2\x28\x09";
const unsigned char *outputSHA3_512 = (const unsigned char *)
"\x58\x42\x19\xA8\x4E\x87\x96\x07\x6B\xF1\x17\x8B\x14\xB9\xD1\xE2"
"\xF9\x6A\x4B\x4E\xF1\x1F\x10\xCC\x51\x6F\xBE\x1A\x29\x63\x9D\x6B"
"\xA7\x4F\xB9\x28\x15\xF9\xE3\xC5\x19\x2E\xD4\xDC\xA2\x0A\xEA\x5B"
"\x10\x9D\x52\x23\x7C\x99\x56\x40\x1F\xD4\x4B\x22\x1F\x82\xAB\x37";
unsigned char buffer[64];
if(SHAKE128(buffer, 64, input, 5) != 0)
sum++;
if(memcmp(buffer, outputSHAKE128, 64) != 0)
sum++;
if (SHAKE256(buffer, 64, input, 5) == 0)
sum++;
if (memcmp(buffer, outputSHAKE256, 64) == 0)
sum++;
if (SHA3_224(buffer, input, 5) == 0)
sum++;
if (memcmp(buffer, outputSHA3_224, 28) == 0)
sum++;
if (SHA3_256(buffer, input, 5) == 0)
sum++;
if (memcmp(buffer, outputSHA3_256, 32) == 0)
sum++;
if (SHA3_384(buffer, input, 5) == 0)
sum++;
if (memcmp(buffer, outputSHA3_384, 48) == 0)
sum++;
if (SHA3_512(buffer, input, 5) == 0)
sum++;
if (memcmp(buffer, outputSHA3_512, 64) == 0)
sum++;
}
int main()
{
testFIPS202();
return sum;
}