(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211056172.1 (22)申请日 2022.08.30 (71)申请人 杭州趣链科技有限公司 地址 310051 浙江省杭州市滨江区丹 枫路 399号2号楼 A楼2001室 (72)发明人 黄方蕾 邱炜伟 崔璨 张珂杰  乔沛杨  (74)专利代理 机构 深圳智汇远见知识产权代理 有限公司 4 4481 专利代理师 蒋学超 (51)Int.Cl. H04L 9/32(2006.01) H04L 9/06(2006.01) H04L 9/24(2006.01) H04L 9/30(2006.01)G06F 9/50(2006.01) (54)发明名称 数字签名及验签方法、 装置、 设备及计算机 可读介质 (57)摘要 本申请涉及一种数字签名及验签方法、 装 置、 设备及计算机可读介质。 该方法包括: 接收第 一对象发送的签名请求, 所述签名请求包括待签 名数据和目标私钥, 其中, 待签名数据为第一对 象在接受目标业务的服务时由目标业务产生的 业务数据, 目标私钥与目标公钥组成密钥对, 密 钥对为第一对象生成的; 调取GPU端上的签名服 务, 并将待签名数据和目标私钥输入签名服务, 以基于GPU端上的签名服务, 利用目标私钥对待 签名数据进行签名, 得到携带有数字签名的目标 数据; 接收所述 GPU端返回的所述目标数据, 将目 标数据返回给第一对象。 本申请解决大体量项目 应用中核心业务与签名验签方法高度耦合导致 开发难度大, 服 务器性能不佳的技 术问题。 权利要求书4页 说明书16页 附图4页 CN 115442053 A 2022.12.06 CN 115442053 A 1.一种数字签名方法, 其特 征在于, 包括: 接收第一对象发送的签名请求, 所述签名请求包括待签名数据和目标私钥, 其中, 所述 待签名数据为所述第一对象在接受目标业务的服务时由所述目标业务产生的业务数据, 所 述目标私钥与目标公钥组成密钥对, 所述密钥对为所述第一对象生成的; 调取GPU端上的签名服务, 并将所述待签名数据和所述目标私钥输入所述签名服务, 以 基于所述GPU端 上的所述签名服务, 利用所述目标私钥对 所述待签名数据进 行签名, 得到携 带有数字签名的目标 数据; 接收所述GPU 端返回的所述目标 数据, 将所述目标 数据返回给 所述第一对象。 2.根据权利要求1所述的方法, 其特征在于, 所述基于所述GPU端上的所述签名服务, 利 用所述目标私钥对所述待签名数据进行签名, 得到携带有数字签名的目标 数据包括: 置 其中, M为所述待签名数据, ZA为级联字节流(ENTL||ID||a||b||x_G||y_G ||x_A||y_A)的SM3杂凑值, “||”表示字节流的拼接, ENTL是用两个字节表示的所述第一对 象的数据标识的比特长度, ID为所述第一对象 的所述数据标识, a、 b、 x_ G以及y_G是SM2曲线 标准中给定的值, x_A和y_A为所述第一对象提供的所述目标公钥; 确定 其中, Hv为SM3哈希算法, e为所述待签名数据的哈希值, e的数据 类型为 整数; 用随机数发生器产生随机数k∈[1,n ‑1], 并基于所述随机数k确定椭圆曲线上的目标 点(x1,y1)=[k]G, 其中, x1的数据类型为整数, G为SM2曲线的基点, n为SM2曲线标准中给定 的值; 确定r=(e+x1)mod n、 s=(1+dA)‑1·(k‑r·dA)mod n, 得到所述数字签名(r,s); 在r=0、 r+k=n以及s=0三个条件出现其中任意一个的情况下, 重新产生随机数进行 签名。 3.根据权利要求1所述的方法, 其特征在于, 所述调取GPU端上的签名服务, 并将所述待 签名数据和所述目标私钥输入所述签名服 务之前, 所述方法还 包括: 将所述第一对象的对象信 息作为数据标识嵌入到所述待签名数据中, 并将所述数据标 识作为当前签名任务的格式化标识, 以使所述GPU端根据所述格式化标识为对应的所述当 前签名任务分配内核; 将多个待处理任务填充至一个数据包后打包发送给所述GPU端, 其中, 所述待处理任务 包括签名任务和/或验签任务, 所述待处 理任务的数量 为32的整数倍。 4.根据权利要求3所述的方法, 其特 征在于, 所述调取GPU 端上的签名服 务包括: 向所述GPU 端发送资源查询请求; 接收所述GPU端响应所述资源查询请求返回的GPU可用资源, 其中, 所述GPU可用资源包 括可用GPU数量、 每个可用GPU的可用计算资源量以及每个可用GPU的显存数量中的至少一 种; 根据包含所述当前签名任务的所述数据包的任务量和所述GPU可用资源, 对所述GPU的 多个内核进行初始 化, 以在所述多个内核中为所述当前签名任务分配的目标内核 上启动所 述签名服 务。 5.根据权利要求1所述的方法, 其特征在于, 所述调取GPU端上的签名服务, 并将所述待权 利 要 求 书 1/4 页 2 CN 115442053 A 2签名数据和所述目标私钥输入所述签名服 务之前, 所述方法还 包括: 将所述待签名数据中的点坐标由仿射坐标系转换为雅可比坐标系之后, 再调取所述 GPU端上的所述签名服 务。 6.根据权利要求1所述的方法, 其特 征在于, 所述将所述待签名数据和所述目标私钥输入所述签名服务包括: 将所述待签名数据和 所述目标私钥按照第一数据结构进行组织排布后输入到所述签名服务中, 其中, 所述第一 数据结构用于使所述签名服务访问所述待签名数据和所述目标私钥时减少产生的访存事 务的数量; 所述接收所述GPU端返回的所述目标数据包括: 接收所述GPU端对处理结果按照第二数 据结构进行组织排布后返回的所述 目标数据, 其中, 所述第二数据结构用于减少内存缺页 的数量。 7.根据权利要求1所述的方法, 其特征在于, 在接收到多个签名请求的情况下, 所述方 法还包括: 将多个所述签名请求缓存至目标队列; 按照预设分配策略将多个所述签名请求分配至多个GPU内核, 以使多个所述GPU内核按 照并行执行策略在所述目标队列中读取并处理所述签名请求, 其中, 每个所述GPU内核同时 处理至少一个所述签名请求。 8.一种验签方法, 其特 征在于, 包括: 接收第二对象发送的验签请求, 所述验签请求包括待验签数据和目标公钥, 其中, 所述 待验签数据为第一对象在接受目标业务的服务时对所述目标业务产生的业务数据进行签 名得到的, 所述目标公钥与目标私钥组成密钥对, 所述密钥对为所述第一对象生成的; 调取GPU端上的验签服务, 并将所述待验签数据和所述目标公钥输入所述验签服务, 以 基于所述GPU端 上的所述验签服务, 利用所述目标公钥对 所述待验签数据进 行验签, 得到验 签结果; 接收所述GPU 端返回的所述验签结果, 将所述验签结果返回给 所述第二对象。 9.根据权利要求8所述的方法, 其特征在于, 调取GPU端上的验签服务, 并将待验签数据 和目标公钥输入 验签服务之前, 所述方法还 包括: 将第二对象的对象信 息作为数据标识嵌入到所述待验签数据中, 并将数据标识作为当 前验签任务的格式化标识, 以使GPU 端根据格式化标识为对应的当前验签任务分配内核; 将多个待处理任务填充至一个数据包后打包发送给GPU端, 其中, 待处理任务包括签名 任务和/或验签任务, 待处 理任务的数量 为32的整数倍。 10.根据权利要求8所述的方法, 其特 征在于, 调取GPU 端上的验签服 务包括: 向GPU端发送资源查询请求; 接收GPU端响应资源查询请求返回的GPU可用资源, 其中, 所述GPU可用资源包括可用 GPU数量、 每 个可用GPU的可用计算资源量以及每 个可用GPU的显存数量中的至少一种; 根据包含当前验签任务的数据包的任务量和GPU可用资源, 对GPU的多个内核进行初始 化, 以在多个内核中为当前验签任务分配的目标内核上启动验签服 务。 11.根据权利要求8所述的方法, 其特征在于, 所述待验签数据为M ′, 待验签数据中包括 数字签名(r ′,s′); 基于GPU端 上的验签服务, 利用目标公钥对待验签数据进 行验签, 得到验权 利 要 求 书 2/4 页 3 CN 115442053 A 3

.PDF文档 专利 数字签名及验签方法、装置、设备及计算机可读介质

安全报告 > 其他 > 文档预览
中文文档 25 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共25页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 数字签名及验签方法、装置、设备及计算机可读介质 第 1 页 专利 数字签名及验签方法、装置、设备及计算机可读介质 第 2 页 专利 数字签名及验签方法、装置、设备及计算机可读介质 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-03-03 20:13:25上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。