CN104573544A - 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 - Google Patents

数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 Download PDF

Info

Publication number
CN104573544A
CN104573544A CN201310517938.6A CN201310517938A CN104573544A CN 104573544 A CN104573544 A CN 104573544A CN 201310517938 A CN201310517938 A CN 201310517938A CN 104573544 A CN104573544 A CN 104573544A
Authority
CN
China
Prior art keywords
value
register
data bit
judge
data
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
CN201310517938.6A
Other languages
English (en)
Other versions
CN104573544B (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.)
Shanghai Fudan Microelectronics Co Ltd
Shanghai Fudan Microelectronics Group Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Group 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 Shanghai Fudan Microelectronics Group Co Ltd filed Critical Shanghai Fudan Microelectronics Group Co Ltd
Priority to CN201310517938.6A priority Critical patent/CN104573544B/zh
Publication of CN104573544A publication Critical patent/CN104573544A/zh
Application granted granted Critical
Publication of CN104573544B publication Critical patent/CN104573544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

一种数据的防攻击方法和装置。所述方法包括:将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;当所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值;当所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值。应用所述的数据防攻击方法,可以有效地减小执行不同的数据位的值而引起的功耗差异,降低攻击者通过分析功耗的变化获得RSA算法的关键信息的可能,提高应用RSA算法的运算电路的安全性。

Description

数据的防攻击方法及装置、RSA模幂运算方法、装置和电路
技术领域
本发明涉及数据安全的技术领域,具体涉及一种数据的防攻击方法及装置、RSA模幂运算的方法、装置和电路。
背景技术
RSA算法是目前最具有影响力的公钥加密算法,在智能卡等领域应用较为广泛。
在RSA算法的实现过程中,需要为每个用户产生一对密钥:一个用于加密的公钥和一个用于解密的私钥。利用所述公钥,可以对被处理的数据进行加密,生成密文。利用所述私钥,可以对所述密文进行解密,获得被处理的数据。
在目前的应用RSA算法的运算电路中,由于对所述数据的不同的位进行加密和解密时所消耗的能量和时间是不同的,因此,攻击者往往可以通过监测和分析这些变化,来破解RSA算法的关键信息,故采用目前的应用RSA算法的运算电路具有安全隐患。
发明内容
本发明实施例解决的问题是现有的RSA算法的运算电路的安全性问题。
为解决上述问题,本发明实施例提供一种数据的防攻击方法,所述数据的防攻击方法包括:
将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
当所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值;当所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值。
可选地,所述第一值为0,所述第二值为1;或者,所述第一值为1,所述第二值为0。
可选地,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
本发明实施例还提供了一种RSA模幂运算方法,所述RSA模幂运算方法包括:
将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
当所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值;当所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值;
当所述要判断的数据位的值等于第二值时,对所述数据位的值作平方运算,再对平方运算的结果作乘法运算;当所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
可选地,所述第一值为0,所述第二值为1;或者,所述第一值为1,所述第二值为0。
可选地,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
本发明实施例还提供了一种数据的防攻击装置,所述数据的防攻击装置包括:
第一写入单元,用于将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,用于在所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值,在所述数据位为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值。
可选地,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
本发明实施例还提供了一种RSA模幂运算装置,所述RSA模幂运算装置包括:
第一写入单元,用于将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,用于在所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值,在所述数据位为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值;
第一运算单元,用于在所述要判断的数据位的值等于第二值时,对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算;
第二运算单元,用于在所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
本发明实施例还提供了一种RSA模幂运算电路,所述RSA模幂运算电路包括:处理器、与所述处理器连接的第一寄存器、与所述处理器连接的第二寄存器,以及与所述处理器连接的乘法器,所述处理器包括:
第一写入单元,与所述第一寄存器连接,用于将所要判断的数据位的值写入所述第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,与所述第一寄存器连接,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,与所述判断单元及所述第二寄存器连接,用于在所述数据位的值为第二值的个数为奇数时,向所述第二寄存器中写入第二值,在所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,与所述第二寄存器及所述乘法器连接,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值输入至所述乘法器;
所述乘法器,用于当所述要判断的数据位的值等于第二值时,先对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算;当所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
可选地,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
与现有技术相比,本发明实施例的技术方案具有以下优点:
通过将数据中所要判断的数据位的值写入第一寄存器,从而无须通过移位的方式来选择要判断的数据位的操作,因此可以避免因移位选择要判断的数据位的操作时所引起的功耗差异,故可以减小执行不同的数据位的值所引起的功耗差异。并且,将所述要判断的数据位的值写入第一寄存器后,根据所述第一寄存器中数据位的值为第二值的个数是否为奇数,向第二寄存器中写入相关数据,直接将所述第二寄存器中所述相关数据的值作为所要判断的数据位的值,而无须进行数据位的值是否为第二值的判断操作,避免因进行数据位的值是否为第二值的判断操作而引起的执行不同数据位的值时的功耗差异。这样,应用本发明实施例中的数据防攻击方法,可以有效地减小执行不同的数据位的值而引起的功耗差异,降低攻击者通过分析功耗的变化获得RSA算法的关键信息的可能,提高应用RSA算法的运算电路的安全性。
附图说明
图1是现有的RSA模幂运算方法的一种实施例流程图;
图2是现有的RSA模幂运算方法的另一种实施例流程图;
图3是本发明实施例中RSA模幂运算方法的实施例流程;
图4是本发明实施例中数据的防攻击装置的结构示意图;
图5是本发明实施例中RSA模幂运算装置的结构示意图。
具体实施方式
目前,通常采用如图1或图2中所示的方法实现RSA模幂运算。下面结合图1及图2对现有的RSA模幂运算方法进行描述。
参考图1所示的一种现有的RSA模幂运算的方法,包括如下步骤:
步骤100,获取数据;
步骤102:获取所述数据后,选择所述数据中的某一数据位,判断所选择的数据位的值是否为1,当所选择的数据位的值为1时,执行步骤104;当所选择的数据位的值为0时,执行步骤108;
步骤104:对所选择的数据位的值进行平方运算;
步骤106:对步骤104中平方运算的结果进行乘法运算;
步骤108:对所选择的数据位的值进行平方运算。
由于数据位的值不同,执行步骤102操作时所消耗的能量也就不同,因此,现有的应用RSA算法的电路中,由于存在步骤102,使得在执行所获得的数据的不同的数据位的值时所消耗的能量存在差异,攻击者可以通过所述功耗差异来破解RSA算法的关键信息。
参考图2所示的另一种现有的RSA模幂运算的方法,包括如下步骤:
步骤200:获取数据;
步骤202:获取所述数据后,通过移位的方式选择所述数据中的某一数据位,所述某一数据位的值为t,当所述数据位的值t与1相与的结果为1时,即t&1=1,执行步骤206;当所述数据位的值t与1相与的结果为0时,即t&1=0,执行步骤204;
步骤204:对所述数据位的值进行平方运算;
步骤206:对所述数据位的值进行平方运算;
步骤208:对步骤206平方运算的结果进行乘法运算。
相对于图1中的RSA模幂运算的方法,图2中所述RSA模幂运算的方法虽然可以省去对所述数据位的值进行判断的步骤,即步骤102,但却增加了步骤202。并且在步骤202中,由于要判断的数据位的值不同,选择要判断的数据位时所移位的长度也就不同,导致执行不同的数据位的值时,所需要的时间和所消耗的能量不同。
也就是说,图2中的RSA模幂运算的方法,相对于图1中的RSA模幂运算的方法,虽然可以避免因对所述数据位的值是否为1进行判断的操作所引起的功耗差异,但却在通过移位的方式选择要判断的数据位时引起执行不同数据位时的功耗差异,攻击者仍然可以通过分析执行不同数据位的值时所发生的功耗和时间上的变化,获得RSA算法的关键信息。
针对上述问题,本发明的实施例提供了一种数据的防攻击方法,通过将数据中所要判断的数据位的值写入第一寄存器,而无须通过移位的方式选择要判断的数据位,避免因移位的方式选择要判断的数据位的操作所引起的功耗差异。并且,将根据第一寄存器中数据位的值为第二值的个数是否为奇数,向第二寄存器中写入相关数据,直接将第二寄存器中的相关数据作为所要判断的数据位的值,从而可以避免因执行判断数据位的值的操作所带来的功耗差异。这样,应用本发明实施例所述的方法时,可以有效地减小执行数据中不同的数据位所引起的功耗差异,降低攻击者从所述功耗差异上获取RSA算法的关键信息,从而提高应用RSA算法的安全性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
参考图3,本发明实施例提供了一种数据的防攻击方法,所述防攻击方法可以包括如下步骤:
步骤300:获取数据;
步骤302:将所述数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
其中,所述第一寄存器可以为ACC寄存器。
所述数据大小可以为1字节,也可以为其他大小的数据,本领域技术人员可以根据应用所述RSA算法的运算电路的能力进行选择。以所述数据大小为1字节为例,所述数据的数据位共8位,每一数据位的大小为1比特,则所要判断的数据位可以是所述数据的任意一位。
采用本实施例中所述的防攻击方法对所述数据的某一位进行处理以后,可以任意选择所述数据中的其他数据位进行处理。比如,可以按照所述数据位的排列顺序依次选择所述数据位,也可以随机选择所述数据位,还可以按照某一特定的顺序选择所述数据位。
步骤304:判断所述第一寄存器中的数据位的值为第二值的个数是否为奇数,当所述第一寄存器中的数据位的值为第二值的个数为奇数时,执行步骤306;当所述第一寄存器中数据位的值为第二值的个数为偶数时,执行步骤308;
步骤304中的判断操作是针对所述第一寄存器中的数据位的值为第二值的个数是否为奇数所进行的判断操作,而不是对数据位本身的值所进行的判断操作,并不会因数据位本身的值不同而引起功耗差异,也就是说,在执行不同的数据位的值时,步骤304中的判断操作不会引起功耗上的差异。
步骤306:向第二寄存器中写入第二值;
步骤308:向所述第二寄存器中写入第一值;
其中,所述第二寄存器可以为P寄存器。
需要说明的是,所述P寄存器为PSW寄存器中的一位,所述PSW寄存器可以有多位。
在步骤302、步骤304、步骤306以及步骤308中,当所述第一值为0时,所述第二值为1;当所述第一值为1时,所述第二值为0。
也就是说,当所述第一值为0时,在步骤302中,将所述数据中所要判断的数据位的值写入第一寄存器,则所述第一寄存器的其他数据位的值置为0。在步骤304中,判断所述第一寄存器中数据位的值为1的个数是否为奇数。在步骤306中,当所述数据位的值为1的个数为奇数时,向第二寄存器中写入1。在步骤308中,当所述数据位的值为1的个数为偶数时,向所述第二寄存器中写入0。
同理,当所述第一值为1时,按照上述的方法进行设置时,仅第一值与第二值不同,此处不再赘述。
步骤310:读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值t。
当所述第一值为0时,所述第二值为1,此时,若所述第一寄存器中数据位的值为1的个数为奇数时,则所述第二寄存器的值为1,即所要判断的数据位的值为1;若所述第一寄存器中数据位的值为1的个数为偶数时,则所述第二寄存器的值为0,即所要判断的数据位的值为0。
当所述第一值为1时,所述第二值为0,此时,若所述第一寄存器中数据位的值为0的个数为奇数时,则所述第二寄存器的值为0,即所要判断的数据位的值为0;若所述第一寄存器中数据位的值为0的个数为偶数时,则所述第二寄存器的值为1,即所要判断的数据位的值为1。
本实施例中还提供了一种RSA模幂运算方法,参考图3,所述方法除包括上述的步骤300至步骤310外,还包括如下步骤:
经过步骤302至310后,当所获得的要判断的数据位的值t为第二值时,执行步骤312;当所获得的要判断的数据位的值t为第一值时,执行步骤316。
步骤312:对所述数据位的值t进行平方运算;
步骤314::对步骤312中平方运算的结果作乘法运算;
步骤316:对所述要判断的数据位的值t作平方运算;
由此可见,本实施例所述的RSA模幂运算方法,在对数据中的数据位进行处理时,无须通过移位的方式选择所述数据位。并且所述数据位的值直接从所述第二寄存器中读取,无须进行对所述数据位的值是否为1的判断操作。这样,相对于图1以及图2中所示的RSA模幂运算方法,可以有效地减小执行数据中不同数据位的功耗差异,防止应用RSA模幂运算方法的电路被攻击。
为了使本领域技术人员更好地理解和实现本发明,以下对上述数据的防攻击方法以及RSA模幂运算方法对应的装置进行详细描述。
实施例二
参考图4,本实施例提供了一种数据的防攻击装置40,所述装置40可以包括:
第一写入单元402,用于将数据中所要判断的数据位的值写入第一寄存器410,所述数据位的值为第一值或第二值,并将所述第一寄存器410的其他数据位的值置为第一值;
判断单元404,用于判断所述第一寄存器410中数据位的值为第二值的个数是否为奇数;
第二写入单元406,用于在所述数据位的值为第二值的个数为奇数时,向第二寄存器420中写入第二值,在所述数据位为第二值的个数为偶数时,向所述第二寄存器420中写入第一值;
读取单元408,用于读取所述第二寄存器420的值,将所述第二寄存器420的值作为所述要判断的数据位的值。
其中,所述第一寄存器410可以为ACC寄存器,所述第二寄存器420可以为P寄存器。
当所述第一值为0时,所述第二值为1,当所述第一值为1时,所述第二值为0。
参考图4,本实施例还提供了一种RSA模幂运算装置,所述RSA模幂运算装置可以包括所述数据防攻击装置40,以及与所述数据防攻击装置40连接的第一运算单元和第二运算单元(未示出)。
在具体实施中,所述第一运算单元与所述读取单元408连接,用于在所述要判断的数据位的值等于第二值时,对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算。所述第二运算单元与所述读取单元连接,用于在所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
实施例三
参考图5,本实施例提供了一种RSA模幂运算电路,所述RSA模幂运算电路可以包括:处理器50、与所述处理器50连接的第一寄存器510、与所述处理器50连接的第二寄存器520,以及与所述处理器50连接的乘法器530。
在具体实施中,所述处理器可以包括:
第一写入单元502,与所述第一寄存器510连接,用于将所要判断的数据位的值写入所述第一寄存器510,并将所述第一寄存器510的其他数据位的值置为第一值,所述数据位的值为第一值或第二值;
判断单元504,与所述第一寄存器510连接,用于判断所述第一寄存器510中数据位的值为第二值的个数是否为奇数;
第二写入单元506,与所述判断单元504及所述第二寄存器520连接,用于在所述数据位的值为第二值的个数为奇数时,向所述第二寄存器520中写入第二值,在所述数据位的值为第二值的个数为偶数时,向所述第二寄存器520中写入第一值;
读取单元508,与所述第二寄存器520及所述乘法器530连接,用于读取所述第二寄存器520的值,将所述第二寄存器520的值作为所述要判断的数据位的值输入至所述乘法器530;
所述乘法器530,用于当所述要判断的数据位的值等于第二值时,先对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算;当所述要判断的数据位的值等于低于值时,对所要判断的数据位的值作平方运算。
其中,所述第一寄存器510可以为ACC寄存器,所述第二寄存器520可以为P寄存器。
当所述第一值为0时,所述第二值为1,当所述第一值为1时,所述第二值为0。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (11)

1.一种数据的防攻击方法,其特征在于,包括:
将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
当所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值;
当所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值。
2.如权利要求1所述的数据的防攻击方法,其特征在于,所述第一值为0,所述第二值为1;或者,所述第一值为1,所述第二值为0。
3.如权利要求1或2所述的数据的防攻击方法,其特征在于,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
4.一种RSA模幂运算方法,其特征在于,包括:
将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
当所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值;
当所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值;
当所述要判断的数据位的值等于第二值时,对所述数据位的值作平方运算,再对平方运算的结果作乘法运算;当所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
5.如权利要求4所述的RSA模幂运算方法,其特征在于,所述第一值为0,所述第二值为1;或者,所述第一值为1,所述第二值为0。
6.如权利要求4所述的RSA模幂运算方法,其特征在于,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
7.一种数据的防攻击装置,其特征在于,包括:
第一写入单元,用于将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,用于在所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值,在所述数据位为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值。
8.如权利要求7所述的数据的防攻击装置,其特征在于,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
9.一种RSA模幂运算装置,其特征在于,包括:
第一写入单元,用于将数据中所要判断的数据位的值写入第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,用于在所述数据位的值为第二值的个数为奇数时,向第二寄存器中写入第二值,在所述数据位为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值;
第一运算单元,用于在所述要判断的数据位的值等于第二值时,对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算;
第二运算单元,用于在所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
10.一种RSA模幂运算电路,其特征在于,包括:处理器、与所述处理器连接的第一寄存器、与所述处理器连接的第二寄存器,以及与所述处理器连接的乘法器,所述处理器包括:
第一写入单元,与所述第一寄存器连接,用于将所要判断的数据位的值写入所述第一寄存器,所述数据位的值为第一值或第二值,并将所述第一寄存器的其他数据位的值置为第一值;
判断单元,与所述第一寄存器连接,用于判断所述第一寄存器中数据位的值为第二值的个数是否为奇数;
第二写入单元,与所述判断单元及所述第二寄存器连接,用于在所述数据位的值为第二值的个数为奇数时,向所述第二寄存器中写入第二值,在所述数据位的值为第二值的个数为偶数时,向所述第二寄存器中写入第一值;
读取单元,与所述第二寄存器及所述乘法器连接,用于读取所述第二寄存器的值,将所述第二寄存器的值作为所述要判断的数据位的值输入至所述乘法器;
所述乘法器,用于当所述要判断的数据位的值等于第二值时,先对所述要判断的数据位的值作平方运算,再对平方运算的结果作乘法运算;当所述要判断的数据位的值等于第一值时,对所述要判断的数据位的值作平方运算。
11.如权利要求10所述的幂运算电路,其特征在于,所述第一寄存器为ACC寄存器,所述第二寄存器为P寄存器。
CN201310517938.6A 2013-10-28 2013-10-28 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 Active CN104573544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310517938.6A CN104573544B (zh) 2013-10-28 2013-10-28 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310517938.6A CN104573544B (zh) 2013-10-28 2013-10-28 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路

Publications (2)

Publication Number Publication Date
CN104573544A true CN104573544A (zh) 2015-04-29
CN104573544B CN104573544B (zh) 2017-09-12

Family

ID=53089578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310517938.6A Active CN104573544B (zh) 2013-10-28 2013-10-28 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路

Country Status (1)

Country Link
CN (1) CN104573544B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931176A (zh) * 2020-09-29 2020-11-13 网御安全技术(深圳)有限公司 防御侧信道攻击的方法、装置及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492316A (zh) * 2003-09-09 2004-04-28 大唐微电子技术有限公司 一种蒙格玛丽模乘算法及其模乘、模幂运算电路
WO2006112114A1 (ja) * 2005-03-31 2006-10-26 Matsushita Electric Industrial Co., Ltd. データ暗号化装置及びデータ暗号化方法
WO2007046402A1 (ja) * 2005-10-19 2007-04-26 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置、情報セキュリティ方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体及び集積回路
CN101196964A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 一种抗旁路攻击算法及其芯片
CN102231102A (zh) * 2011-06-16 2011-11-02 天津大学 基于余数系统的rsa密码处理方法及协处理器
CN103164187A (zh) * 2011-12-09 2013-06-19 深圳市证通电子股份有限公司 Rsa模幂电路及rsa安全加密芯片

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492316A (zh) * 2003-09-09 2004-04-28 大唐微电子技术有限公司 一种蒙格玛丽模乘算法及其模乘、模幂运算电路
WO2006112114A1 (ja) * 2005-03-31 2006-10-26 Matsushita Electric Industrial Co., Ltd. データ暗号化装置及びデータ暗号化方法
WO2007046402A1 (ja) * 2005-10-19 2007-04-26 Matsushita Electric Industrial Co., Ltd. 情報セキュリティ装置、情報セキュリティ方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体及び集積回路
CN101196964A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 一种抗旁路攻击算法及其芯片
CN102231102A (zh) * 2011-06-16 2011-11-02 天津大学 基于余数系统的rsa密码处理方法及协处理器
CN103164187A (zh) * 2011-12-09 2013-06-19 深圳市证通电子股份有限公司 Rsa模幂电路及rsa安全加密芯片

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AF TENCA等: "A Scalable Architecture for Montgomery Multiplication", 《INTERNATIONAL WORKSHOP ON CRYPTOGRAPHIC HARDWARE & EMBEDDED SYSTEMS》 *
龙岸文: "RSA模幂运算器的优化设计", 《中南民族大学硕士学位论文》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931176A (zh) * 2020-09-29 2020-11-13 网御安全技术(深圳)有限公司 防御侧信道攻击的方法、装置及可读存储介质
CN111931176B (zh) * 2020-09-29 2021-01-22 网御安全技术(深圳)有限公司 防御侧信道攻击的方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN104573544B (zh) 2017-09-12

Similar Documents

Publication Publication Date Title
US11251935B2 (en) Multiplicative blinding for cryptographic operations
US9250671B2 (en) Cryptographic logic circuit with resistance to differential power analysis
JP2005503069A (ja) 秘密の量を保護する方法
CN104298937A (zh) 用于存储器地址加密的装置和方法
CN103560877A (zh) 攻击密钥的方法及装置
CN110312054B (zh) 图像的加解密方法、及相关装置、存储介质
US10530566B2 (en) Configuring a device based on a DPA countermeasure
CN108418688B (zh) 用于椭圆曲线加密硬件加速的计算设备、方法和存储介质
CN108494546A (zh) 一种白盒加密方法、装置及存储介质
US20180183569A1 (en) Key processing method and device
KR20180110550A (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
US9773111B2 (en) Software-based side-channel attack prevention
US20110176678A1 (en) Masking operation method and device for symmetric key encrypted system
Visconti et al. Examining PBKDF2 security margin—Case study of LUKS
EP2056275A1 (en) Pseudo random number generator, stream encrypting device, and program
US9571281B2 (en) CRT-RSA encryption method and apparatus
CN104660400A (zh) 一种rsa模幂运算方法和装置
CN108123790B (zh) 一种侧信道攻击方法及装置
CN104573544A (zh) 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路
CN105373366B (zh) 一种生成大素数的方法及装置
JP6356687B2 (ja) メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス
Bock SCA resistent implementation of the Montgomery kP-algorithm
KR20170108595A (ko) 논리적 보수 관계값을 이용한 부채널 분석 방지 암호화 장치 및 방법
Jiang et al. Profiling attack on modular multiplication of elliptic curve cryptography
CN105656629A (zh) 芯片中安全的非相邻表示型实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant