CN111385092B - 使用信息盲化的密码装置及其密码处理方法 - Google Patents

使用信息盲化的密码装置及其密码处理方法 Download PDF

Info

Publication number
CN111385092B
CN111385092B CN201911364338.4A CN201911364338A CN111385092B CN 111385092 B CN111385092 B CN 111385092B CN 201911364338 A CN201911364338 A CN 201911364338A CN 111385092 B CN111385092 B CN 111385092B
Authority
CN
China
Prior art keywords
modulus
constant
bit number
blinding
information
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
CN201911364338.4A
Other languages
English (en)
Other versions
CN111385092A (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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology Corp
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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN111385092A publication Critical patent/CN111385092A/zh
Application granted granted Critical
Publication of CN111385092B publication Critical patent/CN111385092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/302Public 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 involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Abstract

本发明提供一种使用信息盲化的密码装置及其密码处理方法,使用信息盲化的密码装置,包括:一信息盲化电路,用以取得一输入字串,并依据一随机常数对该输入字串进行信息盲化处理以产生一盲化字串,其中该盲化字串为该输入字串加上该随机常数与一预定模数的乘积;以及一密码处理电路,用以依据该预定模数对该盲化字串进行一密码处理以产生一密码处理结果。

Description

使用信息盲化的密码装置及其密码处理方法
技术领域
本发明有关于密码装置,特别是有关于一种使用信息盲化的密码装置及其密码处理方法。
背景技术
随着资讯科技的发展,使用密码技术以保护资讯的重要性也愈来愈高。在密码技术中,RSA演算法已被广泛地使用。因为RSA演算法对于旁道攻击(side-channel attack)相当脆弱,故需要对输入至RSA演算法的明文或密文先进行信息盲化以防止被旁道攻击估算出RSA演算法所使用的金钥。然而,传统的信息盲化技术的运算复杂度较高,例如需使用乘法、加法、除法、及指数运算,无论是采用硬件电路或软件实现传统的信息盲化技术,均会造成较高的成本及运算负担。
因此,需要一种使用信息盲化的密码装置及其密码处理方法以解决上述问题。
发明内容
本发明提供一种使用信息盲化的密码装置,包括:一信息盲化电路,用以取得一输入字串,并依据一随机常数对该输入字串进行信息盲化处理以产生一盲化字串,其中该盲化字串为该输入字串加上该随机常数与一预定模数的乘积;以及一密码处理电路,用以依据该预定模数对该盲化字串进行一密码处理以产生一密码处理结果。
本发明更提供一种使用信息盲化的密码处理方法,用于一密码装置,该密码处理方法包括:取得一输入字串;依据一随机常数对该输入字串进行信息盲化处理以产生一盲化字串,其中该盲化字串为该输入字串加上该随机常数与一预定模数的乘积;以及依据该预定模数对该盲化字串进行一密码处理以产生一密码处理结果。
附图说明
图1为RSA演算法的加密/解密流程的示意图。
图2A为依据本发明一实施例中的密码装置的方块图。
图2B为依据本发明另一实施例中的密码装置的方块图。
图3A~图3B为依据本发明另一实施例中的密码装置的方块图。
图4为依据本发明一实施例中的使用信息盲化的密码处理方法的流程图。
图5为依据本发明图4的实施例中的步骤S430的流程的示意图。
10~RSA演算法;
11、12~方块;
100~密码装置;
120~随机数产生电路;
130~信息盲化电路;
140~密码处理电路;
300~密码装置;
310~处理器;
320~存储器单元;
330~储存装置;
340~密码处理程序;
341~随机数产生模块;
342~信息盲化模块;
343~密码处理模块;
350~作业系统;
S410-S430、S431-S432~步骤。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图式,作详细说明如下。
图1为RSA演算法的加密/解密流程的示意图。
如图1所示,RSA演算法10的流程可分为加密(方块11)及解密(方块12)。在方块11,对明文M进行加密(encrypt)的计算方式如式(1)所示:
C≡MemodN (0≤M<N) (1)
其中(N,e)为公钥(public key),N为RSA演算法的模数,C为加密后所产生的密文,e为加密指数。
在方块12,对密文C进行解密(decrypt)的计算方式如式(2)所示:
M≡Cdmod N (2)
其中,(N,d)为私钥(private key),d为解密指数。意即,解密方需使用其私钥对所接收的密文C进行指数及模数运算以得到原本的明文M。
然而,RSA演算法对于旁道攻击(side-channel attack)相当脆弱,因此,也发展出信息盲化(message blinding)技术并整合至RSA演算法,使得输入至RSA演算法的明文M及密文C可产生随机且不可预测的变化,使得攻击方无法用多笔已知的输入来观察运算或结果的差别以推测出金钥,从而预防旁道攻击,例如是差分电力分析攻击(differentialpower analysis attack)。
然而,传统的信息盲化技术需搭配指数盲化(exponential blinding)技术,虽然可使用一随机变数vi对原本欲输入至RSA演算法的明文或密文进行信息盲化,但最后在信息解盲化(unblinding)以获得RSA演算法所对应输出的密文或明文时需要计算出随机变数vi的模反元素(modulus inverse)vf的e次方,其中e例如为公钥,且vi·vf≡1(mod N)。模反元素vf例如可用式(3)表示:
其中k为自然数,N为RSA演算法所使用的模数(modulus)。意即,若使用传统的信息盲化技术以计算出模反元素vf,需要使用乘法、加法、除法、及指数运算。无论使用硬件电路或软件实现密码装置,均会造成相当大的运算负担。
图2A为依据本发明一实施例中的密码装置的方块图。密码装置100例如可由积体电路(integrated circuit,IC)中的硬件逻辑电路所实现,且可用于解密或加密,其中加密的流程在图2A的实施例进行说明,且解密的流程在图2B的实施例进行说明。如图2A所示,密码装置100包括一随机数产生电路120、一信息盲化电路130、及一密码处理电路140。
随机数产生电路120例如可随机产生一随机变数k(例如为一自然数),并传送至信息盲化电路130。信息盲化电路130用以对所取得的明文M进行信息盲化,例如可产生一盲化明文M’。密码处理电路140用以对信息盲化电路130所产生的盲化明文M’进行一密码处理(cryptographic processing),例如可使用RSA演算法或相关的快速演算法实现。在一些实施例中,随机数产生电路120可整合至信息盲化电路130之中。
举例来说,信息盲化电路130例如可依据所接收的随机变数k将明文M进行运算以得到盲化明文M’,其中明文M及盲化明文M’的关系如式(4)所示:
M′=M+kN (4)
其中,k即为随机数产生电路120随机产生的自然数,N例如为一预定模数(modulus)。因为k为随机变数,可使得明文M产生随机且不可预测的变化,而且式(4)中仅包括加法及乘法运算,因此更容易由硬件电路或由软件所实现。在一些实施例中,随机变数k例如可为16~32位的随机变数,且可视所需的安全性强度进行调整。
详细而言,信息盲化的过程可利用式(4)所产生的盲化明文M’进行简化。因为在有限场的关系(即模数N),做取余数mod N的运算(映射),所以若在密码处理电路140采用RSA演算法进行密码处理,则密文C=Memod N=(M′)emod N。若明文M=13、模数N=19、且公钥e=1,则将明文M对模数N取余数,则可计算出13mod 19=13。
假设随机数产生电路120所产生的随机变数k=3,若利用信息盲化电路130将明文M进行信息盲化,则M′=13+k×19=13+3×19=70。将明文M’对模数N取余数,则可计算出70mod 19=13。
举例来说,若在RSA的运算过程的第一个递回运算(iteration)中是将明文M乘以一常数=5再对模数N取余数,意即计算M×5mod N=13×5mod 19=65mod 19=8。类似地,若将盲化明文M’取代明文M,则需计算M′×5mod N=70×5mod 19=350mod 19=8。需注意的是,若在密码处理电路140仍采用相同的模数N,因为在RSA演算法的运算过程中仍然会执行多次计算mod N的结果,这会使得盲化明文M’的运算结果与未使用信息盲化的明文M的运算结果相同。
因此,密码处理电路140会将预定模数N转换为一调整模数使得有限场模数的数值可扩大,以使盲化明文M’在RSA运算的中间值可与明文M在RSA运算的中间值不同,进而达到信息盲化的目的。在一实施例中,假设密码处理电路140所使用的金钥长度为4096位,意即明文M、加密指数E、模数N皆为4096位。若RSA演算法采用的基数为232,则调整模数/>则为4096+32位的数值,且盲化明文M’亦为4096+32位的数值。
在一实施例中,密码处理电路140所使用的RSA演算法可用模块指数运算(modularexponentiation)的演算法所实现,例如为H演算法(H-algorithm)或L演算法(L-algorithm),但本发明并不限于此。
举例来说,在H演算法中,可从最高位(most significant bit,MSB)至最低位(least significant bit,LSB)进行模块乘法运算。H演算法的虚拟程序码如下所示:
Algorithm:H-algorithm(M,E,N)
1.
2.
3.
4.
5.fori=(k-1)to 0
{
if(E[i])=1)
}
6.
7.return CS2(Q,N);
其中,模数可由函式N_Bar(N)计算而得,其中函式N_Bar(N)的细节将详述于后。其中数值R=24096+64。函式CS1为H演算法的预处理计算函式,函式CS2则为H演算法之后处理计算函式,例如可输出Q mod N的结果,意即将4096+32位的模块运算结果Q处理为4096位的函式输出结果。函式MM的功能为模块运算(modular multiplication),例如可使用蒙哥马利模块乘法(Montgomery Modular Multiplication),但本发明并不限于此。需注意的是,在用于加密的此实施例中,H演算法的函式的输入栏位分别为明文M、公钥E、及模数N。当利用信息盲化电路130对明文M进行盲化后所得到的盲化明文M’会取代明文M以做为H演算法的输入。
简单来说,在图2A的密码处理电路140所执行的H演算法中所采用的模数是由原本的预定模数N利用函式N_Bar推导而得,可使得盲化明文M’对调整模数/>的取余数的模块运算的中间结果与原本明文M对预定模数N的取余数的模块运算的中间结果不同,进而防止旁道攻击而达到保护资料的目的。需注意的是,当上述H演算法用于加密时,所产生的结果即为密文C,且与未采用信息盲化的RSA演算法所产生的密文C相同。此外,调整模数/>的特性根据在密码处理电路140所执行的RSA演算法所采用的基数(radix),例如radix-2r,且调整模数/>的最低r位皆为1。
在此实施例中,函式N_Bar的流程例如可由下列的虚拟程序码表示:
Algorithm:N_Bar(N)
{
1.Findα=α3α2α1α0
α0=1;
2.β1L=-α;N1=N7:0;N1H=N7:4;N1L=N3:0
3.β1H=-[[(β1L×N1L)H+(β1L×N1H)L]×β1L]mod24
4.β1=β1H|β1L
5.β2L=β1;N2=N15:0;N2H=N15:8;N2L=N7:0
6.β2H=-[[(β2L×N2L)H+(β2L×N2H)L]×β2L]mod28
7.β2=β2H|β2L
8.β3L=β2;N3=N31:0;N3H=N31:16;N3L=N15:0
9.β3H=-[[(β3L×N3L)H+(β3L×N3H)L]×β3L]mod216
10.β3=β3H|β3L
11.
}
需注意的是,上述虚拟程序码用于基数为radix-232的RSA演算法。此外,α的数值是用4位表示,意即α从最高位至最低位分别为α3、α2、α1、及α0
为了便于说明,在上述实施例中,假设RSA演算法的基数为radix-24,则主要考虑上述虚拟程序码中的第1段的运算。举例来说,N=19,以二进位表示为0001_0011,意即n3n2n1n0=0011。接着,依据虚拟程序码中的第1段以分别计算出α0、α1、α2、及α3,例如:
α0=1
由所计算出的α0、α1、α2、及α3的数值即可得到α=01012=510。因此,利用 的方程序即可求得调整模数/>的数值,例如/>若使用调整模数/>进行RSA演算法的运算,在给定M=13、k=3、N=19的前述实施例中,对盲化明文M’进行第一个递回运算时需计算:/> 因此,可得知利用调整模数/>对盲化明文M’进行余数运算时,会与利用预定模数N对明文M进行余数运算的结果不同,因此可达到信息盲化的目的。
图2B为依据本发明另一实施例中的加解密装置的方块图。在另一实施例中,RSA演算法的解密过程亦可使用加解密装置100。举例来说,加解密装置100的输入可为密文C,如图2B所示。信息盲化电路130接收来自随机数产生电路120所产生的随机变数K,并依据随机变数K对密文C进行信息盲化以产生盲化密文C’。接着,密码处理电路140可同样依据上述H演算法进行解密运算。详细而言,当加解密装置100用于解密时,密码处理电路140所执行的H演算法的输入分别为盲化密文C’、私钥D、及模数N,意即可执行函式H-algorithm(C’,D,N)。需注意的是,密码装置100的加密过程与解密过程是类似的,其差别仅在于密码装置100的输入字串为明文M或密文C,以及加密过程所使用的公钥E及解密过程所使用的私钥D。简单来说,在图2B的密码处理电路140所执行的H演算法中所采用的模数是由原本的预定模数N利用函式N_Bar推导而得,可使得盲化密文C’对调整模数/>的取余数的模块运算的中间结果与原本密文C对预定模数N的取余数的模块运算的中间结果不同,进而防止旁道攻击而达到保护资料的目的。意即,若在密码处理电路140仍采用相同的模数N,因为在RSA演算法的运算过程中仍然会执行多次计算mod N的结果,这会使得盲化密文C’的运算结果与未使用信息盲化的RSA演算法所产生的密文C的运算结果相同。
详细而言,本发明图2A~图2B中的密码装置100可用于加密处理或解密处理。举例来说,密码装置100所接收的输入字串可为明文M或密文C。无论输入字串为明文M或密文C,信息盲化电路130均是利用随机数产生电路120所产生的随机变数K对输入字串进行信息盲化以产生盲化字串,且密码处理电路140则对盲化字串进行一密码处理以产生一密码处理结果。若输入字串为明文M,则密码处理电路140是使用盲化明文M’、公钥E、及模数N以进行上述密码处理以产生密文C。若输入字串为密文C,则密码处理电路140是使用盲化密文C’、私钥D、及模数N以进行上述密码处理以产生明文M。
图3A~图3B为依据本发明另一实施例中的密码装置的方块图。如图3A~图3B所示,在另一实施例中,密码装置300例如可由可程序化的处理器的软件所实现。举例来说,密码装置300可包括一处理器310、一存储器单元320、及一储存装置330。
处理器310例如可为中央处理器(CPU)、一般用途处理器(general-purposeprocessor)等等,但本发明并不限于此。
存储器单元320为一随机存取存储器,例如是动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM),但本发明并不限于此。储存装置330为一非挥发性存储器(non-volatilememory),例如可为一硬盘机(harddiskdrive)、一固态硬盘(solid-statedisk)、一快闪存储器(flashmemory)、或一唯读存储器(read-onlymemory),但本发明并不限于此。
举例来说,储存装置330可储存一密码处理程序340及一作业系统350(例如可为Windows、Linux、MacOS、嵌入式作业系统等等),且处理器310将作业系统350及密码处理程序340读取至存储器单元320并执行。
密码处理程序340用以执行RSA演算法或其快速演算法。密码处理程序340例如包括一随机数产生模块341、一信息盲化模块342、及一密码处理模块343,其中随机数产生模块341、信息盲化模块342、及密码处理模块343的程序码的功能分别类似于图2A~图2B的密码装置100中的随机数产生电路120、信息盲化电路130、及密码处理电路140。本发明领域中具有通常知识者当可将随机数产生电路120、信息盲化电路130、及密码处理电路140所执行的功能转换为相应的程序码,故其细节于此不再详述。
图4为依据本发明一实施例中的使用信息盲化的密码处理方法的流程图。
在步骤S410,取得一输入字串。输入字串例如可为明文M或密文C,明文M或密文C例如可为一预定长度(例如4096位,非限定)的字串,若欲进行密码处理的整个输入字串长度大于预定长度,则可将输入字串切割为一或多个符合预定长度的部分字串。举例来说,密码装置100所接收的输入字串可为明文M或密文C。无论输入字串为明文M或密文C,信息盲化电路130均是利用随机数产生电路120所产生的随机变数K对输入字串进行信息盲化以产生盲化字串,且密码处理电路140则对盲化字串进行一密码处理以产生一密码处理结果。若输入字串为明文M,则密码处理电路140是使用盲化明文M’、公钥E、及模数N以进行上述密码处理以产生密文C。若输入字串为密文C,则密码处理电路140是使用盲化密文C’、私钥D、及模数N以进行上述密码处理以产生明文M。
在步骤S420,依据一随机常数k对输入字串进行信息盲化以产生盲化字串,其中该盲化字串为该输入字串加上该随机常数k与一预定模数N的乘积。
在步骤S430,依据预定模数N对盲化字串进行一密码处理以产生一密码处理结果。举例来说,上述密码处理例如为RSA演算法或其快速演算法,且具有一预定基数(radix)。
图5为依据本发明图4的实施例中的步骤S430的流程的示意图。
在图4的实施例中,步骤S430可包括下列步骤:
步骤S431:对该预定模数N进行一模数调整处理以得到一调整模数举例来说,上述模数调整处理例如为函式N_Bar所示。若在密码处理电路140中的RSA演算法所采用的基数为radix-2r,则调整模数/>的最低r位均为1,其中r为自然数。
步骤S432:依据该调整模数对该盲化字串进行指数及余数运算以得到该密码处理结果。举例来说,上述指数运算例如可采用模块指数运算的演算法,例如可使用H-演算法或L-演算法,或是其他类型的模块指数运算的演算法。
综上所述,本发明提供一种使用信息盲化的加解密装置及其加解密方法,其可降低信息盲化的运算复杂度,故相较于现有技术的信息盲化的演算法,本发明的加解密的运算速度较快。此外,因为运算成本降低,故可提升本发明中的加解密装置的运算效能并降低功耗。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,此本发明的保护范围当以权利要求范围所界定者为准。

Claims (5)

1.一种使用信息盲化的密码装置,其特征在于,所述的使用信息盲化的密码装置包括:
一信息盲化电路,用以取得一明文,并依据一随机常数对所述的明文进行信息盲化处理以产生一盲化字串,其中所述的盲化字串为所述的明文加上所述的随机常数与一预定模数的乘积;以及
一密码处理电路,用以:
取得所述的预定模数以二进位表示的多个位数,所述的位数由低位至高位包括一模数第一位数、一模数第二位数、一模数第三位数,以及一模数第四位数,其中所述的模数第一位数为最低位;
计算一常数,所述的常数以二进位表示的最低位至最高位依序为一常数第一位数、一常数第二位数、一常数第三位数,以及一常数第四位数,其中所述的常数第一位数为1,所述的常数第二位数为反向的所述的模数第二位数,所述的常数第三位数为反向的所述的模数第三位数,所述的常数第四位数为所述的模数第二位数与所述的模数第三位数互斥或后再与反向的所述的模数第四位数互斥或的结果;
依据所述的常数及所述的预定模数产生一调整模数,其中所述的调整模数为所述的预定模数与所述的常数的乘积;以及依据所述的调整模数对所述的盲化字串进行一RSA演算法的运算以产生一密文。
2.如权利要求1所述的使用信息盲化的密码装置,其特征在于,所述的密码处理电路依据所述的调整模数对所述的盲化字串进行一指数及余数运算以得到所述的密文。
3.如权利要求2所述的使用信息盲化的密码装置,其特征在于,所述的指数及余数运算依据H-演算法或L-演算法。
4.一种使用信息盲化的密码处理方法,用于一密码装置,其特征在于,所述的密码处理方法包括:
取得一明文;
依据一随机常数对所述的明文进行信息盲化处理以产生一盲化字串,其中所述的盲化字串为所述的明文加上所述的随机常数与一预定模数的乘积;
取得所述的预定模数以二进位表示的多个位数,所述的位数由低位至高位包括一模数第一位数、一模数第二位数、一模数第三位数,以及一模数第四位数,其中所述的模数第一位数为最低位;
计算一常数,所述的常数以二进位表示的最低位至最高位依序为一常数第一位数、一常数第二位数、一常数第三位数,以及一常数第四位数,其中所述的常数第一位数为1,所述的常数第二位数为反向的所述的模数第二位数,所述的常数第三位数为反向的所述的模数第三位数,所述的常数第四位数为所述的模数第二位数与所述的模数第三位数互斥或后再与反向的所述的模数第四位数互斥或的结果;
依据所述的常数及所述的预定模数产生一调整模数,其中所述的调整模数为所述的预定模数与所述的常数的乘积;以及
依据所述的调整模数对所述的盲化字串进行一RSA演算法的运算以产生一密文。
5.如权利要求4所述的使用信息盲化的密码处理方法,其特征在于,所述RSA演算法具有一基数2r,且所述的调整模数的最低r位均为1,其中r为自然数。
CN201911364338.4A 2018-12-28 2019-12-26 使用信息盲化的密码装置及其密码处理方法 Active CN111385092B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107147575A TWI695292B (zh) 2018-12-28 2018-12-28 使用訊息盲化的密碼裝置及其密碼處理方法
TW107147575 2018-12-28

Publications (2)

Publication Number Publication Date
CN111385092A CN111385092A (zh) 2020-07-07
CN111385092B true CN111385092B (zh) 2023-09-19

Family

ID=71218518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911364338.4A Active CN111385092B (zh) 2018-12-28 2019-12-26 使用信息盲化的密码装置及其密码处理方法

Country Status (2)

Country Link
CN (1) CN111385092B (zh)
TW (1) TWI695292B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI823223B (zh) * 2021-12-30 2023-11-21 新唐科技股份有限公司 安全資料傳輸的方法及裝置
CN114679281B (zh) * 2022-03-15 2023-12-01 北京宏思电子技术有限责任公司 一种基于rsa的联合签名生成方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780386A (zh) * 2012-10-23 2014-05-07 航天信息股份有限公司 基于身份的盲签名方法和装置
CN105939191A (zh) * 2016-07-08 2016-09-14 南京理工大学 一种云存储中密文数据的客户端安全去重方法
CN106339204A (zh) * 2015-07-09 2017-01-18 华邦电子股份有限公司 加密计算方法以及装置
US9584320B1 (en) * 2014-12-23 2017-02-28 EMC IP Holding Company LLC Blinding function in elliptic curve cryptography
CN107508666A (zh) * 2017-08-31 2017-12-22 华南理工大学 一种基于rsa和sha‑512的低成本数字签名sopc设计方法
CN107968999A (zh) * 2016-10-18 2018-04-27 华为技术有限公司 一种隐私保护方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2752750A1 (en) * 2009-02-27 2010-09-02 Certicom Corp. System and method for performing exponentiation in a cryptographic system
TWI401583B (zh) * 2009-08-06 2013-07-11 Phison Electronics Corp 資料擾亂/解擾亂與資料處理方法及其控制器與儲存系統
US10594471B2 (en) * 2015-03-20 2020-03-17 Cryptography Research, Inc. Multiplicative blinding for cryptographic operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780386A (zh) * 2012-10-23 2014-05-07 航天信息股份有限公司 基于身份的盲签名方法和装置
US9584320B1 (en) * 2014-12-23 2017-02-28 EMC IP Holding Company LLC Blinding function in elliptic curve cryptography
CN106339204A (zh) * 2015-07-09 2017-01-18 华邦电子股份有限公司 加密计算方法以及装置
CN105939191A (zh) * 2016-07-08 2016-09-14 南京理工大学 一种云存储中密文数据的客户端安全去重方法
CN107968999A (zh) * 2016-10-18 2018-04-27 华为技术有限公司 一种隐私保护方法及相关设备
CN107508666A (zh) * 2017-08-31 2017-12-22 华南理工大学 一种基于rsa和sha‑512的低成本数字签名sopc设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
任燕婷等.抗攻击低功耗RSA处理器设计与实现.《清华大学学报(自然科学版)》.2016,(第01期), *
王倩等.基于编码的盲签名方案.《计算机应用》.2015,(第10期), *

Also Published As

Publication number Publication date
CN111385092A (zh) 2020-07-07
TWI695292B (zh) 2020-06-01
TW202026932A (zh) 2020-07-16

Similar Documents

Publication Publication Date Title
KR101610917B1 (ko) 암호 알고리즘의 복호 방법 및 그것을 포함하는 암호 시스템
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US20060093137A1 (en) Elliptic curve cryptosystem apparatus, elliptic curve cryptosystem method, elliptic curve cryptosystem program and computer readable recording medium storing the elliptic curve cryptosystem program
US20080240443A1 (en) Method and apparatus for securely processing secret data
US9680647B2 (en) Method of using a token in cryptography
JP2008293034A (ja) タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
WO2016206504A1 (zh) 一种数据加密的方法、解密的方法及装置
JP2009540394A (ja) フォールディングを用いるモジュール削減
KR20090006176A (ko) 평문 판정 방법
US8548161B2 (en) Crytographically transforming data text
CN111385092B (zh) 使用信息盲化的密码装置及其密码处理方法
JP2019515353A (ja) 暗号化べき乗アルゴリズムへのセーフ−エラーフォールトインジェクション攻撃に対する対策
US10374790B2 (en) Countermeasure method for an electronic component implementing an elliptic curve cryptography algorithm
JP6044738B2 (ja) 情報処理装置、プログラム及び記憶媒体
US20220085999A1 (en) System and method to optimize decryption operations in cryptographic applications
JP2011512556A (ja) 楕円曲線上の多数の点を計算する装置及び方法
CN111368317B (zh) 一种计算机数据加密系统及方法
JP2009505148A (ja) 暗号化演算における反転操作を行うための回路配置及び方法
US20200344056A1 (en) Device and method for protecting execution of a cryptographic operation
Nedjah et al. Efficient parallel modular exponentiation algorithm
US20220085998A1 (en) System and method to generate prime numbers in cryptographic applications
US11343070B2 (en) System and method for performing a fully homomorphic encryption on a plain text
KR101472800B1 (ko) 공개키 암호화 연산에서의 윈도우의 크기를 변경하는 방법
KR20090004625A (ko) 공개 키 암호화 연산의 순서 변경 방법
US11973866B2 (en) Cryptographic processing method, related electronic device and computer program

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