文章目录

  • 基础内容
  • 数字签名的组成
    • 密钥生成算法KeyGen
    • 签名算法Sig
    • 验证算法Vrfy
  • RSA签名
    • 密钥生成
    • 签名
    • 验证
    • RSA签名攻击
      • 攻击目的
      • 攻击手段
      • 唯密钥攻击下的存在性伪造
      • 已知消息攻击下的存在性伪造
    • 签名与hash函数
  • ElGamal签名方案
    • 密钥生成
    • 签名
    • 验证
    • 伪造签名
    • 注意
  • Schnorr签名方案
    • 密钥生成
    • 签名
    • 验证
    • 参数长度
  • DSA数字签名
    • 密钥生成
    • 签名
    • 验证
    • 参数选取

基础内容

数字签名的功能

 用以保障消息的认证性

  消息的完整性:消息在传输过程中未被修改

  消息来源的真实性:消息由所声明的用户签署

数字签名与手工签名的区别:

手写签名:模拟的,因人而异,与真实签名比较进行验证,容易伪造他人手写签名。

数字签名:数字的,因消息而异,可公开验证,容易复制。

数字签名与消息认证码的区别

消息认证码:是一种对称加密,只有知道共享密钥的人才可以进行签名和认证。

数字签名:是一种公钥加密,只有私钥拥有者可以进行签名,而任何知道公钥的人都可以认证。

数字签名的组成

密钥生成算法KeyGen

签名算法Sig

验证算法Vrfy

RSA签名

密钥生成

签名

验证

RSA签名攻击

攻击目的

完全破解:破解签名密钥

选择性伪造

存在性伪造

攻击手段

唯密钥攻击:敌手只知道验证密钥(公钥)

已知消息攻击:敌手了解一些消息及其签名

选择消息攻击:敌手可以选择任意消息和其签名

唯密钥攻击下的存在性伪造

已知消息攻击下的存在性伪造

签名与hash函数

ElGamal签名方案

基于求解离散对数的困难性的非确定性数字签名方案

密钥生成

签名

验证

伪造签名

没有hash函数,则会产生存在性伪造

方法一:

方法二:

注意

Schnorr签名方案

密钥生成

签名

验证

参数长度

DSA数字签名

ElGamal签名的变形,并吸收了Schnorr方案的思想hash函数采用SHA-1

密钥生成

签名

验证

参数选取

[密码学] 数字签名基础相关推荐

  1. 密码学–数字签名Digital Signature五种分类

    密码学–数字签名Digital Signature五种分类 基于数字签名用途的分类 基于数学难题的分类 基于密码体制的分类 基于数字签名安全性的分类 基于签名用户的个数分类 A. 基于数字签名用途的分 ...

  2. CTF密码学-编码基础知识点总结

    CTF密码学-编码基础知识点总结 0x01 目录 常见编码: 1.ASCII编码 2.Base64/32/16编码 3.shellcode编码 4.Quoted-printable编码 5.XXenc ...

  3. 密码学相关基础二(非对称加密和数字签名篇)

    之前对称加密相关基础可以浏览https://blog.csdn.net/qq_44754515/article/details/123577250 一.密钥 1.1.定义 密钥就是一个巨大的数字 密钥 ...

  4. [密码学] 公钥密码基础与RSA

    文章目录 公钥密码学的基本观点 基本思想 公钥密码的核心  陷门单向函数 RSA加密算法 密钥生成 算法正确性 算法安全性 算法实现 相关模运算时间复杂度 解密算法提速 运用中国剩余定理(CRT) 实 ...

  5. 密码学---数字签名和认证协议---数字签名的基本概念

    数字签名的基本概念 数字签名应该满足的条件 数字签名的产生方式 由加密算法产生 单钥加密 公钥加密 实例 总结 由签名算法产生 数字签名的执行方式 直接方式 具有仲裁的方式 实例 数字签名应该满足的条 ...

  6. 密码学---数字签名和认证协议---数字签名标准

    数字签名标准 DSS的基本方式 RSA签名过程 DSS签名过程 数字签名算法DSA 全局公钥 用户私钥x 用户公钥y 用户为待签消息选取的秘密数k 签名过程 验证过程 数字签名标准(Digital S ...

  7. 密码学数论基础部分总结之 有限域GF(p) Galois Fields

    今天花了一下午的时间学习密码学的数论部分,下面将学到的内容进行一下总结,也算是加深记忆.我本身对密码学这方面比较感兴趣,而且本节出现了许多数学公式,使用刚刚学习的LaTex公式来呈现出来,练习练习,何 ...

  8. 密码学编程基础——换位加密

    换位加密原理: 换位加密就是将消息打乱,例如原文"Common sense is not so common."然后我们假如我们将密钥设置成8,然后从将原文的每个字母从1开始编号, ...

  9. 【考研—密码学数论基础】环、群、域、多项式运算

    注:下述笔记根据 学习通公开课程<数学的思维方式与创新>,部分内容并非严谨数学定义,个人理解居多. 注2:第一遍学的时候理解得太片面了,面试被问到了才意识到理解得有问题,特此重新更正 Pr ...

最新文章

  1. 编写函数实现员工信息录入和输出_编写我的第一个Linux 内核模块“hello_module”...
  2. 求职,北京,.netGIS
  3. 新晋千元王者!红米Note 8系列发布:999元起,价格真香
  4. Vegas导入PSD格式文件(素材)的方法
  5. [PYTHON]一个简单的单元測试框架
  6. catia装配体怎么把零件旋转180度_工件180度翻转装置的设计
  7. 独立站开发优化问题?
  8. select ajax加载数据,ajax 执行成功后返回j页面加载 joson 数据(加载select数据)
  9. 7654:等差数列末项计算
  10. 1000瓶水里面有一瓶毒水,通过用兔子去喝水的方式检验,只能让兔子喝一次水,那么最少用多少只兔子检验出来是哪一瓶?
  11. wannier插值能带拟合4
  12. WSL Ubuntu 20.04 LTS 升级 22.04 LTS
  13. WeChat苹果多开系统官网下载页源码
  14. 双向绑定原理(个人理解)
  15. vue前端项目启动出错处理
  16. CMakeLists学习二、链接库搜索路径与ld
  17. 以外派的身份进大厂,或许条程序员升级的途径
  18. 西安交通大学药物分析专业学硕考研上岸经验分享
  19. 如何制作及链接静态链接库。
  20. 数据结构和算法(1)写的有些乱这个系列只是给自己看的

热门文章

  1. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git
  2. 配件都包括什么_婚礼婚庆服务都包括什么
  3. 《浙江省推动数据中心能效提升行动方案(2021-2025年)》出炉
  4. 机房定期巡检报告报告,全面详实,可以参考
  5. python 面试题 博客园_python面试题
  6. sklearn之pipeline:pipeline的简介、使用技巧、案例应用之详细攻略
  7. 成功解决TypeError: Cannot cast array data from dtype('float64') to dtype('U32') according to the rule '
  8. docker 配置阿里云镜像加速
  9. Codeforces - 662A 思路巧妙的异或
  10. struts解决form提交的中文参数乱码问题