具体步骤如下。
Alice与Bob互换公钥。
Alice用自己的私钥对TXT文件进行数字签名。
Alice用Bob的公钥对TXT文件进行加密。
Alice把经过数字签名和加密的文件TXT,通过邮件或其他传输途径,如QQ、MSN等)传给Bob。
Bob在收到签名并加密的邮件后首先用Bob自己的私钥进行文件加密的解密,然后再用Alice的公钥进行数字签名解密。
同样,在这个过程中Cinda也可以获取Bob、Alice的公钥和签名并加密的标书文件TXT。同时因无Bob的私钥而无法打开邮件。同时由于Alice在发送文件前已用自己的私钥进行了数字签名,所以当Bob在收到邮件后完全可以证实自己收到的就是Alice发来的邮件,而不可能是其他用户的。试想如果Cinda非法用户想要改变邮件,冒充Alice向Bob发送邮件,因Cinda没有Alice的私钥,所以在用其他用户的私钥进行数字签名时就不可能再以Alice的公钥来解密数字签名了。
在这里要注意文件加密和数字签名的先后顺序,一定是先签名再加密,这样加密技术就可以同时保证邮件中的数字签名了。如果先加密,而后签名,非法用户在得到邮件后就可通过获取的公钥破解数字签名了,因为公钥是可以公开的,很容易被一些别有用心的人得到。数字签名破解后很可能签名被替换。当然邮件中的内容在没有收件人私钥的情况下还是无法打开的。
以上介绍的是利用公钥和私钥进行文件加密和数字签名的原理,其实在实际应用中,这些公钥和私钥用户是不用具体关心它们的组成,而是由证书颁发机构或者软件自己生成。就拿公钥来说吧,那么长的代码,看起来都怕,而且随着密钥位置的增加,代码长度也随之增加,当然破解难度也将增加,也就越安全。但在一定程度上对使用有一些影响。
分享到:
相关推荐
数字签名使用的是发送方的密钥对,发送方用自己...另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法。
发送数字签名和加密邮件-实验报告.pdf
PDF文件数字签名和加密使用指南
发送数字签名和加密邮件 实验报告.docx发送数字签名和加密邮件 实验报告.docx发送数字签名和加密邮件 实验报告.docx发送数字签名和加密邮件 实验报告.docx发送数字签名和加密邮件 实验报告.docx发送数字签名和加密...
利用数字证书实现电子邮件的数字签名和加密(图解)
数字签名和加密模拟软件
发送数字签名和加密邮件.pdf
PDF文件数字签名和加密使用指南.docx
发送数字签名和加密邮件[整理].pdf
Node.js的xml数字签名和加密库.zip
发送数字签名和加密邮件_实验报告.doc
基于linux c openssl 库实现公钥签名私钥验签 公钥加密和私钥解密
数字签名 数字 签名 wod加密 加密
本源码用.NET实现了发送方数字签名、再加密,以及接收方的解密和签名认证过程。 技术文章在:http://blog.csdn.net/lion888/archive/2010/07/11/5727647.aspx 在软件安全领域,经常要用到数字签名和加密功能,在...
数字签名和邮件加密 构建S/MIME邮件服务和PGP邮件服务 (Foxmail Server邮件服务器的架设) 经过查阅资料做了这个小实训,还请指教。
数据加密与数字签名系统,转发非原创,走过路过不要错过。
java 加密 数字签名java 加密 数字签名java 加密 数字签名java 加密 数字签名