RSA的公钥和私钥

作者: 330b92bcaf74 | 来源:发表于2017-06-26 11:17 被阅读0次

1.公钥加密和私钥解密:

公钥加密和私钥都是使用证书生成的,并非我们自定义字符串就可以 我们使用的是生成好的公钥加密和私钥。

两者的区别:

1.公钥,用于加密数据. 用于公开, 一般存放在数据提供方, 例如iOS客户端.

2.私钥,用于解密数据. 必须保密, 私钥泄露会造成安全问题.

公钥加密和私钥必须相对应

2.说明:

其实公钥和私钥都可以用来加密或解密---只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。最后再说一下数字签名。数字签名无非就两个目的:证明这消息是你发的;证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。

例子:

1.小明想秘密给小英发送消息

2.小英手里有一个盒子(public key),这个盒子只有小英手里的钥匙(private key)才打得开

3.小英把盒子送给小明(分发公钥)

4.小明写好消息放进盒子里,锁上盒子(公钥加密

5.小明把盒子寄给小英(密文传输)

6.小英用手里的钥匙打开盒子,得到小明的消息(私钥解密)

7.假设小刚劫持了盒子,因为没有小英的钥匙,他也打不开

相关文章

  • Java RSA加密/解密

    Java RSA加密&解密如下: 拿到RSA 公钥和私钥后我们可以保存到文件中,代码如下: 解析已有的公钥和私钥,...

  • 加密相关

    公钥加密 私钥解密 ,私钥加密,公钥验证(签名) HTTPS -- AFSecurityPolicy RSA ...

  • Linux ssh免密登录

    生成公钥和私钥: 然后敲(三下回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷...

  • git ssh配置

    1.生成ssh的公钥和私钥。在生成的文件中,id_rsa是私钥,id_rsa.pub是公钥ssh-keygen -...

  • RSA加密

    RSA基本原理: RSA加密算法是基于一个密钥对的,分为公钥和私钥,一般情况公钥加密,私钥解密,但也可私钥加密,公...

  • python学习二(http请求+rsa签名)

    背景: rsa签名/验名 公钥私钥文件 公钥和私钥获取不进行细致描述,网络有较多资料,本文提供一对公钥和私钥。需要...

  • openssl终端命令RSA和DES加解密

    RSA 1、生成公钥和私钥 2、加密解密文件 公钥加密私钥解密 私钥加密公钥解密 3、在程序中使用依次生成 csr...

  • Rsa加解密

    /*** Rsa 加解密* 用法:* (1)公钥加密,私钥解密* (2)私钥加密,公钥解密*/class ...

  • RSA非对称加密算法

    RSA算法,经典非对称加密算法,通过生成公钥 私钥 进行加密解密 公钥加密 私钥解密 反之 私钥加密 公钥...

  • Mac SSH生成添加Rsa

    生成rsa 获取公钥 获取私钥

网友评论

    本文标题:RSA的公钥和私钥

    本文链接:https://www.haomeiwen.com/subject/rwidcxtx.html