JP2000182012A - 情報処理装置、端タンパ処理装置 - Google Patents
情報処理装置、端タンパ処理装置Info
- Publication number
- JP2000182012A JP2000182012A JP10354156A JP35415698A JP2000182012A JP 2000182012 A JP2000182012 A JP 2000182012A JP 10354156 A JP10354156 A JP 10354156A JP 35415698 A JP35415698 A JP 35415698A JP 2000182012 A JP2000182012 A JP 2000182012A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- processing means
- processed
- disturbance
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K13/00—Conveying record carriers from one station to another, e.g. from stack to punching mechanism
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/067—Record 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/07—Record 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/073—Special arrangements for circuits, e.g. for protecting identification code in memory
- G06K19/07309—Means for preventing undesired reading or writing from or onto record carriers
- G06K19/07363—Means 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features 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カード
用チップの消費電流との関連性を減らす。処理が終わっ
た後に逆変形を行い、正しい処理結果を得る。ICカード
用チップでの処理のデータとICカード用チップの消費電
流との関連性を減らすことを可能とする。
Description
ードなどの耐タンパ装置に関するものである。
ない情報の保持や秘密情報である暗号鍵を使ったデータ
の暗号化や暗号文の復号化を行うために使われる装置で
ある。ICカードは、電源を持っていないため、リーダラ
イタに差し込まれると、電源の供給を受け、動作可能と
なる。動作可能になると、リーダライタからコマンドを
受けて、コマンドに従い、データの転送を行う。ICカー
ドの一般的な解説は、オーム社出版電子情報通信学会編
水沢順一著「ICカード」などにある。
ード101の上に、ICカード用チップ102を搭載した
ものである。一般にICカードは、接点を持ち、接点を通
して、リーダーライタから電源の供給やリーダライタと
のデータの通信を行う。
クロコンピュータと同じような構成である。その構成
は、図2に示すように、中央演算装置201、記憶装置
204、入出力ポート207、コ・プロセッサ202か
らなる。中央処理装置201は、論理演算や算術演算な
どを行う装置であり、記憶装置204は、プログラムや
データを格納する装置である。入出力ポートは、リーダ
ライタと通信を行う装置である。コ・プロセッサは、剰
余演算を行うための特別な演算装置であり、非対称暗号
であるRSAの演算などに用いられる装置である。ICカー
ド用プロセッサの中には、コ・プロセッサを持たないも
のも多くある。データバス203は、各装置を接続する
バスである。
y)やRAM(Random Access Memory)、EEPROM(Electrical E
rasable Programmable Read Only Memory)などからな
る。ROMは、変更できないメモリであり、主にプログラ
ムを格納するメモリである。RAMは自由に書き換えがで
きるメモリであるが、電源の供給が中断されると、記憶
している内容が消えてなくなる。ICカードがリーダライ
タから抜かれると電源の供給が中断されるため、RAMの
内容は、保持できなくなる。EEPROMは、電源の供給が中
断されてもその内容を保持することができるメモリであ
る。書き換える必要があり、ICカードがリーダライタか
ら抜かれても、保持するデータを格納するために使われ
る。例えば、プリペイドカードでのプリペイドの度数な
どは、使用するたびに書き換えられ、かつリーダライタ
か抜かれてもデータを保持する必要があるため、EEPROM
で保持される。
カード用チップの中に密閉されているため、重要な情報
を格納したり、カードの中で暗号処理を行うために、使
われている。ICカードでの暗号処理の解読の難しさは、
暗号アルゴリズムの解読の困難さと同じと考えられてい
た。しかし、ICカードが暗号処理を行っている時の消費
電流を観測し、解析することにより、暗号アルゴリズム
の解読より容易に暗号処理の内容や暗号鍵が推定される
可能性が示唆されている。消費電流は、リーダライタか
ら供給されている電流を測定することにより観測するこ
とができる。このような危険性は、John Wiley & sons
社 W.Rankl & W.Effing著 「Smart CardHandbook」の8.
5.1.1 Passive protective mechanisms(263ページ)
に記載されている。
出力状態が1から0あるいは0から1に変わった時に電
流を消費する。特に、データバス203のバスは、大き
な電気容量を持つため、バスの値が1から0あるいは0
から1に変わると、大きな電流を消費する。そのため、
消費電流を観測すれば、ICカード用チップの中で、何が
動作しているか分かる可能性を示唆している。
の消費電流の波形を示したものである。処理しているデ
ータの依存して、電流波形が301や302のように異
なる。このような差は、バス203を流れるデータや中
央演算装置201で処理しているデータに依存して生じ
る。
転送する場合を考える。プリチャージバスは、データ転
送の前にすべてのバスの値を“0”にそろえるバスであ
る。このバスに、値は違うが“1”のビットの数が同じ
データ、例えば、“1”のビットの数が2である16進
数で“88”と“11”、を転送した場合、電流波形は
ほぼ同じ波形になる。この理由は、“0”から“1”へ
変化したビットの数が同じであるため、同じように電流
をし消費し、同じ電流波形になったからである。もし、
“1”のビットの数が1つ異なるデータ、例えば、
“1”のビットの数が3である“89”や“19”を転
送した場合、“1”のビットの数が2のデータとは消費
電流が異なる。これは、3ビット分バスの値が“0”か
ら“1”に変わったため、その分の電流が消費される。
そのため、先の2ビットが変化したデータに比べて消費
電流が1ビット分大きくなる。一般に、“1”のビット
の数が多いほど電流波形は高くなるという規則性があ
る。この規則性から、転送されているデータを推定する
ことができる。
カード用チップを構成している構成要素の消費している
電流の総和である。しかし、ICカード用チップのような
マイコンでは、主にバスにデータが転送されているフェ
ーズ、主にCPUが演算をしているフェーズ、レジスタに
データを書き込んでいるフェーズなどに分かれている。
そのため、フェーズに注目すれば、主にどの部分での消
費電流の違いが分かり、その部分でのデータ操作を推定
することができる。
次のような左シフト命令を例にして説明する。
のビット列が左にシフトし、最上位ビットの値がキャリ
アとしてコンディションコードレジスタに入る命令であ
る。レジスタR1の最上位ビットがデータバスを経由し
て、コンディションコードレジスタに転送されるため、
電流波形の大きさを比較すれば、最上位のビットが
“0”か“1”かが識別できる可能性がある。もしR1
に重要なデータが入っていれば、そのデータの1ビット
であるが、“0”か“1”かが分かる可能性がある。特
に、DESのような暗号処理では、暗号鍵をシフトする操
作が頻発する。このシフト操作のときに暗号鍵のデータ
を推定できる電流波形が生じ、暗号鍵を推定される危険
性がある。
同じである。演算内容が、暗号鍵に依存した偏りがある
と、その偏りが消費電流から求められ、暗号鍵が推定さ
れる可能性がある。
ード用チップでのデータ処理と消費電流との関連性を減
らすことである。消費電流とチップの処理との関連性が
減れば、観測した消費電流の波形からICカードチップ内
での処理や暗号鍵の推測が困難になる。本発明の着眼点
は、ICカードチップでの処理するデータを変形して処理
することにより、消費電流の波形から、処理や暗号鍵の
推測を困難にするものである。
される耐タンパ装置は、プログラムを格納するプログラ
ム格納部と、データを保存するデータ格納部を持つ記憶
装置と、プログラムに従い、所定の処理を実行し、デー
タ処理を行う中央演算装置を持ち、プログラムは、中央
演算装置に実行の指示を与える処理命令から構成される
一つ以上のデータ処理手段からなる、情報処理装置とし
て考えることができる。本発明は、処理しているデータ
とICカード用チップの消費電流の関連性を減らすための
方法として、処理するデータを撹乱用データで変形し、
データの処理を変形したデータで処理し、処理後、撹乱
用データを使って逆変形し、正しい処理結果を求めるも
のである。データ処理の後に使用する撹乱データは、必
要があれば、データ処理と同じ処理を行った処理済の撹
乱用データを使用する。また、撹乱用データは、データ
処理ごとにランダムに設定する。このようにすることに
より、データ処理において、本来のデータを使わず、毎
回異なった変形したデータを使うことができる。そのた
め、電流波形からデータを推定することが困難にする。
し、データD1を変形し、変形データH1を作成する。変形
の方法には、排他的論理和や加算、乗算などがある。デ
ータ処理では、変形データH1を使い、データ処理を行
い、処理済み変形データH2を生成する。本来は、データ
D1を使用するのであるが、ここでは、変形データH1を使
用しているため、変形データH1を処理する電流波形から
データD1のデータを推定することは困難である。変形デ
ータH1は、処理ごとに異なる撹乱用データXiにて、変形
されているため、毎回、異なるデータとなっている。そ
のため、変形データH1を処理する電流波形も、毎回、異
なった波形となり、その波形から変形データH1を推定し
ても意味がないことになる。
ータ処理をする必要がある場合は、撹乱用データXiを入
力とし、データ処理を行い、 処理済み撹乱用データXo
を作成する。そして、処理済み撹乱用データXoを使って
処理済み変形データH2を処理し、入力データD1を入力デ
ータ処理手段で処理した結果である処理済みデータD2を
得る。
る必要がある場合などでは、データ変形を連結して、実
行する必要がある場合がある。その場合は、データ変
形、変形データ処理、撹乱用データ処理、データ逆変形
処理を入れ子にしたり、組み合わせることにより、本来
のデータをデータ処理しないようにデータ変形を連続さ
せる。
を入れ替える転置や換字、あるいは、テーブルのアクセ
スなどの情報隠蔽に使うことができる。データの入れ替
えの場合は、排他的論理和をデータ変形に使い、データ
処理において、変形したデータと撹乱用データを同じよ
うに処理し、常に、変形したデータと撹乱用データを排
他的論理和を実行すると、本来のデータを得ることがで
きるように変形処理を行うことが、有効な方法の一つで
ある。
面を参照しながら説明する。
る。ICカード101は、ISO7816の規格により大き
さや、ICカードのチップ102の位置や接点の数および
割り当てなどが規定されている。
成である。構成については、従来技術の説明で既に述べ
たとおりである。本発明は、プログラム205で処理す
るデータに撹乱を加えることにより、処理中に生じるIC
カード用チップのハードウェアが消費する電流波形か
ら、本物のデータの推定を困難にさせるものである。
て説明する。
命令である。最上位ビットが最下位ビットに移動する。
その結果はレジスタR1に格納される。その結果とレジ
スタR2の内容を排他的論理和し、その結果がレジスタ
R2に格納される命令列である。このような命令は、DE
Sのような暗号アルゴリズムでは、頻繁に出現する。式
2と式3では、処理するデータをそのまま扱っているの
でデータの内容によって電流波形の大きさを変える。そ
のため、電流波形を観測することによりデータを推定で
きる可能性がある。
扱わないように、以下のような命令列に変更する。
データである。式4と式5では、レジスタR1とR2に
乱数X1とX2を排他的論理和を行い、撹乱用データを
使い、本物のデータの変形を行う変形処理である。式6
と式7は式2と式3と同じデータ処理であるが、変形処
理を行ったため、R1とR2の値は、本物のデータの値
とは異なったデータとなっている。式8と式9は、撹乱
用データ自体をデータ処理を行っているものである。式
10で、撹乱用データの処理結果と式7の処理結果を排
他的論理和することにより、本物のデータにもどす逆変
形処理である。これは、請求項7の実施例である。
下のようになる。R1とR2を以下の値とする。
撹乱用データを以下のようにする。レジスタR1とR2
の値は同じものとする。
以下のようになる。
以下のようになる。
タ処理した結果は、以下のようになる。
のまま扱った処理結果式14と同じ結果が得られる。
タも撹乱用データも同じデータ処理を行い、その結果を
使って逆変形することにより、元の値を求めることがで
きる。そして、データ処理では、本物のデータは使われ
ていないため、その電流波形を見ても処理している変形
データは推定できるが、本物のデータを推定することは
困難である。
な形式で示す。実際の処理を以下の通りとする。
の出力Outputを出力する処理である。式2と3の例で
は、R1とR2の二つの入力であり、出力は一つで、R
2に格納されていた例である。式24の処理中の電流波
形から処理されるデータを推定することを困難にするた
めに、以下のように行う。
Input(i)を変形し、変形した入力データInputX(i)を作
成する変形処理である。hは変形操作である。式26
は、変形した入力データを使いデータ処理を行うデータ
処理である。式27は撹乱用データを入力データと同じ
ように処理する撹乱用データ処理である、式28は、変
形した入力データのデータ処理結果OutputX(j)と撹乱用
データの処理結果Xoutput(j)を変形の逆変換を行う逆変
形処理である。gは逆変形操作である。
応し、変形操作hは排他的論理和である。式6と式7は
式26の変形された入力データのデータ処理に対応す
る。式8と式9は、式27の撹乱用データのデータ処理
である。式10は、式28の逆変形処理である。変形操
作gは排他的論理和である。変形操作hと逆変形操作g
を何に選ぶかはデータ処理fの特性で決まる。式2と3
の処理では、排他的論理和が、変形操作hであり、逆変
形操作gでもある。これは、シフト操作やXOR操作など
は、排他的論理和を変形操作hとして選ぶことにより、
逆変形操作gも排他的論理和を選ぶことができる。排他
的論理和は、同じデータを排他的論理和を取ったなら
ば、論理的ゼロになり、排他的論論理和を取った操作が
消えるからである。
hに加算、あるいは減算をえらび、逆変形操作に減算、
あるいは加算を選ぶことができる。例えば、 Output = Input(1) + Input(2) - Input(3) (式29) のような操作は、以下のような変形処理を行い、 InputX(1) = Input(1) + X(1) (式30) InputX(2) = Input(2) + X(2) (式31) InputX(3) = Input(3) + X(3) (式32) 変形した入力データを処理することにより変形した入力
データの処理結果を得ることができる。
算の演算では、ある値を加算して演算し、最期の結果に
加算した値を減算すれば、正しい結果が求まることから
である。これは、請求項8と9の実施例である。
hに乗算、あるいは除算をえらび、逆変形操作に除算、
あるいは乗算を選ぶことにより、変形処理と逆変形処理
を実現することができる。この理由は、加減算と同じで
あり、乗除算の演算では、ある値を乗算(除算)して演
算し、最期の結果に乗算(除算)した値を除算(乗算)
すれば、正しい結果が求まることからである。これは、
請求項10と11の実施例である。
ば、変形操作hに法Nの整数倍の加減算を選ぶことがで
きる。例えば、以下のような加減剰余演算を考える。
う。
なり、式39は、 OutputX = (Input(1) + Input(2) - Input(3)) mod N (式41) となる。すなわち、変形した入力データの演算結果は、
本来の演算結果と同じである。これは、剰余演算の特徴
を使うことにより、撹乱用データのデータ処理と逆変形
処理が不要である例である。これは、撹乱データのデー
タ処理の結果が Xoutput(i) = k(1) * N + k(2) * N - k(3) * N mod N (式42) が、そもそも0になるため、撹乱用データのデータ処理
と逆変形処理が不要であるためである。これは、請求項
12の実施例である。
変形操作hに法Nの整数倍に1を加えたものを使うこと
ができる。例えば、以下のような乗算剰余演算を考え
る。
う。
本物の演算結果と同じである。これも、剰余演算の特徴
を使うことにより撹乱データのデータ処理と逆変形処理
が不要である例である。これは、請求項22の実施例で
ある。
れば、変形操作hにある数Xと法Nに対して逆数である
Yを使うこともできる。
1)/2であるものがある。これは、変形操作としてXを
掛けておき、逆変形でXを掛けた回数だけYを掛けるこ
とにより、本物の処理結果を求めるものである。例え
ば、以下のような加減剰余演算を考える。
う。
けたものを選ぶと、OutputXに逆変形処理gを操作する
ことにより、正しい結果をえることができる。
用データのデータ処理は不要であるが、撹乱用データを
掛けた回数だけ、法Nでその逆数を逆変形処理で掛けれ
ば、正しい結果を得ることができる。これは、請求項1
3と14の実施例である。
ある例であったが、テーブルからのデータ取り出し操作
を撹乱することも電流波形からデータを推定させないた
めに必要である。テーブルのデータの撹乱とテーブルの
アドレスの撹乱に関する実施例について、図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と列番号変数Rets
uが排他的論理和で変形されているとする。すなわち、
正しい行番号Gyouと列番号RetsuはY1とY2をGyouとRetsu
に排他的論理和を実行しないと得られないとする。それ
は、以下のような関係である。
うことは、真のアドレスデータを使うため、電流波形か
らアドレスデータを推定される可能性がある。そこで、
まず、図35のテーブルを作った時に、行番号と列番号
を撹乱するために使用した撹乱用データX2と撹乱用デー
タX3を用いる。
行う。
ないため、電流波形からその値を推定することは困難で
ある。GyouX2とRetsuX3を使って、図35のテーブルTab
leX1X2X3を参照しDataX1を取る出す。
いるため、これ以降は、撹乱用データをX1として処理を
行う。式56から式60までの処理で真のデータを使用
していない。これは、請求項16と17の実施例であ
る。
乱用データX1や行番号の撹乱用データX2、列番号の撹乱
用データX3をランダムに生成し、テーブルを変形してお
く。こうすることにより、処理ごとにテーブルが変形さ
れるため、電流波形からデータを推定することは困難で
ある。
方法について説明してきた。次に、その処理手順を示
す。図4に基本的な撹乱用データを使った情報隠蔽手順
の実施例について示す。
タ生成手段で撹乱用データXiを生成する(401)。こ
の一般的な方法としては、乱数発生器や擬似乱数を使っ
て必要な長さの乱数を生成する方法がある。次に、デー
タ変形処理手段(406)で、入力データD1を撹乱用デ
ータXi(405)で変形し、変形データH1(407)を
生成する。変形方法は、先に述べたように、排他的論理
和や、加減算、乗除算などがある。そして変形データH
1を使ってデータ処理を変形データ処理手段(408)
で行い、処理済み変形データH2を生成する。一方、撹
乱用データXiは入力データと同じデータ処理を撹乱用
データ処理手段(403)で行い、処理済みの撹乱用デー
タXo(404)を作成する。そして、撹乱用データXoと
処理済み変形データH2を使い、データ逆変形処理手段
(410)で真の処理済みデータD2(411)を求め
る。データ変形処理手段(406)やデータ逆変形処理
手段(410)の方法には、すでに説明した、排他的論
理和や加減算、乗除算、剰余演算などがある。これは、
請求項1の実施例である。
た例であり、第1の撹乱用データを使った情報隠蔽処理
の中に第2の撹乱用データを使った情報隠蔽処理が含ま
れている場合である。主な流れは、図4の実施例と同じ
である。第1の撹乱用データで変形された変形データH
1(507)をデータ処理し、その処理結果である処理
済み変形データH2(509)に第2の撹乱用データX2
iを使って第2データ変形処理手段(510)で変形を
行い、処理済み変形データH3(511)を作成する。そ
のデータを第2変形データ処理手段(512)でデータ
処理を行い、処理済み変形データH4を生成し、第2の
撹乱用データの逆変換を第2データ逆変形処理手段(5
20)でおこない、処理済み変形データH5(521)
を生成する。そして、第1の撹乱用データの逆変換を第
1データ逆変形処理手段(514)で行い、真の処理済
みデータD2(515)を求める。変形に排他的論理和
を使った例は、以下の通りである。
うに、第2のデータ処理f2で、別のデータD2を使う
場合で、そのデータD2を第2の撹乱用データで変形し
て使用する場合に、本実施例の処理手順を使うと有効で
ある。これは、請求項2の実施例である。
た例である。図5の実施例との大きな違いは、第1の撹
乱用データを使った情報隠蔽処理と第2の撹乱用データ
を使った情報隠蔽処理がつながっている場合である。そ
して、第1の撹乱用データによる変換を戻す逆変形処理
の前に、第2の撹乱用データで変形しておき、真のデー
タを使った処理を隠蔽するための手順である。第1の撹
乱用データで変形された変形データH1(609)は、
第1変形データ処理手段(610)でデータ処理を行
い、その処理済み変形データH2(611)を第2変形
データ作成手段(612)で第2の撹乱用データを使っ
て変形し、処理済み変形データH3(613)を生成す
る。そして、第1撹乱用データの逆変換を第1データ逆
変形処理手段(605)で行う。その処理結果である処
理済み変形データH4(606)を使って第2変形デー
タ処理手段(614)を行い、処理済み変形データH5
(615)を生成する。そして、第2データ逆変形処理手
段(616)で、逆変換を行い、真の処理済みデータD2
(617)を生成する。変形に排他的論理和を使った例
は、以下の通りである。
必要な場合に有効である。これは、請求項3の実施例で
ある。
は、データ処理をあらかじめ計算しておき、処理を効率
化するものである。あらかじめ、撹乱用データ処理手段
で処理済み撹乱用データXoを生成し(703)、処理済
み撹乱用データ記録手段(706)で、記録しておく。
処理の中では、データ逆変形処理手段(713)では、
記録しておいた処理済み撹乱用データ(714)を読み
だし、使用する。これは、同じようなデータ処理を何回
も実行する場合には効率の面で有効である。しかし、撹
乱用データが何回も使われるため、情報の隠蔽性にとっ
て、図4の実施例のように撹乱用データを毎回変更する
方が、有効である。これは、処理速度と情報の隠蔽性の
トレードオフから決まる。これは、請求項5の実施例で
ある。
タの逆変形を統合して行い、その後その結果を使って、
データの逆変形を行うものである。第1と第2の撹乱用
データは、それぞれ、第1撹乱用データ処理手段(80
3)と第2撹乱用データ処理手段(807)で処理済み
撹乱用データX1oとX2oが作られる。それらのデータをデ
ータ逆変形統合手段で統合し、統合処理済み撹乱用デー
タXoを生成する。そのデータを使い、第1変形データ処
理(814)及び第2変形データ処理(818)を処理した
結果である処理済み変形データH4(819)の逆変形処
理手段(820)を行い、真の処理済みデータD2を生
成する。これは、個別に逆変形する場合よりも、処理済
み撹乱用データを統合し、そのあと、まとめて変形処理
を行う方法である。逆変形処理に処理時間がかかる場合
に有効である。これは、請求項4の実施例である。
dard)を例にした実施例について説明する。本発明は、
他の暗号にも使うことができる。暗号については、共立
出版株式会社岡本栄司著「暗号理論入門」などに、記載
されている。
文)を56ビットの暗号鍵で、暗号化と復号化を行う。
暗号化と復号化で同じ暗号鍵を使用するため、対称暗号
と呼ばれている。DESは、トランプをきって、ランダム
にするように、平分(暗号化される文)のビットをラン
ダムに入れ替え暗号化する。データの入れ替えは、暗号
鍵にしたがって行う。復号化する時は、暗号鍵に従い入
れ替えた順と逆に入れ替えを行い、データを元に戻す。
DESの処理での入れ替えは、ビット単位と複数ビットま
とまった単位での二つの入れ替え方法がある。前者は、
転置と呼び、後者は、換字と呼ぶ。
する。変形処理a(901)と変形処理b(904)、逆
変形処理(916)は、本発明に関するものであり、DES
の本来の暗号処理には関係がない。暗号文は、まず、初
期転置(IP:Initisal Permutation)902で転置させら
れる。これは、初期転置テーブルに従い、ビット単位
で、暗号文の64ビットのデータを入れ替える。これ以
降、初期転置の逆転置(IP-1)916まで、一組の操作
を16段行う。
の32ビットのデータと暗号鍵を入力としてf関数90
3と呼ばれる処理を行い、その出力を前段の残りの半分
のビットを使って排他的論理和909を取る操作を行
う。暗号鍵も、入れ替えが行われる。暗号鍵に対して、
まず、PC−1というテーブルを使った選択転置PC-1
(905)が行われる。その後、PC−2というテーブ
ルを使った選択転置PC−2 (908)を行い、暗号
鍵の入れ替えを行う。次の段では、28ビットづつをL
Sテーブルにしたがって巡回させて使用する。
するための変形処理a(901)と暗号鍵を変形するた
めの変形処理b(904)、そして、最期に逆変形する処
理(916)を追加する。変形処理a(901)は、平文
を変形し、IP処理(902)やf関数(903)の処理
で、平文そのものを処理するのではなく、変形した平文
を処理することにより、その処理の電流波形から平文の
データを推定できないようにするものである。変形処理
b(904)は、PC-1処理(905)やLS処理(90
7)、PC−2処理(908)、f関数(903)で暗号
鍵そのものを処理するのではなく変形した暗号鍵を処理
することにより、その処理の電流波形から暗号鍵の推定
を困難にするものである。
ず、f関数への入力文を選択的転置行列Eに基づいて、
選択的転置を行う(1002)。次に、選択的転置を行
った入力データと暗号鍵との排他的論理和をとり(10
03)、Sボックスの処理を行い(1004)、P転置
処理を行う(1005)。Sボックスの処理は、100
3の排他的論理和の処理結果である48ビットから6ビ
ットづつ取り出し、8つのSボックステーブルの行番号
と列番号を求め、4ビットのデータを生成する処理であ
る。各Sボックステーブルは、6ビットごとで示されて
いるデータの位置により異なる。P転置処理は、P転置
テーブルに従い、32ビットのビット位置を入れ替える
操作である。
2)は基本的に同じ処理である。図11を用いて変形処
理aの平文の変形データの作成処理について説明する。
撹乱用データX1をランダムに生成する。これは、DES
の暗号化(あるいは復号化)処理ごとに乱数発生器か擬
似乱数を使って生成する(1102)。毎回、異なった
撹乱用データを使用する。次に撹乱用データX1と平文
PをXOR(排他的論理和)を実行し、変形平文(変形した平
文)PX1を生成する(1103)。DESの場合は、平文は
64ビットであるが、生成する乱数は、64ビットでも
8ビットでも構わない。しかし、64ビット以下なら
ば、拡張するようなことを行い、64ビットの撹乱用デ
ータX1を生成する必要がある。生成した乱数が8ビッ
トであれば、それを8回繰りかえして64ビットの撹乱
用データX1を生成してもよい。ここで、排他的論理和
(XOR)を使って変形したため、撹乱用データX1と変
形平文PX1をXORすると、平文Pが生成される。これは、
請求項6の実施例でもある。
タの作成手順を図36に示す通りである。平文と撹乱用
データX1の代わりに暗号鍵Kと撹乱用データX2を用
いている点が、図11の実施例と異なるだけである。DE
Sでは、暗号鍵は平文と同じ64ビットである。処理で
変形された暗号鍵KX2が生成される。
る。IP処理は、図37に示すテーブルにしたがって平文
64ビットの並びを入れ替えるものである。テーブルに
従い、出力の第1ビットは入力の第58ビット、出力の
第2ビットは入力の第50ビット、出力の第64ビット
は入力の第7ビットと入れ替える。本実施例でのIP処理
を、図12を用いて説明する。まず、変形平文PX1をIP
処理し、IP処理済み変形平文PX1IPを生成する(120
2)。ビットの入れ替えは、図37のテーブルに従う。
次に、撹乱用データX1も同じようにIP処理し、IP処理
済み撹乱用データX1IPを生成する(1203)。IP処理
済み変形平文PX1IPとIP処理済み撹乱用データX1IPとは
排他的論理和を取ると、平文をIP処理した結果を生成す
ることができる。これは、IP処理がビットの移動である
ため、撹乱用データも変形平文PX1と同じように移動
したため、ビットごとに排他的論理和を実行すると真の
データが求まるという関係が維持されているためであ
る。IP処理の下位32ビットが第1段のf関数(90
3)と第2段の排他的論理和に使われ、上位32ビット
は、排他的論理和(909)の入力となる。これは、請
求項1、7、18、20の実施例である。
は、元の平文のビットの値と異なるため、IP処理の電流
波形を見ても、平文のデータを推定することは困難であ
る。“1”のビットの数によって、消費電流は大きくな
るが、変形平文での“1”のビットの数は、平文の
“1”のビットの数と何ら関係はない。そのため、電流
波形の大きさから、平文のデータを推定することは困難
である。このように、平文を撹乱用データで変形するこ
とにより、処理中の電流波形を観測しても元のデータを
推定することが困難にすることができる。
る。図38のPC-1用の変換テーブルを使い、64ビット
の暗号鍵をパリティビットの8ビットを取り除き、56
ビットにし、かつビットの順序を入れ替えるものであ
る。図38のテーブルの見方は図37のテーブルの見か
たと同じである。PC−1処理済みの変形暗号鍵KX2PC1
とPC-1処理済みの撹乱用データX2PC1は、排他的論理和
を実行すると、正しいPC-1処理済みの暗号鍵が求まる。
トの鍵を右と左に28ビットずつに分け、それぞれLS
テーブルにしたがって左に1ビットあるいは2ビットシ
フトするものである。実施例を図15を用いて説明す
る。まず、1502で、PC-1処理処理済み変形暗号鍵KX
2PC1した結果をLS処理し、PC-1及びLS処理済み変形暗
号鍵KX2PC1LSを生成し、1503で、PC-1処理処理済み
撹乱用データX2PC1した結果をLS処理し、PC-1及びLS
処理済み撹乱用データX2PC1LSを生成する。LS処理もビ
ット位置の入れ替えであるため、PC-1及びLS処理済み変
形暗号鍵KX2PC1LSとPC-1及びLS処理済み撹乱用データX2
PC1LSの排他的論理和を実行すると、真のLSを処理した
暗号鍵の結果が得られる。LS処理でも、撹乱用データを
使ったため、実際に操作されているデータは、真の暗号
鍵とは違うため、電流波形を観測しても、暗号鍵の推定
は困難である。
PC-2テーブルにしたがって、48ビットに縮約型転置す
る。1402で、PC-1及びLS処理済み変形暗号鍵KX2PC1
LSをPC-2処理し、PC-1及びLS、PC-2処理済み変形暗号鍵
KX2PC1LSPC2を生成する。1403で、PC-1及びLS処理
済み撹乱用データX2PC1LSをPC-2処理し、PC-1及びLS、P
C-2処理済み撹乱用データX2PC1LSPC2を生成する。基本
的には、テーブルを使った転置であるため、PC-1処理と
基本的に同じである。
る。f関数は、図10に示すように、選択的転置E処理
(1002)、暗号鍵と選択的転置の実行結果の排他的
論理和(1003)、Sボックス処理(1004)、P転置
処理(1005)からなる。
説明する。選択的転置Eは、IP処理と同じように図28
の転置テーブルを使って、ビットの並びを変更するもの
である。1602で、IP処理済み変形平文PXIPを選択的
転置E処理し、IP処理及びE転置処理済み変形平文PXIPE
を生成する。そして、1603でIP処理済み撹乱用デー
タXIPを選択的転置E処理し、IP処理及びE転置処理済み
撹乱用データXIPEを生成する。IP処理やPC-1処理と同じ
ように、IP処理及びE転置処理済み変形平文PXIPEとIP処
理及びE転置処理済み撹乱用データXIPEを排他的論理和
をとれば、正しいIP処理及びE転置処理済み平文が求ま
る。また、転置Eテーブルを使ってビットに入れかを行
う際も、ビットの値は、変形されているビットの値であ
るので、その処理の電流波形を見ても真のデータを推定
することは困難である。
鍵と選択的転置の実行結果の排他的論理和の処理を行
う。この処理について、図17を用いて説明する。17
02では、平文から生成したIP処理及びE転置処理済み
変形平文PXIPEと、暗号鍵から生成したPC-1及びLS、PC-
2処理済み変形暗号鍵KX2PC1LSPC2とをXORし、Sボック
ス処理の入力となる48ビットのSボックス入力データ
SinputXを作成する。次に1703では、平文用の撹乱
用データから生成したIP処理及びE転置処理済み撹乱用
データXIPEと、暗号鍵用の撹乱用データから生成したPC
-1及びLS、PC-2処理済み撹乱用データX2PC1LSPC2とをXO
Rし、Sボックス入力データSinputX用の撹乱データであ
るSボックス入力データ撹乱用データXSinputを生成す
る。排他的論理和の性質から、Sボックス入力データ撹
乱用データXSinputは、二つの撹乱用データ(PC-1及びL
S、PC-2処理済み撹乱用データX2PC1LSPC2と、PC-1及びL
S、PC-2処理済み撹乱用データX2PC1LSPC2)をXORするこ
とにより生成できる。これを簡単な例で示す。ここ、平
文をPと鍵をK、その変形平をPX1、変形鍵をKX2とする。
それらの関係は、式63と式64である。X1とX2は、平
文と鍵の撹乱用データである。
すると、PX1とPX2の排他的論理和を実行した結果Z1と
Zの関係は、以下のようになる。
としてPとKの撹乱用データを排他的論理和を使えばよ
いことが分かる。暗号鍵と選択的転置の実行結果の排他
的論理和の処理では、Sボックス入力データSinputXの
撹乱用データとして、平文用の撹乱用データから生成し
たIP処理及びE転置処理済み撹乱用データXIPEと、暗号
鍵用の撹乱用データから生成したPC-1及びLS、PC-2処理
済み撹乱用データX2PC1LSPC2とをXORして生成したSボ
ックス入力データ撹乱用データXSinputを使えばよいこ
とが分かる。これは、請求項18の実施例である。
用いて説明する。Sボックス入力データSinputXから6
ビットずつ取り出し、8つのSボックスについて処理を
行う。DESで使われている1番目のSボックスを、図2
5で示す。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し、SubSinputXsa(i)を生成する(180
7)。SubSinputXsa(i)は、i番目のSボックスを取り出
すための本物のアドレスデータに対して、アドレス撹乱
用データXsa(i)が排他的論理和された値である。SubSin
putX(i)とXSinput(i)を排他的論理和(XOR)すると、そ
れは、真のデータに戻るのであるので、XSinput(i)と排
他的論理和する前に、SubSinputX(i)とXsa(i)の排他的
論理和を行い、その後で、XSinput(i)を排他的論理和
(XOR)を実行する。こうすることにより、本物のデー
タの処理を行う必要がなくなり、その電流波形からデー
タを推定することが困難になっている。次に、SubSinpu
tXsa(i)を使って、変形Sボックステーブルのアドレス
を計算する(1808)。本来のSボックスのテーブル
を参照するためのアドレスが変形されているため、テー
ブルをあらかじめ変形しておく必要がある。計算したア
ドレスを元に、変形SボックステーブルS(i)からS
ボックス出力データSoutputX3(i)を取り出す(180
9)。そして、同時にSボックスの出力データSoutputX
3(i)用の撹乱用データX3(i)を取り出す(1810)。
8つのSボックスを処理し、 SoutputX3(i)とX3(i)をi
を1から8までのデータをそれぞれ連結することによっ
て、SoutputX3とX3を生成する。これ以降は、処理デー
タは、SoutputX3となり、撹乱用データはX3となる。こ
れは、請求項21の実施例である。
について図23と図24を用いて説明する。ここのSボ
ックスで、S(i)ボックス用のアドレス撹乱用データ
Xsa(i)とデータ撹乱用データX3(i)を作成する(230
6)。Xsa(i)は6ビットであり、X3(i)は4ビットであ
る。撹乱用データX3は4ビットずつ作成したX3(i)を8
個集めた32ビットのデータである。次に、変形S(i)
ボックステーブル作成ルーチンを呼びだす(230
7)。i番目の変形Sボックステーブル作成ルーチンの
処理を図24で説明する。kは行番を指定し、lは列番
号を指定する。k行l列の処理は2408から2413
である。1番目のSボックスのテーブルは、図25に示
す通りである。まず、i番目のオリジナルのSボックス
の行番号k列番号lのデータdを取り出す(240
8)。そして、そのデータdと撹乱用データX3(i)を排
他的論理和を取り、それをd2とする(2409)。こ
れは、撹乱用データを“7”とすると、元のSボックス
のデータ2504に対して、その結果は2604にな
る。これをすべてのフィールドに行うと、図26のよう
になる。図26のテーブルは、図25の1番目のSボッ
クスのデータに対して、撹乱用データを“7”として排
他的論理和を取ったものである。
をXsa(i)の上位1ビットと下位1ビットから作った2ビ
ットとし、Xsa2を Xsa(i)の上位2ビットから5ビット
から作った4ビットのデータとする。これは、Sボック
スのアドレスの計算方法に由来している。そして、図2
6の行番号と列番号をそれぞれkとlとすると、それぞ
れにXsa1とXsa2を排他的論理和を行う(2412)。新
しくできた行番号と列番号をk2とl2とすると、i番
目の変形SボックステーブルS(i)のk2行l2列にデー
タ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の実施例でもある。
タは、32ビットのSoutputX3となり、撹乱用データは
32ビットのX3となる。これが、f関数の最後の処理で
ある転置P処理(1005)の入力となる。転置P処理
を図19を用いて説明する。Sボックスの出力であるSi
nputX3を転置Pし、SinputX3Pを生成する(190
2)。SinputX3の撹乱用データX3を転置Pし、X3Pを生
成する(1903)。転地Pに使用するテーブルは図2
9の通りである。このテーブルの使い方もIP処理のテー
ブルと同じである。
段の結果のXORを行う(909とか914)である。こ
れは、まず、Sボックスの結果を転置PしたSinputX3P
と前段の結果をXORする(2002)。そして、X3Pと前
段の撹乱用データXをXORする(2003)。このXORの
処理は、選択的転置E処理結果と暗号鍵のXOR処理(17
01)と同じである。
う。この処理を図21に示す。IP-1処理は、IP処理と似
たようなビットの並びの入れ替え処理であり、IPテーブ
ルの代わりにIP-1テーブルを使用する(2102)。こ
れまでの処理結果をIP-1処理し、同様に撹乱用データX
をIP-1処理する(2103)。
変形処理を行う(916)。逆変形処理を図22に示
す。IP-1処理結果をIP-1処理した撹乱用データXでXOR
することにより、正しい結果を求める。ここで、初め
て、変形されていない正しい処理結果が得られる。
述べてきたが、撹乱用データも隠蔽する必要がある場合
がある。基本的考え方は、撹乱用データを撹乱用の撹乱
用データXRと排他的論理和を取り、変形することであ
る。ただし、XRは、固定にしておき、あらかじめ、ビット位
置の入れ替えなどを計算し逆変形のためのXRoを求めて
おく。そして、撹乱用データが必要になったときに、XRo
を使って、元の撹乱用データを求めることにより、撹乱用
データの変形と逆変形の実施と効率化を図る。まず、暗
号鍵用の撹乱用データを例にして説明する。図30の処
理は、暗号鍵用の撹乱用データを撹乱用の撹乱用データX
Rで排他的論理和をとる変形操作である。変形処理b
(3601)で撹乱用データX2を生成した後に、図3
0の撹乱用データの変形処理を行う。暗号鍵用の撹乱用
データX2はPC―1処理やLS処理、PC-2処理を受け
る。これらは、あらかじめ、決まったビットの位置の入れ
替えであるので、前もって決まっている値XRに対して、PC
-2処理まで実行したときの撹乱用データXRoを求めてお
き記録しておく(3102から3105)。PC-2処理し
た後に、1403で生成したPC-1及びLS、PC-2処理済み撹
乱用データX2PC1LSPC2に記録しておいた撹乱用データXR
oをXORして(3202)、本来のPC-1及びLS、PC-2処理済
み撹乱用データX2PC1LSPC2を求めることができる。この
ようにすることにより、撹乱用データも隠蔽することが
できる。ここで、撹乱用の撹乱用データXRとその処理済
撹乱h尿データXRoは、同じデータを使ってもよい。
ルゴリズムは、復号化でもほとんど同じであるため、本実
施例はほとんど変更しないで適用できる。また、DES以外
の暗号アルゴリズムも、転置処理や換字処理、剰余演算を
多く使っているため、本発明を適用し、データを変形し、
電流波形から本来のデータを推定することを困難にする
ことができる。
理データを変形することにより、消費電流の波形から、処
理や暗号鍵の推測を困難になる。
順。
形の手順。
の手順。
ておくデータ変形の手順。
変形の手順。
ン。
したテーブル。
たテーブル。
理。
ル。
Claims (23)
- 【請求項1】プログラムを格納するプログラム格納部、
データを保存するデータ格納部を持つ記憶装置とプログ
ラムに従い、所定の処理を実行し、データ処理を行う中
央演算装置を持ち、プログラムは、中央演算装置に実行
の指示を与える処理命令から構成される一つ以上のデー
タ処理手段からなり、一つのデータ処理手段が、その入
力データを処理し、処理済みデータを出力する入力デー
タ処理手段を含む、情報処理装置において、撹乱用デー
タXiを使って入力データD1を変形し、変形データH1を作
成するデータ変形処理手段、変形データH1を入力データ
処理手段と同じ処理を行い、処理済み変形データH2を作
成する変形データ処理手段、撹乱用データXiを入力デー
タ処理手段と同じ処理を行い、処理済み撹乱用データXo
を作成する撹乱用データ処理手段、処理済み撹乱用デー
タXoを使って処理済み変形データH2を処理し、入力デー
タD1を入力データ処理手段で処理した結果である処理済
みデータD2を得るデータ逆変形処理手段、を有すること
を特徴とする情報処理装置。 - 【請求項2】プログラムを格納するプログラム格納部、
データを保存するデータ格納部を持つ記憶装置とプログ
ラムに従い、所定の処理を実行し、データ処理を行う中
央演算装置を持ち、プログラムは、中央演算装置に実行
の指示を与える処理命令から構成される一つ以上のデー
タ処理手段からなり、一つのデータ処理手段が、その第
1入力データを処理し、第1処理済みデータを出力する
第1入力データ処理手段と、別のデータ処理手段が、そ
の第2入力データを処理し、第2処理済みデータを出力
する第2入力データ処理手段を含む、情報処理装置にお
いて、第1撹乱用データX1iを使って第1入力データD1
を変形し、変形データH1を作成する第1データ変形処理
手段、変形データH1を第1入力データ処理手段と同じ処
理を行い、処理済み変形データH2を作成する第1変形デ
ータ処理手段、第1撹乱用データX1iを第1入力データ
処理手段と同じ処理を行い、第1処理済み撹乱用データ
X1oを作成する第1撹乱用データ処理手段、第2撹乱用
データX2iを使って処理済み変形データH2を変形し、処
理済み変形データH3を作成する第2データ変形処理手
段、処理済み変形データH3を第2入力データ処理手段と
同じ処理を行い、処理済み変形データH4を作成する第2
変形データ処理手段、第2撹乱用データX2iを第2入力
データ処理手段と同じ処理を行い、第2処理済み撹乱用
データX2oを作成する第2撹乱用データ処理手段、第2
処理済み撹乱用データX2oを使って処理済み変形データH
4を処理し、処理済み変形データH5を得る第2データ逆
変形処理手段、第1処理済み撹乱用データX1oを使って
処理済み変形データH5を処理し、処理済みデータD2を得
る第1データ逆変形処理手段、を有することを特徴とす
る情報処理装置。 - 【請求項3】プログラムを格納するプログラム格納部、
データを保存するデータ格納部を持つ記憶装置とプログ
ラムに従い、所定の処理を実行し、データ処理を行う中
央演算装置を持ち、プログラムは、中央演算装置に実行
の指示を与える処理命令から構成される一つ以上のデー
タ処理手段からなり、一つのデータ処理手段が、その第
1入力データを処理し、第1処理済みデータを出力する
第1入力データ処理手段と、別のデータ処理手段が、そ
の第2入力データを処理し、第2処理済みデータを出力
する第2入力データ処理手段を含む、情報処理装置にお
いて、第1撹乱用データX1iを使って第1入力データD1
を変形し、変形データH1を作成する第1データ変形処理
手段、変形データH1を第1入力データ処理手段と同じ処
理を行い、処理済み変形データH2を作成する第1変形デ
ータ処理手段、第1撹乱用データX1iを第1入力データ
処理手段と同じ処理を行い、第1処理済み撹乱用データ
X1oを作成する第1撹乱用データ処理手段、第2撹乱用
データX2iを使って処理済み変形データH2を変形し、処
理済み変形データH3を作成する第2データ変形処理手
段、第1処理済み撹乱用データX1oを使って処理済み変
形データH3を処理し、処理済み変形データH4を得る第1
データ逆変形処理手段、処理済み変形データH4を第2入
力データ処理手段と同じ処理を行い、処理済み変形デー
タH5を作成する第2変形データ処理手段、第2撹乱用デ
ータX2iを第2入力データ処理手段と同じ処理を行い、
第2処理済み撹乱用データX2oを作成する第2撹乱用デ
ータ処理手段、第2処理済み撹乱用データX2oを使って
処理済み変形データH5を処理し、処理済みデータD2を得
る第2データ逆変形処理手段、を有することを特徴とす
る情報処理装置。 - 【請求項4】プログラムを格納するプログラム格納部、
データを保存するデータ格納部を持つ記憶装置とプログ
ラムに従い、所定の処理を実行し、データ処理を行う中
央演算装置を持ち、プログラムは、中央演算装置に実行
の指示を与える処理命令から構成される一つ以上のデー
タ処理手段からなり、一つのデータ処理手段が、その第
1入力データを処理し、第1処理済みデータを出力する
第1入力データ処理手段と、別のデータ処理手段が、そ
の第2入力データを処理し、第2処理済みデータを出力
する第2入力データ処理手段を含む、情報処理装置にお
いて、第1撹乱用データX1iを使って第1入力データD1
を変形し、変形データH1を作成する第1データ変形処理
手段、変形データH1を第1入力データ処理手段と同じ処
理を行い、処理済み変形データH2を作成する第1変形デ
ータ処理手段、第1撹乱用データX1iを第1入力データ
処理手段と同じ処理を行い、第1処理済み撹乱用データ
X1oを作成する第1撹乱用データ処理手段、第2撹乱用
データX2iを使って処理済み変形データH2を変形し、処
理済み変形データH3を作成する第2データ変形処理手
段、処理済み変形データH3を第2入力データ処理手段と
同じ処理を行い、処理済み変形データH4を作成する第2
変形データ処理手段、第2撹乱用データX2iを第2入力
データ処理手段と同じ処理を行い、第2処理済み撹乱用
データX2oを作成する第2撹乱用データ処理手段、第1
処理済み撹乱用データX1oと第2処理済み撹乱用データX
2oの逆変形を統合し、統合処理済撹乱用データXoを作成
するデータ逆変形統合処理手段、統合処理済撹乱用デー
タXoを使って処理済み変形データH4を処理し、処理済み
データD2を得るデータ逆変形処理手段、を有することを
特徴とする情報処理装置。 - 【請求項5】請求項1、2、3、4において、撹乱用デ
ータXiを入力データ処理手段と同じ処理を行い、処理済
み撹乱用データXoを作成する撹乱用データ処理手段、処
理済み撹乱用データXoを記録する処理済み撹乱用データ
記録手段、記録した処理済み撹乱用データXoを使って処
理済み変形データを処理し、新たに別の処理済み変形デ
ータを得るデータ逆変形処理手段、を有することを特徴
とする情報処理装置。 - 【請求項6】請求項1、2、3、4、5において、撹乱
用データとして乱数を生成する隠蔽データ生成処理手
段、を有することを特徴とする情報処理装置。 - 【請求項7】請求項1、2、3、4、5、6において、
データ変形処理手段およびデータ逆変形処理手段とし
て、排他的論理和を使うことを特徴とする情報処理装
置。 - 【請求項8】請求項1、2、3、4、5、6において、
データ変形処理手段として、加算を使うことデータ逆変
形処理手段として、減算を使うことを特徴とする情報処
理装置。 - 【請求項9】請求項1、2、3、4、5、6において、
データ変形処理手段として、減算を使うことデータ逆変
形処理手段として、加算を使うことを特徴とする情報処
理装置。 - 【請求項10】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、掛け算を使うことデー
タ逆変形処理手段として、割り算を使うことを特徴とす
る情報処理装置。 - 【請求項11】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、割り算を使うことデー
タ逆変形処理手段として、掛け算を使うことを特徴とす
る情報処理装置。 - 【請求項12】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、剰余演算で剰余演算の
法Nの整数倍を加算することデータ逆変形処理手段が不
要であることを特徴とする情報処理装置。 - 【請求項13】請求項1、2、3、4、5、6におい
て、剰余演算で 1 = X * Y mod N という関係のある数X、Yにおいてデータ変形処理手段と
して、剰余演算でXを整数倍乗算することデータ逆変形
処理手段として、データ変形処理手段でXを乗算した回
数分、Yを整数倍乗算することを特徴とする情報処理装
置。 - 【請求項14】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、 Nを剰余演算の法とし
て、(N+1)/2を整数倍乗算すること、データ逆変形処理
手段として、データ変形処理手段で(N+1)/2を乗算した
回数分、2を整数倍乗算することを特徴とする情報処理
装置。 - 【請求項15】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、剰余演算で2を整数倍
乗算することデータ逆変形処理手段として、データ変形
処理手段で2を乗算した回数分、Nを剰余演算の法とし
て、(N+1)/2を整数倍乗算することを特徴とする情報処
理装置。 - 【請求項16】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、配列のデータの配置を
規則的な方法で変更すること、データ逆変形処理手段と
して、配列のデータの配置が変更された方法で配列のデ
ータをアクセスすることを特徴とする情報処理装置。 - 【請求項17】請求項16において、データ変形処理手
段での配列のデータの配置を規則的に変更方法として、
配列のインデックス(引数)をある数で排他的論理和を
とり、データの配置を入れ替えること、データ逆変形処
理手段で配列のデータにアクセスする際、配列のインデ
ックスをデータ変形処理手段で使用した数で排他的論理
和をとり、変形後の配列のインデックスを作成し、アク
セスすることを特徴とする情報処理装置。 - 【請求項18】請求項1から6において、データ処理手
段がビット単位のデータを入れ替える転置処理手段であ
ること、データ変形処理手段及びデータ逆変形処理手段
が排他的論理和であることを特徴とする情報処理装置。 - 【請求項19】請求項1から6において、データ処理手
段がバイト単位のデータを入れ替える換字処理手段であ
ること、データ変形処理手段及びデータ逆変形処理手段
が排他的論理和であることを特徴とする情報処理装置。 - 【請求項20】請求項1から6において、データ処理手
段がテーブルを使ってデータを入れ替える処理手段であ
ること、データ変形処理手段及びデータ逆変形処理手段
が排他的論理和であることを特徴とする情報処理装置。 - 【請求項21】請求項3において、第1のデータ処理
が、データ1とデータ2の排他的論理和を行いデータ3
を生成する、排他的論理和処理手段であること、第2の
データ処理が、データ3を用いて、配列のインデックス
を計算する配列アクセス処理手段であること、第1の変
形処理手段として、第1の撹乱用データとデータの排他
的論理和を使うこと、第1のデータ逆変形処理手段とし
て、排他的論理和を使うこと、第2の変形処理手段とし
て、第2の撹乱用データと配列のインデックスを排他的
論理和をとること、第2のデータ逆変形処理手段とし
て、排他的論理和を使うこと、を特徴とする情報処理装
置。 - 【請求項22】請求項1、2、3、4、5、6におい
て、データ変形処理手段として、剰余演算で剰余演算の
法Nの整数倍に1を加えたものを乗算すること、データ
逆変形処理手段が不要であることを特徴とする情報処理
装置。 - 【請求項23】データーを保存する記憶装置と、攪乱用
データを生成する攪乱用データ生成手段と、上記データ
を上記攪乱用データを用いて変形して変形データを作成
する変形データ作成手段と、上記変形データを処理する
変形データ処理手段と、上記攪乱用データを処理する攪
乱用データ処理手段と、処理後の上記変形データを処理
後の上記攪乱用データを用いて逆変形する逆変形手段と
を有することを特徴とする耐タンパ処理装置。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35415698A JP4317607B2 (ja) | 1998-12-14 | 1998-12-14 | 情報処理装置、耐タンパ処理装置 |
US09/458,018 US6631471B1 (en) | 1998-12-14 | 1999-12-10 | Information processing equipment |
TW088121816A TW517189B (en) | 1998-12-14 | 1999-12-13 | Information management device |
KR1019990057028A KR100726903B1 (ko) | 1998-12-14 | 1999-12-13 | 정보 처리 장치 |
EP99124934A EP1011081B1 (en) | 1998-12-14 | 1999-12-14 | Information processing equipment |
CNB991267079A CN1200392C (zh) | 1998-12-14 | 1999-12-14 | 信息处理方法 |
DE69906022T DE69906022T2 (de) | 1998-12-14 | 1999-12-14 | Datenverarbeitungsanlage |
US09/528,995 US6615354B1 (en) | 1998-12-14 | 2000-03-20 | Information processing equipment |
KR1020060076642A KR100674550B1 (ko) | 1998-12-14 | 2006-08-14 | 정보 처리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35415698A JP4317607B2 (ja) | 1998-12-14 | 1998-12-14 | 情報処理装置、耐タンパ処理装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003320601A Division JP2004078976A (ja) | 2003-09-12 | 2003-09-12 | 情報処理装置、耐タンパ処理装置 |
JP2003320599A Division JP4003723B2 (ja) | 2003-09-12 | 2003-09-12 | 情報処理装置、耐タンパ処理装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000182012A true JP2000182012A (ja) | 2000-06-30 |
JP2000182012A5 JP2000182012A5 (ja) | 2004-09-30 |
JP4317607B2 JP4317607B2 (ja) | 2009-08-19 |
Family
ID=18435672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35415698A Expired - Fee Related JP4317607B2 (ja) | 1998-12-14 | 1998-12-14 | 情報処理装置、耐タンパ処理装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6631471B1 (ja) |
EP (1) | EP1011081B1 (ja) |
JP (1) | JP4317607B2 (ja) |
KR (2) | KR100726903B1 (ja) |
CN (1) | CN1200392C (ja) |
DE (1) | DE69906022T2 (ja) |
TW (1) | TW517189B (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002247025A (ja) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | 情報処理装置 |
JP2003518872A (ja) * | 1999-12-28 | 2003-06-10 | ギーゼッケ ウント デフリエント ゲーエムベーハー | 鍵の細分化によってアクセスを防止する携帯可能なデータ記憶媒体 |
JP2005195829A (ja) * | 2004-01-07 | 2005-07-21 | Hitachi Ltd | 復号または署名作成におけるべき乗剰余算の計算方法 |
JP2008061118A (ja) * | 2006-09-01 | 2008-03-13 | Toshiba Corp | 暗号処理回路及びicカード |
JP2009537025A (ja) * | 2006-03-31 | 2009-10-22 | アクサルト・エス・アー | サイドチャネル攻撃からの保護 |
JP2012070048A (ja) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | 暗号化装置および復号装置 |
JP2012520589A (ja) * | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2332350C (en) | 1998-05-18 | 2015-07-07 | 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 |
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 |
ATE294414T1 (de) * | 2000-05-22 | 2005-05-15 | 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 |
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 |
KR20060081847A (ko) * | 2005-01-10 | 2006-07-13 | 삼성전자주식회사 | 비밀키를 보호하는 스마트 카드 및 그것의 방법 |
TWI290426B (en) * | 2005-02-03 | 2007-11-21 | Sanyo Electric Co | Encryption processing circuit |
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 |
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 | 北京地平线机器人技术研发有限公司 | 数据存储方法、获取方法、装置、电子设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999035782A1 (en) * | 1998-01-02 | 1999-07-15 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2002519722A (ja) * | 1998-06-03 | 2002-07-02 | クリプターグラフィー リサーチ インコーポレイテッド | スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス |
JP2003524916A (ja) * | 1998-09-30 | 2003-08-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 暗号処理を実行するための符号化方法 |
Family Cites Families (18)
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 |
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 |
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> | 半導体集積回路 |
-
1998
- 1998-12-14 JP JP35415698A patent/JP4317607B2/ja not_active Expired - Fee Related
-
1999
- 1999-12-10 US US09/458,018 patent/US6631471B1/en not_active Expired - Fee Related
- 1999-12-13 KR KR1019990057028A patent/KR100726903B1/ko not_active IP Right Cessation
- 1999-12-13 TW TW088121816A patent/TW517189B/zh not_active IP Right Cessation
- 1999-12-14 EP EP99124934A patent/EP1011081B1/en not_active Expired - Lifetime
- 1999-12-14 CN CNB991267079A patent/CN1200392C/zh not_active Expired - Fee Related
- 1999-12-14 DE DE69906022T patent/DE69906022T2/de not_active Expired - Lifetime
-
2000
- 2000-03-20 US US09/528,995 patent/US6615354B1/en not_active Expired - Fee Related
-
2006
- 2006-08-14 KR KR1020060076642A patent/KR100674550B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999035782A1 (en) * | 1998-01-02 | 1999-07-15 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
JP2002519722A (ja) * | 1998-06-03 | 2002-07-02 | クリプターグラフィー リサーチ インコーポレイテッド | スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス |
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2003524916A (ja) * | 1998-09-30 | 2003-08-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 暗号処理を実行するための符号化方法 |
Non-Patent Citations (1)
Title |
---|
"Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1109, JPN4006008297, 1996, pages 104 - 113, ISSN: 0000735688 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003518872A (ja) * | 1999-12-28 | 2003-06-10 | ギーゼッケ ウント デフリエント ゲーエムベーハー | 鍵の細分化によってアクセスを防止する携帯可能なデータ記憶媒体 |
JP4841785B2 (ja) * | 1999-12-28 | 2011-12-21 | ギーゼッケ ウント デフリエント ゲーエムベーハー | 鍵の細分化によってアクセスを防止する携帯可能なデータ記憶媒体 |
JP2002247025A (ja) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | 情報処理装置 |
JP2005195829A (ja) * | 2004-01-07 | 2005-07-21 | Hitachi Ltd | 復号または署名作成におけるべき乗剰余算の計算方法 |
JP4626148B2 (ja) * | 2004-01-07 | 2011-02-02 | 株式会社日立製作所 | 復号または署名作成におけるべき乗剰余算の計算方法 |
JP2009537025A (ja) * | 2006-03-31 | 2009-10-22 | アクサルト・エス・アー | サイドチャネル攻撃からの保護 |
JP2008061118A (ja) * | 2006-09-01 | 2008-03-13 | Toshiba Corp | 暗号処理回路及びicカード |
US8457306B2 (en) | 2006-09-01 | 2013-06-04 | Kabushiki Kaisha Toshiba | Cryptographic module and IC card |
JP2012520589A (ja) * | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
US9654280B2 (en) | 2009-03-10 | 2017-05-16 | Irdeto B.V. | White-box cryptographic system with input dependent encodings |
JP2012070048A (ja) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | 暗号化装置および復号装置 |
US9031234B2 (en) | 2010-09-21 | 2015-05-12 | Kabushiki Kaisha Toshiba | Encryption device and decryption device |
Also Published As
Publication number | Publication date |
---|---|
TW517189B (en) | 2003-01-11 |
CN1258057A (zh) | 2000-06-28 |
KR100674550B1 (ko) | 2007-01-29 |
KR20060105691A (ko) | 2006-10-11 |
JP4317607B2 (ja) | 2009-08-19 |
EP1011081B1 (en) | 2003-03-19 |
DE69906022T2 (de) | 2004-01-08 |
US6631471B1 (en) | 2003-10-07 |
DE69906022D1 (de) | 2003-04-24 |
CN1200392C (zh) | 2005-05-04 |
US6615354B1 (en) | 2003-09-02 |
KR100726903B1 (ko) | 2007-06-11 |
KR20000052458A (ko) | 2000-08-25 |
EP1011081A1 (en) | 2000-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4317607B2 (ja) | 情報処理装置、耐タンパ処理装置 | |
KR100693239B1 (ko) | 정보 처리 장치, ic 카드 | |
CN101350714B (zh) | 采用混合rijndael s-box的有效高级加密标准数据路径 | |
JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
CN1993922B (zh) | 流密码组合系统和方法 | |
US8199909B2 (en) | Method and device for carrying out a cryptographic calculation | |
Muir | A tutorial on white-box AES | |
US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
US6189095B1 (en) | Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks | |
JP4668985B2 (ja) | ホモグラフィックマスキングにより暗号アセンブリを保護する方法 | |
US7720225B2 (en) | Table splitting for cryptographic processes | |
US6845159B1 (en) | Processing method and apparatus for converting information from a first format into a second format | |
JPWO2008146482A1 (ja) | 暗号化装置、復号化装置、暗号化方法及び集積回路 | |
CN107800532A (zh) | 低成本密码加速器 | |
US7747012B2 (en) | Process of security of an electronic unit with cryptoprocessor | |
JP4003723B2 (ja) | 情報処理装置、耐タンパ処理装置 | |
JP2004078976A (ja) | 情報処理装置、耐タンパ処理装置 | |
Rodrigues et al. | Fast white-box implementations of dedicated ciphers on the ARMv8 architecture | |
JP3945497B2 (ja) | 情報処理装置、icカード | |
JPH0744375A (ja) | 暗号化データ処理装置 | |
EP0993143A1 (en) | Processing method and apparatus for converting information from a first format into a second format | |
JP2006174274A (ja) | 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード | |
WO2000021240A1 (en) | Processing method and apparatus for converting information from a first format into a second format | |
JP2003005635A (ja) | 暗号化装置および方法、ならびに復号化装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060718 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061010 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070514 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090525 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130529 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130529 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |