CN111464304B - 用于控制系统网络安全的混合加密方法及系统 - Google Patents
用于控制系统网络安全的混合加密方法及系统 Download PDFInfo
- Publication number
- CN111464304B CN111464304B CN201910051058.1A CN201910051058A CN111464304B CN 111464304 B CN111464304 B CN 111464304B CN 201910051058 A CN201910051058 A CN 201910051058A CN 111464304 B CN111464304 B CN 111464304B
- Authority
- CN
- China
- Prior art keywords
- initial values
- encrypted
- value
- chaotic
- decrypted
- 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.)
- Active
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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种用于控制系统网络安全的混合加密方法及系统,本混合加密方法,包括:由第一设备产生对应于密码的第一组初始值,并产生对应于待加密数据的第二组初始值;所述第一组初始值通过混沌神经网络加密密码,所述第二组初始值通过混沌神经网络加密数据;以及通过SM2分别加密第一组初始值和第二组初始值,并将所有加密数据发送到第二设备。
Description
技术领域
本发明涉及密码保护和信息安全领域。
背景技术
计算机网络和系统必须具有保护敏感信息安全的能力,以确保系统和网络的可靠性和机密性。保护敏感信息的一种常见方法是加密,目前有许多类型的密码算法可用于各种不同的场合。
我国自主研发的SM2椭圆曲线公钥密码算法(简称SM2),相比RSA算法,SM2具有低耗能、低内存占用、低耗时的优势,相比ECC算法,SM2使用了安全性更强的签名和密钥交换机制。SM2安全性建立在椭圆曲线离散对数问题上,将私钥与公钥结合使用,公钥与希望同私钥拥有者通信的实体共享,使用接收消息的设备的公钥对消息进行加密,并使用接收消息的设备的私钥对消息进行解密。SM2密码算法的问题在于它在运算成本高、运算效率低,这使得SM2密码算法对于用于实时数据传输的成本有限的解决方案而言是不切实际的。
另一种算法是近年出现的新型密码算法--混沌神经网络(CNN)密码算法。CNN密码算法是一种比SM2密码算法更快的加密信息方法,同时仍然保持了与计算量更高的密码相当的安全性,这就满足了在没有那么高计算能力的机器上使用CNN加密算法进行信息保密的需求。CNN密码算法的问题是设备之间共享的初始值不安全,因此该算法在实际运用中存在一些漏洞。
因此,需要一种方法以在深度防御(Defense-in depth)策略下使用最小处理能力来执行信息安全实时的加密和解密,以帮助保护系统免受网络攻击,例如工业控制系统。
发明内容
本发明的目的是提供一种用于控制系统网络安全的混合加密方法及系统。
为了解决上述技术问题,本发明提供了一种混合加密方法,包括:
由第一设备产生对应于密码的第一组初始值,并产生对应于待加密数据的第二组初始值;
所述第一组初始值通过混沌神经网络加密密码,所述第二组初始值通过混沌神经网络加密数据;以及
通过SM2分别加密第一组初始值和第二组初始值,并将所有加密数据发送到第二设备。
进一步,所述混合加密方法还包括:
所述第二设备接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,并利用解密的第一组初始值对混沌神经网络进行密码解密。
进一步,所述混合加密方法还包括:
由所述第二设备确认所述解密密码正确后,通过SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对混沌神经网络进行解密数据。
又一方面,本发明还提供了一种混合加密方法,包括:
在第一设备处产生多个初始值;
将多个初始值传递给第一函数并产生混沌噪声矢量,通过SM2加密多个初始值;
将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文;
将密文和SM2加密的多个初始值发送给第二设备。
进一步,所述混沌函数逻辑块包括并行的多个混沌函数逻辑块;
将所述明文分成要传递到各混沌函数逻辑块中的段;以及
在将并行混沌函数逻辑块传递到一个密文段之后,重新组装所述段。
进一步,所述混合加密方法还包括步骤:在将明文传递到并行混沌函数逻辑块之前,将明文和密钥寄存器传递到逻辑门中,并将结果输出到并行混沌函数逻辑块;其中所述逻辑门是异或逻辑门。
进一步,所述混合加密方法还包括步骤:在所述第二设备处:SM2解密所述多个初始值;以及
使用解密的多个初始值对所述密文进行混沌神经网络解密。
第三方面,本发明还提供了一种混合加密方法,包括:
在第一设备通过第一非线性函数传递初始值并获得加密值,将加密值通过公共域传输到第二设备;
在第二设备通过使用第一非线性函数的逆的倒数或近似值以接收解密加密值的加密值,得到解密值;
通过至少一个操作传递解密值,以确定是否达到第一设备和第二设备之间的一致性;从所述至少一个操作输出加密的预测值,通过至少第二非线性函数传递加密的预测值以获得新值,并将新值发送给第一设备;
所述第一设备接收新值并通过使用第二非线性函数的逆的倒数或近似值来解密新值,从而产生新的解密值,并且通过至少一个操作传递新的解密值,以便确定是否达到第一设备和第二设备之间的一致性。
进一步,上述混合加密方法的所有步骤,直到达到共识。
进一步,在通过公共域将加密值发送到第二设备之前,第一设备SM2加密值并将其发送到第二设备,并且在从接收到来自第二设备SM2加密值之后,第一设备,第二设备通过SM2解密SM2加密值。
进一步,在达成共识之后,在第一设备和第二设备之间交换密钥寄存器。
进一步,所述混合加密方法还包括步骤:在达到共识值之后,通过逻辑门传递第一设备的第一SM2公钥和共识值,得到第一设备的加密SM2密钥;将第一设备的加密SM2密钥发送给第二设备;在第二设备处,解密第一设备的SM2密钥。
进一步,所述混合加密方法还包括步骤:在达到共识值之后,通过逻辑门传递第二设备的第二SM2公钥和共识值,得到第二设备的加密SM2密钥;将第二设备的加密SM2密钥发送给第一设备;在第一设备上,解密第二设备的SM2密钥。
进一步,所述混合加密方法还包括:在所述第一和第二设备之间交换所述密钥寄存器和SM2密钥中的至少一个之后,生成多个初始值;将多个初始值传递给第一函数并产生混沌噪声矢量;SM2加密多个初始值;将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文;将密文和SM2加密的初始值发送给第二设备。
进一步,所述第二设备接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,利用解密的第一组初始值对CNN进行密码解密,以确认解密的密码正确后,SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对CNN进行解密数据。
进一步,所述混合加密方法还包括:在所述第一设备和第二设备之间交换所述密钥寄存器和SM2密钥中的至少一个之后,由所述第一设备生成多个初始值,将多个初始值传递给第一函数并产生混沌噪声矢量;
SM2加密多个初始值,将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文,再将密文和SM2加密的初始值发送给第二设备。
第四方面,本发明还提供了一种混合加密系统,包括:
第一设备和第二设备,其中
第一设备适于生成与密码对应的第一组初始值,并生成与待加密数据对应的第二组初始值,使用第一组初始值通过混沌神经网络加密密码;使用第二组初始值通过混沌神经网络加密数据;以及
通过SM2分别加密第一组初始值和第二组初始值;并将所有加密数据发送到第二设备。
进一步,所述第二设备适于接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,利用解密的第一组初始值对混沌神经网络进行密码解密,以确认解密的密码正确后,SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对混沌神经网络进行数据解密。
本发明的有益效果是,本发明组合了若干层防御,通过将SM2加密与混沌神经网络(CNN)加密相结合,以使用最小处理能力实现高安全性的加密和解密算法,显著降低了加密和解密的运算成本和处理器的执行损耗。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是混合加密方法100的流程图。
图2是混合加密方法200的流程图。
图3是混合加密方法300的流程图。
图4是混合加密方法400的流程图。
图5是用于加密数据的方法500的流程图。
图6是在多个设备之间达成共识的方法600的流程图。
图7是在发送加密的SM2密钥之前在多个设备之间达成一致的方法700的流程图。
图8是在发送密钥寄存器之前在多个设备之间达成一致的方法800的流程图。
图9是用于在多个设备之间获得共识的方法900的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
深度防御策略是结合多种加密类型的驱动理念,例如SM2-CNN密码。历史经验证明,没有网络安全密码或系统架构是黑客侵入系统的致命漏洞,因此保护信息安全的首要目标是使密码破解所需的时间超过检测入侵所需的时间,并启动手动或自动防御对策。
CNN密码学的一个关键思想是:如果没有CNN中正确的初始值和条件,那么结果就不能被解密为对敌对行为者有价值的内容。由于CNN加密的随机和混乱性质,即使初始条件之间的微小差异也会导致发送的信号大不相同。因此,必须保护初始条件、对应于密码和实际数据的两个alpha、密钥的长度。
通过将CNN密码与另一种类型的SM2密码混合,可以以安全、可靠的方式发送初始CNN条件。虽然SM2加密在计算上是昂贵的并且因此对于具有低计算能力的设备是不实际的,但是当与CNN密码方法混合时,它可以以更有限的容量使用。
SM2加密可用于传输加密中使用的CNN初始条件、两个alpha(一个用于密码,一个用于实际数据)以及密码的长度。CNN加密用于密码本身和正在传输的实际数据,这允许在计算量较小的设备之间进行实时加密通信。当CNN功能的参数或密码改变时,则发生另一个SM2加密通信。
通常,在第一设备处,密码首先从一串字母变为双向量数字。然后使用SM2密钥加密密码的长度、CNN的初始条件和CNN功能中使用的alpha。接收加密密码的第二个设备然后使用SM2密钥解密密码长度,并确定密码长度是否与它认为有效的授权数据库中的密码长度匹配。如果长度正确,则解密密码以查看密码是否是经过验证的密码。验证密码的这一双重步骤增加了传输的安全性。出于安全性和组织原因,交换的密码被授权并在数据库中注册,以识别每个设备。此外,设备的密码和授权与之通信的设备的密码存储在设备本身的硬件上。如果认为密码正确,则使用SM2解密CNN初始条件、两个alpha来下载和解密CNN加密过的数据。如果在密码解密的任何步骤期间,以任何方式确定不正确,则将请求发送回原始发送者,请求正确的密码。CNN加密数据不被接受和解密。
根据设备使用的安全标准,可以更改CNN加密更改或新SM2密钥计算之间的时间范围。这种加密方案的组合使得安全系统能够传输数据。为了解密传输的数据,或者可能插入伪造的数据,攻击者需要知道SM2和CNN加密以及它们如何相互实现。
结合图有以下实例可供参考。
图1是说明混合加密方法的流程图,方法100示出了一个实例。第一个设备随机生成两个初始值a 102和x0 104以启动混沌序列。第一设备可以是具有处理器或微控制器的任何设备,例如设备,智能仪表,移动通信设备,传感器,照相机,麦克风,监视和测量设备等。初始值a 102和x0 104通过第一函数106以产生混沌噪声矢量108。混沌噪声矢量108和明文矢量110通过混沌函数112,以便将明文110加密成密文114。初始值a 102和x0 104也使用SM2加密进行加密。或者可以使用其他形式的加密来加密a 302和x0 304,例如Blowfish,Twofish,AES,PGP(Pretty Good Privacy)等。
混合加密方法中使用的神经网络被称为混沌神经网络,放入网络输入层的初始值是随机的。这意味着输入通过层的路径每次都不同,并且没有正确的初始值,初始值不能被解密,输入在CNN中通过两个值a和x0随机化,每次发送加密消息时,这些值本身都是随机的。这里使用的CNN可以具有若干层,例如三层,用于加扰被加密数据的二进制值。
以下段落详细介绍了CNN背后的一些代码和数学。
首先,使用以下等式随机生成a和x0的值:
a=0.45*rand+0.04 (1)
a=a,b=1-a (2)
x0=(b-a)*rand+a (3)
接下来,从a创建μ和λ的值。
μ=4/(1-2*λ) (4)
λ=a*(2*α-3)/(1-2*α) (5)
在生成μ和λ之后,使用以下等式生成x的剩余值:
x=μ*χ(i-1)*(1-x(i-1)) (6)
从x开始,生成矩阵b并包含x中的值的二进制表示。
然后矩阵b被输入神经网络以进一步加密。首先,在第一输入层中给每个字节赋予权重和值Θ。
然后,权重值、二进制形式的原始数据、XX和Θ于在网络的第二层中生成矩阵dx。
网络的最后一层采用第二层生成的二进制值,并将它们重构为8位整数:
for i=l:n
Y(c)=Y(c)+uint8(dx(c,i))*(2^(n-i));
end
解密代码的结构类似,但不使用方程式来生成a和x0的值。
相反,在数据中发送正确的a和x0以确保神经网络沿着相同的路径前进。在一个实施例中,仅使用SM2加密来加密a和x0值,而使用CNN对正在发送的其余数据进行加密。应该理解,上述示例是用于实现CNN的一个实例。然而CNN的其他合适的实施方式也可以使用并且仍然在本发明的范围内。
图2示出了根据实例的SM2-CNN加密方法200的流程图。第一设备202获取数据,加密数据,并将数据发送到第二设备204。第一设备202从数据输入206获取数据208。然后,第一设备生成a和x0值210,然后CNN使用不同的a和x0加密数据212和密码206。接下来,第一设备202用SM2加密214用于数据的a和x0,以及用于密码的a和x0。最后,第一设备将加密数据216通过218发送到第二设备204。第二设备204接收加密数据220。接下来,第二个设备204使用SM2-解密222对应于密码的a和x0,并且CNN解密密码本身。如果密码匹配,则第二设备204使用SM2解密与数据相关联的a和x0,并且CNN解密数据本身224,从而产生解密数据226。
图3是示出根据实施例的另一混合加密方法300的流程图。方法300类似于方法100,但是将混乱功能逻辑框分成多个并行混沌功能逻辑块以更快速地加密明文消息。额外的混沌功能逻辑块(总共四个)可以加速大约四倍的加密。混沌函数逻辑块电路块可以在每次迭代时执行并行计算,因此具有更多混乱的函数逻辑块,快速加密变得可能。
第一个设备随机生成两个初始值,即a 302和x0 304,以启动混沌序列。初始值a302和x0 304通过第一函数306以产生混沌噪声矢量308。混沌噪声矢量308和明文矢量310的段通过并行混沌函数312,以便将明文310加密成密文314。明文310可以分成小块,例如,可以一次向每个并行混沌函数312块发送8比特的消息,也可以使用其他长度的明文310。此外,虽然图2示出了四个并行混沌功能块,但是根据应用可以采用更多或更少的混沌功能块。通常,可用的并行混沌功能块越多,整个加密过程就越快。
使用SM2加密316对初始值a 302和x0 304进行加密。或者可以使用其他形式的加密来加密a 302和x0 304,例如Blowfish,Twofish,AES,PGP(Pretty Good Privacy)等。
重新组装加密密文的段,然后将重新组装的密文314和加密的初始值a 302和x0304发送到第二设备。
图4是示出根据实施例的另一种混合加密方法400的流程图。方法400类似于方法200,但是还包括密钥寄存器420以及420与明文410一起通过异或(XOR)逻辑门422。
第一个设备随机生成两个初始值a 402和x0 404以启动混沌序列。初始值a 402和x0404通过第一函数406以产生混沌噪声矢量408。混沌噪声矢量408和经过异或逻辑门的明文424的段通过并行混沌功能逻辑块412,以便将经过异或逻辑门的明文424加密成密文414。经过异或逻辑门的明文424可以被分成小块,例如,消息的8位可以一次被发送到每个并行混沌功能逻辑块412。也可以使用其他长度的经过异或逻辑门的明文424。此外,虽然图4示出了四个并行混沌功能块,但是根据应用可以采用更多或更少的混沌功能块。
使用SM2加密416对初始值a 402和x0404进行加密。或者,可以使用其他形式的加密来加密初始值a 402和x0 404。重新组装加密密文的段,然后将重新组装的密文414和加密的初始值a 402和x0404发送到第二设备。
图5是示出用于加密数据的方法500的流程图。密钥寄存器502和明文504通过XOR逻辑门506。得到的矢量通过混沌函数逻辑框508以加密数据。同时,更新密钥寄存器510。这些步骤重复n次,直到更新密钥寄存器510以进行最终操作。然后,最终密钥寄存器514和变换后的明文504通过XOR逻辑门516,并且将得到的密文518发送到另一个设备。此方法提供了使用轻量级加密进行散列的替代方法,例如,当需要发送签名以进行验证时,可以使用该方法,还有其他应用程序可能包括加密货币或区块链等。
图6是示出在将密钥寄存器发送到多个设备中的每一个之前在多个设备之间达到一致的方法600的流程图。共识问题是分布式协调和控制中出现的基本问题之一。这种问题出现在许多应用中,包括例如大规模网络中的异构设备,以及诸如电网的传感器网络中的信息处理和估计。在共识问题中,一组设备各自具有一些不同的初始值,目标是通过利用分布式和本地算法使设备同意共同的价值,本地算法可以执行本地计算并与直接相邻设备通信。
第一设备602以初始值608开始,初始值608通过一组功能610并转换为加密值612。该组函数610可以是任何非线性函数,其将噪声添加到初始值608或以某种方式对其进行修改。例如,该组函数可以包括神经网络或本领域普通技术人员通常已知的其他非线性函数。接下来,将加密值612通过公共域606发送到第二设备604,第二设备604接收加密值612并通过使用函数组610的逆或近似值614来解密加密值612,得到解密值616。然后,第二设备604运行操作618以查看从第一设备602接收的值是否达到一致。例如,操作可以使用以下公式:
a(k+1)=A(k)x(k)=αkξ(k) (7)
其中k是已经发生的通信周期的数量,A的定义为A(k)=(1-αk)I+αkW(k),即将a(k+1)分解为多项式A(k)和多项式x(k),且多项式A(k)=(1-αk)I+αkW(k),其中W是权重矩阵,其随着每个通信周期的发生而改变以便获得一致,αk为满足A(k)的特定系数,ξ(k)指将a(k+1)分离出系数αk之后余下的多项式部分。操作618输出加密的预测值620,其经过一组函数622,得到值624。如上所述,该组函数622可以是任何非线性函数集,值624被发送到第一设备602,其中第一设备602通过使用该组函数622的逆或近似值626来解密值624,从而得到解密值628。然后,第一设备602运行操作630以检查从第二设备604接收的值是否达到共识,操作630可以与在第二设备604上执行的操作相同或相似。
图2中的通信周期在图6的操作中继续使用直到第一设备602和第二设备604达成共识。对于每个周期的开始,新的初始值608被传递到功能组610中,被转换为加密值612,并被发送到第二设备604。方法600可能需要n个循环直到达到共识。一旦达成共识,将来的一个密钥注册加密第一和第二设备602,604之间的通信被发送到第一设备602和第二设备604。这些步骤允许设备安全地获得公共密钥,而不需要其他通信方式来获取通常所需的公共密钥,例如电子邮件,短信等。
图7示出在将加密的SM2密钥发送到多个设备中的每一个之前在多个设备之间达成共识的方法700的流程图。第一设备702以初始值708开始,初始值708通过一组功能710并转换为加密值712。该组函数710可以是任何非线性函数,其将噪声添加到初始值608或以某种方式修改它,例如神经网络或本领域普通技术人员通常已知的其他非线性函数。接下来,将加密值712通过公共域706发送到第二设备704,第二设备704接收加密值712并通过使用该组函数710的逆或近似值来解密加密值712,得到解密值716。然后,第二设备704运行操作718以查看从第一设备702接收的值是否达到一致。例如,操作718可以利用上述公式(7),其中k是已经发生的通信周期的数量,A是定义为A(k)=(1-αk)I+αkW(k)的矩阵,W是权重矩阵,随着每个通信周期的发生而改变,以便达成共识。
操作718输出加密的预测值720,其经过一组函数722,得到值724。如上所述,该组函数722可以是任何非线性函数集。值724被发送到第一设备702,其中第一设备702通过使用该组函数722的逆726的逆或近似来解密值724,从而得到解密值728。然后,第一设备702运行操作730以检查从第二设备704接收的值是否达到一致,操作730可以与在第二设备704上执行的操作相同或类似。
图2中的通信周期在图7中继续,直到第一设备702和第二设备704达成共识。对于每个周期的开始,新的初始值708被传递到该组功能710,被转换为加密值712,并被发送到第二设备704。方法700可能需要n个循环直到达到共识。一旦达到共识,第一设备702的SM2公钥732通过XOR逻辑门734或任何其他合适的逻辑门以及共识值。然后将加密的SM2密钥736发送到第二设备704,其中可以执行逆操作以获得发送者的公共SM2密钥。类似地,一旦达到共识,用于第二设备704的SM2公钥738通过XOR逻辑门740或任何其他合适的逻辑门以及共识值。然后将加密的SM2密钥742发送到第一设备704,其中可以执行逆操作以获得发送者的公共SM2密钥。
图8是示出在为多个设备之间的未来加密通信发送密钥寄存器之前在多个设备之间达到一致的方法800的流程图。第一设备802以初始值808开始,初始值808通过一组功能810并转换为加密值812。如上所述,该组函数810可以是任何非线性函数集。接下来,第一设备802SM2加密814加密值812,以创建新值816。新值816通过公共域806发送到第二设备804。第二设备804SM2解密818新值816以获得SM2解密值820。然后,第二设备804通过使用该组函数822的逆或近似来进一步解密SM2解密值820,从而得到解密值824。然后,第二设备804运行操作826以检查从第一设备802接收的值是否达到一致。
例如,操作826可以利用上述公式(7),其中k是已经发生的通信周期的数量,A是被定义为A(k)=(1-αk)I+αkW(k)的矩阵,W是权重矩阵,随着每个通信周期的发生而改变,以便达成共识。
操作826输出加密的预测值828,其通过一组功能830,产生值832。如上所述,该组函数830可以是任何非线性函数集。然后,第二设备804对值832进行SM2加密834,并通过公共域806将SM2加密值836发送到第一设备802。然后,第一设备802对SM2加密值836进行SM2解密838,并且进一步通过使用该组函数830的逆842的逆或近似来解密所得到的SM2解密值840,从而得到解密值844。然后,第一设备802运行操作846以检查从第二设备804接收的值是否达到一致。操作846可以与在第二设备804上执行的操作相同或相似。
图2中的通信周期在图8中继续,直到第一设备802和第二设备804达成共识。对于每个循环的开始,将新的初始值808传递到该组函数810中以重新开始该过程。方法800可能需要n个循环直到达到共识。一旦达成共识,第一设备802和第二设备804之间的未来加密通信的密钥寄存器被发送到第一设备802和第二设备804。
图9示出了用于在多个设备(例如,第一设备902,第二设备904和第三设备906)之间获得共识的方法900。每个相应设备902,904,906使用一组功能914加密其自己的相应值908,910,912。如上所述,该组函数914可以是任何非线性函数集。值908,910,912分别被加密为加密值916,918,920,并通过公共域922发送到所有其他设备。虽然图9示出了三个设备,但是该方法可以用于两个或更多个设备。
每个相应的设备902,904,906接收其他设备的值,并使用该组功能914的逆924的逆或近似来对它们进行解密。该步骤将加密值916,918,920转换为解密值926,928,930。然后,每个相应设备运行操作以查看从其他设备接收的解密值926,928,930是否达成共识。例如,操作可以利用上面讨论的公式(7),其中k是已经发生的通信周期的数量,并且A是被定义为A(k)=(1-αk)I+αkW(k)的矩阵,W是权重矩阵,随着每个通信周期的发生而变化,以便达成共识。
图2中的通信周期在图9中继续,直到在第一,第二和第三设备902,904,906之间达成共识。对于每个周期的开始,相应设备902,904,906中的每一个发送新值908,910,912。该方法可能需要n个循环直到达成共识。一旦达成共识,就将用于设备902,904,906之间的未来加密通信的密钥寄存器发送到每个设备。
方法900利用混沌神经网络通过将噪声添加到公共域922来学习密钥寄存器信息,直到达到共识。该方法可以由任何数量的连接设备使用,并且还可以是分层的,使得所有设备(例如,在第一,第二和第三设备902,904,906之间)和第二设备可以达到第一共识。如果期望第一和第三设备902,906之间的专用连接,则可以在这些设备的子集之间(例如,在第一和第三设备902和906之间)达成共识。
上述方法避免了使用大密钥进行SM2加密的需要。SM2加密所需的计算速度是密钥长度的函数。密钥长度越长,计算时间和处理能力就越长。上述方法结合了多种类型的加密(例如SM2和CNN)的优点,以在不正确的实时决策可能损害或破坏系统不稳定时允许实时加密应用。在这些应用中,需要快速加密/解密方法。
综上所述,本发明组合了若干层防御,通过将SM2加密与混沌神经网络(CNN)加密相结合,以使用最小处理能力实现高安全性的加密和解密算法。第一层是针对用于启动CNN密码算法过程的两个初始值a和x0,使用SM2密码算法,如果没有正确的SM2公钥和私钥,a和x0将不正确;第二层是CNN密码算法过程需要初始值a和x0,如果没有正确的两个初始值,CNN密码算法将无法解密出正确的值;第三层是CNN密码算法本身,如果神经网络没有以与加密CNN完全相同的方式构造和训练,那么它将不能正确地解密这些值。攻击者至少必须突破该加密方法的每一层才能获得对数据的访问权限。此外,若SM2密钥或CNN有任何更改,则攻击者必须重新尝试破解密码。还可以设计多个级别的身份验证,有利于防止攻击者访问这些设备,例如验证密码,密码长度或设备ID等。通过在CNN加密信息之后进一步对这些额外的认证,进一步增加了密码的安全性。
虽然已经结合各个附图的各种实施例描述了混合加密方法和系统,但是仍然可以使用其他类似的实施例,或者可以对所描述的混合加密方法和系统的实施例进行修改和添加。例如,本领域技术人员将认识到,本申请中描述的混合加密方法和系统可以应用于任何合适的加密方法,用于加密CNN密码的初始值,例如Blowfish,Twofish,AES,PGP(相当不错的隐私)等,此外,这里描述的混合加密方法和系统可以用于实时和离线通信。还可以在控制系统,自动化,制造和服务行业中。加密数据可以是各种各样的传感器数据,致动器命令数据,图像数据或文本数据等。因此,这里描述的混合加密方法和系统不应该限于任何单个实施例,而是应该根据所附权利要求在宽度和范围内构造。
Claims (10)
1.一种混合加密方法,包括:
由第一设备产生对应于密码的第一组初始值,并产生对应于待加密数据的第二组初始值;
所述第一组初始值通过混沌神经网络加密密码,所述第二组初始值通过混沌神经网络加密数据;以及
通过椭圆曲线公钥密码算法SM2分别加密第一组初始值和第二组初始值,并将所有加密数据发送到第二设备。
2.根据权利要求1所述的混合加密方法,其特征在于,
所述混合加密方法还包括:
所述第二设备接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,并利用解密的第一组初始值对混沌神经网络进行密码解密。
3.根据权利要求2所述的混合加密方法,其特征在于,
所述混合加密方法还包括:
由所述第二设备确认所述解密密码正确后,通过SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对混沌神经网络进行解密数据。
4.一种混合加密方法,包括:
在第一设备处产生多个初始值;
将多个初始值传递给第一函数并产生混沌噪声矢量,通过椭圆曲线公钥密码算法SM2加密多个初始值;
将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文;
将密文和SM2加密的多个初始值发送给第二设备。
5.根据权利要求4所述的混合加密方法,其特征在于,
所述混沌函数逻辑块包括并行的多个混沌函数逻辑块;
将所述明文分成要传递到各混沌函数逻辑块中的段;以及
在将并行混沌函数逻辑块传递到一个密文段之后,重新组装所述段。
6.如权利要求5所述的混合加密方法,其特征在于,
所述混合加密方法还包括步骤:在将明文传递到并行混沌函数逻辑块之前,将明文和密钥寄存器传递到逻辑门中,并将结果输出到并行混沌函数逻辑块;其中所述逻辑门是异或逻辑门。
7.根据权利要求4-6中任一项所述的混合加密方法,
所述混合加密方法还包括步骤:在所述第二设备处:SM2解密所述多个初始值;以及
使用解密的多个初始值对所述密文进行混沌神经网络解密。
8.一种混合加密方法,包括:
在第一设备通过第一非线性函数传递初始值并获得加密值,将加密值通过公共域传输到第二设备;
在第二设备通过使用第一非线性函数的逆的倒数或近似值以接收解密加密值的加密值,得到解密值;
通过至少一个操作传递解密值,以确定是否达到第一设备和第二设备之间的一致性;从所述至少一个操作输出加密的预测值,通过至少第二非线性函数传递加密的预测值以获得新值,并将新值发送给第一设备;
所述第一设备接收新值并通过使用第二非线性函数的逆的倒数或近似值来解密新值,从而产生新的解密值,并且通过至少一个操作传递新的解密值,以便确定是否达到第一设备和第二设备之间的一致性;
重复上述步骤,直到达到共识,形成共识值;
其中在通过公共域将加密值发送到第二设备之前,第一设备将椭圆曲线公钥密码算法SM2加密值发送到第二设备,并且在从接收到来自第二设备SM2加密值之后,第一设备,第二设备通过SM2算法解密SM2加密值;
其中在达成共识之后,在第一设备和第二设备之间交换密钥寄存器;
所述混合加密方法还包括步骤:在达到共识值之后,通过逻辑门传递第一设备的第一SM2公钥和共识值,得到第一设备的加密SM2密钥;将第一设备的加密SM2密钥发送给第二设备;在第二设备处,解密第一设备的SM2密钥;
所述混合加密方法还包括步骤:在达到共识值之后,通过逻辑门传递第二设备的第二SM2公钥和共识值,得到第二设备的加密SM2密钥;将第二设备的加密SM2密钥发送给第一设备;在第一设备上,解密第二设备的SM2密钥;
所述混合加密方法还包括:在所述第一和第二设备之间交换所述密钥寄存器和SM2密钥中的至少一个之后,生成多个初始值;将多个初始值传递给第一函数并产生混沌噪声矢量; SM2加密多个初始值;将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文;将密文和SM2加密的初始值发送给第二设备;
所述第二设备接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,利用解密的第一组初始值对CNN进行密码解密,以确认解密的密码正确后,SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对CNN进行解密数据;
所述混合加密方法还包括:在所述第一设备和第二设备之间交换所述密钥寄存器和SM2密钥中的至少一个之后,由所述第一设备生成多个初始值,将多个初始值传递给第一函数并产生混沌噪声矢量;
SM2加密多个初始值,将明文和混沌噪声矢量传递到混沌函数逻辑块并生成密文,再将密文和SM2加密的初始值发送给第二设备。
9.一种混合加密系统,其特征在于,包括:
第一设备和第二设备,其中
第一设备适于生成与密码对应的第一组初始值,并生成与待加密数据对应的第二组初始值,使用第一组初始值通过混沌神经网络加密密码;使用第二组初始值通过混沌神经网络加密数据;以及
通过椭圆曲线公钥密码算法SM2分别加密第一组初始值和第二组初始值;并将所有加密数据发送到第二设备。
10.根据权利要求9所述混合加密系统,其特征在于,
所述第二设备适于接收所有加密数据;
通过SM2解密对应于密码的第一组初始值,利用解密的第一组初始值对混沌神经网络进行密码解密,以确认解密的密码正确后,SM2解密对应于数据的第二组初始值,并利用解密的第二组初始值对混沌神经网络进行数据解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051058.1A CN111464304B (zh) | 2019-01-18 | 2019-01-18 | 用于控制系统网络安全的混合加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051058.1A CN111464304B (zh) | 2019-01-18 | 2019-01-18 | 用于控制系统网络安全的混合加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464304A CN111464304A (zh) | 2020-07-28 |
CN111464304B true CN111464304B (zh) | 2021-04-20 |
Family
ID=71678161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910051058.1A Active CN111464304B (zh) | 2019-01-18 | 2019-01-18 | 用于控制系统网络安全的混合加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464304B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291052B (zh) * | 2020-10-19 | 2022-03-15 | 北京邮电大学 | 基于qam的量子噪声加密方法和系统 |
CN113726752A (zh) * | 2021-08-19 | 2021-11-30 | 严聚卫 | 一种网络安全的加密方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064934A (zh) * | 2010-06-12 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种应用混沌密码加密和解密的方法 |
CN102904710A (zh) * | 2012-10-11 | 2013-01-30 | 长春理工大学 | 基于量子细胞神经网络的弱密码超混沌加密方法 |
CN103825699A (zh) * | 2014-02-13 | 2014-05-28 | 南京邮电大学 | 云计算环境中对存储文件的并行混沌加密方法 |
CN106357382A (zh) * | 2016-11-08 | 2017-01-25 | 北海益生源农贸有限责任公司 | 一种用于网络数据传输的加密方法和系统 |
WO2017145010A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
CN107330395A (zh) * | 2017-06-27 | 2017-11-07 | 中国矿业大学 | 一种基于卷积神经网络的虹膜图像加密方法 |
CN108880781A (zh) * | 2018-06-14 | 2018-11-23 | 成都信息工程大学 | 一种对加掩防护加密设备的无掩码神经网络攻击方法 |
-
2019
- 2019-01-18 CN CN201910051058.1A patent/CN111464304B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064934A (zh) * | 2010-06-12 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种应用混沌密码加密和解密的方法 |
CN102904710A (zh) * | 2012-10-11 | 2013-01-30 | 长春理工大学 | 基于量子细胞神经网络的弱密码超混沌加密方法 |
CN103825699A (zh) * | 2014-02-13 | 2014-05-28 | 南京邮电大学 | 云计算环境中对存储文件的并行混沌加密方法 |
WO2017145010A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
CN106357382A (zh) * | 2016-11-08 | 2017-01-25 | 北海益生源农贸有限责任公司 | 一种用于网络数据传输的加密方法和系统 |
CN107330395A (zh) * | 2017-06-27 | 2017-11-07 | 中国矿业大学 | 一种基于卷积神经网络的虹膜图像加密方法 |
CN108880781A (zh) * | 2018-06-14 | 2018-11-23 | 成都信息工程大学 | 一种对加掩防护加密设备的无掩码神经网络攻击方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111464304A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11184147B2 (en) | Hybrid encryption for cyber security of control systems | |
JP5815294B2 (ja) | セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ | |
US11256478B2 (en) | Method for securing a cryptographic process with SBOX against high-order side-channel attacks | |
Hellman | I.des will be totally insecure within ten years' | |
KR101608815B1 (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
CA2639649A1 (en) | Cryptography method and system | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
US7779272B2 (en) | Hardware cryptographic engine and encryption method | |
Najm et al. | A proposed hybrid cryptography algorithm based on GOST and salsa (20) | |
CN111464304B (zh) | 用于控制系统网络安全的混合加密方法及系统 | |
CN114095170A (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN115314211A (zh) | 基于异构计算的隐私保护机器学习训练与推理方法及系统 | |
CN114679270A (zh) | 一种基于隐私计算的数据跨域加解密方法 | |
CN117318941B (zh) | 基于车内网的预置密钥分发方法、系统、终端及存储介质 | |
Kumar et al. | Privacy Preserving Data Sharing in Cloud Using EAE Technique | |
CN115865313A (zh) | 一种轻量级隐私保护纵向联邦学习模型参数聚合方法 | |
Babu et al. | Freestyle, a randomized version of ChaCha for resisting offline brute-force and dictionary attacks | |
KR102304831B1 (ko) | 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법 | |
Surabhi et al. | Advanced 256-Bit Aes Encyption With Plain Text Partitioning | |
KR101026647B1 (ko) | 통신 보안 시스템 및 그 방법과 이에 적용되는 키 유도 암호알고리즘 | |
Nazarov et al. | An Architecture Model for Active Cyber Attacks on Intelligence Info-communication Systems: Application Based on Advance System Encryption (AES-512) Using Pre-Encrypted Search Table and Pseudo-Random Functions (PRFs) | |
Rasna et al. | Comparison of Security Signing Data Authentication Integrity in Combination of Digest And AES Message Algorithm | |
Kumar et al. | Handling secure healthcare data streaming using R2E algorithm | |
JP4611642B2 (ja) | 認証システム | |
Mishra et al. | Understanding the Aspect of Cryptography and Internet Security: A Practical Approach |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |