从不可否认性论数字签名的基本原理

来源:法大大 发布时间:2017-10-19 00:00:00

数字签名跟电子签名一样看起来就是好高深的词,到底在数字签名的背后原理是什么呢?都说数字签名是最可信的,不可否认的。那么怎么简单又清楚的了解数字签名技术呢?


其实数字签名的不可否认性使得数字签名的应用更加广泛,那么什么是数字签名,数字签名的基本原理和过程是什么,数字签名hash是什么,哈希函数如何应用在数字签名呢?法大大小编将为您逐一作答。
     

什么是数字签名

数字签名是基于非对称密钥加密技术与数字摘要技术的应用,是一个包含电子文件信息以及发送者身份并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。一段数字签名数字串包含了电子文件经过Hash编码后产生的数字摘要,即一个Hash函数值以及发送者的公钥和私钥三部分内容。

数字签名的基本原理

数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字签名能确定数据电文内容是否被篡改,保证消息的完整性。数字签名的基本工作流程如下:

发送加密

1.数字签名用户发送电子文件时,发送方通过哈希函数对电子数据文件进行加密生成数据摘要(digest);

2.数字签名发送方用自己的私钥对数据摘要进行加密,私钥加密后的摘要即为数字签名;

3.数字签名和报文将一起发送给接收方。

接收解密

1.接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要;

2.接收方用发送方的提供的公钥来对报文附加的数字签名进行解密,得到一个数字摘要;

3.如果以上两个摘要相一致,则可以确认文件内容没有被篡改。

4.发送方的公钥能够对数字签名进行解密,证明数字签名由发送方发送。

以上过程逆向也可以进行,即当文件接受者想要回信时,可以先通过hash函数生成数字摘要,再用公钥加密即可起到文件加密的作用,收信人(数字签名拥有者)可以用私钥解密查看文件数字摘要。

函数加密原理

Hash函数又叫加密散列函数,其特点在于正向输出结果唯一性和逆向解密几乎不可解,因此可用于与数据加密。

正向输出容易且结果唯一:由数据正向计算对应的Hash值十分容易,且任何的输入都可以生成一个特定Hash值的输出,完全相同的数据输入将得到相同的结果,但输入数据稍有变化则将得到完全不同的结果。
Hash函数逆向不可解:由Hash值计算出其对应的数据极其困难,在当前科技条件下被视作不可能。

了解了数字签名,我们顺便来提一嘴数字证书的概念:

数字证书

由于网络上通信的双方可能都不认识对方,那么就需要第三者来介绍,这就是数字证书。数字证书由Certificate Authority( CA 认证中心)颁发。关于数字证书的具体描述,图解如下:

c6c24fd5bd744184856c277a8b1c7268.png

首先A B双方要互相信任对方证书。

然后就可以进行通信了,与上面的数字签名相似。不同的是,使用了对称加密。这是因为,非对称加密在解密过程中,消耗的时间远远超过对称加密。如果密文很长,那么效率就比较低下了。但密钥一般不会特别长,对对称加密的密钥的加解密可以提高效率。