CN110781140B - 区块链中数据签名的方法、装置、计算机设备及存储介质 - Google Patents

区块链中数据签名的方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110781140B
CN110781140B CN201910842139.3A CN201910842139A CN110781140B CN 110781140 B CN110781140 B CN 110781140B CN 201910842139 A CN201910842139 A CN 201910842139A CN 110781140 B CN110781140 B CN 110781140B
Authority
CN
China
Prior art keywords
random number
information
array
data
signature
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.)
Active
Application number
CN201910842139.3A
Other languages
English (en)
Other versions
CN110781140A (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910842139.3A priority Critical patent/CN110781140B/zh
Publication of CN110781140A publication Critical patent/CN110781140A/zh
Priority to PCT/CN2020/099555 priority patent/WO2021042851A1/zh
Application granted granted Critical
Publication of CN110781140B publication Critical patent/CN110781140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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

Abstract

本发明公开了一种区块链中数据签名的方法、装置、计算机设备及存储介质,该区块链中数据签名的方法在进行数字签名的过程中通过随机数缓存通道提前缓存随机数数组,签名时直接通过随机数缓存通道获取随机数,从而绕开可能因多线程并发签名时引起的文件锁竞争,更好地保证了CPU的性能,提高了处理器的并发能力。并且,通过将签名信息进行多次哈希运算之后再进行加密,能够很好地保证数据不轻易受到篡改,也保证了数据的安全性。

Description

区块链中数据签名的方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种区块链中数据签名的方法、装置、计算机设备及存储介质。
背景技术
区块链一般被理解为一个分布式账本,它的本质也是一个分布式的数据库。在联盟链场景中,为保证提议阶段的数据不被篡改,提议请求中的内容数据都需要签名,而在签名的过程需要用到一个随机数字节数组。在现有的系统中,获取随机数字节数组是通过urandom文件锁实现的。然而,每次数据签名都需要实时调用系统资源来获取随机数,耗时过长。并且当多个线程同时需要进行数据的签名时,容易引发文件锁的竞争,进而影响CPU本身的性能,降低了处理器的并发能力。
发明内容
本发明实施例提供一种区块链中数据签名的方法、装置、计算机设备及存储介质,以解决数据签名过程中影响处理器的并发能力的问题。
一种区块链中数据签名的方法,包括:
获取数据签名请求,所述数据签名请求包括签名信息;
根据所述数据签名请求获取节点身份信息和签名密钥;
将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
对所述待签名信息进行哈希运算,得到第一哈希数;
从随机数缓存通道中获取一随机数数组,作为签名随机数;
对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
将所述加密哈希数和节点身份信息发送至客户端。
一种区块链中数据签名的装置,包括:
签名请求获取模块,用于获取数据签名请求,所述数据签名请求包括签名信息;
签名密钥获取模块,用于根据所述数据签名请求获取节点身份信息和签名密钥;
组合模块,用于将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
第一哈希运算模块,用于对所述待签名信息进行哈希运算,得到第一哈希数;
随机数获取模块,用于从随机数缓存通道中获取一随机数数组,作为签名随机数;
第二哈希运算模块,用于对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
加密模块,用于通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
发送模块,用于将所述加密哈希数和节点身份信息发送至客户端。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链中数据签名的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链中数据签名的方法的步骤。
上述区块链中数据签名的方法、装置、计算机设备及存储介质中,在获取数据签名请求之后,根据所述数据签名请求获取节点身份信息和签名密钥;再将所述签名信息和所述节点身份信息组合,得到待签名信息;将所述待签名信息进行哈希运算,得到第一哈希数;从随机数缓存通道中获取一随机数数组,作为签名随机数;对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;最后将所述加密哈希数和节点身份信息发送至客户端。该方法在进行数字签名的过程中通过随机数缓存通道提前缓存随机数数组,签名时直接通过随机数缓存通道获取随机数,从而绕开可能因多线程并发签名时引起的文件锁竞争,更好地保证了CPU的性能,提高了处理器的并发能力。并且,通过将签名信息进行多次哈希运算之后再进行加密,能够很好地保证数据不轻易受到篡改,也保证了数据的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中区块链中数据签名的方法的一应用环境示意图;
图2是本发明一实施例中区块链中数据签名的方法的一流程图;
图3是本发明一实施例中区块链中数据签名的方法的另一流程图;
图4是本发明一实施例中区块链中数据签名的方法的另一流程图;
图5是本发明一实施例中区块链中数据签名的方法的另一流程图;
图6是本发明一实施例中区块链中数据签名的方法的另一流程图;
图7是本发明一实施例中区块链中数据签名的装置的一示意图;
图8是本发明一实施例中区块链中数据签名的装置的另一示意图;
图9是本发明一实施例中区块链中数据签名的装置的另一示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的区块链中数据签名的方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务端进行通信。服务端获取客户端发送的数据签名请求,所述数据签名请求包括签名信息;根据所述数据签名请求获取节点身份信息和签名密钥;将所述签名信息和所述节点身份信息进行组合,得到待签名信息;将所述待签名信息进行哈希运算,得到第一哈希数;从随机数缓存通道中获取一随机数数组,作为签名随机数;对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;将所述加密哈希数和节点身份信息发送至客户端。其中,客户端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种区块链中数据签名的方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:获取数据签名请求,所述数据签名请求包括签名信息。
其中,所述数据签名请求为对数据发起签名的触发请求。可选地,该数据签名请求可以由客户端发起,也可以由服务端触发。数据签名请求中包括签名信息,该签名信息可以为原始的需要进行签名的数据,也可以为经过处理后的签名数据。示例性地,可以为需要进行签名的数据进行哈希运算,得到一个哈希值,构成签名信息。在此场景下,也可以由客户端发送需要进行签名的数据到服务端,服务端再对该需要进行签名的数据进行哈希运算,得到一个哈希值,构成签名信息,进而生成一个数据签名请求。
S20:根据所述数据签名请求获取节点身份信息和签名密钥。
具体地,可以根据数据签名请求的发送端(客户端)对应的标识来获取到该发送端对应的节点身份信息和签名密钥。节点身份信息为对应客户端的身份信息,该身份信息可以通过不同的形式来体现,例如数字、字母、符号或者文字中的至少一项。签名密钥为不同客户端所携带的密钥。
可选地,可以通过查询本地MSP(Membership service provider)信息获取节点身份信息和签名密钥。MSP是一个提供虚拟成员操作的管理框架的组件。MSP抽取出签发和验证证书以及用户认证背后的所有加密机制和协议。MSP可以定义自己的身份概念,以及这些身份管理的规则(身份验证)和身份验证(签名生成和验证)。
S30:将所述签名信息和所述节点身份信息组合,得到待签名信息。
具体地,可以直接将所述签名信息和所述节点身份信息组合在一起,形成待签名信息。示例性地,可以按照“签名信息+节点身份信息”或者“节点身份信息+签名信息”的方式进行组合,得到待签名信息。进一步地,也可以将节点身份信息插入到签名信息中的任一位置中,并形成一位置标识,以供后续验证时做对应的操作,进一步提供了数据的安全性。
S40:对所述待签名信息进行哈希运算,得到第一哈希数。
哈希运算通常通过哈希函数实现,哈希函数(Hash Function),也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要(MessageDigest)。哈希函数是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。示例性地,可以通过MD5、SHA-1或SHA-2算法对所述待签名信息进行哈希运算。由于MD5加密算法生成的是32位MD5码,SHA加密算法生成的是40位SHA码,所以在密码分析的安全性上,使用SHA加密算法(SHA-1或SHA-2算法)加密比使用MD5算法加密更不易受密码分析的攻击;在运行速度上,使用MD5算法加密比使用SHA算法加密的运行速度更快,性能更高。因此,在考虑数据加密的加密速度时,可以选择MD5加密算法,在考虑数据加密的安全性时,可以选择SHA加密算法。通过将待签名信息进行哈希运算,得到一个预设位数的第一哈希数。示例性地,该第一哈希数为一个32位的哈希数。
S50:从随机数缓存通道中获取一随机数数组,作为签名随机数。
随机数缓存通道为预先建立的一个缓存通道,用以缓存随机数组。该随机数缓存通道可以通过启动一个协程来实现。预先定义一个随机数缓存通道,再往该随机数缓存通道中存入生成的随机数组。传统的获取随机数字节数组的方式是通过urandom文件锁实现的。然而,每次数据签名都需要实时调用系统资源来获取随机数,耗时过长。并且当多个线程同时需要进行数据的签名时,容易引发文件锁的竞争。在本实施例中该步骤从从随机数缓存通道中获取一随机数数组,作为签名随机数,可以直接通过随机数缓存通道获取随机数,从而绕开可能因多线程并发签名时引起的文件锁竞争。可选地,该签名随机数为一个32位的随机数数组。
S60:对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数。
在该步骤中,将所述签名密钥、所述签名随机数和所述第一哈希数进行整合之后再进行一次哈希运算,得到一个第二哈希数。可选地,可以通过SHA-512算法对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数。
S70:通过非对称加密算法对第二哈希数进行加密,得到加密哈希数。
非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。由于加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。对于每一节点,都预先分配了公钥和私钥。可选地,可以通过一个密钥管理中心来为每一节点(客户端)生成密钥对(公钥和私钥)。密钥管理中心(KMC,Key ManagementCenter)是公钥基础设施中的一个重要组成部分,负责为认证中心(CA,CertificationAuthority)系统提供密钥的生成、保存、备份、更新、恢复或查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。通过该节点的私钥采用非对称加密算法对第二哈希数进行加密,得到加密哈希数。可选地,可以采用RSA或Elgamal等非对称加密算法对第二哈希数进行加密。
S80:将所述加密哈希数和节点身份信息发送至客户端。
将完成数据签名之后的加密哈希数和节点身份信息发送至客户端。
在本实施例中,在获取数据签名请求之后,根据所述数据签名请求获取节点身份信息和签名密钥;再将所述签名信息和所述节点身份信息组合,得到待签名信息;将所述待签名信息进行哈希运算,得到第一哈希数;从随机数缓存通道中获取一随机数数组,作为签名随机数;对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;最后将所述加密哈希数和节点身份信息发送至客户端。该方法在进行数字签名的过程中通过缓存的channel提前缓存随机数数组,签名时直接通过channel获取随机数,从而绕开可能因多线程并发签名时引起的文件锁竞争,更好地保证了CPU的性能,提高了处理器的并发能力。并且,通过将签名信息进行多次哈希运算之后再进行加密,能够很好地保证数据不轻易受到篡改,也保证了数据的安全性。
在一个实施例中,如图3所示,所述将所述签名信息和所述节点身份信息组合,可以包括:
S31:采用随机函数生成一随机数。
预先设定生成的随机数的范围,采用随机函数生成一个随机数。可选地,可以采用rand()函数来生产随机数。该随机数的范围可以根据签名信息或者所述节点身份信息的数据长度来确定。示例性地,若根据节点身份信息的数据长度来设置随机数的范围,以节点身份信息的数据长度为8为例,则可以设定生成的随机数的范围为1-8或者0-7的整数。
S32:根据所述随机数从签名信息或者所述节点身份信息中确定信息插入位置。
在得到随机数之后,根据该随机数从签名信息或者所述节点身份信息中确定信息插入位置。信息插入位置是用于指示在将所述签名信息和所述节点身份信息组合的时候两个信息的具体组合的位置。具体地,以将签名信息插入节点身份信息为例,根据随机数从节点身份信息中确定插入位置。可以以节点身份信息从左到右或者从右到左的方式根据随机数从节点身份信息中确定信息插入位置。可以理解地,将所述节点身份信息插入签名信息的过程和上述将签名信息插入节点身份信息的过程类似,在此不再赘述。
S33:根据所述信息插入位置将所述签名信息和所述节点身份信息组合,得到组合信息。
在确定信息插入位置之后,根据所述信息插入位置将所述签名信息和所述节点身份信息组合。具体地,将所述签名信息和所述节点身份信息两者按照信息插入位置将一方插入到另一方当中(将签名信息插入节点身份信息中或者将指节点身份信息插入签名信息中),得到组合信息。
S34:将所述随机数加入到所述组合信息中,得到待签名信息。
再将随机数加入到组合信息中,得到待签名信息,以利后续可以根据随机数进行数据的还原。
在本实施例中,首先采用随机函数生成一随机数;再根据所述随机数从签名信息或者所述节点身份信息中确定信息插入位置;根据所述插入位置将所述签名信息和所述节点身份信息组合,得到组合信息;最后将所述随机数加入到所述组合信息中,得到待签名信息。在将所述签名信息和所述节点身份信息组合的过程中,对组合位置进行了更多样化的选择,更好地保证了信息的安全性。
在一个实施例中,如图4所示,在所述从随机数缓存通道中获取随机数数组之前,该区块链中数据签名的方法还包括:
S51:创建预设容量的随机数缓存通道。
具体地,启动一个协程,创建预设容量的随机数缓存通道。具体地,可以使用缓冲区创建该随机数缓存通道。该缓冲区中的随机数缓存通道在缓冲区数据存储已满时会阻止对随机数缓存通道的数据发送。在缓冲区中数据为空时会阻止对随机数缓存通道的数据接收。该随机数缓存通道可以通过如下方式创建:
ch:=make(chan type,capacity)。通过“type”定义数据类型,通过“capacity”定义该缓存通道的容量。在该实施例中,可以定义随机数缓存通道的数据类型为数组类型。
S52:通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组。
该预设方式是指生成随机数数组的方式,可以通过随机函数rand()来生成随机数数组,并将每一生成的随机数数组存入所述随机数缓存通道中。当所述随机数缓存通道存满,则停止执行生成所述随机数数组的步骤。
具体地,可以通过读取随机数缓存通道中的length来判断随机数缓存通道是否存满。length是指当前缓冲通道中的元素个数。通过比较length和capacity两个值的大小,若length的值等于capacity,则说明所述随机数缓存通道存满,则停止生成所述随机数数组。
在本实施例中,先创建预设容量的随机数缓存通道,并且通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道(channel)中,直至所述随机数缓存通道存满,则停止生成所述随机数数组。保证了在随机数缓存通道中缓存随机数数组的效率,进一步确保了后续读取随机数数组的效率,提高处理器的并发能力。
在一个实施例中,如图5所示,在所述从随机数缓存通道中获取随机数数组之前,该区块链中数据签名的方法还包括:
S51’:创建预设容量的随机数缓存通道,并构建数组对象池。
具体地,启动一个协程,创建预设容量的随机数缓存通道。可以通过如下方式创建:
ch:=make(chan type,capacity)。通过“type”定义数据类型,通过“capacity”定义该缓存通道的容量。在该实施例中,定义随机数缓存通道的数据类型为数组。
S52’:通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组。
可以通过随机函数rand()来生成随机数数组,并将每一生成的随机数数组存入所述随机数缓存通道中。当所述随机数缓存通道存满,则停止生成所述随机数数组的步骤。
具体地,可以通过读取随机数缓存通道中的length来判断随机数缓存通道是否存满。length是指当前缓冲通道中的元素个数。通过比较length和capacity两个值的大小,若length的值等于capacity,则说明所述随机数缓存通道存满,则停止生成所述随机数数组。
S53’:从所述随机数缓存通道中获取预设数量的随机数数组,并将获取的随机数数组传入数组对象池中。
其中,该预设数量根据数组对象池的大小确定,将从所述随机数缓存通道中获取预设数量的随机数数组传入数组对象池中,以提高后续随机数数组的获取效率。
在本实施例中,在创建随机数缓存通道的基础上,还构建了数组对象池,并在随机数缓存通道中存满随机数数组之后,将预设数量的随机数数组传入数组对象池中,以方便后续随机数数组的获取,提高数据获取速度,降低对CPU性能的影响。
在一个实施例中,在从随机数缓存通道中获取一随机数数组之前,该区块链中数据签名的方法还包括:
构建临时对象池。
通过协程构建一个临时对象池,以回收使用后的随机数数组,增加数组对象的复用。
在所述从随机数缓存通道中获取随机数数组之后,如图6所示,该区块链中数据签名的方法还包括:
S53:通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中。
在从随机数缓存通道中获取随机数数组之后,服务端随机通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中,以保证数据生成的及时性。
S54:将所述签名随机数放入所述临时对象池中。
从随机数缓存通道中获取出来签名随机数之后,再将签名随机数放入所述临时对象池中,方便后续对该签名随机数的复用,以方便数据的循环利用。
在本实施例中,先构建一个临时对象池,并且在从随机数缓存通道中获取随机数数组之后,通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中。将所述签名随机数放入所述临时对象池中。保证了数据更新的及时性,并且增加了对签名随机数的复用,以方便数据的循环利用。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种区块链中数据签名的装置,该区块链中数据签名的装置与上述实施例中区块链中数据签名的方法一一对应。如图7所示,该区块链中数据签名的装置包括签名请求获取模块10、签名密钥获取模块20、组合模块30、第一哈希运算模块40、随机数获取模块50、第二哈希运算模块60、加密模块70和发送模块80。各功能模块详细说明如下:
签名请求获取模块10,用于获取数据签名请求,所述数据签名请求包括签名信息;
签名密钥获取模块20,用于根据所述数据签名请求获取节点身份信息和签名密钥;
组合模块30,用于将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
第一哈希运算模块40,用于对所述待签名信息进行哈希运算,得到第一哈希数;
随机数获取模块50,用于从随机数缓存通道中获取一随机数数组,作为签名随机数;
第二哈希运算模块60,用于对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
加密模块70,用于通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
发送模块80,用于将所述加密哈希数和节点身份信息发送至客户端。
优选地,如图8所示,所述组合模块包括随机数生成单元31、插入位置确定单元32、组合信息获取单元33和待签名信息获取单元34。
随机数生成单元31,用于采用随机函数生成一随机数;
插入位置确定单元32,用于根据所述随机数从签名信息或者所述节点身份信息中确定信息插入位置;
组合信息获取单元33,用于根据所述信息插入位置将所述签名信息和所述节点身份信息组合,得到组合信息;
待签名信息获取单元34,用于将所述随机数加入到所述组合信息中,得到待签名信息。
优选地,如图9所示,所述区块链中数据签名的装置还包括创建模块51、缓存通道存储模块52和对象池构建模块53。
创建模块51,用于创建预设容量的随机数缓存通道,并构建数组对象池;
缓存通道存储模块52,用于通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组;
对象池构建模块53,用于从所述随机数缓存通道中获取预设数量的随机数数组,并将获取的随机数数组传入数组对象池中。
优选地,所述区块链中数据签名的装置还用于创建预设容量的随机数缓存通道;通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组。
优选地,所述区块链中数据签名的装置还用于构建临时对象池;并且,在所述从随机数缓存通道中获取随机数数组之后,所述区块链中数据签名的装置还用于通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中;将所述签名随机数放入所述临时对象池中。
关于区块链中数据签名的装置的具体限定可以参见上文中对于区块链中数据签名的方法的限定,在此不再赘述。上述区块链中数据签名的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于上述实施例中所述区块链中数据签名的方法所使用的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链中数据签名的方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取数据签名请求,所述数据签名请求包括签名信息;
根据所述数据签名请求获取节点身份信息和签名密钥;
将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
对所述待签名信息进行哈希运算,得到第一哈希数;
从随机数缓存通道中获取一随机数数组,作为签名随机数;
对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
将所述加密哈希数和节点身份信息发送至客户端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取数据签名请求,所述数据签名请求包括签名信息;
根据所述数据签名请求获取节点身份信息和签名密钥;
将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
对所述待签名信息进行哈希运算,得到第一哈希数;
从随机数缓存通道中获取一随机数数组,作为签名随机数;
对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
将所述加密哈希数和节点身份信息发送至客户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (7)

1.一种区块链中数据签名的方法,其特征在于,包括:
获取数据签名请求,所述数据签名请求包括签名信息;
根据所述数据签名请求获取节点身份信息和签名密钥;
将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
对所述待签名信息进行哈希运算,得到第一哈希数;
从随机数缓存通道中获取一随机数数组,作为签名随机数,所述随机数缓存通道为预先建立的缓存通道,用于缓存随机数数组;
对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
将所述加密哈希数和节点身份信息发送至客户端;
其中,在所述从随机数缓存通道中获取随机数数组之前,所述区块链中数据签名的方法还包括:
构建临时对象池;
在所述从随机数缓存通道中获取随机数数组之后,所述区块链中数据签名的方法还包括:
通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中;
将所述签名随机数放入所述临时对象池中;
所述将所述签名信息和所述节点身份信息进行组合,得到待签名信息,包括:
采用随机函数生成一随机数;
以从左到右或者从右到左的方式,根据所述随机数从所述签名信息或者所述节点身份信息中确定信息插入位置;
根据所述信息插入位置将所述签名信息和所述节点身份信息组合,得到组合信息;
将所述随机数加入到所述组合信息中,得到待签名信息。
2.如权利要求1所述的区块链中数据签名的方法,其特征在于,在所述从随机数缓存通道中获取随机数数组之前,所述区块链中数据签名的方法还包括:
创建预设容量的随机数缓存通道;
通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组。
3.如权利要求1所述的区块链中数据签名的方法,其特征在于,在所述从随机数缓存通道中获取随机数数组之前,所述区块链中数据签名的方法还包括:
创建预设容量的随机数缓存通道,并构建数组对象池;
通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组;
从所述随机数缓存通道中获取预设数量的随机数数组,并将获取的随机数数组传入数组对象池中。
4.一种区块链中数据签名的装置,其特征在于,包括:
签名请求获取模块,用于获取数据签名请求,所述数据签名请求包括签名信息;
签名密钥获取模块,用于根据所述数据签名请求获取节点身份信息和签名密钥;
组合模块,用于将所述签名信息和所述节点身份信息进行组合,得到待签名信息;
第一哈希运算模块,用于对所述待签名信息进行哈希运算,得到第一哈希数;
随机数获取模块,用于从随机数缓存通道中获取一随机数数组,作为签名随机数,所述随机数缓存通道为预先建立的缓存通道,用于缓存随机数数组;
第二哈希运算模块,用于对所述签名密钥、所述签名随机数和所述第一哈希数进行哈希运算,得到第二哈希数;
加密模块,用于通过非对称加密算法对第二哈希数进行加密,得到加密哈希数;
发送模块,用于将所述加密哈希数和节点身份信息发送至客户端;
其中,所述区块链中数据签名的装置还用于构建临时对象池;并且,在所述从随机数缓存通道中获取随机数数组之后,所述区块链中数据签名的装置还用于通过预设方式生成新的随机数数组,并将新生成的所述随机数数组存入所述随机数缓存通道中;将所述签名随机数放入所述临时对象池中;
所述组合模块包括:
随机数生成单元,用于采用随机函数生成一随机数;
插入位置确定单元,用于以从左到右或者从右到左的方式,根据所述随机数从所述签名信息或者所述节点身份信息中确定信息插入位置;
组合信息获取单元,用于根据所述信息插入位置将所述签名信息和所述节点身份信息组合,得到组合信息;
待签名信息获取单元,用于将所述随机数加入到所述组合信息中,得到待签名信息。
5.如权利要求4所述的区块链中数据签名的装置,其特征在于,所述区块链中数据签名的装置还包括:
创建模块,用于创建预设容量的随机数缓存通道,并构建数组对象池;
缓存通道存储模块,用于通过预设方式重复生成随机数数组,并将生成的所述随机数数组存入所述随机数缓存通道中,直至所述随机数缓存通道存满,则停止生成所述随机数数组;
对象池构建模块,用于从所述随机数缓存通道中获取预设数量的随机数数组,并将获取的随机数数组传入数组对象池中。
6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述区块链中数据签名的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述区块链中数据签名的方法。
CN201910842139.3A 2019-09-06 2019-09-06 区块链中数据签名的方法、装置、计算机设备及存储介质 Active CN110781140B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910842139.3A CN110781140B (zh) 2019-09-06 2019-09-06 区块链中数据签名的方法、装置、计算机设备及存储介质
PCT/CN2020/099555 WO2021042851A1 (zh) 2019-09-06 2020-06-30 区块链中数据签名的方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910842139.3A CN110781140B (zh) 2019-09-06 2019-09-06 区块链中数据签名的方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110781140A CN110781140A (zh) 2020-02-11
CN110781140B true CN110781140B (zh) 2023-08-18

Family

ID=69383575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910842139.3A Active CN110781140B (zh) 2019-09-06 2019-09-06 区块链中数据签名的方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN110781140B (zh)
WO (1) WO2021042851A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781140B (zh) * 2019-09-06 2023-08-18 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质
CN111935075A (zh) * 2020-06-23 2020-11-13 浪潮云信息技术股份公司 一种基于区块链的数字身份签发方法、设备及介质
CN112580114B (zh) * 2020-12-21 2023-05-16 歌尔科技有限公司 一种信息处理方法、装置、设备及存储介质
CN112636926B (zh) * 2020-12-24 2022-05-27 网易(杭州)网络有限公司 签名处理方法、装置和电子设备
CN115766055A (zh) * 2022-09-08 2023-03-07 中国联合网络通信集团有限公司 一种用于通信报文验证的方法和装置

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990039365A (ko) * 1997-11-12 1999-06-05 정명식 안전 모듈에서의 사전계산을 이용한 공개키 암호화 방법
JP2006319485A (ja) * 2005-05-10 2006-11-24 Ntt Docomo Inc 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法
JP2007142897A (ja) * 2005-11-18 2007-06-07 Ntt Docomo Inc 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
KR20120091618A (ko) * 2011-02-09 2012-08-20 (주)에이티솔루션 연쇄 해시에 의한 전자서명 시스템 및 방법
DE102013114493A1 (de) * 2013-12-19 2015-06-25 Deutsche Telekom Ag Verfahren zur Sicherstellung von Authentizität, Integrität und Anonymität einer Datenverknüpfung, insbesondere bei Präsentation der Datenverknüpfung in Form eines zweidimensionalen optischen Codes
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
CN107241196A (zh) * 2017-06-30 2017-10-10 杰创智能科技股份有限公司 基于区块链技术的数字签名方法及系统
CN107342867A (zh) * 2017-07-07 2017-11-10 北京牛链科技有限公司 签名验签方法和装置
CN107741947A (zh) * 2017-08-30 2018-02-27 浙江九州量子信息技术股份有限公司 基于hdfs文件系统的随机数密钥的存储与获取方法
WO2018046009A1 (zh) * 2016-09-12 2018-03-15 上海鼎利信息科技有限公司 一种区块链身份系统
CN108418680A (zh) * 2017-09-05 2018-08-17 矩阵元技术(深圳)有限公司 一种基于多方安全计算技术的区块链密钥恢复方法、介质
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
CN108964905A (zh) * 2018-07-18 2018-12-07 胡祥义 一种安全高效的区块链实现方法
CN108959911A (zh) * 2018-06-14 2018-12-07 联动优势科技有限公司 一种密钥链生成、验证方法及其装置
CN109409884A (zh) * 2018-10-25 2019-03-01 北京安如山文化科技有限公司 一种基于sm9算法的区块链隐私保护方案和系统
WO2019052286A1 (zh) * 2017-09-12 2019-03-21 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN109522698A (zh) * 2018-10-11 2019-03-26 平安科技(深圳)有限公司 基于区块链的用户认证方法及终端设备
WO2019067357A1 (en) * 2017-09-29 2019-04-04 Alibaba Group Holding Limited Fourth Floor, One Capital Place METHOD FOR STORING DATA, METHOD FOR QUERYING DATA AND APPARATUS
CN109583219A (zh) * 2018-11-30 2019-04-05 国家电网有限公司 一种数据签名、加密及保存的方法、装置和设备
WO2019076020A1 (zh) * 2017-10-18 2019-04-25 克洛斯比尔有限公司 身份认证方法和系统以及计算设备和存储介质
CN109919610A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于p2p公钥池的抗量子计算区块链保密交易方法和系统
CN110069939A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
CN110166425A (zh) * 2019-04-09 2019-08-23 北京奇艺世纪科技有限公司 数据处理方法、装置、系统及计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006300B (zh) * 2010-11-29 2013-07-31 北京卓微天成科技咨询有限公司 一种云存储数据加密方法、装置及系统
CN102082796B (zh) * 2011-01-20 2014-04-09 北京融易通信息技术有限公司 一种基于http的产生会话密钥的方法及系统
CN102761557B (zh) * 2012-07-31 2016-02-24 飞天诚信科技股份有限公司 一种终端设备认证方法及装置
US10200199B2 (en) * 2013-08-05 2019-02-05 Guardtime Holdings Limited Strengthened entity identity for digital record signature infrastructure
CN103795545B (zh) * 2014-02-14 2017-01-18 飞天诚信科技股份有限公司 一种安全通信的方法和系统
CN109559122B (zh) * 2018-12-07 2021-02-02 北京瑞卓喜投科技发展有限公司 区块链数据传输方法及区块链数据传输系统
CN110175467A (zh) * 2019-04-25 2019-08-27 平安科技(深圳)有限公司 基于区块链的签名文件保存方法、装置和计算机设备
CN110781140B (zh) * 2019-09-06 2023-08-18 平安科技(深圳)有限公司 区块链中数据签名的方法、装置、计算机设备及存储介质

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990039365A (ko) * 1997-11-12 1999-06-05 정명식 안전 모듈에서의 사전계산을 이용한 공개키 암호화 방법
JP2006319485A (ja) * 2005-05-10 2006-11-24 Ntt Docomo Inc 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法
JP2007142897A (ja) * 2005-11-18 2007-06-07 Ntt Docomo Inc 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
KR20120091618A (ko) * 2011-02-09 2012-08-20 (주)에이티솔루션 연쇄 해시에 의한 전자서명 시스템 및 방법
DE102013114493A1 (de) * 2013-12-19 2015-06-25 Deutsche Telekom Ag Verfahren zur Sicherstellung von Authentizität, Integrität und Anonymität einer Datenverknüpfung, insbesondere bei Präsentation der Datenverknüpfung in Form eines zweidimensionalen optischen Codes
CN105975868A (zh) * 2016-04-29 2016-09-28 杭州云象网络技术有限公司 一种基于区块链的证据保全方法及装置
WO2018046009A1 (zh) * 2016-09-12 2018-03-15 上海鼎利信息科技有限公司 一种区块链身份系统
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
CN107241196A (zh) * 2017-06-30 2017-10-10 杰创智能科技股份有限公司 基于区块链技术的数字签名方法及系统
CN107342867A (zh) * 2017-07-07 2017-11-10 北京牛链科技有限公司 签名验签方法和装置
CN107741947A (zh) * 2017-08-30 2018-02-27 浙江九州量子信息技术股份有限公司 基于hdfs文件系统的随机数密钥的存储与获取方法
CN108418680A (zh) * 2017-09-05 2018-08-17 矩阵元技术(深圳)有限公司 一种基于多方安全计算技术的区块链密钥恢复方法、介质
WO2019052286A1 (zh) * 2017-09-12 2019-03-21 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
WO2019067357A1 (en) * 2017-09-29 2019-04-04 Alibaba Group Holding Limited Fourth Floor, One Capital Place METHOD FOR STORING DATA, METHOD FOR QUERYING DATA AND APPARATUS
WO2019076020A1 (zh) * 2017-10-18 2019-04-25 克洛斯比尔有限公司 身份认证方法和系统以及计算设备和存储介质
CN108959911A (zh) * 2018-06-14 2018-12-07 联动优势科技有限公司 一种密钥链生成、验证方法及其装置
CN108964905A (zh) * 2018-07-18 2018-12-07 胡祥义 一种安全高效的区块链实现方法
CN109522698A (zh) * 2018-10-11 2019-03-26 平安科技(深圳)有限公司 基于区块链的用户认证方法及终端设备
CN109409884A (zh) * 2018-10-25 2019-03-01 北京安如山文化科技有限公司 一种基于sm9算法的区块链隐私保护方案和系统
CN109583219A (zh) * 2018-11-30 2019-04-05 国家电网有限公司 一种数据签名、加密及保存的方法、装置和设备
CN109919610A (zh) * 2019-01-14 2019-06-21 如般量子科技有限公司 基于p2p公钥池的抗量子计算区块链保密交易方法和系统
CN110069939A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
CN110166425A (zh) * 2019-04-09 2019-08-23 北京奇艺世纪科技有限公司 数据处理方法、装置、系统及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《go语言并发编程_慕课手记》;holdtom;《https://www.imooc.com/article/271011》;20190101;正文第3-9页第2-4节 *

Also Published As

Publication number Publication date
WO2021042851A1 (zh) 2021-03-11
CN110781140A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110781140B (zh) 区块链中数据签名的方法、装置、计算机设备及存储介质
TWI725655B (zh) 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統
Yuan et al. Public integrity auditing for dynamic data sharing with multiuser modification
US10997808B2 (en) Secure smart unlocking
CN107689869B (zh) 用户口令管理的方法和服务器
US11722316B2 (en) Cryptographic communication system and cryptographic communication method based on blockchain
US11196745B2 (en) Blockchain-based account management
US11018866B2 (en) Dynamic second factor authentication for cookie-based authentication
CN112688784A (zh) 一种数字签名、验证方法、装置及系统
US11374975B2 (en) TLS integration of post quantum cryptographic algorithms
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN112788036B (zh) 身份验证方法及装置
US20050221766A1 (en) Method and apparatus to perform dynamic attestation
CN107592202B (zh) 应用签名方法、装置、系统、计算设备及存储介质
CN112866237B (zh) 数据通讯方法、装置、设备和存储介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
US9917695B2 (en) Authenticated encryption method using working blocks
CN112187741B (zh) 基于运维审计系统的登录认证方法、装置和电子装置
CN112800393B (zh) 授权认证、软件开发工具包生成方法、装置及电子设备
CN114143108B (zh) 一种会话加密方法、装置、设备及存储介质
CN109586898B (zh) 双系统通信密钥生成方法及计算机可读存储介质
US10785193B2 (en) Security key hopping
US10268832B1 (en) Streaming authenticated encryption
CN112637156A (zh) 密钥分配方法、装置、计算机设备和存储介质
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备

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
GR01 Patent grant
GR01 Patent grant