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

心提示: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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了生成GitLab的,您需要按照以下步骤进行操作: 1. 打开Git Bash终端。 2. 输入以下命令来生成: ```bash ssh-keygen -t rsa -b 4096 ``` 3. 按下Enter键继续执行,使用默认设置即可。 4. 系统将提示您输入保存的文件路径,默认情况下,它会将保存在`~/.ssh/id_rsa`文件中。您可以根据需要更改保存路径,或者直接按下Enter键继续使用默认路径。 5. 然后系统会提示您设置一个密码短语,您可以选择为设置密码短语以增加安全性,或者直接按下Enter键跳过此步骤。 6. 再次输入密码短语以确认。 7. 完成上述步骤后,您的将会生成并保存在指定路径下。 请注意,如果您之前已经生成,新生成将会覆盖旧的。在生成后,您可以将公(`id_rsa.pub`)添加到GitLab的SSH Keys中,以便连接到GitLab并进行代码的远程操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [git 生成](https://blog.csdn.net/qq_38947155/article/details/125783864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [代码管理git生成ssh key (公)配置GitLab](https://blog.csdn.net/qq_43064422/article/details/125102263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值