mirror of
https://github.com/cryb-to/cryb-to.git
synced 2024-11-25 15:15:42 +00:00
Introduce t_zero (a 256-byte array of zeroes) and t_seq8 (a 256-byte array
counting up from zero). Use them to simplify the HMAC-SHA1 test vectors.
This commit is contained in:
parent
b3a718a7ff
commit
8e786c5a98
3 changed files with 13 additions and 42 deletions
|
@ -6,7 +6,7 @@ noinst_HEADERS = t.h
|
|||
|
||||
# Common support code
|
||||
check_LTLIBRARIES = libt.la
|
||||
libt_la_SOURCES = t_main.c t_file.c
|
||||
libt_la_SOURCES = t_main.c t_file.c t_const.c
|
||||
|
||||
# Link in the test driver and the full cryb library
|
||||
LDADD = $(builddir)/libt.la \
|
||||
|
|
6
t/t.h
6
t/t.h
|
@ -79,4 +79,10 @@ void t_frewind(struct t_file *);
|
|||
void t_fclose(struct t_file *);
|
||||
void t_fcloseall(void);
|
||||
|
||||
/*
|
||||
* Useful constants
|
||||
*/
|
||||
extern const uint8_t t_zero[256];
|
||||
extern const uint8_t t_seq8[256];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -79,14 +79,14 @@ t_hmac_sha1_complete(const void *key, size_t keylen,
|
|||
*/
|
||||
static struct t_vector {
|
||||
const char *desc;
|
||||
uint8_t key[100];
|
||||
const uint8_t *key;
|
||||
size_t keylen;
|
||||
const char *msg;
|
||||
const uint8_t mac[HMAC_SHA1_MAC_LEN];
|
||||
} t_hmac_sha1_vectors[] = {
|
||||
{
|
||||
"zero-length key, zero-length message",
|
||||
{ },
|
||||
t_zero,
|
||||
0,
|
||||
"",
|
||||
{
|
||||
|
@ -97,16 +97,7 @@ static struct t_vector {
|
|||
},
|
||||
{
|
||||
"NIST CSRC example 1 (64-byte key)",
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
|
||||
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
|
||||
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
|
||||
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
|
||||
},
|
||||
t_seq8,
|
||||
64,
|
||||
"Sample message for keylen=blocklen",
|
||||
{
|
||||
|
@ -117,11 +108,7 @@ static struct t_vector {
|
|||
},
|
||||
{
|
||||
"NIST CSRC example 2 (20-byte key)",
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x10, 0x11, 0x12, 0x13,
|
||||
},
|
||||
t_seq8,
|
||||
20,
|
||||
"Sample message for keylen<blocklen",
|
||||
{
|
||||
|
@ -132,21 +119,7 @@ static struct t_vector {
|
|||
},
|
||||
{
|
||||
"NIST CSRC example 3 (100-byte key)",
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
|
||||
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
|
||||
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
|
||||
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
|
||||
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
|
||||
0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
|
||||
0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
|
||||
0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
|
||||
0x60, 0x61, 0x62, 0x63,
|
||||
},
|
||||
t_seq8,
|
||||
100,
|
||||
/* yes, the text should say keylen>blocklen */
|
||||
"Sample message for keylen=blocklen",
|
||||
|
@ -158,15 +131,7 @@ static struct t_vector {
|
|||
},
|
||||
{
|
||||
"NIST CSRC example 4 (49-byte key)",
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
|
||||
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
|
||||
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
|
||||
0x30,
|
||||
},
|
||||
t_seq8,
|
||||
49,
|
||||
"Sample message for keylen<blocklen, with truncated tag",
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue