【问题标题】:mbedTLS ECC OperationsmbedTLS ECC 操作
【发布时间】:2019-07-19 22:18:25
【问题描述】:

我已经在 mbedtls 的文档中搜索了我的问题,但没有明确的答案。

有没有办法使用 mbedTLS 生成公钥和私钥 ECC 密钥?在教程的帮助下,我已经让 sha256 正常工作,但似乎 ECC operations 没有很好的文档记录。

有没有关于如何在 NIST P-256 曲线上生成私钥/公钥的示例?

感谢您的帮助。

【问题讨论】:

    标签: c elliptic-curve mbedtls


    【解决方案1】:

    这是一个生成 ECC 密钥的示例代码(但不检查返回值):

        mbedtls_pk_context key;
        mbedtls_entropy_context entropy;
        mbedtls_ctr_drbg_context ctr_drbg;
    
        mbedtls_pk_type_t pk_alg = MBEDTLS_PK_ECKEY;
    
        mbedtls_pk_init(&key);
        mbedtls_entropy_init( &entropy );
        mbedtls_ctr_drbg_init(&ctr_drbg);
    
    
        ret = mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(pk_alg));
    
        ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func,
                                   &entropy,
                                   (const unsigned char *) "ecdsa",
                                   strlen(pers)
        );
    
        ret = mbedtls_ecp_gen_key(<KEY TYPE>,
                                  mbedtls_pk_ec(key),
                                  mbedtls_ctr_drbg_random,
                                  &ctr_drbg
        );
    

    &lt;KEY_TYPE&gt; 可以在以下位置找到:https://tls.mbed.org/api/ecp_8h.html#af79e530ea8f8416480f805baa20b1a2d,在您的情况下应该是 MBEDTLS_ECP_DP_SECP256R1

    【讨论】:

    • 非常感谢。我试试看。
    猜你喜欢
    • 2022-11-07
    • 2020-01-29
    • 2022-12-02
    • 2021-01-09
    • 2021-01-18
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2018-11-29
    相关资源
    最近更新 更多