让我介绍一下我的问题,我有一些*.crt文件,其中包含DER编码的x509版本3证书。使用ASN1 DER(libtomcrypt)对数据进行解密,并将其保存到某种称为x509v3的结构中。我有一些消息M,M -> S(RSA加密)的加密签名,以及位于x509证书(主题公钥字段)中的公钥-> P。首先,我必须使用公钥P解密S,但问题是我找不到任何api来执行此操作?
我查找了libtomcrypt,但似乎没有获取公钥(即无签名字符*)和加密数据(也是未签名char *)的api,并给出了解密数据(未签名char *)。
谢谢你帮忙!附注:对不起我的英语;)
发布于 2011-04-11 13:49:12
你是历史上草率的签名展示的无数受害者之一,这已经造成并仍然造成了大量的混乱。
你所拥有的是一个签名,你想要验证它。有几种签名算法,其中一种被称为"RSA“,因为它看起来类似于一种不对称加密算法,也称为相似加密算法。RSA签名的一个非常粗略的描述是,“您用私钥加密”(即采用“反向”的加密算法),这就是为什么签名经常被这样描述的原因.只是它不是这样工作的。带有RSA的非对称加密意味着它的核心是一个数学运算(模幂),但它也是一个“填充”,这对安全性非常重要;RSA签名也意味着一个填充,但一个非常独特的填充。
所以你真的不应该把签名当作一种加密。这只会把你搞糊涂。
在libtomcrypt中,RSA签名验证函数称为rsa_verify_hash()。
https://stackoverflow.com/questions/5621853
复制相似问题