mirror of https://gitee.com/openkylin/linux.git
crypto: testmgr - add test cases for SHA-1, SHA-224, SHA-256 and AES-CCM
This adds test cases for SHA-1, SHA-224, SHA-256 and AES-CCM with an input size that is an exact multiple of the block size. The reason is that some implementations use a different code path for these cases. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
7ded6e3d1b
commit
4585988f83
|
@ -487,7 +487,7 @@ 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 3
|
||||
#define SHA1_TEST_VECTORS 4
|
||||
|
||||
static struct hash_testvec sha1_tv_template[] = {
|
||||
{
|
||||
|
@ -529,6 +529,11 @@ static struct hash_testvec sha1_tv_template[] = {
|
|||
"\x45\x9c\x02\xb6\x9b\x4a\xa8\xf5\x82\x17",
|
||||
.np = 4,
|
||||
.tap = { 63, 64, 31, 5 }
|
||||
}, {
|
||||
.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
|
||||
.psize = 64,
|
||||
.digest = "\xc8\x71\xf6\x9a\x63\xcc\xa9\x84\x84\x82"
|
||||
"\x64\xe7\x79\x95\x5d\xd7\x19\x41\x7c\x91",
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -536,7 +541,7 @@ static struct hash_testvec sha1_tv_template[] = {
|
|||
/*
|
||||
* SHA224 test vectors from from FIPS PUB 180-2
|
||||
*/
|
||||
#define SHA224_TEST_VECTORS 2
|
||||
#define SHA224_TEST_VECTORS 3
|
||||
|
||||
static struct hash_testvec sha224_tv_template[] = {
|
||||
{
|
||||
|
@ -556,13 +561,20 @@ static struct hash_testvec sha224_tv_template[] = {
|
|||
"\x52\x52\x25\x25",
|
||||
.np = 2,
|
||||
.tap = { 28, 28 }
|
||||
}, {
|
||||
.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
|
||||
.psize = 64,
|
||||
.digest = "\xc4\xdb\x2b\x3a\x58\xc3\x99\x01"
|
||||
"\x42\xfd\x10\x92\xaa\x4e\x04\x08"
|
||||
"\x58\xbb\xbb\xe8\xf8\x14\xa7\x0c"
|
||||
"\xef\x3b\xcb\x0e",
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* SHA256 test vectors from from NIST
|
||||
*/
|
||||
#define SHA256_TEST_VECTORS 2
|
||||
#define SHA256_TEST_VECTORS 3
|
||||
|
||||
static struct hash_testvec sha256_tv_template[] = {
|
||||
{
|
||||
|
@ -581,7 +593,14 @@ static struct hash_testvec sha256_tv_template[] = {
|
|||
"\xf6\xec\xed\xd4\x19\xdb\x06\xc1",
|
||||
.np = 2,
|
||||
.tap = { 28, 28 }
|
||||
},
|
||||
}, {
|
||||
.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
|
||||
.psize = 64,
|
||||
.digest = "\xb5\xfe\xad\x56\x7d\xff\xcb\xa4"
|
||||
"\x2c\x32\x29\x32\x19\xbb\xfb\xfa"
|
||||
"\xd6\xff\x94\xa3\x72\x91\x85\x66"
|
||||
"\x3b\xa7\x87\x77\x58\xa3\x40\x3a",
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -12844,7 +12863,7 @@ static struct cipher_testvec cast6_xts_dec_tv_template[] = {
|
|||
#define AES_GCM_4106_DEC_TEST_VECTORS 7
|
||||
#define AES_GCM_4543_ENC_TEST_VECTORS 1
|
||||
#define AES_GCM_4543_DEC_TEST_VECTORS 2
|
||||
#define AES_CCM_ENC_TEST_VECTORS 7
|
||||
#define AES_CCM_ENC_TEST_VECTORS 8
|
||||
#define AES_CCM_DEC_TEST_VECTORS 7
|
||||
#define AES_CCM_4309_ENC_TEST_VECTORS 7
|
||||
#define AES_CCM_4309_DEC_TEST_VECTORS 10
|
||||
|
@ -18746,7 +18765,29 @@ static struct aead_testvec aes_ccm_enc_tv_template[] = {
|
|||
"\x7c\xf9\xbe\xc2\x40\x88\x97\xc6"
|
||||
"\xba",
|
||||
.rlen = 33,
|
||||
},
|
||||
}, {
|
||||
/*
|
||||
* This is the same vector as aes_ccm_rfc4309_enc_tv_template[0]
|
||||
* below but rewritten to use the ccm algorithm directly.
|
||||
*/
|
||||
.key = "\x83\xac\x54\x66\xc2\xeb\xe5\x05"
|
||||
"\x2e\x01\xd1\xfc\x5d\x82\x66\x2e",
|
||||
.klen = 16,
|
||||
.iv = "\x03\x96\xac\x59\x30\x07\xa1\xe2\xa2\xc7\x55\x24\0\0\0\0",
|
||||
.alen = 0,
|
||||
.input = "\x19\xc8\x81\xf6\xe9\x86\xff\x93"
|
||||
"\x0b\x78\x67\xe5\xbb\xb7\xfc\x6e"
|
||||
"\x83\x77\xb3\xa6\x0c\x8c\x9f\x9c"
|
||||
"\x35\x2e\xad\xe0\x62\xf9\x91\xa1",
|
||||
.ilen = 32,
|
||||
.result = "\xab\x6f\xe1\x69\x1d\x19\x99\xa8"
|
||||
"\x92\xa0\xc4\x6f\x7e\xe2\x8b\xb1"
|
||||
"\x70\xbb\x8c\xa6\x4c\x6e\x97\x8a"
|
||||
"\x57\x2b\xbe\x5d\x98\xa6\xb1\x32"
|
||||
"\xda\x24\xea\xd9\xa1\x39\x98\xfd"
|
||||
"\xa4\xbe\xd9\xf2\x1a\x6d\x22\xa8",
|
||||
.rlen = 48,
|
||||
}
|
||||
};
|
||||
|
||||
static struct aead_testvec aes_ccm_dec_tv_template[] = {
|
||||
|
|
Loading…
Reference in New Issue