信息安全与密码学2-什么是数字签名
2015-12-10 15:01
337 查看
信息安全与密码学2-什么是数字签名
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名是非对称密钥加密技术与数字摘要技术的应用。
过程:
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
数字签名有两种功效:
一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。
一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。
著作权声明:本文由http://my.csdn.net/Nathan1987_原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢
相关文章推荐
- 存储过程语法
- 根据进程名字获取id并kill
- 存储过程语法
- express实现前后端通信上传图片,存储数据库(mysql)傻瓜教程(三)完结篇
- SpringMVC配置XML
- 常见Android OOM异常
- Fixing the "A fatal error occurred while trying to sysprep the machine" error
- 登录验证码图片生成
- Windows MongoDB:搭建三节点 Replica Set 环境
- Android BlueDroid(三):BlueDroid蓝牙开启过程enable
- JAVA的API: Object类
- ios 虚化
- C#创建数据库及导入sql脚本的方法
- 学iOS开发之前需要那些准备工作
- OCP-1Z0-051-2015-53题
- 并查集算法和路径压缩
- js学习笔记 - String字符串对象
- Eclipse使用基础知识
- hlist.h
- chromium的安装程序