mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 06:29:23 +01:00
unit: Test aes_wrap and aed_unwrap in test-crypto
This commit is contained in:
parent
6d6fa57550
commit
ef652642b5
@ -335,6 +335,36 @@ static void ptk_test(const void *data)
|
||||
l_free(ptk);
|
||||
}
|
||||
|
||||
static void aes_wrap_test(const void *data)
|
||||
{
|
||||
/* RFC3394 section 4.1 test vector */
|
||||
static const uint8_t kek[16] = {
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
};
|
||||
static const uint8_t key_data[16] = {
|
||||
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
|
||||
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
|
||||
};
|
||||
static const uint8_t ciphertext[24] = {
|
||||
0x1f, 0xa6, 0x8b, 0x0a, 0x81, 0x12, 0xb4, 0x47,
|
||||
0xae, 0xf3, 0x4b, 0xd8, 0xfb, 0x5a, 0x7b, 0x82,
|
||||
0x9d, 0x3e, 0x86, 0x23, 0x71, 0xd2, 0xcf, 0xe5,
|
||||
};
|
||||
uint8_t out[24];
|
||||
|
||||
memset(out, 0, 24);
|
||||
|
||||
assert(aes_wrap(kek, key_data, sizeof(key_data), out));
|
||||
assert(!memcmp(out, ciphertext, sizeof(ciphertext)));
|
||||
|
||||
out[10] = 10;
|
||||
assert(!aes_unwrap(kek, out, sizeof(ciphertext), out));
|
||||
|
||||
assert(aes_unwrap(kek, ciphertext, sizeof(ciphertext), out));
|
||||
assert(!memcmp(out, key_data, sizeof(key_data)));
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
l_test_init(&argc, &argv);
|
||||
@ -360,6 +390,9 @@ int main(int argc, char *argv[])
|
||||
l_test_add("/PTK Derivation/PTK Test Case 4",
|
||||
ptk_test, &ptk_test_4);
|
||||
|
||||
l_test_add("/AES Key-wrap/Wrap & unwrap",
|
||||
aes_wrap_test, NULL);
|
||||
|
||||
done:
|
||||
return l_test_run();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user