私钥,为什么公钥私钥不可以互相推导呢?

接触过银行支付系统或者第三方支付平台项目的朋友应该都听过公钥私钥的概念私钥,公钥会分发给多个人持有,而私钥只有一个人持有。

私钥,为什么公钥私钥不可以互相推导呢?

公钥私钥是指什么?公钥和私钥是通过非对称加密算法(如RSA)得到的一对密钥对(一个公钥对应一个私钥),公钥是对外公开的,而私钥是私密非公开的。

用公钥加密的数据只能由对应的私钥解密,用私钥加密的数据只能由其对应的公钥解密,否则无法解密。

公钥与私钥间无法相互推导这里明确一点,公钥和私钥是无法相互推导的!虽然我们可以基于私钥“导出”公钥,但这并不是真正的推导,而是私钥文件里保存了公钥数据(公钥内容是私钥的一部分),所以给人一种可以推导的错误感知。因为公钥数据里并没有包含私钥数据,所以拿到了公钥是无法推导出公钥的。

试想一下,如果公钥和私钥相互间是可以推导的,那毫无安全性可言,也谈不上非对称加密了。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

公钥和私钥在一些银行系统、第三方支付系统SDK中经常会遇到,刚接触公钥私钥的朋友们估计很难区分两者的区别。

RSA公钥和私钥是什么?首先来说,RSA是一种非对称加密算法,它是由三位数学家(Rivest、Shamir、Adleman)设计出来的。非对称加密是相对于对称加密而言的。对称加密算法是指加密解密使用的是同一个秘钥,而非对称加密是由两个密钥(公钥、私钥)来进行加密解密的,由此可见非对称加密安全性更高。

公钥顾名思义就是公开的密钥会发放给多个持有人,而私钥是私有密码往往只有一个持有人。

公私钥特性公钥与私钥是成对出现的;

私钥文件中包含了公钥数据,所以可以基于私钥导出公钥;

密钥越长,越难破解,所以2048位密钥比1024位密钥要更安全;

公钥和私钥都是密钥,被公开的那个就是公钥,没有被公开的那个就是私钥。

公钥和私钥都可用于加密和解密公钥和私钥都可以用于加解密操作,用公钥加密的数据只能由对应的私钥解密,反之亦然。虽说两者都可用于加密,但是不同场景使用不同的密钥来加密,规则如下:

1、私钥用于签名、公钥用于验签

签名和加密作用不同,签名并不是为了保密,而是为了保证这个签名是由特定的某个人签名的,而不是被其它人伪造的签名,所以私钥的私有性就适合用在签名用途上。

私钥签名后,只能由对应的公钥解密,公钥又是公开的(很多人可持有),所以这些人拿着公钥来解密,解密成功后就能判断出是持有私钥的人做的签名,验证了身份合法性。

2、公钥用于加密、私钥用于解密,这才能起到加密作用

因为公钥是公开的,很多人可以持有公钥。若用私钥加密,那所有持有公钥的人都可以进行解密,这是不安全的!

若用公钥加密,那只能由私钥解密,而私钥是私有不公开的,只能由特定的私钥持有人解密,保证的数据的安全性。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

2022-06-11

2022-06-11