java加密与解密的艺术(五)——数字签名

(写在前面的话:之前负责了一个关于数据安全接入的模块,涉及到了数据的加密解密,文件校验,下载落地,入库等。在wannercry肆虐之际,更深刻体会到数据安全的重要意义。鉴于此,不才受邀在今天给团队成员统一普及了一下数据安全方面的概念,重点给Java同事分享了一下基于Java的数据加密解密实现和梁栋的《java加密与解密的艺术》。有感于这次的wannercry风暴,特将今天的培训整理出来和大家分享一下,诚邀勘误指正。 培训资料:参考了梁栋的《java加密与解密的艺术》,大家也可以自行买这本书阅读,应该感谢梁栋为我们提供了一本好书。)


一、数字签名


       数字签名是为了解决数据来源的可认证性和发送行为的不可否认性。


      数字签名的特征:


  • 完整性
  • 认证性
  • 不可否认性


       数字签名依赖于非对称密码体制。签名算法受私钥控制,并由签名者保密;验证算法受公钥控制,并对外公开。数字签名可以保证“签名者任何时候都无法否认自己曾经签发的数字签名;数字签名无法伪造,且数字签名可被接受者验证和确认;数字签名可供第三方仲裁机构仲裁”。


       数字签名提供了认证(鉴别)服务,抗否认性服务,数据完整性服务。


二、经典的数字签名算法


  • RSA
  • DSA
  • ECDSA

猜你喜欢

转载自blog.csdn.net/stefan_xiepj/article/details/72582671