CN111817847A - 基于sike算法的旁路防御方法、装置、电子设备及可读介质 - Google Patents
基于sike算法的旁路防御方法、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN111817847A CN111817847A CN202010553818.1A CN202010553818A CN111817847A CN 111817847 A CN111817847 A CN 111817847A CN 202010553818 A CN202010553818 A CN 202010553818A CN 111817847 A CN111817847 A CN 111817847A
- Authority
- CN
- China
- Prior art keywords
- calculation
- phi
- bit
- algorithm
- ker
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000007123 defense Effects 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 10
- 238000004806 packaging method and process Methods 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 5
- 238000011905 homologation Methods 0.000 abstract 2
- 238000004458 analytical method Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification 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/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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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)
- H04L9/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于SIKE算法的旁路防御方法、装置、电子设备及可读介质,包括:在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算;同源关系φ计算完成后,完成会话密钥协商阶段。本发明对ker(φ)=<P+dQ>的计算做了改进,改进的方法掩盖了SIKE算法在执行ker(φ)=<P+dQ>过程中的旁路泄露。常见旁路攻击方法都有不错的防御效果。
Description
技术领域
本发明涉及到密码学旁路能量分析等领域,尤其涉及一种基于SIKE算法的旁路防御方法、装置、电子设备及可读介质。
背景技术
自1976年Diffie-Hellman(DH)密钥交换机制提出后,公钥密码体制迅速发展,如RSA,ECC等公钥密码算法被广泛使用。然而近年来,随着量子计算技术的发展以及量子算法的深入应用,人们发现公钥密码体制基于的数学问题如大数分解问题,离散对数问题等等,会被量子算法在有限时间内破解。在量子计算机真正实现后,这类算法会变得易于攻破,从而变得不再安全。因此对能够抵抗量子计算机的密码算法的研究就变得十分迫切,通常这些密码算法被称为抗量子密码算法或者后量子密码算法。
目前NIST征集并公布的抗量子密码算法分为5类,分别基于不同的数学问题,有一种基于超奇异同源曲线的抗量子密码算法,由于其密钥长度与其他候选算法相比较短,且其数学基础与传统加密算法中的椭圆曲线(ECC)理论有相关性,因此近期受到的关注日渐增多。
目前美国NIST征集的抗量子密码算法虽然已经进入到第二轮公布环节,但究竟哪个算法最好仍没有最终的结论,同时国内对新公钥密码算法的征集中也存在很多抗量子密码算法,足以证明国内外学术界对抗量子密码算法的重视程度。然而对这些算法的研究与验证必定要在量子计算机真正制造出来之前完成,即对现有的公钥密码算法产生真正威胁之前,要保障新型抗量子密码算法可以安全应用以保障信息安全。因此对抗量子算法进行研究不仅具有先进性,也具有必要性与迫切性。
抗量子密码算法在提出时需要保障理论上的足够安全,既能够抵抗量子计算机的攻击,也能够抵抗传统的密码学攻击方法。但是当其部署在实际的物理平台上的时候,也会与传统算法一样显现出一定的实现安全性问题。目前有两种主流的威胁到实现安全的旁路攻击方法,以被动攻击和主动攻击来分类。通常意义上的被动旁路攻击也叫旁路攻击,其大多是被动地采集物理平台泄露的功耗、电磁、温度等旁路信息并进行分析。而作为主动旁路攻击的故障攻击大多是向物理平台注入特定的故障,通过对错误的密文进行分析。这两种攻击利用算法实现过程中不同平台上的物理泄露,可以经过分析得到算法的密钥等私密信息。
大量的已有工作证明,旁路攻击既能够攻破主流的对称算法,也能够攻破非对称算法,而大部分的抗量子算法也是根据现有的对称或者非对称密码算法原理重新设计的。所以,旁路攻击对目前正在征集和公布中的抗量子密码算法也存在极大的威胁。
传统旁路防御手段多具有普适性,例如给运算过程的中间变量添加掩码,或对某些变量在初始化时随机定义某个值。然而针对新型算法,找到针对性高的防御手段,才能尽量降低由于防御手段的添加而造成的运算性能减弱等负面影响。
发明内容
本发明实施例的目的是提供一种基于SIKE算法的旁路防御方法、装置、电子设备及可读介质,用以解决现有存在的SIKE算法在硬件平台实现过程中,其计算同源问题时可能存在的各种旁路信息泄露问题,以此来保障在利用SIKE算法进行信息加密时的信息安全性。
为了达到上述目的,本发明实施例所采用的技术方案如下:
第一方面,本发明实施例提供一种基于SIKE算法的旁路防御方法,包括:
在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算,ker(φ)=<P+dQ>的计算包括:将d表示为NAF形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
同源关系φ计算完成后,完成会话密钥协商阶段。
进一步地,将d表示为NAF形式,包括:
将d表示成式,其中,di表示NAF形式表示的标量d的某一比特,di属于{-1,0,1},m为d的NAF形式的总比特数;定义NAF(d)函数,该函数为一个迭代函数,每次迭代后得到一个比特z,z为NAF形式表示的d中一个比特di,NAF(d)函数具体实现步骤为:
(1)输入d,若d=0则返回0;
(2)若d≠0,则当d mod 2=0时,z=0;当d mod 2≠0时,z=2–(d mod 4);
(3)最终返回NAF((d–z)/2)||(z);
其中||表示比特的连接,即将比特z连接到前面数字的最后。
进一步地,将d按ω位为一组进行分组,包括:
将NAF形式表示的标量d,从最低比特位开始,每ω位分为一组,表示为(di+ω-1,...di+1,di)。
进一步地,对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算,包括:
T=[T0,T1,T2...Tω]=[Q,[2]Q,[4]Q...[2ω]Q],在下一组进行预计算时,Q的值为前一组的Tω。
进一步地,将ker(φ)=<P+dQ>根据d的分组以及预计算得到的中间变量矩阵T的值进行分段计算,包括:
若Q的x坐标为0,则直接返回ker(φ)=<P+Q>;
若Q的x坐标不为0,在同一个椭圆曲线上随机选取点U,且U≠Q,定义临时变量K(xk,yk)=U,此处xk,yk为临时变量点K的坐标,也即点U的坐标;
随机选取一个标量值λ,将P,Q,K转换为如下形式射影坐标,xp,xQ分别表示点P和Q的坐标:
P=(λXP:λZP)←(xP:1)
Q=(λXQ:λZQ)←(xQ:1)
K=(λXK:λZK)←(xK:1)
根据所述对d的分组(di+ω-1,...di+1,di),计算<P+(di+ω-1,...di+1,di)Q>,具体如下:
将该分组(di+ω-1,...di+1,di)中的比特根据NAF形式,从左至右按各比特的值进行运算,若(di+ω-1,...di+1,di)从右至左第j比特为+1,则执行K=K+Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为-1,则执行K=K-Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为0,则不执行操作;遍历所有比特后,执行K=K-U,最终得到ker(φ)=<P+dQ>=<P+K>。
第二方面,本发明实施例提供一种基于SIKE算法的旁路防御装置,包括:
会话密钥协商前模块,用于在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
防御模块,用于在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算,ker(φ)=<P+dQ>的计算包括:将d表示为NAF形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
会话密钥协商完成模块,用于同源关系φ计算完成后,完成会话密钥协商阶段。
第三方面,本发明实施例提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的方法。
根据以上技术方案,本发明实施例提出一种基于SIKE(supersingular isogenykey encapsulation)算法的旁路防御方法,SIKE算法属于新型后量子密码算法,本方法将SIKE算法进行同源运算使用的密钥进行分组处理,使整个运算过程的执行时间为一常数,该执行时间与密钥无相关性,因此防御了SPA(Simple Power Analysis)。此外由于在分组执行同源运算前的预处理,使得该方法对RPA(Refined Power Analysis),DPA(Differential Power Analysis)等常见旁路攻击方法也有不错的防御效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种基于SIKE算法的旁路防御方法的流程图;
图2为本发明实施例中同源关系计算流程图;
图3为本发明实施例提供的一种基于SIKE算法的旁路防御装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本发明实施例提供的一种基于SIKE算法的旁路防御方法的流程图;本实施例提供的一种基于SIKE算法的旁路防御方法,该方法包括以下步骤:
步骤S101,在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
具体地,该SIKE(supersingular isogeny key encapsulation)算法在加密过程之前,会给通信双方提前公开一条椭圆曲线的参数作为已知信息。此时双方都会按算法描述中的方法得到各自的公钥和私钥。在得到公钥和私钥后,A在对之后使用的会话密钥进行加密时,会利用B的公钥进行加密,而只有知晓密钥的B才能对这条消息进行解密,获取该会话密钥,之后的信息将通过会话密钥进行加密,此时双方都可以通过会话密钥对信息进行加解密。
步骤S103,在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算。
具体地,在利用公钥进行加密的过程中需要计算同源关系φ,我们对计算同源关系φ的硬件实现方法做修改,使其在实现时具备防御旁路攻击的能力。ker(φ)=<P+dQ>的计算包括如下步骤(参考图2):
步骤S1031,将d表示为NAF(Non-Adjacent Form)形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;
具体地,将d表示为NAF形式,包括:
将d表示成形式,其中,di表示NAF形式表示的标量d的某一比特,di属于{-1,0,1},m为d的NAF形式的总比特数;定义NAF(d)函数,该函数为一个迭代函数,每次迭代后得到一个比特z,z为NAF形式表示的d中一个比特di,NAF(d)函数具体实现步骤为:
(1)输入d,若d=0则返回0;
(2)若d≠0,则当d mod 2=0时,z=0;当d mod 2≠0时,z=2–(d mod 4);
(3)最终返回NAF((d–z)/2)||(z);
其中||表示比特的连接,即将比特z连接到前面数字的最后。
这种形式来表示常数时,虽然与二进制类似各比特位属于{-1,0,1},但是比特位为0的多于取值为1或-1的比特位,这会使得该算法在执行时的复杂度降低。因为执行时若该比特为1或-1,则需多执行1次加法运算,而该比特为0时不用。且该表示方法会使得两个非0比特之间至少有1个比特为0。
将d按ω位为一组进行分组,包括:
将NAF形式表示的标量d,从最低比特位开始,每ω位分为一组,表示为(di+ω-1,...di+1,di)。
本实施例中,ω取3,若比特数不足3的倍数,则在高位用0补齐。
步骤S1033,对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;具体地,T=[T0,T1,T2...Tω]=[Q,[2]Q,[4]Q...[2ω]Q],在下一组进行预计算时,Q的值为前一组的Tω。基于上一步ω取3,在预计算环节,每一组T=[T0,T1,T2,T3]=[Q,[2]Q,[4]Q,[8]Q],在下一组进行预计算时,Q的值为前一组的T3,即[8]Q,即下一组的中间变量T=[T0,T1,T2,T3]=[[8]Q,[16]Q,[32]Q,[64]Q]。
步骤S1035,检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
具体地,其中分段计算包括:
若Q的x坐标为0,则直接返回ker(φ)=<P+Q>;
若Q的x坐标不为0,在同一个椭圆曲线上随机选取点U,且U≠Q,定义临时变量K(xk,yk)=U,此处xk,yk为临时变量点K的坐标,也即点U的坐标;
随机选取一个标量值λ,将P,Q,K转换为如下形式射影坐标,xp,xQ分别表示点P和Q的坐标:
P=(λXP:λZP)←(xP:1)
Q=(λXQ:λZQ)←(xQ:1)
K=(λXK:λZK)←(xK:1)
根据所述对d的分组(di+ω-1,...di+1,di),计算<P+(di+ω-1,...di+1,di)Q>,具体如下:
将该分组(di+ω-1,...di+1,di)中的比特根据NAF形式,从左至右按各比特的值进行运算,若(di+ω-1,...di+1,di)从右至左第j比特为+1,则执行K=K+Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为-1,则执行K=K-Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为0,则不执行操作;具体到ω=3时,各标量如何计算的公式表示如下。
D=0,K=K+T0,K=K-T0;
D=1,K=K+T1,K=K-T0;
D=2,K=K+T2,K=K-T1;
D=3,K=K+T2,K=K-T0;
D=4,K=K+T3,K=K-T2;
D=5,K=K+T2,K=K+T0;
D=6,K=K+T3,K=K-T1;
D=7,K=K+T3,K=K-T0;
K=K-U
遍历所有比特后,执行K=K-U,最终得到ker(φ)=<P+dQ>=<P+K>。
最终达到的效果为,在d的每个3比特为一组的分组中,都有且仅有两次点加操作,这将掩盖算法执行的时间长度与私钥d的相关性以及减弱功耗或电磁辐射信号泄漏的旁路信息强度。最终得到核:ker(φ)=<P+dQ>=<P+K>后可以进行后续SIKE算法的运算。
在此过程中,这种分段计算的方法掩盖了SIKE算法在执行ker(φ)=<P+dQ>过程中的旁路泄露。此方法在ω取3时,每个分组最多仅执行两次运算,ω取值越大,每次分组要执行的运算可能越多,因此在本实施例中我们取3,且取3时对旁路攻击的防御效果最好。
步骤S105,同源关系φ计算完成后,完成会话密钥协商阶段。
由于在硬件平台上实现算法在执行某些特定操作时,硬件会泄漏各种旁路信息例如时间、功耗、电磁辐射信号等等。我们提出的方法将掩盖或降低这类旁路信息的泄漏,使得SIKE算法在硬件平台执行时可以防御旁路攻击,使得信息更加安全。
如图3所示,本实施例还提供一种基于SIKE算法的旁路防御装置,该装置为上述一种基于SIKE算法的旁路防御方法所对应的虚拟装置,该装置包括:
会话密钥协商前模块101,用于在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
防御模块103,用于在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算,ker(φ)=<P+dQ>的计算包括:将d表示为NAF形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
会话密钥协商完成模块105,用于同源关系φ计算完成后,完成会话密钥协商阶段。
本实施例还提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的一种基于SIKE算法的旁路防御方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种基于SIKE算法的旁路防御方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的设备实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于SIKE算法的旁路防御方法,其特征在于,包括:
在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算,ker(φ)=<P+dQ>的计算包括:将d表示为NAF形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
同源关系φ计算完成后,完成会话密钥协商阶段。
2.根据权利要求1所述的一种基于SIKE算法的旁路防御方法,其特征在于,将d表示为NAF形式,包括:
将d表示成形式,其中,di表示NAF形式表示的标量d的某一比特,di属于{-1,0,1},m为d的NAF形式的总比特数;定义NAF(d)函数,该函数为一个迭代函数,每次迭代后得到一个比特z,z为NAF形式表示的d中一个比特di,NAF(d)函数具体实现步骤为:
(1)输入d,若d=0则返回0;
(2)若d≠0,则当d mod 2=0时,z=0;当d mod 2≠0时,z=2–(d mod 4);
(3)最终返回NAF((d–z)/2)||(z);
其中||表示比特的连接,即将比特z连接到前面数字的最后。
3.根据权利要求1所述的一种基于SIKE算法的旁路防御方法,其特征在于,将d按ω位为一组进行分组,包括:
将NAF形式表示的标量d,从最低比特位开始,每ω位分为一组,表示为(di+ω-1,...di+1,di)。
4.根据权利要求1所述的一种基于SIKE算法的旁路防御方法,其特征在于,对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算,包括:
T=[T0,T1,T2...Tω]=[Q,[2]Q,[4]Q...[2ω]Q],在下一组进行预计算时,Q的值为前一组的Tω。
5.根据权利要求1所述的一种基于SIKE算法的旁路防御方法,其特征在于,将ker(φ)=<P+dQ>根据d的分组以及预计算得到的中间变量矩阵T的值进行分段计算,包括:
若Q的x坐标为0,则直接返回ker(φ)=<P+Q>;
若Q的x坐标不为0,在同一个椭圆曲线上随机选取点U,且U≠Q,定义临时变量K(xk,yk)=U,此处xk,yk为临时变量点K的坐标,也即点U的坐标;
随机选取一个标量值λ,将P,Q,K转换为如下形式射影坐标,xp,xQ分别表示点P和Q的坐标:
P=(λXP:λZP)←(xP:1)
Q=(λXQ:λZQ)←(xQ:1)
K=(λXK:λZK)←(xK:1)
根据所述对d的分组(di+ω-1,...di+1,di),计算<P+(di+ω-1,...di+1,di)Q>,具体如下:
将该分组(di+ω-1,...di+1,di)中的比特根据NAF形式,从左至右按各比特的值进行运算,若(di+ω-1,...di+1,di)从右至左第j比特为+1,则执行K=K+Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为-1,则执行K=K-Tj-1;若(di+ω-1,...di+1,di)从右至左第j比特为0,则不执行操作;遍历所有比特后,执行K=K-U,最终得到ker(φ)=<P+dQ>=<P+K>。
6.一种基于SIKE算法的旁路防御装置,其特征在于,包括:
会话密钥协商前模块,用于在硬件平台进行安全通信前的会话密钥协商阶段,采用SIKE算法作为密钥封装算法;
防御模块,用于在对会话密钥进行加密的过程中,需计算同源关系φ,在计算同源关系φ时,其核(kernel)的计算将执行操作ker(φ)=<P+dQ>,其中P和Q为事先约定好的椭圆曲线上的点,d为私钥,P+dQ为椭圆曲线上点的加法运算,ker(φ)=<P+dQ>的计算包括:将d表示为NAF形式,并将d按ω位一组进行分组,若比特数不足ω的倍数,则在高位用0补齐;对每一分组在计算时需要用到的中间变量矩阵T=[T0,T1,T2...Tω]进行预计算;检查点Q的x坐标是否非0后,将ker(φ)=<P+dQ>根据d的分组以及上述预计算得到的中间变量矩阵T的值进行分段计算得到ker(φ);
会话密钥协商完成模块,用于同源关系φ计算完成后,完成会话密钥协商阶段。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010553818.1A CN111817847B (zh) | 2020-06-17 | 2020-06-17 | 基于sike算法的旁路防御方法、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010553818.1A CN111817847B (zh) | 2020-06-17 | 2020-06-17 | 基于sike算法的旁路防御方法、装置、电子设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817847A true CN111817847A (zh) | 2020-10-23 |
CN111817847B CN111817847B (zh) | 2021-11-23 |
Family
ID=72845658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010553818.1A Expired - Fee Related CN111817847B (zh) | 2020-06-17 | 2020-06-17 | 基于sike算法的旁路防御方法、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817847B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048470A (zh) * | 2022-01-13 | 2022-02-15 | 浙江大学 | 基于tdc模块的硬件攻击的防御方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190089386A1 (en) * | 2016-02-12 | 2019-03-21 | Industry-University Cooperation Foundation Hanyang University | Method and terminal device for executing radio application |
CN109582284A (zh) * | 2018-11-16 | 2019-04-05 | 大唐微电子技术有限公司 | 一种芯片中的标量乘实现方法及装置、计算机可读存储介质 |
CN109787745A (zh) * | 2019-03-05 | 2019-05-21 | 中国人民解放军32082部队 | 一种基于多推断利用的分组密码容错代数旁路分析方法 |
CN111106937A (zh) * | 2019-12-31 | 2020-05-05 | 深圳职业技术学院 | 一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法 |
-
2020
- 2020-06-17 CN CN202010553818.1A patent/CN111817847B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190089386A1 (en) * | 2016-02-12 | 2019-03-21 | Industry-University Cooperation Foundation Hanyang University | Method and terminal device for executing radio application |
CN109582284A (zh) * | 2018-11-16 | 2019-04-05 | 大唐微电子技术有限公司 | 一种芯片中的标量乘实现方法及装置、计算机可读存储介质 |
CN109787745A (zh) * | 2019-03-05 | 2019-05-21 | 中国人民解放军32082部队 | 一种基于多推断利用的分组密码容错代数旁路分析方法 |
CN111106937A (zh) * | 2019-12-31 | 2020-05-05 | 深圳职业技术学院 | 一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法 |
Non-Patent Citations (1)
Title |
---|
DENIS KHLEBORODOV: "Fast elliptic curve point multiplication based on binary and binary non-adjacent scalar form methods", 《ADV COMPUT MATH》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048470A (zh) * | 2022-01-13 | 2022-02-15 | 浙江大学 | 基于tdc模块的硬件攻击的防御方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111817847B (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dubrova et al. | Breaking a fifth-order masked implementation of crystals-kyber by copy-paste | |
Schneider et al. | GMW vs. Yao? Efficient secure two-party computation with low depth circuits | |
CN109791517B (zh) | 保护并行乘法运算免受外部监测攻击 | |
Cremers et al. | Prime, order please! Revisiting small subgroup and invalid curve attacks on protocols using Diffie-Hellman | |
CN104836670B (zh) | 一种基于随机数未知的sm2签名算法安全性验证方法 | |
EP3096488B1 (en) | Hypersphere-based multivariable public key encryption/decryption system and method | |
CN109214195A (zh) | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件***及方法 | |
CN104836808B (zh) | 基于改进差分错误攻击的sm2签名算法安全性验证方法 | |
CN109117662B (zh) | 基于区块链的电子病历安全搜索方法 | |
US10721056B2 (en) | Key processing method and device | |
TW201810989A (zh) | 用以保護密碼指數的方法及系統 | |
CN104917608B (zh) | 一种密钥抗功耗攻击的方法 | |
US20210152331A1 (en) | Protecting polynomial hash functions from external monitoring attacks | |
CN106788980A (zh) | 一种面向云计算的矩阵乘法外包过程中安全加密方法 | |
US20220085998A1 (en) | System and method to generate prime numbers in cryptographic applications | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
Zhang et al. | Leakage-resilient authenticated key exchange for edge artificial intelligence | |
CN111817847B (zh) | 基于sike算法的旁路防御方法、装置、电子设备及可读介质 | |
Zhao et al. | A privacy preserving homomorphic computing toolkit for predictive computation | |
Ulla et al. | Research on elliptic curve crypto system with bitcoin curves–SECP256k1, NIST256p, NIST521p and LLL | |
CN105119929A (zh) | 单一恶意云服务器下的安全模指数外包方法及*** | |
CN109981253B (zh) | 一种基于有限李型群的抗量子攻击的非对称加密方法 | |
US20230185905A1 (en) | Protection of authentication tag computation against power and electromagnetic side-channel attacks | |
KR20190006490A (ko) | 천 저항 정적 디피-헬만 보안을 위한 방법 및 시스템 | |
CN109543451B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211123 |