CN116074012A - 一种消息摘要生成方法、装置、计算机设备及存储介质 - Google Patents

一种消息摘要生成方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116074012A
CN116074012A CN202211397305.1A CN202211397305A CN116074012A CN 116074012 A CN116074012 A CN 116074012A CN 202211397305 A CN202211397305 A CN 202211397305A CN 116074012 A CN116074012 A CN 116074012A
Authority
CN
China
Prior art keywords
data
signature
signed
information
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211397305.1A
Other languages
English (en)
Inventor
余家乐
王为举
赵传涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Proscenic Technology Co Ltd
Original Assignee
Shenzhen Proscenic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Proscenic Technology Co Ltd filed Critical Shenzhen Proscenic Technology Co Ltd
Priority to CN202211397305.1A priority Critical patent/CN116074012A/zh
Publication of CN116074012A publication Critical patent/CN116074012A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及计算机技术领域,提出一种消息摘要生成方法、装置、计算机设备及存储介质,根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据;将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一签名算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要;基于第一信息摘要,通过预设的第二签名算法,对第一信息摘要进行第二加密处理,得到目标信息摘要。将请求数据与授权令牌组合成待签名明文串,增加了明文串的复杂性,对明文串进行两次信息摘要的提取,将提取结果作为目标消息摘要,多次计算信息摘要,提高了数据安全性。

Description

一种消息摘要生成方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种消息摘要生成方法、装置、计算机设备及存储介质。
背景技术
软件客户端发出请求,经过网络传输,到达指定的服务器端,服务器端经过运算,将请求的数据通过网络传输给客户端。在客户端与后端进行传输的过程中,特别是用户相关的信息,以明文方式的前后端传输,接口安全性极低。基于上述情况,现有技术中采用https协议通信请求以及对请求参数进行简单套用某种加密算法制作签名的方式完成互联网数据传输加密,实现互联网传输安全保护,但是这两种方式安全范围有限,信息依然可以被攻击、获取、伪造以及篡改。所以现有技术中,在数据传输的过程中存在安全性较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种消息摘要生成方法、数据验签方法、消息摘要生成装置、数据验签装置计算机设备及存储介质,以解决数据传输规程中安全性较低的问题。
本申请实施例的第一方面提供了一种消息摘要生成方法,包括:
根据接收到的请求数据,以及预先设置的运算规则,对所述请求数据进行预处理,得到待签名数据;
将所述待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对所述第一待签名明文串进行第一加密处理,得到第一信息摘要;
基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要。
本申请实施例的第二方面提供了一种数据验签方法,包括:
根据接收到的目标发送数据,对所述目标发送数据进行预处理,得到原始数据与第一签名信息;
通过预设算法,对所述原始数据进行签名处理,得到第二签名信息;
验证所述第二签名信息与所述第一签名信息,得到验证结果。
本申请实施例的第三方面提供了一种消息摘要生成装置,包括:
待签名数据获取模块,用于根据接收到的请求数据,以及预先设置的运算规则,对所述请求数据进行预处理,得到待签名数据;
第一信息摘要获取模块,用于将所述待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对所述第一待签名明文串进行第一加密处理,得到第一信息摘要;
目标信息摘要获取模块,用于基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要。
本申请实施例的第四方面提供了一种数据验签装置,包括:
预处理模块,用于根据接收到的目标发送数据,对所述目标发送数据进行预处理,得到原始数据与第一签名信息;
第二签名信息获取模块,用于通过预设算法,对所述原始数据进行签名处理,得到第二签名信息;
验证模块,用于验证所述第二签名信息与所述第一签名信息,得到验证结果。
本申请实施例的第五方面提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,该计算机指令用于使该计算机执行消息摘要生成方法、数据验签方法的各步骤。
本申请实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现消息摘要生成方法、数据验签方法的各步骤。
本发明与现有技术相比存在的有益效果是:
本申请根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据;将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一签名算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要;基于第一信息摘要,通过预设的第二签名算法,对第一信息摘要进行第二加密处理,得到目标信息摘要。将请求数据与授权令牌组合成待签名明文串,增加了明文串的复杂性,对明文串进行两次信息摘要的提取,将提取结果作为目标消息摘要,多次计算信息摘要,提高了数据安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种消息摘要生成方法的一应用环境示意图;
图2是本发明一实施例提供的一种消息摘要生成方法的流程示意图;
图3是本发明一实施例提供的一种消息摘要生成方法的流程示意图;
图4是本发明一实施例提供的一种数据验签方法的流程示意图;
图5是本发明一实施例提供的一种消息摘要生成装置的结构示意图;
图6是本发明一实施例提供的一种数据验签装置的结构示意图;
图7是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
本发明实施例提供的一种消息摘要生成方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等计算机设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参见图2,是本发明实施例提供的一种消息摘要生成方法的流程示意图,上述消息摘要生成方法可以应用于图1中的客户端,对应的计算机设备通过预设的应用程序接口(Application Programming Interface,API)连接目标数据库。在目标数据被驱动运行以执行相应的任务时,会产生对应的任务日志,通过API可以采集到上述任务日志。如图2所示,该消息摘要生成方法可以包括以下步骤:
S11:根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据。
本实施例中,根据运算规则,将请求数据转换成一组序列数据,以便后续进行签名处理。
本实施例中,将请求中的数据按照z-a的顺序进行排序,得到请求数据对应排序后的字符串。例如,若请求中的数据cks,则按照运算规则,将请求数据转换为skc,得到待签名数据。
S12:将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要。
在步骤S12中,将待签名数据与授权令牌组成待签名明文串,授权令牌为一组字符串,将授权令牌设置在待签名数据的最后组成待签名明文串,对待签名明文串进行第一次签名处理,
本实施例中,将待签名数据与授权令牌组成待签名明文串,使用SHA-3算法进行第一加密处理,对待签名明文串进行签名处理,得到第一信息摘要。SHA-3算法即是在Keccak函数的基础上实现的。SHA-3的每一个功能都是基于Keccak算法的一个实例。SHA-3算法系列由四个加密哈希函数SHA3-224、SHA3-256、SHA3-384和SHA3-512以及两个可扩展输出函数SHAKE128和SHAKE256组成。SHA-3算法的内部结构是Keccak结构,也叫海绵结构。
需要说明的是,海绵结构包含一个内部海绵结构以及预处理即数据填充模块,其中内部海绵结构包括吸入和挤出两个阶段。吸入和挤出结构内部采用的是同一个函数,Keccak-f压缩函数。与其他哈希算法不同,SHA-3算法的输入和输出长度没有限制,为任意值。SHA-3算法有几个主要参数:b、c和r,b为Keccak-f压缩函数的位宽,c是海绵结构的容量,r是海绵结构的位速率,即填充分组长度,b=r+c。其中位宽b的取值为25、50、100、200、400、800和1600,b的数值越大安全性越高,因此本设计中b的值为1600。位速率r的值与选择的SHA-3算法输出摘要值的位宽有关,位速率r反映了每轮迭代中处理的位数:r越大,处理消息的速率越快。容量c是度量海绵结构能够达到的复杂程度已经安全度。
可选地,将待签名数据,与预先获取的授权令牌组成的第一待签名明文串,通过预设的第一哈希算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要,包括:
将待第一待签名明文串进行预处理,得到标准签名数据;
通过预设的第一哈希算法,对标准签名数据进行第一加密处理,得到第一信息摘要。
本实施例中,对明文串进行预处理,预处理阶段是数据的填充操作,在进行填充操作前,为了区分不同的SHA-3算法系列,SHA-3函数提供了一种域分离方法,即在消息m末尾添加一个后缀值,然后再对其进行填充操作,其中加密哈希函数SHA3-224/256等的后缀值为2比特的“01”。
Keccak算法提供了两种海绵结构数据填充方法:简单填充和多重位速率填充。简单填充方案是:在输入数据后首先填充1比特“1”,接着后面填充若干比特“0”,“0”的个数是使得填充后的数据总长度为分组长度的整数倍的最小值,其中分组长度为即为位速率r。多重位速率填充方案与简单填充类似,首先填充一个“1”,接着填充若干个“0”,最后再填充一个“1”,其中“0”的个数为使得填充后的数据总长度为分组长度的整数倍的最小值,填充红完成后,得到固定长度的标准签名数据。
对标准签名数据进行第一加密处理,例如,若标准签名数据为:010101011110101111010100001一共27位,即l=24。先在原始的最后加一位“1”,这时一共就有28位了;再用448-28,得到还需要在再后面添加420位的“0”;再在最后用64位来表示原始消息长度“27”,得到用于标识原始消息长度的64位值为:000......00(前面一共有59位“0”)11011。填充后整个用于生成摘要的消息为512位。迭代压缩是SM3算法的关键,首先将第一个512位的消息块利用对应的压缩函数,压缩成某一固定长度的比特串;然后再将第一个512位消息块压缩后的固定长度比特串(具体长度与整个消息所划分的512位块多少有关),以及第二个512位消息块一起再利用压缩函数,又压缩成某一固定长度的比特串;然后再将这个比特串再将作为第三个512位消息块压缩运算的输入,连同第三个512位消息块一起利用压缩函数,再压缩成某一固定长度的比特串,以此类推;直到最后一个512位消息也被压缩成同样固定长度的比特串。最后再将所有这些512位消息块压缩后的固定长度比特串依次串联起来就是最终的第一信息摘要。
S13:基于第一信息摘要,通过预设的第二哈希算法,对第一信息摘要进行第二加密处理,得到目标信息摘要。
在步骤S13中,通过预设的第二哈希算法,对第一信息摘要进行第二加密处理,得到目标信息摘要,是对第一明文串进行了二次签名处理。
本实施例中,第二哈希算法使用MD5算法,MD5算法把第一信息摘要分割长度成512bit的报文消息组,每一组由16个32bit的字组成。对于每一个消息分组的处理由四圈组成,每一圈有16步,在每一圈的运算中,仅包含一个非线性函数。MD5算法对每一个消息组运算,输出结果是4个比特字的联结。这里,用表示第j个报文消息分组的输出结果。通过MD5算法得到目标消息摘要。
本申请根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据;将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一签名算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要;基于第一信息摘要,通过预设的第二签名算法,对第一信息摘要进行第二加密处理,得到目标信息摘要。将请求数据与授权令牌组合成待签名明文串,增加了明文串的复杂性,对明文串进行两次信息摘要的提取,将提取结果作为目标消息摘要,多次计算信息摘要,提高了数据安全性。
参见图3,是本发明一实施例提供的一种消息摘要生成方法的流程示意图,如图3所示,该消息摘要生成方法可以包括以下步骤:
S21:根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据;
S22:将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要;
S23:基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要。
其中,上述步骤S21至步骤S23与上述步骤S11至步骤S13的内容相同,可参考上述步骤S11至步骤S13的描述,在此不再赘述。
S24:通过签名算法,对目标信息摘要进行签名处理,得到第一签名信息,签名信息与请求数据构成目标发送数据。
本实施例中,通过对目标信息摘要进行签名处理,得到第一签名信息,进行签名处理时,通过随机数发生器生成的随机数,与椭圆基点计算椭圆曲线点,并根据预先获得的公钥与私钥,通过计算得到签名值,
需要说明的是,在对基点坐标进行预处理时,对于1到255的任意数值,将任意数值转化为二进制数值,使用二进制展开法计算椭圆曲线上的点乘坐标,任意数值二进制展开后的二进制长度最长为256位,在进行预处理的过程中,若一个256位的二进制中0和1的个数相等,倍点运算将运行256次,点加运算将运行128次,所以当任意数值的二进制展开数为256位时,需要执行多次的倍点运算和多次点加运算。
通过签名算法,对目标信息摘要进行签名处理,得到第一签名信息,签名信息与请求数据构成目标发送数据。对目标信息摘要进行签名处理,复杂的的信息摘要提高了数据安全性。
请参阅图4,图4示出了本申请实施例提供的一种数据验签方法实现流程图。
S41:根据接收到的目标发送数据,对目标发送数据进行预处理,得到原始数据与第一签名信息。
在步骤S41中,目标发送数据为已签名的数据,将已签名的数据分为原始数据与第一签名信息,
本实施例中,对接收到的目标发送数据进行拆包处理,将目标发送数据拆分为原始数据与第一签名信息。
S42:通过预设算法,对原始数据进行签名处理,得到第二签名信息数据;
在步骤S42中,预设算法为通过随机数发生器生成的随机数,与椭圆基点计算椭圆曲线点,并根据预先获得的公钥与私钥,通过计算得到第二信息数据。
本实施例中,通过随机数生成器生成随机数,根据椭圆曲线算法得到椭圆曲线坐标,并根据预先获得的公钥与私钥,通过计算得到第二信息数据。
可选地,通过预设算法,对原始数据进行签名处理,得到第二签名信息,包括:
通过预先设置的运算规则,对原始数据进行预处理,得到目标待签名数据;
将目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一哈希算法,对第二待签名明文串进行第一加密处理,得到第二信息摘要;
基于第二信息摘要,通过预设的第二哈希算法,对第二信息摘要进行第二加密处理,得到验签目标信息摘要;
通过签名算法,对验签目标信息摘要进行签名处理,得到第二签名信息。
本实施例中,对原始数据进行倒序排序处理,得到目标待签名数据。将目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一哈希算法,对第二待签名明文串进行第一加密处理,得到第二信息摘要,其中第一哈希算法为SHA-3算法。基于第二信息摘要,通过预设的第二哈希算法,对第二信息摘要进行第二加密处理,得到验签目标信息摘要;其中,第二哈希算法为MD5算法。通过签名算法,对验签目标信息摘要进行签名处理,得到第二签名信息。签名时,通过随机数发生器生成的随机数,与椭圆基点计算椭圆曲线点,并根据预先获得的公钥与私钥,通过计算得到签名值。
可选地,将目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一签名算法,对第二待签名明文串进行第一加密处理,得到第二信息摘要,包括:
将所第二待签名明文串进行预处理,得到目标标准签名数据;
通过预设的第一签名算法,对目标标准签名数据进行第一加密处理,得到第二信息摘要。
对第二待签名明文串进行预处理,对待签名明文串进行预处理,预处理阶段是数据的填充操作,在进行填充操作前,为了区分不同的SHA-3算法系列,SHA-3函数提供了一种域分离方法,即在消息m末尾添加一个后缀值,然后再对其进行填充操作,其中加密哈希函数SHA3-224/256等的后缀值为2比特的“01”。
S43:验证第二签名信息与第一签名信息,得到验证结果。
在步骤S43中,第二签名信息为后端根据接收到的目标发送数据计算得到的签名信息,第一签名信息为根据前端发送的请求数据计算得到的签名数据。验证第一签名信息与第二签名信息是否相等,得到验证结果,从而判断后端接收到的数据是否为前端发送的数据。
本实施例中,提取第一签名信息中的第一个数据与第二签名信息中的第第一个数据进行比对,提取第签名信息中的第二个数据与第二签名信息中的第二个数据进行比对,当比对结果都正确时,认为后端接收到的数据与前端发送的请求数据是相同的。否则认为后端接收到的数据与前端发送的请求数据是不相同的。
请参阅图5,图5是本发明实施例提供的一种消息摘要生成装置的结构示意图。本实施例中该移动终端包括的各单元用于执行图2至图3对应的实施例中的各步骤。具体请参阅图2至图3以及图2至图3所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图5,消息摘要生成装置50包括:
待签名数据获取模块51,用于根据接收到的请求数据,以及预先设置的运算规则,对请求数据进行预处理,得到待签名数据;
第一信息摘要获取模块52,用于将待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对第一待签名明文串进行第一加密处理,得到第一信息摘要;
目标信息摘要获取模块53,用于基于第一信息摘要,通过预设的第二哈希算法,对第一信息摘要进行第二加密处理,得到目标信息摘要。
可选的是,上述第一信息摘要获取模块52包括:
标准签名数据获取单元,用于将待第一待签名明文串进行预处理,得到标准签名数据;
第一信息摘要获取单元,用于通过预设的第一哈希算法,对标准签名数据进行第一加密处理,得到第一信息摘要。
可选的是,上述消息摘要生成装置50还包括:
签名单元,用于通过签名算法,对目标信息摘要进行签名处理,得到第一签名信息,签名信息与请求数据构成目标发送数据。
请参阅图6,图6是本发明实施例提供的一种数据验签装置的结构示意图。本实施例中该移动终端包括的各单元用于执行图4对应的实施例中的各步骤。具体请参阅图4以及图4所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,数据验签装置60包括:
预处理模块61,用于根据接收到的目标发送数据,对目标发送数据进行预处理,得到原始数据与第一签名信息;
第二签名信息获取模块62,用于通过预设算法,对原始数据进行签名处理,得到第二签名信息;
验证模块63,用于验证第二签名信息与第一签名信息,得到验证结果。
可选地,上述第二签名信息获取模块62,包括:
目标待签名数据获取单元,用于通过预先设置的运算规则,对原始数据进行预处理,得到目标待签名数据;
第二信息摘要获取单元,用于将目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一哈希算法,对第二待签名明文串进行第一加密处理,得到第二信息摘要;
目标信息摘要获取单元,用于基于第二信息摘要,通过预设的第二哈希算法,对第二信息摘要进行第二加密处理,得到验签目标信息摘要;
第二签名信息获取单元,用于通过签名算法,对验签目标信息摘要进行签名处理,得到第二签名信息。
预处理子单元,用于可将所第二待签名明文串进行预处理,得到目标标准签名数据;
选地,上述第二信息摘要获取单元,包括:
第一签名子单元,用于通过预设的第一哈希算法,对目标标准签名数据进行第一加密处理,得到第二信息摘要。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图7是本发明实施例提供的一种计算机设备的结构示意图。如图7所示,该实施例的计算机设备包括:至少一个处理器(图7中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个中的步骤。
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图7仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种消息摘要生成方法,其特征在于,包括:
根据接收到的请求数据,以及预先设置的运算规则,对所述请求数据进行预处理,得到待签名数据;
将所述待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对所述第一待签名明文串进行第一加密处理,得到第一信息摘要;
基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要。
2.如权利要求1所述的消息摘要生成方法,其特征在于,所述将所述待签名数据,与预先获取的授权令牌组成的第一待签名明文串,通过预设的第一哈希算法,对所述第一待签名明文串进行第一加密处理,得到第一信息摘要,包括:
将所述待第一待签名明文串进行预处理,得到标准签名数据;所述标准数据为具有标准长度的数据;
通过预设的第一哈希算法,对所述标准签名数据进行第一加密处理,得到第一信息摘要。
3.如权利要求1所述的消息摘要生成方法,其特征在于,所述基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要之后,还包括:
通过签名算法,对所述目标信息摘要进行签名处理,得到第一签名信息,所述签名信息与所述请求数据构成目标发送数据。
4.一种数据验签方法,其特征在于,包括:
根据接收到的目标发送数据,对所述目标发送数据进行预处理,得到原始数据与第一签名信息;所述原始数据为待验签数据;
通过预设算法,对所述原始数据进行签名处理,得到第二签名信息;
验证所述第二签名信息与所述第一签名信息,得到验证结果。
5.如权利要求4所述的数据验签方法,其特征在于,所述通过预设算法,对所述原始数据进行签名处理,得到第二签名信息,包括:
通过预先设置的运算规则,对所述原始数据进行预处理,得到目标待签名数据;
将所述目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一哈希算法,对所述第二待签名明文串进行第一加密处理,得到第二信息摘要;
基于所述第二信息摘要,通过预设的第二哈希算法,对所述第二信息摘要进行第二加密处理,得到验签目标信息摘要;
通过签名算法,对所述验签目标信息摘要进行签名处理,得到第二签名信息。
6.如权利要求5所述的数据验签方法,其特征在于,所述将所述目标待签名数据,与预先获取的授权令牌组成的第二待签名明文串,通过预设的第一哈希算法,对所述第二待签名明文串进行第一加密处理,得到第二信息摘要,包括:
将所第二待签名明文串进行预处理,得到目标标准签名数据;所述目标标准签名数据为具有标准长度的数据;
通过预设的第一哈希算法,对所述目标标准签名数据进行第一加密处理,得到第二信息摘要。
7.一种消息摘要生成装置,其特征在于,所述装置包括:
待签名数据获取模块,用于根据接收到的请求数据,以及预先设置的运算规则,对所述请求数据进行预处理,得到待签名数据;
第一信息摘要获取模块,用于将所述待签名数据,与预先获取的授权令牌组成第一待签名明文串,通过预设的第一哈希算法,对所述第一待签名明文串进行第一加密处理,得到第一信息摘要;
目标信息摘要获取模块,用于基于所述第一信息摘要,通过预设的第二哈希算法,对所述第一信息摘要进行第二加密处理,得到目标信息摘要。
8.一种数据验签装置,其特征在于,所述装置包括:
预处理模块,用于根据接收到的目标发送数据,对所述目标发送数据进行预处理,得到原始数据与第一签名信息;
第二签名信息获取模块,用于通过预设算法,对所述原始数据进行签名处理,得到第二签名信息;
验证模块,用于验证所述第二签名信息与所述第一签名信息,得到验证结果。
9.一种终端设备,其特征在于,所述终端设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的消息摘要生成方法与如权利要求4至6任一项所述的数据验签方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的消息摘要生成方法与如权利要求4至6任一项所述的数据验签方法。
CN202211397305.1A 2022-11-09 2022-11-09 一种消息摘要生成方法、装置、计算机设备及存储介质 Pending CN116074012A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211397305.1A CN116074012A (zh) 2022-11-09 2022-11-09 一种消息摘要生成方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211397305.1A CN116074012A (zh) 2022-11-09 2022-11-09 一种消息摘要生成方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116074012A true CN116074012A (zh) 2023-05-05

Family

ID=86182808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211397305.1A Pending CN116074012A (zh) 2022-11-09 2022-11-09 一种消息摘要生成方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116074012A (zh)

Similar Documents

Publication Publication Date Title
EP3665858B1 (en) Verification of interactions system and method
US9698993B2 (en) Hashing prefix-free values in a signature scheme
Aumasson et al. The hash function BLAKE
US8392713B2 (en) Secure offline activation process for licensed software application programs
EP2658166A2 (en) Multiple hashing in a cryptographic scheme
US20130290713A1 (en) Hashing prefix-free values in a certificate scheme
CN110505067B (zh) 区块链的处理方法、装置、设备及可读存储介质
CA2692817A1 (en) Method of compressing a cryptographic value
CN109493054B (zh) 多链信息管理方法、装置、存储介质和区块链身份解析器
US20210248598A1 (en) Generating emoji sequence identifications to identify wallet addresses for blockchain wallets
CN112560091A (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
CN111161075B (zh) 区块链交易数据证明监管方法、系统及相关设备
CN112163412A (zh) 数据校验方法、装置、电子设备及存储介质
CN116455580A (zh) 消息签名方法、装置、设备及可读存储介质
CN112184441A (zh) 数据处理方法、装置、节点设备及存储介质
CN111931204A (zh) 用于分布式系统的加密去重存储方法、终端设备
CN114640463B (zh) 一种数字签名方法、计算机设备及介质
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
CN116074012A (zh) 一种消息摘要生成方法、装置、计算机设备及存储介质
CN111447072B (zh) 用于生成数据等价零知识证明的方法、设备及存储介质
CN114567448A (zh) 一种协同签名方法以及协同签名系统
KR102019558B1 (ko) 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
Gupta Integrity auditing with attribute based ECMRSA algorithm for cloud data outsourcing
Park et al. A study on the processing and reinforcement of message digest through two-dimensional array masking
CN112054894B (zh) 一种基于sm2的批量验证方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination