CN111010277A - 密钥交换方法、装置和存储介质、计算装置 - Google Patents

密钥交换方法、装置和存储介质、计算装置 Download PDF

Info

Publication number
CN111010277A
CN111010277A CN201911381590.6A CN201911381590A CN111010277A CN 111010277 A CN111010277 A CN 111010277A CN 201911381590 A CN201911381590 A CN 201911381590A CN 111010277 A CN111010277 A CN 111010277A
Authority
CN
China
Prior art keywords
key
elliptic curve
calculating
opposite terminal
curve equation
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
Application number
CN201911381590.6A
Other languages
English (en)
Other versions
CN111010277B (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.)
Beijing Haitai Fangyuan High Technology Co Ltd
Original Assignee
Beijing Haitai Fangyuan High 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 Beijing Haitai Fangyuan High Technology Co Ltd filed Critical Beijing Haitai Fangyuan High Technology Co Ltd
Priority to CN201911381590.6A priority Critical patent/CN111010277B/zh
Publication of CN111010277A publication Critical patent/CN111010277A/zh
Application granted granted Critical
Publication of CN111010277B publication Critical patent/CN111010277B/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • 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/0838Key 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供了一种密钥交换方法、装置和存储介质、计算装置,涉及信息安全技术领域。该方法包括:接收对端设备发送的RB;若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA;若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。这样,密钥交换双方执行步骤相同且算法简单,对于密钥交换的双方来说便捷高效。而且信息传递只有一次,节省由于多次信息交互导致的处理资源消耗,能够提高协商密钥的效率。此外,在传输过程中,即使截获到RB,也无法求得共享密钥,从而保证了共享密钥的安全。

Description

密钥交换方法、装置和存储介质、计算装置
技术领域
本申请涉及信息安全技术领域,尤其涉及一种密钥交换方法、装置和存储介质、计算装置。
背景技术
公钥密码的诞生成为密码学上革命性的事件,其解决了传统对称密码难以解决的密钥交换协议问题。目前,公钥密码主要有RSA、ECC/SM2、IBC/SM9等,相应地,也出现了诸多密钥交换算法,例如,基于RSA的DH(Diffie-Hellman)密钥交换算法、基于ECC的国密版的SM2密钥交换算法等。
RSA和ECC的密钥交换算法中密钥交换双方,执行的操作通常相同,但是SM2密钥交换标准算法双方执行的步骤不对称,且算法设计复杂,这对于密钥交换的双方来说不方便,且影响实现效率。并且,双方交互繁琐,信息传递次数较多,也不利于保护共享密钥。
发明内容
本申请实施例提供了一种密钥交换方法、装置和存储介质、计算装置。
第一方面,本申请实施例提供了一种密钥交换方法,该方法包括:
接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
进一步地,接收对端设备发送的RB之前,所述方法还包括:
随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶且n为素数;
计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
进一步地,根据下述公式计算QA
QA=[rA]RB+[dA]PB=(xA,yA);
根据下述公式计算QB
QB=[rB]RA+[dB]PA=(xB,yB)。
进一步地,所述指定参数中与对端设备相同的且用于计算共享密钥的参数,包括:
ZA:关于本侧设备标识IDA、本侧参数RA和本侧设备公钥PA的杂凑值;
ZB:关于对端设备标识IDB、对端参数RB和对端设备公钥PB的杂凑值。
进一步地,所述方法还包括:
若确定RB不满足椭圆曲线方程,则确定双方密钥交换失败;和/或,
若确定QB不满足椭圆曲线方程,则确定双方密钥交换失败。
第二方面,本申请实施例提供了一种密钥交换装置,所述装置包括:
接收模块,用于接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
第一计算模块,用于若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
第二计算模块,用于若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
进一步地,所述装置还包括:
随机模块,用于接收对端设备发送的RB之前,随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶且n为素数;
第三计算模块,用于计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
发送模块,用于将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
进一步地,根据下述公式计算QA
QA=[rA]RB+[dA]PB=(xA,yA);
根据下述公式计算QB
QB=[rB]RA+[dB]PA=(xB,yB)。
进一步地,所述指定参数中与对端设备相同的且用于计算共享密钥的参数,包括:
ZA:关于本侧设备标识IDA、本侧参数RA和本侧设备公钥PA的杂凑值;
ZB:关于对端设备标识IDB、对端参数RB和对端设备公钥PB的杂凑值。
进一步地,所述装置还包括:
逻辑处理模块,用于若确定RB不满足椭圆曲线方程,则确定双方密钥交换失败;和/或,若确定QB不满足椭圆曲线方程,则确定双方密钥交换失败。
第三方面,本申请另一实施例还提供了一种计算装置,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任一密钥交换方法。
第四方面,本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的任一密钥交换方法。
本申请实施例提供的密钥交换方法、装置和存储介质,密钥交换双方执行步骤相同且算法设计简单,所以对于密钥交换的双方来说计算方便且易实现。而且信息传递只有一次,节省由于多次信息交互导致的处理资源消耗,提高协商密钥的效率。此外,在传输过程中,即使截获到RA和RB,也无法求得共享密钥,从而保证了共享密钥的安全。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为SM2密钥交换标准算法的流程示意图;
图2为本申请实施例中密钥交换方法流程示意图;
图3为本申请实施例中密钥交换方法另一流程示意图;
图4为本申请实施例中密钥交换方法应用场景示意图;
图5为本申请实施例中密钥交换装置示意图;
图6为根据本申请实施方式的计算装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,在介绍本申请的密钥交换算法之前,首先结合图1介绍SM2密钥交换标准算法。
首先,对SM2密钥交换标准算法中涉及的符号进行说明:
A、B:使用公钥密码系统的两个用户。
a、b:Fq中的元素,它们定义Fq上的一条椭圆曲线E。
dA:用户A的私钥。
dB:用户B的私钥。
E(Fq):Fq上椭圆曲线E的所有有理点(包括无穷远点O)组成的集合。
Fq:包含q个元素的有限域。
G:椭圆曲线的一个基点,其阶为素数。
Hash():密码杂凑函数。
Hv():消息摘要长度为v比特的密码杂凑函数。
h:余因子,这里h=1。
IDA、IDB:用户A和用户B的可辨别标识。
K、KA、KB:密钥交换协议商定的共享秘密密钥。
KDF():密钥派生函数。
Mod n:模n运算。
n:基点G的阶(n是#E(Fq)的素因子)。
O:椭圆曲线上无穷远点或零点,是椭圆曲线加法群的单位元。
PA:用户A的公钥。
PB:用户B的公钥。
q:有限域Fq中元素的数目。
x||y:x与y的拼接,其中x、y可以是比特串或字节串。
ZA:关于用户A的可辨别标识、部分椭圆曲线系统参数和用户A公钥的杂凑值。
ZB:关于用户B的可辨别标识、部分椭圆曲线系统参数和用户B公钥的杂凑值。
#E(Fq):E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
[x,y]:大于或等于x且小于或等于y的整数的集合。
&:两个整数的按比特与运算。
Figure BDA0002342399620000061
顶函数,大于或等于x的最小整数。
Figure BDA0002342399620000062
底函数,小于或等于x的最大整数。
SM2密钥交换标准算法
假设用户A的公钥和私钥分别为PA、dA,用户B的公钥和私钥分别为PB、dB,用户的私钥仅由该用户本人所拥有,用户的公钥公开,其他用户可以获知,并设用户A和B协商获得密钥数据的长度为klen比特,用户A为发起方,用户B为响应方。
用户A和B双方为了获得相同的密钥,应实现如下运算步骤:
Figure BDA0002342399620000071
用户A:
第1步即A1:用随机数发生器产生随机数rA∈[1,n-1];
第2步即A2:计算椭圆曲线点RA=[rA]G=(x1,y1);
第3步即A3:将RA发送给用户B;
用户B:
第1步即B1:用随机数发生器产生随机数rB∈[1,n-1];
第2步即B2:计算椭圆曲线点RB=[rB]G=(x2,y2);
第3步即B3:从RB中取出域元素x2,计算
Figure BDA0002342399620000072
第4步即B4:计算
Figure BDA0002342399620000073
第5步即B5:验证RA是否满足椭圆曲线方程,若不满足则协商失败;否则从RA中取出域元素x1,计算
Figure BDA0002342399620000074
第6步即B6:计算椭圆曲线点
Figure BDA0002342399620000075
若V是无穷远点,则B协商失败;
第7步即B7:计算KB=KDF(xV||yV||ZA||ZB,klen);
第8步即B8(选项):计算SB=Hash(0x02||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2));
第9步即B9:将RB、(选项SB)发送给用户A;
用户A:
第4步即A4:从RA中取出域元素x1,计算
Figure BDA0002342399620000076
第5步即A5:计算
Figure BDA0002342399620000077
第6步即A6:验证RB是否满足椭圆曲线方程,若不满足则协商失败;否则从RB中取出域元素x2,计算
Figure BDA0002342399620000081
第7步即A7:计算椭圆曲线点
Figure BDA0002342399620000082
若U是无穷远点,则A协商失败;
第8步即A8:计算KA=KDF(xU||yU||ZA||ZB,klen);
第9步即A9(选项):计算S1=Hash(0x02||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)),并检验S1=SB是否成立,若等式不成立则从B到A的密钥确认失败;
第10步即A10(选项):计算SA=Hash(0x03||yU||Hash(xU||ZA||ZB||x1||y1||x2||y2)),并将SA发送给用户B。
用户B:
第10步即B10(选项):
计算S2=Hash(0x03||yV||Hash(xV||ZA||ZB||x1||y1||x2||y2)),并检验S2=SA是否成立,若等式不成立则从A到B的密钥确认失败。
可见,上述基于SM2密钥交换标准算法中,密钥交换双方执行的步骤不对称,且算法设计复杂,这对于密钥交换的双方来说不方便,且影响实现效率。并且,双方交互繁琐,信息传递次数较多,也不利于保护共享密钥。
有鉴于此,本申请提出了一种密钥交换方案,基于SM2的密钥交换算法设计具有安全可靠性、正确有效性、便捷高效性等特性的算法,密钥交换双方执行步骤相同且算法设计简单,所以对于密钥交换的双方来说计算方便且易实现。而且信息传递只有一次,节省由于多次信息交互导致的处理资源消耗,提高协商密钥的效率。此外,在传输过程中,即使截获到RA和RB,也无法求得共享密钥,从而保证了共享密钥的安全。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了进行密钥交换,本申请实施例提供一种密钥交换方法、装置和存储介质。为了更好的理解本申请实施例提供的技术方案,这里对该方案的基本原理做一下简单说明:
接收对端设备发送的RB;若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
本申请实施例中提供的密钥交换方法中,无论发起方或响应方,密钥交换的双方执行的操作相同。通过上述方法,由于双方操作相同,所以对于密钥交换的双方来说计算方便。而且信息传递只有一次,节省由于多次信息交互导致的处理资源消耗,提高协商密钥的效率。此外,在传输过程中,即使截获到RB,也无法求得共享密钥,从而保证了共享密钥的安全。
如下将结合图2-3的方法流程图来对本申请的密钥交换方案进行详细说明。
如图2所示,其为本申请实施例中密钥交换方法的流程示意图。该流程包括以下步骤:
步骤201:接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
步骤202:若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
步骤203:若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
通过上述方法,密钥交换双方之间的信息传递只有一次,能够节省由于多次信息交互导致的处理资源消耗,提高协商密钥的效率。此外,设计了基于rA、RB、dA、PB计算QA来进行密钥协商,对于密钥交换的双方来说计算方便,使得密钥交互的实现更加便捷高效。并且,在密钥交换/协商过程中,算法设计增加了交换双方的公钥和私钥的绑定的考量,在传输过程中,即使截获到RA和RB,也无法求得共享密钥,从而保证了共享密钥的安全,具有更高的安全性,可防止假冒。
进一步地,接收对端设备发送的RB之前,所述方法还包括:
步骤01:随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶n为素数;
步骤02:计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
步骤03:将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
步骤04:若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
步骤05:若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
通过上述方法,密钥交换中的双方执行相同操作,对于密钥交换的双方来说计算方便,并且使用范围广泛。
如图3所示,其为本实施例中密钥交换方法的流程示意图。其中,假设密钥交换双方为用户A和用户B,用户A的公钥和私钥分别为PA、dA,用户B的公钥和私钥分别为PB、dB,用户的私钥仅由该用户本人所拥有,用户的公钥公开,其他用户可以获知,并设用户A和B协商获得密钥数据的长度为klen比特,用户A为发起方且对应于本侧设备,用户B为响应方且对应于对端设备。
用户A和B双方为了获得相同的密钥,实现如下运算步骤:
用户A:
A1:用随机数发生器产生随机数rA∈[1,n-1];
A2:计算椭圆曲线点RA=[rA]G;
A3:将RA发送给用户B;
A4:验证RB是否满足椭圆曲线方程,若不满足则协商失败,否则继续下面步骤;
A5:计算QA=[rA]RB+[dA]PB=(xA,yA);
A6:验证QA是否满足椭圆曲线方程,若不满足则协商失败,否则继续下面步骤;
A7:计算KA=KDF(xA||yA||ZA||ZB,klen).
用户B:
B1:用随机数发生器产生随机数rB∈[1,n-1];
B2:计算椭圆曲线点RB=[rB]G;
B3:将RB发送给用户A;
B4:验证RA是否满足椭圆曲线方程,若不满足则协商失败,否则继续下面步骤;
B5:计算QB=[rB]RA+[dB]PA=(xB,yB);
B6:验证QB是否满足椭圆曲线方程,若不满足则协商失败,否则继续下面步骤;
B7:计算KB=KDF(xB||yB||ZA||ZB,klen).
应当理解的是,上述方法步骤中,KDF的计算与SM2的密钥交换算法标准相同,在此不再赘述。
如图3所示,在上述步骤中,用户A和用户B执行的操作和使用的数学函数相同,也即用户A和用户B执行相同的操作,双方操作具有对称性。
在上述密钥交换过程中,用户A、用户B双方的私钥与用户A、用户B双方各自产生的随机数均不在网络中传输,双方交互数据少,A方仅传输RA,B方仅传输RB。在传输过程中,截获者即使得到了RA或RB,根据椭圆曲线密码学原理,也无法由RA=[rA]G或RB=[rB]G求得rA或rB,从而保证了共享密钥的安全。
此外,A方计算QA=[rA]RB+[dA]PB和B方计算QB=[rB]RA+[dB]PA,两个算式中分别包含了用户A的私钥和用户B的私钥,而用户的私钥仅由该用户本人所拥有,如果第三方用户假冒A方或B方与对方进行密钥交换将难以得到相同的密钥。由此,算法设计增加了对交互双方的公钥和私钥的绑定的考量,从而可以防止第三方假冒,确保了密钥交换安全可靠,具有更高的安全性。
基于共享密钥的交换要求,协商密钥的双方各自得到的共享密钥KA和KB是必须相同的。这里对本申请实施例提供的方案中确实得到相同的密钥进行证明。
本申请实施例中,由于交互双方在计算共享密钥KA或KB时所使用的函数和指定参数部分相同而只有QA或QB对应的坐标不同,因此,证明KA=KB,只需要证明QA=QB
事实上,由于RA=[rA]G,RB=[rB]G,而且用户的公钥、私钥具有下列关系:PA=[dA]G,PB=[dB]G。
因此,根据本申请的算法设计,可以得到下式:
QA=[rA]RB+[dA]PB=[rA*rB]G+[dA*dB]G=(xA,yA);
QB=[rB]RA+[dB]PA=[rB*rA]G+[dB*dA]G=(xB,yB);
可见QA=QB,双方交换的密钥是相同的,基于此,双方分别计算得到的共享密钥KA=KB
由此,证明本申请如上所述的密钥交换方案正确有效,能够得到相同的密钥。
通过上述密钥交换方案,密钥交换双方操作具有对称性,并且只有一次信息传输,密钥交换算法也更加简洁,在信息传输过程中即使被截获,也无法求得rB和rA,从而保证了共享密钥的安全。
应当理解的是,上述计算QA=[rA]RB+[dA]PB或QB=[rB]RA+[dB]PA的密钥交换算法仅是对本申请的算法示例而非任何限定。在其它实施例中,该算法还可以有其它实现形式或变形。例如,可以设计QA=[c1*rA]RB+[c2*dA]PB;QB=[c1*rB]RA+[c2*dB]PA;其中,c1、c2可以为固定不变的常数且具体数值可以根据需要进行设置,本申请对此不做限制。与前述论证相似,这样得到的QA与QB也是相同的,密钥交换算法同样正确有效。
如图4所示,其为本申请实施例中密钥交换方法的应用场景示意图。该场景中包括用户10的终端设备11,用户20的终端设备21。
用户10通过终端设备11与用户20的终端设备21进行密钥交换,则终端设备11首先随机产生随机数rA。然后计算RA=[rA]G,并将计算得到的RA发送给终端设备21。同样的,终端设备21随机产生随机数rB。然后计算RB=[rB]G,并将计算得到的RB发送给终端设备11。
终端设备11接收终端设备21发送的RB,若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA;若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与终端设备21相同。同样地,终端设备21收终端设备11发送的RA,若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB;若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与终端设备11相同。
通过上述场景,可以看出终端设备11和终端设备21执行的操作相同。其中,终端设备11和终端设备21可通过通信网络进行通信连接,该网络可以为局域网、广域网等,当然也可以通过无线连接。终端设备11和终端设备21可以为手机、平板电脑、笔记本电脑、个人计算机等。
进一步的,指定参数中与对端设备相同的且用于计算共享密钥的参数,可以包括:ZA:关于本侧设备标识IDA、本侧参数RA和本侧设备公钥PA的杂凑值;ZB:关于对端设备标识IDB、对端参数RB和对端设备公钥PB的杂凑值。其中,用户A和B协商获得密钥数据的长度为klen比特,共享密钥的长度可以不固定,且可以根据需要改变,使用范围广泛。
该方法还包括,若确定RA或RB不满足椭圆曲线方程,则确定双方密钥交换失败。和/或,若确定QA或QB不满足椭圆曲线方程,则确定双方密钥交换失败。这样,在信息传输过程中发现错误,通过此验证结果,则可以结束密钥交换操作,不会带来损失。
基于相同的发明构思,本申请实施例中还提供一种密钥交换装置,如图5所示,其为密钥交换装置示意图。该装置包括:
接收模块501,用于接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
第一计算模块502,用于若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
第二计算模块503,用于若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
进一步的,所述装置还包括:
随机模块,用于接收对端设备发送的RB之前,随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶且n为素数;
第三计算模块,用于计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
发送模块,用于将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
进一步地,根据下述公式计算QA
QA=[rA]RB+[dA]PB=(xA,yA);
根据下述公式计算QB
QB=[rB]RA+[dB]PA=(xB,yB)。
进一步地,所述指定参数中与对端设备相同的且用于计算共享密钥的参数,包括:
ZA:关于本侧设备标识IDA、本侧参数RA和本侧设备公钥PA的杂凑值;
ZB:关于对端设备标识IDB、对端参数RB和对端设备公钥PB的杂凑值。
进一步地,所述装置还包括:
逻辑处理模块,用于若确定RB不满足椭圆曲线方程,则确定双方密钥交换失败;和/或,若确定QB不满足椭圆曲线方程,则确定双方密钥交换失败。
在介绍了本申请示例性实施方式的密钥交换方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的密钥交换方法中的步骤。例如,处理器可以执行如图1、2、3中所示的步骤。
下面参照图6来描述根据本申请的这种实施方式的计算装置130。图6显示的计算装置130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算装置130以通用计算装置的形式表现。计算装置130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置130交互的设备通信,和/或与使得该计算装置130能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,计算装置130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于计算装置130的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的密钥交换方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的密钥交换方法中的步骤,例如,计算机设备可以执行如图1、2、3中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于密钥交换的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种密钥交换方法,其特征在于,所述方法包括:
接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
2.根据权利要求1所述的方法,其特征在于,接收对端设备发送的RB之前,所述方法还包括:
随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶且n为素数;
计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
3.根据权利要求1或2所述的方法,其特征在于,
根据下述公式计算QA
QA=[rA]RB+[dA]PB=(xA,yA);
根据下述公式计算QB
QB=[rB]RA+[dB]PA=(xB,yB)。
4.根据权利要求1或2所述的方法,其特征在于,所述指定参数中与对端设备相同的且用于计算共享密钥的参数,包括:
ZA:关于本侧设备标识IDA、本侧参数RA和本侧设备公钥PA的杂凑值;
ZB:关于对端设备标识IDB、对端参数RB和对端设备公钥PB的杂凑值。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若确定RB不满足椭圆曲线方程,则确定双方密钥交换失败;和/或,
若确定QB不满足椭圆曲线方程,则确定双方密钥交换失败。
6.一种密钥交换装置,其特征在于,所述装置包括:
接收模块,用于接收对端设备发送的RB;其中,RB=[rB]G,rB为对端设备产生的随机数,rB∈[1,n-1],G是椭圆曲线的基点,n为基点G的阶且n为素数;
第一计算模块,用于若确定RB满足椭圆曲线方程,则基于rA、RB、dA、PB计算QA,其中,rA为本侧设备产生的随机数,dA为本侧设备的私钥,PB为对端设备的公钥;
第二计算模块,用于若确定QA满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KA,其中,指定参数中除QA对应的坐标(xA,yA)外其它用于计算共享密钥的参数与对端设备相同。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
随机模块,用于接收对端设备发送的RB之前,随机产生随机数rA;其中,rA∈[1,n-1],n为基点G的阶且n为素数;
第三计算模块,用于计算RA;其中,RA=[rA]G,G是椭圆曲线的基点;
发送模块,用于将计算得到的RA发送给所述对端设备,以使对端设备根据RA执行如下操作:
若确定RA满足椭圆曲线方程,则基于rB、RA、dB、PA计算QB,其中,rB为对端设备产生的随机数,dB为对端设备的私钥,PA为本侧设备的公钥;
若确定QB满足椭圆曲线方程,则根据KDF密钥派生函数以及指定参数生成共享密钥KB,其中,指定参数中除QB对应的坐标(xB,yB)外其它用于计算共享密钥的参数与本侧设备相同。
8.根据权利要求6或7所述的装置,其特征在于,
根据下述公式计算QA
QA=[rA]RB+[dA]PB=(xA,yA);
根据下述公式计算QB
QB=[rB]RA+[dB]PA=(xB,yB)。
9.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-5中任一权利要求所述的方法。
10.一种计算装置,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5中任一权利要求所述的方法。
CN201911381590.6A 2019-12-27 2019-12-27 密钥交换方法、装置和存储介质、计算装置 Active CN111010277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911381590.6A CN111010277B (zh) 2019-12-27 2019-12-27 密钥交换方法、装置和存储介质、计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911381590.6A CN111010277B (zh) 2019-12-27 2019-12-27 密钥交换方法、装置和存储介质、计算装置

Publications (2)

Publication Number Publication Date
CN111010277A true CN111010277A (zh) 2020-04-14
CN111010277B CN111010277B (zh) 2021-06-25

Family

ID=70119289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911381590.6A Active CN111010277B (zh) 2019-12-27 2019-12-27 密钥交换方法、装置和存储介质、计算装置

Country Status (1)

Country Link
CN (1) CN111010277B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615107A (zh) * 2020-05-18 2020-09-01 南京南瑞信息通信科技有限公司 一种数据交互方法、终端及系统
CN113254968A (zh) * 2021-06-04 2021-08-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc密钥交换方法、系统、网络设备及存储介质
CN113572607A (zh) * 2021-08-11 2021-10-29 太原理工大学 一种采用非平衡sm2密钥交换算法的安全通信方法
CN113806771A (zh) * 2021-09-01 2021-12-17 上海兆芯集成电路有限公司 具备椭圆曲线密码算法的处理器及其处理方法
CN115102737A (zh) * 2022-06-15 2022-09-23 交通运输通信信息集团有限公司 面向交通一卡通的esam远程发行方法及系统
CN115174086A (zh) * 2022-07-11 2022-10-11 三未信安科技股份有限公司 基于sm2椭圆曲线的二分之一概率密钥协商方法
CN117811730A (zh) * 2023-12-29 2024-04-02 北京天融信网络安全技术有限公司 国密密钥协商方法、装置、计算设备及可读存储介质
CN117811730B (zh) * 2023-12-29 2024-06-25 北京天融信网络安全技术有限公司 国密密钥协商方法、装置、计算设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107425971A (zh) * 2017-04-25 2017-12-01 深圳奥联信息安全技术有限公司 终端及其无证书的数据加/解密方法和装置
CN109818744A (zh) * 2019-02-27 2019-05-28 矩阵元技术(深圳)有限公司 共享秘密密钥生成方法、装置、计算机设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107425971A (zh) * 2017-04-25 2017-12-01 深圳奥联信息安全技术有限公司 终端及其无证书的数据加/解密方法和装置
CN109818744A (zh) * 2019-02-27 2019-05-28 矩阵元技术(深圳)有限公司 共享秘密密钥生成方法、装置、计算机设备和存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615107A (zh) * 2020-05-18 2020-09-01 南京南瑞信息通信科技有限公司 一种数据交互方法、终端及系统
CN111615107B (zh) * 2020-05-18 2022-07-01 南京南瑞信息通信科技有限公司 一种数据交互方法、终端及系统
CN113254968A (zh) * 2021-06-04 2021-08-13 晶澄微电子(宁波)有限公司 减少模逆计算的ecc密钥交换方法、系统、网络设备及存储介质
CN113572607A (zh) * 2021-08-11 2021-10-29 太原理工大学 一种采用非平衡sm2密钥交换算法的安全通信方法
CN113806771A (zh) * 2021-09-01 2021-12-17 上海兆芯集成电路有限公司 具备椭圆曲线密码算法的处理器及其处理方法
CN115102737A (zh) * 2022-06-15 2022-09-23 交通运输通信信息集团有限公司 面向交通一卡通的esam远程发行方法及系统
CN115102737B (zh) * 2022-06-15 2024-05-14 交通运输通信信息集团有限公司 面向交通一卡通的esam远程发行方法及系统
CN115174086A (zh) * 2022-07-11 2022-10-11 三未信安科技股份有限公司 基于sm2椭圆曲线的二分之一概率密钥协商方法
CN115174086B (zh) * 2022-07-11 2023-06-27 三未信安科技股份有限公司 基于sm2椭圆曲线的二分之一概率密钥协商方法
CN117811730A (zh) * 2023-12-29 2024-04-02 北京天融信网络安全技术有限公司 国密密钥协商方法、装置、计算设备及可读存储介质
CN117811730B (zh) * 2023-12-29 2024-06-25 北京天融信网络安全技术有限公司 国密密钥协商方法、装置、计算设备及可读存储介质

Also Published As

Publication number Publication date
CN111010277B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN111010277B (zh) 密钥交换方法、装置和存储介质、计算装置
WO2021238527A1 (zh) 数字签名生成方法、装置、计算机设备和存储介质
JP6613909B2 (ja) 相互認証方法、認証装置および認証プログラム
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及系统
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
US12010221B2 (en) Method and system for communicating a secret
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
US11374975B2 (en) TLS integration of post quantum cryptographic algorithms
EP2582085A1 (en) Generating implicit certificates
US11716206B2 (en) Certificate based security using post quantum cryptography
US20130091362A1 (en) Generating implicit certificates
US20230299947A1 (en) Computer implemented system and method for sharing a common secret
JP7183242B2 (ja) 格子ベースの暗号鍵生成方法及び電子署名方法
CN109600225B (zh) 一种密钥交换方法、装置和存储介质
CN114037447A (zh) 离线交易的方法和装置
WO2022116175A1 (zh) 数字签名的生成方法、装置和服务器
CN111314080B (zh) 一种基于sm9算法的协同签名方法、装置、介质
CN115883212A (zh) 信息处理方法、装置、电子设备和存储介质
CN109102294A (zh) 信息传输方法和装置
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
JP5578553B2 (ja) 公開鍵暗号技術におけるドメインパラメータの生成
CN117394995A (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