JPH0744375A - 暗号化データ処理装置 - Google Patents
暗号化データ処理装置Info
- Publication number
- JPH0744375A JPH0744375A JP5187849A JP18784993A JPH0744375A JP H0744375 A JPH0744375 A JP H0744375A JP 5187849 A JP5187849 A JP 5187849A JP 18784993 A JP18784993 A JP 18784993A JP H0744375 A JPH0744375 A JP H0744375A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- input
- output
- encryption
- bit
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 112
- 238000012545 processing Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 11
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000017105 transposition Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
(57)【要約】
【構成】 アドレス出力とデータ入力とデータ出力を有
するデータ処理手段300と、すくなくともアドレス情
報を鍵とした変換を行う復号手段400とを備え、デー
タ処理手段300のアドレス出力に応じて読み出したメ
モリ200上の暗号データを復号手段400で復号して
データ処理手段300のデータ入力に入力して処理する
暗号化データ処理装置。 【効果】 メモリ上の暗号化された情報は、本発明の装
置および正しい暗号鍵を持たない装置上では使用できな
いため、メモリのコピーによるプログラムまたはデータ
の盗用を防止できる。従来は同じ平文が同じ暗号データ
に変換される確率が高かったために容易に暗号解読され
ていたが、暗号変換のパラメータとしてアドレス情報を
直接利用することによりこれを防止し、強力な保護機能
を提供する。
するデータ処理手段300と、すくなくともアドレス情
報を鍵とした変換を行う復号手段400とを備え、デー
タ処理手段300のアドレス出力に応じて読み出したメ
モリ200上の暗号データを復号手段400で復号して
データ処理手段300のデータ入力に入力して処理する
暗号化データ処理装置。 【効果】 メモリ上の暗号化された情報は、本発明の装
置および正しい暗号鍵を持たない装置上では使用できな
いため、メモリのコピーによるプログラムまたはデータ
の盗用を防止できる。従来は同じ平文が同じ暗号データ
に変換される確率が高かったために容易に暗号解読され
ていたが、暗号変換のパラメータとしてアドレス情報を
直接利用することによりこれを防止し、強力な保護機能
を提供する。
Description
【0001】
【産業上の利用分野】外部メモリ上の暗号化されたデー
タを装置内部で復号して処理し、かつ/または、処理し
たデータを装置内部で暗号化して外部メモリに格納し、
装置内部で扱われる本来のデータの値を隠匿することに
より、ソフトウェアの不正コピーやデータの漏洩を防止
する暗号化データ処理装置に関する。
タを装置内部で復号して処理し、かつ/または、処理し
たデータを装置内部で暗号化して外部メモリに格納し、
装置内部で扱われる本来のデータの値を隠匿することに
より、ソフトウェアの不正コピーやデータの漏洩を防止
する暗号化データ処理装置に関する。
【0002】
【従来の技術】ソフトウェアやデータの不正コピーが古
くから問題になっている。例えば、ROM上のプログラ
ムやデータをまるごとコピーすることによる装置の複製
は、その開発費用の回収を困難とし、正当な利益の配分
を妨げている。このような問題を解決するために、メモ
リの内容を暗号化しておき、メモリの読み出し時に処理
装置の内部でそれを復号しながら処理する考え方は従来
からあった。
くから問題になっている。例えば、ROM上のプログラ
ムやデータをまるごとコピーすることによる装置の複製
は、その開発費用の回収を困難とし、正当な利益の配分
を妨げている。このような問題を解決するために、メモ
リの内容を暗号化しておき、メモリの読み出し時に処理
装置の内部でそれを復号しながら処理する考え方は従来
からあった。
【0003】しかし、単にデータを変換するだけでは同
じデータが常に同じ暗号化データとなって現れるため
に、容易に解読されてしまう。解読者は変換表を一つ作
成し、命令を一つ一つ解読してその表を埋めていけば良
い。一般的なプログラムにおける命令の出現頻度と、暗
号化データの出現頻度とを比較することにより、平文を
類推することも可能である。例えば一般のプログラムに
おいてレジスタ間転送命令が最も高頻度で出現するなら
ば、最も多い暗号データの値はレジスタ間転送命令に対
応すると推測できる。また、暗号化命令はどのアドレス
に置いても同じ動作を示すから、解読者は暗号化命令を
試行錯誤で移動させて動作を観察し、ヒントを得ること
もできる。
じデータが常に同じ暗号化データとなって現れるため
に、容易に解読されてしまう。解読者は変換表を一つ作
成し、命令を一つ一つ解読してその表を埋めていけば良
い。一般的なプログラムにおける命令の出現頻度と、暗
号化データの出現頻度とを比較することにより、平文を
類推することも可能である。例えば一般のプログラムに
おいてレジスタ間転送命令が最も高頻度で出現するなら
ば、最も多い暗号データの値はレジスタ間転送命令に対
応すると推測できる。また、暗号化命令はどのアドレス
に置いても同じ動作を示すから、解読者は暗号化命令を
試行錯誤で移動させて動作を観察し、ヒントを得ること
もできる。
【0004】このような解読方法を防止するために、命
令やデータの格納されているアドレスの値によって変換
規則を変化させる方法が提案されてきた。
令やデータの格納されているアドレスの値によって変換
規則を変化させる方法が提案されてきた。
【0005】例えば、特開平01−028728号公報
に記載の命令暗号処理方式では、CPU上に複数の命令
解釈手段(デコーダ)を用意し、命令のアドレスによっ
てその命令解釈手段を選択することにより、アドレスに
よって異なる命令コードを使用することを可能としてい
る。該従来例のブロック図を図9に示す。
に記載の命令暗号処理方式では、CPU上に複数の命令
解釈手段(デコーダ)を用意し、命令のアドレスによっ
てその命令解釈手段を選択することにより、アドレスに
よって異なる命令コードを使用することを可能としてい
る。該従来例のブロック図を図9に示す。
【0006】また、特開昭63−145532号公報に
記載の模倣防止機能付プロセッサでは、内部メモリ上に
複数用意した暗号鍵をデータのアドレスによって選択
し、選択した暗号鍵に依存した変換を行うことにより、
同じデータが常に同じ暗号データに変換されることを防
いでいる。該従来例のブロック図を図10に示す。
記載の模倣防止機能付プロセッサでは、内部メモリ上に
複数用意した暗号鍵をデータのアドレスによって選択
し、選択した暗号鍵に依存した変換を行うことにより、
同じデータが常に同じ暗号データに変換されることを防
いでいる。該従来例のブロック図を図10に示す。
【0007】
【発明が解決しようとする課題】上記のような従来技術
を用いれば、同じデータに対応する暗号化データが常に
等しくはならない。しかしながら、用意できる変換手段
や暗号鍵の数は回路規模の面から制限され、アドレス空
間の大きさと同等程度の変換種類を用意することはでき
ない。したがって、異なるアドレスに対して同じ変換を
施す場合が少なからず現れるわけで、これはすなわち、
アドレス空間を幾つかに分割してそれぞれに固定の変換
を施していることに等しい。変換の種類を増加させれば
暗号解読に対する強度は高まるが、一方で回路規模と装
置のコストを上昇させる。
を用いれば、同じデータに対応する暗号化データが常に
等しくはならない。しかしながら、用意できる変換手段
や暗号鍵の数は回路規模の面から制限され、アドレス空
間の大きさと同等程度の変換種類を用意することはでき
ない。したがって、異なるアドレスに対して同じ変換を
施す場合が少なからず現れるわけで、これはすなわち、
アドレス空間を幾つかに分割してそれぞれに固定の変換
を施していることに等しい。変換の種類を増加させれば
暗号解読に対する強度は高まるが、一方で回路規模と装
置のコストを上昇させる。
【0008】前述の特開平01−028728号公報に
記載の命令暗号処理方式においては、内蔵できる命令解
釈手段の個数は、現実的にはせいぜい数十種類程度であ
り、それ以上になると装置のコストが倍増してしまう。
記載の命令暗号処理方式においては、内蔵できる命令解
釈手段の個数は、現実的にはせいぜい数十種類程度であ
り、それ以上になると装置のコストが倍増してしまう。
【0009】一方、特開昭63−145532号公報に
記載の模倣防止機能付プロセッサでは、変換の選択数は
内部メモリのサイズにより決定され、数キロバイト程度
のメモリを登載することにより、約千種類の暗号鍵、す
なわち変換規則を用意するのが限界であろう。しかしな
がら、最近のマイクロプロセッサのアドレス空間は10
9 バイトに及ぶものもあり、このようなCPUに対して
千個の鍵を用意しても、106 バイト毎に同じ鍵を使用
せざるを得ない。
記載の模倣防止機能付プロセッサでは、変換の選択数は
内部メモリのサイズにより決定され、数キロバイト程度
のメモリを登載することにより、約千種類の暗号鍵、す
なわち変換規則を用意するのが限界であろう。しかしな
がら、最近のマイクロプロセッサのアドレス空間は10
9 バイトに及ぶものもあり、このようなCPUに対して
千個の鍵を用意しても、106 バイト毎に同じ鍵を使用
せざるを得ない。
【0010】上述のように従来技術では、異なるアドレ
スにおいて同じ平文が同じ暗号データに対応する確率が
高いために、解読に対する強度が十分でないという問題
があった。
スにおいて同じ平文が同じ暗号データに対応する確率が
高いために、解読に対する強度が十分でないという問題
があった。
【0011】
【課題を解決するための手段】本発明の暗号化データ処
理装置は、平文に対して暗号鍵を用いて異なる暗号変換
を施した暗号データを格納するメモリを接続し、アドレ
ス出力、データ入出力を有するデータ処理手段と、前記
アドレス出力の一部または全部を暗号鍵として入力し、
該暗号鍵が前記平文に対する暗号鍵と同一の時に前記暗
号変換の逆変換となる復号変換を行い前記データ処理手
段のデータ入力に与える復号手段を有することを特徴と
する。
理装置は、平文に対して暗号鍵を用いて異なる暗号変換
を施した暗号データを格納するメモリを接続し、アドレ
ス出力、データ入出力を有するデータ処理手段と、前記
アドレス出力の一部または全部を暗号鍵として入力し、
該暗号鍵が前記平文に対する暗号鍵と同一の時に前記暗
号変換の逆変換となる復号変換を行い前記データ処理手
段のデータ入力に与える復号手段を有することを特徴と
する。
【0012】
【作用】本発明の構成では、暗号変換および復号変換の
鍵入力として、アドレスの値を直接変換式の中に組み込
むことにより、一つの変換手段によって、同一の平文に
対応する暗号化データが、アドレスが異なれば高い確率
で異なる値になるような変換を用いることが可能であ
る。本発明は、このような暗号変換を用いることによ
り、解読に対する強度を改善した暗号化データ処理装置
を提供する。
鍵入力として、アドレスの値を直接変換式の中に組み込
むことにより、一つの変換手段によって、同一の平文に
対応する暗号化データが、アドレスが異なれば高い確率
で異なる値になるような変換を用いることが可能であ
る。本発明は、このような暗号変換を用いることによ
り、解読に対する強度を改善した暗号化データ処理装置
を提供する。
【0013】また、装置内部に秘密情報を保持し、その
秘密情報なしには復号変換が行えないような性質を暗号
変換に持たせ、装置毎あるいはプログラムやデータ毎に
異なる秘密情報を用いた暗号化を施せば、万が一ある暗
号データが解読されても、被害が広く及ばず、その後も
異なる秘密情報を用いて同一の装置を使い続けることが
できる。これを実現するために、秘密情報保持手段と秘
密情報入力手段を備え、秘密情報をアドレス情報と共に
暗号変換および復号変換の鍵入力とした装置も提案して
いる。
秘密情報なしには復号変換が行えないような性質を暗号
変換に持たせ、装置毎あるいはプログラムやデータ毎に
異なる秘密情報を用いた暗号化を施せば、万が一ある暗
号データが解読されても、被害が広く及ばず、その後も
異なる秘密情報を用いて同一の装置を使い続けることが
できる。これを実現するために、秘密情報保持手段と秘
密情報入力手段を備え、秘密情報をアドレス情報と共に
暗号変換および復号変換の鍵入力とした装置も提案して
いる。
【0014】次に、本発明の装置の暗号強度を更に高め
るために、暗号変換および復号変換に求められる性質と
構成について説明する。
るために、暗号変換および復号変換に求められる性質と
構成について説明する。
【0015】暗号変換において、固定の暗号入力を与え
た場合でも、鍵入力の変化に応じて非常に多くの復号出
力が現れるならば、異なるアドレスにおいて同一の平文
が同一の暗号データに変換される確率は低くなり、前に
述べたような解読に対して与えるヒントが激減し、すな
わち解読されにくくなる。従来技術ではこの多様性は回
路規模により制限されていたが、暗号化および復号変換
にアドレス値を直接利用することによりこの問題を解決
している。 鍵入力を固定した時に、平文の1ビットの
変化が、暗号データの固定のビット位置にのみ変化を及
ぼさないような暗号変換も、解読に対する強度を高め
る。従来の暗号変換は、高速性を重んじるばかりに、鍵
情報と入力データのビット毎の排他的論理和(XOR)
およびビット転置を組み合わせる方法が主流であったと
思われるが、この方法では暗号データの特定ビットを改
ざんすることにより、復号データの特定のビットを変更
できるため、試行錯誤による暗号解読のヒントを与えて
しまう。
た場合でも、鍵入力の変化に応じて非常に多くの復号出
力が現れるならば、異なるアドレスにおいて同一の平文
が同一の暗号データに変換される確率は低くなり、前に
述べたような解読に対して与えるヒントが激減し、すな
わち解読されにくくなる。従来技術ではこの多様性は回
路規模により制限されていたが、暗号化および復号変換
にアドレス値を直接利用することによりこの問題を解決
している。 鍵入力を固定した時に、平文の1ビットの
変化が、暗号データの固定のビット位置にのみ変化を及
ぼさないような暗号変換も、解読に対する強度を高め
る。従来の暗号変換は、高速性を重んじるばかりに、鍵
情報と入力データのビット毎の排他的論理和(XOR)
およびビット転置を組み合わせる方法が主流であったと
思われるが、この方法では暗号データの特定ビットを改
ざんすることにより、復号データの特定のビットを変更
できるため、試行錯誤による暗号解読のヒントを与えて
しまう。
【0016】暗号変換の入出力が簡単な式で対応つけら
るようなものであれば、解析的な暗号解読も可能となっ
てしまう。先ほど述べた排他的論理和とビット転置を組
み合わせた方法は、平文入力と鍵入力の各ビットを変数
に置いた場合に、出力の各ビットが、入力の1変数と鍵
の1変数との2を法とする単なる加算で対応づけられ、
逆変換式の算出も容易である。入出力の各ビットまたは
ビットの組を変数とした時に、入出力の各変数が一次式
で対応づけられないような非線形の変換を暗号変換とし
て用いれば、このような解析的手法による暗号解読は困
難となる。
るようなものであれば、解析的な暗号解読も可能となっ
てしまう。先ほど述べた排他的論理和とビット転置を組
み合わせた方法は、平文入力と鍵入力の各ビットを変数
に置いた場合に、出力の各ビットが、入力の1変数と鍵
の1変数との2を法とする単なる加算で対応づけられ、
逆変換式の算出も容易である。入出力の各ビットまたは
ビットの組を変数とした時に、入出力の各変数が一次式
で対応づけられないような非線形の変換を暗号変換とし
て用いれば、このような解析的手法による暗号解読は困
難となる。
【0017】平文と暗号化データの対を複数集めても鍵
入力を簡単には求められないこと、すなわち暗号分野で
いうところのいわゆる既知平文攻撃が不可能なことは、
近代暗号に要求される最も重要な性質である。この性質
を満たす暗号変換を用いれば、万が一に暗号変換や復号
変換のアルゴリズムが漏洩した場合であっても、前述の
秘密情報が明らかにならない限り暗号を解読することは
できない。
入力を簡単には求められないこと、すなわち暗号分野で
いうところのいわゆる既知平文攻撃が不可能なことは、
近代暗号に要求される最も重要な性質である。この性質
を満たす暗号変換を用いれば、万が一に暗号変換や復号
変換のアルゴリズムが漏洩した場合であっても、前述の
秘密情報が明らかにならない限り暗号を解読することは
できない。
【0018】上記で述べたような性質を満たす暗号変換
の具体的な回路構成は様々なものが考えられる。しかし
ながら、実用に耐える回路規模と変換速度の制限を満た
す変換を構成することは容易ではない。本発明ではこれ
を満たすような回路構成をもいくつか提案している。
の具体的な回路構成は様々なものが考えられる。しかし
ながら、実用に耐える回路規模と変換速度の制限を満た
す変換を構成することは容易ではない。本発明ではこれ
を満たすような回路構成をもいくつか提案している。
【0019】まず、入力を複数のビットからなる複数の
グループに分割し、それぞれに個別に変換を施す方法で
ある。この方法では、個別の変換の入力ビット数を小さ
くすることにより、一括して変換する場合に比べて回路
規模を小さくし、更に、個別変換を並列に行うことによ
り、高速化も可能とする。例えば暗号変換において、1
6ビット入力16ビット出力の乱数表が格納されたRO
Mを用いる方法と、16ビットの平文入力を4ビットず
つ4分割して、4ビット入力4ビット出力の乱数表が格
納されたROMを4つ並列に用いて個別変換するケース
を比較してみる。入出力のビット数が4分の1になった
ことにより、1個のROMの回路規模は約43 分の1に
なり、4個分でも前者の16分の1の回路規模となる。
ROMの処理速度も約4倍になると考えられ、すなわち
速度も向上する。ビットの入れ替えなどを挟んで同様の
処理を2回行えば、出力データの各ビットは入力データ
の全ビットに依存するように構成できる。このような処
理の中に鍵入力をうまく組み込めば、入出力間の相関性
はほぼランダムとなる。なお、乱数表ROM以外の変換
手段を用いた場合でも同様の効果が期待できる。
グループに分割し、それぞれに個別に変換を施す方法で
ある。この方法では、個別の変換の入力ビット数を小さ
くすることにより、一括して変換する場合に比べて回路
規模を小さくし、更に、個別変換を並列に行うことによ
り、高速化も可能とする。例えば暗号変換において、1
6ビット入力16ビット出力の乱数表が格納されたRO
Mを用いる方法と、16ビットの平文入力を4ビットず
つ4分割して、4ビット入力4ビット出力の乱数表が格
納されたROMを4つ並列に用いて個別変換するケース
を比較してみる。入出力のビット数が4分の1になった
ことにより、1個のROMの回路規模は約43 分の1に
なり、4個分でも前者の16分の1の回路規模となる。
ROMの処理速度も約4倍になると考えられ、すなわち
速度も向上する。ビットの入れ替えなどを挟んで同様の
処理を2回行えば、出力データの各ビットは入力データ
の全ビットに依存するように構成できる。このような処
理の中に鍵入力をうまく組み込めば、入出力間の相関性
はほぼランダムとなる。なお、乱数表ROM以外の変換
手段を用いた場合でも同様の効果が期待できる。
【0020】
【実施例】図1から図5に本発明の実施例を示す。本発
明の装置100は、データ入力301とデータ出力30
2とアドレス出力303を有するデータ処理装置30
0、暗号入力401と復号出力402と鍵入力403,
404を有する復号手段、平文入力501と暗号出力5
02と鍵入力503, 504を有する暗号化手段、秘密
情報格納手段610と秘密情報入力手段620、などか
ら構成され、データ出力201とデータ入力202とア
ドレス入力203を有する外部メモリ200と接続され
て使用される。
明の装置100は、データ入力301とデータ出力30
2とアドレス出力303を有するデータ処理装置30
0、暗号入力401と復号出力402と鍵入力403,
404を有する復号手段、平文入力501と暗号出力5
02と鍵入力503, 504を有する暗号化手段、秘密
情報格納手段610と秘密情報入力手段620、などか
ら構成され、データ出力201とデータ入力202とア
ドレス入力203を有する外部メモリ200と接続され
て使用される。
【0021】データ処理手段100のデータ入力101
およびデータ出力102は、入出力両方の機能を兼ね備
えるデータバスを使用することも可能である。また、暗
号化されていないメモリを読み込むこともできるよう、
復号手段に非暗号化領域を判定する手段を持たせ、復号
変換の実行を制御することも考え得る。
およびデータ出力102は、入出力両方の機能を兼ね備
えるデータバスを使用することも可能である。また、暗
号化されていないメモリを読み込むこともできるよう、
復号手段に非暗号化領域を判定する手段を持たせ、復号
変換の実行を制御することも考え得る。
【0022】図1の実施例では、CPU300のアドレ
ス出力303に応じて外部メモリ200のデータ出力2
01に出力された暗号データを、復号回路400の暗号
入力401に入力し、鍵入力403を鍵として復号した
結果を復号出力402より出力し、CPU300のデー
タ入力301に与える。この構成では、CPU300の
データ出力302は暗号化されずに外部メモリ200に
書き出されるため、CPU300が書き出したデータを
再度読み込む場合に、復号回路はこれを判断して変換を
行わないようにする必要がある。この判断は、例えば前
述のような非暗号化領域の判定手段を用意して、読み出
し専用(ROM)領域と読み書き両用(RAM)領域の
区別を行えば良い。図1の構成は、ROM上に格納した
プログラムおよびデータのみを保護すれば良いような用
途に適している。
ス出力303に応じて外部メモリ200のデータ出力2
01に出力された暗号データを、復号回路400の暗号
入力401に入力し、鍵入力403を鍵として復号した
結果を復号出力402より出力し、CPU300のデー
タ入力301に与える。この構成では、CPU300の
データ出力302は暗号化されずに外部メモリ200に
書き出されるため、CPU300が書き出したデータを
再度読み込む場合に、復号回路はこれを判断して変換を
行わないようにする必要がある。この判断は、例えば前
述のような非暗号化領域の判定手段を用意して、読み出
し専用(ROM)領域と読み書き両用(RAM)領域の
区別を行えば良い。図1の構成は、ROM上に格納した
プログラムおよびデータのみを保護すれば良いような用
途に適している。
【0023】図2の実施例では、図1の構成に暗号化回
路500を加えて、CPU300のデータ出力302を
暗号化回路500の平文入力501に入力し、鍵入力5
03を鍵として暗号化した結果を暗号出力502より出
力し、外部メモリ200に与えている。これにより、R
OM領域のみならずRAM領域の暗号化が可能となり、
CPU300の処理する生のデータを外部に全く出さな
いことにより、解読に対する強度が向上する。
路500を加えて、CPU300のデータ出力302を
暗号化回路500の平文入力501に入力し、鍵入力5
03を鍵として暗号化した結果を暗号出力502より出
力し、外部メモリ200に与えている。これにより、R
OM領域のみならずRAM領域の暗号化が可能となり、
CPU300の処理する生のデータを外部に全く出さな
いことにより、解読に対する強度が向上する。
【0024】図3の実施例では、図1の構成に秘密情報
保持手段610と秘密情報入力手段620を加え、秘密
情報保持手段610に格納された秘密情報を、復号手段
400の鍵入力404に与えている。同様に、図4の実
施例では、図2の構成に秘密情報保持手段610と秘密
情報入力手段620を加え、秘密情報保持手段610に
格納された秘密情報を、復号手段400の鍵入力404
および暗号化手段500の鍵入力504に与えている。
秘密情報保持手段610は、例えばバッテリバックアッ
プされたレジスタや、EPROM等の後書き可能なメモ
リを用いて実現できる。
保持手段610と秘密情報入力手段620を加え、秘密
情報保持手段610に格納された秘密情報を、復号手段
400の鍵入力404に与えている。同様に、図4の実
施例では、図2の構成に秘密情報保持手段610と秘密
情報入力手段620を加え、秘密情報保持手段610に
格納された秘密情報を、復号手段400の鍵入力404
および暗号化手段500の鍵入力504に与えている。
秘密情報保持手段610は、例えばバッテリバックアッ
プされたレジスタや、EPROM等の後書き可能なメモ
リを用いて実現できる。
【0025】秘密情報保持手段610を持たない構成で
は、万が一発明の暗号データ処理装置と同一の機能を実
現する複製装置が作成された場合、それ以前に出荷され
たソフトウェアやデータがその複製装置を用いれば全て
利用可能となってしまう。勿論それ以後はその装置を使
用する意義は失われ、別の暗号変換を用いた装置を新た
に開発しなければならない。
は、万が一発明の暗号データ処理装置と同一の機能を実
現する複製装置が作成された場合、それ以前に出荷され
たソフトウェアやデータがその複製装置を用いれば全て
利用可能となってしまう。勿論それ以後はその装置を使
用する意義は失われ、別の暗号変換を用いた装置を新た
に開発しなければならない。
【0026】図3および図4の構成の如く、秘密情報保
持手段610を持った構成であれば、同様の複製装置が
作成された場合においても、その秘密情報保持手段61
0に格納されるべき正しい秘密情報を入手しなければ、
暗号化されたメモリの情報を利用することはできない。
次に、本発明の装置の暗号変換および復号変換の一実
施例について説明する。暗号化回路の実施例を図5に、
図5の暗号変換の逆変換を施す復号回路の実施例を図6
に示す。
持手段610を持った構成であれば、同様の複製装置が
作成された場合においても、その秘密情報保持手段61
0に格納されるべき正しい秘密情報を入手しなければ、
暗号化されたメモリの情報を利用することはできない。
次に、本発明の装置の暗号変換および復号変換の一実
施例について説明する。暗号化回路の実施例を図5に、
図5の暗号変換の逆変換を施す復号回路の実施例を図6
に示す。
【0027】図5の暗号変換回路例500は、32ビッ
トの鍵入力に応じて16ビットの平文入力から16ビッ
トの暗号出力を出力する暗号変換を実現する回路であ
り、4ビット入力4ビット出力の変換ROM511〜5
18と、16ビット入力を4ビットずつ4つに分割する
ビット分割回路521〜522と、4つの4ビット入力
を16ビットに再合成するビット合成回路531〜53
2と、16ビットのビット毎の排他的論理和をとる排他
的論理和回路541〜542とから構成されている。変
換処理は、16ビットの平文入力に対して、まず、鍵入
力503の一部の16ビットとビット毎の排他的論理和
をとり、この出力をビット分割回路521により4ビッ
トずつ4つに分割し、4ビットの各々に対して変換RO
M511〜514を用いて変換を施し、ビット統合回路
531を用いて再度16ビットにまとめる。得られた出
力に対して同様に、鍵入力503の残りの16ビットと
ビット毎の排他的論理和をとり、この出力をビット分割
回路522により4ビットずつ4つに分割し、4ビット
の各々に対して変換ROM515〜518を用いて変換
を施し、ビット統合回路532を用いて再度16ビット
にまとめ、暗号出力502に出力する。
トの鍵入力に応じて16ビットの平文入力から16ビッ
トの暗号出力を出力する暗号変換を実現する回路であ
り、4ビット入力4ビット出力の変換ROM511〜5
18と、16ビット入力を4ビットずつ4つに分割する
ビット分割回路521〜522と、4つの4ビット入力
を16ビットに再合成するビット合成回路531〜53
2と、16ビットのビット毎の排他的論理和をとる排他
的論理和回路541〜542とから構成されている。変
換処理は、16ビットの平文入力に対して、まず、鍵入
力503の一部の16ビットとビット毎の排他的論理和
をとり、この出力をビット分割回路521により4ビッ
トずつ4つに分割し、4ビットの各々に対して変換RO
M511〜514を用いて変換を施し、ビット統合回路
531を用いて再度16ビットにまとめる。得られた出
力に対して同様に、鍵入力503の残りの16ビットと
ビット毎の排他的論理和をとり、この出力をビット分割
回路522により4ビットずつ4つに分割し、4ビット
の各々に対して変換ROM515〜518を用いて変換
を施し、ビット統合回路532を用いて再度16ビット
にまとめ、暗号出力502に出力する。
【0028】変換ROM511〜518が行う変換の例
を図7に示す。この表は、例えば、ROM511に入力
1010が与えられた時に0110が出力されることを
示している。このような変換手段は特にROMである必
要はなく、任意の回路で構成することができるが、でき
るだけランダムな変換を行うものが好ましい。
を図7に示す。この表は、例えば、ROM511に入力
1010が与えられた時に0110が出力されることを
示している。このような変換手段は特にROMである必
要はなく、任意の回路で構成することができるが、でき
るだけランダムな変換を行うものが好ましい。
【0029】図6の復号変換回路例400は、32ビッ
トの鍵入力に応じて16ビットの暗号入力から16ビッ
トの復号出力を出力する復号変換を実現する回路であ
り、4ビット入力4ビット出力の変換ROM411〜4
18と、16ビット入力を4ビットずつ4つに分割する
ビット分割回路421〜422と、4つの4ビット入力
を16ビットに再合成するビット合成回路431〜43
2と、16ビットのビット毎の排他的論理和をとる排他
的論理和回路441〜442とから構成されている。変
換処理は、16ビットの暗号入力に対して、まず、鍵入
力403の一部の16ビットとビット毎の排他的論理和
をとり、この出力をビット分割回路422により4ビッ
トずつ4つに分割し、4ビットの各々に対して変換RO
M515〜518を用いて変換を施し、ビット統合回路
532を用いて再度16ビットにまとめる。得られた出
力に対して同様に、鍵入力503の残りの16ビットと
ビット毎の排他的論理和をとり、この出力をビット分割
回路521により4ビットずつ4つに分割し、4ビット
の各々に対して変換ROM511〜514を用いて変換
を施し、ビット統合回路531を用いて再度16ビット
にまとめ、復号出力502に出力する。
トの鍵入力に応じて16ビットの暗号入力から16ビッ
トの復号出力を出力する復号変換を実現する回路であ
り、4ビット入力4ビット出力の変換ROM411〜4
18と、16ビット入力を4ビットずつ4つに分割する
ビット分割回路421〜422と、4つの4ビット入力
を16ビットに再合成するビット合成回路431〜43
2と、16ビットのビット毎の排他的論理和をとる排他
的論理和回路441〜442とから構成されている。変
換処理は、16ビットの暗号入力に対して、まず、鍵入
力403の一部の16ビットとビット毎の排他的論理和
をとり、この出力をビット分割回路422により4ビッ
トずつ4つに分割し、4ビットの各々に対して変換RO
M515〜518を用いて変換を施し、ビット統合回路
532を用いて再度16ビットにまとめる。得られた出
力に対して同様に、鍵入力503の残りの16ビットと
ビット毎の排他的論理和をとり、この出力をビット分割
回路521により4ビットずつ4つに分割し、4ビット
の各々に対して変換ROM511〜514を用いて変換
を施し、ビット統合回路531を用いて再度16ビット
にまとめ、復号出力502に出力する。
【0030】変換ROM411〜418の行う変換の例
を図8に示す。図7の各変換ROM511〜518の変
換と図7の各変換ROM411〜418の変換とは、互
いに逆変換の関係となっている。また、ビット分割回路
521, 522, 421, 422は、それぞれビット合
成回路431, 432, 531, 532と互いに逆変換
の関係にある。したがって、排他的論理和回路541,
542に鍵入力503から入力する値と、排他的論理和
回路441, 442に鍵入力403から入力する値が等
しい場合に、暗号変換と復号変換が互いに逆変換である
ことが保証される。
を図8に示す。図7の各変換ROM511〜518の変
換と図7の各変換ROM411〜418の変換とは、互
いに逆変換の関係となっている。また、ビット分割回路
521, 522, 421, 422は、それぞれビット合
成回路431, 432, 531, 532と互いに逆変換
の関係にある。したがって、排他的論理和回路541,
542に鍵入力503から入力する値と、排他的論理和
回路441, 442に鍵入力403から入力する値が等
しい場合に、暗号変換と復号変換が互いに逆変換である
ことが保証される。
【0031】図5の暗号変換回路に注目すると、平文入
力501の1ビットの変化は変換ROM511〜514
の内どれかに入力され、ビット合成回路531の入力の
4ビットに影響を与える。また、同じように、ビット合
成回路531の出力の1ビットの変化は変換ROM51
5〜518のどれかに入力され、ビット合成回路532
の入力の4ビットに影響を与える。そこで、ビット合成
回路531が、変換ROM511の出力4ビットを1ビ
ットずつ変換ROM515〜518に与えるようにビッ
トを並べかえ、変換ROM512〜514の出力も同じ
ように並べかえれば、平文入力501の内の1ビットの
変化は、暗号出力502の16ビット(つまりすべて)
に影響を及ぼすことになり、言い替えれば、入力の1ビ
ットの変化が出力の任意のビットに変化を及ぼす可能性
を秘めていることになる。鍵入力503についても同様
な性質が得られる。このような性質は暗号解読を非常に
困難にする。
力501の1ビットの変化は変換ROM511〜514
の内どれかに入力され、ビット合成回路531の入力の
4ビットに影響を与える。また、同じように、ビット合
成回路531の出力の1ビットの変化は変換ROM51
5〜518のどれかに入力され、ビット合成回路532
の入力の4ビットに影響を与える。そこで、ビット合成
回路531が、変換ROM511の出力4ビットを1ビ
ットずつ変換ROM515〜518に与えるようにビッ
トを並べかえ、変換ROM512〜514の出力も同じ
ように並べかえれば、平文入力501の内の1ビットの
変化は、暗号出力502の16ビット(つまりすべて)
に影響を及ぼすことになり、言い替えれば、入力の1ビ
ットの変化が出力の任意のビットに変化を及ぼす可能性
を秘めていることになる。鍵入力503についても同様
な性質が得られる。このような性質は暗号解読を非常に
困難にする。
【0032】図5における暗号変換は、平文入力に固定
の入力を与えた場合でも、鍵入力を変化させることによ
って、暗号出力に暗号出力が取りうる全て又はほとんど
の値が出現する変換でもよいし、鍵入力を固定して平文
入力の任意の1ビットを反転した時に暗号出力側で反転
するビットの位置が、鍵入力および平文入力によって変
換する変換でもよいし、暗号出力の各ビットの値が、平
文入力の値の一次式で表現できない非線形変換でもよい
し、暗号変換又は復号変換のアルゴリズムが知られた場
合においても平文と暗号化データの対から鍵入力を容易
には求められない変換でもよい。
の入力を与えた場合でも、鍵入力を変化させることによ
って、暗号出力に暗号出力が取りうる全て又はほとんど
の値が出現する変換でもよいし、鍵入力を固定して平文
入力の任意の1ビットを反転した時に暗号出力側で反転
するビットの位置が、鍵入力および平文入力によって変
換する変換でもよいし、暗号出力の各ビットの値が、平
文入力の値の一次式で表現できない非線形変換でもよい
し、暗号変換又は復号変換のアルゴリズムが知られた場
合においても平文と暗号化データの対から鍵入力を容易
には求められない変換でもよい。
【0033】
【発明の効果】メモリ上の暗号化された情報は、本発明
の装置および秘密情報を入手しなければ使用できないた
め、メモリのコピーによるプログラムまたはデータの盗
用を防止できる。従来は同じ平文が同じ暗号データに変
換される確率が高かったために容易に暗号解読されてい
たが、暗号変換のパラメータとしてアドレス情報を直接
利用することによりこれを防止し、解読に対する強度を
向上させた暗号化メモリ処理装置を提供する。
の装置および秘密情報を入手しなければ使用できないた
め、メモリのコピーによるプログラムまたはデータの盗
用を防止できる。従来は同じ平文が同じ暗号データに変
換される確率が高かったために容易に暗号解読されてい
たが、暗号変換のパラメータとしてアドレス情報を直接
利用することによりこれを防止し、解読に対する強度を
向上させた暗号化メモリ処理装置を提供する。
【図1】本発明の一実施例を示すブロック図
【図2】暗号化手段を備えた本発明の一実施例を示すブ
ロック図
ロック図
【図3】秘密情報保持手段を備えた本発明の一実施例を
示すブロック図
示すブロック図
【図4】暗号化手段と秘密情報保持手段を備えた本発明
の一実施例を示すブロック図
の一実施例を示すブロック図
【図5】本発明の暗号化手段の一実施例を示すブロック
図
図
【図6】図5の暗号化手段の逆変換を行う復号手段を示
すブロック図
すブロック図
【図7】図5の変換ROMの変換の例を示す変換表
【図8】図6の変換ROMの変換の例を示す変換表
【図9】従来の暗号命令処理装置のブロック図
【図10】従来の模倣防止機能付プロセッサのブロック
図
図
100 本発明の一実施例を示すブロック図 200 外部メモリ 201 データ出力 202 データ入力 203 アドレス入力 300 データ処理手段 301 データ入力 302 データ出力 303 アドレス出力 400 復号手段 401 暗号入力 402 復号出力 403、404 鍵入力 411〜418 変換ROM 421〜422 ビット分割回路 431〜432 ビット合成回路 441〜443 排他的論理和回路 500 暗号化手段 501 平文入力 502 暗号出力 503、504 鍵入力 511〜518 変換ROM 521〜522 ビット分割回路 531〜532 ビット合成回路 541〜543 排他的論理和回路 610 秘密情報保持手段 620 秘密情報入力手段 910 従来の装置 911 命令実行手段 912 プログラムカウンタ 913 選択回路 914 アドレス領域判定回路 915〜917 第1の命令解釈手段 930 従来の装置 931 データ処理手段 932 データ入力 933 アドレス出力 934 変換回路 935 内部メモリ
Claims (5)
- 【請求項1】 平文に対して暗号鍵を用いて暗号変換を
施した暗号データを格納するメモリを接続し、アドレス
出力、データ入出力を有するデータ処理手段と、前記ア
ドレス出力の一部または全部を暗号鍵として入力し、該
暗号鍵が前記平文に対する暗号鍵と同一の時に前記暗号
変換の逆変換となる復号変換を行い前記データ処理手段
のデータ入力に与える復号手段を有することを特徴とす
る暗号化データ処理装置。 - 【請求項2】 前記復号手段と同一の暗号鍵を入力し、
前記データ処理手段のデータ出力を暗号変換する暗号化
手段を更に備え、前記暗号化手段の出力を前記アドレス
出力に応じて前記メモリに書き込むことを特徴とする請
求項1記載の暗号化データ処理装置。 - 【請求項3】 秘密情報を保持するための秘密情報保持
手段と、前記秘密情報を入力して前記秘密情報保持手段
に格納するための秘密情報入力手段とを更に備え、前記
アドレス出力の一部または全部と、前記秘密情報保持手
段に保持された秘密情報とを前記復号手段及び前記暗号
化手段の暗号鍵とすることを特徴とする請求項1又は2
記載の暗号化データ処理装置。 - 【請求項4】 前記暗号変換は、平文、暗号鍵の少なく
とも一方を、複数のビットから構成される複数のグルー
プに分解し、該グループの各々に対して変換を施した
後、再度合成する処理を1つ以上含む変換であることを
特徴とする請求項1、2又は3記載の暗号化データ処理
装置。 - 【請求項5】 前記暗号変換は、平文のビット幅以上の
ビット幅を持つ暗号鍵を入力とし、該暗号鍵を該平文と
等しいビット幅に縮小し、該平文の各ビット毎の排他的
論理和をとることを特徴とする請求項1、2又は3記載
の暗号化データ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5187849A JPH0744375A (ja) | 1993-07-29 | 1993-07-29 | 暗号化データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5187849A JPH0744375A (ja) | 1993-07-29 | 1993-07-29 | 暗号化データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0744375A true JPH0744375A (ja) | 1995-02-14 |
Family
ID=16213298
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5187849A Pending JPH0744375A (ja) | 1993-07-29 | 1993-07-29 | 暗号化データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0744375A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006308636A (ja) * | 2005-04-26 | 2006-11-09 | Kenwood Corp | 音声データベース製造装置、音声データベース、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム |
| US7487552B2 (en) | 1995-08-11 | 2009-02-03 | Sony Corporation | Method and apparatus for ciphering playback mode information for recording on record medium |
| JPWO2010109516A1 (ja) * | 2009-03-23 | 2012-09-20 | 富士通株式会社 | データ処理装置及びデータ処理方法 |
| US11061830B2 (en) | 2017-01-18 | 2021-07-13 | Fujitsu Limited | Data output control apparatus, information processing apparatus, and data output control method |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5987546A (ja) * | 1982-11-12 | 1984-05-21 | Hitachi Yonezawa Denshi Kk | ソフトウエア保護方式 |
| JPS59173847A (ja) * | 1983-03-23 | 1984-10-02 | Oyo Syst Kenkyusho:Kk | コンピユ−タソフトウエアの保護方法およびその装置 |
-
1993
- 1993-07-29 JP JP5187849A patent/JPH0744375A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5987546A (ja) * | 1982-11-12 | 1984-05-21 | Hitachi Yonezawa Denshi Kk | ソフトウエア保護方式 |
| JPS59173847A (ja) * | 1983-03-23 | 1984-10-02 | Oyo Syst Kenkyusho:Kk | コンピユ−タソフトウエアの保護方法およびその装置 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7487552B2 (en) | 1995-08-11 | 2009-02-03 | Sony Corporation | Method and apparatus for ciphering playback mode information for recording on record medium |
| JP2006308636A (ja) * | 2005-04-26 | 2006-11-09 | Kenwood Corp | 音声データベース製造装置、音声データベース、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム |
| JPWO2010109516A1 (ja) * | 2009-03-23 | 2012-09-20 | 富士通株式会社 | データ処理装置及びデータ処理方法 |
| EP2413305A4 (en) * | 2009-03-23 | 2015-04-29 | Fujitsu Ltd | DATA PROCESSING DEVICE AND DATA PROCESSING METHOD |
| US11061830B2 (en) | 2017-01-18 | 2021-07-13 | Fujitsu Limited | Data output control apparatus, information processing apparatus, and data output control method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
| CN100379194C (zh) | 存储器加密 | |
| CN1331013C (zh) | 计算单元及以加密操作数执行算术运算之方法 | |
| CN106888080B (zh) | 保护白盒feistel网络实施方案以防错误攻击 | |
| KR100417657B1 (ko) | 일방향 데이터 변환장치 및 기기 인증 시스템 | |
| US20060265563A1 (en) | Word-individual key generation | |
| JP2000162965A (ja) | 暗復号装置及び記憶媒体 | |
| NO20006385L (no) | Blokk-chiffere med heltallsmultiplikasjon og dataavhengig og fast antall rotasjoner i hver runde | |
| US20070071236A1 (en) | High speed configurable cryptographic architecture | |
| CN114444140B (zh) | 存储器中的不可复制函数应用 | |
| JP6877889B2 (ja) | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 | |
| JP2011512562A (ja) | アクセス及び通信に関するデータのランダム暗号化及び復号化方法 | |
| US8301905B2 (en) | System and method for encrypting data | |
| US7764786B2 (en) | Protection of a DES algorithm | |
| WO2019031026A1 (ja) | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 | |
| EP1351430B1 (en) | Expansion key generating device, encryption device and encryption system | |
| US20050138403A1 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
| US8045712B2 (en) | Stream ciphering of the content of a memory external to a processor | |
| EP2413305B1 (en) | Data processing device and data processing method | |
| KR100456599B1 (ko) | 병렬 디이에스 구조를 갖는 암호 장치 | |
| CN117335965A (zh) | 密码装置及其密码方法 | |
| WO2006033347A1 (ja) | 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置 | |
| JPH0744375A (ja) | 暗号化データ処理装置 | |
| JP4515716B2 (ja) | 拡大鍵生成装置、暗号化装置および暗号化システム | |
| US12463794B2 (en) | High-speed circuit combining AES and SM4 encryption and decryption |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19960903 |