CN117879833A - 一种基于改进椭圆曲线的数字签名生成方法 - Google Patents

一种基于改进椭圆曲线的数字签名生成方法 Download PDF

Info

Publication number
CN117879833A
CN117879833A CN202410051867.3A CN202410051867A CN117879833A CN 117879833 A CN117879833 A CN 117879833A CN 202410051867 A CN202410051867 A CN 202410051867A CN 117879833 A CN117879833 A CN 117879833A
Authority
CN
China
Prior art keywords
key
elliptic curve
encryption
digital signature
sender
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410051867.3A
Other languages
English (en)
Inventor
潘东
郑永生
马己人
冯媛
刘珂祯
范浩隆
王瑞民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Shengjian Network Technology Co ltd
Original Assignee
Zhengzhou Shengjian Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Shengjian Network Technology Co ltd filed Critical Zhengzhou Shengjian Network Technology Co ltd
Priority to CN202410051867.3A priority Critical patent/CN117879833A/zh
Publication of CN117879833A publication Critical patent/CN117879833A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于改进椭圆曲线的数字签名生成方法,包括有以下步骤:S1、确定椭圆曲线;S2、双方确定私密钥;S3、双方确定公秘钥;S4、确定共享秘钥;S5、转换生产两个密钥;S6、发送方根据两个密钥进行数字签名加密处理;本发明利用椭圆曲线加密算法中模拟运算以及其对整个算法的性能影响,减少求逆操作以提高效率,有效的降低抗延展性攻击的影响,在密钥协商过程设置随机数来生成加密密钥,随机数只在加密过程中使用,且只传输一次,保证密文的不可预测性;采用椭圆曲线,防止攻击者构造特定的加密消息;利用椭圆曲线运算的特性,能够在相同安全性要求下实现更快的加密和解密速度;并且实现与现有的加密系统进行集成。

Description

一种基于改进椭圆曲线的数字签名生成方法
技术领域
本发明涉及数字签名技术领域,具体而言,涉及一种基于改进椭圆曲线的数字签名生成方法。
背景技术
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。
椭圆曲线加密算法,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全,RSA加密算法也是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。
互联网的快速发展的背景下,用户对网络安全的需求越来越高。椭圆曲线ECC(elliptic curve cryptograph)用于数据签名来保护数据完整性,加密过程可以通过密钥协商产生的共享密钥使用对称加密传输。集成加密方案ECIES(Elliptic CurveIntegrated Encryption Scheme)应运而生,通过对称加密、非对称加密和哈希算法的有机结合,提供了一种高效、安全的加密方案。
现有的技术方案主要是对集成加密方案ECIES进行分析,并对其流程进行改进以抵抗选择明文与选择密文攻击。另外针对低存储NAF点压缩数乘算法进行优化改进,以此来优化集成加密方案的整体性能。在MapReduce中数据进行集成加密方案的设计,使用RSA非对称加密算法签名、对称加密算法AES加密的结合方式,设计集成加密方案。但使用的RSA签名算法可能不会比ECC加密算法的安全性更高。为解决以上存在的类似问题,提出一种新的集成加密方案ECKSA。在安全性方面,设计一种基于椭圆曲线的数字签名改进算法,通过优化加密和解密过程中的计算,并结合哈希算法SHA-256,提高系统的安全性。
发明内容
为了弥补以上不足,本发明提供了一种控制齿条离子渗氮变形的内应力均衡渗氮法,用于解决上述提出的现有的技术方案主要是对集成加密方案ECIES进行分析,并对其流程进行改进以抵抗选择明文与选择密文攻击。另外针对低存储NAF点压缩数乘算法进行优化改进,以此来优化集成加密方案的整体性能。在MapReduce中数据进行集成加密方案的设计,使用RSA非对称加密算法签名、对称加密算法AES加密的结合方式,设计集成加密方案。但使用的RSA签名算法可能不会比ECC加密算法的安全性更高等问题。
本发明是这样实现的:
一种基于改进椭圆曲线的数字签名生成方法,包括有以下步骤:
S1、确定椭圆曲线:将椭圆曲线定义在有限域Fp中,并且椭圆曲线的基本方程方程式为:y2=x3+ax+b(modp),a,b∈GFp
S2、双方确定私密钥:在椭圆曲线内确定一个基点G(x,y),G符合条件n·G=O,且n代表大素数,O代表无穷远点,发送方选取一个小于n的整数d为私钥,且接收方的秘钥设定为S;
S3、双方确定公秘钥:公秘钥的计算公式为:Q=dG,双方各自将私密钥带入公式中与基点相乘,得到接收方的公钥Q,并且发送方的公钥R;
S4、确定共享秘钥:发送方根据设定的私钥d和接收方的公钥Q进行密钥协商,生成共享密钥d·Q;
S5、转换生产两个密钥:发送方经过HKDF派生函数生成两个密钥Mk和Ek,其中密钥Mk用于签名生成摘要,Ek用于明文数据加密;
S6、发送方根据两个密钥进行数字签名加密处理:发送方利用加密密钥Ek对明文数据M进行加密操作,得到密文ME,并且通过密钥Mk对数字签名进行计算处理。
本发明的一种实施例中,所述S1中的基本方程方程式的协商公共参数组:T=(p,a,b,n,x,y),其中,(p,a,b)用来确定一条椭圆曲线,(x,y)为G基点的坐标,n为基点G的阶,且六个量描述一条椭圆曲线。
本发明的一种实施例中,所述S1中的有限域Fp是将椭圆曲线密码所使用的椭圆曲线进行定义,消除椭圆曲线是连续的,并不适合用于加密的问题;实现把椭圆曲线变成离散的点;
且有限域的计算如下,指给定某质数p,由0,1,2...p-1共p个元素组成的整数集合中加法、二倍运算:
y2=(x3+7)(mod p)。
本发明的一种实施例中,所述发送方和接收方根据设定的私钥和计算后的公钥进行组队,分别生成自己各自的密钥对,即发送发的密钥对为(d,R),同理接收方的密钥对为(S,Q),并且双方将公钥进行相互传输,在获取对方的公钥之后,结合自己的私钥计算共享密钥。
本发明的一种实施例中,所述S5中发送方计算PK=d·Q;并且发送方使用HKDF派生函数对共享密钥进行派生,对共享密钥PK进行派生出得到(Mk,Ek),其中Ek用作加密模块中对明文消息m进行加密得到密文M,Mk用于改进算法中对产生的密文进行签名。
本发明的一种实施例中,所述发送方将自己的公钥R以及密文M、签名值(r,s)打包发送给接收方,供其进行验证和解密操作。
本发明的一种实施例中,所述接收方对接收到的数据包进行处理,首先利用发送方的公钥R结合自己的私钥S进行密钥协商ECDHE,利用生成的共享密钥PK在HKDF派生函数的基础上进行派生,得到和签名方相同的结果(Mk,Ek),首先验证签名值(r,s)的正确性,检验之后,使用Ek密钥在同一个公开算法中对收到的密文M进行解密操作得到明文m。
本发明的一种实施例中,所述HKDF派生函数是发送方与接收方将自己的公钥发送给对方,双方通过结合自己的私钥进行计算PK,由于椭圆曲线点乘计算的特性,双方在不知道对方私钥的情况下,求解出来的共享密钥PK亦是等价的,其证明过程如下:
本发明的一种实施例中,所述签名值(r,s)的计算过程,即对明文消息m的签名过程如下:
选取随机数d1∈[1,n-1];
根据随机数d1、消息M的哈希h、私钥d,计算s=(h+dx)/r;
签名结果(r,s)。
本发明的一种实施例中,所述S6中的加密密钥Ek对明文数据M进行加密操作采用128位的密钥长度,每隔128位,消息被分为一组;采用不同顺序的轮密钥,互为逆操作,同时非线性迭代结构被应用于加密过程。
本发明的有益效果是:
本发明利用椭圆曲线加密算法中模拟运算以及其对整个算法的性能影响,减少求逆操作以提高效率,有效的降低抗延展性攻击的影响,在密钥协商过程设置随机数来生成加密密钥,随机数只在加密过程中使用,且只传输一次,保证密文的不可预测性,从而有效地防止延展性攻击;为了防止小子群攻击,采用椭圆曲线,防止攻击者构造特定的加密消息;利用椭圆曲线运算的特性,能够在相同安全性要求下实现更快的加密和解密速度,提高数据传输和处理的效率;并且实现与现有的加密系统进行集成,与传统加密算法相比,具有较好的兼容性,能够平滑过渡和升级现有系统。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的步骤流程示意图;
图2为本发明的数字签名示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:
一种基于改进椭圆曲线的数字签名生成方法,包括有以下步骤:
S1、确定椭圆曲线:将椭圆曲线定义在有限域Fp中,并且椭圆曲线的基本方程方程式为:y2=x3+ax+b(mod p),a,b∈GFp
S2、双方确定私密钥:在椭圆曲线内确定一个基点G(x,y),G符合条件n·G=O,且n代表大素数,O代表无穷远点,发送方选取一个小于n的整数d为私钥,且接收方的秘钥设定为S;
S3、双方确定公秘钥:公秘钥的计算公式为:Q=dG,双方各自将私密钥带入公式中与基点相乘,得到接收方的公钥Q,并且发送方的公钥R;
S4、确定共享秘钥:发送方根据设定的私钥d和接收方的公钥Q进行密钥协商,生成共享密钥d·Q;
S5、转换生产两个密钥:发送方经过HKDF派生函数生成两个密钥Mk和Ek,其中密钥Mk用于签名生成摘要,Ek用于明文数据加密;
S6、发送方根据两个密钥进行数字签名加密处理:发送方利用加密密钥Ek对明文数据M进行加密操作,得到密文ME,并且通过密钥Mk对数字签名进行计算处理。
为了实现对椭圆曲线进行确定,便于后续进行确定秘钥和公钥,本实施例中,优选的,所述S1中的基本方程方程式的协商公共参数组:T=(p,a,b,n,x,y),其中,(p,a,b)用来确定一条椭圆曲线,(x,y)为G基点的坐标,n为基点G的阶,且六个量描述一条椭圆曲线。
为了实现对椭圆曲线进行消除连续性,使得椭圆曲线能够变成离散的点,本实施例中,优选的,所述S1中的有限域Fp是将椭圆曲线密码所使用的椭圆曲线进行定义,消除椭圆曲线是连续的,并不适合用于加密的问题;实现把椭圆曲线变成离散的点;
且有限域的计算如下,指给定某质数p,由0,1,2...p-1共p个元素组成的整数集合中加法、二倍运算:
y2=(x3+7)(mod p)。
为了使得发送方和接收方有效的形成秘钥和公钥进行组成密钥对,并且发送方的秘钥结合接收方的公钥生产共享密钥,本实施例中,优选的,所述发送方和接收方根据设定的私钥和计算后的公钥进行组队,分别生成自己各自的密钥对,即发送发的密钥对为(d,R),同理接收方的密钥对为(S,Q),并且双方将公钥进行相互传输,在获取对方的公钥之后,结合自己的私钥计算共享密钥。
为了使得共享密钥通过HKDF派生函数生成两个密钥Mk和Ek,便于对明文进行加密和签名处理,进行计算本实施例中,优选的,所述S5中发送方计算PK=d·Q;并且发送方使用HKDF派生函数对共享密钥进行派生,对共享密钥PK进行派生出得到(Mk,Ek),其中Ek用作加密模块中对明文消息m进行加密得到密文M,Mk用于改进算法中对产生的密文进行签名。
为了便于将接收方进行接收数据信息,并且实现对数据信息进行解密和验证处理,本实施例中,优选的,所述发送方将自己的公钥R以及密文M、签名值(r,s)打包发送给接收方,供其进行验证和解密操作。
为了实现对接收的数据包进行解密处理,并且验证签名值,然后获取得到明文,本实施例中,优选的,所述接收方对接收到的数据包进行处理,首先利用发送方的公钥R结合自己的私钥S进行密钥协商ECDHE,利用生成的共享密钥PK在HKDF派生函数的基础上进行派生,得到和签名方相同的结果(Mk,Ek),首先验证签名值(r,s)的正确性,检验之后,使用Ek密钥在同一个公开算法中对收到的密文M进行解密操作得到明文m。
为了使得共享密钥能够通过HKDF派生函数进行计算处理,确定双方共享密钥的等价性,本实施例中,优选的,所述HKDF派生函数是发送方与接收方将自己的公钥发送给对方,双方通过结合自己的私钥进行计算PK,由于椭圆曲线点乘计算的特性,双方在不知道对方私钥的情况下,求解出来的共享密钥PK亦是等价的,其证明过程如下:
为了实现对签名值进行计算处理,获得签名结果,便于进行传输数据包,本实施例中,优选的,所述签名值(r,s)的计算过程,即对明文消息m的签名过程如下:
选取随机数d1∈[1,n-1];
根据随机数d1、消息M的哈希h、私钥d,计算s=(h+dx)/r;
签名结果(r,s)。
为了实现对明文进行加密处理,本实施例中,优选的,所述S6中的加密密钥Ek对明文数据M进行加密操作采用128位的密钥长度,每隔128位,消息被分为一组;采用不同顺序的轮密钥,互为逆操作,同时非线性迭代结构被应用于加密过程。
基于改进椭圆曲线的数字签名生成方法的工作原理:
第一步、确定椭圆曲线:将椭圆曲线定义在有限域Fp中,并且椭圆曲线的基本方程方程式为:y2=x3+ax+b(mod p),a,b∈GFp
第二步、双方确定私密钥:在椭圆曲线内确定一个基点G(x,y),G符合条件n·G=O,且n代表大素数,O代表无穷远点,发送方选取一个小于n的整数d为私钥,且接收方的秘钥设定为S;
第三步、双方确定公秘钥:公秘钥的计算公式为:Q=dG,双方各自将私密钥带入公式中与基点相乘,得到接收方的公钥Q,并且发送方的公钥R;
第四步、确定共享秘钥:发送方根据设定的私钥d和接收方的公钥Q进行密钥协商,生成共享密钥d·Q;
第五步、转换生产两个密钥:发送方经过HKDF派生函数生成两个密钥Mk和Ek,其中密钥Mk用于签名生成摘要,Ek用于明文数据加密;
第六步、发送方根据两个密钥进行数字签名加密处理:发送方利用加密密钥Ek对明文数据M进行加密操作,得到密文ME,并且通过密钥Mk对数字签名进行计算处理。
以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于改进椭圆曲线的数字签名生成方法,其特征在于,包括有以下步骤:
S1、确定椭圆曲线:将椭圆曲线定义在有限域Fp中,并且椭圆曲线的基本方程方程式为:y2=x3+ax+b(modp),a,b∈GFp
S2、双方确定私密钥:在椭圆曲线内确定一个基点G(x,y),G符合条件n·G=O,且n代表大素数,O代表无穷远点,发送方选取一个小于n的整数d为私钥,且接收方的秘钥设定为S;
S3、双方确定公秘钥:公秘钥的计算公式为:Q=dG,双方各自将私密钥带入公式中与基点相乘,得到接收方的公钥Q,并且发送方的公钥R;
S4、确定共享秘钥:发送方根据设定的私钥d和接收方的公钥Q进行密钥协商,生成共享密钥d·Q;
S5、转换生产两个密钥:发送方经过HKDF派生函数生成两个密钥Mk和Ek,其中密钥Mk用于签名生成摘要,Ek用于明文数据加密;
S6、发送方根据两个密钥进行数字签名加密处理:发送方利用加密密钥Ek对明文数据M进行加密操作,得到密文ME,并且通过密钥Mk对数字签名进行计算处理。
2.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述S1中的基本方程方程式的协商公共参数组:T=(p,a,b,n,x,y),其中,(p,a,b)用来确定一条椭圆曲线,(x,y)为G基点的坐标,n为基点G的阶,且六个量描述一条椭圆曲线。
3.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述S1中的有限域Fp是将椭圆曲线密码所使用的椭圆曲线进行定义,消除椭圆曲线是连续的,并不适合用于加密的问题;实现把椭圆曲线变成离散的点;
且有限域的计算如下,指给定某质数p,由0,1,2...p-1共p个元素组成的整数集合中加法、二倍运算:
y2=(x3+7)(modp)。
4.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述发送方和接收方根据设定的私钥和计算后的公钥进行组队,分别生成自己各自的密钥对,即发送发的密钥对为(d,R),同理接收方的密钥对为(S,Q),并且双方将公钥进行相互传输,在获取对方的公钥之后,结合自己的私钥计算共享密钥。
5.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述S5中发送方计算PK=d·Q;并且发送方使用HKDF派生函数对共享密钥进行派生,对共享密钥PK进行派生出得到(Mk,Ek),其中Ek用作加密模块中对明文消息m进行加密得到密文M,Mk用于改进算法中对产生的密文进行签名。
6.根据权利要求5所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述发送方将自己的公钥R以及密文M、签名值(r,s)打包发送给接收方,供其进行验证和解密操作。
7.根据权利要求6所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述接收方对接收到的数据包进行处理,首先利用发送方的公钥R结合自己的私钥S进行密钥协商ECDHE,利用生成的共享密钥PK在HKDF派生函数的基础上进行派生,得到和签名方相同的结果(Mk,Ek),首先验证签名值(r,s)的正确性,检验之后,使用Ek密钥在同一个公开算法中对收到的密文M进行解密操作得到明文m。
8.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述HKDF派生函数是发送方与接收方将自己的公钥发送给对方,双方通过结合自己的私钥进行计算PK,由于椭圆曲线点乘计算的特性,双方在不知道对方私钥的情况下,求解出来的共享密钥PK亦是等价的,其证明过程如下:
9.根据权利要求7所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述签名值(r,s)的计算过程,即对明文消息m的签名过程如下:
选取随机数d1∈[1,n-1];
根据随机数d1、消息M的哈希h、私钥d,计算s=(h+dx)/r;
签名结果(r,s)。
10.根据权利要求1所述的一种基于改进椭圆曲线的数字签名生成方法,其特征在于,所述S6中的加密密钥Ek对明文数据M进行加密操作采用128位的密钥长度,每隔128位,消息被分为一组;采用不同顺序的轮密钥,互为逆操作,同时非线性迭代结构被应用于加密过程。
CN202410051867.3A 2024-01-15 2024-01-15 一种基于改进椭圆曲线的数字签名生成方法 Pending CN117879833A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410051867.3A CN117879833A (zh) 2024-01-15 2024-01-15 一种基于改进椭圆曲线的数字签名生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410051867.3A CN117879833A (zh) 2024-01-15 2024-01-15 一种基于改进椭圆曲线的数字签名生成方法

Publications (1)

Publication Number Publication Date
CN117879833A true CN117879833A (zh) 2024-04-12

Family

ID=90589817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410051867.3A Pending CN117879833A (zh) 2024-01-15 2024-01-15 一种基于改进椭圆曲线的数字签名生成方法

Country Status (1)

Country Link
CN (1) CN117879833A (zh)

Similar Documents

Publication Publication Date Title
CN112367175B (zh) 基于sm2数字签名的隐式证书密钥生成方法
WO2021042685A1 (zh) 一种区块链的交易方法、装置及系统
Nyberg et al. Message recovery for signature schemes based on the discrete logarithm problem
Smart Identity-based authenticated key agreement protocol based on Weil pairing
CN108667625B (zh) 协同sm2的数字签名方法
US7221758B2 (en) Practical non-malleable public-key cryptosystem
US20030182554A1 (en) Authenticated ID-based cryptosystem with no key escrow
US20120096273A1 (en) Authenticated encryption for digital signatures with message recovery
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
CN104301108A (zh) 一种从基于身份环境到无证书环境的签密方法
US9088419B2 (en) Keyed PV signatures
CN113297633B (zh) 一种量子数字签名方法
CN112422288A (zh) 一种抗能量分析攻击的基于sm2算法的两方协同签名方法
WO2020164252A1 (zh) 一种基于双线性对的身份基身份匿藏密钥协商方法
CN113162773A (zh) 一种可证安全的异构盲签密方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
Niu et al. Lossy data aggregation integrity scheme in wireless sensor networks
CN110943845A (zh) 一种轻量级两方协同产生sm9签名的方法及介质
Tian et al. Cryptanalysis and improvement of a certificateless multi-proxy signature scheme
CN109787772B (zh) 基于对称密钥池的抗量子计算签密方法和系统
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
CN113904777B (zh) 一种基于sm2数字签名算法的签密方法
CN116781243B (zh) 一种基于同态加密的不经意传输方法、介质及电子设备
CN115549896B (zh) 基于格密码的高效异构签密方法
Bashir Cryptography

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination