mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-07 08:56:17 +08:00
Create test.c
This commit is contained in:
66
crypto/SHA-3/Test/test.c
Normal file
66
crypto/SHA-3/Test/test.c
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user