CN114745116A - 一种安全交换秘钥的方法 - Google Patents
一种安全交换秘钥的方法 Download PDFInfo
- Publication number
- CN114745116A CN114745116A CN202210450829.6A CN202210450829A CN114745116A CN 114745116 A CN114745116 A CN 114745116A CN 202210450829 A CN202210450829 A CN 202210450829A CN 114745116 A CN114745116 A CN 114745116A
- Authority
- CN
- China
- Prior art keywords
- cos
- key
- communication party
- calculates
- communication
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 46
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005336 cracking Methods 0.000 description 4
- 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
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/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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Emergency Protection Circuit Devices (AREA)
Abstract
本发明涉及信息技术领域,具体涉及一种安全交换秘钥的方法,包括:公开正整数N和n,n为秘钥长度;通信方甲和通信方乙分别生成正整数d和正整数e;通信方甲计算x1=cos(d%N),将x1公开;通信方乙计算x2=cos(e%N),将x2公开;通信方甲根据x2,计算秘钥Key=floor(10^n*abs(cos((d%N)*(e%N))));通信方乙根据x1,计算秘钥Key=floor(10^n*abs(cos((e%N)*(d%N))));完成秘钥Key交换。本发明的实质性效果是:在不安全网络上能够为通信双方之间实现安全的秘钥交换,从而建立安全的加密通信,有利于提高网络数据传输的安全性。
Description
技术领域
本发明涉及信息技术领域,具体涉及一种安全交换秘钥的方法。
背景技术
互联网已深入影响人们的生活和工作,极大的改善了人们的生活质量和工作效率。如今在互联网上无时无刻不在传输着大量的数据。数据传输安全也成为领域始终重要的研究课题之一。在互联网上传输加密数据通常是安全的,因为窃听者无法获知解密的秘钥。但数据接收方同样不知晓加密的秘钥,这就导致秘钥需要在不安全的网络上进行传输,存在泄露风险,带来通信安全上的风险。为此需要研究更为安全的秘钥交换方案。
发明内容
本发明要解决的技术问题是:目前缺乏在不安全网络上实现秘钥安全交换方案的技术问题。提出了一种安全交换秘钥的方法,能够在不安全的网络上,完成秘钥的安全交换。
为解决上述技术问题,本发明所采取的技术方案为:一种安全交换秘钥的方法,包括:公开正整数N和n,n为秘钥长度,N为辅助数;通信方甲和通信方乙分别生成正整数d和正整数e;通信方甲计算x1=cos(d%N),将x1公开;通信方乙计算x2=cos(e%N),将x2公开;通信方甲根据x2,计算秘钥Key=floor(10^n*abs(cos((d%N)*(e%N)))),floor()为向下取整,abs()为取绝对值;通信方乙根据x1,计算秘钥Key=floor(10^n*abs(cos((e%N)*(d%N))));通信方甲和通信方乙计算的秘钥Key将相同,完成秘钥Key交换。
作为优选,将交换秘钥过程中的cos()函数运算全部替换为sin()函数运算,且通信方甲和通信方乙分别确保d%N和e%N均为奇数。
本发明的实质性效果是:在不安全网络上能够为通信双方之间实现安全的秘钥交换,从而建立安全的加密通信,有利于提高网络数据传输的安全性。
附图说明
图1为实施例安全交换秘钥方法示意图。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
一种安全交换秘钥的方法,请参阅附图1,包括:步骤A01)公开正整数N和n,n为秘钥长度,N为辅助数;步骤A02)通信方甲和通信方乙分别生成正整数d和整数e;步骤A03)通信方甲计算x1=cos(d%N),将x1公开;步骤A04)通信方乙计算x2=cos(e%N),将x2公开;步骤A05)通信方甲根据x2,计算秘钥Key=floor(10^n*abs(cos((d%N)*(e%N)))),floor()为向下取整,abs()为取绝对值;步骤A06)通信方乙根据x1,计算秘钥Key=floor(10^n*abs(cos((e%N)*(d%N))));步骤A07)通信方甲和通信方乙计算的秘钥Key将相同,完成秘钥Key交换。其中n为秘钥在十进制表示下的长度,d和e均不是N的整倍数,即d%N>0,e%N>0。需保证x1∈(-1,0)∪[0,1]和x2∈(-1,0)∪[0,1]。由于cos()函数的周期2π为无理数,当d和e为正整数时,将必然满足x1∈(-1,0)∪[0,1]和x2∈(-1,0)∪[0,1]。
表1秘钥交换过程表
通信方甲 | 窃听者 | 通信方乙 |
n=10,N=11 | n=10,N=11 | n=10,N=11 |
d=7,x1=cos(7%11) | - | - |
x1=0.7539022543433 | ||
x1=0.7539022543433 | x1=0.7539022543433 | |
- | - | e=3,x2=cos(3%11) |
x2=-0.98999249660045 | ||
x2=-0.98999249660045 | x2=-0.98999249660045 | |
Key=floor(10^10*abs(cos(7*e))) | - | Key=floor(10^10*abs(cos(3*d))) |
Key=5477292602 | - | Key=5477292602 |
如表1所示,为本实施例进行秘钥交换时,通信方甲和通信方乙进行的计算,以及窃听者能够窃听到的信息。通信方甲生成n=10和N=11发送给通信方乙,约定最终的秘钥取10位数字。而后通信方甲生成正整数d=7并保密。计算x1=cos(7%11)=0.7539022543433,将x1发送给通信方乙,窃听者能够窃听到x1的值。本实施例中n的值为10,x1的有效数字位数超过10即可,如表1中的x1有效数字的位数为14位。通信方乙生成正整数e=3,计算x2=cos(3%11)=-0.98999249660045,将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]。
由余弦函数的倍角公式得出,无论倍数是奇数还是偶数,倍角的余弦值均可仅由单倍角的余弦值计算获得,不涉及单倍角的正弦值,因此通信双方不需要交换正弦值。
通信方甲通过倍角公式,并将其中(sin(e))^2替换为(1-(cos(e))^2),获得计算cos((7%11)*(e%11))的计算式为:cos((7%11)*(e%11))=-7*cos(e%11)+56*cos(e%11)^3-112*cos(e%11)^5+64*cos(e%11)^7。
将其中的cos(e%11)使用x2的值代入,获得cos((7%11)*(e%11))=-7*x2+56*x2^3-112*x2^5+64*x2^7=-0.54772926022427。从而获得Key=floor(10^10*abs(-0.54772926022427))=5477292602。
通信方乙通过倍角公式,并将其中(sin(d%11))^2替换为(1-(cos(d%11))^2),获得计算cos((3%11)*(d%11))的计算式为:cos((3%11)*(d%11))=-3*cos(d%11)+4*cos(d%11)^3=-3*x1+4*x1^3=-0.54772926022427。从而获得Key=floor(10^10*abs(-0.54772926022427))=5477292602。可见通信方甲和通信方乙获得的Key是相同的。
本实施例的安全性建立在计算整数的正/余弦值快捷准确,而从正/余弦函数值反向推算整数则十分困难。由正/余弦函数值反向推算有两种方式:穷举破解和反正/余弦函数计算。
穷举破解需要逐个遍历每个可能值,即尝试生成猜测值d’,计算cos(d’),使cos(d’)恰好与公开的x1相同。本实施例中举例N值较小,x1=cos(d%11),d%11仅具有10种可能性,是容易被破解的。实际应用时,应使N具有较大值。如在十进制表示下,N有14位,具有14位有效数字。随机生成猜测值d’,猜测值的正弦值sin(d’)与sin(d)相同的概率为1/10^14。即在14位有效需要数字的情况下,理论上需要进行10^14次正弦函数运算。当在十进制表示下,N有100位时,理论上需要进行10^100次正弦函数运算。以1GHz的计算频率,需要用时10^91秒,约3*10^82年。以当前最快的超级计算机的峰值算力537212.00Tflops进行计算时,Tflops为每秒万亿次浮点运算,且认为正/余弦函数计算与单次浮点运算时间相同,需要的时间仍为2*10^82秒,约6*10^73年。可见,通过增加N的值,足以应对穷举破解。此时正/余弦函数的小数保留位数超过10即可。
当d和e的值较大时,本秘钥交换方法具有较高的安全性,但同时会导致进行正/余弦函数的倍角公式计算,将需要消耗较多的时间。为此,本实施例提供简化正/余弦函数倍角公式计算的方案。
生成d,使得d%N=d1*d2*…*d_s,s为正整数,使d%N为奇数。即,d=a*N+d1*d2*…*d_s,a为整数。计算cos((d%N)*(e%N))即计算cos(d1*d2*…*d_s*(e%N))。能够分步计算。首先计算cos(d_s*(e%N))的值,记为x2_s=cos(d_s*(e%N)),而后利用x2_s的值,计算cos((d_s-1)*(d_s(e%N))),通过不断递推,最终计算出cos(d1*d2*…*d_s*(e%N))的值。
由于反正弦函数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位有效数字的精度进行计算时,无法正确由函数值反推出整数值。可见本实施例能够有效应对通过反正弦函数进行破解的攻击。
本实施例中,可以将交换秘钥过程中的cos()函数运算全部替换为sin()函数运算,获得新的实施方式。但需要保证通信方甲和通信方乙分别确保d%N和e%N均为奇数。
当使用正弦函数的倍角公式时,只有倍数为奇数时,即d%N和e%N为奇数时,等式右边才仅含有单倍角正弦值项。即,将单倍角余弦值的偶数次方项替换为单倍角正弦值的表达式,即可去除全部单倍角余弦值项。
本实施例的有益技术效果是:在不安全网络上能够为通信双方之间实现安全的秘钥交换,从而建立安全的加密通信,有利于提高网络数据传输的安全性。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
Claims (2)
1.一种安全交换秘钥的方法,其特征在于,
包括:
公开正整数N和n,n为秘钥长度;
通信方甲和通信方乙分别生成正整数d和正整数e;
通信方甲计算x1=cos(d%N),将x1公开;
通信方乙计算x2=cos(e%N),将x2公开;
通信方甲根据x2,计算秘钥Key=floor(10^n*abs(cos((d%N)*(e%N)))),floor()为向下取整,abs()为取绝对值;
通信方乙根据x1,计算秘钥Key=floor(10^n*abs(cos((e%N)*(d%N))));
通信方甲和通信方乙计算的秘钥Key将相同,完成秘钥Key交换。
2.根据权利要求1所述的一种安全交换秘钥的方法,其特征在于,
将交换秘钥过程中的cos()函数运算替换为sin()函数运算,且通信方甲和通信方乙分别确保d%N和e%N均为奇数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450829.6A CN114745116B (zh) | 2022-04-27 | 2022-04-27 | 一种安全交换秘钥的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210450829.6A CN114745116B (zh) | 2022-04-27 | 2022-04-27 | 一种安全交换秘钥的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745116A true CN114745116A (zh) | 2022-07-12 |
CN114745116B CN114745116B (zh) | 2024-04-05 |
Family
ID=82283375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210450829.6A Active CN114745116B (zh) | 2022-04-27 | 2022-04-27 | 一种安全交换秘钥的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745116B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000206472A (ja) * | 1998-11-12 | 2000-07-28 | Communication Research Laboratory Mpt | 光カオス乱数発生装置 |
CN108282327A (zh) * | 2017-01-06 | 2018-07-13 | 重庆邮电大学 | 一种基于混沌rsa加密的opc ua秘钥交换方法 |
KR20200087061A (ko) * | 2019-01-10 | 2020-07-20 | 주식회사 크립토랩 | 근사 암호화된 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법 |
CN113630234A (zh) * | 2020-05-08 | 2021-11-09 | 三星电子株式会社 | 使用同态加密的加密方法及装置 |
-
2022
- 2022-04-27 CN CN202210450829.6A patent/CN114745116B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000206472A (ja) * | 1998-11-12 | 2000-07-28 | Communication Research Laboratory Mpt | 光カオス乱数発生装置 |
CN108282327A (zh) * | 2017-01-06 | 2018-07-13 | 重庆邮电大学 | 一种基于混沌rsa加密的opc ua秘钥交换方法 |
KR20200087061A (ko) * | 2019-01-10 | 2020-07-20 | 주식회사 크립토랩 | 근사 암호화된 암호문에 대한 재부팅 연산을 수행하는 장치 및 방법 |
CN113630234A (zh) * | 2020-05-08 | 2021-11-09 | 三星电子株式会社 | 使用同态加密的加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114745116B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8464060B2 (en) | Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols | |
KR100857323B1 (ko) | 보안 통신 시스템에서 익명의 공개 키를 발생시키는 방법,장치 및 시스템 | |
CN1322699C (zh) | 间接公共密钥加密 | |
CN111552978A (zh) | 基于DH加密和Hash表的隐私保护集合求交集方法 | |
CN101160777B (zh) | 用于在无线阅读器和无线识别标识器之间通信的方法以及相关的阅读器和标识器 | |
CN117278324B (zh) | 一种报文加密传输方法及系统 | |
CN114697029A (zh) | 在不可信通信环境中交换秘钥的方法 | |
Wu et al. | A new authenticated key agreement scheme based on smart cards providing user anonymity with formal proof | |
Zhu et al. | A Provably Password Authenticated Key Exchange Scheme Based on Chaotic Maps in Different Realm. | |
CN114745116A (zh) | 一种安全交换秘钥的方法 | |
CN104320247A (zh) | 一种基于椭圆曲线与指纹模糊金库的共享密钥保护方法 | |
CN114844649B (zh) | 一种基于超晶格puf的含可信第三方的密钥分发方法 | |
CN114697028A (zh) | 一种在不安全信道上交换秘钥的方法 | |
KR100588302B1 (ko) | 모바일 환경에서의 그룹통신을 위한 세션키 생성 방법 | |
Ogundoyin | A privacy-preserving certificateless two-party authenticated key exchange protocol without bilinear pairing for mobile-commerce applications | |
Huang et al. | Covert communication scheme based on Bitcoin transaction mechanism | |
US20090138743A1 (en) | Method and apparatus for secure communication between cryptographic systems using real time clock | |
KR101026647B1 (ko) | 통신 보안 시스템 및 그 방법과 이에 적용되는 키 유도 암호알고리즘 | |
Moon et al. | Double random phase encoding schemes with perfect forward secrecy for robust image cryptography | |
Domi Caroline | Quantum Key Distribution Algorithm for Network Security | |
Sharma et al. | Study and analysis of key generation techniques in internet of things | |
Abduljabbar et al. | Towards efficient authentication scheme with biometric key management in cloud environment | |
CN116112152B (zh) | 跨企业网络的数据共享安全加密方法和装置 | |
Manivannan et al. | Secure image cloud storage using homomorphic password authentication with ECC based cryptosystem | |
JP2942395B2 (ja) | 秘密通信用ネットワークシステム |
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 |