Message ID | 1430730017-3712-2-git-send-email-ard.biesheuvel@linaro.org |
---|---|
State | Accepted |
Commit | ebb3472f5cc9d4cffe3968dfd816978ab2dd06d6 |
Headers | show |
On 4 May 2015 at 10:00, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote: > This adds a couple of test cases for CRC32 (not CRC32c) to > ensure that the generic and arch specific implementations > are in sync. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Steve Capper <steve.capper@linaro.org> > --- > crypto/testmgr.c | 9 ++ > crypto/testmgr.h | 434 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 443 insertions(+) > > diff --git a/crypto/testmgr.c b/crypto/testmgr.c > index f9bce3d7ee7f..2ad2a0e442ce 100644 > --- a/crypto/testmgr.c > +++ b/crypto/testmgr.c > @@ -2318,6 +2318,15 @@ static const struct alg_test_desc alg_test_descs[] = { > .alg = "compress_null", > .test = alg_test_null, > }, { > + .alg = "crc32", > + .test = alg_test_hash, > + .suite = { > + .hash = { > + .vecs = crc32_tv_template, > + .count = CRC32_TEST_VECTORS > + } > + } > + }, { > .alg = "crc32c", > .test = alg_test_crc32c, > .fips_allowed = 1, > diff --git a/crypto/testmgr.h b/crypto/testmgr.h > index 62e2485bb428..dd4ede5c833c 100644 > --- a/crypto/testmgr.h > +++ b/crypto/testmgr.h > @@ -28946,6 +28946,440 @@ static struct hash_testvec michael_mic_tv_template[] = { > }; > > /* > + * CRC32 test vectors > + */ > +#define CRC32_TEST_VECTORS 14 > + > +static struct hash_testvec crc32_tv_template[] = { > + { > + .key = "\x87\xa9\xcb\xed", > + .ksize = 4, > + .psize = 0, > + .digest = "\x87\xa9\xcb\xed", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" > + "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" > + "\x11\x12\x13\x14\x15\x16\x17\x18" > + "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" > + "\x21\x22\x23\x24\x25\x26\x27\x28", > + .psize = 40, > + .digest = "\x3a\xdf\x4b\xb0", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" > + "\x31\x32\x33\x34\x35\x36\x37\x38" > + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" > + "\x41\x42\x43\x44\x45\x46\x47\x48" > + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", > + .psize = 40, > + .digest = "\xa9\x7a\x7f\x7b", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" > + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" > + "\x61\x62\x63\x64\x65\x66\x67\x68" > + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" > + "\x71\x72\x73\x74\x75\x76\x77\x78", > + .psize = 40, > + .digest = "\xba\xd3\xf8\x1c", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" > + "\x81\x82\x83\x84\x85\x86\x87\x88" > + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" > + "\x91\x92\x93\x94\x95\x96\x97\x98" > + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", > + .psize = 40, > + .digest = "\xa8\xa9\xc2\x02", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" > + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" > + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" > + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" > + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", > + .psize = 40, > + .digest = "\x27\xf0\x57\xe2", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" > + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" > + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" > + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" > + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", > + .psize = 40, > + .digest = "\x49\x78\x10\x08", > + }, > + { > + .key = "\x80\xea\xd3\xf1", > + .ksize = 4, > + .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" > + "\x31\x32\x33\x34\x35\x36\x37\x38" > + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" > + "\x41\x42\x43\x44\x45\x46\x47\x48" > + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", > + .psize = 40, > + .digest = "\x9a\xb1\xdc\xf0", > + }, > + { > + .key = "\xf3\x4a\x1d\x5d", > + .ksize = 4, > + .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" > + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" > + "\x61\x62\x63\x64\x65\x66\x67\x68" > + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" > + "\x71\x72\x73\x74\x75\x76\x77\x78", > + .psize = 40, > + .digest = "\xb4\x97\xcc\xd4", > + }, > + { > + .key = "\x2e\x80\x04\x59", > + .ksize = 4, > + .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" > + "\x81\x82\x83\x84\x85\x86\x87\x88" > + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" > + "\x91\x92\x93\x94\x95\x96\x97\x98" > + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", > + .psize = 40, > + .digest = "\x67\x9b\xfa\x79", > + }, > + { > + .key = "\xa6\xcc\x19\x85", > + .ksize = 4, > + .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" > + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" > + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" > + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" > + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", > + .psize = 40, > + .digest = "\x24\xb5\x16\xef", > + }, > + { > + .key = "\x41\xfc\xfe\x2d", > + .ksize = 4, > + .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" > + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" > + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" > + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" > + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", > + .psize = 40, > + .digest = "\x15\x94\x80\x39", > + }, > + { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" > + "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" > + "\x11\x12\x13\x14\x15\x16\x17\x18" > + "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" > + "\x21\x22\x23\x24\x25\x26\x27\x28" > + "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" > + "\x31\x32\x33\x34\x35\x36\x37\x38" > + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" > + "\x41\x42\x43\x44\x45\x46\x47\x48" > + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50" > + "\x51\x52\x53\x54\x55\x56\x57\x58" > + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" > + "\x61\x62\x63\x64\x65\x66\x67\x68" > + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" > + "\x71\x72\x73\x74\x75\x76\x77\x78" > + "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" > + "\x81\x82\x83\x84\x85\x86\x87\x88" > + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" > + "\x91\x92\x93\x94\x95\x96\x97\x98" > + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0" > + "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" > + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" > + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" > + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" > + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8" > + "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" > + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" > + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" > + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" > + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", > + .psize = 240, > + .digest = "\x6c\xc6\x56\xde", > + .np = 2, > + .tap = { 31, 209 } > + }, { > + .key = "\xff\xff\xff\xff", > + .ksize = 4, > + .plaintext = "\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" > + "\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\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\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", > + .psize = 2048, > + .digest = "\xfb\x3a\x7a\xda", > + } > +}; > + > +/* > * CRC32C test vectors > */ > #define CRC32C_TEST_VECTORS 15 > -- > 1.9.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/crypto/testmgr.c b/crypto/testmgr.c index f9bce3d7ee7f..2ad2a0e442ce 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -2318,6 +2318,15 @@ static const struct alg_test_desc alg_test_descs[] = { .alg = "compress_null", .test = alg_test_null, }, { + .alg = "crc32", + .test = alg_test_hash, + .suite = { + .hash = { + .vecs = crc32_tv_template, + .count = CRC32_TEST_VECTORS + } + } + }, { .alg = "crc32c", .test = alg_test_crc32c, .fips_allowed = 1, diff --git a/crypto/testmgr.h b/crypto/testmgr.h index 62e2485bb428..dd4ede5c833c 100644 --- a/crypto/testmgr.h +++ b/crypto/testmgr.h @@ -28946,6 +28946,440 @@ static struct hash_testvec michael_mic_tv_template[] = { }; /* + * CRC32 test vectors + */ +#define CRC32_TEST_VECTORS 14 + +static struct hash_testvec crc32_tv_template[] = { + { + .key = "\x87\xa9\xcb\xed", + .ksize = 4, + .psize = 0, + .digest = "\x87\xa9\xcb\xed", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" + "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" + "\x11\x12\x13\x14\x15\x16\x17\x18" + "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" + "\x21\x22\x23\x24\x25\x26\x27\x28", + .psize = 40, + .digest = "\x3a\xdf\x4b\xb0", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" + "\x31\x32\x33\x34\x35\x36\x37\x38" + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" + "\x41\x42\x43\x44\x45\x46\x47\x48" + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", + .psize = 40, + .digest = "\xa9\x7a\x7f\x7b", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" + "\x61\x62\x63\x64\x65\x66\x67\x68" + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" + "\x71\x72\x73\x74\x75\x76\x77\x78", + .psize = 40, + .digest = "\xba\xd3\xf8\x1c", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" + "\x81\x82\x83\x84\x85\x86\x87\x88" + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" + "\x91\x92\x93\x94\x95\x96\x97\x98" + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", + .psize = 40, + .digest = "\xa8\xa9\xc2\x02", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", + .psize = 40, + .digest = "\x27\xf0\x57\xe2", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", + .psize = 40, + .digest = "\x49\x78\x10\x08", + }, + { + .key = "\x80\xea\xd3\xf1", + .ksize = 4, + .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" + "\x31\x32\x33\x34\x35\x36\x37\x38" + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" + "\x41\x42\x43\x44\x45\x46\x47\x48" + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", + .psize = 40, + .digest = "\x9a\xb1\xdc\xf0", + }, + { + .key = "\xf3\x4a\x1d\x5d", + .ksize = 4, + .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" + "\x61\x62\x63\x64\x65\x66\x67\x68" + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" + "\x71\x72\x73\x74\x75\x76\x77\x78", + .psize = 40, + .digest = "\xb4\x97\xcc\xd4", + }, + { + .key = "\x2e\x80\x04\x59", + .ksize = 4, + .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" + "\x81\x82\x83\x84\x85\x86\x87\x88" + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" + "\x91\x92\x93\x94\x95\x96\x97\x98" + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", + .psize = 40, + .digest = "\x67\x9b\xfa\x79", + }, + { + .key = "\xa6\xcc\x19\x85", + .ksize = 4, + .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", + .psize = 40, + .digest = "\x24\xb5\x16\xef", + }, + { + .key = "\x41\xfc\xfe\x2d", + .ksize = 4, + .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", + .psize = 40, + .digest = "\x15\x94\x80\x39", + }, + { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" + "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" + "\x11\x12\x13\x14\x15\x16\x17\x18" + "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" + "\x21\x22\x23\x24\x25\x26\x27\x28" + "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" + "\x31\x32\x33\x34\x35\x36\x37\x38" + "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" + "\x41\x42\x43\x44\x45\x46\x47\x48" + "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50" + "\x51\x52\x53\x54\x55\x56\x57\x58" + "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" + "\x61\x62\x63\x64\x65\x66\x67\x68" + "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" + "\x71\x72\x73\x74\x75\x76\x77\x78" + "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" + "\x81\x82\x83\x84\x85\x86\x87\x88" + "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" + "\x91\x92\x93\x94\x95\x96\x97\x98" + "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0" + "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" + "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" + "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" + "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" + "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8" + "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" + "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" + "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" + "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" + "\xe9\xea\xeb\xec\xed\xee\xef\xf0", + .psize = 240, + .digest = "\x6c\xc6\x56\xde", + .np = 2, + .tap = { 31, 209 } + }, { + .key = "\xff\xff\xff\xff", + .ksize = 4, + .plaintext = "\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" + "\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\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\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", + .psize = 2048, + .digest = "\xfb\x3a\x7a\xda", + } +}; + +/* * CRC32C test vectors */ #define CRC32C_TEST_VECTORS 15
This adds a couple of test cases for CRC32 (not CRC32c) to ensure that the generic and arch specific implementations are in sync. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- crypto/testmgr.c | 9 ++ crypto/testmgr.h | 434 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 443 insertions(+)