一种通讯密钥生成方法技术

技术编号:39780157 阅读:5 留言:0更新日期:2023-12-22 02:24
本公开涉及密码学领域,具体涉及一种通讯密钥生成方法

【技术实现步骤摘要】
一种通讯密钥生成方法、系统、电子设备和存储介质


[0001]本公开涉及密码学领域,具体涉及一种通讯密钥生成方法

系统

电子设备和存储介质


技术介绍

[0002]在信息安全领域中,消息认证特别是通讯密钥的认证就是验证所收到的通讯密钥确实是来自真正的发送方且为未被修改的通讯密钥,也可以验证通讯密钥的顺序和及时性

通讯密钥的认证实际上要实现发送方消息的不可抵赖和不能伪造

[0003]然而现有的区块链中的公钥是需要共享的,而且加密算法也是共享的,在进行通讯密钥的认证过程中,通讯密钥实际上也会在一定程度上被不同的节点所接收,如果发生通讯密钥的假冒认证,伪造通讯密钥进行存在可能,就能够实现对整个系统进行攻击,对系统安全性造成威胁


技术实现思路

[0004]本公开提供一种通讯密钥生成方法

系统

电子设备和存储介质,能够解决
技术介绍
中提到的如果发生通讯密钥的假冒认证,伪造通讯密钥进行存在可能,就能够实现对整个系统进行攻击,对系统安全性造成威胁的问题

为解决上述技术问题,本公开提供如下技术方案:
[0005]作为本公开实施例的一个方面,提供一种通讯密钥生成方法,应用于区块链中的主节点,包括如下步骤:
[0006]S10、
接收客户端发起的通讯密钥生成请求;
[0007]S20、
根据所述通讯密钥生成请求选取区块链中的其他节点中的多个子密钥的多个位,将所述多个位组合生成通讯密钥,并将通讯密钥多个位的组合顺序发送至区块链中的其他节点;
[0008]S30、
接收区块链中的其他节点生成的多个验证密钥,所述多个验证密钥为根据所述组合顺序生成的;
[0009]S40、
将多个验证密钥与所述通讯密钥比较,如果比较结果为一致,则将所述通讯密钥返回给客户端

[0010]可选地,根据所述通讯密钥生成请求选取区块链中的其他节点中的多个子密钥的多个位,并将所述多个位组合生成通讯密钥,包括:
[0011]接收多个其他节点的多个子密钥;
[0012]根据所需通讯密钥位数生成多个不同位数和位置的多个密钥段;
[0013]根据多个密钥段选取多个子密钥中相应位数和位置的值,其中选取的子密钥的数目与密钥段的数目相同,子密钥中相应位数和位置分别与多个密钥段的不同位数和位置相一致;
[0014]将相应位数和位置的值按照位置进行重新组合生成通讯密钥

[0015]可选地,并将通讯密钥多个位的组合顺序发送至区块链中的其他节点,包括:
[0016]记录选取的子密钥中相应位数和位置作为多个位的组合顺序;
[0017]将所述多个位的组合顺序发送至区块链中的其他节点

[0018]可选地,根据所需通讯密钥位数生成多个不同位数和位置的多个密钥段,包括:
[0019]将所需通讯密钥位数每四个位一组进行分组,得到多个分组;其中,如果通讯密钥位数为除不尽4的数目,则将通讯密钥位数补齐为4的整数倍的位数;
[0020]多个分组的值分别转换为
10
进制数组成数列,构造哈希函数,得到哈希表;
[0021]按照哈希表顺序查找所述
10
进制数所进行的比较次数;
[0022]根据比较次数进行子密钥的交换,经过所有比较次数后的交换后得到子密钥的顺序;
[0023]根据子密钥的顺序确定要选取的子密钥的位置,要选取的子密钥的位数通过子密钥的顺序对应的
10
进制数进行除留余数法确定

[0024]可选地,要选取的子密钥的位数通过子密钥的顺序对应的
10
进制数进行除留余数法确定,包括:
[0025]根据子密钥的顺序得到对应的
10
进制数,并将所述的
10
进制数是否为4的整数,如果不是,则将余数作为要选取的子密钥的位数,如果能够整除则将4作为要选取的子密钥的位数

[0026]可选地,将相应位数和位置的值按照位置进行重新组合生成通讯密钥,包括:
[0027]将相应位数和位置的值按照位置进行重新组合得到组合密钥,将组合密钥进行
DES
加密以生成通讯密钥

[0028]可选地,在
S40
中,如果比较结果为不一致,则将不一致的比较结果返回给客户端

[0029]作为本公开实施例的一个方面,还提供一种通讯密钥生成系统,包括:
[0030]通讯密钥生成请求接收单元,接收客户端发起的通讯密钥生成请求;
[0031]通讯密钥生成单元,根据所述通讯密钥生成请求选取区块链中的其他节点中的多个子密钥的多个位,将所述多个位组合生成通讯密钥,并将通讯密钥多个位的组合顺序发送至区块链中的其他节点;
[0032]验证密钥接收单元,接收区块链中的其他节点生成的多个验证密钥,所述多个验证密钥为根据所述组合顺序生成的;
[0033]通讯密钥返回单元,将多个验证密钥与所述通讯密钥比较,如果比较结果为一致,则将所述通讯密钥返回给客户端

[0034]本公开中的方法和系统可应用于区块链中的所有节点,在进行通讯密钥的生成过程中,分别选取多个区块链节点的子密钥和部分不同位数和位置的值,使得尽可能多的节点参与进来,能够同时也能实现参与验证,能够最大程度的保障系统安全

附图说明
[0035]图1为本公开实施例1中的通讯秘钥生成方法的流程图;
[0036]图2为本公开实施例1中的步骤
S20
中的将所述多个位组合生成通讯密钥的流程图;
[0037]图3为本公开实施例1中的步骤
S20
中多个密钥段的生成方法流程图;
[0038]图4为本公开实施例2中的通讯秘钥生成系统示意框图

具体实施方式
[0039]以下将参考附图详细说明本公开的各种示例性实施例

特征和方面

附图中相同的附图标记表示功能相同或相似的元件

尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图

[0040]在这里专用的词“示例性”意为“用作例子

实施例或说明性”。
这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例

[0041]本文中术语“和
/
或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,
A

/

B
,可以表示:单独存在
A
,同时存在
A

B
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种通讯密钥生成方法,应用于区块链中的主节点,其特征在于,包括如下步骤:
S10、
接收客户端发起的通讯密钥生成请求;
S20、
根据所述通讯密钥生成请求选取区块链中的其他节点中的多个子密钥的多个位,将所述多个位组合生成通讯密钥,并将通讯密钥多个位的组合顺序发送至区块链中的其他节点;
S30、
接收区块链中的其他节点生成的多个验证密钥,所述多个验证密钥为根据所述组合顺序生成的;
S40、
将多个验证密钥与所述通讯密钥比较,如果比较结果为一致,则将所述通讯密钥返回给客户端
。2.
如权利要求1所述的通讯密钥生成方法,其特征在于,根据所述通讯密钥生成请求选取区块链中的其他节点中的多个子密钥的多个位,并将所述多个位组合生成通讯密钥,包括:接收多个其他节点的多个子密钥;根据所需通讯密钥位数生成多个不同位数和位置的多个密钥段;根据多个密钥段选取多个子密钥中相应位数和位置的值,其中选取的子密钥的数目与密钥段的数目相同,子密钥中相应位数和位置分别与多个密钥段的不同位数和位置相一致;将相应位数和位置的值按照位置进行重新组合生成通讯密钥
。3.
如权利要求2所述的通讯密钥生成方法,其特征在于,并将通讯密钥多个位的组合顺序发送至区块链中的其他节点,包括:记录选取的子密钥中相应位数和位置作为多个位的组合顺序;将所述多个位的组合顺序发送至区块链中的其他节点
。4.
如权利要求2所述的通讯密钥生成方法,其特征在于,根据所需通讯密钥位数生成多个不同位数和位置的多个密钥段,包括:将所需通讯密钥位数每四个位一组进行分组,得到多个分组;其中,如果通讯密钥位数为除不尽4的数目,则将通讯密钥位数补齐为4的整数倍的位数;多个分组的值分别转换为
10
进制数组成数列,构造哈希函数,得到哈希表;按照哈希表顺序查找所述
10
进制数所进行的比较次数;根据比较次数进行子密钥的交换,经过所有比较次数后的交换后得到子密钥的顺序;根据子密钥的顺序确定要选取的子密钥的位置,要...

【专利技术属性】
技术研发人员:马振东殷堃
申请(专利权)人:上海雷龙信息科技有限公司
类型:发明
国别省市:

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

1