密码学----适合小白的数字签名(基础版)

@数字签名简单介绍

最近看了一点关于数字签名的东西,总是想要记录一下学习的过程,因为也是刚入门,有很多东西了解的不是很到位,这里就当是给朋友们一个科普,简单介绍一下数字签名的用法,有什么认识有误的,希望朋友们指出。

非对称加密

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。(摘自百度百科)
公钥与私钥像钥匙和锁的关系,一把钥匙解一把锁,他们两个可以互解。他们有两种用法需要我们区分一下,第一种是加密通信,我们用A的公钥进行加密,只有A的私钥可以解密,也只有A可以知道这个通信的内容,这叫做加密通信,另外一种就是我们今天所要谈的数字签名,与加密通信的过程正好相反,是我们用A的私钥进行加密,由于A的公钥是公开的,我们所有人都可以用A的公钥进行解密来验证这条消息是不是A所发,即为数字签名过程。

签名原理

这里举例进行说明:
密码学----适合小白的数字签名(基础版)_第1张图片
原谅我吧,我实在太懒了,不想画图了。。。。
注意:签名对文件本身不进行加密,只是加密文件的哈希值

三大作用

上面差不多把数字签名是什么说明白了吧。。。我们再来说一下他的应用。
1,认证-------确定身份
2,防止抵赖-------不能反悔(毕竟是用自己私钥进行加密的)
3,防篡改------保证了文件的完整性

举例应用

例如A对m用私钥进行签名
(m,k(m))→B
B用A的公钥进行解K(m),验证m是否被篡改,注意,这里m是文件哈希值

补充:提供一种私钥公钥的算法,进行数据传输(这里就和数字签名关系不大了,就是一种利用公钥私钥的传输方式):
为了满足机密性,可进行如下操作:使用对称秘钥K加密文件,用对方的公钥加密对称秘钥k,把加密后的文件和加密后的K值同时传给接收方,接受方用自己的私钥进行解密k,用k值解密文件。

你可能感兴趣的:(数字签名,公钥私钥,密码学)