信息加密与消息摘要(2)
公钥加密
公钥密码学是为了解决传统密码中最困难的一个问题而提出的:
密钥的安全分配问题
RSA算法
使用大素数乘积的因子分解问题,使用大素数计算乘积很简单,但是对乘积进行分解却很难,所以可以将乘积作为加密密钥公开
使用RSA-Tool加密消息
我们可以按照上面的步骤,生成p、q、n,指定公钥e,生成私钥d,如图所示
然后可以将公钥(e,n)发给朋友
朋友将消息用公钥进行加密后再传回来,我们就可以直接解密得到朋友传的消息
反向使用RSA算法生成数字签名
我们用小红与小蓝做一个例子。首先小红同学使用Hash-Tool,生成所要传输文件的MD5值,然后再用RSA Tool 对MD5值进行加密,这时,使用RSA Tool生成公钥和密钥后,将公钥和密钥互换位置,然后再对MD5值进行加密。完成这些之后,小红同学将公钥,文件,以及加密后的MD5值一起发送给小蓝同学。小蓝同学使用RSA Tool,解出加密后的MD5值,得到一个MD5的值,再用Hash Tool生成接受到的文件的MD5值,比较两次生成的MD5的值是否一样,以此来验证数字签名的正确性。
小红得到MD5值
小红生成公钥私钥交换
(接下来自行理解)