首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibTomCrypt怪异ECC密钥

LibTomCrypt怪异ECC密钥
EN

Security用户
提问于 2015-10-13 10:55:36
回答 1查看 985关注 0票数 4

我最近开始使用LibTomCrypt库,因为它声称它是一个有良好文档的C库,可以开始使用椭圆曲线密码学。

在我的第一个小程序中,我创建了一个ECC密钥,然后我尝试打印出来。因此,我使用了ecc_make_key和ecc_export函数。

代码语言:javascript
复制
unsigned char buf[4][4096]

// I do this for the private and public Key
ecc_export(keyBufPriv[0]  /*keyBufPublic[0]*/, &x, PK_PRIVATE /* PK_PUBLIC */, &keyA)
for (int i = 0; i < x; i++) {
    printf(" %d ", keyBuf[0][i]);
}

打印出来后,我想知道为什么公钥和私钥看起来非常相似。有一些与库一起交付的测试程序显示了相同的行为。我在测试程序中添加了一些与上面类似的printf行。

我的程序输出:

测试程序的输出:

由于私钥和公钥之间的相似之处,我在问自己,是否libtomcryp库的所有内容都能正常运行,以生成一个安全的ECC。

EN

回答 1

Security用户

回答已采纳

发布于 2015-10-13 16:05:52

https://github.com/libtom/libtomcrypt/blob/develop/src/pk/ecc/ecc_export.c中可以看到,您正在打印的是ASN.1/DER编码数据,其中除了'k‘参数外,还包含相同的数据。

所以是的,私钥和公钥看起来很相似是很正常的。

要解码这一点,您可以安装dumpasn1,它可以解析和显示ASN.1数据。

如果您想了解有关如何使用ecc API的更多信息,可以查看https://github.com/DCIT/perl-CryptX/blob/master/lib/CryptX_主键_ECC.xs.inc

这并不是很明显,也不是完全相同的API,因为卡雷尔的所有更改并不是全部合并到主libtomcrypt (目前为止),但它应该给您一个想法。

票数 5
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/102598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档