区块链上用户通信加密方法、装置、终端设备及存储介质制造方法及图纸

技术编号:18623281 阅读:80 留言:0更新日期:2018-08-08 01:31
本发明专利技术公开了一种区块链上用户通信加密方法、装置、终端设备及存储介质。该区块链上用户通信方法,包括:用户A向用户B发送第一加密信息;用户B接收所述第一加密信息,解密后获取第一随机数;用户B向用户A发送第二加密信息;用户A接收所述第二加密信息,解密后获取第二随机数;用户A和用户B基于所述第一随机数和所述第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV;用户A和用户B基于所述密钥Key和所述初始化变量IV,采用AES算法的CBC模式进行加密通信。采用该区块链上用户通信加密方法能够保证区块链系统上用户进行点对点通信的安全。

User communication encryption method, device, terminal device and storage medium on block chain

The invention discloses a user communication encryption method, a device, a terminal device and a storage medium on a block chain. A user communication method on the block chain, including: the user A sends the first encryption information to the user B; the user B receives the first encrypted information and decrypts the first random number; the user B sends second encrypted information to the user A; the user A receives the second encrypted information and decrypts the second random number; the user A and the user B base In the first random number and the second random number, the key generation algorithm is executed, the key Key and the initialization variable IV are obtained; the user A and the user B are encrypted using the CBC mode of the AES algorithm based on the key Key and the initialization variable IV. The user communication encryption method on the block chain can ensure the security of point-to-point communication on the block chain system.

【技术实现步骤摘要】
区块链上用户通信加密方法、装置、终端设备及存储介质
本专利技术涉及区块链应用领域,尤其涉及一种区块链上用户通信加密方法、装置、终端设备及存储介质。
技术介绍
区块链系统上用户在进行点对点通信时,由于区块链系统上的数据都是共享的,区块链系统上任一用户都可以获取区块链系统上用户进行点对点通信的通信内容,无法保证区块链系统上用户进行点对点通信的安全。
技术实现思路
本专利技术实施例提供一种区块链上用户通信加密方法、装置、终端设备及存储介质,以解决当前区块链系统上用户进行点对点通信不安全的问题。第一方面,本专利技术实施例提供一种区块链上用户通信加密方法,包括:用户A向用户B发送第一加密信息;用户B接收所述第一加密信息,解密后获取第一随机数;用户B向用户A发送第二加密信息;用户A接收所述第二加密信息,解密后获取第二随机数;用户A和用户B基于所述第一随机数和所述第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV;用户A和用户B基于所述密钥Key和所述初始化变量IV,采用AES算法的CBC模式进行加密通信。第二方面,本专利技术实施例提供一种区块链上用户通信加密装置,包括:第一加密信息发送模块,用于用户A向用户B发送第一加密信息;第一随机数获取模块,用于用户B接收所述第一加密信息,解密后获取第一随机数;第二加密信息发送模块,用于用户B向用户A发送第二加密信息;第二随机数获取模块,用于用户A接收所述第二加密信息,解密后获取第二随机数;密钥和初始化变量获取模块,用于用户A和用户B基于所述第一随机数和所述第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV;加密通信模块,用于用户A和用户B基于所述密钥Key和所述初始化变量IV,采用AES算法的CBC模式进行加密通信。第三方面,本专利技术实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述区块链上用户通信加密方法的步骤。第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述区块链上用户通信加密方法的步骤。本专利技术实施例所提供的区块链上用户通信加密方法、装置、终端设备及存储介质中,首先用户A向用户B发送第一加密信息,用户B接收第一加密信息,解密后获取第一随机数;用户B向用户A发送第二加密信息,用户A接收第二加密信息,解密后获取第二随机数,用户A和用户B采用加解密随机数的方式相互获取对方发送的第一随机数和第二随机数,为后续的加密通信提供了基础。然后用户A和用户B基于第一随机数和第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV,生成的密钥Key和初始化变量IV是用户A和用户B共同协商获取的,该密钥Key和初始化变量IV是通过哈希算法获取,具有数据不可逆的特点,安全性高,为实现用户A和用户B之间的通信加密提供了必要的基础。最后用户A和用户B基于密钥Key和初始化变量IV,采用AES算法的CBC模式进行加密通信,使得第三方(除用户A和用户B以外的区块链上用户)在没有密钥Key和初始化变量IV的情况下不能够获取用户A和用户B的通信内容,确保了区块链上任意两个用户进行点对点通信时通信内容的安全。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例1中区块链上用户通信加密方法的一流程图。图2是图1中步骤S10的一具体流程图。图3是图2中步骤S20的一具体流程图。图4是图1中步骤S30的一具体流程图。图5是图1中步骤S40的一具体流程图。图6是图1中步骤S10之前的一具体流程图。图7是图1中步骤S60的一具体流程图。图8是本专利技术实施例2中区块链上用户通信加密装置的一原理框图。图9是本专利技术实施例4中终端设备的一示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1图1示出本实施例中区块链上用户通信加密方法的一流程图。该区块链上用户通信加密方法可应用在以区块链为技术基础的应用系统上,用于在区块链系统上用户进行点对点通信时对通信内容进行加密,实现区块链系统上用户通信加密的功能。如图1所示,该区块链上用户通信加密方法包括如下步骤:S10:用户A向用户B发送第一加密信息。其中,用户A和用户B是指区块链系统上任意的两个用户。本实施例中区块链上的用户应理解为在区块链系统上的各个用户节点,即区块链系统上各个相关的终端。该终端可以是通过区块链网络相连的手机、平板和电脑等终端。第一加密信息是指经过加密处理后的用户A发送给用户B的信息。该第一加密信息包括用户A生成的加密后的第一随机数。其中,第一随机数是指用户A生成的,用来与用户B进行密钥协商的随机数。区块链是分布式数据存储、共识机制和加密算法等计算机技术的新型应用模式。区块链系统本质是一个去中心化的分布式数据库系统。本实施例中,用户A和用户B的通信过程都是在区块链上进行的,用户A在区块链系统下向用户B发送第一加密信息,以使后续用户B能够接收该第一加密信息,并解密该第一加密信息,获取第一随机数。S20:用户B接收第一加密信息,解密后获取第一随机数。本实施例中,用户B在区块链系统上读取用户A发送的第一加密信息,并对该第一加密信息进行解密,获取第一随机数。用户B通过获取用户A发送的第一随机数,为后续基于该第一随机数进行用户A和用户B共同协商生成的密钥Key和初始化变量IV提供了基础。S30:用户B向用户A发送第二加密信息。第二加密信息是指经过加密处理后的用户B发送给用户A的信息,该第二加密信息包括用户B生成的加密后的第二随机数。其中,第二随机数是指用户B生成的,用来与用户A进行密钥协商的随机数。用户B在区块链系统下向用户A发送第二加密信息,以使后续用户A接收该第二加密信息,并解密该第二加密信息,获取第二随机数。S40:用户A接收第二加密信息,解密后获取第二随机数。本实施例中,用户A在区块链系统上读取接收用户B发送的第二加密信息,并对该第二加密信息进行解密,获取第二随机数。用户A通过获取用户B发送的第二随机数,为后续基于该第二随机数进行用户A和用户B共同协商生成的密钥Key和初始化变量IV提供了基础。S50:用户A和用户B基于第一随机数和第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV。本实施例中,在用户B获取用户A生成并发送的第一随机数和用户A获取用户B生成并发送的第二随机数后,用户A和用户B基于第一随机数和第二随机数同时执行密钥生成算法,并根据该密钥生成算法同时获取密钥Key和初始化变量IV(密钥Key和初始化变量IV为后续用户在区块链系统上通信加密过程所需的基础条件)。通过采用在区块链系统上只有用户A和用户B知道的第一随机数和第二随机数,结合密钥生本文档来自技高网...

【技术保护点】
1.一种区块链上用户通信加密方法,其特征在于,包括:用户A向用户B发送第一加密信息;用户B接收所述第一加密信息,解密后获取第一随机数;用户B向用户A发送第二加密信息;用户A接收所述第二加密信息,解密后获取第二随机数;用户A和用户B基于所述第一随机数和所述第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV;用户A和用户B基于所述密钥Key和所述初始化变量IV,采用AES算法的CBC模式进行加密通信。

【技术特征摘要】
1.一种区块链上用户通信加密方法,其特征在于,包括:用户A向用户B发送第一加密信息;用户B接收所述第一加密信息,解密后获取第一随机数;用户B向用户A发送第二加密信息;用户A接收所述第二加密信息,解密后获取第二随机数;用户A和用户B基于所述第一随机数和所述第二随机数执行密钥生成算法,获取密钥Key和初始化变量IV;用户A和用户B基于所述密钥Key和所述初始化变量IV,采用AES算法的CBC模式进行加密通信。2.根据权利要求1所述的区块链上用户通信加密方法,其特征在于,所述用户A向用户B发送第一加密信息,包括:用户A从用户B的用户证书中获取第二公钥;用户A生成第一随机数,采用所述第二公钥加密所述第一随机数,获取所述第一加密信息;用户A通过区块链系统向用户B发送所述第一加密信息;所述用户B向用户A发送第二加密信息,包括:用户B从用户A的用户证书中获取第一公钥;用户B生成第二随机数,采用所述第一公钥加密所述第二随机数,获取所述第二加密信息;用户B通过区块链系统向用户A发送所述第二加密信息。3.根据权利要求2所述的区块链上用户通信加密方法,其特征在于,所述用户B接收所述第一加密信息,解密后获取第一随机数,包括:用户B通过区块链系统接收用户A发送的所述第一加密信息;用户B采用与所述第二公钥相对应的第二私钥解密所述第一加密信息,获取所述第一随机数;所述用户A接收所述第二加密信息,解密后获取第二随机数,包括:用户A通过区块链系统接收用户B发送的所述第二加密信息;用户A采用与所述第一公钥相对应的第一私钥解密所述第二加密信息,获取所述第二随机数。4.根据权利要求1所述的区块链上用户通信加密方法,其特征在于,在所述用户A向用户B发送第一加密信息的步骤之前,所述区块链上用户通信加密方法还包括:用户A和用户B预先查询各自的本地数据库;若所述本地数据库中存在所述密钥Key和所述初始化变量IV,则查看所述密钥Key和所述初始化变量IV的创建时间;若所述创建时间未超过预设有效时间,则采用已存在的所述密钥Key和所述初始化变量IV,采用所述AES算法的CBC模式进行加密通信。5.根据权利要求1所述的区块链上用户通信加密方法,其特征在于,所述密钥生成算法为:C(0)=Hash(random1)C(n)=HMACC(n-1)(Hash(random2))Key=HMACHash(random1||random2)(C0+C1)IV=HMACHash(random1||random2)(C0+C2)其中,random1表示第一随机数,random2表示第二随机数,n为大于0的正整数,Hash表示哈希函数,算法采用SHA256算法,HMAC是指与密钥相关的哈希运算,算法采用SHA256算法,||表示连接操作。6.根据权利要求1所述的区块链上用户通信加...

【专利技术属性】
技术研发人员:贾牧谢丹力陆陈一帆
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1