数字签名详解
签名字符串是什么定义:以电子的形式存在于数据信息之中,或作为其附件或逻辑上与之有关联的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可
它类似于写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现又称公钥数字签名,电子签章
一套数字签名通常定义两种互补运算,一个用于签名一个用于验证,它的主要功能保证传输的完整性,发送者的身份认证,防止交易中抵赖发生;一次数字签名涉及到了哈希算法一个发送者公钥一个发送者私钥
数字签名的过程如下:
首先发送者将需要发送的内容通过SHA1哈希算法得到摘要,然后通过RSA算法对该摘要进行加密(私钥)作为数字签名,将数字签名连同内容一起发给接收端,接收端用公钥对数字签名解密得到原摘要(因为公钥如果能够解密,那么该文件必定是对应的私钥进行加密的,于是可以作为认证身份),用SHA1哈希对接受到的内容重新计算得到摘要,然后判断该摘要与原摘要是否相同,于是可以判断完整性;
备用知识:
1、RSA 公钥加密非对称密码算法就是指该算法需要一对密钥,使
用其中一个加密另一个解密,身份认证,缺点是加解密时间长
速度慢不适合对文件加密而只使用于对少量数据进行加密
2、SHA1 安全哈希算法用于数字签名对于长度小于2^64位的消
息,SHA1会产生一个160位的消息摘要,这个摘要可以用来验
证数据的完整性,它有如下特性:不可以从消息摘要中复原,两
个不同的消息不会产生同样的消息摘要
3、公钥和私钥
非对称加密算法中用到,通常的用户名和密码属于对称加密
公钥私钥原则(关键):
密钥对中,让大家都知道的是公钥,不告诉大家的是私钥
如果用其中一个密钥加密数据只有对应的那个密钥才可以解密;如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行加密的
4、加密和认证
加密是将数据资料加密,使得非法用户即使得到加密后的文件也不能获取内容,侧重于数据的安全性;认证用来判断某个身份的真实性,
5、公钥加密和公钥认证
私钥是自己的,公钥给别人,那么公钥加密和公钥认证的过程是怎么样的呢?
a) 公钥加密:别人有你给的公钥,于是他就可以用该公钥进行加
密,然后将加密后的文件发给你,根据3中所说得公钥加密的文件只能由对应的私钥解密,而私钥只有你自己保存,所以该加密文
件只能由你自己解密,其他人没有你的私钥所以无法解密即无法
获取文件内容
b) 公钥认证:别人有你给的公钥,当你给他发文件时,首先将该文
件用私钥加密,然后发送,当他接受到你的文件就可以用公钥解
密,同样的道理当他不能用你给的公钥解密时,说明该文件不是
对应的私钥加密,即这个文件不是你发的,从而实现了公钥认证
功能。
6、根证书,相当与公钥,私钥由证书持有者在本地生成,例如网站的证书作用如下:
网站认证功能:当你上中国工商银行网站时会有个证书,有了该证书就可以对该网站进行认证,因为证书相当与公钥,只有该公钥对应的私钥进行加密的网站文件,才能被证书解密,而私钥只有中国工商银行所有,所以既然能够解密那么肯定是中国工商银行的网站,于是实现了网站认证的功能
加密功能:当你需要输入密码时,通过证书即公钥对该密码进行公钥加密,该密码只能由对应的私钥进行解密,所以只有中国工商银行才能解密该密码文件,其它人没有私钥不能获取密码内容,从而实现了加密功能。
7、例子
太tm形象了,用来理解公钥私钥如何实现认证和加密的:
安全必须实现以下目的:
比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。
首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。
其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论