CN113242122B - 一种基于dh和rsa加密算法的加密方法 - Google Patents

一种基于dh和rsa加密算法的加密方法 Download PDF

Info

Publication number
CN113242122B
CN113242122B CN202110408067.9A CN202110408067A CN113242122B CN 113242122 B CN113242122 B CN 113242122B CN 202110408067 A CN202110408067 A CN 202110408067A CN 113242122 B CN113242122 B CN 113242122B
Authority
CN
China
Prior art keywords
key
sender
data
transmitted
receiver
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
CN202110408067.9A
Other languages
English (en)
Other versions
CN113242122A (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.)
HARBIN KAINA TECHNOLOGY CO LTD
Harbin Institute of Technology
Original Assignee
HARBIN KAINA TECHNOLOGY CO LTD
Harbin Institute of Technology
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 HARBIN KAINA TECHNOLOGY CO LTD, Harbin Institute of Technology filed Critical HARBIN KAINA TECHNOLOGY CO LTD
Priority to CN202110408067.9A priority Critical patent/CN113242122B/zh
Publication of CN113242122A publication Critical patent/CN113242122A/zh
Application granted granted Critical
Publication of CN113242122B publication Critical patent/CN113242122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • H04L9/0822Key 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) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于DH和RSA加密算法的加密方法,所述方法包括如下步骤:步骤一、发送方基于预设的密钥交换算法与接收方协商建立安全密钥;步骤二、发送方获取待传输数据,并统计待传输数据的数据量;步骤三、当待传输数据的数据量大于预设值时,发送方基于安全秘钥确定对称密钥;步骤四、基于对称密钥,应用AES加密算法对待传输数据进行加密;步骤五、发送方将加密后的待传输数据广播至接收方。该方法可保证对称密钥的安全传输,保证通信安全。

Description

一种基于DH和RSA加密算法的加密方法
技术领域
本发明属于安全通信技术领域,涉及一种基于DH和RSA加密算法的加密方法。
背景技术
现如今随着工业现场通信的重要性越来越高,各种基于现场总线通信方式的通信安全性也愈发重要,为了避免可能受到的各种通信威胁,设计一种能够保障通信安全的方法极为重要。对于Modbus/TCP通信方式来说,存在相应的指令与地址均以明文的方式进行数据传输等缺陷,由此攻击者能够方便地对数据信息进行截获和篡改,进而造成通信故障,危及通信安全。因此,为了在通信时保障数据信息的传输安全,需对通信的数据信息进行加解密处理。
AES加密算法为常用的对称加密算法,其加解密应用相同的密钥,是基于数据块的加密方式,能抵抗现在的所有已知密码攻击,在计算机环境中的硬件和软件实用性能都非常好,它的密钥建立时间短且灵活性强,适合各种复杂的环境。然而,其由于对称加密的加密和解密使用的是同一个密钥,所以对称加密的安全性就不仅仅取决于加密算法本身的强度,更取决于密钥是否被安全的保管与传输,若在传输过程中密钥被攻击泄露,则会导致传输内容被泄露。
发明内容
为了解决AES对称密钥在传输过程中密钥被攻击泄露,会导致传输内容被泄露的问题,本发明提供了一种基于DH和RSA加密算法的加密方法,该方法可保证对称密钥的安全传输,保证通信安全。
本发明的目的是通过以下技术方案实现的:
一种基于DH和RSA加密算法的加密方法,包括如下步骤:
步骤一、发送方基于预设的密钥交换算法与接收方协商建立安全密钥;
步骤二、发送方获取待传输数据,并统计待传输数据的数据量;
步骤三、当待传输数据的数据量大于预设值时,发送方基于安全秘钥确定对称密钥;
步骤四、基于对称密钥,应用AES加密算法对待传输数据进行加密;
步骤五、发送方将加密后的待传输数据广播至接收方。
本发明中,预设的密钥交换算法为DH密钥交换算法。
本发明中,发送方基于预设的密钥交换算法与接收方协商建立安全密钥的方法如下:
(1)发送方随机取一素数和一整数,生成一个小于素数的第一随机数,并基于第一预设算法计算获得第一结果,将素数、整数以及第一结果广播给多个接收方,其中,第一预设算法为YAi=Ei^XAimodPi,YAi为第一结果,Pi为素数,Ei为整数,XAi为第一随机数;
(2)各个接收方收到素数、整数以及第一结果后,各自分别生成一小于素数的随机数,并基于第一结果与各自的随机数计算获得各自的第二结果,将各自计算获得的第二结果发送给发送方;
(3)发送方接收到各接收方发送的第二结果后,计算与各接收方对应的第一密钥,基于各接收方对应的第一密钥进行归一化处理后得到安全密钥,并基于第二结果确定各接收方对应密钥计算因子,将密钥计算因子分别发送到对应的接收方;
(4)各接收方基于自身的随机数和第一结果,计算自身的第二密钥,并将自身的第二密钥与接收的密钥计算因子进行异或操作后,得到安全密钥。
本发明中,发送方获取待传输数据,并统计所述待传输数据的数据量之后还包括如下步骤:
(1)当待传输数据的数据量小于或等于预设值时,发送方确定自身的RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;
(2)发送方以安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;
(3)发送方应用私钥将待传输数据进行RSA加密后,广播至接收方。
本发明中,预设的对称加密算法为AES加密算法。
本发明中,发送方基于安全秘钥确定对称密钥的方法如下:发送方将安全秘钥作为所述对称密钥。
本发明中,发送方基于安全秘钥确定对称密钥的方法如下:
(1)发送方确定自身RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;
(2)发送方以安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;
(3)接收方应用公钥将待传输的对称密钥进行加密后,发送至发送方。
本发明中,预设的对称加密算法为AES加密算法。
相比于现有技术,本发明具有如下优点:
本发明在发送方与接收方在建立通信连接后,首先协商建立安全密钥,实现在完全没有对方任何预先信息的条件下,通过不安全信道创建起一个安全密钥,用于后续数据或密钥的加密传输,进而保证安全通信,此外,通过使用AES加密算法,确保一定的通信效率。
附图说明
图1为本发明基于组合加密的安全通信方法的一实施例示意图;
图2为单播通信密钥协商建立过程的一个示例;
图3为广播通信密钥协商建立过程的一个示例;
图4为广播通信密钥协商建立过程的另一个示例;
图5为本发明基于组合加密的安全通信方法步骤S40细化后的一实施例示意图;
图6为本发明基于组合加密的安全通信方法步骤S40细化后的另一实施例示意图;
图7为本发明基于组合加密的安全通信方法另一实施例示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
Modbus/TCP是运行在TCP/IP上的Modbus报文传输协议,通过此协议,工业设备可通过以太网等网络和其他设备进行通信,该协议遵循单主站的主从通信模式,一条Modbus网络上只能有一个主机,从机可能有一个或多个(如图2),其中,主机为TCP客户端,从机为TCP服务器端,主机向从机发送请求,获取数据或修改从机数据,从机响应主机请求,返回响应数据。主机通过两种方式向从机发送请求报文,即单播模式和广播模式,单播模式时,主设备仅仅寻址单个从设备,广播模式时,主设备向所有的从设备发送请求指令。本发明实施例中的发送方指作为数据发送主体的主机,接收方指作为数据接收主体的从机。
如图1所示,本发明提供的基于组合加密的安全通信方法包括如下步骤:
步骤S10:发送方基于预设的密钥交换算法与接收方协商建立安全密钥。
对于互相没有对方任何信息(包括密钥信息)的发送方和接收方,若要确保数据传输的安全性,需确保数据加密密钥的安全性,因此,发送方在与接收方建立连接后,首先通过预设的密钥交换算法与接收方协商建立安全密钥,为后续数据传输或密钥传输提供安全保障。
可选地,所述预设的密钥交换算法为DH密钥交换算法。基于DH密钥交换算法,可使发送方与接收方在完全没有对方任何预先信息的条件下或密钥对更换缺失等情况下,通过不安全信道创建起一个安全密钥,便于后续使用该密钥加密待传输的密钥或数据。
单播模式下,发送方与一个接收方通信,因此与该一个接收方协商建立安全密钥,广播模式下,发送方与多个接收方协商建立安全密钥。可选地,单播模式下,步骤S10包括:
发送方随机取一素数P和一整数E,并生成一小于素数P的第一随机数XA,基于第一预设算法计算获得第一结果YA,将素数P、整数E以及第一结果YA发送给服务端,其中,第一预设算法为YA=E^XAmodP,P为大素数;
接收方接收素数P、整数E以及第一结果YA后,生成一小于所述素数的第二随机数XB,基于第一结果YA和第二随机数XB计算获得安全密钥K,可选地,基于第三预设算法计算获得安全密钥K,第三预设算法为K=YA^XB modP;并基于第二预设算法获得第二结果YB,将第二结果YB发送给发送方,其中,第二预设算法为YB=E^XB modP;
发送方接收第二结果后,基于第一随机数和第二结果计算获得安全密钥;可选地,基于第四预设算法计算获得安全密钥K,第四预设算法为K=YB^XA modP。
接收方保存其计算获得的安全密钥K=YA^XB modP,发送方保存其计算获得的安全密钥K=YB^XA modP,其中,YB^XA modP=YA^XB modP。
广播模式下,步骤S10的具体步骤如下:
步骤1、发送方随机取一素数Pi和一整数Ei,生成一个小于素数的第三随机数XAi,并基于第五预设算法计算第三结果YAi,其中,第五预设算法为YAi=Ei^XAimodPi,将素数Pi、整数Ei以及第三结果YAi发送给多个接收方;
步骤2、各个接收方收到素数Pi、整数Ei以及第三结果YAi后,各自分别生成一小于素数Pi的随机数Xi,并基于第三结果YAi与各自的随机数Xi计算各自的第四结果Yi,将各自计算获得的第四结果Yi发送给发送方,其中,第四结果Yi=Ei^XimodPi
步骤3、发送方接收到各接收方发送的第四结果Yi后,计算与各接收方对应的第一密钥,并基于各接收方对应的第一密钥进行归一化处理,使得发送方和接收方确定广播通信所需的安全密钥(对称密钥),具体地,发送方通过Ki=Y1^Y2^...^Yi,(Yi为各接收方发送的第四结果)计算得到所述安全密钥,并基于第四结果Yi确定各接收方对应密钥计算因子,将密钥计算因子分别发送到对应的接收方;其中,各接收方对应的第一密钥的计算方式为:Ki=Yi^XAimodPi
步骤4、各接收方基于自身的随机数Xi和第三结果YAi,计算自身的第二密钥,并将自身的第二密钥与接收的密钥计算因子,进行异或,得到所述安全密钥。
为便于理解,如图3所示,以4个接收方B、C、D、E为例解释上述过程,但在不同实施方式在中,接收方的数量不限于4个。
步骤1、发送方随机取一素数Pi和一整数Ei,生成一个小于素数的随机数XAi,并基于YAi=Ei^XAimodPi计算YAi,将素数Pi、整数Ei以及第三结果YAi发送给接收方B、C、D、E;
步骤2、接收方B、C、D、E收到发送方A发来的Pi、Ei和YAi后,各自分别选择一个小于Pi的随机数,即随机数XBi<Pi、XCi<Pi、XDi<Pi、XEi<Pi,并各自计算YBi=Ei^XBimodPi、YCi=Ei^XCimodPi、YDi=Ei^XDimodPi、YEi=Ei^XEimodPi,接收方B、C、D、E将各自得到的YBi、YCi、YDi、YEi发送给发送方A;
步骤3、发送方A接收到接收方B、C、D、E各自发送的YBi、YCi、YDi、YE后,分别计算密钥:KiB=YBi^XAimodPi、KiC=YCi^XAimodPi、KiD=YDi^XAimodPi、KiE=YEi^XAimodPi
步骤4、接收方B计算密钥:KiB=YAi^XBimodPi;接收方C计算密钥:KiC=YAi^XCimodPi;接收方D计算密钥:KiD=YAi^XDimodPi;接收方E计算密钥:KiE=YAi^XEimodPi(i=1,2,…N,确保Ki的长度为128位)。
步骤5、发送方A进行归一处理:KA=KiB^KiC^KiD^KiE ,同时将KiC^KiD^KiE发送给B;将KiB^KiD^KiE发送给C;将KiB^KiC^KiE发送给D;将KiB^KiC^KiD发送给E。
步骤6、每个接收方将自身的密钥(KiB、KiC、KiD、KiE)与A发来的密钥进行异或,得到最终的密钥,即:KB=KiB^KiC^KiD^KiE ;KC=KiB^KiC^KiD^KiE ;KD=KiB^KiC^KiD^KiE ;KE=KiB^KiC^KiD^KiE
至此,发送方A与接收方B、C、D、E协商建立好安全密钥。
为便于理解,如图4为一包含一客户机、两服务器的会话示意图,在客户机A与服务器B、C协商建立安全密钥K。首先,由客户机A发送素数Pi、整数Ei以及客户机A基于素数Pi、整数Ei以及随机数XAi计算得到的YAi分别发送给服务器B、C,其中,XAi由客户机A保存,且仅客户机A可知;然后,由服务器B/C分别计算YBi/YCi,并将YBi/YCi发送到客户机A,其中,服务器B/C计算YBi/YCi,可基于YBi=Ei^XBimodPi/YCi=Ei^XCimodPi计算;然后,由客户机A基于服务器B/C发送的YBi/YCi,基于KiB=YAi^XBimodPi/KiC=YAi^XCimodPi分别计算KBi/KCi,再基于KBi与KCi进行归一化,即基于KBi与KCi计算安全密钥K,K=KiB^KiC,客户机A将K保留,将KCi发送给服务器B,将KBi发送给服务器C,由服务器B基于KCi计算K,由服务器C基于KBi计算K,服务器B、C计算获得的K,以及客户机A计算获得的K为相同的密钥,均为K=KiB^KiC
步骤S20:发送方获取待传输数据,并统计待传输数据的数据量。
广播模式下,若使用RSA算法加密,则使用私钥加密公钥解密,而RSA私钥加密公钥解密的计算量较大,若待传输数据的数据量较大,则使用这种方式会导致计算量过大,影响传输效率的同时,还导致很大资源消耗。
因此,在广播模式下,首先确定待传输数据的数据量,执行步骤S30:判断待传输数据的数据量是否大于预设值,若是,则执行步骤S40:应用AES加密算法加密传输待传输数据,AES加密算法的加密解密的速度比较快,适合数据量较大时使用,确保通信过程中的数据传输效率。
步骤S40中,发送方基于安全秘钥确定对称密钥。
本发明实施例应用AES对称加密算法对待传输数据进行加密,因此,首先需确定用于进行AES对称加密的对称密钥。
可选地,如图5所示,步骤S40的具体步骤如下:
步骤S400:发送方将安全秘钥作为对称密钥。即,将安全密钥作为对称密钥,进行后续的AES对称加密。因AES加密算法简单,加密速度快,且通过安全密钥将对称密钥进行加密传输,保证了对称密钥的安全传输,因此,本发明实施例在保证安全通信的同时,还保证了一定的传输效率。
可选地,首先基于安全密钥,将发送方的RSA公钥对称加密传输到接收方,再由接收方基于RSA公钥加密传输预置的对称密钥,该对称密钥作为后续为待传输数据进行AES加密的对称密钥。
具体地,如图6所示,步骤S40的具体步骤如下:
步骤S410:发送方确定自身RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;发送方自身的RSA密钥对,可以为之前生成,存储于发送方的,可以为当前生成的,即当前基于RSA算法生成RSA密钥对,基于RSA算法生成公钥和私钥,发送方选择两个随机大素数p和q,首先,计算n和L,其中,n=p×q,L=lcm(p-1,q-1),lcm是求最小公倍数,然后随机选择一个整数e,其中,e满足1<e<L且gcd(e,L)=1,gcd是求最大公约数,最后计算d,其中,d满足1<d<L且e×d mod L =1。发送方将(e,n)作为公钥,将(d,n)作为私钥,将公钥发送给接收方,将私钥自己保留。
步骤S411:发送方以所述安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;发送方确定自身的RSA密钥对后,以安全密钥作为对称密钥,应用预设的对称加密算法对自身公钥进行加密,将加密后的公钥广播至接收方,因发送方的公钥加密后才广播至接收方,可以保证公钥的安全性。
在发送方将自身公钥发送给接收方后,接收方可利用发送方的公钥将自身公钥进行加密后,发送给发送方,或者接收方也可以利用安全密钥作为对称密钥,应用预设的对称加密算法对自身公钥进行加密后,发送给发送方,实现非对称密钥的交换,可对需加密的数据进行加密后再传输,保证通信安全。
可选地,所述预设的对称加密算法为AES加密算法。
步骤S412:接收方应用公钥将待传输的对称密钥进行加密后,发送至发送方。
接收方在收到发送方加密后的公钥后,用安全密钥对其进行解密获得公钥明文,再利用公钥明文,将待传输的对称密钥加密后,发送给发送方。
其中,待传输的对称密钥为接收方预先存储的对称密钥。
通过安全密钥,建立安全的RSA密钥对,再通过RSA密钥对,对预置的待传输的对称密钥进行加密后传输,结合RSA加密算法保密性强与AES加密算法加解密速度快的优点,兼顾通信安全与通信效率。
步骤S50:基于对称密钥,应用AES加密算法对待传输数据进行加密;将对称密钥作为AES加密算法的加解密密钥,对待传输数据进行加解密。
步骤S60:发送方将加密后的待传输数据广播至接收方。
在发送方与接收方在建立通信连接后,首先协商建立安全密钥,实现在完全没有对方任何预先信息的条件下,通过不安全信道创建起一个安全密钥,用于后续数据或密钥的加密传输,进而保证安全通信,此外,通过使用AES加密算法,确保一定的通信效率。
可选地,如图7,步骤S30之后还包括如下步骤:
步骤S70:当待传输数据的数据量小于或等于预设值时,发送方确定自身的RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;若待传输数据的数据量较小,则为增强保密性,可对待传输数据进行RSA加密。
发送方自身的RSA密钥对,可以为之前生成,存储于发送方的,可以为当前生成的,即当前基于RSA算法生成RSA密钥对,基于RSA算法生成公钥和私钥,发送方选择两个随机大素数p和q,首先,计算n和L,其中,n=p×q,L=lcm(p-1,q-1),lcm是求最小公倍数,然后随机选择一个整数e,其中,e满足1<e<L且gcd(e,L)=1,gcd是求最大公约数,最后计算d,其中,d满足1<d<L且e×d mod L =1。发送方将(e,n)作为公钥,将(d,n)作为私钥,将公钥发送给接收方,将私钥自己保留。
步骤S80:发送方以所述安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;预设的对称加密算法可为AES加密算法。
步骤S90:发送方应用私钥将待传输数据进行RSA加密后,广播至接收方。
因私钥由发送方自己保管,发送方公钥发送给通信对方(即接收方),因此,应用私钥对待传输数据进行加密,得到加密后的待传输数据,广播至多个接收方,由接收方使用发送方公钥对加密后的待传输数据进行解密。
通过发送方与接收方在建立通信连接后,首先协商建立安全密钥,实现在完全没有对方任何预先信息的条件下,通过不安全信道创建起一个安全密钥,用于后续数据/密钥的加密传输,发送方以安全密钥作为对称密钥,应用预设的对称加密算法,将自身公钥加密后广播至接收方,实现公钥的保密传输,进行安全的密钥交换,使得发送方签名的验证不被泄露,还使得将RSA算法应用于广播模式时,应用私钥加密公钥解密也可保证数据安全传输,保证后续通信过程中的数据信息安全。
此外,根据传输数据的数据量确定具体的加密方式,当待传输数据的数据量较小时,以RSA算法对待传输数据进行加密传输,该种方法由于应用不同的密钥对,加密方式更加安全;当数据量较大时,该种加密方式耗时将快速增加,此时不适用RSA算法,因AES对称加密算法加密速度较快,所以,应用AES对称加密算法来实现数据的加密传输。如此,可兼顾通信速率与保密性。
在本发明的一实施方式中,通过DH密钥交换协议使得通信主体(发送方/接收方)得到相同的对称密钥,将此密钥作为AES对称密钥,应用AES加密算法对待传输数据进行加密传输。因DH密钥交换协议可使发送方与接收方在完全没有对方任何预先信息的条件下或密钥对更换缺失等情况下,通过不安全信道创建起一个安全密钥,进而在保证AES加密算法密钥安全性的同时,又可充分利用AES加密算法加密速度快的优点。
在本发明的另一实施方式中,通过DH密钥交换协议使得通信主体(发送方/接收方)得到相同的对称密钥,应用该对称密钥对通信主体的公钥进行对称加密传输,使得通信主体拥有对方的公钥,再基于公钥应用RSA对预置的对称密钥进行加密传输,应用该预置的对称密钥对待传输数据进行加密传输。
在本发明的又一实施方式中,根据待传输数据的数据量大小,确定待传输数据的加密方式。具体地,发送方需将待传输数据广播至多个接收方,可首先由发送方与多个接收方协商建立安全密钥,若待传输数据量较大,则以安全密钥对待传输数据进行对称加密后广播至多个接收方,若待传输数据量较小,则对待传输数据进行RSA加密,具体地,先以安全密钥对RSA公钥进行加密后,广播至多个接收方,发送方以自身RSA私钥对待传输数据进行RSA加密,然后广播至接收方,以供接收方使用发送方的RSA公钥解密其发送的数据。

Claims (7)

1.一种基于DH和RSA加密算法的加密方法,其特征在于所述方法包括如下步骤:
步骤一、发送方基于预设的密钥交换算法与接收方协商建立安全密钥,具体步骤如下:
(1)发送方随机取一素数和一整数,生成一个小于素数的第一随机数,并基于第一预设算法计算获得第一结果,将素数、整数以及第一结果广播给多个接收方,其中,第一预设算法为YAi=Ei^XAimodPi,YAi为第一结果,Pi为素数,Ei为整数,XAi为第一随机数;
(2)各个接收方收到素数、整数以及第一结果后,各自分别生成一小于素数的随机数,并基于第一结果与各自的随机数计算获得各自的第二结果,将各自计算获得的第二结果发送给发送方;
(3)发送方接收到各接收方发送的第二结果后,计算与各接收方对应的第一密钥,基于各接收方对应的第一密钥进行归一化处理后得到安全密钥,并基于第二结果确定各接收方对应密钥计算因子,将密钥计算因子分别发送到对应的接收方;
(4)各接收方基于自身的随机数和第一结果,计算自身的第二密钥,并将自身的第二密钥与接收的密钥计算因子进行异或操作后,得到安全密钥;
步骤二、发送方获取待传输数据,并统计待传输数据的数据量;
步骤三、当待传输数据的数据量大于预设值时,发送方基于安全秘钥确定对称密钥;
步骤四、基于对称密钥,应用AES加密算法对待传输数据进行加密;
步骤五、发送方将加密后的待传输数据广播至接收方。
2.根据权利要求1所述的基于DH和RSA加密算法的加密方法,其特征在于所述步骤一中,预设的密钥交换算法为DH密钥交换算法。
3.根据权利要求1所述的基于DH和RSA加密算法的加密方法,其特征在于所述步骤二中,发送方获取待传输数据,并统计待传输数据的数据量之后还包括如下步骤:
(1)当待传输数据的数据量小于或等于预设值时,发送方确定自身的RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;
(2)发送方以安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;
(3)发送方应用私钥将待传输数据进行RSA加密后,广播至接收方。
4.根据权利要求3所述的基于DH和RSA加密算法的加密方法,其特征在于所述预设的对称加密算法为AES加密算法。
5.根据权利要求1所述的基于DH和RSA加密算法的加密方法,其特征在于所述步骤三中,发送方基于安全秘钥确定对称密钥的方法如下:发送方将安全秘钥作为对称密钥。
6.根据权利要求1所述的基于DH和RSA加密算法的加密方法,其特征在于所述步骤三中,发送方基于安全秘钥确定对称密钥的方法如下:
(1)发送方确定自身RSA密钥对,其中,所述RSA密钥对包括公钥和私钥;
(2)发送方以安全密钥作为对称密钥,应用预设的对称加密算法对公钥进行加密,将加密后的公钥广播至接收方;
(3)接收方应用公钥将待传输的对称密钥进行加密后,发送至发送方。
7.根据权利要求6所述的基于DH和RSA加密算法的加密方法,其特征在于所述预设的对称加密算法为AES加密算法。
CN202110408067.9A 2021-04-15 2021-04-15 一种基于dh和rsa加密算法的加密方法 Active CN113242122B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110408067.9A CN113242122B (zh) 2021-04-15 2021-04-15 一种基于dh和rsa加密算法的加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110408067.9A CN113242122B (zh) 2021-04-15 2021-04-15 一种基于dh和rsa加密算法的加密方法

Publications (2)

Publication Number Publication Date
CN113242122A CN113242122A (zh) 2021-08-10
CN113242122B true CN113242122B (zh) 2022-11-25

Family

ID=77128216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110408067.9A Active CN113242122B (zh) 2021-04-15 2021-04-15 一种基于dh和rsa加密算法的加密方法

Country Status (1)

Country Link
CN (1) CN113242122B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615054B (zh) * 2022-03-09 2023-12-15 四川中电启明星信息技术有限公司 一种基于码表的动态加密传输方法
CN115766181B (zh) * 2022-11-09 2024-05-03 哈尔滨工业大学 基于区块链的空间环境地面模拟装置数据共享架构及方法
CN117201191B (zh) * 2023-11-06 2024-01-02 戎行技术有限公司 一种数据传输的动态加密方法及系统
CN117435226B (zh) * 2023-12-22 2024-04-16 深圳市法本信息技术股份有限公司 车载电子控制单元的数据刷写方法、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487502A (zh) * 2015-09-02 2017-03-08 国网智能电网研究院 一种基于口令的轻量级密钥协商方法
CN108228138A (zh) * 2017-12-28 2018-06-29 南京航空航天大学 一种sidh中特殊域快速模乘的方法
CN112422276A (zh) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 一种多方密钥协商的实现方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761305A (en) * 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
CN104506318B (zh) * 2014-12-05 2018-05-25 中国科学院信息工程研究所 基于Trivium算法的数据传输加密和解密的方法
EP3402118A1 (en) * 2017-05-10 2018-11-14 Koninklijke Philips N.V. Key agreement devices and method
CN107204997A (zh) * 2017-08-02 2017-09-26 郑州云海信息技术有限公司 管理云存储数据的方法和装置
CN110011795B (zh) * 2019-04-12 2021-07-30 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN109995530B (zh) * 2019-05-09 2022-02-15 东南大学 一种适用于移动定位系统的安全分布式数据库交互系统
CN111460455B (zh) * 2020-03-20 2022-01-28 北京智芯微电子科技有限公司 自加密固态硬盘的密钥协商方法、安全引导方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487502A (zh) * 2015-09-02 2017-03-08 国网智能电网研究院 一种基于口令的轻量级密钥协商方法
CN108228138A (zh) * 2017-12-28 2018-06-29 南京航空航天大学 一种sidh中特殊域快速模乘的方法
CN112422276A (zh) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 一种多方密钥协商的实现方法及系统

Also Published As

Publication number Publication date
CN113242122A (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
CN113242122B (zh) 一种基于dh和rsa加密算法的加密方法
JP5349619B2 (ja) アイデンティティベースの認証鍵共有プロトコル
CN105721502A (zh) 一种用于浏览器客户端和服务器的授权访问方法
Ahmed et al. Diffie-Hellman and its application in security protocols
EP1905186A2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
CN111756529B (zh) 一种量子会话密钥分发方法及系统
CN104219041A (zh) 一种适用于移动互联网的数据传输加密方法
IL202726A (en) A system and method for creating and sending scattered and multi-purpose information
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及系统
CN113852460B (zh) 一种基于量子密钥增强工作密钥安全性的实现方法和系统
CN112637136A (zh) 加密通信方法及系统
CN111756528B (zh) 一种量子会话密钥分发方法、装置及通信架构
CN103118363A (zh) 一种互传秘密信息的方法、系统、终端设备及平台设备
CN113612797A (zh) 一种基于国密算法的Kerberos身份认证协议改进方法
CN111478911A (zh) 一种采用轻量化密钥交换算法的即时通信加密方法
WO2020042023A1 (zh) 一种即时通信的数据加密方法及装置
WO2009109133A1 (zh) 恢复连接的方法和装置
CN104618362A (zh) 一种资源服务器和客户端交互会话消息的方法及装置
KR100456624B1 (ko) 이동 통신망에서의 인증 및 키 합의 방법
Panda et al. A modified PKM environment for the security enhancement of IEEE 802.16 e
CN102739660A (zh) 一种单点登录系统的密钥交换方法
Runde et al. Performance evaluation of an it security layer in real-time communication
Elmubark et al. Fast and secure generating and exchanging a symmetric keys with different key size in TVWS
CN113242121B (zh) 一种基于组合加密的安全通信方法
CN114050897A (zh) 一种基于sm9的异步密钥协商方法及装置

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