CN1258057A - 信息处理装置 - Google Patents

信息处理装置 Download PDF

Info

Publication number
CN1258057A
CN1258057A CN99126707A CN99126707A CN1258057A CN 1258057 A CN1258057 A CN 1258057A CN 99126707 A CN99126707 A CN 99126707A CN 99126707 A CN99126707 A CN 99126707A CN 1258057 A CN1258057 A CN 1258057A
Authority
CN
China
Prior art keywords
data
calculation process
deformation
mentioned
handle
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
CN99126707A
Other languages
English (en)
Other versions
CN1200392C (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN1258057A publication Critical patent/CN1258057A/zh
Application granted granted Critical
Publication of CN1200392C publication Critical patent/CN1200392C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K13/00Conveying record carriers from one station to another, e.g. from stack to punching mechanism
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • G06K19/07363Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

在此所公开的发明的课题减少了IC卡用芯片内数据处理内容与IC卡用芯片的消耗电流的相关性。解决此课题的方法如下:在进行IC卡用芯片的输入数据处理之前对此数据进行变形处理,由此来减少处理数据与IC卡用芯片的消耗电流的相关性。在此变形处理结束后,可对变形数据作逆变形处理而求得正确的处理结果。

Description

信息处理装置
本发明涉及信息处理装置,特别涉及作为安全性高的IC卡等的抗窜改装置使用的理想的信息处理装置。
IC卡主要是用于保持不能随意改写的信息并用秘密信息即密钥进行数据的加密以及密文的解密的装置。
IC卡由于不具有电源,只有当插入读写装置接受电源的供电才能工作。在能够工作时,从读写装置接受指令,根据此指令进行数据的传送。
IC卡的结构如图1所示,在IC卡101之上装设有IC卡用芯片102。一般,IC卡有接点,通过接点获得读写装置的供电并同读写装置进行数据通信。
IC卡用芯片的结构基本上与微机的相同。它的结构如图2所示,包括中央处理器201、存储装置204、输入输出端口207以及协处理器202。中央处理器201是进行逻辑运算和算术运算等的装置,存储装置204是存储程序与数据等的装置。输入输出端口是进行与读写装置通信的装置。协处理器是用于进行剩余运算(模计算)的特别的运算装置,是能够用来进行不对称密码RSA的运算等的装置。在IC卡用的处理器中,多数不具有协处理器。数据总线203是连接各个装置的总线。
存储装置204由ROM与RAM以及EEPROM等组成。ROM是不能变更的存储器,主要是存储程序的存储器。RAM虽然是可自由改写的存储器,但当供电中断时,存储的内容就会消失。当IC卡从读写装置中拔出时,由于供电中断,RAM的内容不能保持。EEPROM是即使供电中断也能保持其内容的存储器。在需要改写时,即使从读写装置中抽出IC卡,也能用来存储保持的数据。例如预付卡的预付度数等要在每次使用时都能改写,由于即令是从读写装置上拔下也需保持数据,可用EEPROM保持。
IC卡用来将程序和重要的信息等秘密封存于IC卡用的芯片中,存储重要的信息在卡中进行加密处理。IC卡中加密处理的解密难度可以认为是与加密算法的解密难度相同的。但是观察IC卡进行加密处理时的消耗电流,通过分析,提示了有可能比对加密算法解密更容易地推测加密处理的内容和密钥等。消耗电流能通过测定读写装置供给的电流观察出。这种危害性已描述于John Wiley & Sons出版社W.Rankl & W.Effing著的《Smart Card Handbook》中8.5.1.1的Passive Protective Mechanisms(p263)中。
构成IC卡用芯片的CMOS在输出状态从1变为0或从0变为1时要消耗电流。特别是数据总线203这样的总线,由于具有大的电容,当总线的值从1变0或从0变1,要消耗大的电流。因此,若观察消耗电流,则有可能弄清IC卡用芯片中的工作内容。
图3示明IC卡用芯片1周期中消耗电流的波形。取决于所处理的数据,电流波形301与302不同。这种差别与流过总线203的数据和由中央处理器201所处理的数据有关。
现考虑沿16位预充电总线传送数据的情况。预充电总线是使数据传送前所有的总线值一致为“0”的总线。在此总线中,当传送值不同而“1”的位数相同的数据例如“1”的位数是2的16进数“88”和“11”时,电流波形基本上成为相同的波形,其理由是由于从“0”变“1”时的位数相同,消耗同样的电流而成为相同的电流波形。若是传送“1”的位数是异于1的数据例如“1”的位数是3的“89”和“19”时,则“1”的位数与2的数据消耗电流不同。这时由于相当于3位部的总线的值从“0”变“1”,消耗这部分的电流。因此,与先前的2位变化的数据相比,消耗电流相对于1位部分变大。一般,存在“1”的位数越多电流波形越高的规律。根据这种规律能推测所传送的数据。
图3的电流波形不仅是反映总线的,而且是反映构成IC卡用芯片的构成部件所耗电流的总和。但是IC卡用芯片之类的微机分为主要沿总线传送数据的方面,主要进行CPU运算的方面,将数据写入寄存器方面等。因此,若对这些部分注意。了解到主要因哪个部分引起消耗电流的不同,就能推测该部分的数据操作。
现以下面的左移指令为例说明在具体指令下是如何出现差别的。
shift1 R1                            (1)此指令是把寄存器1的内容左移,寄存器的位列左移而最高位的位的值作为进位进入条件码寄存器的指令。由于寄存器R1最高位的位经由数据总线传送给条件码寄存器,因此,若比较电流波形的大小,就有可能识别最高位的位是“0”或是“1”。若有重要的数据输入R1,则有可能分清是“0”或“1”。特别是在DES那样的加密处理中,需频繁地进行密钥的移位操作。在这样的移位操作时,会产生能推测密钥数据的电流波形而存在着可推测密钥的危险性。
这即使是协处理器的运算也是相同的。当运算的内容存在有依存密钥的偏差时,就有可能从消耗电流求出这种偏差来推测密钥。
本发明的目的在于减少IC卡用芯片中数据处理和消耗电流的相关性。若是减少了消耗电流与芯片内处理的相关性,就难以根据所观察到的消耗电流的波形来推测IC卡芯片内的处理与密钥。本发明的着眼点就在于通过对IC卡芯片处理的数据作变形处理,使不易根据消耗电流的波形来推测处理与密钥。
IC卡用芯片中有代表性的抗窜改装置能视作为这样的信息处理装置,它具有:存储程序的程序存储部和保存数据的数据存储部的存储装置,以及根据此程序执行预定处理而进行数据处理的中央运算装置,而此程序是把执行指令给予中央运算装置的处理命令所构成的一个以上的数据处理装置。本发明中,作为减少所处理的数据与IC卡用芯片消耗电流相关性的方法,是以干扰用数据使处理数据变形,以变形的数据处理数据的处理,在处理后,使用干扰用数据进行逆变形而能求得正确的处理结果。用于数据处理后的干扰数据,必要时可采用与数据处理进行了相同处理的处理完的干扰用数据。此外,干扰用数据可在每次数据处理中随机地设定。这样一来,在数据处理中,可以不使用本来的数据而使用每次作不同变形的数据。于是难以根据电流波形来推测数据。
具体地说,首先形成干扰用数据Xi,使数据D1变形而形成变形数据H1。变形的方法有“异”运算、加法运算和乘法运算等。在数据处理中,使用变形数据H1,进行数据处理,生成处理完的变形数据H2。原来虽然是使用数据D1,但由于在此使用了变形数据H1,就难以根据处理变形数据H1的电流波形来推测数据D1的数据。变形数据H1由于在每次处理中是以不同的干扰用数据Xi变形,故每次成为不同的数据。因此,处理变形数据的电流波形每次也成为不同的波形,这意味着,即使是从这样的波形推测出变形数据H1,也是没有意义的。
当干扰用数据也与数据D1同样地有必要进行数据处理时,即把干扰用数据Xi作为输入,进行数据处理,形成处理完干扰用数据Xo。然后,使用处理完干扰用数据Xo来处理处理完的变形数据H2,求得以输入数据处理装置处理输入数据D1的结果即处理完的数据D2。
在有必要使用数据变形方法不同的情况等时,有时则需进行数据变形的连接。这时,通过将数据变形、变形数据处理、干扰用数据处理以及数据逆变形处理相组合,把原来的数据不作数据处理而进行连续的数据变形。
本发明能用于对加密算法中在进行变换数据的转置与置换或是数据表的存取等中可能得到的信息进行隐蔽。在变换数据的场合将“异”运算用于数据变形中,在数据处理中对变形的与干扰用数据作同样的处理,通常,对变形的数据与干扰用数据执行“异”运算并且进行变形处理来取得原来的数据是有效的方法之一。
本发明的有代表性结构之一如以下所述:信息处理装置,它包括具有存储程序的存储部和保存数据的数据存储部的存储装置以及根据此程序进行数据处理的中央运算装置,此程序是具有在把执行指令给予中央运算装置时的一个以上的数据处理装置,而一个数据处理装置又具有处理其输入数据并将处理完的数据输出的输入数据处理装置;此信息处理装置的特征在于其具有:应用干扰用数据Xi使输入数据D1变形而制成变形数据H1的数据变形处理装置;在上述输入数据处理装置中,代替对上述输入数据D1施行的运算处理OP1而相对于前述变形数据H1进行前述运算处理OP1,由此形成处理完的变形数据H2的变形数据处理装置;相对于前述干扰用数据Xi作前述运算处理OP1而形成处理完的干扰用数据Xo的干扰用数据处理装置;应用上述处理完的干扰用数据Xo相对于处理完的变形数据H2进行运算处理OP2,获得对前述输入数据D1所施行的运算处理的结果即处理完的数据D2的逆变形处理装置。
在此,上述的OP1例如是与后述图4所示实施例中的处理相对应。与此相反,前述的OP1’例如是与后述图5所示实施例中的干扰数据2的处理(510~513,516~520)相对应。其他权利要求中所述及的OP1、OP1’也可作同样的理解。
图1例示周知的IC卡的硬件结构。
图2例示周知的IC卡用芯片内的硬件结构。
图3例示IC卡的消耗电流的波形。
图4用于说明本发明一实施例,示明了使用一种干扰用数据的数据变形程序。
图5用于说明本发明一实施例,示明嵌套地使用两种干扰用数据的数据变形程序。
图6用于说明本发明一实施例,示明连续地使用两种干扰用数据的数据变形程序。
图7用于说明本发明一实施例,示明对干扰用数据的数据处理预先计算的数据变形程序。
图8用于说明本发明一实施例,示明综合两种干扰用数据逆变形的数据变形程序。
图9用于说明本发明一实施例,示明DES的全部处理的流程图。
图10用于说明本发明一实施例,示明DES的f函数处理的流程。
图11用于说明本发明一实施例,说明变形处理a。
图12用于说明本发明一实施例,说明IP处理。
图13用于说明本发明一实施例,说明PC-1处理。
图14用于说明本发明一实施例,说明PC-2处理。
图15用于说明本发明一实施例,说明LS处理。
图16用于说明本发明一实施例,说明选择的转置E处理。
图17用于说明本发明一实施例,说明选择的转置E处理结果与密钥的XOR处理。
图18用于说明本发明一实施例,说明S箱处理。
图19用于说明本发明一实施例,说明转置P处理。
图20用于说明本发明一实施例,说明转置P处理和前段结果的XOR处理。
图21用于说明本发明一实施例,说明IP-1处理。
图22用于说明本发明一实施例,说明逆变形处理。
图23用于说明本发明一实施例,说明S箱表的形成程序。
图24用于说明本发明一实施例,说明第1变形S箱表的形成程序。
图25用于说明本发明一实施例,示明第1S箱表。
图26用于说明本发明一实施例,示明使第1S箱表的数据变形的表。
图27用于说明本发明一实施例,示明使第1S箱表的配置变形的表。
图28用于说明本发明一实施例,示明选择的转置E表。
图29用于说明本发明一实施例,示明转置P表。
图30用于说明本发明一实施例,示明干扰用数据的加密处理。
图31用于说明本发明一实施例,示明干扰用数据的加密用数据的变形运算处理。
图32用于说明本发明一实施例,示明干扰用数据的解密处理。
图33用于说明本发明一实施例,例示了原始表。
图34用于说明本发明一实施例,示明将图33的内容变形的表。
图35用于说明本发明一实施例,示明将图34的表的配置变形3的表。
图36用于说明本发明一实施例,示明变形处理b。
图37用于说明本发明一实施例,示明IP转置表。
图38用于说明本发明一实施例,示明PC-1选择的转置表。
下面参看附图说明本发明的实施例。
图1示明IC卡的外观。根据ISO7816的规格,规定IC卡101大小以及IC卡中芯片102的位置和接点的数目与配置。
图2示明IC卡用芯片102的内部结构。就结构而言,它与先有技术说明的相同。本发明通过对程序205处理的数据添加干扰,使之难以根据处理中生成的IC卡用芯片中硬件消耗电流的波形来推测原始的数据。
现以下面的简单的指令序列来说明其基本思路。
logica_shift R1                         (2)
xor R1 R2                           (3)
式2是使寄存器R1的值向左作逻辑循环的指令。将最高位的位移向最低位的位。此结果存储于寄存器R1中。将此结果与寄存器R2的内容作“异”运算,此结果是存储于寄存器R2中的指令序列。这类指令在DES一类的加密算法中会频繁地出现。在式2与式3中是原样地使用所处理的数据,根据数据的内容改变电流波形的大小。因此,通过观察电流波形,有可能推测出数据。
为了要不直接使用在式2与式3指令下处理的数据,变更为如下所示的指令序列。
xor X1 R1                           (4)
xor X2 R2                           (5)
logica_shift1 R1                    (6)
xor R1 R2                           (7)
logica_shift1 X1                    (8)
xor X1 X2                           (9)
xor X2 R2                           (10)
这里的X1与X2是任选的随机数,为干扰用数据。在式4与式5,于寄存器R1和R2中进行随机数X1与X2的“异”运算,是进行原始数据变形的变形处理。式6和式7虽与式2和式3进行相同的数据处理,但由于进行了变形处理,R1与R2的值便成为与原始数据值不同的数据。式8与式9进行干扰用数据本身的数据处理。式10是通过干扰用数据的处理结果与式7处理结果的“异”运算返回真实数据的逆变形处理。这是权利要求7的实施例。
当把以上所述由具体的数值来表明值的变化时,即成为以下情况。设R1与R2取以下的值:
R1:11001010                            (11)
R2:01010111                            (12)
式2中结果R1的值成为以下形式。
R1:10010101                            (13)
然后式3的处理结果成为以下形式。
R2:11000010                          (14)
下面说明进行本发明的变形的情况,首先设干扰用数据如下述。设寄存器R1与R2的值相同,则
X1:10010111                          (15)
X2:00111010                          (16)
处理式4与式5的结果,寄存器R1与R2的值成为下述形式。
R1:01011101                          (17)
R2:01101101                          (18)
处理式6与式7的结果,寄存器R1与R2的值成为下述形式。
R1:10111010                          (19)
R2:11010111                          (20)
于式8与式9,对干扰用数据X1、X2也作同样地数据处理,结果如下。
X1:00101111                          (21)
X2:00010101                          (22)
然后由式(10)作逆变形处理的结果,得到了与对原始数据作原样处理的处理结果式14相同的结果。
R2:11000010                          (23)
如此例所示进行变形处理,变形的数据与干扰用数据进行了相同的数据处理,通过使用其结果进行逆变形,能求得原来的值。但由于在数据处理中没有使用真实的数据,即使能观察其电流波形推测出变形数据,但也难以推测原始的数据。
把以下由具体数值所示的例子以更一般的形式表示。实际的处理即如以下所示。
Output(j)=f(Input(i))                (24)
这是输入i个输入Input,进行处理f,输出j个输出Output的处理。式2与式3的例是R1与R2的两个输入而输出为一个且存储于R2中的例子。为使根据式24处理中的电流波形不易推测出所处理的数据,可按以下进行。
Input X(i)=h(Input(i),X(i))         (25)
Output X(j)=f(Input X(i))             (26)
Xoutput(j)=f(X(i))                    (27)
Output(j)=g(Output X(i),Xoutput(i))  (28)
式25是使用干扰用数据X(i)将输入数据Input(i)变形,形成变形数据Input X(i)的变形处理。h是变形操作。式26是使用变形的输入数据进行数据处理的数据处理。式27是使干扰用数据与输入数据作相同处理的干扰用数据处理,式28是对变形的输入数据的数据处理结果Output X(j)和干扰用数据处理结果Xoutput(j)进行变形的逆变换的逆变形处理。g为逆变形操作。
在先前的例子中,式4与式5对应于式25的处理,变形操作h为“异”运算。式6与式7对应于式26的变形的输入数据的数据处理。式8与式9是式27的干扰用数据的数据处理式10是。式28的逆变形处理。变形操作g是“异”运算。
变形操作h与逆变形操作g的选择决定数据处理f的特性。在式2与式3的处理中,“异”运算既是变形操作h也是逆变形操作g。这就是说,移位操作和XOR操作等,通过将“异”运算选择为变形操作h,逆变形操作g也能选择“异”运算。“异”运算当取同一数据的“异”运算则成为逻辑“0”,而取按和加的操作即消失。
数据处理f若为加减运算时,当变形操作h选择加法或减法时,逆变形操作可选减法或加法。例如
Output=Input(1)+Input(2)-Input(3)        (29)这类操作进行以下的变形处理:
Input X(1)=Input(1)+X(1)                 (30)
Input X(2)=Input(2)+X(2)                 (31)
Input X(3)=Input(3)+X(3)                 (32)
通过处理变形的输入数据可求得变形的输入数据的处理结果。
Output X=InputX(1)+InputX(2)-Input X(3)  (33)
进行与干扰用数据相同的数据处理。
Xoutput=X(1)+X(2)-X(3)                   (34)
然后进行逆变形处理
Output=g(Xoutput)=Output X-Xoutput
      =Input X(1)+Input X(2)-Input X(3)
        -(X(1)+X(2)-X(3))
      =Input(1)+Input(2)-Input(3)               (35)能够求得正确的输出数据。这是在加减运算中对某个值作加法运算,若对初始的结果减去加法运算的值,则能求得正确的结果。这是权利要求8与9的实施例。
当数据处理是乘除运算时,通过对变形操作h选乘法或除法而逆变形操作可选除法或乘法,就能实现处理和逆变形处理。这方面的理由与加减运算相同,在乘除法的运算中,对某个值作乘法(除法)运算,若在初始的结果中对乘法(除法)运算的结果作除法(乘法),便能求得正确的结果。这是权利要求10与11的实施例。
当数据处理f为剩余运算的加减法时,可对变形操作h选择模N整数倍的加减法。例如考虑下述的剩余加减运算。
Output=Input(1)+Input(2)-Input(3)mod N          (36)将输入Input(i)作以下形式的变形
Input X(i)=Input(i)+K(i)*N                     (37)然后用变形的输入数据进行剩余加减运算
Output X=Input X(1)+Input X(2)-Input X(3)mod N  (38)上式能用式37变形:
Output X=(Input(1)+K(1)*N)+(Input(2)+K(2)*N)
          -(Input(3)+k(3)*N)mod N
=(Input(1)+Input(2)-Input(3))+(K(1)*N+
K(2)*N-K(3)*N)mod N                             (39)这时,应用剩余运算的特征:
0=K*N mod N                                     (40)式39中第二个括号内的值成为0,式39成为
Output X=(Input(1)+Input(2)-Input(3))mod N       (41)这就是说,变形的输入数据的运算结果与本来的运算结果相同。这是通过利用剩余运算的特征而不需干扰用数据的数据处理和逆变形处理的例子。原因是干扰用数据的数据处理结果
Xoutput(i)=K(1)*N+K(2)*N-K(3)*N mod N               (42)始终为零,故不需干扰用数据的数据处理和逆变形处理。这是权利要求12的实施例。
当数据处理f是剩余运算的乘法,可采用在变形操作h中对模N的整数倍加1的方法。例如可考虑以下的剩余乘法。
Output=Input(1)*Input(2)*Input(3)mod N              (43)使输入Input(i)作以下形式的变形:
Input X(i)=Input(i)+K(i)*N+1                         (44)然后用此变形的输入数据进行剩余乘法
Output X=Input X(1)*Input X(2)*Input X(3)mod N      (45)上式可用式44变形为
Output X=(Input(1)*(K(1)*N+1))+(Input(2)+(k(2)
*N+1)-(Input(3)+(k(4)*N+1))mod N
=(Input(1)*Input(2)*Input(3))*((K(1)*N+1)*(K(2)
*N+1)*(K(3)*N+1))mod N                               (46)然后利用剩余运算的特征
0=K*N mod N                                          (47)式46成为
Output X=(Input(1)*Input(2)*Input(3))*(1*1*1)mod N
=Input(1)*Input(2)*Input(3)mod N                    (48)这就是说,变形的输入数据的运算结果和原始的运算结果相同。这也是通过利用剩余运算的特征而不需干扰数据的数据处理和逆变形处理的例子。
再有,当数据处理f是剩余运算的乘法时,也可在变形操作h中相对于某个数x与模N使用倒数y:
1=X*Y mod N                                          (49)作为这个数的简单情况是X为2而Y为(N+1)/2。这是在变形操作中乘以X而在逆变形中按乘以X的次数乘Y,由此来求得原本的处理结果,例如考虑下面的剩余加减运算。
Output=Input(1)*Input(2)*Input(3)mod N          (50)将输入Input(i)作以下变形
Input X(i)=Input(i)*X                            (51)然后应用变形的输入数据进行剩余加减运算
Output X=Input X(1)*Input X(2)*Input X(3)mod N  (52)而作为逆变形处理g可选按乘以X的次数乘Y的形式,通过对输出X操作逆变形处理g,可以求得正确的结果
Output=Output X*Y*Y*Y mod N
      =Input X(1)*Input X(2)*Input X(3)*Y*Y*Y mod N
      =Input(1)*X*Input(2)*X*Input(3)*X*Y*Y*Y mod N
      =Input(1)*Input(2)*Input(3)*X*X*X*Y*Y*Y mod N
      =Input(1)*Input(2)*Input(3)*X*Y*X*Y*X*Y mod N
      =Input(1)*Input(2)*Input(3)mod N           (53)式中利用了式49的性质。此例虽然不需干扰用数据的数据处理,但在以乘以干扰用数据的次数在模N下乘以其倒数作逆变形处理,可以求得正确的结果,这是权利要求13和14的实施例。
迄今所述的数据处理f是数据操作的例子,但为了使不能根据电流波形来推测数据,也有必要对从表中取出数据的操作进行干扰。下面用从图33的表取出数据的例子来说明有关表中数据的干扰和表中地址干扰的实施例。
对图33的表中数据以干扰用数据X1取“异”运算。这里的干扰用数据选为“9”,进行表中的值与9的“异”运算,结果即图34的表。然后,为干扰表的地址,作为干扰用数据X2选了“3”与行序号进行“异”运算,作为干扰用数据X3选2与列序号进行“异”运算,变换表的行列,结果即图35。原来的表即图33的表中第1行第2列的数据3301为“0”,与干扰用数据X1作“异”运算的结果在图34的表中成为“9”(3401);而使行序号和列序号与干扰用数据X2和干扰用数据X3分别取接位加的结果,则3401就移到3501所在处。为了干扰从表中取出数据的操作,先制成这样的表。
假设在地址计算之前已由干扰用数据Y1与Y2分别用“异”运算使行序号变量Gyou与列序号变量Retsu变形。也就是说,若不使Y1与Y2对Gyou与Retsu作“异”运算,就不能求得正确的行序号Gyou和列序号Retsu。这成为以下的关系式。
Gyou=GyouY1 xor Y1                           (54)
Retsu=RetsuY2 xor Y2                         (55)但在进行这种逆变形处理而应用图33中的表时,由于使用了真实地址,就有可能根据电流波形推测数据。为此,首先在制成图35的表时,采用为干扰行序号和列序号而使用的干扰用数据X2和X3。
GyouY1X2=GyouY1 xor X2                       (56)
RetsuY1X=RetsuY2 xor X3                      (57)然后进行以前所用的干扰用数据的逆变形处理。
GyouX2=GyouY1X2 xor Y1                       (58)
RetsuX3=RetsuY2X3 xor Y2                     (59)这样,由于未使用真实的行序号和列序号,就不易根据电流波形推定有关的值。应用GyouX2和RetsuX3,参考图35的表Table X1X2X3,取出DataX1。
DataX1=Table X1X2X3(GyouX2,RetsuX3)         (60)由于图35的表已由干扰用数据X1变形,这以后即把干扰用数据作为X1进行处理。从式56到式60的处理不使用真实的数据。这是权利要求16和17的实施例。
每隔一定的处理,都是随机地生成表中数据干扰用数据X1、行序号干扰用数据X2、列序号干扰用数据X3而预先使表变形。这样,由于每次处理中使表变形,就难以根据电流波形推测数据。
上面说明了干扰用数据的种类和数据变形的方法。下面示明处理程序。图4所示为使用基本的干扰用数据进行信息隐蔽的程序。
图4示明基本的程序。由干扰用数据生成装置生成干扰用数据Xi(401)。这方面的一般方法有应用随机数发生器和伪随机数等来生成必要长度的随机数的方法。其次由数据变形处理装置(406)用干扰用数据Xi(405)使输入数据D1变形,生成变形数据H1(407)。变形方法如以前所述,有“异”运算、加减法、乘除法等。随即应用变形数据H1,由变形数据处理装置(408)进行数据处理,生成处理完的变形数据H2。另一方面,由干扰用数据处理装置(403)对干扰用数据Xi进行与输入数据相同的数据处理,形成处理完的干扰用数据Xo(404)。然后应用干扰用数据Xo和处理完的变形数据H2,由数据逆变形处理装置(410)求出真正的处理完的数据D2(411)。至于数据变形处理装置(406)和数据逆变形处理装置(410)的相应方法,有业已说明的“异”运算、加减法、乘除法和剩余运算等。这是权利要求1的实施例。
图5的实施例是使用两种干扰用数据的例子,是在使用了第一干扰用数据的信息隐蔽处理中包含有使用了第二干扰用数据的信息隐蔽处理的情况。主要的流程与图4的实施例相同。对由第一干扰用数据变形了的变形数据H1(507)进行数据处理,对此处理结果的处理完变形数据H2(509)使用第二干扰用数据Xi由第二数据变形处理装置(510)进行变形,形成处理完的变形数据H3(511)。对此数据由第二变形数据处理装置(512)进行数据处理,生成处理完的变形数据H4,由第二数据逆变形处理装置(520)进行第二干扰用数据的逆变换,生成处理完的变形数据H5(521)。然后由第一数据逆变形处理装置(514)进行第一干扰用数据的逆变换,求出真正的处理完的数据D2(515)。变形中使用“异”运算的例子如以下所示。
H1=D1 xor X1i
H2=f1(H1)
X1o=f1(X1i)
H31=H2 xor X2i
H32=D2 xor X2i                             (61)
H4=f2(H31,H32)
X2o=f2(X2i,X2i)
H5=H4 xor X2o
D2=H5 xor X1o式中的f1与f2为数据处理操作。如此例所示,在由第二数据处理f2使用别的数据D2的情况中,当由第二搅乱用数据变形该数据D2加以使用时,应用本实施例的处理程序是有效的。这是权利要求2的实施例。
图6的实施例也是使用两种干扰用数据的例子。它与图5的实施例的主要不同处在于,这是使用第一干扰用数据的信息隐蔽处理和使用第二干扰用数据的信息隐蔽处理有连系的情况。同时,这是在第一干扰用数据的变换还原的逆变形处理之前,先由第二干扰用数据变形而用于隐蔽使用真实数据的处理的程序。由第一干扰用数据变形了的变形数据H1(609)以第一变形数据处理装置(610)进行数据处理,由第二变形数据生成装置(612)应用第二干扰用数据使该处理完的变形数据H2(611)变形,生成处理完的变形数据H3(613)。然后由第一数据逆变形处理装置(605)进行第一干扰用数据的逆变换。应用此处理结果的处理完的变形数据H4(606),起动第二变形数据处理装置(614),生成处理完的变形数据H5(615)。然后由第二数据逆变形处理装置(616)进行逆变换,生成真正的处理完的数据D2(617)。变形中使用“异”运算的例子如下。
H1=D1 xor X1o
H2=f1(H1)
X1o=f1(X1i)
H3=H2 xor X2i
H4=H3 xor X1o                                 (62)
H5=f2(H4)
X2o=f2(X2i)
D2=H5 xor X2i上述情况能有效地用于存在多个处理操作,有必要使用多种干扰用数据的情况。这是权利要求3的实施例。
图7的实施例从干扰用数据方面考虑,预先计算进行数据处理能提高处理的效率。首先由干扰用数据处理装置生成处理完干扰用数据Xo(703),由处理完干扰用数据记录装置(706)记录下来。在处理中,由数据逆变形处理装置(713)读出并使用记录下的处理完干扰用数据(714)。这在多次进行相同数据处理的情况能提高效率。但是由于也多次使用到干扰用数据,故对信息的隐蔽性来说,如图4的实施例那样每次变更干扰用数据的方法是有效的。这取决于处理速度和信息隐蔽性二者的折衷,它是权利要求5的实施例。
图8的实施例是结合地进行第一与第二干扰用数据的逆变形,然后使用此结果进行数据的逆变形。第一与第二干扰用数据分别由第一干扰用数据处理装置(803)和第二干扰用数据处理装置(807)形成处理完干扰用数据X1o和X2o。将这些数据由数据逆变形综合装置结合,生成综合处理完干扰用数据Xo。使用此数据,起动处理第一变形数据处理(814)和第二变形数据处理(818)结果的处理完变形数据H4(819)的逆变形处理装置(820),生成真正的处理完数据D2。这与其说是个别地进行逆变形的情况,不如说是综合处理完干扰用数据,然后统一进行变形处理的方法。这对于逆变形处理中需耗用较多的处理时间的情况是有效的。它是权利要求4的实施例。
下面以对称式密码DES为例来说明实施例,但本发明也能用于其他密码。
DES用56位的密钥进行64位的数据(明文或密文)加密与解密。由于加密与解密使用相同的密钥,故称作对称密码。DES犹如洗朴克牌那样随机地将明文的位随机地变换而加密。数据的变换依密钥进行。解密时按照密钥变换顺序相反的顺序进行变换,使数据还原。在DES处理中的变换有以位单位和以汇集多个位的单位的两种变换。前一种变换称为转置(permutation process),后一种变换称为置换(substitutionprocess)。
现用图9说明DES的加密的方法。变形处理a(901)与变形处理b(904)以及逆变形处理(916)是与本发明有关而与DES的本来的加密处理无关。密文首先由初始转置(IP)902转置。这是根据初始转置表以位为单位变换密文的64位的数据。从这以后到初始转置的逆转置(IP-1)916,进行16段一组的操作。
每一段处理是把前段的结果的前半或后半的32位的数据与密钥作为输入,进行称作为f函数903的处理,对其输出使用前段余剩的一半部分的位,进行取“异”运算909的操作。密钥也进行变换。相对于密钥首先进行使用称作为PC-1的表的选择转置PC-1(905)。然后进行使用称作为PC-2的表的选择转置PC-2(908),进行密钥的变换。在下一段,使各个28位根据LS表进行巡回。
本实施例中在IP处理之前补加用于使明文变形的变形处理a(901)、使密钥变形的变形处理b(904),最后是逆变形处理(916)。变形处理a(901)使明文变形,是IP处理(902)和函数f(903)的处理,由于不是处理明文本身而是处理变形了的明文,就不能根据此处理的电流波形来推测明文数据。变形处理b(904)是PC-1处理(905)与LS处理(907)、PC-2处理(908)、f函数(903),由于不是处理密钥本身而是处理变形了的密钥,也就难以根据其处理的电流波形来推测密钥。
f函数303的处理以图10示明。首先根据选择转置矩阵E对输入到f函数的语句进行选择转置(1002)。其次对进行了选择转置的输入数据与密钥取“异”运算(1003),进行S箱处理(1004),进行P转置处理(1005)。S箱的处理是从1003“异”运算的处理结果48位中每次取出6位,求得8个S箱表的行序号与列序号而生成4位数据的处理。各S箱表按每6位所示的数据的位置而异。P转置处理是根据P转置表变换32位的位的位置的操作。
变形处理a(901)与变形处理b(902)基本上是相同的处理。现用图11说明变形处理a的明文变形数据的形成处理。随机地生成干扰用数据X1,这是在每次DES加密(或解密)处理中使随机数发生器或伪随机数生成的(1102)。每次使用不同的干扰用数据。随即实行干扰用数据X1与明文的XOR(“异”运算),生成变形明文(变形了的平文)PX1(1103)。DES的情况,明文虽为64位,但生成的随机数64位或8位都可。但要是64位以下,必须进行扩充,生成64位干扰用数据X1。若是生成的随机数是8位,则也可使其反复8次,生成64位的干扰用数据X1。在此由于使用“异”运算(XOR)变形,使干扰用数据X1与变形明文PX1作“异”运算,即生成明文P。这也是权利要求6的实施例。
变形处理b(904)的密钥的变形数据的形成程序如图36所示。只是用密钥和干扰用数据X2来取代明文和干扰用数据X1这一点与图11的实施例不同。DES下密钥与明文同为64位。由处理生成变形的密钥KX2。
下面说明IP处理(902)。IP处理是依照图37所示的表变换明文64位的行。根据此表,输出的第1位与输入的58位变换,输出的第2位与输入的第50位变换,输出的第64位与输入的第7位变换。现用图12说明本实施例中的IP处理。首先IP处理变形明文PX1,生成IP处理完变形平文PX1IP(1202)。位的变换依从图37的表。其次对干扰用数据X1也同样地作IP处理,生成IP处理完干扰用数据X1IP(1203)。IP处理完变形明文PX1IP与IP处理完干扰用数据X1IP取“异”运算,能生成IP处理明文的结果。这由于IP处理是位的移动,干扰用数据也与变形明文PX1作相同的移动,当对各个位进行“异”运算后能保持求真正数据的关系。IP处理的低位32位用于第1段的f函数(903)和第二段的“异”运算,而高位的32位则成为“异”运算(909)的输入。这是权利要求1、7、18、20的实施例。
IP处理中,由于变形明文PX1的位的值与原来的明文的位置不同,即使观察IP处理的电流波形,也难推测明文的数据。取决于“1”的位数,消耗电流虽会变大,但变形明文中“1”的位数与明文中“1”的位数并不存在某种关系。因此,根据电流波形的大小不易推测明文的数据。这样,通过由干扰用数据使明文变形,即使观察处理中的电流波形,也难以推测原来的数据。
PC-1处理与IP处理基本相同。使用图38的PC-1用的变换表,从64位密钥中除去奇偶校验位的8位,成为56位,而且也变换了位的顺序。图38中表的用法与图37中表的用法相同。当PC-1处理完的变形密钥KX2PC1与PC-1处理完的干扰用数据X2PC1进行“异”运算,即可求出正确的PC-1处理完的密钥。
LS处理是把PC-1处理生成的56位的密钥分成右与左各28位,再分别根据LS表左移1位或2位的结果。现用图15说明实施例。首先于1502对PC-1处理所处理完的变形密钥KX2PC1的结果进行LS处理,生成PC-1与LS处理完的变形密钥KX2PC1LS,于1503对PC-1处理完所处理完的干扰用数据X2PC1的结果进行LS处理,生成PC-1和LS处理完的干扰用数据X2PC1LS。LS处理由于也变换位的位置,当PC-1和LS处理完变形密钥KX2PC1LS与PC-1和LS处理完干扰用数据X2PC1LS进行“异”运算后,就能求得处理真的LS的密钥的结果。即使是LS处理,由于使用了干扰用数据,实际操作的数据也与真的密钥不同,因此观察电流波形也难以推测密钥。
PC-2处理根据PC-2表将LS的处理结果的56位压缩式地转置为48位。在1402,PC-1和LS处理完变形密钥KX2PC1LS由PC-2处理,生成PC-1和LS、PC-2处理完变形密钥KX2PC1LSPC2。在1403,PC-1和LS处理完干扰用数据X2PC1LS由PC-2处理,生成PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2。从实质上说,由于是使用了表的转置,与PC-1处理基本上相同。
下面说明f函数903的处理。f函数如图10所示,包括选择转置E处理(1002)、密钥与选择转置执行结果的“异”运算(1003)、S箱处理(1004)与P转置处理(1005)。
现用图16说明选择转置E处理。选择转置E与IP处理相同,使用图28的转置表,并改变位的行。在1602,对IP处理完变形明文PXIP作选择转置E处理,生成IP处理和E转置处理完变形明文PXIPE。然后于1603,对IP处理完干扰用数据XIP作选择转置E处理,生成IP处理和转置处理完干扰用数据XIPE。IP处理和PC-1处理相同,对IP处理和E转置处理完变形明文PXIPE与IP处理和E转置处理完干扰用数据XIPE取“异”运算,求出正确的IP处理和E转置处理完明文。此外,使用转置E表对位进行变换时,由于位的值是变形了的位的值,因而即使观察其处理的电流波形,也难以推测真正的数据。
随后进行f函数的第二项处理即密钥与选择的转置执行结果的“异”运算处理。现用图17说明这种处理。在1702,对由明文生成的IP处理和E转置处理完变形明文PXIPE以及由密钥生成的PC-1和LS、PC-2处理完变形密钥KX2PC1LSPC2进行XOR,形成成为S箱处理的输入的48位的S箱输入数据SinputX。然后于1703,对明文用的干扰用数据生成的IP处理和E转置处理完干扰用数据XIPE以及密钥用的干扰用数据生成的PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2进行XOR,生成S箱输入数据SinputX用干扰数据即S箱输入数据干扰用数据Xsinput。根据“异”运算的性质,S箱输入数据干扰用数据Xsinput可通过两种干扰用数据(PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2以及PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2)进行XOR生成。在此以P表明文,以K表密钥,以PX1表此变形明文,以KX2表此变形密钥。它们的关系是式63与式64。X1与X2是明文和密钥的干扰用数据。
PX1=P xor X1                               (63)
KX2=K xor X2                               (64)这样,当把P与K执行“异”运算的结果记为Z,则PX1与PX2的“异”运算的结果Z1与上述Z的关系即如以下所示:
Z=P xor K                                  (65)
Z1=PX1 xor KX2
=(P xor X1)xor(K xor X2)
=P xor X1 xor K xor X2
=(P xor K)xor(X1 xor X2)
=Z xor(X1 xor X2)                          (66)由此可知,作为用来使Z1返回为真实数据的干扰用数据,也可对P与K的干扰用数据应用其“异”运算。在对密钥与选择转置执行结果作“异”运算的处理中,作为S箱输入数据SinputX干扰用数据,可知也能使用明文用的干扰用数据生成的IP处理和E转置处理完干扰用数据XIPE以及由密钥用干扰用数据生成的PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2两者,经XOR生成的S箱输入数据干扰用数据XSinput。这是权利要求18的实施例。
下面用图18说明S箱处理。从S箱输入数据SinputX每次取出6位,对8个S箱进行处理。DES所用的第1S箱以图25示明。8个S箱的形式虽然相同,但各个区中的数据则异。在各个S箱的处理中,首先取出S箱输入数据Sinput的高位第i号的6位的子数据SubSinputX(i)(1805)。将以前作成的S箱变形的变形S箱表的地址干扰用数据Xsa(i)与SubSinputX(i)进行XOR,生成SubSinputXXsa(i)(1806)。将此SubSinputXsa(i)与S箱输入数据干扰用数据XSinput的高位第i号的6位进行XOR,生成Sub Sinput Xsa(i)(1807)。Sub Sinput Xsa(i)是地址干扰用数据Xsa(i)相对于用于取出第i号S箱的原始地址数据作“异”运算的值。使Sub Sinput X(i)与XSinput(i)作“异”运算,这时由于返回到真实数据,故在与XSinput(i)作“异”运算之前,进行SubSinput X(i)与Xsa(i)的“异”运算,然后对XSinput(i)作“异”运算(XOR)。这样就不必进行原先的数据的处理,同时难以根据其电流波形推测数据。然后应用SubSinputXsa(i)计算变形S箱表的地址(1808)。为使用于参考原来的S箱表的地址变形,需预先将此表变形。根据计算出的地址,从变形S箱表S(i)取出S箱输出数据SoutputX3(i)(1809)。同时取出S箱的输出数据SoutputX3(i)用的干扰用数据X3(i)(1810)。处理这8个S箱,对Soutput X3(i)与X3(i)相对于i从1到8的数据分别连接,由此生成了Soutput和X3。这以后,处理数据成为Soutput X3,干扰用数据成为X3。
现在用图23和图24说明变形S箱表的生成方法。由此S箱形成S(i)箱用的地址干扰用数据Xsa(i)和数据干扰用数据X3(i)。Xsa(i)是6位,X3(i)是4位。干扰用数据X3是把各4位形成的X3(i)8个集合成的32位的数据。然后调用变形S(i)箱表的形成程序(2307)。第i号变形S箱表形成程序的处理以图24说明。K为指定的行序号,1为指定的列序号。K行1列的处理是从2408到2413。第1号的S箱表如图25所示。首先取出第i号原来的S箱的行序号K、列序号1的数据d(2408)。然后对此数据d与干扰用数据X3(i)取“异”运算,以之为d2(2409)。这时设干扰用数据为“7”,相对于原来的S箱的数据2504,结果成为2604。将以上所述对所有的区进行即成为图26所示。图26的表是相对于图25第1号S箱的数据,以干扰用数据为7取“异”运算的结果。
再进行地址的干扰。首先设Xsa1是由Xsa(i)的高位1位和低位1位构成的2位数据,而Xsa2是从Xsa(i)的高位2位到5位形成的4位数据。这来自S箱的地址的计算方法。然后,对图26的行序号和列序号分别取K与1,分别对Xsa1与Xsa2进行“异”运算(2412)。设新出现的行序号和列序号为K2和L2,即于第i号的变形S箱表S(i)的K2行12列处存入数据d2(2413)。这一处理例示于图27中。图27是相对于图26的行与列把“2”与“9”选作干扰用数据构成的。易知这是把行与列的数据的位置保持原样仅仅变更了行与列的序号。在图25中的3行1列的数据12(2504)于图27中移至1行8列,值变形到11。在此例中,数据干扰用数据为“7”,地址用干扰数据的行为“2”而列为“9”。这样就使8个S箱变形。本实施例中的上述处理是DES最初进行的处理。变形的S箱表是在DES的16段使用的。这是权利要求5的实施例。
当S箱的处理结束,处理数据成为32位的SoutputX3而干扰用数据成为32位的X3。这成了f函数最后处理的转置P处理(1005)的输入(1005)。转置P处理由图19说明。对S箱的输出SinputX3进行转置P处理,生成SinputX3P(1902)。对SinputX3的干扰用数据X3进行转置P处理,生成X3P(1903)。用于转置P的表如图29所示。此表的使用方法也与IP处理的表相同。
当f函数的处理结束,进行转置P处理和前段结果的XOR(909或914)。这首先是把S箱的结果经转置P处理而成的SinputX3P与前段结果进行XOR(2002)。然后对X3P与前段的干扰用数据X进行XOR(2003)。此XOR的处理与选择转置E处理结果和密钥的XOR处理(1701)相同、
于DES,最后进行IP-1处理(915)。此处理示明于图21。IP-1处理是与IP处理相似的变换位的行的处理,代替IP表而使用IP-1表(2102)。对以前的处理结果进行IP-1处理,同样,对干扰用数据进行IP-1处理(2103)。
最后,为了还原为真正的处理结果,进行逆变形处理(916)。逆变形处理示明于图22中。通过使IP-1处理结果与IP-1处理的干扰用数据X进行XOR,可以求得真正的处理结果。这里,最初求得未变形的真正的处理结果。
前面已描述过处理的数据的隐蔽,但有时也需隐蔽干扰用数据,其基本想法是使干扰用数据与干扰用的干扰用数据XR取“异”运算而变形。在此先将XR固定,计算位的位置变换等,求出用于逆变形的XRo。然后在有需要用到干扰用数据时,使用XRo,求得原来的干扰用数据。由此就能有效地进行干扰用数据的变形与逆变形。首先以密钥用干扰用数据为例说明。图30所示的处理是由干扰用的干扰用数据XR与密钥用的干扰用数据取“异”运算的变形操作。在由变形处理b(3061)生成干扰用数据X2后,进行图30的干扰用数据的变形处理。密钥用的干扰用数据X2接收PC-1处理和LS处理、PC-2处理。这由于预先决定的位的位置进行了变换,故可相对于事先确定的值XR求出进行到PC-2处理时的干扰用数据XRo加以记录(3102~3105)。在PC-2处理后,对1403生成的PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2进行与记录F的干扰用数据的XOR(3202),能求得原来的PC-1和LS、PC-2处理完干扰用数据X2PC1LSPC2。由此即可隐蔽干扰用数据。这里的干扰用的干扰用数据XR及其处理完干扰变形数据XRo也可使用相同的数据。
DES的实施例虽是加密,但由于DES的算法即使是对于解密也基本相同,故可几乎不变地采用本实施例。再有,由于DES以外的加密算法也多应用转置处理和置换处理、剩余运算等,故也可采用本发明,使数据变形而难以从电流波形来推测原来的数据。
根据本发明,通过使IC卡芯片的处理数据变形,就不易根据消耗电流的波形来推测处理和密钥等。

Claims (24)

1.信息处理装置,它包括具有存储程序的程序存储部和保存数据的数据存储部的存储装置,以及具有根据程序进行数据处理的中央运算装置,而此程序是把执行指令给予此中央运算装置的处理命令时的一个以上的数据处理装置,而其中的一个数据处理装置具有处理其输入数据并把处理完的数据输出的输入数据处理装置,此信息处理装置的特征在于它包括有:
用干扰用数据Xi使输入数据D1变形,由此而形成变形数据H1的数据变形处理装置;
在上述输入数据处理装置中,取代对于上述输入数据D1进行的运算处理OP1改变为相对于上述变形数据H1进行,由此而形成处理完变形数据H2;
相对于上述干扰用数据Xi进行上述运算处理OP1,由此形成处理完干扰用数据Xo的干扰用数据处理装置;
用上述处理完干扰用数据Xo相对于处理完变形数据H2进行运算处理OP2,由此而求得执行施加于前述输入数据D1的运算OP1的结果的处理完数据D2的数据逆变形处理装置。
2.信息处理装置,其特征在于,它包括:具有存储程序的程序存储部和保存数据的数据存储部的存储装置;具有根据程序进行数据处理的中央运算装置;以及一个以上的数据处理装置,其特征在于,具有完成如下操作的装置,
取代相对于第一输入数据D1进行预定的运算处理OP1,求出第一处理完数据D2,将此过程改变为相对于所述第一输入数据D1应用第一干扰用数据X1i,进行运算处理OP1,使上述第一输入数据D1变形为变形数据H1;
相对于上述变形数据H1进行上述运算处理OP1或进行与上述运算处理OP1不同的运算处理OP1’,由此形成处理完变形数据H2;
相对于上述第一干扰用数据X1i进行上述运算处理OP1或与上述运算处理OP1不同的运算处理OP1’,由此形成第一处理完干扰用数据X1o;
使用第二干扰用数据X2i使上述处理完变形数据H2变形,由此形成处理完变形数据H3;
相对于上述处理完变形数据H3,进行上述运算处理OP1或与此运算处理OP1不同的运算处理OP1’,形成处理完变形数据H4;
相对于前述第二干扰用数据X2i进行上述运算处理OP1或与此运算处理OP1不同的运算处理OP1’,由此形成第二处理完干扰用数据X2o;
使用上述第二处理完干扰用数据X2o通过处理前述处理完变形数据H4进行处理而求得处理完数据H5;
使用上述第一处理完干扰用数据X1o处理该处理完变形数据H5而获得前述第一处理完数据D2。
3.信息处理装置,其特征在于,它包括:具有存储程序的程序存储部和保存数据的数据存储部的存储装置;具有根据程序进行数据处理的中央运算装置;以及一个以上的数据处理装置,其特征在于,具有完成如下操作的装置,
取代相对于第一输入数据D1进行预定的运算处理OP1,求出第一处理完数据D3,将此过程改变为相对于所述第一输入数据D1应用第一干扰用数据X1i,进行运算处理OP1,使上述第一输入数据D1变形为变形数据H1;
相对于上述变形数据H1进行上述运算处理OP1或进行与上述运算处理OP1不同的运算处理OP1’,由此形成处理完变形数据H2;
相对于上述第一干扰用数据X1i进行上述运算处理OP1或与上述运算处理OP1不同的运算处理OP1’这两者中的任一,由此形成第一处理完干扰用数据X1o;
使用第二干扰用数据X2i使上述处理完变形数据H2变形,由此形成处理完变形数据H3;
使用上述第一处理完干扰用数据X1o对上述处理完变形数据H3进行逆变形运算处理,形成处理完变形数据H4;
取代将第一处理完数据D3作为输入,进行预定的运算处理OP2,求得第一处理和第二处理的处理完数据D2,将此过程变换为相对于上述处理完变形数据H4,进行上述运算处理OP2或与此运算处理OP2不同的运算处理OP2’,由此形成处理完变形数据H5;
相对于前述第二干扰用数据X2i进行上述运算处理OP2或与此运算处理OP2不同的运算处理OP2’,由此形成第二处理完干扰用数据X2o;
使用上述第二处理完干扰用数据X2o通过对处理完变形数据H5进行处理而求得上述处理完数据D2。
4.信息处理装置,其特征在于,它包括能完成如下操作的装置,
取代相对于第一输入数据D1进行预定的运算处理OP1,求出第一处理完数据D3,将此过程改变为相对于所述第一输入数据D1应用第一干扰用数据X1i,进行运算处理OP1,形成使上述第一输入数据D1变形的变形数据H1;
相对于上述变形数据H1进行上述运算处理OP1或进行与上述运算处理OP1不同的运算处理OP1’,由此形成处理完变形数据H2;
相对于上述第一干扰用数据X1i进行上述运算处理OP1或与上述运算处理OP1不同的运算处理OP1’这两者中的任一,由此形成第一处理完干扰用数据X1o;
使用第二干扰用数据X2i使上述处理完变形数据H2变形,由此形成处理完变形数据H3;
使用上述第一处理完干扰用数据X1o对上述处理完变形数据H3进行逆变形运算处理,形成处理完变形数据H4;
取代将第一处理完数据D3作为输入,进行预定的运算处理OP2,求得第一处理和第二处理的处理完数据D2,将此过程变换为进行上述运算处理OP2或与此运算处理OP2不同的运算处理OP2’,由此形成处理完变形数据H5;
相对于前述第二干扰用数据X2i进行上述运算处理OP2或与此运算处理OP2不同的运算处理OP2’,由此形成第二处理完干扰用数据X2o;
通过综合上述第一处理完干扰用数据X1o和上述第二处理完干扰用数据X2o,由此生成综合处理干扰用数据Xo;
使用上述综合处理干扰用数据Xo,通过对处理完变形数据H4进行逆变形处理而求得前述处理完数据D2。
5.权利要求1所述的信息处理装置,其特征在于,此信息处理装置具有处理完干扰用数据记录装置,用于记录上述处理完干扰用数据Xo,及数据逆变形处理装置,它能应用记录的前述处理完干扰用数据Xo,通过处理所述处理完变形数据,求得新的另外的处理完变形数据。
6.权利要求1所述的信息处理装置,其特征在于,此信息处理装置通过采用随机数而生成前述干扰用数据。
7.权利要求1所述的信息处理装置,其特征在于,前述变形处理是对所述干扰用数据Xi与输入数据D1取“异”运算的处理,而前述逆变形处理则是对所述处理完干扰用数据Xo与处理完变形数据H2取“异”运算的处理。
8.权利要求1所述的信息处理装置,其特征在于,前述变形处理是所述干扰用数据Xi与输入数据D1的加法处理,而前述逆变形处理则是在所述处理完干扰用数据Xo与处理完变形数据H2之间的减法处理。
9.权利要求1所述的信息处理装置,其特征在于,前述变形处理是所述干扰用数据Xi与输入数据D1间的减法处理,而前述逆变形处理则是所述处理完干扰用数据Xo与处理完变形数据H2之间的加法处理。
10.权利要求1所述的信息处理装置,其特征在于,前述变形处理是所述干扰用数据Xi与输入数据D1间的乘法处理,而前述逆变形处理则是所述处理完干扰用数据Xo与处理完变形数据H2之间的除法处理。
11.权利要求1所述的信息处理装置,其特征在于,前述变形处理是所述干扰用数据Xi与输入数据D1间的除法处理,而前述逆变形处理则是所述处理完干扰用数据Xo与处理完变形数据H2之间的乘法处理。
12.权利要求1所述的信息处理装置,其特征在于,当前述输入数据的数据处理具有剩余运算的加减运算处理时,于上述数据变形处理中采用模N的整数倍的加减法。
13.权利要求1所述的信息处理装置,其特征在于,在前述输入数据的数据处理f是剩余运算的乘法情况中,当数X、Y满足式1=X*Y modN时,对于数据变形处理中的剩余运算,以X进行整数倍乘,而在数据的逆变形处理中,则按由数据变形处理装置以X进行乘法的次数使Y进行整数倍乘法。
14.权利要求1所述的信息处理装置,其特征在于,在前述输入数据的数据处理f是剩余运算乘法的情况中,当数x、y满足式1=x*y mod N时,对于数据变形处理中的剩余运算,以N为剩余运算的模,以(N+1)/2作整数倍乘法运算,而在数据的逆变形处理中,则按由数据变形处理装置以(N+1)/2进行乘法运算的次数使2进行整数倍的乘法运算。
15.权利要求1所述的信息处理装置,其特征在于,在前述输入数据的数据处理f是剩余运算的乘法情况中,当数X、Y满足式1=X*Y modN时,对于数据变形处理中的剩余运算,以2进行整数倍乘法运算,而在数据的逆变形处理中,则按由数据变形处理装置以2进行乘法运算的次数,使(N+1)/2进行整数倍乘法运算。
16.权利要求1所述的信息处理装置,其特征在于,前述数据的所述变形是以规则的方法变更排列的数据的配置,而前述数据的所述逆变形则是以相对于由所述变形变更的上述排列的数据进行存取处理为根据的。
17.权利要求16所述的信息处理装置,其特征在于,前述的使排列数据的配置作规则的变更方法是通过以某个数对排列的牵引取“异”运算而变更数据的配置;同时以前述数据变形处理时所用的数据对所述排列的索引取“异”运算,作为变形后的排列索引,而在所述数据逆变形处理中,则根据前述变形后的索引相对于前述排列的数据进行存取。
18.权利要求1所述的信息处理装置,其特征在于,前述运算处理OP1是变换以位为单位的数据的转置处理,而前述数据变形处理与前述数据逆变形处理则是取数据“异”运算的处理。
19.权利要求1所述的信息处理装置,其特征在于,前述运算处理OP1是变换以字节为单位的数据的置换处理,而前述数据变形处理与前述数据逆变形处理则是取数据“异”运算的处理。
20.权利要求1所述的信息处理装置,其特征在于,前述运算处理OP1是使用表的变换数据的处理,而前述数据变形处理与前述数据逆变形处理则是取数据“异”运算的处理。
21.信息处理装置,它具有能依据计算机程序对输入数据进行运算处理而将处理完的数据输出的运算装置,其特征在于,它具有能完成如下操作的装置:
取代相对于输入数据D1进行预定的运算处理OP1而获得处理完数据D2,将此过程改变为,相对于输入数据D1以干扰用数据Xi进行运算,将上述输入数据D1变形为变形数据H1;
取代相对于上述变形数据H1进行前述运算处理OP1或进行与此运算处理OP1不同的运算处理OP1’,由此形成处理完变形数据H2;
把相对于上述变形数据H1进行的所述运算处理OP1或与此OP1不同的运算处理OP1’的任一运算处理,相对于前述干扰用数据Xi进行,由此形成处理完干扰用数据Xo;
相对于上述处理完变形数据H2,应用前述处理完干扰用数据Xo,通过进行数据逆变形处理OP2,相对于前述输入数据D1形成进行所述运算处理OP1的结果的上述处理完数据D2。
22.信息处理装置,它具有能依据计算机程序对输入数据进行运算处理而将处理完的数据输出的运算装置,其特征在于,它具有能完成如下操作的装置:
取代相对于输入数据D1进行预定的运算处理OP1而获得处理完数据D2,将此过程改变为,使上述输入数据D1变形为变形数据H1;
相对于上述变形数据H1进行前述运算处理OP1或与此运算处理OP1不同的运算处理OP1’这二者中的任一个,由此形成处理完变形数据H2;
相对于上述处理完变形数据H2,通过进行数据逆变形处理OP2,相对于前述输入数据D1形成进行所述运算处理OP1的结果的上述处理完数据D2。
23.信息处理装置,它具有能依据计算机程序对输入数据进行运算处理而将处理完的数据输出的运算装置,其特征在于,它具有能完成如下操作的装置,
取代相对于输入数据D1进行预定的运算处理OP1而获得处理完数据D2,将此过程改变为,使上述输入数据D1变形为变形数据H1;
相对于上述变形数据H1进行前述运算处理OP1或与此运算处理OP1不同的运算处理OP1’这二者中的任一个,由此形成处理完变形数据H2;
相对于上述处理完变形数据H2,进行数据逆变形处理OP2的装置,
而前述运算处理OP1或与此OP1不同的运算处理OP1’以及前述的数据逆变形处理OP2,则能通过相对于上述处理完变形数据H2施行逆变形处理OP2求得前述处理完数据D2。
24.信息处理装置,它具有能依据计算机程序对输入数据进行运算处理而将处理完的数据输出的运算装置,其特征在于,它具有能完成如下操作的装置,
取代相对于输入数据D1进行预定的运算处理而获得处理完数据D2,将此过程改变为,相对于输入数据D1以干扰用数据Xi进行运算,形成使上述输入数据D1变形的变形数据H1;
相对于上述变形数据H1进行前述运算处理OP1或进行与此运算处理OP1不同的运算处理OP1’,由此形成处理完变形数据H2,
对前述预定的运算进行选择而使得所述处理完变形数据H2与所述处理完数据D2相同。
CNB991267079A 1998-12-14 1999-12-14 信息处理方法 Expired - Fee Related CN1200392C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35415698A JP4317607B2 (ja) 1998-12-14 1998-12-14 情報処理装置、耐タンパ処理装置
JP354156/1998 1998-12-14

Publications (2)

Publication Number Publication Date
CN1258057A true CN1258057A (zh) 2000-06-28
CN1200392C CN1200392C (zh) 2005-05-04

Family

ID=18435672

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991267079A Expired - Fee Related CN1200392C (zh) 1998-12-14 1999-12-14 信息处理方法

Country Status (7)

Country Link
US (2) US6631471B1 (zh)
EP (1) EP1011081B1 (zh)
JP (1) JP4317607B2 (zh)
KR (2) KR100726903B1 (zh)
CN (1) CN1200392C (zh)
DE (1) DE69906022T2 (zh)
TW (1) TW517189B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2885961C (en) 1998-05-18 2015-12-15 Giesecke & Devrient Gmbh Access-protected data carrier
FR2789776B1 (fr) * 1999-02-17 2001-04-06 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2799851B1 (fr) * 1999-10-14 2002-01-25 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
DE19963407A1 (de) * 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
FR2808360B1 (fr) * 2000-04-28 2002-06-28 Gemplus Card Int Procede de contre mesure dans un microcircuit mettant en oeuvre le procede et carte a puce comportant ledit microcircuit
EP1496420B1 (de) * 2000-05-22 2007-07-04 Infineon Technologies AG Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
FR2810480B1 (fr) * 2000-06-20 2002-11-15 Gemplus Card Int Traitement de donnees avec une cle
US20020021801A1 (en) * 2000-07-13 2002-02-21 Takeshi Shimoyama Computing apparatus using an SPN structure in an F function and a computation method thereof
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
US7376235B2 (en) * 2002-04-30 2008-05-20 Microsoft Corporation Methods and systems for frustrating statistical attacks by injecting pseudo data into a data system
US7555122B2 (en) * 2002-12-04 2009-06-30 Wired Communications LLC Method for elliptic curve point multiplication
JP4626148B2 (ja) * 2004-01-07 2011-02-02 株式会社日立製作所 復号または署名作成におけるべき乗剰余算の計算方法
KR20060081847A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 비밀키를 보호하는 스마트 카드 및 그것의 방법
TWI290426B (en) * 2005-02-03 2007-11-21 Sanyo Electric Co Encryption processing circuit
EP1840732A1 (en) * 2006-03-31 2007-10-03 Axalto SA Protection against side channel attacks
JP4960044B2 (ja) 2006-09-01 2012-06-27 株式会社東芝 暗号処理回路及びicカード
JP5050454B2 (ja) * 2006-09-01 2012-10-17 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7607351B2 (en) * 2007-06-26 2009-10-27 General Electric Company Acoustic impact detection and monitoring system
US9742555B2 (en) * 2008-09-25 2017-08-22 Nokia Technologies Oy Encryption/identification using array of resonators at transmitter and receiver
WO2010102960A1 (en) * 2009-03-10 2010-09-16 Irdeto B.V. White-box cryptographic system with input dependent encodings
JP5198526B2 (ja) 2010-09-21 2013-05-15 株式会社東芝 暗号化装置および復号装置
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
KR101589038B1 (ko) * 2014-03-14 2016-01-27 국방과학연구소 시계열 데이터베이스의 프라이버시 보호에서 상관 관계 보존을 위한 노이즈 생성 방법 및 장치
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
CN112597071B (zh) * 2020-12-09 2024-03-26 北京地平线机器人技术研发有限公司 数据存储方法、获取方法、装置、电子设备以及介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798360A (en) * 1971-06-30 1974-03-19 Ibm Step code ciphering system
FR2590284B1 (fr) * 1985-11-20 1996-07-12 Guilhem Christian Procede de plissage d'une piece souple, application a l'habillage d'objets, moyens de mise en oeuvre et produits obtenus
DE3621241C1 (de) * 1986-06-25 1987-06-25 Freudenberg Carl Fa Verfahren zur Herstellung eines Dichtringes mit einer Dichtlippe
US5341423A (en) * 1987-02-06 1994-08-23 General Electric Company Masked data transmission system
FR2638869B1 (fr) * 1988-11-10 1990-12-21 Sgs Thomson Microelectronics Dispositif de securite contre la detection non autorisee de donnees protegees
CA2037857C (en) 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
JPH0433020A (ja) * 1990-05-24 1992-02-04 Nec Corp 機密保持機能を備えた半導体集積回路
FR2728980B1 (fr) 1994-12-30 1997-01-31 Thomson Csf Dispositif de securisation de systemes d'information organises autour de microprocesseurs
DE19505097C1 (de) * 1995-02-15 1996-06-05 Siemens Ag Verschlüsselungsvorrichtung
US5727062A (en) * 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
FR2745924B1 (fr) 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US6185304B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages
JP2002519722A (ja) * 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP2003524916A (ja) * 1998-09-30 2003-08-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号処理を実行するための符号化方法
US6408075B1 (en) * 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card
JP2001024414A (ja) * 1999-07-09 2001-01-26 Asahi Glass Co Ltd 自動車用ガラスアンテナ
JP2001244414A (ja) * 2000-02-29 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> 半導体集積回路

Also Published As

Publication number Publication date
DE69906022D1 (de) 2003-04-24
US6631471B1 (en) 2003-10-07
US6615354B1 (en) 2003-09-02
JP4317607B2 (ja) 2009-08-19
KR100674550B1 (ko) 2007-01-29
TW517189B (en) 2003-01-11
DE69906022T2 (de) 2004-01-08
KR100726903B1 (ko) 2007-06-11
KR20060105691A (ko) 2006-10-11
EP1011081A1 (en) 2000-06-21
EP1011081B1 (en) 2003-03-19
KR20000052458A (ko) 2000-08-25
JP2000182012A (ja) 2000-06-30
CN1200392C (zh) 2005-05-04

Similar Documents

Publication Publication Date Title
CN1258057A (zh) 信息处理装置
CN1182460C (zh) 信息处理装置与ic卡
CN1734527A (zh) 数据变换装置和数据变换方法
CN1119754C (zh) 电子信息管理系统、ic卡、终端装置和方法
CN100336039C (zh) 文件管理装置
CN1702613A (zh) 蒙哥马利模乘法器
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1312510A (zh) 电子钱包间安全操作的电子钱包系统
CN1758178A (zh) 非法分析/伪造预防系统
CN1601578A (zh) 密码处理装置、密码处理方法以及计算机程序
CN1259617C (zh) 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
CN1345495A (zh) 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法
CN1322076A (zh) 动态口令认证系统及方法
CN101048969A (zh) 用于扰乱密码函数的方法和系统
CN1668995A (zh) 用于改善伪随机数发生器的输出的不可预测性的方法
CN1314040A (zh) 公共密钥签字的方法和系统
CN1619588A (zh) 信息处理装置
CN1338166A (zh) 公用与专用密钥加密方法
CN1791855A (zh) 混合Galois域机和Galois域除法器和平方根机及其方法
CN1607518A (zh) 在Montgomery乘法内利用SIMD指令
CN1302635C (zh) 在实现密钥加密算法的电子元件中的对抗方法
CN1165847C (zh) 保护软件的计算机系统和一种保护软件的方法
CN1177430C (zh) 采用密钥加密算法的对抗方法及采用所述对抗方法的电子元件和智能卡
CN1739094A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050504

Termination date: 20141214

EXPY Termination of patent right or utility model