掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的信息加密传输方法及装置

文献发布时间:2023-06-19 13:45:04


基于区块链的信息加密传输方法及装置

技术领域

本发明涉及通信技术领域,尤其涉及一种基于区块链的信息加密传输方法及装置。

背景技术

随着互联网技术的发展,信息可以通过互联网在不同用户终端之间进行传输。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,可以在一定程度上提高数据存储和传输的安全。但是区块链网络中仍存在链内数据被随意获取、下载等数据安全风险。为了确保区块链网络内信息传输的安全性,特别是敏感信息的安全传输,可通过非对称加密算法或对称加密算法对信息进行加密处理后再进行传输。但是,由于对称加密算法的安全性不高,容易被破解;而非对称算法的安全性虽然比加密算法的安全性高,但非对称算法较复杂,导致信息加密传输的效率较低,导致基于现有技术难以安全且高效的进行信息加密传输。

发明内容

本发明提供一种基于区块链的信息加密传输方法及装置,用以解决现有技术中难以安全且高效的进行信息加密传输的缺陷,实现更安全、更高效的信息加密传输。

本发明提供一种基于区块链的信息加密传输方法,包括:

基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对所述目标AES密钥进行加密,获得目标AES密文,生成所述目标明文信息的数字签名;

将所述目标密文、所述目标AES密文和所述目标明文信息的数字签名发送至接收端,以使得所述接收端基于所述第一ECC公钥对应的第一ECC私钥解密所述目标AES密文,获得所述目标AES密钥,基于所述目标AES密钥解密所述目标密文,获得解密明文信息,基于所述解密明文信息和所述目标明文信息的数字签名进行安全验证,在通过所述安全验证的情况下,确定接收到所述目标明文信息。

根据本发明提供的一种基于区块链的信息加密传输方法,所述生成所述目标明文信息的数字签名,具体包括:

基于目标函数获取所述目标明文信息的摘要值;

基于第二ECC私钥和所述目标明文信息的摘要值,通过目标数字签名算法,获得所述目标明文信息的数字签名。

根据本发明提供的一种基于区块链的信息加密传输方法,所述将所述目标密文、所述目标AES密文和所述目标明文信息的摘要值发送至所述接收端之前,所述方法还包括:

向服务端发送表示请求建立与所述接收端之间的通信信道的连接请求,以使得所述服务端接收所述连接请求,建立发送端与所述接收端之间的通信信道。

本发明还提供一种基于区块链的信息加密传输方法,包括:

接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名;

基于第一ECC公钥对应的第一ECC私钥解密所述目标AES密文,获得目标AES密钥之后,基于所述目标AES密钥解密所述目标密文,获得解密明文信息;

根据本发明提供的一种基于区块链的信息加密传输方法,基于所述解密明文信息和所述目标明文信息的数字签名进行安全验证,在通过所述安全验证的情况下,确定接收到所述目标明文信息;

其中,所述目标密文,是所述发送端基于所述目标AES密钥对所述目标明文信息进行加密之后获得的;所述目标AES密文,是所述发送端基于所述第一ECC公钥对所述目标AES密钥进行加密之后获得的。

根据本发明提供的一种基于区块链的信息加密传输方法,所述基于所述解密明文信息和所述目标明文信息的数字签名进行安全验证,具体包括:

基于第二ECC私钥对应的第二ECC公钥和所述目标明文信息的数字签名,通过目标数字签名函数,获得所述目标明文信息的摘要值,并基于目标函数,获得所述解密明文信息的摘要值;

在确定所述目标明文信息的摘要值和所述解密明文信息的摘要值相同的情况下,确定通过所述安全验证。

本发明还提供一种基于区块链的信息加密传输装置,包括:

加密模块,用于基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对所述目标AES密钥进行加密,获得目标AES密文,生成所述目标明文信息的数字签名;

发送模块,用于将所述目标密文、所述目标AES密文和所述目标明文信息的数字签名发送至接收端,以使得所述接收端基于所述第一ECC公钥对应的第一ECC私钥解密所述目标AES密文,获得所述目标AES密钥,基于所述目标AES密钥解密所述目标密文,获得解密明文信息,基于所述解密明文信息和所述目标明文信息的数字签名进行安全验证,在通过所述安全验证的情况下,确定接收到所述目标明文信息。

本发明还提供一种基于区块链的信息加密传输装置,包括:

接收模块,用于接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名;

解密模块,用于基于第一ECC公钥对应的第一ECC私钥解密所述目标AES密文,获得目标AES密钥之后,基于所述目标AES密钥解密所述目标密文,获得解密明文信息;

验证模块,用于基于所述解密明文信息和所述目标明文信息的数字签名进行安全验证,在通过所述安全验证的情况下,确定接收到所述目标明文信息;

其中,所述目标密文,是所述发送端基于所述目标AES密钥对所述目标明文信息进行加密之后获得的;所述目标AES密文,是所述发送端基于所述第一ECC公钥对所述目标AES密钥进行加密之后获得的。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于区块链的信息加密传输方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于区块链的信息加密传输方法的步骤。

本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于区块链的信息加密传输方法的步骤。

本发明提供的基于区块链的信息加密传输方法及装置,通过发送端基于对称算法对目标明文信息进行加密获得目标密文,基于非对称算法对目标AES密钥进行加密,获得目标AES密文,并在生成目标明文信息的数字签名之后,将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,接收端分别对目标AES密文和目标密文进行解密,获得解密明文信息,并基于解密明文信息和目标明文信息的数字签名通过安全验证的情况下,确定接收到目标明文信息,能解决密钥的分配和管理问题,能结合非对称算法、对称算法以及数字签名避免发送端发送的信息被随意获取和下载,从而进一步提高信息传输的安全性,能实现更安全、更高效的信息加密传输。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于区块链的信息加密传输方法的流程示意图之一;

图2是本发明提供的基于区块链的信息加密传输方法的流程示意图之二;

图3是本发明提供的基于区块链的信息加密传输方法的流程示意图之三;

图4是本发明提供的基于区块链的信息加密传输方法中发送端与接收端的交互示意图;

图5是本发明提供的基于区块链的信息加密传输装置的结构示意图之一;

图6是本发明提供的基于区块链的信息加密传输装置的结构示意图之二;

图7是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,ECC算法(Elliptic curve cryptography,椭圆曲线算法)是一种基于椭圆曲线数学的非对称算法,具有安全性高、计算量小、处理速度快且存储空间和传输带宽占用较少等优点。

AES算法(Advanced Encryption Standard,高级加密标准)是一种广泛使用的对称算法,AES算法中的加密密钥和解密密钥相同,具有计算速度快的优点。

通过某一算法可以得到一个密钥对,包括一个公钥和一个私钥,公钥可以向外界公开,私钥保留不向外界公开。任一密钥对中的公钥和私钥存在唯一对应关系,若通过某一公钥对数据加密后,只有该公钥对应的私钥才能解密上述数据,若通过某一私钥对数据加密后,只有该私钥对应的公钥才能解密上述数据。

需要说明的是,本发明提供的基于区块链的信息加密传输方法,可以用于区块链网络中各节点之间的信息加密传输。可选地,本发明提供的基于区块链的信息加密传输方法,还可以用于互联网中不同用户客户端之间的信息加密传输。

图1是本发明提供的基于区块链的信息加密传输方法的流程示意图之一。下面结合图1描述本发明的基于区块链的信息加密传输方法。如图1所示,该方法包括:步骤101、基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文,生成目标明文信息的数字签名。

需要说明的是,本发明实施例的执行主体为发送端。在发送端有向接收端发送信息的需求的情况下,可以通过本发明提供的基于区块链的信息加密传输方法向接收端发送信息。发送端和接收端均为同一区块链中的节点。可选地,发送端和移动端还可以为互联网中的两个用户。

需要说明的是,本发明实施例中发送端与接收端已通过服务端建立可以用于信息传输的通信信道。建立发送端与接收端之间的通信信道之后,接收端可以基于ECC算法随机生成一对ECC密钥对,包括第一ECC公钥和第一ECC私钥,接收端可以将第一ECC公钥发送至服务端进行存储,并将第一ECC私钥进行本地存储。建立发送端与接收端之间的通信信道之后,发送端也可以基于ECC算法随机生成一对ECC密钥对,包括第二ECC公钥和第二ECC私钥,发送端可以将第二ECC公钥发送至服务端进行存储,并将第二ECC私钥进行本地存储。

目标明文信息,为发送端需要发送至接收端的信息。

发送端可以基于AES算法随机生成一个AES密钥作为目标AES密钥,并基于目标AES密钥对目标明文信息进行加密之后,获得目标明文信息对应的目标密文。

发送端还可以从服务端获取第一ECC公钥,并基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文。

需要说明的是,基于第一ECC公钥对目标AES密钥进行加密,可以确保其他客户端无法解密目标AES密文,获得目标AES密钥,并且相较于目标明文信息,目标AES密钥的字符数更少,基于第一ECC公钥对目标AES密钥进行加密的计算更简单,计算效率更高。

本发明实施例中,利用了AES算法加密速度快,适用于加密长数据的优点,以及ECC算法破解难度大,安全性高的优点,并通过两者结合解决AES密钥的管理问题,可以将对称加密算法(AES算法)与公钥加密算法(ECC算法)结合,形成了互补设计,非法第三方不能轻易截获目标AES密钥,而ECC公钥本身就是对外公布的,进而可以确保目标AES密钥的机密性,有效地确保信息传输过程中的安全性。通过服务端作为核心媒介,实现了发送端与接收端之间的数据传输,并且可以通过数字签名和签名认证,双重确保信息传输的安全。

发送端可以通过多种方式生成目标明文信息的数字签名,在接收端接收上述数字签名之后,可以基于上述数字签名进行安全验证,判断信息在传输的过程中是否被篡改或者破坏。

步骤102、将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,以使得接收端基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息。

具体地,发送端获得目标密文、目标AES密文和目标明文信息的数字签名之后,可以通过与接收端之间的通信信道,将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端。

接收端可以通过与发送端之间的通信信道接收发送端发送的目标密文、目标AES密文以及目标明文信息的数字签名。

接收端接收到发送端发送的目标密文、目标AES密文以及目标明文信息的数字签名之后,可以基于本地存储的第一ECC私钥解密目标AES密文,获得目标AES密钥。

接收端获得目标AES密钥之后,还可以基于目标AES密钥解密接收到的目标密文,获得解密明文信息。

接收端获得解密明文信息之后,需要确定解密明文信息与目标明文信息是否相同,即需要确定目标明文信息在加密传输过程中是否被修改或删除。

接收端可以通过进行安全验证确定解密明文信息与目标明文信息是否相同,即可以确定目标明文信息在加密传输过程中是否被修改或删除。

接收端可以基于获得的解密明文信息和接收到的目标明文信息的数字签名进行安全验证,验证获得的解密明文信息与目标明文信息是否相同。

若通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息相同,即可以确定接收端接收到的信息为目标明文信息。若通过安全验证,还可以说明上述发送端与接收端之间的信息加密传输过程中,信息安全传输。

若未通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息不同,即可以确定接收端接收到的信息不为目标明文信息,上述发送端与接收到之间的信息加密传输过程中,信息未安全传输。

需要说明的是,在未通过安全验证的情况下,接收端可以向服务端发送请求中断与发送端之间的通信信道的中断请求。服务端在接收到上述中断请求之后,可以中断接收端与发送端之间的通信信道。

本发明实施例通过发送端基于对称算法对目标明文信息进行加密获得目标密文,基于非对称算法对目标AES密钥进行加密,获得目标AES密文,并在生成目标明文信息的数字签名之后,将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,接收端分别对目标AES密文和目标密文进行解密,获得解密明文信息,并基于解密明文信息和目标明文信息的数字签名通过安全验证的情况下,确定接收到目标明文信息,能解决密钥的分配和管理问题,能结合非对称算法、对称算法以及数字签名避免发送端发送的信息被随意获取和下载,从而进一步提高信息传输的安全性,能实现更安全、更高效的信息加密传输。

基于上述各实施例的内容,生成目标明文信息的数字签名,具体包括:基于目标函数获取目标明文信息的摘要值。

需要说明的是,目标函数可以为哈希函数,还可以为其他函数,本发明实施例中对目标函数不作具体限定。以下以目标函数为哈希函数为例,说明获取目标明文信息的摘要值的具体过程。

具体地,发送端生成目标明文信息m之后,发送端对目标明文信息m进行加密,得到目标密文c之后,可以基于哈希函数获取目标明文信息的摘要值h

基于第二ECC私钥和目标明文信息的摘要值,通过目标数字签名算法,获得目标明文信息的数字签名。

需要说明的是,目标数字签名算法可以为ECDSA数字签名算法,还可以为其他数字签名算法,本发明实施例中对目标数字签名算法不作具体限定。以下以目标数字签名算法为ECDSA数字签名算法为例,说明获得目标明文信息的数字签名的具体过程。

具体地,发送端可以基于第二ECC私钥,通过ECDSA数字签名算法,对目标明文信息的摘要值h

通过ECDSA数字签名算法在链内进行数字签名与签名验证,将链内信息进行双重加密验证。不仅提高了算法的安全水平又保证了数据的完整性,有效地避免了信息的盗窃、篡改、破坏。

本发明实施例通过基于目标函数获得目标明文信息的摘要值之后,基于接收端通过ECC算法生成的第一ECC私钥和目标明文信息的摘要值,通过目标数字签名算法,获得目标明文信息的数字签名,能通过接收端对目标明文信息进行数字签名,对信息进行双重加密验证,能提高了加密算法的安全水平并保证了信息的完整性,能有效地避免了信息的盗窃、篡改、破坏,能进一步提高信息传输的安全性。

基于上述各实施例的内容,将目标密文、目标AES密文和目标明文信息的摘要值发送至接收端之前,方法还包括:向服务端发送表示请求建立与接收端之间的通信信道的连接请求,以使得服务端接收连接请求,建立发送端与接收端之间的通信信道。

具体地,发送端通过本发明提供的基于区块链的信息加密传输方法向接收端发送信息之前,发送端和接收端需要分别建立与服务端之间的通信信道,并通过服务端建立发送端与接收端之间的通信信道。

在服务端确定服务端与发送端通过双向身份认证的情况下,服务端可以建立与发送端之间的通信信道。

具体地,发送端可以向服务端发送表示请求建立与接收端之间的通信信道的连接请求。

服务端接收上述连接请求之后,可以将服务端的数字证书发送至发送端。

发送端接收服务端的数字证书之后,可以基于服务端的数字证书对服务端进行身份认证,并在确认服务端通过身份认证的情况下,向服务端返回表示确认服务端通过身份认证的确认信息。

服务端接收上述确认信息之后,可以基于服务端的数字证书对应的私钥加密任意明文信息,得到验证密文,并将上述明文信息和验证密文发送至发送端。

发送端接收上述明文信息和验证密文之后,可以基于服务端的数字证书对应的公钥对验证密文进行解密,并在确定解密获得的密文信息和接收到的密文信息相同的情况下,确定发送端通过身份认证。

服务端确定发送端通过身份认证之后,可以建立与发送端之间的通信信道。

需要说明的是,接收端与服务端建立通信信道的过程,与发送端与服务端建立通信信道的具体过程相同,此处不再赘述。

发送端和接收端分别与服务端建立通信信道之后,服务端建立了发送端和接收端之间的通信信道。

本发明实施例通过在发送端向接收端加密传输之前,服务端与发送端、接收端之间的进行双向身份验证,并在服务端与发送端、接收端之间均通过双向身份验证的情况下,建立发送端与接收端之间的通信信道,能有效的防止非授权的客户端对服务端的访问,能在加密发送信息之前阻断非法侵入,能进一步提高信息传输的安全性。

图2是本发明提供基于区块链的信息加密传输方法的流程示意图之二。下面结合图2描述本发明的基于区块链的信息加密传输方法。如图2所示,该方法包括:步骤201、接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名。

需要说明的是,本发明实施例的执行主体为接收端。

需要说明的是,本发明实施例中发送端与接收端已通过服务端建立可以用于信息传输的通信信道。建立发送端与接收端之间的通信信道之后,接收端可以基于ECC算法随机生成一对ECC密钥对,包括第一ECC公钥和第一ECC私钥,接收端可以将第一ECC公钥发送至服务端进行存储,并将第一ECC私钥进行本地存储。建立发送端与接收端之间的通信信道之后,发送端也可以基于ECC算法随机生成一对ECC密钥对,包括第二ECC公钥和第二ECC私钥,发送端可以将第二ECC公钥发送至服务端进行存储,并将第二ECC私钥进行本地存储。

目标明文信息,为接收端应该接收到的信息。

发送端可以基于AES算法随机生成一个AES密钥作为目标AES密钥,并基于目标AES密钥对目标明文信息进行加密之后,获得目标明文信息对应的目标密文。

发送端还可以从服务端获取第一ECC公钥,并基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文。

接收端可以通过与发送端之间的通信信道接收发送端发送的目标密文、目标AES密文以及目标明文信息的数字签名。

步骤202、基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息;其中,目标密文,是发送端基于目标AES密钥对目标明文信息进行加密之后获得的;目标AES密文,是发送端基于第一ECC公钥对目标AES密钥进行加密之后获得的。

具体地,接收端接收到发送端发送的目标密文、目标AES密文以及目标明文信息的数字签名之后,可以基于本地存储的第一ECC私钥解密目标AES密文,获得目标AES密钥。

接收端获得目标AES密钥之后,还可以基于目标AES密钥解密接收到的目标密文,获得解密明文信息。

步骤203、基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息。

具体地,接收端获得解密明文信息之后,需要确定解密明文信息与目标明文信息是否相同,即需要确定目标明文信息在加密传输过程中是否被修改或删除。

接收端可以通过进行安全验证确定解密明文信息与目标明文信息是否相同,即可以确定目标明文信息在加密传输过程中是否被修改或删除。

接收端可以基于获得的解密明文信息和接收到的目标明文信息的数字签名进行安全验证,验证获得的解密明文信息与目标明文信息是否相同。

若通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息相同,即可以确定接收端接收到的信息为目标明文信息。若通过安全验证,还可以说明上述发送端与接收端之间的信息加密传输过程中,信息安全传输。

若未通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息不同,即可以确定接收端接收到的信息不为目标明文信息,上述发送端与接收到之间的信息加密传输过程中,信息未安全传输。

需要说明的是,在未通过安全验证的情况下,接收端可以向服务端发送请求中断与发送端之间的通信信道的中断请求。服务端在接收到上述中断请求之后,可以中断接收端与发送端之间的通信信道。

本发明实施例通过接收端接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名之后,基于接收端通过ECC算法生成的第一ECC私钥解密目标AES密文获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,接收端确定接收到目标明文信息,在未通过安全验证的情况下,接收端向服务端发送请求中断与发送端之间的通信信道的中断请求,服务端在接收到上述中断请求之后,中断接收端与发送端之间的通信信道,能解决密钥分配和管理问题,能结合非对称算法、对称算法以及数字签名避免发送端发送的信息被随意获取和下载,从而进一步提高信息传输的安全性,能实现更安全、更高效的信息加密传输,能在发送端向接收端加密传输信息的过程中遭遇非法第三方攻击时,中断发送端与接收端之间的通信信道,而发送端和接收端与其他客户端之间的连接不受影响。

基于上述各实施例的内容,基于解密明文信息和目标明文信息的数字签名进行安全验证,具体包括:基于第二ECC私钥对应的第二ECC公钥和目标明文信息的数字签名,通过目标数字签名函数,获得目标明文信息的摘要值,并基于目标函数,获得解密明文信息的摘要值。

接收端接收到目标明文信息的数字签名s

需要说明的是,目标数字签名算法可以为ECDSA数字签名算法,还可以为其他数字签名算法,本发明实施例中对目标数字签名算法不作具体限定。

需要说明的是,目标函数可以为哈希函数,还可以为其他函数,本发明实施例中对目标函数不作具体限定。以下以目标函数为哈希函数为例,说明获取解密明文信息的摘要值的具体过程。

接收端获得的解密明文信息n之后,可以基于哈希函数获取解密明文信息的摘要值h

在确定目标明文信息的摘要值和解密明文信息的摘要值相同的情况下,确定通过安全验证。

接收端获得目标明文信息的摘要值h

若判断获知目标明文信息的摘要值h

若判断获知目标明文信息的摘要值h

本发明实施例通过接收端基于第二ECC公钥和目标明文消息的数字签名,通过目标数字签名算法,获得目标明文信息的摘要值,并基于目标函数,获得解密明文信息的摘要值,通过判断目标明文信息的摘要值和解密明文信息的摘要值是否相同,确定是否通过安全验证,能对信息进行双重加密验证,能提高了加密算法的安全水平并保证了信息的完整性,能有效地避免了信息的盗窃、篡改、破坏,能进一步提高信息传输的安全性。

为了便于对本发明提供的基于区块链的信息加密传输方法的理解,以下通过一个实例说明本发明提供的基于区块链的信息加密传输方法。图3是本发明提供的基于区块链的信息加密传输方法的流程示意图之三。

如图3所示,首先客户端分别与发送端、接收端进行双向身份认证,在服务端与发送端和接收端的双向身份认证均通过的情况下,服务端分别与发送端、接收端建立通信信道;在服务端与发送端和接收端中的任意一个未通过双向身份认证的情况下,服务端不与未通过双向身份认证的发送端或接收端建立通信信道。

服务端与发送端和接收端建立通信信道之后,发送端和接收端可以分别基于ECC算法随机生成一对ECC密钥。接收端可以获得第一ECC公钥和第一ECC私钥,并可以将第一ECC公钥发送至服务端进行存储,并将第一ECC私钥进行本地存储;发送端可以获得第二ECC公钥和第二ECC私钥,并可以将第二ECC公钥发送至服务端进行存储,并将第二ECC私钥进行本地存储。

发送端加密目标明文信息并通过信息加密传输,将加密后的目标明文信息发送至接收端。

接收端接收加密后的目标明文信息之后,可以解密加密后的目标明文信息,并基于目标明文信息的数字签名进行安全验证。

若判断获知安全验证通过,则接收端可以确认接收到目标明文信息,并可以确认发送端与接收端之间的信息加密传输过程中信息安全传输。

在判断获知安全验证未通过,则接收端可以确认未接收到目标明文信息,并可以确认发送端与接收端之间的信息加密传输过程中信息未安全传输,服务端可以中断发送端、接收端与服务端之间的通信信道。

图4是本发明提供的基于区块链的信息加密传输方法中发送端与接收端的交互示意图。

如图4所示,发送端可以基于AES算法随机生成一个AES密钥作为目标AES密钥,并基于目标AES密钥对目标明文信息进行加密之后,获得目标明文信息对应的目标密文c。

发送端还可以从服务端获取第一ECC公钥,并基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文。

发送端对目标明文信息m进行加密,得到目标密文c之后,可以基于哈希函数获取目标明文信息的摘要值h

发送端可以基于第二ECC私钥,通过ECDSA数字签名算法,对目标明文信息的摘要值h

发送端获得目标密文c、目标AES密文和目标明文信息的数字签名s

接收端可以通过与发送端之间的通信信道接收发送端发送的目标密文c、目标AES密文以及目标明文信息的数字签名s

接收端接收到发送端发送的目标密文c、目标AES密文以及目标明文信息的数字签名之后,可以基于本地存储的第一ECC私钥解密目标AES密文,获得目标AES密钥。

接收端获得目标AES密钥之后,可以基于目标AES密钥解密接收到的目标密文c,获得解密明文信息n。

接收端接收到目标明文信息的数字签名s

接收端获得的解密明文信息n之后,可以基于哈希函数获取解密明文信息的摘要值h

接收端可以通过对比目标明文信息的摘要值h

若判断获知目标明文信息的摘要值h

若判断获知目标明文信息的摘要值h

图5是本发明提供的基于区块链的信息加密传输装置的结构示意图之一。下面结合图5对本发明提供的基于区块链的信息加密传输装置进行描述,下文描述的基于区块链的信息加密传输装置与上文描述的本发明提供的基于区块链的信息加密传输方法可相互对应参照。如图5所示,该装置包括:加密模块501和发送模块502。

加密模块501,用于基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文,生成目标明文信息的数字签名。

发送模块502,用于将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端。

具体地,加密模块501和发送模块503电连接。

加密模块501可以基于AES算法随机生成一个AES密钥作为目标AES密钥,并基于目标AES密钥对目标明文信息进行加密之后,获得目标明文信息对应的目标密文。

加密模块501还可以从服务端获取第一ECC公钥,并基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文。

加密模块501还可以通过多种方式生成目标明文信息的数字签名,在接收端接收上述数字签名之后,可以基于上述数字签名进行安全验证,判断信息在传输的过程中是否被篡改或者破坏。

发送模块502可以通过与接收端之间的通信信道,将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端。

可选地,加密模块501可以具体用于基于目标函数获取目标明文信息的摘要值;基于第二ECC私钥和目标明文信息的摘要值,通过目标数字签名算法,获得目标明文信息的数字签名。

本发明实施例通过发送端基于对称算法对目标明文信息进行加密获得目标密文,基于非对称算法对目标AES密钥进行加密,获得目标AES密文,并在生成目标明文信息的数字签名之后,将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,接收端分别对目标AES密文和目标密文进行解密,获得解密明文信息,并基于解密明文信息和目标明文信息的数字签名通过安全验证的情况下,确定接收到目标明文信息,能解决密钥的分配和管理问题,能结合非对称算法、对称算法以及数字签名避免发送端发送的信息被随意获取和下载,从而进一步提高信息传输的安全性,能实现更安全、更高效的信息加密传输。

图6是本发明提供的基于区块链的信息加密传输装置的结构示意图之二。下面结合图6对本发明提供的基于区块链的信息加密传输装置进行描述,下文描述的基于区块链的信息加密传输装置与上文描述的本发明提供的基于区块链的信息加密传输方法可相互对应参照。如图6所示,该装置包括:接收模块601、解密模块602和验证模块603。

接收模块601,用于接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名。

解密模块602,用于基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息。

验证模块603,用于基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息;其中,目标密文,是发送端基于目标AES密钥对目标明文信息进行加密之后获得的;目标AES密文,是发送端基于第一ECC公钥对目标AES密钥进行加密之后获得的。

具体地,接收模块601、解密模块602和验证模块603电连接。

接收模块601可以通过与发送端之间的通信信道接收发送端发送的目标密文、目标AES密文以及目标明文信息的数字签名。

解密模块602可以基于本地存储的第一ECC私钥解密目标AES密文,获得目标AES密钥。

解密模块602还可以基于目标AES密钥解密接收到的目标密文,获得解密明文信息。

验证模块603可以基于获得的解密明文信息和接收到的目标明文信息的数字签名进行安全验证,验证获得的解密明文信息与目标明文信息是否相同。

若通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息相同,即可以确定接收端接收到的信息为目标明文信息。若通过安全验证,还可以说明上述发送端与接收端之间的信息加密传输过程中,信息安全传输。

若未通过安全验证,则可以确定接收端获得的解密明文信息与目标明文信息不同,即可以确定接收端接收到的信息不为目标明文信息,上述发送端与接收端之间的信息加密传输过程中,信息未安全传输。

需要说明的是,在未通过安全验证的情况下,接收端可以向服务端发送请求中断与发送端之间的通信信道的中断请求。服务端在接收到上述中断请求之前,可以中断接收端与服务端之间的通信信道。

可选地,验证模块603可以具体用于基于第二ECC私钥对应的第二ECC公钥和目标明文信息的数字签名,通过目标数字签名函数,获得目标明文信息的摘要值,并基于目标函数,获得解密明文信息的摘要值;在确定目标明文信息的摘要值和解密明文信息的摘要值相同的情况下,确定通过安全验证。

本发明实施例通过接收端接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名之后,基于接收端通过ECC算法生成的第一ECC私钥解密目标AES密文获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,接收端确定接收到目标明文信息,在未通过安全验证的情况下,接收端向服务端发送请求中断与发送端之间的通信信道的中断请求,服务端在接收到上述中断请求之后,中断接收端与发送端之间的通信信道,能克服密钥分配和管理问题,能结合非对称算法、对称算法以及数字签名避免发送端发送的信息被随意获取和下载,从而进一步提高信息传输的安全性,能实现更安全、更高效的信息加密传输,能在发送端向接收端加密传输信息的过程中遭遇非法第三方攻击时,中断发送端与接收端之间的通信信道,而发送端和接收端与其他客户端之间的连接不受影响。

图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于区块链的信息加密传输方法,该方法包括:基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文,生成目标明文信息的数字签名;将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,以使得接收端基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息。以及接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名;基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息;基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息;其中,目标密文,是发送端基于目标AES密钥对目标明文信息进行加密之后获得的;目标AES密文,是发送端基于第一ECC公钥对目标AES密钥进行加密之后获得的。

此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于区块链的信息加密传输方法,该方法包括:基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文,生成目标明文信息的数字签名;将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,以使得接收端基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息。以及接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名;基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息;基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息;其中,目标密文,是发送端基于目标AES密钥对目标明文信息进行加密之后获得的;目标AES密文,是发送端基于第一ECC公钥对目标AES密钥进行加密之后获得的。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于区块链的信息加密传输方法,该方法包括:基于目标AES密钥对目标明文信息进行加密,获得目标密文,基于第一ECC公钥对目标AES密钥进行加密,获得目标AES密文,生成目标明文信息的数字签名;将目标密文、目标AES密文和目标明文信息的数字签名发送至接收端,以使得接收端基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥,基于目标AES密钥解密目标密文,获得解密明文信息,基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息。以及接收发送端发送的目标密文、目标AES密文和目标明文信息的数字签名;基于第一ECC公钥对应的第一ECC私钥解密目标AES密文,获得目标AES密钥之后,基于目标AES密钥解密目标密文,获得解密明文信息;基于解密明文信息和目标明文信息的数字签名进行安全验证,在通过安全验证的情况下,确定接收到目标明文信息;其中,目标密文,是发送端基于目标AES密钥对目标明文信息进行加密之后获得的;目标AES密文,是发送端基于第一ECC公钥对目标AES密钥进行加密之后获得的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120113792383