JP2000182012A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2000182012A5 JP2000182012A5 JP1998354156A JP35415698A JP2000182012A5 JP 2000182012 A5 JP2000182012 A5 JP 2000182012A5 JP 1998354156 A JP1998354156 A JP 1998354156A JP 35415698 A JP35415698 A JP 35415698A JP 2000182012 A5 JP2000182012 A5 JP 2000182012A5
- Authority
- JP
- Japan
- Prior art keywords
- data
- processed
- disturbance
- processing apparatus
- outputting
- 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
- 238000012545 processing Methods 0.000 claims description 73
- 238000000034 method Methods 0.000 claims description 52
- 230000009466 transformation Effects 0.000 claims description 30
- 230000010365 information processing Effects 0.000 claims description 20
- 238000013501 data transformation Methods 0.000 claims description 13
- 230000017105 transposition Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims 2
- 230000004048 modification Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 claims 1
- 230000014509 gene expression Effects 0.000 description 5
- 238000007630 basic procedure Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Description
【発明の名称】情報処理装置、耐タンパ処理装置
【0026】
xor X1 R1 (式4)
xor X2 R2 (式5)
logica_shiftl R1 (式6)
xor R1 R2 (式7)
logica_shiftl 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の処理結果を排他的論理和することにより、本物のデータにもどす逆変形処理である。
xor X1 R1 (式4)
xor X2 R2 (式5)
logica_shiftl R1 (式6)
xor R1 R2 (式7)
logica_shiftl 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の処理結果を排他的論理和することにより、本物のデータにもどす逆変形処理である。
【0044】
データ処理fが乗除算であれば、変形操作hに乗算、あるいは除算をえらび、逆変形操作に除算、あるいは乗算を選ぶことにより、変形処理と逆変形処理を実現することができる。この理由は、加減算と同じであり、乗除算の演算では、ある値を乗算(除算)して演算し、最期の結果に乗算(除算)した値を除算(乗算)すれば、正しい結果が求まることからである。
データ処理fが乗除算であれば、変形操作hに乗算、あるいは除算をえらび、逆変形操作に除算、あるいは乗算を選ぶことにより、変形処理と逆変形処理を実現することができる。この理由は、加減算と同じであり、乗除算の演算では、ある値を乗算(除算)して演算し、最期の結果に乗算(除算)した値を除算(乗算)すれば、正しい結果が求まることからである。
【0048】
OutputX = InputX(1) + InputX(2) - InputX(3) mod N (式38)
この式は、式37を使うことにより
と変形できる。そして、剰余演算の特徴である
0 = k * N mod N (式40)
を使うことにより、式39の2番目の括弧内の値は0となり、式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になるため、撹乱用データのデータ処理と逆変形処理が不要であるためである。
OutputX = InputX(1) + InputX(2) - InputX(3) mod N (式38)
この式は、式37を使うことにより
と変形できる。そして、剰余演算の特徴である
0 = k * N mod N (式40)
を使うことにより、式39の2番目の括弧内の値は0となり、式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になるため、撹乱用データのデータ処理と逆変形処理が不要であるためである。
【0051】
InputX(i) = Input(i) * (k(i) * N + 1) (式44)
そして、変形した入力データを使い、乗算剰余演算を行う。
InputX(i) = Input(i) * (k(i) * N + 1) (式44)
そして、変形した入力データを使い、乗算剰余演算を行う。
【0052】
OutputX = InputX(1) * InputX(2) * InputX(3) mod N (式45)
この式は、式44を使うことにより
と変形できる。そして、剰余演算の特徴である
0 = k * N mod N (式47)
を使うことにより、式46は、
となる。すなわち、変形した入力データの演算結果は、本物の演算結果と同じである。これも、剰余演算の特徴を使うことにより撹乱データのデータ処理と逆変形処理が不要である例である。
OutputX = InputX(1) * InputX(2) * InputX(3) mod N (式45)
この式は、式44を使うことにより
と変形できる。そして、剰余演算の特徴である
0 = k * N mod N (式47)
を使うことにより、式46は、
となる。すなわち、変形した入力データの演算結果は、本物の演算結果と同じである。これも、剰余演算の特徴を使うことにより撹乱データのデータ処理と逆変形処理が不要である例である。
【0065】
DataX1 = TableX1X2X3(GyouX2、RetsuX3) (式60)
図35のテーブルはすでに撹乱用データX1で変形されているため、これ以降は、撹乱用データをX1として処理を行う。式56から式60までの処理で真のデータを使用していない。
DataX1 = TableX1X2X3(GyouX2、RetsuX3) (式60)
図35のテーブルはすでに撹乱用データX1で変形されているため、これ以降は、撹乱用データをX1として処理を行う。式56から式60までの処理で真のデータを使用していない。
【0068】
図4は、基本的な手順である。撹乱用データ生成手段で撹乱用データXiを生成する(401)。この一般的な方法としては、乱数発生器や擬似乱数を使って必要な長さの乱数を生成する方法がある。次に、データ変形処理手段(406)で、入力データD1を撹乱用データXi(405)で変形し、変形データH1(407)を生成する。変形方法は、先に述べたように、排他的論理和や、加減算、乗除算などがある。そして変形データH1を使ってデータ処理を変形データ処理手段(408)で行い、処理済み変形データH2を生成する。一方、撹乱用データXiは入力データと同じデータ処理を撹乱用データ処理手段(403)で行い、処理済みの撹乱用データXo(404)を作成する。そして、撹乱用データXoと処理済み変形データH2を使い、データ逆変形処理手段(410)で真の処理済みデータD2(411)を求める。データ変形処理手段(406)やデータ逆変形処理手段(410)の方法には、すでに説明した、排他的論理和や加減算、乗除算、剰余演算などがある。
図4は、基本的な手順である。撹乱用データ生成手段で撹乱用データXiを生成する(401)。この一般的な方法としては、乱数発生器や擬似乱数を使って必要な長さの乱数を生成する方法がある。次に、データ変形処理手段(406)で、入力データD1を撹乱用データXi(405)で変形し、変形データH1(407)を生成する。変形方法は、先に述べたように、排他的論理和や、加減算、乗除算などがある。そして変形データH1を使ってデータ処理を変形データ処理手段(408)で行い、処理済み変形データH2を生成する。一方、撹乱用データXiは入力データと同じデータ処理を撹乱用データ処理手段(403)で行い、処理済みの撹乱用データXo(404)を作成する。そして、撹乱用データXoと処理済み変形データH2を使い、データ逆変形処理手段(410)で真の処理済みデータD2(411)を求める。データ変形処理手段(406)やデータ逆変形処理手段(410)の方法には、すでに説明した、排他的論理和や加減算、乗除算、剰余演算などがある。
【0070】
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はデータ処理操作である。この例のように、第2のデータ処理f2で、別のデータD2を使う場合で、そのデータD2を第2の撹乱用データで変形して使用する場合に、本実施例の処理手順を使うと有効である。
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はデータ処理操作である。この例のように、第2のデータ処理f2で、別のデータD2を使う場合で、そのデータD2を第2の撹乱用データで変形して使用する場合に、本実施例の処理手順を使うと有効である。
【0072】
H1 = D1 xor X1o
H2 = f1(H1)
X1o = f1(X1i)
H3 = H2 xor X2i (式62)
H4 = H3 xor X1o
H5 = f2(H4)
X2o = f2(X2i)
D2 = H5 xor X2i
これは、処理操作が複数あり、撹乱用データを複数使う必要な場合に有効である。
H1 = D1 xor X1o
H2 = f1(H1)
X1o = f1(X1i)
H3 = H2 xor X2i (式62)
H4 = H3 xor X1o
H5 = f2(H4)
X2o = f2(X2i)
D2 = H5 xor X2i
これは、処理操作が複数あり、撹乱用データを複数使う必要な場合に有効である。
【0073】
図7の実施例は、撹乱用データの面からは、データ処理をあらかじめ計算しておき、処理を効率化するものである。あらかじめ、撹乱用データ処理手段で処理済み撹乱用データXoを生成し(703)、処理済み撹乱用データ記録手段(706)で、記録しておく。処理の中では、データ逆変形処理手段(713)では、記録しておいた処理済み撹乱用データ(714)を読みだし、使用する。これは
、同じようなデータ処理を何回も実行する場合には効率の面で有効である。しかし、撹乱用データが何回も使われるため、情報の隠蔽性にとって、図4の実施例のように撹乱用データを毎回変更する方が、有効である。これは、処理速度と情報の隠蔽性のトレードオフから決まる。
図7の実施例は、撹乱用データの面からは、データ処理をあらかじめ計算しておき、処理を効率化するものである。あらかじめ、撹乱用データ処理手段で処理済み撹乱用データXoを生成し(703)、処理済み撹乱用データ記録手段(706)で、記録しておく。処理の中では、データ逆変形処理手段(713)では、記録しておいた処理済み撹乱用データ(714)を読みだし、使用する。これは
、同じようなデータ処理を何回も実行する場合には効率の面で有効である。しかし、撹乱用データが何回も使われるため、情報の隠蔽性にとって、図4の実施例のように撹乱用データを毎回変更する方が、有効である。これは、処理速度と情報の隠蔽性のトレードオフから決まる。
【0074】
図8の実施例は、第1と第2の撹乱用データの逆変形を統合して行い、その後その結果を使って、データの逆変形を行うものである。第1と第2の撹乱用データは、それぞれ、第1撹乱用データ処理手段(803)と第2撹乱用データ処理手段(807)で処理済み撹乱用データX1oとX2oが作られる。それらのデータをデータ逆変形統合手段で統合し、統合処理済み撹乱用データXoを生成する。そのデータを使い、第1変形データ処理(814)及び第2変形データ処理(818)を処理した結果である処理済み変形データH4(819)の逆変形処理手段(820)を行い、真の処理済みデータD2を生成する。これは、個別に逆変形する場合よりも、処理済み撹乱用データを統合し、そのあと、まとめて変形処理を行う方法である。逆変形処理に処理時間がかかる場合に有効である。
図8の実施例は、第1と第2の撹乱用データの逆変形を統合して行い、その後その結果を使って、データの逆変形を行うものである。第1と第2の撹乱用データは、それぞれ、第1撹乱用データ処理手段(803)と第2撹乱用データ処理手段(807)で処理済み撹乱用データX1oとX2oが作られる。それらのデータをデータ逆変形統合手段で統合し、統合処理済み撹乱用データXoを生成する。そのデータを使い、第1変形データ処理(814)及び第2変形データ処理(818)を処理した結果である処理済み変形データH4(819)の逆変形処理手段(820)を行い、真の処理済みデータD2を生成する。これは、個別に逆変形する場合よりも、処理済み撹乱用データを統合し、そのあと、まとめて変形処理を行う方法である。逆変形処理に処理時間がかかる場合に有効である。
【0081】
変形処理a(901)と変形処理b(902)は基本的に同じ処理である。図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が生成される。
変形処理a(901)と変形処理b(902)は基本的に同じ処理である。図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が生成される。
【0083】
次に、IP処理(902)について説明する。IP処理は、図37に示すテーブルにしたがって平文64ビットの並びを入れ替えるものである。テーブルに従い、出力の第1ビットは入力の第58ビット、出力の第2ビットは入力の第50ビット、出力の第64ビットは入力の第7ビットと入れ替える。本実施例でのIP処理を、図12を用いて説明する。まず、変形平文PX1をIP処理し、IP処理済み変形平文PX1IPを生成する(1202)。ビットの入れ替えは、図37のテーブルに従う。次に、撹乱用データX1も同じようにIP処理し、IP処理済み撹乱用データX1IPを生成する(1203)。IP処理済み変形平文PX1IPとIP処理済み撹乱用データX1IPとは排他的論理和を取ると、平文をIP処理した結果を生成することができる。これは、IP処理がビットの移動であるため、撹乱用データも変形平文PX1と同じように移動したため、ビットごとに排他的論理和を実行すると真のデータが求まるという関係が維持されているためである。IP処理の下位32ビットが第1段のf関数(903)と第2段の排他的論理和に使われ、上位32ビットは、排他的論理和(909)の入力となる。
次に、IP処理(902)について説明する。IP処理は、図37に示すテーブルにしたがって平文64ビットの並びを入れ替えるものである。テーブルに従い、出力の第1ビットは入力の第58ビット、出力の第2ビットは入力の第50ビット、出力の第64ビットは入力の第7ビットと入れ替える。本実施例でのIP処理を、図12を用いて説明する。まず、変形平文PX1をIP処理し、IP処理済み変形平文PX1IPを生成する(1202)。ビットの入れ替えは、図37のテーブルに従う。次に、撹乱用データX1も同じようにIP処理し、IP処理済み撹乱用データX1IPを生成する(1203)。IP処理済み変形平文PX1IPとIP処理済み撹乱用データX1IPとは排他的論理和を取ると、平文をIP処理した結果を生成することができる。これは、IP処理がビットの移動であるため、撹乱用データも変形平文PX1と同じように移動したため、ビットごとに排他的論理和を実行すると真のデータが求まるという関係が維持されているためである。IP処理の下位32ビットが第1段のf関数(903)と第2段の排他的論理和に使われ、上位32ビットは、排他的論理和(909)の入力となる。
【0092】
すなわち、Z1を真のデータに戻すための撹乱用データとしてPとKの撹乱用データを排他的論理和を使えばよいことが分かる。暗号鍵と選択的転置の実行結果の排他的論理和の処理では、Sボックス入力データSinputXの撹乱用データとして、平文用の撹乱用データから生成したIP処理及びE転置処理済み撹乱用データXIPEと、暗号鍵用の撹乱用データから生成したPC-1及びLS、PC-2処理済み撹乱用データX2PC1LSPC2とをXORして生成したSボックス入力データ撹乱用データXSinputを使えばよいことが分かる。
すなわち、Z1を真のデータに戻すための撹乱用データとしてPとKの撹乱用データを排他的論理和を使えばよいことが分かる。暗号鍵と選択的転置の実行結果の排他的論理和の処理では、Sボックス入力データSinputXの撹乱用データとして、平文用の撹乱用データから生成したIP処理及びE転置処理済み撹乱用データXIPEと、暗号鍵用の撹乱用データから生成したPC-1及びLS、PC-2処理済み撹乱用データX2PC1LSPC2とをXORして生成したSボックス入力データ撹乱用データXSinputを使えばよいことが分かる。
【0093】
次に、Sボックスの処理について図18を用いて説明する。Sボックス入力データSinputXから6ビットずつ取り出し、8つのSボックスについて処理を行う。DESで使われている1番目のSボックスを、図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し、SubSinputXsa(i)を生成する(1807)。SubSinputXsa(i)は、i番目のSボックスを取り出すための本物のアドレスデータに対して、アドレス撹乱用データXsa(i)が排他的論理和された値である。SubSinputX(i)とXSinput(i)を排他的論理和(XOR)すると、それは、真のデータに戻るのであるので、XSinput(i)と排他的論理和する前に、SubSinputX(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ボックスを処理し、 SoutputX3(i)とX3(i)をiを1から8までのデータをそれぞれ連結することによって、SoutputX3とX3を生成する。これ以降は、処理データは、SoutputX3となり、撹乱用データはX3となる。
次に、Sボックスの処理について図18を用いて説明する。Sボックス入力データSinputXから6ビットずつ取り出し、8つのSボックスについて処理を行う。DESで使われている1番目のSボックスを、図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し、SubSinputXsa(i)を生成する(1807)。SubSinputXsa(i)は、i番目のSボックスを取り出すための本物のアドレスデータに対して、アドレス撹乱用データXsa(i)が排他的論理和された値である。SubSinputX(i)とXSinput(i)を排他的論理和(XOR)すると、それは、真のデータに戻るのであるので、XSinput(i)と排他的論理和する前に、SubSinputX(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ボックスを処理し、 SoutputX3(i)とX3(i)をiを1から8までのデータをそれぞれ連結することによって、SoutputX3とX3を生成する。これ以降は、処理データは、SoutputX3となり、撹乱用データはX3となる。
【0095】
次に、アドレスの撹乱を行う。まず、Xsa1をXsa(i)の上位1ビットと下位1ビットから作った2ビットとし、Xsa2を Xsa(i)の上位2ビットから5ビットから作った4ビットのデータとする。これは、Sボックスのアドレスの計算方法に由来している。そして、図26の行番号と列番号をそれぞれ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段で使用する。
次に、アドレスの撹乱を行う。まず、Xsa1をXsa(i)の上位1ビットと下位1ビットから作った2ビットとし、Xsa2を Xsa(i)の上位2ビットから5ビットから作った4ビットのデータとする。これは、Sボックスのアドレスの計算方法に由来している。そして、図26の行番号と列番号をそれぞれ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段で使用する。
Claims (12)
- データを演算する演算装置と、
データおよびプログラムを記憶する記憶装置と、
上記演算装置が上記記憶装置にアクセスするためのデータバスとを有し、
上記演算装置が、
攪乱用データを生成する攪乱用データ生成処理と、
入力データを上記攪乱用データを用いて暗号化した変形データを出力するデータ変形処理と、
上記変形データに所定の処理を行い、処理結果である処理済み変形データを出力する変形データ処理と、
上記攪乱用データに上記所定の処理を行い、処理結果である処理済み撹乱用データを出力する攪乱用データ処理と、
上記処理済み攪乱用データを用いて、上記処理済み変形データを復号化した処理済データを出力するデータ逆変形処理と、
を行うことを特徴とする情報処理装置。 - データを演算する演算装置と、
データおよびプログラムを記憶する記憶装置と、
上記演算装置が上記記憶装置にアクセスするためのデータバスとを有し、
上記演算装置が、
攪乱用データを生成する攪乱用データ生成処理と、
上記攪乱用データを用いて、入力データを変形データに暗号化するデータ変形処理と、
上記変形データに所定の処理を行い、処理結果である処理済み変形データを出力する変形データ処理と、
上記攪乱用データに上記所定の処理を行い、処理結果である処理済み撹乱用データを上記記憶装置に記憶する処理済み撹乱用データ記録処理と、
上記記憶装置より読み出した上記処理済み攪乱用データを用いて、上記処理済み変形データを処理済データに復号化をデータ逆変形処理と、
を行うことを特徴とする情報処理装置。 - 請求項1、2のいずれかに記載の情報処理装置において、
上記攪乱用データ生成処理において、上記撹乱用データとして乱数を使用することを特徴とする情報処理装置。 - 請求項1、2のいずれかに記載の情報処理装置において、
上記データ変形処理は、入力データと攪乱用データとの排他的論理和演算の結果を上記変形データとして出力する処理であり、
上記データ逆変形処理は、上記処理済み変形データと上記処理済み攪乱用データとの排他的論理和演算の結果を上記処理済データとして出力する処理であることを特徴とする情報処理装置。 - 請求項1、2にいずれかに記載の情報処理装置において、
上記データ変形処理は、上記入力データと攪乱用データとの加減算の結果を上記変形データとして出力する処理であり、
上記データ逆変形処理は、上記処理済み変形データと上記処理済み攪乱用データとの加減算を上記処理済データとして出力する処理であることを特徴とする情報処理装置。 - 請求項1、2にいずれかの記載の情報処理装置において、
上記データ変形処理は、上記入力データと攪乱用データとの乗除演算の結果を上記変形データとして出力する処理であり、
上記データ逆変形処理は、上記処理済み変形データと上記処理済み攪乱用データとの乗除演算の結果を上記処理済データとして出力する処理であることを特徴とする情報処理装置。 - 請求項1、2にいずれかの記載の情報処理装置において、
上記データ変形処理は、上記入力データと攪乱用データとの排他的論理和演算の結果を上記変形データとして出力する処理であり、
上記所定の処理は、転置処理もしくは換字処理であり、
上記データ逆変形処理は、上記処理済み変形データと上記処理済み攪乱用データとの排他的論理和演算の結果を上記処理済データとして出力する処理であることを特徴とする情報処理装置。 - 請求項7に記載の情報処理装置において、
上記転置処理もしくは換字処理は、テーブルに従って行われることを特徴する情報処理装置。 - データを演算する演算装置と、
データおよびプログラムを記憶する記憶装置と、
上記演算装置が上記記憶装置にアクセスするためのデータバスとを有し、
上記演算装置が、
入力データに剰余演算の法Nの任意の倍数を加算し、変形データとして出力するデータ変形処理と、
上記記変形データに上記剰余演算の加減算を行い、処理結果である処理済み変形データを出力する変形データ処理と、
を行うことを特徴とする情報処理装置。 - データを演算する演算装置と、
データおよびプログラムを記憶する記憶装置と、
上記演算装置が上記記憶装置にアクセスするためのデータバスとを有し、
上記演算装置が、
入力データと剰余演算の法Nの任意の倍数の乗算結果と1との加算を行い、変形データとして出力するデータ変形処理と、
上記記変形データに上記剰余演算の乗算を行い、処理結果である処理済み変形データを出力する変形データ処理と、
を行うことを特徴とする情報処理装置。 - データを演算する演算装置と、
データおよびプログラムを記憶する記憶装置と、
上記演算装置が上記記憶装置にアクセスするためのデータバスとを有し、
上記演算装置が、
ある数Xを生成する攪乱用データ生成処理と、
入力データに上記Xを所定回数乗算もしく上記撹乱用データの倍数を乗算し、乗算結果を変形データとして出力するデータ変形処理と、
上記変形データに所定の処理を行い、処理結果である処理済み変形データを出力する変形データ処理と、
上記処理済み変形データに上記ある数Yを上記所定回数乗算もしく上記ある数Yの倍数を乗算し、乗算結果を処理済データとして出力するデータ逆変形処理と、を行い
上記ある数Xとある数Yは、Nをある整数として
1=X×YmodN
を満たすことを特徴とする情報処理装置。 - 請求項11に記載の情報処理装置において、
上記攪乱用データと上記撹乱用データの逆数は、いずれか一方が2であり、他方が(N+1)/2であることを特徴とする情報処理装置。
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 | 정보 처리 장치 |
| CNB991267079A CN1200392C (zh) | 1998-12-14 | 1999-12-14 | 信息处理方法 |
| DE69906022T DE69906022T2 (de) | 1998-12-14 | 1999-12-14 | Datenverarbeitungsanlage |
| EP99124934A EP1011081B1 (en) | 1998-12-14 | 1999-12-14 | Information processing equipment |
| 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 JP2000182012A (ja) | 2000-06-30 |
| JP2000182012A5 true 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) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1080454B2 (de) | 1998-05-18 | 2025-03-26 | Giesecke+Devrient ePayments GmbH | Zugriffsgeschützter datenträger |
| 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 |
| DE19963408A1 (de) * | 1999-12-28 | 2001-08-30 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung |
| 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 |
| ATE366443T1 (de) * | 2000-05-22 | 2007-07-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 |
| 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 |
| US9654280B2 (en) | 2009-03-10 | 2017-05-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)
| 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 |
| ATE325478T1 (de) * | 1998-01-02 | 2006-06-15 | Cryptography Res Inc | Leckresistentes kryptographisches verfahren und vorrichtung |
| US6185304B1 (en) * | 1998-02-23 | 2001-02-06 | International Business Machines Corporation | Method and apparatus for a symmetric block cipher using multiple stages |
| IL139935A (en) * | 1998-06-03 | 2005-06-19 | Cryptography Res Inc | Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
| 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> | 半導体集積回路 |
-
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 Expired - Fee Related
- 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 DE DE69906022T patent/DE69906022T2/de not_active Expired - Lifetime
- 1999-12-14 CN CNB991267079A patent/CN1200392C/zh not_active Expired - Fee Related
-
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 Expired - Fee Related
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000182012A5 (ja) | ||
| US6298136B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
| JP4622222B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
| JP5055993B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
| JP4317607B2 (ja) | 情報処理装置、耐タンパ処理装置 | |
| JP4905000B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
| JPH0863097A (ja) | データを暗号化するための対称暗号化方法およびシステム | |
| EP2058782A1 (en) | Encryption device, encryption method, and computer program | |
| US8199909B2 (en) | Method and device for carrying out a cryptographic calculation | |
| CN100511331C (zh) | 密码处理装置、密码处理方法及其计算机程序 | |
| JP2001324925A5 (ja) | ||
| JP2001324924A (ja) | 暗号化装置及び暗号化方法、復号装置及び復号方法並びに演算装置 | |
| JP4622807B2 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
| EP1927212B1 (en) | Homophonic substitution symmetric key encryption | |
| EP3559799A1 (en) | A calculation device for encoded addition | |
| JP3012732B2 (ja) | ブロック暗号処理装置 | |
| Kim et al. | Masked implementation of PIPO block cipher on 8-bit AVR microcontrollers | |
| JPH0675524A (ja) | ストリーム暗号処理装置 | |
| JP4611643B2 (ja) | 個別鍵生成装置 | |
| JP4003723B2 (ja) | 情報処理装置、耐タンパ処理装置 | |
| WO1999000930A1 (en) | Method for the cryptographic conversion of l-bit input blocks of digital data into l-bit output blocks | |
| JP2009169287A (ja) | 暗号処理装置及び復号処理装置及びプログラム | |
| Thiagarajan et al. | Study of AES and its Efficient Software Implementation | |
| JP2001215874A (ja) | 副鍵生成装置およびそのプログラム記録媒体 | |
| JP2004078976A (ja) | 情報処理装置、耐タンパ処理装置 |
