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;加密通信模 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。