Topic

FAQ
Login Register
TLSR8258 ECC 生成的key全部为0
Feb 15, 2022 14:32

/

A

/A

您好,我在测试ecc生成key时,出现生成的key全部为0,并且生成函数也并未报错。请问是什么问题?以下是截图及测试代码


是在_attribute_no_inline_ void user_init_normal(void) 的最后调用的测试函数




static int ecc_rng(uint8_t *dest, unsignedsize)
{
    generateRandomNum((uint16_t)size, dest);
    return0;
}

void test_key_gen(void)
{
    uint8_t pri1[64];
    uint8_t pub1[64];
    uint8_t pri2[64];
    uint8_t pub2[64];
    uint8_t secret[32];
    uint8_t is_success = 0;

    memset(pri1, 0, sizeof(pri1));
    memset(pub1, 0, sizeof(pub1));
    memset(pri2, 0, sizeof(pri2));
    memset(pub2, 0, sizeof(pub2));
    memset(secret, 0, sizeof(secret));

    swECC_set_rng(uecc_rng);

    is_success = swECC_make_key(pub1, pri1, ECC_use_secp256r1);

    printf("private key: %d\n", is_success);
    array_printf(pri1, sizeof(pri1));
    printf("public key:\n");
    array_printf(pub1, sizeof(pub1));

    is_success = swECC_make_key(pub2, pri2, ECC_use_secp256r1);

    printf("private key 2: %d:\n", is_success);
    array_printf(pri2, sizeof(pri2));
    printf("public key 2:\n");
    array_printf(pub2, sizeof(pub2));

    is_success = swECC_shared_secret(pub2, pri1, secret, ECC_use_secp256r1);

    printf("secret: %d\n");
    array_printf(secret, sizeof(secret));
}





TL_bloom5 Feb 16, 2022 11:03
0
/A

swECC_set_rng(uecc_rng);
这个里面直接设置你代码顶部的ecc_rng

6 replies
TL_bloom5 Feb 16, 2022 11:03
0
/A

swECC_set_rng(uecc_rng);
这个里面直接设置你代码顶部的ecc_rng

TL_bloom5 Feb 16, 2022 15:19
0
/A

你再回去看看代码吧,swECC_make_key这个函数SDK里只有两个参数



TL_bloom5 Feb 16, 2022 15:55
0
/A

你用的是什么版本的SDK?