CN115580489B - 数据传输方法、装置、设备及存储介质 - Google Patents

数据传输方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115580489B
CN115580489B CN202211478742.6A CN202211478742A CN115580489B CN 115580489 B CN115580489 B CN 115580489B CN 202211478742 A CN202211478742 A CN 202211478742A CN 115580489 B CN115580489 B CN 115580489B
Authority
CN
China
Prior art keywords
data
key
encryption
decryption
derived
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
CN202211478742.6A
Other languages
English (en)
Other versions
CN115580489A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211478742.6A priority Critical patent/CN115580489B/zh
Publication of CN115580489A publication Critical patent/CN115580489A/zh
Application granted granted Critical
Publication of CN115580489B publication Critical patent/CN115580489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes

Abstract

本公开提供了一种数据传输方法、装置、设备及存储介质,涉及数据传输技术领域,尤其涉及数据加解密技术,可用于区块链领域。具体实现方案为:根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥;根据临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息;根据加密密钥对原始数据明文进行加密,得到原始数据密文;根据加密密钥的标识信息,生成加密校验信息;生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据,以供传输。根据本公开的技术,提高了数据传输过程的安全性。

Description

数据传输方法、装置、设备及存储介质
技术领域
本公开涉及数据传输领域,尤其涉及数据加解密技术,可用于区块链领域,具体涉及一种数据传输方法、装置、设备及存储介质。
背景技术
随着区块链技术的发展,尤其是去中心化存储网络的日渐普及,在区块链上存储敏感数据的场景也变得越来越普遍。针对大文件的加密存储和解密恢复通常采用加密分片的方式,而采用同样方式对小文件进行加密存储和解密恢复则较为复杂,且安全性较低。
发明内容
本公开提供了一种数据传输方法、装置、设备以及存储介质,以提高数据传输过程的安全性。
根据本公开的一方面,提供了一种数据传输方法,应用于加密方,包括:
根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥;
根据所述临时共享私钥,派生出本次加密过程的加密密钥和所述加密密钥的标识信息;
根据所述加密密钥对原始数据明文进行加密,得到原始数据密文;
根据所述加密密钥的标识信息,生成加密校验信息;
生成包括所述临时共享公钥、所述原始数据密文和所述加密校验信息的目标加密数据,以供传输。
根据本公开的另一方面,提供了一种数据传输方法,应用于解密方,包括:
获取目标加密数据;其中,所述目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;所述临时共享公钥基于解密方的传输公钥生成;
根据所述临时共享公钥和所述传输公钥对应传输私钥,生成临时共享私钥;
根据所述临时共享私钥,派生出本次解密过程的解密密钥和所述解密密钥的标识信息;
根据所述解密密钥的标识信息对所述加密校验信息进行验证;
若验证通过,则采用所述解密密钥对所述原始数据密文进行解密,得到原始数据明文。
根据本公开的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开实施例所提供的任意一种储数据传输方法。
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开实施例所提供的任意一种数据传输方法。
根据本公开的技术,提高了数据传输过程的安全性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种数据传输方法的示意图;
图2是根据本公开实施例提供的另一种数据传输方法的示意图;
图3A是根据本公开实施例提供的又一种数据传输方法的示意图;
图3B是根据本公开实施例提供的一种数据加密过程示意图;
图4是根据本公开实施例提供的又一种数据传输方法的示意图;
图5是根据本公开实施例提供的又一种数据传输方法的示意图;
图6A是根据本公开实施例提供的又一种数据传输方法的示意图;
图6B是根据本公开实施例提供的一种数据解密过程示意图;
图7是根据本公开实施例提供的一种数据传输装置的结构图;
图8是根据本公开实施例提供的另一种数据传输装置的结构图;
图9是用来实现本公开实施例的数据传输方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开实施例提供的各数据传输方法和数据传输装置,适用于在数据传输过程中进行数据加解密的应用场景。本公开实施例所提供的各数据传输方法,可以由数据传输装置执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是承载有区块链节点的计算设备。
为了便于理解,首先对本公开所提供的数据加密方法进行详细说明。
参见图1所示的一种数据传输方法,应用于加密方,包括:
S110、根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥。
其中,传输公钥可以是解密方的传输私钥对应的公钥,具体可以是由解密方预先将自身传输公钥发送至加密方;或者,还可以是加密方预先存储相关解密方的传输公钥。
其中,解密方的传输私钥和传输公钥可以是自身区块链账户的公私钥对,也可以是基于椭圆曲线预先生成的公私钥对,本实施例对此不进行限制。
需要说明的是,进行数据加密的加密方与进行数据解密的解密方,可以是部署在相同节点下的同一方,也可以是部署在不同节点下的不同方。
其中,临时共享公钥可以是用于在本次数据传输过程中,供解密方进行数据解密所需的临时公钥。临时共享私钥可以是与临时共享公钥相对应的,供加密方进行数据加密的临时私钥。示例性的,可以通过预设的椭圆曲线,生成与临时共享私钥相对应的椭圆曲线点,得到临时共享公钥。
需要说明的是,临时共享公钥和临时共享私钥仅在本次加解密过程中使用,当本次加解密结束,则临时共享公钥和临时共享私钥失效,在下一次进行加解密时,重新生成相应的临时共享公钥和临时共享私钥,从而提高了数据传输时所使用的临时共享公私钥对的随机性,进而提高了数据传输过程的安全性。
在一个可选实施例中,根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥,还可以是:根据解密方的传输公钥,基于预设的哈希算法,生成本次加密过程的临时共享私钥;根据临时共享私钥,生成临时共享公钥。
为提高生成的临时共享公钥和临时共享私钥的随机性,从而提高生成的临时共享公钥和临时共享私钥的安全性,
在另一可选实施例中,根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥,还可以是:确定随机私钥;根据传输公钥和随机私钥,生成临时共享私钥;根据临时共享私钥,生成临时共享公钥。
其中,随机私钥可以是由加密方生成且私密保存的随机数。随机数的数据类型可以由相关技术人员预先设定,且本实施例对随机数的具体数据类型不作限定。
示例性的,加密方可以根据传输公钥和随机私钥,基于预设的加密算法,生成临时共享私钥。其中,加密算法可以由相关技术人员进行预先设定,例如,加密算法可以是ECDH(Elliptic Curve Diffie–Hellman key Exchange,椭圆曲线迪菲-赫尔曼秘钥交换)算法。
示例性的,可以根据临时共享私钥,基于预设的椭圆曲线,确定临时共享私钥在椭圆曲线上所对应的椭圆曲线点,并将该椭圆曲线点,作为临时共享公钥。
本可选实施例通过传输公钥和随机生成的随机私钥,生成临时共享私钥和临时共享公钥,提高了生成的临时共享公私钥的随机性,从而进一步提高了生成的临时共享公私钥的安全性,进而提高了后续数据加解密过程的安全性。
S120、根据临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息。
其中,加密密钥用于后续对原始数据明文进行加密;加密密钥的标识信息用于表征加密密钥的唯一性。
示例性的,加密方可以根据临时共享私钥和预设的哈希算法,基于预设的密钥衍生推导算法,派生得到设定长度的参考密钥,并根据参考密钥,生成本次加密过程的加密密钥和加密密钥的标识信息。其中,密钥衍生推导算法可以由相关技术人员进行预先设定,例如,密钥衍生推导算法可以是HKDF(基于HMAC的密钥导出方法,HMAC-based Extract-and-Expand Key Derivation Function)算法。
可选的,根据参考密钥,生成本次加密过程的加密密钥和加密密钥的标识信息,可以是直接将参考密钥作为加密密钥,并将加密密钥的哈希值作为加密密钥的标识信息。或者可选的,可以将参考密钥基于设定长度拆分成本次加密过程的加密密钥和加密密钥的标识信息。
需要说明的是,根据临时共享私钥,基于HKDF算法派生得到的加密密钥,可以作为对称加密密钥进行数据的加密,相对于非对称加密密钥进行数据加密而言,其运算量更小,加密效率更高。
S130、根据加密密钥对原始数据明文进行加密,得到原始数据密文。
其中,原始数据明文可以是待加密的任意明文数据。在一个可选实施例中,原始数据明文可以是小于设定数据长度,也即无需进行数据分片的小文件,从而提高了小文件传输的便捷性和高可用性。
示例性的,加密方可以基于预设的对称加密算法,采用加密密钥对原始数据明文进行加密,得到原始数据密文。其中,对称加密算法可以由相关技术人员根据实际需求进行预先设定。例如,对称加密算法可以是DES(Data Encryption Standard,数据加密标准)算法。
S140、根据加密密钥的标识信息,生成加密校验信息。
其中,加密校验信息用于标识原始数据密文的准确性和有效性,供相关解密方根据加密校验信息判断是否有必要对原始数据密文进行解密。
示例性的,加密方可以是根据加密密钥的标识信息,基于预设的哈希算法,生成加密校验信息。其中,哈希算法可以由相关技术人员进行预先设定。
需要说明的是,本实施例所使用的各哈希算法可以相同,也可以至少部分不同,具体可以由相关技术人员根据实际需求进行设定。
可选的,为了增加所生成加密校验信息的安全性,还可以在生成加密校验信息时,引入具备一定随机性或私密性的数据,例如加密方与解密方预先约定的校验基础数据。
S150、生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据,以供传输。
示例性的,可以将临时共享公钥、原始数据密文和加密校验信息,作为目标加密数据,进行数据传输;也可以基于预设的加密算法,对临时共享公钥、原始数据密文和加密校验信息进行加密,并将加密结果作为目标加密数据,进行数据传输。本实施例对此不进行限制。
本公开实施例方案通过根据生成的临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息;根据加密密钥对原始数据明文进行加密,得到原始数据密文;根据加密密钥的标识信息,生成加密校验信息;生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据。上述技术方案通过根据生成的临时共享公钥,生成对称加密密钥,并采用对称加密密钥加密的方式,减小了后续进行数据解密的运算量,提高了数据传输的便捷性。同时,每一次进行数据加密时都需要重新生成临时共享公私钥,增加了数据窃取难度,从而提高了数据安全性。同时通过生成加密校验信息的方式,便于对原始数据密文进行验证,进一步保证了解密方所解密数据的准确性和有效性。
在上述各技术方案的基础上,本公开还提供了一个可选实施例。在该实施例中,将“根据临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息”操作,细化为“根据临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据;其中,派生基础数据为加密方与解密方约定的预设共享数据;根据目标派生加密数据,生成加密密钥和加密密钥的标识信息。”以完善对加密密钥和加密密钥的标识信息的生成方式。需要说明的是,在本公开实施例中未详述部分,可参见其他实施例中的相关表述,在此不再赘述。
参见图2所示的一种数据传输方法,应用于加密方,包括:
S210、根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥。
S220、根据临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据;其中,派生基础数据为加密方与解密方约定的预设共享数据。
其中,派生基础数据可以在加密方与解密方约定好后预先进行存储。其中,派生基础数据的数量可以为至少一个,具体可以由相关技术人员根据实际需求进行设定。
需要说明的是,当存在多个派生基础数据时,则可以生成包括多个派生基础数据的预设共享数据组。其中,预设共享数据组中包括各派生基础数据,以及各派生基础数据在预设共享数据组中的查找标识。
示例性的,派生基础数据可以是预设随机数。加密方可以根据临时共享私钥、预设的哈希算法和派生基础数据,基于预设的密钥衍生推导算法,生成指定长度的扩展密钥,并将该扩展密钥作为目标派生加密数据。其中,目标派生加密数据可以是指定长度的字节数组,目标派生加密数据的长度可以在生成前由相关技术人员预先设定。
需要说明的是,在生成目标派生加密数据的过程中,引入了具有随机性的派生基础数据,从而使得生成的目标派生加密数据具有随机性,进而提高了目标派生加密数据的安全性。
在一个可选实施例中,派生基础数据可以包括盐值和上下文信息值;相应的,根据临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据,可以包括:根据临时共享私钥和盐值进行密钥提取,生成本次加密过程的初始派生加密数据;根据上下文信息值对初始派生加密数据进行密钥扩展,得到目标派生加密数据。
其中,盐值和上下文信息值可以是在生成目标派生加密数据过程中,用于增加数据随机性的随机源。
示例性的,可以将临时共享私钥作为原始密钥材料,并预先设定用于进行加密的哈希函数。使用原始密钥材料、盐值和预设的哈希函数,进行密钥提取,派生得到一个符合密码学强度的伪随机密钥,并将该伪随机密钥作为初始派生加密数据。相应的,根据上下文信息值,将初始派生加密数据基于指定长度进行密钥扩展,得到目标派生加密数据。
其中,盐值又称SALT值,属于随机值,用于作为设定的字符串,在基于原始密钥材料的密钥提取过程中,在任意固定位置进行数据插入,实现数据加盐,保证了初始派生加密数据基于哈希函数的散列结果,与原始密钥材料基于哈希函数的散列结果不相符,从而增加了所生成的初始派生加密数据的随机性和安全性。其中,上下文信息值可以在生成目标派生加密数据时,引入所扩展数据的应用相关的上下文,使得密钥派生过程在不同的上下文下产生不一样的派生结果,从而增加了所生成目标派生加密数据的多样性和安全性。需要说明的是,本公开中的盐值和上下文信息值,可以由加密方与解密方预先约定生成。
本可选实施例通过临时共享私钥和盐值进行密钥提取,生成本次加密过程的初始派生加密数据,增加了生成的初始派生加密数据的随机性;根据上下文信息值对初始派生加密数据进行密钥扩展,得到目标派生加密数据,增加了扩展结果的多样性,使得生成的目标派生加密数据更具随机性,从而提高了目标派生加密数据保持密码学强度,进而提高了数据加密过程的安全性。
S230、根据目标派生加密数据,生成加密密钥和加密密钥的标识信息。
示例性的,可以根据目标派生加密数据的字符长度,对目标派生加密数据进行拆分,得到加密密钥和加密密钥的标识信息。
在一个可选实施例中,根据目标派生加密数据,生成加密密钥和加密密钥的标识信息,包括:对目标派生加密数据进行字符分割,得到加密密钥和加密密钥的标识信息。
示例性的,可以按照设定字符长度,对目标派生加密数据进行数据拆分,得到加密密钥和加密密钥的标识信息。例如,若目标派生加密数据的数据长度为L,可以将目标派生加密数据的前设定长度
Figure 955882DEST_PATH_IMAGE001
的字符区段,作为加密密钥,将目标派生加密数据的设定长度
Figure 358044DEST_PATH_IMAGE002
的字符区段,作为加密密钥的标识信息。其中,
Figure 292502DEST_PATH_IMAGE003
本可选实施例方案通过对目标派生加密数据进行数据拆分,得到加密密钥和加密密钥的标识信息,操作便捷,数据运算量小,从而提高了对加密密钥和加密密钥的标识信息的确定效率。
需要说明的是,若在确定目标派生加密数据过程中所使用的派生基础数据为从预设共享数据组中获取的数据,则后续生成的目标加密数据中,需要包括派生基础数据在预设共享数据组中的查找标识,以供后续解密方基于该查找标识,确定加密方加密过程中所使用的派生基础数据。
S240、根据加密密钥对原始数据明文进行加密,得到原始数据密文。
S250、根据加密密钥的标识信息,生成加密校验信息。
S260、生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据,以供传输。
本公开实施例方案通过根据临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据,并根据目标派生加密数据,生成加密密钥和加密密钥的标识信息,通过生成加密密钥和加密密钥的标识信息的随机性,从而提高了加密密钥和加密密钥的标识信息的安全性,进而提高了后续数据加密过程的安全性。
在上述各技术方案的基础上,本公开还提供了一个可选实施例,在该实施例中,将“根据加密密钥的标识信息,生成加密校验信息”操作,细化为“根据原始数据密文、临时共享私钥和加密密钥的标识信息中的至少一种,以及校验基础数据,生成加密校验信息;其中,校验基础数据为加密方与解密方约定的预设共享数据。”以完善对加密校验信息的生成方式。需要说明的是,在本公开实施例中未详述部分,可参见其他实施例中的相关表述,在此不再赘述。
参见图3A所示的一种数据传输方法,应用于加密方,包括:
S310、根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥。
S320、根据临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息。
S330、根据加密密钥对原始数据明文进行加密,得到原始数据密文。
S340、根据原始数据密文、临时共享私钥和加密密钥的标识信息中的至少一种,以及校验基础数据,生成加密校验信息;其中,校验基础数据为加密方与解密方约定的预设共享数据。
其中,校验基础数据可以由加密方与解密方约定好后预先进行存储,例如可以与派生基础数据一同存储在预设共享数据组中。校验基础数据的数量可以为至少一个,具体可以由相关技术人员根据实际需求进行设定。
需要说明的是,当校验基础数据存储在预设共享数据组中,且校验基础数据存在多个时,预设共享数据组中可以对应设置校验基础数据在预设共享数据组中的查找标识。
示例性的,加密方可以根据原始数据密文、临时共享私钥和加密密钥的标识信息中的至少一种,以及校验基础数据,基于预设的哈希算法,生成加密校验信息。其中,校验基础数据用于增加生成的加密校验信息的随机性。
示例性的,加密方还可以根据校验基础数据,基于预设的哈希算法,对原始数据密文、临时共享私钥和加密密钥的标识信息分别进行加密,生成加密校验信息。具体的,加密方根据校验基础数据和原始数据密文,基于预设的哈希算法,生成校验数据密文;根据校验基础数据和临时共享私钥,基于预设的哈希算法,生成校验共享私钥;根据校验基础数据和加密密钥的标识信息,基于预设的哈希算法,生成校验标识信息;将校验数据密文、校验共享私钥和校验标识信息,作为加密校验信息。其中,在校验数据密文、校验共享私钥和校验标识信息生成过程中,所采用的校验基础数据可以相同或至少部分不同;所采用的哈希算法可以相同或至少部分不同。
需要说明的是,在生成加密校验信息的过程中,若使用至少两个校验基础数据,则将各校验基础数据在预设共享数据组中的查找标识,添加至后续生成的目标加密数据中,以便解密方进行校验基础数据的定位。
S350、生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据,以供传输。
本公开实施例方案通过根据校验基础数据、原始数据密文、临时共享私钥和加密密钥的标识信息,生成加密校验信息,增加了生成的加密校验信息的随机性,从而提高了生成的加密校验信息的安全性,进而进一步提高了对加密数据的校验过程的安全性。
在一个具体实施方式中,如图3B所示的一种数据加密过程示意图。加密方将随机生成的随机数作为随机私钥,根据随机私钥和解密方的传输公钥,基于ECDH算法,生成用于本次加密的临时共享私钥;根据临时共享私钥,基于预设的椭圆曲线,生成临时共享私钥对应的临时共享公钥。根据临时共享私钥和派生基础数据S1(盐值),基于预设的第一哈希算法进行密钥提取,生成初始派生加密数据;根据派生基础数据S2(上下文信息值)对初始派生加密数据进行密钥扩展,得到目标派生加密数据。将目标派生加密数据按照设定字符长度进行拆分,得到对称加密密钥和对称加密密钥的密钥标识。根据对称加密密钥,基于对称加密算法,对原始数据明文进行加密,得到原始数据密文。根据原始数据密文、校验基础数据S3、密钥标识和临时共享私钥,基于预设的第二哈希算法,得到加密校验信息。生成包括原始数据密文、加密校验信息和临时共享公钥的目标加密数据,直接或间接传输至解密方,以供解密。其中,第一哈希算法与第二哈希算法可以相同或不同,本公开对此不作任何限定。
上述技术方案以加密方为执行主体,对数据传输方法进行了解释。以下,将以解密方为执行主体,对数据传输方法,进行详细说明。需要说明的是,在本实施例中未详述部分,可参见其他实施例的相关表述。需要说明的是,解密方与前述加密方可以相同或不同。
参见图4所示的一种数据传输方法,应用于解密方,包括:
S410、获取目标加密数据;其中,目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;临时共享公钥基于解密方的传输公钥生成。
其中,临时共享公钥可以是在本次数据传输过程中,用于进行数据解密所需的临时公钥。
其中,原始数据密文可以是已加密的任意密文数据。在一个可选实施例中,原始数据密文可以是小于设定数据长度,也即无需进行数据分片的小文件,从而提高了小文件传输的便捷性和高可用性。
其中,加密校验信息用于标识原始数据密文的准确性和有效性,供解密方根据加密校验信息判断是否有必要对原始数据密文进行解密。
其中,解密方的传输公钥和传输公钥对应的传输私钥可以是解密方自身区块链账户的公私钥对。其中,解密方的传输公钥预先发送至相关加密方进行存储,以供相关加密方在进行数据加密过程中进行使用。
临时共享公钥可以由加密方基于解密方的传输公钥生成。示例性的,加密方可以确定随机私钥;根据解密方的传输公钥和随机私钥,基于ECDH算法,生成临时共享私钥;根据临时共享私钥,基于预设的椭圆曲线,生成临时共享公钥。
其中,原始数据密文可以是待进行数据解密的密文数据。加密校验信息用于标识原始数据密文,解密方可以根据加密校验信息,判断是否需要对原始数据密文进行解密。
S420、根据临时共享公钥和传输公钥对应传输私钥,生成临时共享私钥。
示例性的,解密方可以是根据临时共享公钥和传输私钥,基于预设的ECDH算法,生成临时共享私钥。
需要说明的是,临时共享公钥和临时共享私钥仅在本次加解密过程中使用,当本次加解密结束,则临时共享公钥和临时共享私钥失效,在下一次进行加解密时,重新生成相应的临时共享公钥和临时共享私钥,从而提高了数据传输时所使用的临时共享公私钥对的随机性,进而提高了数据传输过程的安全性。
S430、根据临时共享私钥,派生出本次解密过程的解密密钥和解密密钥的标识信息。
其中,解密密钥用于对获取的目标加密数据中的原始数据密文进行解密;解密密钥的标识信息用于表征解密密钥的唯一性。
示例性的,解密方可以根据临时共享私钥和预设的哈希算法,基于预设的密钥衍生推导算法,派生得到设定长度的参考密钥,并根据参考密钥,生成本次解密过程的解密密钥和解密密钥的标识信息。其中,密钥衍生推导算法可以由相关技术人员进行预先设定,例如,密钥衍生推导算法可以是HKDF算法。
可选的,根据参考密钥,生成本次解密过程的解密密钥和解密密钥的标识信息,可以是直接将参考密钥作为解密密钥,并将解密密钥的哈希值作为解密密钥的标识信息。
或者可选的,可以将参考密钥基于设定长度拆分成本次解密过程的解密密钥和解密密钥的标识信息。
需要说明的是,解密方派生本次解密过程的解密密钥和解密密钥的标识信息的过程中,所使用的密钥衍生推导算法,与加密方派生本次加密过程的加密密钥和加密密钥的标识信息过程中,所使用的算法相同。
需要说明的是,根据临时共享私钥,基于HKDF算法派生得到的解密密钥,可以作为对称解密密钥,进行数据解密,相对于非对称加解密密钥进行数据解密而言,其运算量更小,解密效率更高。
S440、根据解密密钥的标识信息对加密校验信息进行验证。
示例性的,解密方可以根据解密密钥的标识信息,基于预设的哈希算法,生成解密校验信息。其中,生成解密校验信息过程中所使用的哈希算法,与加密方生成加密校验信息过程中所使用的哈希算法相同。解密方判断解密校验信息与获取的目标加密数据中的加密校验信息是否相同;若相同,则表示对加密校验信息的验证通过;若不同,则表示对加密校验信息的验证未通过。
S450、若验证通过,则采用解密密钥对原始数据密文进行解密,得到原始数据明文。示例性的,若对加密校验信息的验证通过,则解密方基于预设的对称解密算法,采用解密密钥对原始数据密文进行解密,得到原始数据明文。其中,对称解密算法可以与加密方加密原始数据明文过程中所使用的对称加密算法相对应。进一步的,若对加密校验信息的验证不通过,则禁止对原始数据密文进行解密,以减少不必要的数据运算。
本公开实施例方案通过临时共享公钥和传输公钥对应传输私钥,生成临时共享私钥;根据临时共享私钥,派生出本次解密过程的解密密钥和解密密钥的标识信息;根据解密密钥的标识信息对加密校验信息进行验证;若验证通过,则采用解密密钥对原始数据密文进行解密,得到原始数据明文。上述技术方案通过根据生成的临时共享公钥,生成对称解密密钥,并采用对称解密密钥进行解密的方式,减小了数据解密过程运算量,提高了数据解密效率。同时,每一次进行数据解密时都需要重新生成临时共享公私钥,增加了数据窃取难度,从而提高了数据安全性。同时通过先对加密校验信息进行验证,再进行数据解密的方式,进一步保证了解密数据的准确性和有效性。
在上述各技术方案的基础上,本公开还提供了一个可选实施例,在该实施例中,将“根据临时共享私钥,派生出本次解密过程的解密密钥和解密密钥的标识信息”操作,细化为“根据临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据;其中,派生基础数据为加密方与解密方约定的预设共享数据;根据目标派生解密数据,生成解密密钥和解密密钥的标识信息。”以完善对解密密钥和解密密钥的标识信息的生成方式。需要说明的是,在本公开实施例中未详述部分,可参见其他实施例中的相关表述,在此不再赘述。
参见图5所示的一种数据传输方法,应用于解密方,包括:
S510、获取目标加密数据;其中,目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;临时共享公钥基于解密方的传输公钥生成。
S520、根据临时共享公钥和传输公钥对应传输私钥,生成临时共享私钥。
S530、根据临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据;其中,派生基础数据为加密方与解密方约定的预设共享数据。
其中,派生基础数据可以在加密方与解密方约定好后预先进行存储。派生基础数据的数量可以为至少一个,具体可以由相关技术人员根据实际需求进行设定。
需要说明的是,当存在多个派生基础数据时,则可以生成包括多个派生基础数据的预设共享数据组。其中,预设共享数据组中包括各派生基础数据,以及各派生基础数据在预设共享数据组中的查找标识。
示例性的,派生基础数据可以是预设随机数。解密方可以根据临时共享私钥、预设的哈希算法和派生基础数据,基于预设的密钥衍生推导算法,生成指定长度的扩展密钥,并将该扩展密钥作为目标派生解密数据。其中,目标派生加密数据可以是指定长度的字节数组,目标派生加密数据的长度可以在生成前由相关技术人员预先设定。
需要说明的是,在生成目标派生解密数据的过程中,引入了具有随机性的派生基础数据,从而使得生成的目标派生解密数据具有随机性,进而提高了目标派生解密数据的安全性。
在一个可选实施例中,派生基础数据可以包括盐值和上下文信息值;相应的,根据临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据,可以包括:根据临时共享私钥和盐值进行密钥提取,生成本次解密过程的初始派生解密数据;根据上下文信息值和初始派生解密数据进行密钥扩展,得到目标派生解密数据。
其中,盐值和上下文信息值可以是在生成目标派生解密数据过程中,用于增加数据随机性的随机源。
示例性的,可以将临时共享私钥作为原始密钥材料,并预先设定用于进行解密的哈希函数。使用原始密钥材料、盐值和预设的哈希函数,进行密钥提取,派生得到一个符合密码学强度的伪随机密钥,并将该伪随机密钥作为初始派生解密数据。其中,盐值用于在密钥提取过程中进行数据加盐从而增加了所生成的初始派生加密数据的随机性。相应的,根据上下文信息值,将初始派生解密数据基于指定长度进行密钥扩展,得到目标派生解密数据。其中,上下文信息值可以在生成目标派生加密数据时,引入所扩展数据的上下文信息,从而增加了所生成目标派生加密数据的多样性。
本可选实施例通过临时共享私钥和盐值进行密钥提取,生成本次加密过程的初始派生解密数据,增加了生成的初始派生解密数据的随机性;根据上下文信息值对初始派生解密数据进行密钥扩展,得到目标派生解密数据,增加了扩展结果多样性,使得生成的目标派生解密数据更具随机性,从而提高了目标派生解密数据保持密码学强度,进而提高了数据加密过程的安全性。
S540、根据目标派生解密数据,生成解密密钥和解密密钥的标识信息。
示例性的,可以根据目标派生解密数据的字符长度,对目标派生解密数据进行拆分,得到解密密钥和解密密钥的标识信息。
在一个可选实施例中,根据目标派生解密数据,生成解密密钥和解密密钥的标识信息,包括:对目标派生解密数据进行数据拆分,得到解密密钥和解密密钥的标识信息。
示例性的,可以按照设定字符长度,对目标派生解码数据进行数据拆分,得到解密密钥和解密密钥的标识信息。例如,若目标派生解密数据的数据长度为L,可以将目标派生解密数据的前设定长度
Figure 879341DEST_PATH_IMAGE001
的字符区段,作为解密密钥,将目标派生解密数据的设定长度
Figure 381473DEST_PATH_IMAGE002
的字符区段,作为解密密钥的标识信息。其中,
Figure 587327DEST_PATH_IMAGE003
本可选实施例方案通过对目标派生解密数据进行数据拆分,得到解密密钥和解密密钥的标识信息,操作便捷,数据运算量小,从而提高了对解密密钥和解密密钥的标识信息的确定效率。
需要说明的是,若在确定目标派生解密数据过程中所使用的派生基础数据为从预设共享数据组中获取的数据,则获取的目标加密数据中还包括派生基础数据在预设共享数据组中的查找标识;根据派生基础数据的查找标识,解密方可以在预设共享数据组中查找获取派生基础数据。
S550、根据解密密钥的标识信息对加密校验信息进行验证。
S560、若验证通过,则采用解密密钥对原始数据密文进行解密,得到原始数据明文。
本公开实施例方案通过根据临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据,并根据目标派生解密数据,生成解密密钥和解密密钥的标识信息,通过生成解密密钥和解密密钥的标识信息的随机性,从而提高了解密密钥和解密密钥的标识信息的安全性,进而提高了后续数据解密过程的安全性。
在上述各技术方案的基础上,本公开还提供了一个可选实施例,在该实施例中,将“根据解密密钥的标识信息对加密校验信息进行验证”操作,细化为“根据原始数据密文、临时共享私钥和解密密钥的标识信息中的至少一种,以及校验基础数据,生成解密校验信息;根据解密校验信息与加密校验信息的一致性,对加密校验信息进行验证。”以完善对加密检验信息的验证方式。需要说明的是,在本公开实施例中未详述部分,可参见其他实施例中的相关表述,在此不再赘述。
参见图6A所示的一种数据传输方法,应用于解密方,包括:
S610、获取目标加密数据;其中,目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;临时共享公钥基于解密方的传输公钥生成。
S620、根据临时共享公钥和传输公钥对应传输私钥,生成临时共享私钥。
S630、根据临时共享私钥,派生出本次解密过程的解密密钥和解密密钥的标识信息。
S640、根据原始数据密文、临时共享私钥和解密密钥的标识信息中的至少一种,以及校验基础数据,生成解密校验信息。
其中,校验基础数据可以由加密方与解密方约定好后预先进行存储,具体可以是与派生基础数据一同存储在预设共享数据组中。校验基础数据的数量可以为至少一个,具体可以由相关技术人员根据实际需求进行设定。
需要说明的是,当校验基础数据存储在预设共享数据组中,且校验基础数据存在多个时,预设共享数据组中可以对应设置校验基础数据在预设共享数据组中的查找标识。
示例性的,解密方可以根据原始数据密文、临时共享私钥和加密密钥的标识信息中的至少一种,以及校验基础数据,基于预设的哈希算法,生成解密校验信息。其中,解密方在生成解密校验信息的过程中所使用的哈希算法,与加密方在生成加密校验信息的过程中所使用的加密算法相同。
需要说明的是,若加密方在生成加密校验信息的方式是基于校验基础数据,对原始数据密文、临时共享私钥和加密密钥的标识分别进行加密处理,则解密方可以采用以下方式生成解密校验信息。
示例性的,解密方可以根据校验基础数据,基于预设的哈希算法,对原始数据密文、临时共享私钥和加密密钥的标识信息分别进行加密,生成相应的解密校验信息。具体的,解密方根据校验基础数据和原始数据密文,基于预设的哈希算法,生成校验数据密文;根据校验基础数据和临时共享私钥,基于预设的哈希算法,生成校验共享私钥;根据校验基础数据和加密密钥的标识信息,基于预设的哈希算法,生成校验标识信息;将校验数据密文、校验共享私钥和校验标识信息,作为解密校验信息。其中,在校验数据密文、校验共享私钥和校验标识信息生成过程中,所采用的校验基础数据可以相同或至少部分不同;所采用的哈希算法可以相同或至少部分不同。
需要说明的是,在加密方生成加密校验信息的过程中,若使用至少两个校验基础数据,则目标加密数据中还包括校验基础数据在预设共享数据组中的查找标识;在解密方生成解密校验信息的过程中,可以根据校验基础数据的查找标识,在预设共享数据组中查找获取校验基础数据。
S650、根据解密校验信息与加密校验信息的一致性,对加密校验信息进行验证。
示例性的,若解密校验信息与加密校验信息相同,则表示对加密校验信息的验证通过;若解密校验信息与加密校验信息不同,则表示对加密校验信息的验证未通过。
S660、若验证通过,则采用解密密钥对原始数据密文进行解密,得到原始数据明文。
本公开实施例方案通过根据校验基础数据、原始数据密文、临时共享私钥和解密密钥的标识信息,生成解密校验信息,增加了生成的解密校验信息的随机性,提高了生成的解密校验信息的安全性,从而进一步提高了对加密校验信息的校验过程的安全性。
在一个具体实施方式中,如图6B所示的一种数据解密过程示意图。解密方获取包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据;解密方根据临时共享公钥和自身传输私钥,基于预设的ECDH算法,生成用于本次解密的临时共享私钥。解密方根据临时共享私钥和派生基础数据S1(盐值),基于预设的第一哈希算法进行密钥提取,生成本次解密过程的初始派生解密数据;根据派生基础数据S2(上下文信息值)对初始派生解密数据进行密钥扩展,得到目标派生解密数据。将目标派生解密数据按照设定字符长度进行拆分,得到对称解密密钥和对称解密密钥的密钥标识。根据校验基础数据述原始数据密文、临时共享私钥和解密密钥的标识信息,基于预设的第二哈希算法,生成解密校验信息。将生成的解密校验信息与获取的目标加密数据中的加密校验信息进行一致性判断;若解密校验信息与加密校验信息相同,则进入解密流程,根据对称解密密钥,基于对称解密算法,对原始数据密文进行解密,得到原始数据明文。若解密校验信息与加密校验信息不同,则终止解密流程。其中,第一哈希算法与第二哈希算法可以相同或不同,本公开对此不作任何限定。
作为上述各数据传输方法的实现,本公开还提供了一种实施上述各数据传输方法的执行装置的可选实施例。
图7是根据本公开实施例提供的一种数据传输装置的示意图,本实施例可适用于对数据传输过程中的数据进行加解密的应用场景中,该装置可配置于电子设备中,该电子设备可应用于加密方,可实现本公开任意实施例所述的数据传输方法。参考图7,该数据传输装置700具体包括如下:
公私钥生成模块701,用于根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥;
密钥派生模块702,用于根据所述临时共享私钥,派生出本次加密过程的加密密钥和所述加密密钥的标识信息;
原始数据密文生成模块703,用于根据所述加密密钥对原始数据明文进行加密,得到原始数据密文;
加密校验信息生成模块704,用于根据所述加密密钥的标识信息,生成加密校验信息;
目标加密数据生成模块705,用于生成包括所述临时共享公钥、所述原始数据密文和所述加密校验信息的目标加密数据,以供传输。
本公开实施例方案通过根据生成的临时共享私钥,派生出本次加密过程的加密密钥和加密密钥的标识信息;根据加密密钥对原始数据明文进行加密,得到原始数据密文;根据加密密钥的标识信息,生成加密校验信息;生成包括临时共享公钥、原始数据密文和加密校验信息的目标加密数据。上述技术方案通过根据生成的临时共享公钥,生成对称加密密钥,并采用对称加密密钥加密的方式,减小了后续进行数据解密的运算量,提高了数据传输的便捷性。同时,每一次进行数据加密时都需要重新生成临时共享公私钥,增加了数据窃取难度,从而提高了数据安全性。同时通过生成加密校验信息的方式,便于对原始数据密文进行验证,进一步保证了解密方所解密数据的准确性和有效性。
在一个可选实施例方式中,所述密钥派生模块702,包括:
派生加密数据生成单元,用于根据所述临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
密钥生成单元,用于根据所述目标派生加密数据,生成所述加密密钥和所述加密密钥的标识信息。
在一个可选实施例方式中,所述密钥生成单元,包括:
数据拆分子单元,用于对所述目标派生加密数据进行数据拆分,得到所述加密密钥和所述加密密钥的标识信息。
在一个可选实施方式中,所述派生基础数据包括盐值和上下文信息值;
所述派生加密数据生成单元,包括:
初始加密数据生成子单元,用于根据所述临时共享私钥和所述盐值进行密钥提取,生成本次加密过程的初始派生加密数据;
目标加密数据生成子单元,用于根据所述上下文信息值对所述初始派生加密数据进行密钥扩展,得到所述目标派生加密数据。
在一个可选实施方式中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识。
在一个可选实施方式中,所述加密校验信息生成模块704,包括:
加密校验信息生成单元,用于根据所述原始数据密文、所述临时共享私钥和所述加密密钥的标识信息中的至少一种,以及校验基础数据,生成所述加密校验信息;其中,所述校验基础数据为加密方与解密方约定的预设共享数据。
在一个可选实施方式中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识。
在一个可选实施方式中,所述公私钥生成模块701,包括:
随机私钥确定单元,用于确定随机私钥;
共享私钥生成单元,用于根据所述传输公钥和所述随机私钥,生成所述临时共享私钥;
共享公钥生成单元,用于根据所述临时共享私钥,生成所述临时共享公钥。
上述数据传输装置可执行本公开任意实施例所提供的数据传输方法,具备执行各数据传输方法相应的功能模块和有益效果。
图8是根据本公开实施例提供的一种数据传输装置的示意图,本实施例可适用于对数据传输过程中的数据进行加解密的应用场景中,该装置可配置于电子设备中,该电子设备可应用于解密方,可实现本公开任意实施例所述的数据传输方法。参考图8,该数据传输装置800具体包括如下:
目标加密数据获取模块801,用于获取目标加密数据;其中,所述目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;所述临时共享公钥基于解密方的传输公钥生成;
共享私钥生成模块802,用于根据所述临时共享公钥和所述传输公钥对应传输私钥,生成临时共享私钥;
解密密钥生成模块803,用于根据所述临时共享私钥,派生出本次解密过程的解密密钥和所述解密密钥的标识信息;
验证模块804,用于根据所述解密密钥的标识信息对所述加密校验信息进行验证;
原始数据明文确定模块805,用于若验证通过,则采用所述解密密钥对所述原始数据密文进行解密,得到原始数据明文。
本公开实施例方案通过临时共享公钥和传输公钥对应传输私钥,生成临时共享私钥;根据临时共享私钥,派生出本次解密过程的解密密钥和解密密钥的标识信息;根据解密密钥的标识信息对加密校验信息进行验证;若验证通过,则采用解密密钥对原始数据密文进行解密,得到原始数据明文。上述技术方案通过根据生成的临时共享公钥,生成对称解密密钥,并采用对称解密密钥进行解密的方式,减小了数据解密过程运算量,提高了数据解密效率。同时,每一次进行数据解密时都需要重新生成临时共享公私钥,增加了数据窃取难度,从而提高了数据安全性。同时通过先对加密校验信息进行验证,再进行数据解密的方式,进一步保证了解密数据的准确性和有效性。
在一种可选实施方式中,所述解密密钥生成模块803,包括:
派生解密数据生成单元,用于根据所述临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
解密密钥生成单元,用于根据所述目标派生解密数据,生成所述解密密钥和所述解密密钥的标识信息。
在一种可选实施方式中,所述解密密钥生成单元,包括:
数据拆分子单元,用于对所述目标派生解密数据进行数据拆分,得到所述解密密钥和所述解密密钥的标识信息。
在一种可选实施方式中,所述派生基础数据包括盐值和上下文信息值;
所述派生解密数据生成单元,包括:
初始解密数据生成子单元,用于根据所述临时共享私钥和所述盐值进行密钥提取,生成本次解密过程的初始派生解密数据;
目标解密数据生成子单元,用于根据所述上下文信息值和所述初始派生解密数据进行密钥扩展,得到所述目标派生解密数据。
在一种可选实施方式中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识;所述装置800还包括:
派生基础数据获取模块,用于根据所述派生基础数据的查找标识,在所述预设共享数据组中查找获取所述派生基础数据。
在一种可选实施方式中,所述验证模块804,包括:
解密校验信息生成单元,用于根据所述原始数据密文、所述临时共享私钥和所述解密密钥的标识信息中的至少一种,以及校验基础数据,生成解密校验信息;
验证单元,用于根据所述解密校验信息与所述加密校验信息的一致性,对所述加密校验信息进行验证。
在一种可选实施方式中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识;所述装置800还包括:
校验基础数据查找模块,用于根据所述校验基础数据的查找标识,在所述预设共享数据组中查找获取所述校验基础数据。
上述数据传输装置可执行本公开任意实施例所提供的数据传输方法,具备执行各数据传输方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的传输公钥、派生基础数据和校验基础数据的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如数据传输方法。例如,在一些实施例中,数据传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的数据传输方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据传输方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (32)

1.一种数据传输方法,应用于加密方,包括:
根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥;
根据所述临时共享私钥,派生出本次加密过程的加密密钥和所述加密密钥的标识信息;
根据所述加密密钥对原始数据明文进行加密,得到原始数据密文;
根据所述加密密钥的标识信息,生成加密校验信息;
生成包括所述临时共享公钥、所述原始数据密文和所述加密校验信息的目标加密数据,以供传输。
2.根据权利要求1所述的方法,其中,所述根据所述临时共享私钥,派生出本次加密过程的加密密钥和所述加密密钥的标识信息,包括:
根据所述临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
根据所述目标派生加密数据,生成所述加密密钥和所述加密密钥的标识信息。
3.根据权利要求2所述的方法,其中,所述根据所述目标派生加密数据,生成所述加密密钥和所述加密密钥的标识信息,包括:
对所述目标派生加密数据进行数据拆分,得到所述加密密钥和所述加密密钥的标识信息。
4.根据权利要求2所述的方法,其中,所述派生基础数据包括盐值和上下文信息值;
所述根据所述临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据,包括:
根据所述临时共享私钥和所述盐值进行密钥提取,生成本次加密过程的初始派生加密数据;
根据所述上下文信息值对所述初始派生加密数据进行密钥扩展,得到所述目标派生加密数据。
5.根据权利要求2所述的方法,其中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识。
6.根据权利要求1-5任一项所述的方法,其中,所述根据所述加密密钥的标识信息,生成所述加密校验信息,包括:
根据所述原始数据密文、所述临时共享私钥和所述加密密钥的标识信息中的至少一种,以及校验基础数据,生成所述加密校验信息;其中,所述校验基础数据为加密方与解密方约定的预设共享数据。
7.根据权利要求6所述的方法,其中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识。
8.根据权利要求1-5任一项所述的方法,其中,所述根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥,包括:
确定随机私钥;
根据所述传输公钥和所述随机私钥,生成所述临时共享私钥;
根据所述临时共享私钥,生成所述临时共享公钥。
9.一种数据传输方法,应用于解密方,包括:
获取目标加密数据;其中,所述目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;所述临时共享公钥基于解密方的传输公钥生成;
根据所述临时共享公钥和所述传输公钥对应传输私钥,生成临时共享私钥;
根据所述临时共享私钥,派生出本次解密过程的解密密钥和所述解密密钥的标识信息;
根据所述解密密钥的标识信息对所述加密校验信息进行验证;
若验证通过,则采用所述解密密钥对所述原始数据密文进行解密,得到原始数据明文。
10.根据权利要求9所述的方法,其中,所述根据所述临时共享私钥,派生出本次解密过程的解密密钥和所述解密密钥的标识信息,包括:
根据所述临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
根据所述目标派生解密数据,生成所述解密密钥和所述解密密钥的标识信息。
11.根据权利要求10所述的方法,其中,所述根据所述目标派生解密数据,生成所述解密密钥和所述解密密钥的标识信息,包括:
对所述目标派生解密数据进行数据拆分,得到所述解密密钥和所述解密密钥的标识信息。
12.根据权利要求10所述的方法,其中,所述派生基础数据包括盐值和上下文信息值;
所述根据所述临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据,包括:
根据所述临时共享私钥和所述盐值进行密钥提取,生成本次解密过程的初始派生解密数据;
根据所述上下文信息值和所述初始派生解密数据进行密钥扩展,得到所述目标派生解密数据。
13.根据权利要求10所述的方法,其中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识;所述方法还包括:
根据所述派生基础数据的查找标识,在所述预设共享数据组中查找获取所述派生基础数据。
14.根据权利要求9-13任一项所述的方法,其中,所述根据所述解密密钥的标识信息对所述加密校验信息进行验证,包括:
根据所述原始数据密文、所述临时共享私钥和所述解密密钥的标识信息中的至少一种,以及校验基础数据,生成解密校验信息;
根据所述解密校验信息与所述加密校验信息的一致性,对所述加密校验信息进行验证。
15.根据权利要求14所述的方法,其中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识;所述方法还包括:
根据所述校验基础数据的查找标识,在所述预设共享数据组中查找获取所述校验基础数据。
16.一种数据传输装置,配置于加密方,包括:
公私钥生成模块,用于根据传输公钥,生成本次加密过程的临时共享公钥和临时共享私钥;
密钥派生模块,用于根据所述临时共享私钥,派生出本次加密过程的加密密钥和所述加密密钥的标识信息;
原始数据密文生成模块,用于根据所述加密密钥对原始数据明文进行加密,得到原始数据密文;
加密校验信息生成模块,用于根据所述加密密钥的标识信息,生成加密校验信息;
目标加密数据生成模块,用于生成包括所述临时共享公钥、所述原始数据密文和所述加密校验信息的目标加密数据,以供传输。
17.根据权利要求16所述的装置,其中,所述密钥派生模块,包括:
派生加密数据生成单元,用于根据所述临时共享私钥和派生基础数据,生成本次加密过程的目标派生加密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
密钥生成单元,用于根据所述目标派生加密数据,生成所述加密密钥和所述加密密钥的标识信息。
18.根据权利要求17所述的装置,其中,所述密钥生成单元,包括:
数据拆分子单元,用于对所述目标派生加密数据进行数据拆分,得到所述加密密钥和所述加密密钥的标识信息。
19.根据权利要求17所述的装置,其中,所述派生基础数据包括盐值和上下文信息值;
所述派生加密数据生成单元,包括:
初始加密数据生成子单元,用于根据所述临时共享私钥和所述盐值进行密钥提取,生成本次加密过程的初始派生加密数据;
目标加密数据生成子单元,用于根据所述上下文信息值对所述初始派生加密数据进行密钥扩展,得到所述目标派生加密数据。
20.根据权利要求17所述的装置,其中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识。
21.根据权利要求16-20任一项所述的装置,其中,所述加密校验信息生成模块,包括:
加密校验信息生成单元,用于根据所述原始数据密文、所述临时共享私钥和所述加密密钥的标识信息中的至少一种,以及校验基础数据,生成所述加密校验信息;其中,所述校验基础数据为加密方与解密方约定的预设共享数据。
22.根据权利要求21所述的装置,其中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识。
23.根据权利要求16-20任一项所述的装置,其中,所述公私钥生成模块,包括:
随机私钥确定单元,用于确定随机私钥;
共享私钥生成单元,用于根据所述传输公钥和所述随机私钥,生成所述临时共享私钥;
共享公钥生成单元,用于根据所述临时共享私钥,生成所述临时共享公钥。
24.一种数据传输装置,配置于解密方,包括:
目标加密数据获取模块,用于获取目标加密数据;其中,所述目标加密数据包括临时共享公钥、原始数据密文和加密校验信息;所述临时共享公钥基于解密方的传输公钥生成;
共享私钥生成模块,用于根据所述临时共享公钥和所述传输公钥对应传输私钥,生成临时共享私钥;
解密密钥生成模块,用于根据所述临时共享私钥,派生出本次解密过程的解密密钥和所述解密密钥的标识信息;
验证模块,用于根据所述解密密钥的标识信息对所述加密校验信息进行验证;
原始数据明文确定模块,用于若验证通过,则采用所述解密密钥对所述原始数据密文进行解密,得到原始数据明文。
25.根据权利要求24所述的装置,其中,所述解密密钥生成模块,包括:
派生解密数据生成单元,用于根据所述临时共享私钥和派生基础数据,生成本次解密过程的目标派生解密数据;其中,所述派生基础数据为加密方与解密方约定的预设共享数据;
解密密钥生成单元,用于根据所述目标派生解密数据,生成所述解密密钥和所述解密密钥的标识信息。
26.根据权利要求25所述的装置,其中,所述解密密钥生成单元,包括:
数据拆分子单元,用于对所述目标派生解密数据进行数据拆分,得到所述解密密钥和所述解密密钥的标识信息。
27.根据权利要求25所述的装置,其中,所述派生基础数据包括盐值和上下文信息值;
所述派生解密数据生成单元,包括:
初始解密数据生成子单元,用于根据所述临时共享私钥和所述盐值进行密钥提取,生成本次解密过程的初始派生解密数据;
目标解密数据生成子单元,用于根据所述上下文信息值和所述初始派生解密数据进行密钥扩展,得到所述目标派生解密数据。
28.根据权利要求25所述的装置,其中,所述目标加密数据中还包括所述派生基础数据在预设共享数据组中的查找标识;所述装置还包括:
派生基础数据获取模块,用于根据所述派生基础数据的查找标识,在所述预设共享数据组中查找获取所述派生基础数据。
29.根据权利要求24-28任一项所述的装置,其中,所述验证模块,包括:
解密校验信息生成单元,用于根据所述原始数据密文、所述临时共享私钥和所述解密密钥的标识信息中的至少一种,以及校验基础数据,生成解密校验信息;
验证单元,用于根据所述解密校验信息与所述加密校验信息的一致性,对所述加密校验信息进行验证。
30.根据权利要求29所述的装置,其中,所述目标加密数据中还包括所述校验基础数据在预设共享数据组中的查找标识;所述装置还包括:
校验基础数据查找模块,用于根据所述校验基础数据的查找标识,在所述预设共享数据组中查找获取所述校验基础数据。
31. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8和/或权利要求9-15中任一项所述的数据传输方法。
32.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8和/或权利要求9-15中任一项所述的数据传输方法。
CN202211478742.6A 2022-11-24 2022-11-24 数据传输方法、装置、设备及存储介质 Active CN115580489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211478742.6A CN115580489B (zh) 2022-11-24 2022-11-24 数据传输方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211478742.6A CN115580489B (zh) 2022-11-24 2022-11-24 数据传输方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115580489A CN115580489A (zh) 2023-01-06
CN115580489B true CN115580489B (zh) 2023-03-17

Family

ID=84590637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211478742.6A Active CN115580489B (zh) 2022-11-24 2022-11-24 数据传输方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115580489B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062045A (zh) * 2019-12-17 2020-04-24 北京推想科技有限公司 信息加密、解密方法和装置、电子设备及存储介质
CN112367169A (zh) * 2020-11-11 2021-02-12 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
CN114785527A (zh) * 2022-06-17 2022-07-22 深圳市深圳通有限公司 数据传输方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101150B (zh) * 2016-08-17 2019-04-19 北京锐安科技有限公司 加密算法的实现方法和系统
CN108933804B (zh) * 2017-05-26 2021-12-10 中移物联网有限公司 一种对等网络构建方法和装置
GB2589636A (en) * 2019-12-06 2021-06-09 Nchain Holdings Ltd Identity-based public-key generation protocol
WO2021192992A1 (ja) * 2020-03-23 2021-09-30 ソニーグループ株式会社 エンティティ、ゲートウェイ装置、情報処理装置、情報処理システム、および情報処理方法
CN113572614B (zh) * 2020-04-28 2023-07-14 万维数码智能有限公司 用于数据传输的安全保密方法和系统
US11372986B1 (en) * 2021-01-18 2022-06-28 Axiom Technologies LLC Systems and methods for encrypted content management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062045A (zh) * 2019-12-17 2020-04-24 北京推想科技有限公司 信息加密、解密方法和装置、电子设备及存储介质
CN112367169A (zh) * 2020-11-11 2021-02-12 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
CN114785527A (zh) * 2022-06-17 2022-07-22 深圳市深圳通有限公司 数据传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115580489A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN110493202B (zh) 登录令牌的生成及验证方法、装置和服务器
US10601801B2 (en) Identity authentication method and apparatus
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
CN110969431A (zh) 区块链数字币私钥的安全托管方法、设备和系统
CN112437060B (zh) 一种数据传输方法、装置、计算机设备及存储介质
CN108549824A (zh) 一种数据脱敏方法及装置
CN107872315B (zh) 数据处理方法和智能终端
CN115473722A (zh) 数据加密方法、装置、电子设备及存储介质
CN113630412B (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
CN111193741A (zh) 一种信息发送方法、信息获取方法、装置及设备
US20210273801A1 (en) Methods and systems for password recovery based on user location
CN114581091A (zh) 一种身份验证方法、装置、计算机设备及存储介质
CN115580489B (zh) 数据传输方法、装置、设备及存储介质
CN114884714B (zh) 任务处理方法、装置、设备及存储介质
CN113794706B (zh) 数据的处理方法、装置、电子设备及可读存储介质
CN108512657B (zh) 一种密码生成方法及装置
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN115129518A (zh) Tee内存储数据的备份和恢复方法、装置、设备及介质
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
CN112565156B (zh) 信息注册方法、装置和系统
CN114239014A (zh) 基于离线设备的文件处理方法、装置和电子设备
CN113672954A (zh) 特征提取方法、装置和电子设备
CN107623571B (zh) 一种握手处理方法、客户端及服务器
CN112615712B (zh) 数据的处理方法、相关装置及计算机程序产品
CN114282237B (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