句容网站制作哪家好,wordpress 密码破解,网站关键词优化外包,做公司网站时的英文简介一. 前言 公钥密码的秘钥分为加密秘钥和解密秘钥#xff0c;加密秘钥成为公钥#xff0c;解密秘钥成为私钥#xff0c;公钥和私钥的成对存在的#xff0c;一对公钥和私钥称为密钥对。发送消息时#xff0c;发送者用公钥对消息进行加密#xff0c;接收者用私钥进行解密。从…一. 前言 公钥密码的秘钥分为加密秘钥和解密秘钥加密秘钥成为公钥解密秘钥成为私钥公钥和私钥的成对存在的一对公钥和私钥称为密钥对。发送消息时发送者用公钥对消息进行加密接收者用私钥进行解密。从这里可以知道发送者只需要用公钥对消息进行加密而接收者用私钥解密即可这样就解决了对称密码的秘钥传送问题。公钥可以通过任何方式公开但是接收者的私钥是绝对不能被别人知道的。 由于加密的密码和解密的密码不同与公钥密码相对的公钥密码也被称为非对称密码。下面介绍公钥密码相关的几种加密算法。 二. 加密算法
1. RSA RSA这种公钥密码算法是由三位开发者完成分别是Ron RivestAdi Shamir和Leonard Adleman。而RSA名字就是分别取自三人的姓的首字母。 对于RSA在数学上的具体实现这里不做探究
2. EIGamal EIGamal算法是由Taher EIGamal设计的EIGamal相对于RSA有一个缺点经过加密的密文长度会变为明文的两倍。 三. openssl实践 openssl通过genrsarsa和rsautl选项用于公钥密码genrsa用于生成公钥和私钥rsa用于处理rsa秘钥例如由私钥生成公钥rsautl是rsa的一些工具例如加密解密。下面介绍生成私钥和公钥的方法以及利用公钥私钥加密和解密数据步骤
1. 生成私钥 openssl genrsa -out private.pem 2048 生成2048长度的私钥。
2. 由私钥生成公钥 openssl rsa -in private.pem -pubout -out public.pem 3. 由公钥加密数据 infile内容 ni hao,rsa 加密操作 openssl rsautl -encrypt -pubin -inkey public.pem -in infile -out outfile outfile内容 00000000 29 44 23 c6 10 14 65 58 75 0d f7 ef f1 6e 77 9b |)D#...eXu....nw.| ...... 000000f0 10 a7 82 16 fd 44 dc d5 1b 3c ca a1 16 79 22 54 |.....D......yT| 4. 由私钥解密数据 解密操作 openssl rsautl -decrypt -inkey private.pem -in outfile -out decryptfile decryptfile内容 ni hao,rsa 四. 总结 公钥密码对于对称密码是解决了秘钥的传送问题公钥无法解密公钥加密的数据只有私钥可以所以任何人都可以获得公钥。不过公钥密码还存在一个问题发送者不能确定公钥和接收者的私钥是密钥对公钥可能被篡改导致使用了中间攻击人的公钥导致安全问题。 除RSA算法外公钥密码的算法还有Rabin和椭圆曲线密码ECC。