买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】解密装置、方法及电路_瑞昱半导体股份有限公司_201510657731.8 

申请/专利权人:瑞昱半导体股份有限公司

申请日:2015-10-12

公开(公告)日:2020-06-30

公开(公告)号:CN106571916B

主分类号:H04L9/30(20060101)

分类号:H04L9/30(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.06.30#授权;2017.05.17#实质审查的生效;2017.04.19#公开

摘要:一种解密方法包括:接收加密资料,其中加密资料是经RSA公钥加密;以及根据RSA私钥与加密资料进行至少一乘法运算以及至少一平方运算,以获得解密资料;其中在进行所述至少一乘法运算的一者的同时,根据加密资料进行一伪平方运算,或在进行所述至少一平方运算的一者的同时,根据加密资料进行一伪乘法运算。

主权项:1.一种解密方法,包括:接收一加密资料,其中该加密资料是经一RSA公钥加密;以及根据一RSA私钥与该加密资料进行至少一乘法运算以及至少一平方运算,以获得一解密资料;其中在进行该至少一乘法运算的一者的同时,根据该加密资料进行一第一伪平方运算以改变该乘法运算对应波形的特征值,或在进行该至少一平方运算的一者的同时,根据该加密资料进行一第一伪乘法运算以改变该平方运算对应波形的特征值。

全文数据:解密装置、方法及电路技术领域[0001]本案涉及一种装置、方法及电路。具体而言,本案涉及一种解密装置、方法及电路。背景技术[0002]RSA加密算法是一种非对称加密算法。加密装置可利用RSA公钥对讯息进行加密,且解密装置在接收到加密后的讯息后,可利用RSA私钥对此加密后的讯息进行解密。[0003]然而,在解密装置进行解密时,攻击者可藉由量测解密装置的相关讯号(如电压或功率)来判断解密装置所进行的运算,进而得知解密装置所使用的RSA私钥。[0004]因此,一种可防御量测攻击的解密方法当被提出。发明内容[0005]为解决上述问题,本案的一实施例涉及一种解密方法,包括:接收加密资料,其中加密资料是经RSA公钥加密;以及根据RSA私钥与加密资料进行至少乘法运算以及至少一平方运算,以获得解密资料;其中,在进行至少一乘法运算的一者的同时,根据加密资料进行至少一第一伪平方运算,或在进行至少一平方运算的一者的同时,根据加密资料进行第一伪乘法运算。[0006]本案的另一实施例涉及一种解密装置,包括通讯模块以及解密元件。解密元件用以:透过通讯模块接收加密资料,其中加密资料是经RSA公钥加密;以及根据RSA私钥与加密资料进行至少一乘法运算以及至少一平方运算,以获得解密资料。在进行至少一乘法运算的一者时,根据加密资料进行第一伪平方运算,或在进行至少一平方运算的一者时,根据加密资料进行第一伪乘法运算。[0007]本案的另一实施例涉及一种解密电路,包括平方器、乘法器、多工器及暂存器。平方器用以接收输入数值,并对输入数值进行平方运算,以产生平方器输出。乘法器用以接收输入数值以及加密资料,并对输入数值以及加密资料进行乘法运算,以产生乘法器输出。多工器用以接收平方器输出以及乘法器输出,并用以根据RSA私钥输出平方器输出及乘法器输出中的一者,作为多工器输出。暂存器用以暂存多工器输出,并提供多工器输出至平方器与乘法器,作为新的输入数值。平方运算与乘法运算是同时进行。[0008]透过应用上述一实施例,解密装置即可在进行解密运算时防御量测攻击。附图说明[0009]图1为根据本案一实施例所绘示的解密系统的示意图;[0010]图2为根据本案一实施例所绘示的解密方法的流程图;[0011]图3为根据本案一实施例所绘示的解密方法的示意图;[0012]图4为根据本案另一实施例所绘示的解密方法的示意图;[0013]图5为根据本案另一实施例所绘示的解密方法的示意图;[0014]图6为根据本案一实施例所绘示的解密电路的示意图;以及[0015]图7为根据本案一实施例所绘示的解密电路的示意图。[0016]符号说明[0017]10:解密系统[0018]20:加密装置[0019]100:解密装置[0020]110:解密元件[0021]112:解密电路[0022]114:解密电路[0023]120:通讯模块[0024]200:解密方法[0025]S1-S2:步骤[0026]2、4、6、8、22、24、26:序列[0027]SQ、MT、SQ'、MT'、SQ"、MT":运算[0028]al、a2:特征值[0029]MUX:多工器[0030]MTC:乘法器[0031]SQC:平方器[0032]REG:暂存器[0033]CTL:控制器[0034]N:加密资料[0035]CS:控制讯号[0036]T1-T8、P1-P5、Q1-Q4:期间具体实施方式[0037]图1为根据本案一实施例所绘示的解密系统10的示意图。解密系统10包括解密装置100与加密装置20。加密装置20用以利用RSA公钥对讯息加密,以产生加密资料N,解密装置100用以接收加密资料N,并对其进行解密。[0038]解密装置100包括相互电性连接的解密元件110及通讯模块120。通讯模块120用以接收来自加密装置20的加密资料N,并将加密资料N传送至解密元件110。解密元件110用以对加密资料N进行解密。[0039]解密元件110可用处理器或其它适当计算元件执行特定指令或程序所实现,或可用电路实现。在一实施例中,通讯模块120可用有线或无线的通讯元件实现。[0040]-并参照图2,图2中的解密方法200可应用于相同或相似于图1中所示的解密装置100。以下将以图1中的解密装置100为例进行对解密方法200叙述。[0041]步骤Sl:解密元件110透过通讯模块120接收来自加密装置20的加密资料N,加密资料N是经RSA公钥加密。[0042]步骤S2:解密元件110对加密资料N进行解密操作。解密元件110是根据对应于前述RSA公钥的RSA私钥与加密资料N,进行至少一乘法运算以及至少一平方运算,以对加密资料N进行解密,并获得解密资料。[0043]举例而言,参照表一,在前述RSA私钥的数值为123时,其二进位形式为2'bllllOll。因此,在进行解密时,是依序进行对应于每一位元的乘法运算及或平方运算。以图3的运算序列2为例,在期间T1,解密元件110进行平方运算SQ。在期间T2、T3,由于RSA私钥的二进位形式左数第二位元为1,解密元件110依序进行乘法运算MT与平方运算SQ。在期间T8,由于RSA私钥的二进位形式左数第五位元为0,解密元件110进行平方运算MT。[0044][0045]表一[0046]在解密操作中,前述乘法运算所进行的次数是相应于RSA私钥的二进位形式中数值为1的数量。例如,在表一中,除了左数第一位元外,数值为1的位元的数量为5,故进行5次乘法运算。此外,前述平方运算所进行的次数相应于前述RSA私钥的二进位位元长度bitlength。例如,前述RSA私钥的二进位位元长度为7位元,解密元件110需执行7-1=6次平方运算。[0047]值得注意的是,在进行乘法运算的同时,解密元件110更根据加密资料N进行第一伪平方运算;在进行平方运算的同时,解密元件110更根据加密资料N进行第一伪乘法运算。其中,第一伪平方运算或第一伪乘法运算的运算结果不用来产生解密资料。由于在进行乘法运算或平方运算时,同时进行相应的第一伪平方运算或第一伪乘法运算,攻击者即无法藉由量测解密装置100的相关讯号(如功率、电流、电压、温度、频率等),得知解密装置100于解密时所进行的操作及其对应的RSA私钥。[0048]在一实施例中,第一伪乘法运算所进行的次数可相同于或小于进行前述平方运算的次数。相似地,前述第一伪平方运算所进行的次数可相同于或小于进行前述乘法运算的次数。[0049]以下将搭配图3提供一操作例,在本操作例中,RSA私钥的数值为123,其二进位形式为2'bllllOll。在解密元件110进行平方运算SQ时,解密装置100的相关讯号的对应波形具有特征值(如振幅)al,且在解密元件110进行乘法运算MT时,解密装置100的相关讯号的对应波形具有特征值a2。[0050]此外,在本操作例中,在解密元件110依序执行运算序列2的同时,解密元件110依序执行运算序列4中的第一伪乘法运算MT'与第一伪平方运算SQ',以使得每一平方运算SQ与第一伪乘法运算MT'同时进行,并使每一乘法运算MT与第一伪平方运算SQ'同时进行。其中,在解密元件110进行第一伪平方运算SQ'时,解密装置100的相关讯号的对应波形具有特征值al,且在解密元件110进行第一伪乘法运算MT'时,解密装置100的相关讯号的对应波形的具有特征值a2。[0051]如此一来,在解密操作中,即便攻击者量测解密装置100的相关讯号,攻击者仅能得到加总运算序列2与运算序列4的对应讯号的序列6,而难以从量测结果中辨识出RSA私钥。[0052]再者,在本案的一些实施例中,在进行前述的乘法运算或前述的平方运算之前或之后,解密元件110更可根据加密资料N进行至少一第二伪平方运算或至少一第二伪乘法运算。其中,第二伪平方运算与第二伪乘法运算是无效运算,用以插入于原始运算序列(如图3中的运算序列2之前、之中、或之后,以误导使用量测攻击的攻击者。[0053]在一实施例中,在进行两次第二伪乘法运算、进行两次乘法运算之间、或进行一次第二伪乘法运算与一次乘法运算之间,解密元件110至少进行一次平方运算或第二伪平方运算。如此一来,可避免因插入第二伪平方运算或第二伪乘法运算后的运算序列异常,而使攻击者得知额外信息。[0054]以下将搭配图4提供一操作例,在本操作例中,RSA私钥的数值为123,其二进位形式为2'bill1011。在解密操作中,解密元件110依序执行运算序列8中的平方运算SQ、乘法运算MT、第二伪平方运算SQ〃及第二伪乘法运算MT"。其中,第二伪平方运算SQ"及第二伪乘法运算MT"的运算结果并不用以产生解密资料。如此一来,在解密操作中,即便攻击者量测解密装置100的相关讯号以得知解密装置100执行运算序列8中的运算,攻击者也无法据以辨识出RSA私钥。[0055]参照图5,解密元件110可进行插入第二伪平方运算SQ〃及第二伪乘法运算MT〃的运算序列22。其中,在进行运算序列22的同时,解密元件110亦可进行运算序列24,以在进行运算序列22中平方运算SQ及第二伪平方运算SQ〃中的至少一者的同时,进行相应的第一伪乘法运算MT',并在进行运算序列22中的乘法运算MT及第二伪乘法运算MT"中的至少一者的同时,进行相应的第一伪平方运算SQ'。如此一来,在解密操作中,攻击者即难以从量测到的运算序列26辨识出RSA私钥。[0056]在本发明一实施例中,解密元件110可包括一解密电路(如图6的解密电路112,用以进行前述解密操作。如图6所示,解密电路112包括平方器SQC、乘法器MTC、多工器MUX及暂存器REG。平方器SQC的输入端及乘法器MTC的第一输入端电性连接暂存器REG的输出端以及加密资料N的来源端。乘法器MTC的第二输入端接收加密资料N。平方器SQC的输出端及乘法器MTC的输出端分别电性连接多工器MUX的第一及第二输入端。多工器MUX的控制端接收控制讯号CS,多工器MUX的输出端电性连接暂存器REG的输入端,其中控制讯号CS相应于RSA私钥。[0057]平方器SQC对输入数值进行平方运算,以产生平方器输出,乘法器MTC对输入数值以及加密资料N进行乘法运算,以产生乘法器输出,其中输入数值可为加密资料N或为暂存器REG的输出。多工器MUX根据控制讯号CS输出平方器输出及乘法器输出中的一者,作为多工器输出。暂存器REG接收并暂存多工器输出,并输出至平方器SQC与乘法器MTC,作为新的输入数值。[0058]在本实施例中,平方器SQC与乘法器MTC是同时进行平方运算以及乘法运算,以使攻击者无法藉由量测解密装置100的相关讯号,得知解密装置100于解密时所进行的操作及其对应的RSA私钥。[0059]举例而言,同时参照图3,在期间T1,平方器SQC与乘法器MTC的输入数值皆为N,故平方器SQC进行平方运算并输出N~2,且同时乘法器MTC进行乘法运算并输出N~2。多工器MUX根据控制讯号CS选择平方器输出做为第一多工器输出。暂存器REG暂存第一多工器输出,并在次一轮运算中,提供第一多工器输出至平方器SQC与乘法器MTC。[0060]在期间T2,平方器SQC与乘法器MTC的输入数值皆为N~2,故平方器SQC进行平方运算并输出N~4,且同时乘法器MTC进行乘法运算并输出N~3。多工器MUX根据控制讯号CS选择乘法器输出(即N~3做为第二多工器输出。暂存器REG暂存第二多工器输出,并在次一轮运算中,提供第二多工器输出至平方器SQC与乘法器MTC。其余运算以此类推。[0061]藉由上述操作,即可使攻击者无法藉由量测解密装置100的相关讯号,得知解密装置100于解密时所进行的操作及其对应的RSA私钥。[0062]在一实施例中,解密电路112更可包括控制器CTL虚线),控制器CTL电性连接暂存器REG,用以控制暂存器REG是否提供新的多工器输出至平方器SQC与乘法器MTC。[0063]例如,在第一操作状态下,在暂存器REG接收到新的多工器输出时,控制器CTL可控制暂存器REG保存原始的多工器输出,并提供原始的多工器输出至平方器SQC与乘法器MTC。另外,在第二操作状态下,在暂存器REG接收到一新的多工器输出时,控制器CTL可控制暂存器REG暂存新的多工器输出,并提供新的多工器输出至平方器SQC与乘法器MTC。[0064]举例而言,同时参照图5,在期间Ql,平方器SQC与乘法器MTC的输入数值皆为N,故平方器SQC输出及乘法器MTC均输出N~2。多工器MUX根据控制讯号CS选择平方器输出为第一多工器输出。控制器CTL控制暂存器REG暂存第一多工器输出,并在次一轮运算中,提供第一多工器输出至平方器SQC与乘法器MTC。[0065]在期间Q2,平方器SQC与乘法器MTC的输入数值皆为N~2,故平方器SQC输出N~4,且同时乘法器MTC输出N~3。多工器MUX根据控制讯号CS选择乘法器输出做为第二多工器输出。控制器CTL控制暂存器REG保存第一多工器输出,并在次一轮运算中,提供第一多工器输出至平方器SQC与乘法器MTC。[0066]在期间Q3,平方器SQC与乘法器MTC的输入数值皆为N~2,平方器SQC输出N~4,乘法器MTC输出N~3。多工器MUX根据控制讯号CS选择平方器输出做为第三多工器输出。控制器CTL控制暂存器REG保存第一多工器输出,并在次一轮运算中,提供第一多工器输出至平方器SQC与乘法器MTC。[0067]在期间Q4,平方器SQC与乘法器MTC的输入数值皆为N~2,故平方器SQC输出N~4,且同时乘法器MTC输出N~3。多工器MUX根据控制讯号CS选择乘法器输出(即N~3做为第四多工器输出。控制器CTL控制暂存器REG暂存第四多工器输出,并在次一轮运算中,提供第四多工器输出至平方器SQC与乘法器MTC,做为新的输入数值。[0068]藉由上述操作,即可使攻击者无法藉由量测解密装置100的相关讯号,得知解密装置100于解密时所进行的操作及其对应的RSA私钥。[0069]图7为根据本发明一实施例的解密电路114的示意图。在本实施例中,解密电路114包括乘法器MTC、多工器MUX、暂存器REG及控制器CTL。多工器MUX的第一输入端电性连接暂存器REG的输出端以及加密资料N的来源端,多工器MUX的第二输入端接收加密资料N,多工器MUX的控制端接收控制讯号CS,多工器MUX的输出端电性连接乘法器MTC的第一输入端。乘法器MTC的第二输入端电性连接暂存器REG的输出端以及加密资料N的来源端,乘法器MTC的输出端电性连接暂存器REG。控制器CTL电性连接暂存器REG。[0070]多工器MUX用以根据RSA私钥(如控制讯号CS输出接收到的输入数值或加密资料N。其中输入数值可为加密资料N或为暂存器REG的输出。乘法器MTC用以对输入数值以及多工器输出进行乘法运算,以产生乘法器输出。暂存器REG用以接收并暂存乘法器输出,并提供乘法器输出至多工器MUX与乘法器MTC,作为一新的输入数值。控制器CTL用以控制暂存器REG是否提供新的乘法器输出至多工器MUX与乘法器MTC,其中,控制器CTL的功能可例如为图6所是的控制器CTL。[0071]举例而言,同时参照图4,在期间P1,多工器MUX与乘法器MTC的输入数值皆为N。多工器MUX根据控制讯号CS选择输入数值做为多工器输出。乘法器MTC输出N~2作为第一乘法器输出。控制器CTL控制暂存器REG保持原始数值(例如为空数值(NULL,并在次一轮运算(如期间P2中提供原始数值至多工器MUX与乘法器MTC。[0072]在期间P2,多工器MUX与乘法器MTC的输入数值皆仍为N。多工器MUX根据控制讯号CS选择加密资料N做为多工器输出。乘法器MTC输出N~2作为第二乘法器输出。控制器CTL控制暂存器REG保持原始数值,并在次一轮运算中提供原始数值至多工器MUX与乘法器MTC。[0073]期间P3与期间Pl中的操作相仿,在此不赘述。[0074]在期间P4中,多工器MUX与乘法器MTC的输入数值皆仍为N。多工器MUX根据控制讯号CS选择输入数值做为多工器输出。乘法器MTC输出N~2作为第四乘法器输出。控制器CTL控制暂存器REG暂存第四乘法器输出,并在次一轮运算中提供第四乘法器输出至多工器MUX与乘法器MTC。其余步骤以此类推。[0075]藉由上述操作,即可使攻击者无法藉由量测解密装置100的相关讯号,得知解密装置100于解密时所进行的操作及其对应的RSA私钥。[0076]虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。

权利要求:1.一种解密方法,包括:接收一加密资料,其中该加密资料是经一RSA公钥加密;以及根据一RSA私钥与该加密资料进行至少一乘法运算以及至少一平方运算,以获得一解密资料;其中在进行该至少一乘法运算的一者的同时,根据该加密资料进行一第一伪平方运算,或在进行该至少一平方运算的一者的同时,根据该加密资料进行一第一伪乘法运算。2.根据权利要求1所述的解密方法,其中进行该第一伪平方运算的运算结果或进行该第一伪乘法运算的运算结果不用以产生该解密资料。3.根据权利要求1所述的解密方法,更包括:在进行该至少一乘法运算的一者或该至少一平方运算的一者之前或之后,根据该加密资料进行一第二伪平方运算或一第二伪乘法运算。4.根据权利要求3所述的解密方法,其中在进行两次该第二伪乘法运算、两次该乘法运算的间、或一次该第二伪乘法运算与一次该乘法运算的间,进行该平方运算或该第二伪平方运算。5.-种解密装置,包括:一通讯模块;以及一解密元件,用以:透过该通讯模块,接收一加密资料,其中该加密资料是经一RSA公钥加密;以及根据一RSA私钥与该加密资料进行至少一乘法运算以及至少一平方运算,以获得一解密资料;其中在进行该至少一乘法运算的一者的同时,根据该加密资料进行一第一伪平方运算,或在进行该至少一平方运算的一者的同时,根据该加密资料进行一第一伪乘法运算。6.根据权利要求5所述的解密装置,其中该第一伪乘法运算所进行的次数相应于该RSA私钥的一二进位位元长度。7.根据权利要求6所述的解密装置,其中该第一伪乘法运算所进行的次数相同于或小于进行该平方运算的次数。8.根据权利要求5所述的解密装置,其中该第一伪平方运算所进行的次数相同于或小于进行该乘法运算的次数。9.一种解密电路,包括:一平方器,用以接收一输入数值,并对该输入数值进行一平方运算,以产生一平方器输出;一乘法器,用以接收该输入数值以及一加密资料,并对该输入数值以及该加密资料进行一乘法运算,以产生一乘法器输出;一多工器,用以接收该平方器输出以及该乘法器输出,并用以根据一RSA私钥输出该平方器输出及该乘法器输出中的一者,作为一多工器输出;以及一暂存器,用以暂存该多工器输出,并提供该多工器输出至该平方器与该乘法器,作为一新的输入数值;其中该平方运算与该乘法运算是同时进行。10.根据权利要求9所述的解密电路,更包括:一控制器,其中在一第一操作状态下,在该暂存器接收到一新的多工器输出时,该控制器控制该暂存器保存该多工器输出,并提供该多工器输出至该平方器与该乘法器;并在一第二操作状态下,在该暂存器接收到该新的多工器输出时,该控制器控制该暂存器暂存该新的多工器输出,并提供该新的多工器输出至该平方器与该乘法器。

百度查询: 瑞昱半导体股份有限公司 解密装置、方法及电路

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。