图解密码技术笔记公钥密码——用公钥加密,用私钥解密

Posted nceuaprsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解密码技术笔记公钥密码——用公钥加密,用私钥解密相关的知识,希望对你有一定的参考价值。

对称密码的密钥配送问题的解决方案:


通过事先共享密钥解决:

事先用安全的方式将密钥交给对方


通过密钥分配中心解决:

密钥分配中心(key distribution center,KDC),当需要加密通信时,密钥中心会生成一个通信密钥,每个人只要和密钥分配中心事先共享密钥就可以了 密钥分配中心也有局限性,当需要机密的通信过多时密钥分配中心的负荷就会增加,如果密钥分配中心计算机发生故障,全公司的加密通信都会瘫痪


通过Diffie-Hellman密钥交换解决:

Diffie-Hellman密钥交换中进行加密的双方交换一些信息,根据交换的信息,双方可以各自生成相同的密钥

通过公钥密码解决:

发送者使用加密对消息加密并发送,而只有拥有解密密钥的人才能解密,就不用将解密密钥配送给接收者了



公钥密钥——用公钥加密,用私钥解密

公钥密码(public-key crytography),发送者用接受者的公钥加密,接收者用自己的私钥解密。公钥一般是公开的,私钥是不能公开的只能由自己使用。公钥和私钥是一一对应的,一对公钥和私钥统称密钥对。




RSA——最广泛的公钥密码


RSA的加密:

在RSA中明文、密钥和密文都是数字 RSA的加密公式为:密文=明文^E mod N 其中E和N的组合就是公钥,一般写成公钥是(E,N)或公钥是E,N

RSA的解密:

RSA的解密公式为:明文=密文^D mod N 其中D和N的组合就是公钥

生成密钥对:

由于E,N是公钥,D,N是私钥,因此求E,D和N这三个数就是生成密钥对 生成密钥对的步骤: 1、求N:N=p*q(p和q是两个很大的质数,用伪随机数生成器生成) 2、求L(L只在生成密钥对的过程中使用):L是p-1和q-1的最小公倍数 3、求E:E比1大比L小,E和L的最大公约数为1 4、求D:D比1大比L小,E*D mod L=1



其他公钥密码:


EIGamal方式:EIGamal方式的一个缺点是,经过加密的密文长度会变为明文的两倍


Rabin方式


椭圆曲线密码:ECC,椭圆曲线密码的特点是密钥的长度比RSA短





以上是关于图解密码技术笔记公钥密码——用公钥加密,用私钥解密的主要内容,如果未能解决你的问题,请参考以下文章

公钥与证书服务---学习笔记(预习)

图解密码技术一些笔记

密码学笔记5——公钥密钥及RSA密码

java中RSA用私钥加密公钥解密问题

公钥密码里面,如果一方用自己的私钥加密,解密用自己的公钥,公钥不是公开的吗?任何人都可以解开

java 中的Cipher类RSA方式能不能用私钥加密公钥解密,完整解释下