CN102904714B - 用于密钥加密通信系统中的加密密钥交换方法 - Google Patents

用于密钥加密通信系统中的加密密钥交换方法 Download PDF

Info

Publication number
CN102904714B
CN102904714B CN201110208459.7A CN201110208459A CN102904714B CN 102904714 B CN102904714 B CN 102904714B CN 201110208459 A CN201110208459 A CN 201110208459A CN 102904714 B CN102904714 B CN 102904714B
Authority
CN
China
Prior art keywords
communication node
matrix
square formation
product
key
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
Application number
CN201110208459.7A
Other languages
English (en)
Other versions
CN102904714A (zh
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.)
Shenzhen Genvict Technology Co Ltd
Original Assignee
Shenzhen Genvict 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 Shenzhen Genvict Technology Co Ltd filed Critical Shenzhen Genvict Technology Co Ltd
Priority to CN201110208459.7A priority Critical patent/CN102904714B/zh
Publication of CN102904714A publication Critical patent/CN102904714A/zh
Application granted granted Critical
Publication of CN102904714B publication Critical patent/CN102904714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

一种用于密钥加密通信系统中的加密密钥交换方法,包括:第一通信节点生成随机的矩阵A,计算矩阵A与方阵M的乘积,并将矩阵A与方阵M的乘积发送给第二通信节点,其中,方阵M是由第一通信节点与第二通信节点预先确定的奇异方阵;第二通信节点生成随机的矩阵B,计算方阵M与矩阵B的乘积,并将方阵M与矩阵B的乘积发送给第一通信节点;第一通信节点计算矩阵A与从第二通信节点接收的方阵M与矩阵B的乘积,以生成加密密钥;第二通信节点计算从第一通信节点接收的矩阵A与方阵M的乘积与矩阵B的乘积,以生成加密密钥,其中,方阵M的阶数与矩阵A的列数相同,方阵M的阶数与矩阵B的行数相同,矩阵的行数与矩阵B的列数相同。

Description

用于密钥加密通信系统中的加密密钥交换方法
技术领域
本发明属于通信安全领域,具体地讲,涉及一种用于密钥加密通信系统中的加密密钥交换方法。
背景技术
随着通信技术的发展,通信安全变得越来越重要。目前流行的两种数据加密体系为:对称密钥加密法和非对称密钥加密法。常用的对称密钥加密法如DES、AES。非对称密钥加密法又称为公开密钥方法,常用的非对称密钥加密法如RSA,ECC等。
在使用对称密钥加密算法进行通信的对称密钥加密通信系统中,通信双方需要约定一个密钥,其相对比较固定,并且称密钥加密算法是公开的,很容易受到攻击,并且时间长了该固定密钥容易被攻击方猜到导致整个系统崩溃。
因此,需要一种不依赖于固定密钥的加密方法,其密钥是随机的并且可以公开一部分。第一个可实施的公开密钥算法是RSA算法。该算法是基于数学NP问题(具体为数学中大数分解困难)的设定。但该算法有一个很大的缺陷,即,随着技术进步,大数分解越来越容易,为了提高破解难度不得不提高数学运算的位数,导致硬件成本越来越高,并且硬件寿命变短。
此外,当前也出现了一些RSA算法的破解方法。例如,在2010年3月10日的欧洲设计、自动化和测试会议上的题为“Fault-basedattackofRSAauthentication”的论文公开了一种RSA算法的破解方法。
另一取代RSA算法并能够在通信中公开传递密钥的方法是由戴费和海尔曼提出的密钥交换算法(简称为DH密钥交换体制),它不是加密算法,但可以在网络中公开传输密钥。这种密钥交换技术的目的在于使得两个用户安全地交换一个密钥以便用于以后的报文加密。
以上提到的各种方法中都是基于数学难题来实现的,都是用了大数运算。DH密钥交换体制虽然目前来看是比较安全的,但其运算量非常大。比如DH算法中,为了实现一个30位二进制数的密钥交换,可能需要计算2147483647(32位二进制数)的9223372036854775807(64位二进制数)次方模除1073741824(30位二进制数),这样的计算一般只能在大型机和小型机上实现。而攻击方要破解这30位的密钥如果用穷举法暴力破解,以当前的普通PC机几分钟内可以完成。如果把密钥长度提高到64位,其计算量将是相当大的。虽然现在有很多DH方法的优化方法,使得可以在PC机上实现DH交换,但是运算量也是非常可观的。
对于密钥交换方法也有很多其它的方法(比如基于线性不定方程求解困难而设置的密钥交换体制),虽然运算量会比DH的运算量小几个数量级,但是同样都是基于数学NP问题的设定,其共同特点都是数学运算量特别大,解该数学问题很困难。但是数学NP问题不是无解的问题,随着技术进步和研究的不断深入,可能会找到一个比较有效的数学方法来解该NP问题,届时这些方法将会失效。
因此,需要一种运算量较小并且不易破解的密钥交换方法。
发明内容
本发明的目的在于提供一种用于在使用密钥进行加密通信的通信系统中的密钥交换方法,该密钥交换方法仅需要较少的运算量即可实现密钥的交换,并且不易被破解。
本发明的一方面提供一种用于密钥加密通信系统中的加密密钥交换方法,其特征在于包括:第一通信节点生成随机的矩阵A,计算矩阵A与方阵M的乘积,并将矩阵A与方阵M的乘积发送给第二通信节点,其中,方阵M是由第一通信节点与第二通信节点预先确定的奇异方阵;第二通信节点生成随机的矩阵B,计算方阵M与矩阵B的乘积,并将方阵M与矩阵B的乘积发送给第一通信节点;第一通信节点计算矩阵A与从第二通信节点接收的方阵M与矩阵B的乘积的乘积,以生成加密密钥;第二通信节点计算从第一通信节点接收的矩阵A与方阵M的乘积与矩阵B的乘积,以生成加密密钥,其中,方阵M的阶数与矩阵A的列数相同,方阵M的阶数与矩阵B的行数相同,矩阵A的行数与矩阵B的列数相同。
优选地,第一通信节点可将用于标识方阵M的编号发送给第二通信节点,第二通信节点基于所述编号从第一通信节点和第二通信节点预先确定的多个奇异方阵中选择方阵M。
优选地,方阵M可以以无法从外部被访问的形式被存储在第一通信节点和第二通信节点中。
优选地,方阵M可被存储在第一安全设备和第二安全设备中,第一安全设备仅能由第一通信节点访问,第二安全设备仅能由第二通信节点访问。
优选地,可以以明文或密文方式发送矩阵A与方阵M的乘积、方阵M与矩阵B的乘积。
优选地,方阵M的阶数可大于矩阵A的行数。
优选地,方阵M的阶数可大于等于3。
根据本发明的密钥交换方法,使用了简单的线性代数计算而非NP难题,极大了降低了计算量,并提高了密钥交换速度。同时,本发明的密钥交换方法基于线性代数中“奇异矩阵方程的无确定解”的定理而设计,因此攻击者无法找到有效的数学解法,只能进行穷举破解,提高了加密安全性。
将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。
附图说明
图1示出根据本发明的示例性实施例的用于对称密钥通信系统中的密钥交换方法的流程图。
具体实施方式
现在,将参照附图更充分地描述不同的示例实施例,其中,一些示例性实施例在附图中示出。
图1示出根据本发明的示例性实施例的用于对称密钥系统中的密钥交换方法的流程图。
在图1示出的对称密钥通信系统中,存在作为通信双方的第一通信节点100和第二通信节点200。第一通信节点100和第二通信节点200可以是各种通信设备。
在步骤101,第一通信节点100生成随机的矩阵A,计算矩阵A与N阶方阵M的乘积CA=A×M,并将矩阵CA发送给第二通信节点200。这里,N阶方阵M是由第一通信节点100与第二通信节点200预先确定的奇异矩阵。
在步骤102,第二通信节点200生成随机的矩阵B,计算N阶方阵M与矩阵B的乘积CB=M×B,并将矩阵CB发送给第一通信节点100。这里,N阶方阵M是由第一通信节点100与第二通信节点200预先确定的奇异矩阵。
在步骤103,第一通信节点100使用从第二通信节点200接收的矩阵CB,计算KA=A×CB
在步骤104,第二通信节点200使用从第一通信节点100接收的矩阵CA,计算KB=CA×B。
这里,方阵M的阶数N与矩阵A的列数相同,方阵M的阶数N与矩阵B的行数相同,矩阵A的行数与矩阵B的列数相同。根据线性代数的知识可知,KA=KB。这样,第一通信节点100和第二通信节点200获得了相同的加密密钥,从而实现了密钥的交换。
优选地,方阵M的阶数大于矩阵A的行数。与方阵M的阶数等于矩阵A的行数的情况相比,当方阵M的阶数大于矩阵A的行数时,在不影响破解难度的同时降低了信息传输量。
此外,应该理解,方阵M的阶数小于等于矩阵A的行数的情况也是可行的。
随后,可使用获得的加密密钥进行第一通信节点100和第二通信节点200之间的数据通信。
在步骤105,第一通信节点100使用在步骤103生成的密钥KA对将被发送到第二通信节点200的内容进行加密,并将加密后的内容发送到第二通信节点200。
在步骤106,第二通信节点200从第一通信节点100接收所述加密的内容,并使用在步骤104生成的密钥KB对所述加密的内容进行解密。
同理,第一通信节点100可使用密钥KA对第二通信节点200使用密钥KB加密的内容进行解密。
安全性分析:
在开始进行数据通信之前,第一通信节点100和第二通信节点200相互交换了各自生成的矩阵,并且将生成的矩阵CA和CB进行明文传输。这样,矩阵CA和CB可能被攻击者截获,并且第一通信节点100和第二通信节点200约定的方阵M也有可能被攻击者通过其它方法获得。此时,攻击者为了获取用作加密密钥的KA、KB,必须要得到矩阵A和B,而为了得到矩阵A和B,则需要解以下两个方程:
CA=A×M→A=CA×M-1(1)
CB=M×B→B=M-1×CB(2)
由于约定的方阵M是个奇异矩阵,因此方阵M的行列式|M|=0。矩阵存在逆矩阵的必要条件是行列式不等于零。因此,方阵M不存在逆矩阵M-1。因此,根据上面的方程(1)和(2),通过数学的方法由CA、CB、M解出A和B是不可能的。
为了对方程(1)和(2)求解,只能使用穷举的方法。但是如果矩阵的阶数足够大,则基本上无法通过穷举的方式进行求解。
计算量分析:
对于矩阵方程C=A×B,方阵C的计算方法为:
c ij = Σ k = 1 n a ik b kj
由此可见,如果矩阵A和B的元素均为整数,则运算仅限于整数乘法和加法的运算,没有乘方和取模运算。如果矩阵A和B的每一个元素取值范围比较小,并且n适当地减少,则cij的值也不会很大,从而避免了大整数运算。
例如,A和B的每一个元素取值范围为:0~16777215(24位二进制整数最大值),n取12,M为12阶魔方阵,则K=KA=KB=A×M×B中K的每一个元素最大值不超过264,即不超过8字节整数的最大值。当前的32位普通PC机都支持8字节整数运算,可见这种方法的运算量比DH和RSA算法的计算量小很多个数量级,速度非常之快。
破解难度分析:
从上面的描述来看,矩阵方程(1)和(2)不能用数学方法求解,如果通过计算机暴力破解,方法如下:
如果N=2,设A=[A11A12;A21A22],M=[M11M12;M21M22],矩阵方程CA=A×M等价于方程组:
(1)CA11=A11×M11+A12×M21
CA22=A11×M21+A12×M22
(2)CA21=A21×M11+A22×M12
CA22=A21×M21+A22×M22
在上述方程组中,已知CA和M,求A,实际上方程组(1)可以求出A11和A12,方程组(2)可以求出A21和A22,然后把它们组合起来便可以得到所有A的解。用穷举法求解方程组(1)只需要枚举所有A11和A12的取值,不需要枚举A所有的元素,因此破解难度取决于N和A所有的元素的取值范围。如果N=12,矩阵A、B的每一个元素取值为3个字节的整数,则相当于密钥长度为12×3=36字节,288位。这表明,攻击者至少要解2288个方程才能获得第一组Aij的所有可能的解,要获得所有Aij的解则需要解12×2288个方程。当所有的方程解完以后可以得到CA的解的个数可能有1亿个,而在这1亿个解当中只有一个是正确的。攻击者还需要再验证1亿次才能得到正确的解。
一般情况下密钥长度为128位已经可以抵挡住当前的计算机的暴力破解。2128=3.4e38,而当前计算机最快的运算能力只有每秒2.5e16次运算,若每次运算就能解一个12元1次方程组,则需要1.36e22秒。而宇宙的年龄只有9.2e18秒。
优选地,方阵M的阶数N大于等于3。
在另一实施例中,第一通信节点100和第二通信节点200预先确定多个奇异方阵。第一通信节点100从所述多个奇异方阵中选择一个奇异方阵M来计算CA,并且将奇异方阵M的编号连同CA发送给第二通信节点200。第二通信节点200基于所述编号从所述多个奇异方阵中选择出奇异方阵M来计算CB
这样,通过设置多个奇异方阵,可以进一步增强通信的安全性。
在本发明中,奇异方阵可被保存在通信节点中,从通信节点的外部无法访问奇异方阵。
例如,奇异方阵可以以配置文件的形式加载或直接编译到在通信节点运行的通信程序中。
此外,也可将奇异方阵保存在单独一个安全设备中。该安全设备可以设置在每个通信节点中,或者被配置为独立于通信节点并仅能由与之对应的通信节点访问。此外,计算密钥K的处理也可由该安全设备执行,通信节点只需将随机的N阶矩阵A或B(以及奇异方阵的编号)输入到该安全设备,由该安全设备(根据编号确定使用的奇异方阵M并)计算密钥K,并输出给通信节点。
在前面的实施例中,将生成的矩阵CA和CB进行明文传输即可实现难以被破解的效果。然而,应该理解,也可以对矩阵CA和/或CB进行加密之后进行传输。
根据本发明的密钥交换方法,使用了简单的线性代数计算而非NP难题,极大了降低了计算量,并提高了密钥交换速度。同时,本发明的密钥交换方法基于线性代数定理,而不是NP难题,因此攻击者无法找到有效的数学解法,只能进行穷举破解,提高了加密安全性。
尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,以上的实施方式仅用于说明本发明的技术方案而非限制性的,本领域的技术人员可根据本发明做出各种相应的改变、或选取以上的实施例的组合。这些改变都应被认为属于本发明所附的权利要求的保护范围。

Claims (6)

1.一种用于密钥加密通信系统中的加密密钥交换方法,其特征在于包括:
第一通信节点生成随机的矩阵A,计算矩阵A与方阵M的乘积CA,并将矩阵A与方阵M的乘积CA以明文或密文方式发送给第二通信节点,其中,CA=A×M,方阵M是由第一通信节点与第二通信节点预先确定的奇异方阵;
第二通信节点生成随机的矩阵B,计算方阵M与矩阵B的乘积CB,并将方阵M与矩阵B的乘积CB以明文或密文方式发送给第一通信节点,其中,CB=M×B;
第一通信节点计算矩阵A与从第二通信节点接收的方阵M与矩阵B的乘积CB的乘积,以生成加密密钥KA,其中,KA=A×CB
第二通信节点计算从第一通信节点接收的矩阵A与方阵M的乘积CA与矩阵B的乘积,以生成加密密钥KB,其中,KB=CA×B,
其中,KA=KB,方阵M的阶数与矩阵A的列数相同,方阵M的阶数与矩阵B的行数相同,矩阵A的行数与矩阵B的列数相同。
2.根据权利要求1所述的加密密钥交换方法,其特征在于:第一通信节点将用于标识方阵M的编号发送给第二通信节点,第二通信节点基于所述编号从第一通信节点和第二通信节点预先确定的多个奇异方阵中选择方阵M。
3.根据权利要求1所述的加密密钥交换方法,其特征在于:方阵M以无法从外部被访问的形式被存储在第一通信节点和第二通信节点中。
4.根据权利要求1所述的加密密钥交换方法,其特征在于:方阵M被存储在第一安全设备和第二安全设备中,第一安全设备仅能由第一通信节点访问,第二安全设备仅能由第二通信节点访问。
5.根据权利要求1所述的加密密钥交换方法,其特征在于:方阵M的阶数大于矩阵A的行数。
6.根据权利要求5所述的加密密钥交换方法,其特征在于:方阵M的阶数大于等于3。
CN201110208459.7A 2011-07-25 2011-07-25 用于密钥加密通信系统中的加密密钥交换方法 Active CN102904714B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110208459.7A CN102904714B (zh) 2011-07-25 2011-07-25 用于密钥加密通信系统中的加密密钥交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110208459.7A CN102904714B (zh) 2011-07-25 2011-07-25 用于密钥加密通信系统中的加密密钥交换方法

Publications (2)

Publication Number Publication Date
CN102904714A CN102904714A (zh) 2013-01-30
CN102904714B true CN102904714B (zh) 2016-03-30

Family

ID=47576768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110208459.7A Active CN102904714B (zh) 2011-07-25 2011-07-25 用于密钥加密通信系统中的加密密钥交换方法

Country Status (1)

Country Link
CN (1) CN102904714B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113328851B (zh) * 2021-04-21 2022-01-14 北京连山科技股份有限公司 一种在多链路条件下随机传输密钥的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832397B (zh) * 2005-11-28 2010-09-29 四川长虹电器股份有限公司 电子设备接口间基于公钥证书的认证密钥协商和更新方法
CN1881874A (zh) * 2006-04-26 2006-12-20 集美大学 基于神经网络混沌吸引子的公钥密码加密和解密方法

Also Published As

Publication number Publication date
CN102904714A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN111131148B (zh) 一种面向智能电网的可保护隐私数据聚合方法及系统
CN102904713A (zh) 用于密钥加密通信系统中的密钥交换方法
Rezai et al. Secure SCADA communication by using a modified key management scheme
Li et al. PDA: a privacy‐preserving dual‐functional aggregation scheme for smart grid communications
CN101179380A (zh) 一种双向认证方法、系统及网络终端
CN105553638A (zh) 针对sm4一阶掩码算法的二阶频域能量分析攻击
Upadhyay et al. An efficient key management and multi-layered security framework for SCADA systems
CN113141247B (zh) 一种同态加密方法、装置、系统及可读存储介质
CN113312608B (zh) 一种基于时间戳的电力计量终端身份认证方法及系统
CN102111273A (zh) 一种基于预共享的电力负荷管理系统数据安全传输方法
Wu et al. A lightweight SM2-based security authentication scheme for smart grids
CN101296072A (zh) 一种椭圆曲线上的共享密钥产生方法
Fujdiak et al. Efficiency evaluation of different types of cryptography curves on low-power devices
CN110620660A (zh) 一种基于区块链的数据通信的密钥分配方法
CN107896216A (zh) 一种面向电力量测仪表的密钥管理、数据加密与身份认证方法
Hwang et al. A Lightweight Certificate-Based Aggregate Signature Scheme Providing Key Insulation.
Ametov et al. Organizing the information security in Modbus TCP interfaces for use in the energy complex
CN102904714B (zh) 用于密钥加密通信系统中的加密密钥交换方法
CN108599941A (zh) 随机非对称扩充字节通信数据加密方法
Mlynek et al. Design of secure communication in network with limited resources
WO2010070579A1 (en) System and method for countering side-channel attacks against encryption based on cyclic groups
CN115065492B (zh) 一种电力时序数据通信的安全聚合方法及系统
CN102158338A (zh) 一种针对Twofish加密芯片的DFA分析方法及系统
Li et al. Epps: Efficient privacy-preserving scheme in distributed deep learning
Riyadi et al. Real-time testing on improved data transmission security in the industrial control system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: Nanshan District Keyuan Road Shenzhen city Guangdong province 518057 Tsinghua building A building 12 layer

Applicant after: SHENZHEN GENVICT TECHNOLOGY CO., LTD.

Address before: Nanshan District Keyuan Road Shenzhen city Guangdong province 518057 Tsinghua building A building 12 layer

Applicant before: Shenzhen Jinyi Technologies Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN JINYI TECHNOLOGIES CO., LTD. TO: SHENZHEN GENVICT TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant