关闭

如何保证生成的私钥不重复(相同)

标签: 服务器算法解密破解加密互联网
1109人阅读 评论(0) 收藏 举报
分类:

心提示:openssl或是其它基于<公钥,私钥>的算法中,如何保证生成的私钥不重复(相同),不被有恶意的人生成同样的私钥? 1、CA根服务器的如何保证颁布给别人的私钥,不会被hacker暴力算出来? 2、我建一个企业内部的CA服务器,怎么做到颁发的证书不让其它人也安个CA,算出相..... 

 

enssl或是其它基于<公钥,私钥>的算法中,如何保证生成的私钥不重复(相同),不被有恶意的人生成同样的私钥?

1、CA根服务器的如何保证颁布给别人的私钥,不会被hacker暴力算出来?

2、我建一个企业内部的CA服务器,怎么做到颁发的证书不让其它人也安个CA,算出相机的私钥来。

 

RSA工作原理
1)  任意选取两个不同的大质数p和q,计算乘积r=p*q;
2)  任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意:e的选取是很容易的,例如,所有大于p和q的质数都可用。
3)  确定解密密钥d: d * e = 1 modulo(p - 1)*(q - 1) 根据e、p和q可以容易地计算出d。
4)  公开整数r和e,但是不公开d;
5)  将明文P (假设P是一个小于r的整数)加密为密文C,计算方法为:
C = Pe modulo r
6)  将密文C解密为明文P,计算方法为:
P = Cd modulo r
然而只根据r和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。

 

 

我的问题是如果在某个时间某个CA服务器产生出的 随机数 p,q,和e 碰巧与之前(另外一台主机的)的相同以后,那密钥不就重担了吗,失去了其唯一标识一个用户的作用。


p q 那是很重要的,但一切定理和理论都基于假设,安全理论也不例外。此处的假设就是,没有一个人能够获得和你的 CA 一样的 RSA 密钥对。如果产生了重复,岂不等同于密钥被破解?如果你知道密钥被破解之后该做些什么,你也就清楚密钥产生了重复以后你的任务。

如果真的巧合,随机数相同,但是你不知道谁的密钥和你相同
就像银行密码,一定有人和你相同,但是你不知道是谁。

阁下和我的想法一样,但不知是否真的这样,还是这些算法本身有一种机制可保证产生的随机数不同。
书上说1024位的RSA要179台2GB内存的主机300,0000年才可破解。但现在互联网上的证书服务器这么多,都在根据RSA算法去生成随机数,我想这个重复的概率是大大增加了。

可以不用担心会产生相同的证书/私钥,只要关心私钥的安全性,使用usb key之类的

 

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:229454次
    • 积分:3760
    • 等级:
    • 排名:第8543名
    • 原创:128篇
    • 转载:21篇
    • 译文:1篇
    • 评论:56条
    最新评论