基于椭圆曲线公钥密码算法的通信方法技术

技术编号:39818373 阅读:7 留言:0更新日期:2023-12-22 19:37
本申请公开了一种基于椭圆曲线公钥密码算法的通信方法

【技术实现步骤摘要】
基于椭圆曲线公钥密码算法的通信方法、装置及电子设备


[0001]本申请涉及信息安全领域,具体而言,涉及一种基于椭圆曲线公钥密码算法的通信方法

装置及电子设备


技术介绍

[0002]随着互联网的发展,出现了多种高效率的通信方法,但存在一些不法分子利用一些网络技术等手段窃取通信信息,以获取利益

为了在通信过程中保护通信双方乃至多方的通信安全,密钥协商机制应运而生

通信双方乃至多方可以利用数学上的难解问题和可以公开的参数进行协商生成共享密钥,对通信内容进行加密保护,从而确保通信信息的安全性

现有技术中可以采用
GM
标准的
SM2
密钥交换方法进行通信,但这种方法只适用于通信双方进行密钥交换,若需要进行多方通信,则需要多次发送密钥,使得密钥在传输过程中容易被泄露,导致通信安全性较低

[0003]针对相关技术中多业务方进行通信时,由于基于椭圆曲线的密钥交换方法需要通信业务方双方进行密钥交换,导致通信安全性较低的问题,目前尚未提出有效的解决方案


技术实现思路

[0004]本申请的主要目的在于提供一种基于椭圆曲线公钥密码算法的通信方法

装置及电子设备,以解决相关技术中多业务方进行通信时,由于基于椭圆曲线的密钥交换方法需要通信业务方双方进行密钥交换,导致通信安全性较低的问题

[0005]为了实现上述目的,根据本申请的一个方面,提供了一种基于椭圆曲线公钥密码算法的通信方法,该方法包括:确定需要进行通信的
N
个业务方,其中,
N
是大于1的正整数;生成所述
N
个业务方中每个业务方对应的随机数,并依据每个业务方对应的随机数生成每个业务方的临时公钥;采用基于椭圆曲线公钥密码算法对每个业务方的临时公钥进行计算,得到目标密钥;采用所述目标密钥对待发送的通信内容进行加密,得到加密后的通信内容;在所述
N
个业务方中的业务方之间依据所述加密后的通信内容进行通信

[0006]进一步地,依据每个业务方对应的随机数生成每个业务方的临时公钥包括:确定用于加密的椭圆曲线,得到目标椭圆曲线;在所述目标椭圆曲线上确定基点以及所述基点的坐标值,得到第一坐标值;生成每个业务方对应的随机数,得到每个业务方对应的临时私钥;采用所述第一坐标值分别与每个业务方对应的临时私钥相乘,得到每个业务方的临时公钥

[0007]进一步地,在依据每个业务方对应的随机数生成每个业务方的临时公钥之后,所述方法还包括:将每个业务方的临时公钥的横坐标代入所述目标椭圆曲线中,得到每个业务方对应的第一纵坐标;在每个业务方对应的第一纵坐标和每个业务方的临时公钥的纵坐标相等的情况下,对每个业务方的临时公钥进行有效性验证,得到验证结果;在所述验证结果指示每个业务方的临时公钥通过有效性验证的情况下,执行对每个业务方的临时公钥进行计算,得到所述目标密钥的步骤

[0008]进一步地,对每个业务方的临时公钥进行计算,得到目标密钥包括:对每个业务方的临时公钥的横坐标进行取模运算,得到每个业务方对应的第一数值;对目标业务方对应的第一数值进行乘法运算

取模运算和加法运算,得到所述目标业务方对应的第二数值,其中,所述目标业务方是指所述
N
个业务方中的业务方;对每个其它业务方对应的临时公钥和每个其它业务方对应的第一数值进行乘法运算和加法运算,并将计算结果与所述目标业务方对应的第二数值相乘,得到所述目标业务方对应的第二坐标值,其中,所述其它业务方是指所述
N
个业务方中除所述目标业务方之外的业务方;将所述第二坐标值的横坐标

所述第二坐标值的纵坐标

每个业务方的用户标识和预设密钥长度输入密钥派生函数中进行计算,得到所述目标密钥

[0009]进一步地,对每个业务方的临时公钥的横坐标进行取模运算,得到每个业务方对应的第一数值包括:采用每个业务方的临时公钥的横坐标对预设数值进行取模计算,得到每个业务方对应的第三数值;计算每个业务方对应的第三数值分别与所述预设数值的和,得到每个业务方对应的第一数值

[0010]进一步地,对目标业务方对应的第一数值进行乘法运算

取模运算和加法运算,得到所述目标业务方对应的第二数值包括:采用所述目标业务方对应的第一数值与所述目标业务方对应的随机数相乘,得到第四数值;采用所述第四数值对所述基点的阶进行取模运算,得到第五数值;采用所述第五数值与所述目标业务方对应的第一私钥相加,得到所述目标业务方对应的第二数值,其中,所述第一私钥是生成的随机数,每个业务方对应的第一私钥是固定不变的

[0011]进一步地,对每个其它业务方对应的临时公钥和每个其它业务方对应的第一数值进行乘法运算和加法运算,并将计算结果与所述目标业务方对应的第二数值相乘,得到所述目标业务方对应的第二坐标值包括:对每个其它业务方的临时公钥和每个其它业务方对应的第一数值进行乘法运算,得到每个其它业务方对应的第六数值;将每个其它业务方对应的第六数值与每个其它业务方对应的第一公钥相加,得到每个其它业务方对应的第七数值,其中,每个其它业务方对应的第一公钥是根据每个其它业务方对应的第一公钥生成的,每个业务方对应的第一公钥是固定不变的;对所述目标椭圆曲线的余因子

所述目标业务方对应的第二数值和每个其它业务方对应的第七数值进行乘法运算,得到所述目标业务方对应的第二坐标值

[0012]进一步地,所述
N
个业务方中的业务方包括:第一业务方和第二业务方,在所述
N
个业务方中的业务方之间依据所述加密后的通信内容进行通信包括:通过所述第一业务方将所述加密后的通信内容发送至所述第二业务方;在所述第二业务方接收到所述加密后的通信内容的情况下,采用所述目标密钥对所述加密后的通信内容进行解密,得到解密后的通信内容;通过所述解密后的通信内容在所述第一业务方与所述第二业务方之间进行通信

[0013]为了实现上述目的,根据本申请的另一方面,提供了一种基于椭圆曲线公钥密码算法的通信装置,该装置包括:确定单元,用于确定需要进行通信的
N
个业务方,其中,
N
是大于1的正整数;生成单元,用于生成所述
N
个业务方中每个业务方对应的随机数,并依据每个业务方对应的随机数生成每个业务方的临时公钥;第一计算单元,用于采用基于椭圆曲线公钥密码算法对每个业务方的临时公钥进行计算,得到目标密钥;加密单元,用于采用所述目标密钥对待发送的通信内容进行加密,得到加密后的通信内容;通信单元,用于在所述
N
个业务方中的业务方之间依据所述加密后的通信内容进行通信

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于椭圆曲线公钥密码算法的通信方法,其特征在于,包括:确定需要进行通信的
N
个业务方,其中,
N
是大于1的正整数;生成所述
N
个业务方中每个业务方对应的随机数,并依据每个业务方对应的随机数生成每个业务方的临时公钥;采用基于椭圆曲线公钥密码算法对每个业务方的临时公钥进行计算,得到目标密钥;采用所述目标密钥对待发送的通信内容进行加密,得到加密后的通信内容;在所述
N
个业务方中的业务方之间依据所述加密后的通信内容进行通信
。2.
根据权利要求1所述的方法,其特征在于,依据每个业务方对应的随机数生成每个业务方的临时公钥包括:确定用于加密的椭圆曲线,得到目标椭圆曲线;在所述目标椭圆曲线上确定基点以及所述基点的坐标值,得到第一坐标值;生成每个业务方对应的随机数,得到每个业务方对应的临时私钥;采用所述第一坐标值分别与每个业务方对应的临时私钥相乘,得到每个业务方的临时公钥
。3.
根据权利要求2所述的方法,其特征在于,在依据每个业务方对应的随机数生成每个业务方的临时公钥之后,所述方法还包括:将每个业务方的临时公钥的横坐标代入所述目标椭圆曲线中,得到每个业务方对应的第一纵坐标;在每个业务方对应的第一纵坐标和每个业务方的临时公钥的纵坐标相等的情况下,对每个业务方的临时公钥进行有效性验证,得到验证结果;在所述验证结果指示每个业务方的临时公钥通过有效性验证的情况下,执行对每个业务方的临时公钥进行计算,得到所述目标密钥的步骤
。4.
根据权利要求2所述的方法,其特征在于,对每个业务方的临时公钥进行计算,得到目标密钥包括:对每个业务方的临时公钥的横坐标进行取模运算,得到每个业务方对应的第一数值;对目标业务方对应的第一数值进行乘法运算

取模运算和加法运算,得到所述目标业务方对应的第二数值,其中,所述目标业务方是指所述
N
个业务方中的业务方;对每个其它业务方对应的临时公钥和每个其它业务方对应的第一数值进行乘法运算和加法运算,并将计算结果与所述目标业务方对应的第二数值相乘,得到所述目标业务方对应的第二坐标值,其中,所述其它业务方是指所述
N
个业务方中除所述目标业务方之外的业务方;将所述第二坐标值的横坐标

所述第二坐标值的纵坐标

每个业务方的用户标识和预设密钥长度输入密钥派生函数中进行计算,得到所述目标密钥
。5.
根据权利要求4所述的方法,其特征在于,对每个业务方的临时公钥的横坐标进行取模运算,得到每个业务方对应的第一数值包括:采用每个业务方的临时公钥的横坐标对预设数值进行取模计算,得到每个业务方对应的第三数值;计算每个业务方对应的第三数值分别与所述预设数值的和,得到每个业务方对应的第一数值

6.
根据权利要...

【专利技术属性】
技术研发人员:宫冠鹏刘剑群吴朝亮雷加伟邢佳佳刘奇赵毅王学文许佳行
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1