支持SM3密码杂凑算法和SM2数字签名算法的PDF签名方法,其特征在于,包括以下步骤:

1)发送端发送待签名的PDF文档;

2)接收端存在签名者的数字证书,接收端获取PDF文档,对签名者的数字证书的有效性进行检查;

3)用SM3密码杂凑算法对获取的PDF文档进行摘要,产生待签名的摘要消息;

4)用SM2数字签名算法和签名者数字证书中的私有密钥对步骤三产生的待签名的摘要消息进行签名,产生数字签名值;

5)对步骤四生成的数字签名值进行校验,根据校验结果判断数字签名是否有效,若有效则进行步骤六,若无效重新执行步骤三;

6)用产生的数字签名值和签名者的数字证书生成CAdES格式的签名体,并将其与PDF文档合成含有本次数字签名的PDF文档,完成PDF签名。

将SM3密码杂凑算法和SM2数字签名算法应用到PDF签名中去,使得数字签名更安全,快速和可靠!

SM3密码杂凑算法和SM2数字签名算法的PDF签名方法相关推荐

  1. android杂凑算法,SM3密码杂凑算法分析

    SM3密码杂凑算法分析 杂凑函数在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域.杂凑函数通常被认为需要满足三个基本特性:碰撞稳固性,原根稳固性和第二原根稳固性.2005 ...

  2. 国密SM3密码杂凑算法原理及实现(附源码)

    相关文章: 国密SM3哈希算法原理及实现(附源码) SHA1哈希算法原理及实现(附源码) MD5哈希算法原理及实现(附源码) MD4哈希算法原理及实现(附源码) MD2哈希算法原理及实现(附源码) M ...

  3. 原味的SM3密码杂凑算法

    根据国家密码管理局官网发布的规范文档里的算法描述,对SM3密码杂凑算法进行了原汁原味的实现.代码里的函数.变量名称都尽量使用算法描述中的名称,尽量遵循算法描述的原始步骤,不使用算法技巧进行处理. 算法 ...

  4. RSA算法和RSA数字签名算法

    一.引言 随着网络技术的飞速发展,信息安全性已成为亟待解决的问题.公钥密码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起保密通信,较好地解决了传统密码体制在网络通信中 ...

  5. SM3密码杂凑算法源码解析

    1.在SM3算法源文件中主要有以下几个函数: void sm3_starts( sm3_context *ctx ); void sm3_update( sm3_context *ctx, unsig ...

  6. js 实现2的n次方计算函数_密码杂凑函数的基本性质探讨

    密码学研究的宗旨是保证数据和通信的机密性.完整性和认证性,其中完整性和认证性的实现依赖于一类关键的密码学函数---密码杂凑函数.密码杂凑函数通常用来计算数据的短"指纹"(也称杂凑值 ...

  7. 国密SM2数字签名算法

    SM2是基于椭圆曲线的数字签名算法,关于椭圆曲线的解释可以常见前一篇关于椭圆曲线的微博,下面概要的介绍一下SM2签名的过程. 对于要签名的信息ee,这个是原始信息经过一定的处理通过散列函数得到的,散列 ...

  8. smoteenn算法_基于EasyEnsemble算法和SMOTE算法的不均衡数据分类方法与流程

    本发明涉及不均衡数据二分类技术领域,尤其涉及一种基于EasyEnsemble算法和SMOTE算法的不均衡数据二分类方法. 背景技术: 数据不均衡指的是在一个样本数据集中,某一类的样本数远少于其他类的样 ...

  9. php如何做md5签名,MD5数字签名算法:生成签名和验签(附代码)

    一.背景 为了增加接口的安全性(防止中间人攻击),现增加签名算法.此算法参考微信支付中的签名算法,由于该签名针对前后端,采用了对称算法,如后续接口供给多家第三方接口使用可采用非对称算法.大致整理文档供 ...

  10. MD5数字签名算法:生成签名和验签(附代码)

    一.背景 为了增加接口的安全性(防止中间人攻击),现增加签名算法.此算法参考微信支付中的签名算法,由于该签名针对前后端,采用了对称算法,如后续接口供给多家第三方接口使用可采用非对称算法.大致整理文档供 ...

最新文章

  1. 虚拟化数据中心服务器硬件配置建议
  2. 一个用python做的完整项目_我从一个小项目学习Python编程的全过程(二)
  3. 了解 SharePoint 2010 开发中的关键点
  4. 为什么编程语言以及数据库要从1970年1月1日开始计算时
  5. 食物在人体内消化主要经过哪些步骤
  6. Flink State
  7. codeforces629C Famil Door and Brackets (dp)
  8. Atitit.常用的gc算法
  9. 【数据结构实验一】线性表
  10. 生信软件的下载与使用方法总结
  11. 如何用python做动画_如何使用python制作简单的动画?
  12. 【毕业设计】深度学习垃圾分类系统 - python 卷积神经网络
  13. 痞子衡嵌入式:在i.MXRT1170上启动含DQS的Octal Flash可不严格设Dummy Cycle (以MT35XU512为例)...
  14. 周育如 K.K 音標英文教學 (自然發音)总结
  15. FAF世链区块链大会|DarkHorse商学院院长何沐庭:看好DeFi的未来
  16. Apache-Flink深度解析-JOIN-LATERAL-Time Interval(Time-windowed)
  17. SC、ST、FC、LC光纤接头区别
  18. 解除Windows 10休眠时自动唤醒设置
  19. AMCL代码详解(五)根据激光观测更新粒子权重
  20. 一打卡作弊软件被指破坏钉钉系统:CEO 被判 5 年 6 个月

热门文章

  1. TFTP 服务器的配置
  2. CCNA学习指南记录
  3. 解决windows 您没有权限访问\\192.168.1.X(局域网) 请与网络管理员联系请求访问权限
  4. 超实用的JavaScript代码大全
  5. vfp语言属于第代计算机语言,计算机等级考试VFP教程:第二章VFP语言基础
  6. flash计算机硬件,实测Flash在硬件加速下的对比
  7. 土豆聊天poeato Chat注册账号时提示网络刺错误怎么解决
  8. 模式识别和机器学习重点算法总结篇
  9. junsansi 列表(4) - 三思笔记,ORACLE学习轨迹~~~~ - ITPUB个...
  10. eclipse安装教程(win10版本,很全的)