Skip to content

Commit

Permalink
test-crypto: Add /crypto/sih test
Browse files Browse the repository at this point in the history
This adds test /crypto/sih which validas the implementation of
bt_crypto_sih using the sample data from CSIS[1] spec:

  A.1. sih Resolvable Set Identifier hash function

> unit/test-crypto -s "/crypto/sih"
  K:
    cd cc 72 dd 86 8c cd ce 22 fd a1 21 09 7d 7d 45  ..r....."..!.}}E
  R:
    63 f5 69                                         c.i
  Expected:
    da 48 19                                         .H.
  Result:
    da 48 19                                         .H.

[1] https://www.bluetooth.com/specifications/csis-1-0-1/
  • Loading branch information
Vudentz committed Dec 22, 2022
1 parent 5abd991 commit 09293fd
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions unit/test-crypto.c
Expand Up @@ -311,6 +311,40 @@ static void test_verify_sign(gconstpointer data)
tester_test_passed();
}

static void test_sih(const void *data)
{
const uint8_t k[16] = {
0xcd, 0xcc, 0x72, 0xdd, 0x86, 0x8c, 0xcd, 0xce,
0x22, 0xfd, 0xa1, 0x21, 0x09, 0x7d, 0x7d, 0x45 };
const uint8_t r[3] = { 0x63, 0xf5, 0x69 };
const uint8_t exp[3] = { 0xda, 0x48, 0x19 };
uint8_t hash[3];

tester_debug("K:");
util_hexdump(' ', k, 16, print_debug, NULL);

tester_debug("R:");
util_hexdump(' ', r, 3, print_debug, NULL);

if (!bt_crypto_sih(crypto, k, r, hash)) {
tester_test_failed();
return;
}

tester_debug("Expected:");
util_hexdump(' ', exp, 3, print_debug, NULL);

tester_debug("Result:");
util_hexdump(' ', hash, 3, print_debug, NULL);

if (memcmp(hash, exp, 3)) {
tester_test_failed();
return;
}

tester_test_passed();
}

int main(int argc, char *argv[])
{
int exit_status;
Expand All @@ -337,6 +371,7 @@ int main(int argc, char *argv[])
NULL, test_verify_sign, NULL);
tester_add("/crypto/verify_sign_too_short", &verify_sign_too_short_data,
NULL, test_verify_sign, NULL);
tester_add("/crypto/sih", NULL, NULL, test_sih, NULL);

exit_status = tester_run();

Expand Down

0 comments on commit 09293fd

Please sign in to comment.