CN114697028B - 一种在不安全信道上交换秘钥的方法 - Google Patents
一种在不安全信道上交换秘钥的方法 Download PDFInfo
- Publication number
- CN114697028B CN114697028B CN202210450314.6A CN202210450314A CN114697028B CN 114697028 B CN114697028 B CN 114697028B CN 202210450314 A CN202210450314 A CN 202210450314A CN 114697028 B CN114697028 B CN 114697028B
- Authority
- CN
- China
- Prior art keywords
- communication
- sin
- fang
- key
- jia
- 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
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 4
- 230000000644 propagated effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及信息技术领域,具体涉及一种在不安全信道上交换秘钥的方法,包括:公开正整数n;通信方甲生成正整数d,计算x1=sin(d),将x1发送给通信方乙;通信方乙生成正整数e,计算x2=sin(e),将x2发送给通信方甲;通信方甲收到x2后,使用正弦函数的倍角公式计算秘钥Key=floor(10^n*abs(sin(d*e)));通信方乙收到x1后,使用正弦函数的倍角公式计算秘钥Key=floor(10^n*abs(sin(e*d)));Key将相同。本发明的实质性效果是:秘钥不需要在信道上传播即可完成秘钥的交换,实现在不安全信道上建立安全的通信。
Description
技术领域
本发明涉及信息技术领域,具体涉及一种在不安全信道上交换秘钥的方法。
背景技术
计算机网络已深入影响人们的生活和工作,网络的繁荣也极大的改善了人们的生活质量和工作效率。如今在网络上无时无刻不在传输着大量的数据。数据传输安全也成为领域始终重要的研究课题之一。一般来讲,在不安全的信道上传输加密数据是安全的,因为窃取者无法获得解密秘钥。但数据接收方同样需要由不安全信道从发送方处获取解密秘钥。导致解密秘钥存在被窃听的风险,一旦解密秘钥被窃听,就会导致加密数据泄露。为此需要研究一种在不安全信道上实现秘钥安全交换的技术。现有技术中与本专利申请技术最为接近的技术为DH算法(即Diffie-Hellman密钥交换协议),通信双方公开参数P和G,而后各自生成随机数A和B,第一个通信者将S1=G^A%P发送给对方,第二个通信者将S2=G^B%P发送给对方,第一个通信者计算S2^A%P即为秘钥,第二个通信者计算S2^B%P即为秘钥,实现秘钥的安全交换。在DH算法中需要P是一个非常大的质数才能保证秘钥的安全。
发明内容
本发明欲提供一种新的在不安全信道上交换秘钥的技术方案。
为此,本发明所采取的技术方案为:一种在不安全信道上交换秘钥的方法,包括:公开正整数n;通信方甲生成正奇数d,计算x1=sin(d),将x1发送给通信方乙;通信方乙生成正奇数e,计算x2=sin(e),将x2发送给通信方甲;通信方甲收到x2后,使用正弦函数的倍角公式计算秘钥Key=floor(10^n*abs(sin(d*e))),其中整数d为倍数,floor()为向下取整,abs()为取绝对值;通信方乙收到x1后,使用正弦函数的倍角公式计算秘钥Key= floor(10^n*abs(sin(e*d))),其中整数e为倍数;通信方甲和通信方乙计算获得的Key将相同,完成秘钥的交换。
作为优选,将交换秘钥中使用的正弦函数全部替换为使用余弦函数。
作为优选,公开整数N,通信方甲计算x1=sin(N*d),通信方乙计算x2=sin(N*e),通信方甲计算秘钥Key=floor(10^n*abs(sin(d*N*e))),通信方乙计算秘钥Key=floor(10^n*abs(sin(e*N*d))),通信方甲和通信方乙计算获得的Key将相同。
本发明的实质性效果是:秘钥不需要在信道上传播即可完成秘钥的交换,实现在不安全信道上建立安全的通信。
附图说明
图1为交换秘钥方法示意图。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
一种在不安全信道上交换秘钥的方法,请参阅附图1,包括:公开正整数n;通信方甲生成正奇数d,计算x1=sin(d),将x1发送给通信方乙;通信方乙生成正奇数e,计算x2=sin(e),将x2发送给通信方甲;通信方甲收到x2后,使用正弦函数的倍角公式计算秘钥Key=floor(10^n*abs(sin(d*e))),其中整数d为倍数,floor()为向下取整,abs()为取绝对值;通信方乙收到x1后,使用正弦函数的倍角公式计算秘钥Key= floor(10^n*abs(sin(e*d))),其中整数e为倍数;通信方甲和通信方乙计算获得的Key将相同,完成秘钥的交换。
表1 秘钥交换过程表
通信方甲 | 窃听者 | 通信方乙 |
n=10 | n=10 | n=10 |
d=7,x1=sin(7) | - | - |
x1=0.656986598718 | ||
x1=0.656986598718 | x1=0.656986598718 | |
- | - | e=3,x2=sin(3) |
x2=0.141120008059 | ||
x2=0.141120008059 | x2=0.141120008059 | |
Key=floor(10^10*abs(sin(7*e))) | - | Key=floor(10^10*abs(sin(3*d))) |
Key=8366556385 | - | Key=8366556385 |
如表1所示,为本实施例进行秘钥交换的过程中,通信方甲、通信方乙和窃听者获得的数据。
通信方甲生成n=10发送给通信方乙,约定最终的秘钥取10位数字。而后通信方甲生成正整数d=7并保密。计算x1=sin(7)=0.656986598718,将x1发送给通信方乙,窃听者能够窃听到x1的值。本实施例中n的值为10,x1的有效数字位数超过10即可,如表1中的x1有效数字的位数为12位。
通信方乙生成正整数e=3,计算x2=sin(3)=0.141120008059,将x2发送给通信方甲,窃听者能够窃听到x2的值。
本领域已公开正弦函数的倍角公式为:
sin(mx)=∑(-1)^k*m!/((2k+1)!*(m-2k-1)!)*(cosx)^(m-2k-1)*(sinx)^(2k+1),其中m为偶数,k∈[0,m/2-1]。
sin(mx)=∑(-1)^k*m!/((2k+1)!*(m-2k-1)!)*(cosx)^(m-2k-1)*(sinx)^(2k+1),其中m为奇数,k∈[0,(m-1)/2]。
余弦函数的倍角公式为:
cos(mx)=∑(-1)^k*m!/((2k)!*(m-2k)!)*(cosx)^(m-2k)*(sinx)^(2k),其中m为偶数,k∈[0,m/2]。
cos(mx)=∑(-1)^k*m!/((2k)!*(m-2k)!)*(cosx)^(m-2k)*(sinx)^(2k),其中m为奇数,k∈[0,(m-1)/2]。
通信方甲通过倍角公式,并将其中(cos(e))^2替换为(1-(sin(e))^2),获得计算sin(7*e)的计算式为:sin(7*e)=7*sin(e)-56*sin(e)^3+112*sin(e)^5-64*sin(e)^7。
将其中的sin(e)使用x2的值代入,获得sin(7*e)=7*x2-56*x2^3+112*x2^5-64*x2^7=0.83665563853606。从而获得Key=floor(10^10*abs(0.83665563853606))=8366556385。
通信方乙通过倍角公式,并将其中(cos(d))^2替换为(1-(sin(d))^2),获得计算sin(3*d)的计算式为:sin(3*d)=3*sin(d)-4*sin(d)^3=3*x1-4*x1^3=0.83665563853606。从而获得Key=floor(10^10*abs(0.83665563853606))=8366556385。
可见通信方甲和通信方乙获得的Key是相同的。
当d和e为奇数时,正弦函数倍角公式中不含有余弦项,余弦函数倍角公式中不含有正弦项,能够仅依靠正弦函数值或者余弦函数值即可计算倍角的正弦函数值或者余弦函数值。
将交换秘钥中使用的正弦函数全部替换为使用余弦函数,能够同样进行实施。
本实施例的安全性建立在计算整数的正弦值快捷准确,而从正弦函数值反向推算整数则十分困难。由正弦函数值反向推算正奇数,有两种方式:穷举破解和反正弦函数计算。
穷举破解需要逐个遍历每个可能值,即尝试生成猜测值d’,计算sin(d’),使sin(d’)恰好与公开的x1相同。本实施例中x1=sin(d),具有12位有效数字。随机生成猜测值d’,猜测值的正弦值sin(d’)与sin(d)相同的概率为1/10^12。即在12位有效需要数字的情况下,理论上需要进行10^12次正弦函数运算。当正弦值保留100位有效数字时,理论上需要进行10^100次正弦函数运算。以1GHz的计算频率,需要用时10^91秒,约3*10^82年。以537212.00Tflops的算力进行计算时, Tflops为每秒万亿次浮点运算,认为正弦函数计算与单次浮点运算时间相同,需要的时间仍为2*10^82秒,约6*10^73年。可见,通过增加有效数字数量,足以应对穷举破解。
由于反正弦函数arcsin的值域为[-π/2,π/2],得到反正弦函数arcsin的值后,还需要进行修正。例如,当d=7时,正弦函数值sin(7)=0.65698659871879,窃听者尝试使用反正弦函数arcsin反推d的方法包括:
计算arcsin(0.65698659871879)=0.71681469282041;
尝试找到正整数k,使得(0.71681469282041+2*k*π)为整数,或者十分接近整数。尝试后得出当k=1时,(0.71681469282041+2*π)=7。从而由正弦函数值,反推出整数值。
但是当d的值较大时,如d=700时,正弦函数值sin(700)=0.54397052336338,窃听者尝试反推d的方法为:
计算arcsin(0.54397052336338)=0.5751617505239;
尝试找到正整数k,使得(0.5751617505239+2*k*π)为整数,或者十分接近整数。尝试后发现,当k∈[0,20000]时,使用14位有效数字计算时,不存在正好使得(0.5751617505239+2*k*π)为整数的k值。而其中最接近700的值为698.00873084746和704.29191615464,此时k的值分别为111和112。然而窃听者没有理由将698.00873084746规整为700,而应规整为698,也没有理由将704.29191615464规整为700,而应规整为704,因此当d和e的值稍大时,就使得以14位有效数字的精度进行计算时,无法正确由函数值反推出整数值。可见本实施例能够有效应对通过反正弦函数进行破解的攻击。
计算已知大整数D的正弦函数值时,首先计算T=floor(10^k*π),k的值与大整数的位数有关,k小于等于大整数的位数,k的值越大计算精度越高。记大整数为D,计算D-T,若D-T为正,则再次计算D-T,直到D-T为负。而后更新T=floor(T/10),再不断计算D-T,直到D-T为负值。当T的值小于10时,获得最终的D-T的值记为(D-T)_final,计算sin((D-T)_final),并保留预设个有效数字,即获得sin(D)的值。
本实施例的有益技术效果是:秘钥不需要在信道上传播即可完成秘钥的交换,实现在不安全信道上建立安全的通信。
实施例二:
为了进一步提高由正弦函数值,反向推断正奇数的值,本实施例在实施例一的基础上,进行了进一步的改进。本实施例中,通信方甲和通信方乙首先公开整数N,通信方甲计算x1=sin(N*d),通信方乙计算x2=sin(N*e),通信方甲计算秘钥Key=floor(10^n*abs(sin(d*N*e))),通信方乙计算秘钥Key=floor(10^n*abs(sin(e*N*d))),通信方甲和通信方乙计算获得的Key将相同。由已知正弦函数值反推整数值时,因整数N的影响,使窃听者需要遍历的区间将拉大。
而采用实施例二的技术方案时,如设置N=700,设置d=1,则sin(N*d)=sin(700)=0.54397052336338,同样计算asin(0.54397052336338)后,尝试找到正整数k,使得(0.5751617505239+2*k*π)为整数,或者十分接近整数,且为700的倍数或者十分接近700的倍数。当k∈[0,20000]时,其中仅有180个接近700的倍数的值。即进行2万次计算后,仅能够获得180个可能的值。其中最接近d=1的相关值为698.00873084746和704.29191615464,k的值分别为111和112,由于窃听者无法确定d的值,因此必然尝试寻找最接近d=2时的k的值。最接近d=2的相关值为1395.4422999444和1401.7254852516,相应的k的值分别为222和223。可见1401.7254852516为最接近700的倍数的值。此时窃听者会认为d=2的概率大于d=1。再向后进行大量计算可能会获得更为接近700倍数的值,但均为错误值。因此本实施例足够产生混淆的效果。虽然仍要求d和e的值不能太小,但相对于DH算法已大幅减小。较小的d和e的值,占用通信长度较小,且计算更为快速。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
Claims (3)
1.一种在不安全信道上交换秘钥的方法,其特征在于,
包括:公开正整数n;
通信方甲生成正奇数d,计算x1=sin(d),将x1发送给通信方乙;
通信方乙生成正奇数e,计算x2=sin(e),将x2发送给通信方甲;
通信方甲收到x2后,使用正弦函数的倍角公式计算秘钥Key=floor(10^n*abs(sin(d*e))),其中整数d为倍数,floor()为向下取整,abs()为取绝对值;
通信方乙收到x1后,使用正弦函数的倍角公式计算秘钥Key= floor(10^n*abs(sin(e*d))),其中整数e为倍数;
通信方甲和通信方乙计算获得的Key将相同,完成秘钥的交换;
正弦函数的倍角公式为:
sin(mx)=∑(-1)^k*m!/((2k+1)!*(m-2k-1)!)*(cosx)^(m-2k-1)*(sinx)^(2k+1),其中m为偶数,k∈[0,m/2-1],
sin(mx)=∑(-1)^k*m!/((2k+1)!*(m-2k-1)!)*(cosx)^(m-2k-1)*(sinx)^(2k+1),其中m为奇数,k∈[0,(m-1)/2],
通信方甲将倍角公式中(cos(e))^2替换为(1-(sin(e))^2),将d和sin(e)代入倍角公式获得sin(d*e)的值;
通信方乙将倍角公式中(cos(d))^2替换为(1-(sin(d))^2),将e和sin(d)代入倍角公式获得sin(e*d)的值。
2.根据权利要求1所述的一种在不安全信道上交换秘钥的方法,其特征在于,
将交换秘钥中使用的正弦函数全部替换为使用余弦函数。
3.根据权利要求1或2所述的一种在不安全信道上交换秘钥的方法,其特征在于,
公开正整数N,通信方甲计算x1=sin(N*d),通信方乙计算x2=sin(N*e),通信方甲计算秘钥Key=floor(10^n*abs(sin(d*N*e))),通信方乙计算秘钥Key=floor(10^n*abs(sin(e*N*d))),通信方甲和通信方乙计算获得的Key将相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450314.6A CN114697028B (zh) | 2022-04-27 | 2022-04-27 | 一种在不安全信道上交换秘钥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450314.6A CN114697028B (zh) | 2022-04-27 | 2022-04-27 | 一种在不安全信道上交换秘钥的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697028A CN114697028A (zh) | 2022-07-01 |
CN114697028B true CN114697028B (zh) | 2024-03-19 |
Family
ID=82144239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210450314.6A Active CN114697028B (zh) | 2022-04-27 | 2022-04-27 | 一种在不安全信道上交换秘钥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697028B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768956A (zh) * | 2018-11-28 | 2019-05-17 | 中国人民解放军战略支援部队航天工程大学 | 一种基于压缩感知的大数据安全存储系统及方法 |
CN113541918A (zh) * | 2020-04-22 | 2021-10-22 | 三星电子株式会社 | 基于使用函数的复合的同态加密的加密方法及装置 |
-
2022
- 2022-04-27 CN CN202210450314.6A patent/CN114697028B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109768956A (zh) * | 2018-11-28 | 2019-05-17 | 中国人民解放军战略支援部队航天工程大学 | 一种基于压缩感知的大数据安全存储系统及方法 |
CN113541918A (zh) * | 2020-04-22 | 2021-10-22 | 三星电子株式会社 | 基于使用函数的复合的同态加密的加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114697028A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7716482B2 (en) | Conference session key distribution method in an ID-based cryptographic system | |
CN101636966B (zh) | 一种密钥分发的方法、系统和设备 | |
Abi-Char et al. | A fast and secure elliptic curve based authenticated key agreement protocol for low power mobile communications | |
WO2017147503A1 (en) | Techniques for confidential delivery of random data over a network | |
CN113038468A (zh) | 一种物联网无线终端量子密钥分发与协商方法 | |
US20120087495A1 (en) | Method for generating an encryption/decryption key | |
CN110336657B (zh) | 一种基于信道特性的光ofdm动态密钥生成方法 | |
AU2022201032B2 (en) | Long-distance quantum key distribution | |
CN103051457B (zh) | 一种社交网络群组安全通信的建立方法 | |
CN113114456B (zh) | 一种带认证的多用户量子隐私查询方法 | |
Zhang et al. | An elliptic curve signcryption scheme and its application | |
CN114697029B (zh) | 在不可信通信环境中交换秘钥的方法 | |
CN114697028B (zh) | 一种在不安全信道上交换秘钥的方法 | |
Li et al. | Deterministic quantum secure direct communication protocol based on hyper-entangled state | |
CN114844649B (zh) | 一种基于超晶格puf的含可信第三方的密钥分发方法 | |
CN116055136A (zh) | 一种基于秘密共享的多目标认证方法 | |
CN116318654A (zh) | 融合量子密钥分发的sm2算法协同签名系统、方法及设备 | |
Saiki et al. | A novel physical layer authenticated encryption protocol exploiting shared randomness | |
CN113326530B (zh) | 一种适用于通信双方秘钥共享的秘钥协商方法 | |
CN115834038A (zh) | 基于国家商用密码算法的加密方法及装置 | |
KR20040102968A (ko) | 단말 대 단말간의 인증기능을 구비한 통신장치 및 방법 | |
US8036383B2 (en) | Method and apparatus for secure communication between cryptographic systems using real time clock | |
CN114745116B (zh) | 一种安全交换秘钥的方法 | |
Hwang et al. | Provably efficient authenticated key agreement protocol for multi-servers | |
CN111917790A (zh) | 一种物联网安全的混合加密方法 |
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 |