crypto: testmgr - add empty and large test vectors for SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512
Patch adds large test-vectors for SHA algorithms for better code coverage in optimized assembly implementations. Empty test-vectors are also added, as some crypto drivers appear to have special case handling for empty input. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
52d77eb177
commit
950e4e1c1b
728
crypto/testmgr.h
728
crypto/testmgr.h
|
@ -487,10 +487,15 @@ static struct hash_testvec crct10dif_tv_template[] = {
|
|||
* SHA1 test vectors from from FIPS PUB 180-1
|
||||
* Long vector from CAVS 5.0
|
||||
*/
|
||||
#define SHA1_TEST_VECTORS 4
|
||||
#define SHA1_TEST_VECTORS 6
|
||||
|
||||
static struct hash_testvec sha1_tv_template[] = {
|
||||
{
|
||||
.plaintext = "",
|
||||
.psize = 0,
|
||||
.digest = "\xda\x39\xa3\xee\x5e\x6b\x4b\x0d\x32\x55"
|
||||
"\xbf\xef\x95\x60\x18\x90\xaf\xd8\x07\x09",
|
||||
}, {
|
||||
.plaintext = "abc",
|
||||
.psize = 3,
|
||||
.digest = "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
|
||||
|
@ -534,6 +539,139 @@ static struct hash_testvec sha1_tv_template[] = {
|
|||
.psize = 64,
|
||||
.digest = "\xc8\x71\xf6\x9a\x63\xcc\xa9\x84\x84\x82"
|
||||
"\x64\xe7\x79\x95\x5d\xd7\x19\x41\x7c\x91",
|
||||
}, {
|
||||
.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
|
||||
"\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
|
||||
"\xec\x60\xf7\x8e\x02\x99\x30\xc7"
|
||||
"\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
|
||||
"\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
|
||||
"\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
|
||||
"\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
|
||||
"\x03\x77\x0e\xa5\x19\xb0\x47\xde"
|
||||
"\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
|
||||
"\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
|
||||
"\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
|
||||
"\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
|
||||
"\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
|
||||
"\x69\x00\x97\x0b\xa2\x39\xd0\x44"
|
||||
"\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
|
||||
"\x4d\xe4\x58\xef\x86\x1d\x91\x28"
|
||||
"\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
|
||||
"\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
|
||||
"\x80\x17\xae\x22\xb9\x50\xe7\x5b"
|
||||
"\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
|
||||
"\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
|
||||
"\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
|
||||
"\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
|
||||
"\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
|
||||
"\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
|
||||
"\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
|
||||
"\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
|
||||
"\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
|
||||
"\xae\x45\xdc\x50\xe7\x7e\x15\x89"
|
||||
"\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
|
||||
"\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
|
||||
"\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
|
||||
"\x53\xea\x81\x18\x8c\x23\xba\x2e"
|
||||
"\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
|
||||
"\x37\xce\x42\xd9\x70\x07\x7b\x12"
|
||||
"\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
|
||||
"\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
|
||||
"\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
|
||||
"\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
|
||||
"\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
|
||||
"\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
|
||||
"\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
|
||||
"\x81\x18\xaf\x23\xba\x51\xe8\x5c"
|
||||
"\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
|
||||
"\x65\xfc\x70\x07\x9e\x12\xa9\x40"
|
||||
"\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
|
||||
"\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
|
||||
"\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
|
||||
"\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
|
||||
"\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
|
||||
"\xee\x62\xf9\x90\x04\x9b\x32\xc9"
|
||||
"\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
|
||||
"\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
|
||||
"\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
|
||||
"\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
|
||||
"\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
|
||||
"\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
|
||||
"\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
|
||||
"\x38\xcf\x43\xda\x71\x08\x7c\x13"
|
||||
"\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
|
||||
"\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
|
||||
"\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
|
||||
"\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
|
||||
"\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
|
||||
"\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
|
||||
"\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
|
||||
"\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
|
||||
"\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
|
||||
"\x66\xfd\x71\x08\x9f\x13\xaa\x41"
|
||||
"\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
|
||||
"\x27\xbe\x55\xec\x60\xf7\x8e\x02"
|
||||
"\x99\x30\xc7\x3b\xd2\x69\x00\x74"
|
||||
"\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
|
||||
"\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
|
||||
"\xef\x63\xfa\x91\x05\x9c\x33\xca"
|
||||
"\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
|
||||
"\xb0\x47\xde\x52\xe9\x80\x17\x8b"
|
||||
"\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
|
||||
"\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
|
||||
"\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
|
||||
"\x55\xec\x83\x1a\x8e\x25\xbc\x30"
|
||||
"\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
|
||||
"\x39\xd0\x44\xdb\x72\x09\x7d\x14"
|
||||
"\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
|
||||
"\x1d\x91\x28\xbf\x33\xca\x61\xf8"
|
||||
"\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
|
||||
"\xde\x75\x0c\x80\x17\xae\x22\xb9"
|
||||
"\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
|
||||
"\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
|
||||
"\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
|
||||
"\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
|
||||
"\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
|
||||
"\x67\xfe\x72\x09\xa0\x14\xab\x42"
|
||||
"\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
|
||||
"\x28\xbf\x56\xed\x61\xf8\x8f\x03"
|
||||
"\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
|
||||
"\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
|
||||
"\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
|
||||
"\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
|
||||
"\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
|
||||
"\xb1\x48\xdf\x53\xea\x81\x18\x8c"
|
||||
"\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
|
||||
"\x95\x09\xa0\x37\xce\x42\xd9\x70"
|
||||
"\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
|
||||
"\x56\xed\x84\x1b\x8f\x26\xbd\x31"
|
||||
"\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
|
||||
"\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
|
||||
"\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
|
||||
"\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
|
||||
"\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
|
||||
"\xdf\x76\x0d\x81\x18\xaf\x23\xba"
|
||||
"\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
|
||||
"\xc3\x37\xce\x65\xfc\x70\x07\x9e"
|
||||
"\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
|
||||
"\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
|
||||
"\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
|
||||
"\x68\xff\x73\x0a\xa1\x15\xac\x43"
|
||||
"\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
|
||||
"\x29\xc0\x57\xee\x62\xf9\x90\x04"
|
||||
"\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
|
||||
"\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
|
||||
"\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
|
||||
"\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
|
||||
"\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
|
||||
"\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
|
||||
"\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
|
||||
"\x96\x0a\xa1\x38\xcf\x43\xda\x71"
|
||||
"\x08\x7c\x13\xaa\x1e\xb5\x4c",
|
||||
.psize = 1023,
|
||||
.digest = "\xb8\xe3\x54\xed\xc5\xfc\xef\xa4"
|
||||
"\x55\x73\x4a\x81\x99\xe4\x47\x2a"
|
||||
"\x30\xd6\xc9\x85",
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -541,10 +679,17 @@ static struct hash_testvec sha1_tv_template[] = {
|
|||
/*
|
||||
* SHA224 test vectors from from FIPS PUB 180-2
|
||||
*/
|
||||
#define SHA224_TEST_VECTORS 3
|
||||
#define SHA224_TEST_VECTORS 5
|
||||
|
||||
static struct hash_testvec sha224_tv_template[] = {
|
||||
{
|
||||
.plaintext = "",
|
||||
.psize = 0,
|
||||
.digest = "\xd1\x4a\x02\x8c\x2a\x3a\x2b\xc9"
|
||||
"\x47\x61\x02\xbb\x28\x82\x34\xc4"
|
||||
"\x15\xa2\xb0\x1f\x82\x8e\xa6\x2a"
|
||||
"\xc5\xb3\xe4\x2f",
|
||||
}, {
|
||||
.plaintext = "abc",
|
||||
.psize = 3,
|
||||
.digest = "\x23\x09\x7D\x22\x34\x05\xD8\x22"
|
||||
|
@ -568,16 +713,157 @@ static struct hash_testvec sha224_tv_template[] = {
|
|||
"\x42\xfd\x10\x92\xaa\x4e\x04\x08"
|
||||
"\x58\xbb\xbb\xe8\xf8\x14\xa7\x0c"
|
||||
"\xef\x3b\xcb\x0e",
|
||||
}, {
|
||||
.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
|
||||
"\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
|
||||
"\xec\x60\xf7\x8e\x02\x99\x30\xc7"
|
||||
"\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
|
||||
"\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
|
||||
"\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
|
||||
"\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
|
||||
"\x03\x77\x0e\xa5\x19\xb0\x47\xde"
|
||||
"\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
|
||||
"\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
|
||||
"\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
|
||||
"\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
|
||||
"\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
|
||||
"\x69\x00\x97\x0b\xa2\x39\xd0\x44"
|
||||
"\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
|
||||
"\x4d\xe4\x58\xef\x86\x1d\x91\x28"
|
||||
"\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
|
||||
"\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
|
||||
"\x80\x17\xae\x22\xb9\x50\xe7\x5b"
|
||||
"\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
|
||||
"\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
|
||||
"\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
|
||||
"\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
|
||||
"\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
|
||||
"\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
|
||||
"\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
|
||||
"\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
|
||||
"\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
|
||||
"\xae\x45\xdc\x50\xe7\x7e\x15\x89"
|
||||
"\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
|
||||
"\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
|
||||
"\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
|
||||
"\x53\xea\x81\x18\x8c\x23\xba\x2e"
|
||||
"\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
|
||||
"\x37\xce\x42\xd9\x70\x07\x7b\x12"
|
||||
"\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
|
||||
"\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
|
||||
"\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
|
||||
"\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
|
||||
"\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
|
||||
"\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
|
||||
"\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
|
||||
"\x81\x18\xaf\x23\xba\x51\xe8\x5c"
|
||||
"\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
|
||||
"\x65\xfc\x70\x07\x9e\x12\xa9\x40"
|
||||
"\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
|
||||
"\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
|
||||
"\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
|
||||
"\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
|
||||
"\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
|
||||
"\xee\x62\xf9\x90\x04\x9b\x32\xc9"
|
||||
"\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
|
||||
"\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
|
||||
"\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
|
||||
"\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
|
||||
"\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
|
||||
"\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
|
||||
"\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
|
||||
"\x38\xcf\x43\xda\x71\x08\x7c\x13"
|
||||
"\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
|
||||
"\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
|
||||
"\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
|
||||
"\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
|
||||
"\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
|
||||
"\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
|
||||
"\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
|
||||
"\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
|
||||
"\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
|
||||
"\x66\xfd\x71\x08\x9f\x13\xaa\x41"
|
||||
"\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
|
||||
"\x27\xbe\x55\xec\x60\xf7\x8e\x02"
|
||||
"\x99\x30\xc7\x3b\xd2\x69\x00\x74"
|
||||
"\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
|
||||
"\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
|
||||
"\xef\x63\xfa\x91\x05\x9c\x33\xca"
|
||||
"\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
|
||||
"\xb0\x47\xde\x52\xe9\x80\x17\x8b"
|
||||
"\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
|
||||
"\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
|
||||
"\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
|
||||
"\x55\xec\x83\x1a\x8e\x25\xbc\x30"
|
||||
"\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
|
||||
"\x39\xd0\x44\xdb\x72\x09\x7d\x14"
|
||||
"\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
|
||||
"\x1d\x91\x28\xbf\x33\xca\x61\xf8"
|
||||
"\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
|
||||
"\xde\x75\x0c\x80\x17\xae\x22\xb9"
|
||||
"\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
|
||||
"\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
|
||||
"\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
|
||||
"\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
|
||||
"\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
|
||||
"\x67\xfe\x72\x09\xa0\x14\xab\x42"
|
||||
"\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
|
||||
"\x28\xbf\x56\xed\x61\xf8\x8f\x03"
|
||||
"\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
|
||||
"\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
|
||||
"\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
|
||||
"\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
|
||||
"\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
|
||||
"\xb1\x48\xdf\x53\xea\x81\x18\x8c"
|
||||
"\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
|
||||
"\x95\x09\xa0\x37\xce\x42\xd9\x70"
|
||||
"\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
|
||||
"\x56\xed\x84\x1b\x8f\x26\xbd\x31"
|
||||
"\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
|
||||
"\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
|
||||
"\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
|
||||
"\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
|
||||
"\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
|
||||
"\xdf\x76\x0d\x81\x18\xaf\x23\xba"
|
||||
"\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
|
||||
"\xc3\x37\xce\x65\xfc\x70\x07\x9e"
|
||||
"\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
|
||||
"\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
|
||||
"\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
|
||||
"\x68\xff\x73\x0a\xa1\x15\xac\x43"
|
||||
"\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
|
||||
"\x29\xc0\x57\xee\x62\xf9\x90\x04"
|
||||
"\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
|
||||
"\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
|
||||
"\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
|
||||
"\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
|
||||
"\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
|
||||
"\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
|
||||
"\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
|
||||
"\x96\x0a\xa1\x38\xcf\x43\xda\x71"
|
||||
"\x08\x7c\x13\xaa\x1e\xb5\x4c",
|
||||
.psize = 1023,
|
||||
.digest = "\x98\x43\x07\x63\x75\xe0\xa7\x1c"
|
||||
"\x78\xb1\x8b\xfd\x04\xf5\x2d\x91"
|
||||
"\x20\x48\xa4\x28\xff\x55\xb1\xd3"
|
||||
"\xe6\xf9\x4f\xcc",
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* SHA256 test vectors from from NIST
|
||||
*/
|
||||
#define SHA256_TEST_VECTORS 3
|
||||
#define SHA256_TEST_VECTORS 5
|
||||
|
||||
static struct hash_testvec sha256_tv_template[] = {
|
||||
{
|
||||
.plaintext = "",
|
||||
.psize = 0,
|
||||
.digest = "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14"
|
||||
"\x9a\xfb\xf4\xc8\x99\x6f\xb9\x24"
|
||||
"\x27\xae\x41\xe4\x64\x9b\x93\x4c"
|
||||
"\xa4\x95\x99\x1b\x78\x52\xb8\x55",
|
||||
}, {
|
||||
.plaintext = "abc",
|
||||
.psize = 3,
|
||||
.digest = "\xba\x78\x16\xbf\x8f\x01\xcf\xea"
|
||||
|
@ -600,16 +886,159 @@ static struct hash_testvec sha256_tv_template[] = {
|
|||
"\x2c\x32\x29\x32\x19\xbb\xfb\xfa"
|
||||
"\xd6\xff\x94\xa3\x72\x91\x85\x66"
|
||||
"\x3b\xa7\x87\x77\x58\xa3\x40\x3a",
|
||||
}, {
|
||||
.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
|
||||
"\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
|
||||
"\xec\x60\xf7\x8e\x02\x99\x30\xc7"
|
||||
"\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
|
||||
"\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
|
||||
"\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
|
||||
"\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
|
||||
"\x03\x77\x0e\xa5\x19\xb0\x47\xde"
|
||||
"\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
|
||||
"\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
|
||||
"\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
|
||||
"\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
|
||||
"\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
|
||||
"\x69\x00\x97\x0b\xa2\x39\xd0\x44"
|
||||
"\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
|
||||
"\x4d\xe4\x58\xef\x86\x1d\x91\x28"
|
||||
"\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
|
||||
"\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
|
||||
"\x80\x17\xae\x22\xb9\x50\xe7\x5b"
|
||||
"\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
|
||||
"\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
|
||||
"\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
|
||||
"\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
|
||||
"\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
|
||||
"\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
|
||||
"\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
|
||||
"\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
|
||||
"\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
|
||||
"\xae\x45\xdc\x50\xe7\x7e\x15\x89"
|
||||
"\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
|
||||
"\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
|
||||
"\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
|
||||
"\x53\xea\x81\x18\x8c\x23\xba\x2e"
|
||||
"\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
|
||||
"\x37\xce\x42\xd9\x70\x07\x7b\x12"
|
||||
"\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
|
||||
"\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
|
||||
"\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
|
||||
"\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
|
||||
"\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
|
||||
"\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
|
||||
"\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
|
||||
"\x81\x18\xaf\x23\xba\x51\xe8\x5c"
|
||||
"\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
|
||||
"\x65\xfc\x70\x07\x9e\x12\xa9\x40"
|
||||
"\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
|
||||
"\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
|
||||
"\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
|
||||
"\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
|
||||
"\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
|
||||
"\xee\x62\xf9\x90\x04\x9b\x32\xc9"
|
||||
"\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
|
||||
"\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
|
||||
"\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
|
||||
"\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
|
||||
"\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
|
||||
"\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
|
||||
"\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
|
||||
"\x38\xcf\x43\xda\x71\x08\x7c\x13"
|
||||
"\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
|
||||
"\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
|
||||
"\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
|
||||
"\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
|
||||
"\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
|
||||
"\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
|
||||
"\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
|
||||
"\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
|
||||
"\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
|
||||
"\x66\xfd\x71\x08\x9f\x13\xaa\x41"
|
||||
"\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
|
||||
"\x27\xbe\x55\xec\x60\xf7\x8e\x02"
|
||||
"\x99\x30\xc7\x3b\xd2\x69\x00\x74"
|
||||
"\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
|
||||
"\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
|
||||
"\xef\x63\xfa\x91\x05\x9c\x33\xca"
|
||||
"\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
|
||||
"\xb0\x47\xde\x52\xe9\x80\x17\x8b"
|
||||
"\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
|
||||
"\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
|
||||
"\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
|
||||
"\x55\xec\x83\x1a\x8e\x25\xbc\x30"
|
||||
"\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
|
||||
"\x39\xd0\x44\xdb\x72\x09\x7d\x14"
|
||||
"\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
|
||||
"\x1d\x91\x28\xbf\x33\xca\x61\xf8"
|
||||
"\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
|
||||
"\xde\x75\x0c\x80\x17\xae\x22\xb9"
|
||||
"\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
|
||||
"\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
|
||||
"\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
|
||||
"\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
|
||||
"\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
|
||||
"\x67\xfe\x72\x09\xa0\x14\xab\x42"
|
||||
"\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
|
||||
"\x28\xbf\x56\xed\x61\xf8\x8f\x03"
|
||||
"\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
|
||||
"\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
|
||||
"\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
|
||||
"\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
|
||||
"\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
|
||||
"\xb1\x48\xdf\x53\xea\x81\x18\x8c"
|
||||
"\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
|
||||
"\x95\x09\xa0\x37\xce\x42\xd9\x70"
|
||||
"\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
|
||||
"\x56\xed\x84\x1b\x8f\x26\xbd\x31"
|
||||
"\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
|
||||
"\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
|
||||
"\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
|
||||
"\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
|
||||
"\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
|
||||
"\xdf\x76\x0d\x81\x18\xaf\x23\xba"
|
||||
"\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
|
||||
"\xc3\x37\xce\x65\xfc\x70\x07\x9e"
|
||||
"\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
|
||||
"\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
|
||||
"\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
|
||||
"\x68\xff\x73\x0a\xa1\x15\xac\x43"
|
||||
"\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
|
||||
"\x29\xc0\x57\xee\x62\xf9\x90\x04"
|
||||
"\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
|
||||
"\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
|
||||
"\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
|
||||
"\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
|
||||
"\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
|
||||
"\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
|
||||
"\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
|
||||
"\x96\x0a\xa1\x38\xcf\x43\xda\x71"
|
||||
"\x08\x7c\x13\xaa\x1e\xb5\x4c",
|
||||
.psize = 1023,
|
||||
.digest = "\xc5\xce\x0c\xca\x01\x4f\x53\x3a"
|
||||
"\x32\x32\x17\xcc\xd4\x6a\x71\xa9"
|
||||
"\xf3\xed\x50\x10\x64\x8e\x06\xbe"
|
||||
"\x9b\x4a\xa6\xbb\x05\x89\x59\x51",
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* SHA384 test vectors from from NIST and kerneli
|
||||
*/
|
||||
#define SHA384_TEST_VECTORS 4
|
||||
#define SHA384_TEST_VECTORS 6
|
||||
|
||||
static struct hash_testvec sha384_tv_template[] = {
|
||||
{
|
||||
.plaintext = "",
|
||||
.psize = 0,
|
||||
.digest = "\x38\xb0\x60\xa7\x51\xac\x96\x38"
|
||||
"\x4c\xd9\x32\x7e\xb1\xb1\xe3\x6a"
|
||||
"\x21\xfd\xb7\x11\x14\xbe\x07\x43"
|
||||
"\x4c\x0c\xc7\xbf\x63\xf6\xe1\xda"
|
||||
"\x27\x4e\xde\xbf\xe7\x6f\x65\xfb"
|
||||
"\xd5\x1a\xd2\xf1\x48\x98\xb9\x5b",
|
||||
}, {
|
||||
.plaintext= "abc",
|
||||
.psize = 3,
|
||||
.digest = "\xcb\x00\x75\x3f\x45\xa3\x5e\x8b"
|
||||
|
@ -649,16 +1078,163 @@ static struct hash_testvec sha384_tv_template[] = {
|
|||
"\xc9\x38\xe2\xd1\x99\xe8\xbe\xa4",
|
||||
.np = 4,
|
||||
.tap = { 26, 26, 26, 26 }
|
||||
},
|
||||
}, {
|
||||
.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
|
||||
"\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
|
||||
"\xec\x60\xf7\x8e\x02\x99\x30\xc7"
|
||||
"\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
|
||||
"\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
|
||||
"\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
|
||||
"\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
|
||||
"\x03\x77\x0e\xa5\x19\xb0\x47\xde"
|
||||
"\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
|
||||
"\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
|
||||
"\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
|
||||
"\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
|
||||
"\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
|
||||
"\x69\x00\x97\x0b\xa2\x39\xd0\x44"
|
||||
"\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
|
||||
"\x4d\xe4\x58\xef\x86\x1d\x91\x28"
|
||||
"\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
|
||||
"\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
|
||||
"\x80\x17\xae\x22\xb9\x50\xe7\x5b"
|
||||
"\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
|
||||
"\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
|
||||
"\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
|
||||
"\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
|
||||
"\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
|
||||
"\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
|
||||
"\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
|
||||
"\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
|
||||
"\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
|
||||
"\xae\x45\xdc\x50\xe7\x7e\x15\x89"
|
||||
"\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
|
||||
"\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
|
||||
"\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
|
||||
"\x53\xea\x81\x18\x8c\x23\xba\x2e"
|
||||
"\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
|
||||
"\x37\xce\x42\xd9\x70\x07\x7b\x12"
|
||||
"\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
|
||||
"\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
|
||||
"\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
|
||||
"\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
|
||||
"\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
|
||||
"\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
|
||||
"\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
|
||||
"\x81\x18\xaf\x23\xba\x51\xe8\x5c"
|
||||
"\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
|
||||
"\x65\xfc\x70\x07\x9e\x12\xa9\x40"
|
||||
"\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
|
||||
"\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
|
||||
"\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
|
||||
"\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
|
||||
"\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
|
||||
"\xee\x62\xf9\x90\x04\x9b\x32\xc9"
|
||||
"\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
|
||||
"\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
|
||||
"\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
|
||||
"\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
|
||||
"\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
|
||||
"\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
|
||||
"\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
|
||||
"\x38\xcf\x43\xda\x71\x08\x7c\x13"
|
||||
"\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
|
||||
"\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
|
||||
"\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
|
||||
"\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
|
||||
"\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
|
||||
"\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
|
||||
"\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
|
||||
"\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
|
||||
"\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
|
||||
"\x66\xfd\x71\x08\x9f\x13\xaa\x41"
|
||||
"\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
|
||||
"\x27\xbe\x55\xec\x60\xf7\x8e\x02"
|
||||
"\x99\x30\xc7\x3b\xd2\x69\x00\x74"
|
||||
"\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
|
||||
"\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
|
||||
"\xef\x63\xfa\x91\x05\x9c\x33\xca"
|
||||
"\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
|
||||
"\xb0\x47\xde\x52\xe9\x80\x17\x8b"
|
||||
"\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
|
||||
"\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
|
||||
"\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
|
||||
"\x55\xec\x83\x1a\x8e\x25\xbc\x30"
|
||||
"\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
|
||||
"\x39\xd0\x44\xdb\x72\x09\x7d\x14"
|
||||
"\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
|
||||
"\x1d\x91\x28\xbf\x33\xca\x61\xf8"
|
||||
"\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
|
||||
"\xde\x75\x0c\x80\x17\xae\x22\xb9"
|
||||
"\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
|
||||
"\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
|
||||
"\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
|
||||
"\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
|
||||
"\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
|
||||
"\x67\xfe\x72\x09\xa0\x14\xab\x42"
|
||||
"\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
|
||||
"\x28\xbf\x56\xed\x61\xf8\x8f\x03"
|
||||
"\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
|
||||
"\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
|
||||
"\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
|
||||
"\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
|
||||
"\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
|
||||
"\xb1\x48\xdf\x53\xea\x81\x18\x8c"
|
||||
"\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
|
||||
"\x95\x09\xa0\x37\xce\x42\xd9\x70"
|
||||
"\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
|
||||
"\x56\xed\x84\x1b\x8f\x26\xbd\x31"
|
||||
"\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
|
||||
"\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
|
||||
"\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
|
||||
"\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
|
||||
"\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
|
||||
"\xdf\x76\x0d\x81\x18\xaf\x23\xba"
|
||||
"\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
|
||||
"\xc3\x37\xce\x65\xfc\x70\x07\x9e"
|
||||
"\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
|
||||
"\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
|
||||
"\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
|
||||
"\x68\xff\x73\x0a\xa1\x15\xac\x43"
|
||||
"\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
|
||||
"\x29\xc0\x57\xee\x62\xf9\x90\x04"
|
||||
"\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
|
||||
"\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
|
||||
"\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
|
||||
"\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
|
||||
"\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
|
||||
"\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
|
||||
"\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
|
||||
"\x96\x0a\xa1\x38\xcf\x43\xda\x71"
|
||||
"\x08\x7c\x13\xaa\x1e\xb5\x4c",
|
||||
.psize = 1023,
|
||||
.digest = "\x4d\x97\x23\xc8\xea\x7a\x7c\x15"
|
||||
"\xb8\xff\x97\x9c\xf5\x13\x4f\x31"
|
||||
"\xde\x67\xf7\x24\x73\xcd\x70\x1c"
|
||||
"\x03\x4a\xba\x8a\x87\x49\xfe\xdc"
|
||||
"\x75\x29\x62\x83\xae\x3f\x17\xab"
|
||||
"\xfd\x10\x4d\x8e\x17\x1c\x1f\xca",
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* SHA512 test vectors from from NIST and kerneli
|
||||
*/
|
||||
#define SHA512_TEST_VECTORS 4
|
||||
#define SHA512_TEST_VECTORS 6
|
||||
|
||||
static struct hash_testvec sha512_tv_template[] = {
|
||||
{
|
||||
.plaintext = "",
|
||||
.psize = 0,
|
||||
.digest = "\xcf\x83\xe1\x35\x7e\xef\xb8\xbd"
|
||||
"\xf1\x54\x28\x50\xd6\x6d\x80\x07"
|
||||
"\xd6\x20\xe4\x05\x0b\x57\x15\xdc"
|
||||
"\x83\xf4\xa9\x21\xd3\x6c\xe9\xce"
|
||||
"\x47\xd0\xd1\x3c\x5d\x85\xf2\xb0"
|
||||
"\xff\x83\x18\xd2\x87\x7e\xec\x2f"
|
||||
"\x63\xb9\x31\xbd\x47\x41\x7a\x81"
|
||||
"\xa5\x38\x32\x7a\xf9\x27\xda\x3e",
|
||||
}, {
|
||||
.plaintext = "abc",
|
||||
.psize = 3,
|
||||
.digest = "\xdd\xaf\x35\xa1\x93\x61\x7a\xba"
|
||||
|
@ -706,7 +1282,145 @@ static struct hash_testvec sha512_tv_template[] = {
|
|||
"\xed\xb4\x19\x87\x23\x28\x50\xc9",
|
||||
.np = 4,
|
||||
.tap = { 26, 26, 26, 26 }
|
||||
},
|
||||
}, {
|
||||
.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
|
||||
"\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
|
||||
"\xec\x60\xf7\x8e\x02\x99\x30\xc7"
|
||||
"\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
|
||||
"\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
|
||||
"\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
|
||||
"\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
|
||||
"\x03\x77\x0e\xa5\x19\xb0\x47\xde"
|
||||
"\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
|
||||
"\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
|
||||
"\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
|
||||
"\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
|
||||
"\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
|
||||
"\x69\x00\x97\x0b\xa2\x39\xd0\x44"
|
||||
"\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
|
||||
"\x4d\xe4\x58\xef\x86\x1d\x91\x28"
|
||||
"\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
|
||||
"\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
|
||||
"\x80\x17\xae\x22\xb9\x50\xe7\x5b"
|
||||
"\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
|
||||
"\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
|
||||
"\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
|
||||
"\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
|
||||
"\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
|
||||
"\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
|
||||
"\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
|
||||
"\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
|
||||
"\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
|
||||
"\xae\x45\xdc\x50\xe7\x7e\x15\x89"
|
||||
"\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
|
||||
"\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
|
||||
"\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
|
||||
"\x53\xea\x81\x18\x8c\x23\xba\x2e"
|
||||
"\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
|
||||
"\x37\xce\x42\xd9\x70\x07\x7b\x12"
|
||||
"\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
|
||||
"\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
|
||||
"\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
|
||||
"\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
|
||||
"\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
|
||||
"\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
|
||||
"\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
|
||||
"\x81\x18\xaf\x23\xba\x51\xe8\x5c"
|
||||
"\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
|
||||
"\x65\xfc\x70\x07\x9e\x12\xa9\x40"
|
||||
"\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
|
||||
"\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
|
||||
"\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
|
||||
"\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
|
||||
"\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
|
||||
"\xee\x62\xf9\x90\x04\x9b\x32\xc9"
|
||||
"\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
|
||||
"\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
|
||||
"\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
|
||||
"\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
|
||||
"\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
|
||||
"\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
|
||||
"\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
|
||||
"\x38\xcf\x43\xda\x71\x08\x7c\x13"
|
||||
"\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
|
||||
"\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
|
||||
"\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
|
||||
"\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
|
||||
"\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
|
||||
"\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
|
||||
"\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
|
||||
"\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
|
||||
"\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
|
||||
"\x66\xfd\x71\x08\x9f\x13\xaa\x41"
|
||||
"\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
|
||||
"\x27\xbe\x55\xec\x60\xf7\x8e\x02"
|
||||
"\x99\x30\xc7\x3b\xd2\x69\x00\x74"
|
||||
"\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
|
||||
"\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
|
||||
"\xef\x63\xfa\x91\x05\x9c\x33\xca"
|
||||
"\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
|
||||
"\xb0\x47\xde\x52\xe9\x80\x17\x8b"
|
||||
"\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
|
||||
"\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
|
||||
"\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
|
||||
"\x55\xec\x83\x1a\x8e\x25\xbc\x30"
|
||||
"\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
|
||||
"\x39\xd0\x44\xdb\x72\x09\x7d\x14"
|
||||
"\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
|
||||
"\x1d\x91\x28\xbf\x33\xca\x61\xf8"
|
||||
"\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
|
||||
"\xde\x75\x0c\x80\x17\xae\x22\xb9"
|
||||
"\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
|
||||
"\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
|
||||
"\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
|
||||
"\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
|
||||
"\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
|
||||
"\x67\xfe\x72\x09\xa0\x14\xab\x42"
|
||||
"\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
|
||||
"\x28\xbf\x56\xed\x61\xf8\x8f\x03"
|
||||
"\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
|
||||
"\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
|
||||
"\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
|
||||
"\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
|
||||
"\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
|
||||
"\xb1\x48\xdf\x53\xea\x81\x18\x8c"
|
||||
"\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
|
||||
"\x95\x09\xa0\x37\xce\x42\xd9\x70"
|
||||
"\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
|
||||
"\x56\xed\x84\x1b\x8f\x26\xbd\x31"
|
||||
"\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
|
||||
"\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
|
||||
"\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
|
||||
"\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
|
||||
"\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
|
||||
"\xdf\x76\x0d\x81\x18\xaf\x23\xba"
|
||||
"\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
|
||||
"\xc3\x37\xce\x65\xfc\x70\x07\x9e"
|
||||
"\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
|
||||
"\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
|
||||
"\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
|
||||
"\x68\xff\x73\x0a\xa1\x15\xac\x43"
|
||||
"\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
|
||||
"\x29\xc0\x57\xee\x62\xf9\x90\x04"
|
||||
"\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
|
||||
"\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
|
||||
"\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
|
||||
"\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
|
||||
"\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
|
||||
"\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
|
||||
"\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
|
||||
"\x96\x0a\xa1\x38\xcf\x43\xda\x71"
|
||||
"\x08\x7c\x13\xaa\x1e\xb5\x4c",
|
||||
.psize = 1023,
|
||||
.digest = "\x76\xc9\xd4\x91\x7a\x5f\x0f\xaa"
|
||||
"\x13\x39\xf3\x01\x7a\xfa\xe5\x41"
|
||||
"\x5f\x0b\xf8\xeb\x32\xfc\xbf\xb0"
|
||||
"\xfa\x8c\xcd\x17\x83\xe2\xfa\xeb"
|
||||
"\x1c\x19\xde\xe2\x75\xdc\x34\x64"
|
||||
"\x5f\x35\x9c\x61\x2f\x10\xf9\xec"
|
||||
"\x59\xca\x9d\xcc\x25\x0c\x43\xba"
|
||||
"\x85\xa8\xf8\xfe\xb5\x24\xb2\xee",
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue