学习笔记之RSA算法原理与应用

折月煮酒 提交于 2019-12-02 05:15:41

 

         工作中遇到SSH的时候实在多,关于密钥分发也是重要的任务。那公钥和私钥是怎么产生的,RSA算法原理是什么?强迫症患者当然不满足仅仅是what and how,自然要知道why。华章译丛的数学专著我向来喜欢,那本《初等数论及应用(原书第六版)》就成了我接下来要面对的任务。
         然后做了读书笔记,方便以后复习理解。我实在没有时间手打文字贴上来,只好就着图片放出来了.

既然知道密钥对的原理,下面来梳理一下它的应用。
一.使用RSA算法的步骤:
1.接收方生成一个公钥+私钥的密钥对;
2.私钥由接收方妥善保管,公钥发给发送方(宇宙众生皆可盗取);
3.发送方用收到的公钥对发送信息进行加密形成密文,然后发给接收方;
4.接收方收到密文后,用司机的私钥解密成明文。
 
二.使用消息认证码的步骤:
1.发送方与接收方事先共享会话密钥(万万不可公开);
2.发送者使用共享密码对消息计算MAC值(将密钥和数据同时作为输出);
3.发送方将消息和MAC值一起发给接收方;
4.接收方收到消息后使用共享密钥计算消息的MAC值,与收到的MAC值对比;
5.若2个MAC值一致,则认为消息来源正确且未经篡改。
 
三.数字签名的使用步骤:
数字签名不是为了保证消息机密性,主要是为了识别篡改和伪装,可以复制且有效。
1.发送者产生密钥对(此处不再是接收者),私钥给自己,公钥给接收者,保证公钥来自真正的发送方是至关重要的环节;
2.发送者计算消息的散列值,并用私钥加密,产生对散列值的签名;
3.发送者将公钥,消息本身和签名一起传给接收者;
4.接收者用公钥将签名解密,得出消息的散列值;再将收到的消息计算出散列值;
5.接收者将2个散列值对比,如果等值,证明消息来自真正的发送者,未经篡改未经伪装,反之则失败。
 
四.数字证书的使用步骤(证明公钥的安全可靠性):
1.接收者生成密钥对,私钥留下备用;
2.接收者在Trent注册自己的公钥;
3.Trent用自己的私钥对接收者的公钥施加数字签名,形成证书;
4.发送者到Trent领取接收者的公钥;
5.发送者使用Trent的公钥验证数字签名,证明公钥来自接收者;
6.发送者用接收者的合法公钥加密消息,传送给发送者;
7.接收者用自己的私钥解密消息得到明文。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!