数字签名:
公钥密码实际上的最大用处是数字签名,在文件上手写签名长期以来被认为是身份的证明,
我们要在计算机上的文件上实现手写的效益。
原理:与加密相反,签名者用私钥加密数据,验证者则用其公钥去解密。
假如A要对某个数字文件签名,B要验证这个签名:
1、A用私钥对文件加密,加密就是签名的过程,密文就是签名值。
2、A把文件本身 和 签名值发给B
3、B用A的公钥解密签名值
4、B把解密的签名值与文件本身比较,若是相同则认为签名有效,若是不同则认为无效。
**签名不可抵赖,A可能声称他被攻击泄露了私钥,但依据法律,A仍要对签名负责,
类似于丢失了单位公章,还是要对此负责一样。若是怀疑自己的私钥泄密,就要尽快挂失。
可以看出,数字签名能够实现数据完整性服务与不可否认的服务。数字签名也可以和加密结合起来使用,
重要的是数据先签名再加密,这样既做到了数据的保密性,又保证了数据的完整性。
RSA算法可以用于数字签名,与加密过程相比,只需签名(加密)时使用私钥,验证时使用公钥即可。
除了RSA之外,Digital Signature Algorithm (DSA)算法也是广泛应用的。
**现在很多国家制定了 数字签名法案 妈妈再也不用担心我的数字签名没有法律效力。