CN115514496A - 一种基于卷积神经网络的rsa数字签名伪造方法 - Google Patents
一种基于卷积神经网络的rsa数字签名伪造方法 Download PDFInfo
- Publication number
- CN115514496A CN115514496A CN202211150105.6A CN202211150105A CN115514496A CN 115514496 A CN115514496 A CN 115514496A CN 202211150105 A CN202211150105 A CN 202211150105A CN 115514496 A CN115514496 A CN 115514496A
- Authority
- CN
- China
- Prior art keywords
- signature
- plaintext
- rsa
- pseudo
- neural network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种基于卷积神经网络的RSA数字签名伪造方法,包括以下步骤:步骤1,选择数字签名样本:首先挑选出需要签名的明文样本,并通过RSA进行签名生成签名样本;步骤2,数据预处理:对步骤1中生成的明文样本和签名样本进行数据预处理,生成符合模型训练的数据样本;步骤3,搭建三重卷积神经网络模型:选择卷积神经网络作为网络模型的主干,搭建三个模块分别用来模拟RSA私钥求解、签名以及认证签名的过程;步骤4,设置网络参数:根据数字签名样本设置相应的网络参数,设置完成后实施训练。利用卷积神经网络的不断训练,学习RSA数字签名与明文之间的映射关系,最终伪造出签名文和对应的明文。
Description
技术领域
本发明涉及应用密码学技术领域,具体为一种基于卷积神经网络的RSA数字签名伪造方法。
背景技术
信息是大数据时代的一种宝贵资源,如何不被伪造的传输已经成为人们关注的一个热点性问题。数字签名作为对发送者发送消息的一个有效证明可以用来防止信息被伪造,并且能提供比手写签名更多的安全保障。一个有效的数字签名能够确保签名由认定的签名人完成,即签名人身份的真实性。被签名的数字内容在签名后没有发生任何改变,即签名数据的完整性。接收人一旦获得签名人的有效签名后,签名人无法否认其签名行为,即不可抵赖性。
RSA公钥密码是目前应用较多的一个签名方案。它的安全性是基于大整数因式分解的困难性。在RSA中,密钥分为私钥和公钥,使用私钥加密生成签名,使用公钥解密验证签名。私钥只有签名者本人持有,公钥可以由任何人持有。正是基于私钥进行加密这一行为只能由持有私钥的人完成这一事实,可以将用私钥加密的密文作为签名来对待。
对于RSA的破译可以通过测信道攻击,数学方式攻击,以及结合深度学习的方式进行。测信道攻击是一种能够从密码设备中获取秘密信息的密码攻击方法,与其他攻击方法不同的是这种攻击利用的是密码设备的能量消耗特征。虽然测信道攻击技术与传统的密码分析技术相比有成本上的优势,但是攻击方法也不是万能的。目前攻击还是围绕在以智能卡为代表的资源局限性的一类密码集成电路,集成电路工艺水平的提升使攻击的难度逐渐增大。通过数学的方式破解RSA算法也是被广泛使用的方式,破解RSA最根本的问题就是解决大整数分解。目前大整数分解问题的主要方法是二次筛选法,椭圆曲线算法和一般数域筛法。然而这些方法的时间成本非常高,其中效果做好的一般数域筛法也是亚指数时间。
随着神经网络在各个领域的取得的成功应用,密码学领域也开始关注神经网络的使用方法,于是密码学与神经网络结合形成了许多新的密码研究思路。但目前的技术仅适用于简单的加密方法,对于RSA加密算法并没有破译的能力。
发明内容
本发明的目的是提供一种基于卷积神经网络的RSA数字签名伪造方法,该方法可以绕过大整数分解的困难性,利用已有的明文和签名文训练出一个伪私钥,最终通过模型进行伪造明文和签名文。本发明的创新在于结合了卷积神经网络和密码学。提出了一种针对RSA数字签名伪造的非机理性攻击模型,即三重卷积神经网络模型。本发明的优势是不需要了解RSA算法的具体流程,只需要明文和对应的签名文以及公钥,就可以通过三个网络模块模拟私钥、数字签名以及认证签名过程。最后通过迭代训练网络模型来完成签名文和对应明文的伪造。实验结果表明本发明伪造签名的正确率是盲猜测的51倍,对应明文伪造的正确率是盲猜测的73倍。
为实现上述目的,本发明提供如下技术方案:一种基于卷积神经网络的RSA数字签名伪造方法,包括以下步骤:
步骤1,选择数字签名样本:首先挑选出需要签名的明文样本,并通过RSA进行签名生成签名样本;
步骤2,数据预处理:对步骤1中生成的明文样本和签名样本进行数据预处理,生成符合模型训练的数据样本;
步骤3,搭建三重卷积神经网络模型:选择卷积神经网络作为网络模型的主干,搭建三个模块分别用来模拟RSA私钥求解、RSA使用私钥进行签名以及使用公钥进行认证签名的过程。在整个RSA签名过程中唯一获取不到的是私钥,因此,通过模型训练出一个伪私钥,并通过伪私钥来伪造签名,最后通过公钥伪造伪签名对应的伪明文;
步骤4,设置网络参数:根据数字签名样本设置相应的网络参数,设置完成后实施训练。
优选的,所述步骤1中,选用brown语料库和gutenberg语料库作为明文的样本数据集,使用RSA算法对明文进行签名生成签名样本。最后将明文样本和对应的签名样本进行配对处理。
优选的,所述步骤2具体步骤如下:
步骤2.1,构建唯一单词表:RSA加密算法的核心是幂运算后取模。所以为了更好的分析RSA数字签名与明文之间的映射关系,本发明对明文以及签名文进行整数的映射。并构建唯一单词表,即每一个明文字符以及签名文字符都对应唯一单词表中的一个整数;
步骤2.2,转换样本:根据唯一单词表对配对好的明文和签名文进行整数的转换,构建新的样本数据集;
步骤2.3,归一化样本:为了消除不同评价指标之间的量纲影响,本发明对转换后的样本进行归一化操作,使样本数据处于同一数量级。
优选的,所述步骤3中三重卷积网络模型由三个卷积神经网络组合而成,每个网络的参数不同,具体步骤如下:
步骤3.1,搭建私钥求解模块:利用构建的卷积神经网络模型,将明文和签名文作为模块的输入,并进行迭代训练,通过卷积求解伪私钥;
步骤3.2,搭建签名编码器模块:将伪私钥和明文作为模块的输入,并进行迭代训练生成伪签名;
步骤3.3,搭建签名解码器模块:将伪签名和公钥作为模块的输入,并进行迭代训练,生成伪明文。
优选的,所述步骤4中通过对训练样本的迭代训练和反向传播算法来优化参数,网络模型会持续学习RSA签名和明文之间的映射关系。最终使得生成的伪明文以及对应的伪签名越来越接近真正的明文和签名。
与现有技术相比,本发明的有益效果如下:
本发明一种基于卷积神经网络的RSA数字签名伪造方法,利用卷积神经网络的不断训练,学习RSA数字签名与明文之间的映射关系,最终伪造出签名文和对应的明文。实验结果表明本发明伪造签名的正确率是盲猜测的51倍,对应明文伪造的正确率是盲猜测的73倍。本发明的模型在一定程度上绕过了RSA大整数分解的困难性,为RSA抵御人工智能的攻击提供了一定的参考意义。
附图说明
图1是本发明一种基于卷积神经网络的RSA数字签名伪造方法的流程图;
图2是本发明的基于卷积神经网络的伪造模型整体架构图。
具体实施方式
下面将结合本发明实施例中的本发明附图,对本发明实施例中的本发明技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本发明一种基于卷积神经网络的RSA数字签名伪造方法,如图1所示,具体按照以下步骤实施:
步骤1中,选取明文数据集,并使用RSA对明文数据集进行加密,生成签名样本。
步骤2具体如下:
步骤2.1,构建唯一单词表。RSA加密算法的核心是幂运算后取模。所以为了更好的分析RSA数字签名与明文之间的映射关系,本发明对明文和签名文进行整数的映射。并构建唯一单词表,即每一个明文字符以及签名文字符都对应唯一单词表中的一个整数。
步骤2.2,转换样本。根据唯一单词表对配对好的明文和签名样本进行整数的转换,构建新的样本数据集。
步骤2.3,归一化样本。为了消除不同评价指标之间的量纲影响,本发明对转换后的样本进行归一化操作,使样本处于同一数量级。归一化公式如下所示:
公式中,X表示归一化后的数据,x单个数据的取值,min是数据所在列的最小值,max是数据所在列的最大值。
步骤3的具体如下:
步骤3.1,搭建私钥求解模块。利用构建的卷积神经网络模型,将明文和签名文作为模块的输入,并进行迭代训练,通过卷积求解伪私钥。
步骤3.2,搭建签名编码器模块。将伪私钥和明文作为模块的输入,并进行迭代训练生成伪签名。
步骤3.3,搭建签名解码器模块。将伪签名和公钥作为模块的输入,并进行迭代训练,生成伪明文。
步骤3.4,模型细节,卷积层一共有两种填充方式,分别为same和valid填充。Sigmoid是模型中使用的激活函数,在下文中给出具体的定义。三个卷积神经网络模块结构相似,都是由一个全连接层和六个卷积层组成。三个网络的第一层都是一个全连接层,全连接层的作用是组合特征以及将组合后的特征映射到样本的标记空间,通过全连接层对特征进行加权求和输入到后面卷积层。为了保持组合后的特征不丢失边缘信息,三个网络第二层都是使用same padding的卷积层。对每个卷积层,设置不同大小的卷积核,不同的步长。在中间几层使用了valid padding的卷积层调整输出特征图的尺寸,最终每个模块在经过最后一个卷积层之后得到符合维度的输出。每个模块的最终输出会进入下一个模块,这种方式连接的三个模块会通过反向传播算法优化自己的参数,最终达到最优平衡。通过迭代训练,学习RSA签名文本与明文之间的映射关系会越来越多,从而提高伪签名对的正确率。
对于RSA算法的整个签名过程中,唯一获取不到的是私钥。所以本发明通过卷积神经网络构建了私钥求解器模块。通过该模块训练出一个伪私钥,并以训练出来的伪私钥和已有明文为基础作为签名编码器的输入,最终输出一个伪签名文。为了使网络在经过迭代训练以后,持续的缩减伪签名文和真实签名文之间的空间距离。在网络中引入MSE损失函数,来缩短伪签名和真实签名之间的欧几里得距离,MSE公式如下:
RSA加密算法是非线性映射,为了让神经网络处理这一复杂任务,需要使用激活函数对输入进行非线性变化。因此本发明在网络中使用sigmoid函数作为激活函数,sigmoid函数定义如下:
最后以签名编码器输出的伪签名文和已有的公钥为基础输入到签名解码器中,签名解码器通过迭代训练后输出伪明文。这里为了缩短伪明文和真正明文之间的空间距离,签名解码器使用MSE作为损失函数。
总体目标:首先通过提出的三重卷积神经网络模型,以明文,签名文和公钥为样本。然后通过私钥求解模块求解出一个伪的私钥,签名编码模块编码出一个伪的签名文。最后签名解码模块解码出伪签名对应的伪明文。本发明在模型中引入二次方梯度校正的Adam优化算法,寻找出全局最优点。伪造出一个尽可能接近明文,签名文的伪明文签名文对。
步骤4具体如下:
三重卷积网络模型由三个卷积神经网络组合而成,每个网络的参数不同。通过对训练样本的迭代训练和反向传播算法来优化参数,网络模型会持续学习RSA签名和明文之间的映射关系,最终使得生成的伪明文以及对应的伪签名越来越接近真正的明文和签名。
随着训练轮数的增加,签名编码模块和签名解码模块伪造的签名文以及对应的明文的正确率最终趋于稳定。本发明伪造的明文和签名文的正确率与随机猜测相比要高很多。对于明文,单词表的长度为85。也就是在数据集中,一共有85个不同的字符。如果是随机猜测,每一个字符猜对的概率是1/85,约为1.176%,而本发明的伪造模型在伪明文的正确率为86%,大约是随机猜测的73倍。对于签名文,python中加密后是以bytes序列显示的。其中一个bytes代表一个字节,一共有256种情况。如果是随机猜测,每一个bytes猜对的概率是1/256,大约为0.39%,而本发明的伪造模型伪造签名的正确率为20%,大约是随机猜测的51倍。通过实验表明,本发明在RSA数字签名伪造有一定的效果,经过不断地训练可达到伪造RSA数字签名地目的。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种基于卷积神经网络的RSA数字签名伪造方法,其特征在于,包括以下步骤:
步骤1,选择数字签名样本:首先挑选出需要签名的明文样本,并通过RSA进行签名生成签名样本;
步骤2,数据预处理:对步骤1中生成的明文样本和签名样本进行数据预处理,生成符合模型训练的数据样本;
步骤3,搭建三重卷积神经网络模型:选择卷积神经网络作为网络模型的主干,搭建三个模块分别用来模拟RSA私钥求解、RSA使用私钥进行签名以及使用公钥进行认证签名的过程,在整个RSA签名过程中唯一获取不到的是私钥,因此,通过模型训练出一个伪私钥,并通过伪私钥来伪造签名,最后通过公钥伪造伪签名对应的伪明文;
步骤4,设置网络参数:根据数字签名样本设置相应的网络参数,设置完成后实施训练。
2.根据权利要求1所述一种基于卷积神经网络的RSA数字签名伪造方法,其特征在于:所述步骤1中,选用brown语料库和gutenberg语料库作为明文的样本数据集,使用RSA算法对明文进行签名生成签名样本;最后将明文样本和对应的签名样本进行配对处理。
3.根据权利要求1所述的一种基于卷积神经网络的RSA数字签名伪造方法,其特征在于,所述步骤2具体步骤如下:
步骤2.1,构建唯一单词表:RSA加密算法的核心是幂运算后取模;所以为了更好的分析RSA数字签名与明文之间的映射关系,对明文以及签名文进行整数的映射;并构建唯一单词表,即每一个明文字符以及签名文字符都对应唯一单词表中的一个整数;
步骤2.2,转换样本:根据唯一单词表对配对好的明文和签名文进行整数的转换,构建新的样本数据集;
步骤2.3,归一化样本:为了消除不同评价指标之间的量纲影响,对转换后的样本进行归一化操作,使样本数据处于同一数量级。
4.根据权利要求1所述的一种基于卷积神经网络的RSA数字签名伪造方法,其特征在于,所述步骤3中三重卷积网络模型由三个卷积神经网络组合而成,每个网络的参数不同,具体步骤如下:
步骤3.1,搭建私钥求解模块:利用构建的卷积神经网络模型,将明文和签名文作为模块的输入,并进行迭代训练,通过卷积求解伪私钥;
步骤3.2,搭建签名编码器模块:将伪私钥和明文作为模块的输入,并进行迭代训练生成伪签名;
步骤3.3,搭建签名解码器模块:将伪签名和公钥作为模块的输入,并进行迭代训练,生成伪明文。
5.根据权利要求1所述的一种基于卷积神经网络的RSA数字签名伪造方法,其特征在于,所述步骤4中通过对训练样本的迭代训练和反向传播算法来优化参数,网络模型会持续学习RSA签名和明文之间的映射关系;最终使得生成的伪明文以及对应的伪签名越来越接近真正的明文和签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150105.6A CN115514496A (zh) | 2022-09-21 | 2022-09-21 | 一种基于卷积神经网络的rsa数字签名伪造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150105.6A CN115514496A (zh) | 2022-09-21 | 2022-09-21 | 一种基于卷积神经网络的rsa数字签名伪造方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514496A true CN115514496A (zh) | 2022-12-23 |
Family
ID=84505040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211150105.6A Pending CN115514496A (zh) | 2022-09-21 | 2022-09-21 | 一种基于卷积神经网络的rsa数字签名伪造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514496A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032666A (zh) * | 2023-03-29 | 2023-04-28 | 广东致盛技术有限公司 | 一种基于学习模型的边云协同设备伪装识别方法及系统 |
-
2022
- 2022-09-21 CN CN202211150105.6A patent/CN115514496A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032666A (zh) * | 2023-03-29 | 2023-04-28 | 广东致盛技术有限公司 | 一种基于学习模型的边云协同设备伪装识别方法及系统 |
CN116032666B (zh) * | 2023-03-29 | 2023-09-22 | 广东致盛技术有限公司 | 一种基于学习模型的边云协同设备伪装识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Design of highly nonlinear substitution boxes based on I-Ching operators | |
Thyagarajan et al. | Verifiable timed signatures made practical | |
CN102263638B (zh) | 认证设备、认证方法和签名生成设备 | |
US9634840B2 (en) | Digital signature technique | |
JP2005515659A (ja) | ディジタル署名、認証方法及び装置 | |
WO2013031414A1 (ja) | 署名検証装置、署名検証方法、プログラム、及び記録媒体 | |
Liang et al. | Research on neural network chaotic encryption algorithm in wireless network security communication | |
CN103259662A (zh) | 一种新的基于整数分解问题的代理签名及验证方法 | |
CN105635135A (zh) | 一种基于属性集及关系谓词的加密系统及访问控制方法 | |
CN116049897A (zh) | 基于线性同态哈希和签密的可验证隐私保护联邦学习方法 | |
CN115514496A (zh) | 一种基于卷积神经网络的rsa数字签名伪造方法 | |
CN103718502A (zh) | 信息处理设备、信息处理方法、程序和记录介质 | |
Selvaraju et al. | A method to improve the security level of ATM banking systems using AES algorithm | |
CN114095162A (zh) | 一种无证书用电信息采集系统连接验证方法及装置 | |
CN117675270A (zh) | 面向纵向联邦学习的多模态数据加密传输方法及系统 | |
CN103748830A (zh) | 信息处理设备、签名提供方法、签名验证方法、程序和记录介质 | |
Shawkat et al. | Optimization-based pseudo random key generation for fast encryption scheme | |
Chandra et al. | Generate an Encryption Key by using Biometric Cryptosystems to secure transferring of Data over a Network | |
CN117640069A (zh) | 基于马尔可夫链的多方区块链隐蔽通信生成模型 | |
CN108667619B (zh) | 一种sm9数字签名的白盒实现方法与装置 | |
Seo et al. | Construction of a New Biometric‐Based Key Derivation Function and Its Application | |
Tian et al. | Lattice-based remote user authentication from reusable fuzzy signature | |
Winasih et al. | Implementation of LSB-RSA Algorithm for the Authenticity of the JPG File Certificate | |
Šeděnka et al. | Privacy-preserving population-enhanced biometric key generation from free-text keystroke dynamics | |
Seo et al. | Fuzzy vector signature and its application to privacy-preserving authentication |
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 |