学习笔记之RSA算法原理与应用
工作中遇到SSH的时候实在多,关于密钥分发也是重要的任务。那公钥和私钥是怎么产生的,RSA算法原理是什么?强迫症患者当然不满足仅仅是what and how,自然要知道why。华章译丛的数学专著我向来喜欢,那本《初等数论及应用(原书第六版)》就成了我接下来要面对的任务。 然后做了读书笔记,方便以后复习理解。我实在没有时间手打文字贴上来,只好就着图片放出来了. 既然知道密钥对的原理,下面来梳理一下它的应用。 一.使用RSA算法的步骤: 1.接收方生成一个公钥+私钥的密钥对; 2.私钥由接收方妥善保管,公钥发给发送方(宇宙众生皆可盗取); 3.发送方用收到的公钥对发送信息进行加密形成密文,然后发给接收方; 4.接收方收到密文后,用司机的私钥解密成明文。 二.使用消息认证码的步骤: 1.发送方与接收方事先共享会话密钥(万万不可公开); 2.发送者使用共享密码对消息计算MAC值(将密钥和数据同时作为输出); 3.发送方将消息和MAC值一起发给接收方; 4.接收方收到消息后使用共享密钥计算消息的MAC值,与收到的MAC值对比; 5.若2个MAC值一致,则认为消息来源正确且未经篡改。 三.数字签名的使用步骤: 数字签名不是为了保证消息机密性,主要是为了识别篡改和伪装,可以复制且有效。 1.发送者产生密钥对(此处不再是接收者),私钥给自己,公钥给接收者,保证公钥来自真正的发送方是至关重要的环节;