RSA的公钥和rsa私钥加密公钥解密是一对一的么

关于RSA加解密的公钥和私钥
[问题点数:20分,结帖人zzpp2000]
关于RSA加解密的公钥和私钥
[问题点数:20分,结帖人zzpp2000]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密_百度知道
RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密
我有更好的答案
  我们来回顾一下RSA的加密算法。我们从公钥加密算法和签名算法的定义出发,用比较规范的语言来描述这一算法。
  RSA公钥加密体制包含如下3个算法:KeyGen(密钥生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。
  (PK, SK)\leftarrow KeyGen(\lambda)。密钥生成算法以安全常数\lambda作为输入,输出一个公钥PK,和一个私钥SK。安全常数用于确定这个加密算法的安全性有多高,一般以加密算法使用的质数p的大小有关。\lambda越大,质数p一般越大,保证体制有更高的安全性。在RSA中,密钥生成算法如下:算法首先随机产生两个不同大质数p和q,计算N=pq。随后,算法计算欧拉函数\varphi(N)=(p-1)(q-1)。接下来,算法随机选择一个小于\varphi(N)的整数e,并计算e关于\varphi(N)的模反元素d。最后,...
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁RSA数字签名与加密,解密间的关系
RSA数字签名与加密,解密间的关系
提及RSA,大家会想到公钥、私钥、加密、解密、数字签名、数字信封。。。但也许大家和曾经的我一样,对其中的某些理解会存在误区,最近看了下关于RSA的RFC 2313文档,再加上自己的一些测试,终于理清了其中的一些关系,主要包括以下几点:1、公钥和私钥间的关系;2、数字签名和私钥加密间的关系;3、数字签名的验证具体是怎样的过程;
公钥与私钥
一般,我们可以用RSA算法生成一对密钥,公钥发放给外部客户,私钥自己保管;有以下一些应用场景:【公钥加密、私钥解密】或者【私钥加密、公钥验证】对于第一种场景,似乎没有什么疑问;但是对于第二种场景,公钥验证时到底是如何验证法个人有个人的说法,我以前一直以为是和数字证书一样(当然这个理解有误,关于数字证书后续也会详述),只能验证不能被解密!但经过我的测试证明:私钥加密是可以用公钥解密的;所以说对于RSA算法,用任何一方密钥加密都可以用另外一个密钥解密;这也从另外一个角度说明,其实公钥和私钥是相对而言的,发放其中一个密钥出去,另外一个自然也就成为私钥了;对于该观点,很多同学都已经提到过,但我以前一直认为这是一个误解,汗自己一把;另外,当我们使用证书的时候,比如pfx、cer、jks、rsa等,从中我们可以看出私钥比公钥暴露出了更多的信息,大家可以自行导出xml查看,当然其中很多参数是用来加速的,根本的信息还是密钥;比如公钥导出格式为:&RSAKeyValue&&&Modulus&...&/Modulus&&&Exponent&...&/Exponent&&/RSAKeyValue&私钥导出格式为:&RSAKeyValue&&&Modulus&...&/Modulus&&&Exponent&...&/Exponent&&&P&...&/p&&&Q&...&/q&&&DP&...&/DP&&&DQ&...&/DQ&&&InverseQ&...&/InverseQ&&&D&...&/D&&/RSAKeyValue&
数字签名与私钥加密
数字签名:就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明。对一段信息进行签名时,一般会先用哈希函数计算出被签名信息惟一的哈希结果值(为实用目的,降低加密成本,RSA加密不适用于大数据量加密).最后使用私钥将哈希结果值转化为数字签名.得到的数字签名对于被签名的信息和用以创建数字签名的私钥而言都是独一无二的。按照上面的说法,数字签名=私钥加密(hash(原始数据));但是我用相同的原始数据、相同的hash算法、相同的密钥分别进行计算得到的结果却是不一致的,所以我一直怀疑这个描述有问题?对此,我search了很多,ch的,en的,但都没有找到一个让我信服的解释,大多都是如上的这种解释;最后还是求助于官方描述文档RFC 2313,下面就看看数字签名到底是怎么回事:数字签名包括4个步骤:消息散列,DER数据编码,RSA私钥加密和字节串到位串的转换。这样也就可以解释上面的公式为什么两边运算的结果不一致了,因为中间少了很多运算;之后我也下载了bouncycastle的jce实现源码来看,过程的确如此;关于DER数据编码,这个会在后续文章中详述,他是一个遵循ASN.1规范的编码规范;
数字签名的验证过程
我们在验证数字签名的时候,一般会将签名数据、原始数据、公钥一起作为参数输入,返回验证true或false;这样便造成了一种假象,如上面所说的:公钥是不能解密的!但是实际验证过程却不是这样的;同样的,他完全是数字签名的逆向过程,来看看RFC的官方描述,验证过程包括四个步骤:位串到字节串的转换,RSA公钥解密,DER数据解码,得到解密后的散列值,最后与原始数据散列值进行比较,若每一位都相同则返回true,否则返回false;
发表评论:
TA的最新馆藏RSA公钥密码体制_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
RSA公钥密码体制
上传于||文档简介
&&现​代​密​码​学
大小:1.63MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢登录后方可回复
, : 大神 我也碰到这个问题了 请问你现在了解了没 我的qq是
登录后方可回复
@偏北风2~3级 : 大神,同求啊!服务器给出了rsa公钥,要求客户端rsa加密,求解!我的qq是,请教下!
登录后方可回复
, : 我现在就是在弄这个字符串解密的,楼主能说下吗qq,感激不尽。
登录后方可回复
楼主解决了嘛?我也遇到同样的问题,求教,我的qq:
登录后方可回复
@爱爬树的考拉
登录后方可回复
登录后方可回答}

我要回帖

更多关于 rsa公钥私钥生成器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信