JPH09270785A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH09270785A
JPH09270785A JP8180453A JP18045396A JPH09270785A JP H09270785 A JPH09270785 A JP H09270785A JP 8180453 A JP8180453 A JP 8180453A JP 18045396 A JP18045396 A JP 18045396A JP H09270785 A JPH09270785 A JP H09270785A
Authority
JP
Japan
Prior art keywords
data
encryption
decryption
encrypted
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8180453A
Other languages
English (en)
Other versions
JP3747520B2 (ja
Inventor
Kenji Kono
健二 河野
Masahiro Taguchi
正弘 田口
Kazuo Saito
和雄 齊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP18045396A priority Critical patent/JP3747520B2/ja
Priority to US08/791,486 priority patent/US5995623A/en
Publication of JPH09270785A publication Critical patent/JPH09270785A/ja
Application granted granted Critical
Publication of JP3747520B2 publication Critical patent/JP3747520B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Abstract

(57)【要約】 【課題】 コンピュータのメモリの管理方法に依存せず
に、少ない計算量の暗号アルゴリズム及び簡単な鍵管理
により暗号強度の高い暗号化データを得る。 【解決手段】 暗号化対象データ1は任意の暗号化方式
により暗号化され暗号データ11aとなる。配置手段1
3により、暗号化方式を示す暗号化方式識別データ12
aが暗号データ11a内に配置され、暗号データ13a
が生成される。暗号データ13aは、記憶手段30に格
納される。暗号データ13aのデータ処理が必要になる
と、分離手段21により、暗号データ13aが復号対象
データ21aと復号方式識別データ21bとに分離され
る。復号方式決定手段22が、復号方式識別データ21
bから復号方式を決定し、その復号方式により復号手段
23が、復号対象データ21aを復号する。復号手段2
3により復号されたデータ2aは、暗号化対象データ1
と同一のデータとなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はソフトウェアの保護
機能付情報処理装置に関し、特に処理が行われたデータ
を逐次暗号化する暗号化装置を有するか、処理を行うべ
き暗号化データを逐次復号する復号装置を有するか、あ
るいはそれらの双方を有する情報処理装置に関する。
【0002】
【従来の技術】作成したプログラムやデータ(以下、特
にことわりのない限りプログラムとデータとを含めて単
に「データ」と呼ぶ)を流通させる場合、データを盗用
や改ざんあるいは不正使用から保護する必要がある。こ
れまでの保護手段としては、データをロム化したり、フ
ロッピー等に記憶しコピープロテクトをかける等の方法
がとられてきた。ところが、このような方法ではデータ
の内容を容易に読み出すことが可能であるためデータを
完全に保護することはできない。
【0003】また、データを暗号化して流通させ、復号
鍵を持ったユーザのみがデータを復号して使用できるよ
うにすることが可能である。ただし、この方法では復号
された後のプログラムまたはデータが無防備であり、そ
こがセキュリティホールとなり盗用や改ざん及び不正使
用を許してしまう結果となる。
【0004】これらの問題を解決する技術として、復号
された後のプログラムまたはデータを不正に入手できな
いようにするために、データを暗号化しメモリ等に格納
しておきそれを中央処理装置で実行する時に復号する方
式が、特開平2−155034号の「セキュリティ機能
付き情報処理装置」に示されている。この方式では、デ
ータを保護するために、情報処理装置内部に暗号化装置
と復号装置とを設けており、これにより、ソフトウェア
の保護を図っている。この情報処理装置について具体的
に説明する。
【0005】図18は従来のソフトウェアの保護を図っ
た情報処理装置のブロック図である。図18に示した情
報処理装置は、中央処理装置510、記憶装置523、
入力装置521、出力装置522、及び鍵入力装置52
4を備えている。さらに、中央処理装置510は、内部
に演算部511、制御部512、暗号化・復号部51
3、及び鍵格納部514を備えている。
【0006】中央処理装置510は、情報処理装置の中
心部分として機能し、データの演算や他の装置の制御等
を行う。記憶装置523は、データが格納される装置で
あり、中央処理装置510からの制御によって中央処理
装置510内の暗号化・復号部513とデータの授受を
行う。
【0007】入力装置521は、中央処理装置510か
らの制御で情報処理装置の外部からのデータを受け取
る。出力装置522は、中央処理装置510からの制御
で情報処理装置のデータを外部に出力する。鍵入力装置
524は、中央処理装置510の暗号化や復号を行うの
に必要な鍵をセットする。
【0008】中央処理装置510内の演算部511は入
力装置521や記憶装置523から与えられたデータに
対して算術演算や論理演算を行う。制御部512は記憶
装置523からの命令を解釈し情報処理装置全体の制御
を行う。鍵格納部514は、鍵入力装置524がセット
した鍵を格納する。暗号化・復号部513は記憶装置5
23と演算部511との間にあり、暗号化されている記
憶装置523上の命令及びデータを、鍵格納部514内
の鍵を用いて演算部511が解釈できるように復号する
とともに、演算部511で演算された結果を記憶装置5
23に書き込む際に、鍵格納部514内の鍵を用いて暗
号化し記憶装置523に格納する。
【0009】このような構成により、記憶装置523に
格納されるデータを常に暗号化しておくことができる。
そのため、記憶装置523内のデータを盗用してもその
内容を解釈することは困難となり、データの秘匿性を高
めることができる。
【0010】ところで、この様なソフトウェアの保護機
能が付いた情報処理装置においては、暗号化して格納さ
れたプログラムやデータを実行時に逐次復号して実行し
なければならない。そのため、復号する際のオーバーヘ
ッドを考慮して計算量が少ない比較的簡単なアルゴリズ
ムの暗号化方式(例えばXOR等)を用いなければなら
ず、結果として暗号強度が低くなるという問題がある。
従って、比較的簡単なアルゴリズムの暗号化方式でも暗
号強度を出来るだけ高める必要がある。
【0011】そこで、情報処理装置ごとに暗号化の方法
を変えて非公開にする努力がなされている。ただし、こ
のような方法を用いるとデータの互換性が大きく失われ
てしまうという新たな問題が発生する。しかも、プログ
ラム内の命令コードの出現頻度や暗号化されたプログラ
ムと装置の動作の対応などから、暗号化アルゴリズムや
暗号鍵が類推できるので、装置単位で見ると必ずしも暗
号強度が高くなったとは言えない。
【0012】このように、単に暗号化の方式を非公開に
するだけでは十分な暗号強度が得られないため、少ない
計算量で高い暗号強度を得られるような、他の手法がい
くつか考えられている。その例を、以下に説明する。
【0013】第1の例として、メモリのアドレス(エリ
ア)ごとに暗号化アルゴリズムを変える方式がある。こ
れは、特開昭63−184853号公報「携帯可能電子
装置」に開示されている。これには、複数のエリアに分
割されたデータメモリ部と、このデータメモリ部に対し
てデータの読み出し及びデータの書き込みを行うための
制御部とを設け、データメモリ部のエリアごとに異なる
暗号化アルゴリズムが割当てられている。これにより、
アドレスやエリアにより暗号化アルゴリズムや暗号鍵を
変えることができ、データの秘匿性がより高いものとな
る。
【0014】第2の例として、メモリ内のあるアドレス
上のデータによりそのデータ自身及び残りのデータ全て
を暗号化する方式がある。これは、特開平4−2293
46号公報「プログラムコード保護用に使用すべきアド
レスした情報のストリームのエンクリプシヨン」に開示
されている。この方式は、EPROM(Erasable andPr
ogrammable Read Only Memory) 内の保護されたプログ
ラムまたはデータを開示することなしに検査または転送
するためのものである。この方法によれば、暗号鍵がメ
モリ内のデータであるので暗号鍵を格納するキーバイト
を特別に設ける必要がなく、EPROMのシリコン面積
を無駄に使用することがない。また、暗号鍵に用いたデ
ータ領域も自身よって暗号化されるので、例えば暗号化
方法に排他的NORゲートを用いた場合には暗号鍵に用
いたデータ領域が論理値1の出力バイトとなり暗号鍵を
秘匿することができる。
【0015】第3の例として、複数の暗号鍵を用いる代
わりにDES(Data Encryption Standard: 米商務省標
準局〔現在の米国標準技術協会〕が1977年に公表し
た暗号アルゴリズム)の動作モードであるCBC(Ciph
er Block Chaining)やCFB(Cipher Feed Back) を用
いて暗号強度を高める方式がある。これらは1つの暗号
化ステップの出力を用いて次の暗号化ステップの入力を
修正するものである。
【0016】DESは、暗号化の対象となるデータを6
4ビットのブロックに分割し、1ブロックずつ処置する
が、CBCでは、ブロック毎のデータと暗号鍵だけでな
く、前のブロックの暗号化によって得られる値も使用す
る。一方、CFBは、最初のブロックを暗号化し、それ
によって得られた暗号化データをDESへの入力として
使用して、擬似ランダム出力を生成する。この出力をさ
らに次のブロックのデータに結合し暗号文を生成する。
これを繰り返し、暗号文を次々に連結していく。CBC
やCFBのようにすることでそれぞれの暗号ブロックは
影響し合い、直前の暗号ブロックだけではなく全ての暗
号ブロックを関連づけることができるので所与の順序以
外では復号できないようにすることができる。
【0017】第4の例として、特開平4−101529
号公報「暗号化通信方式」が公開されている。これは、
暗号化した電文中に暗号鍵を挿入して伝送し、受信され
た暗号化電文中から前記暗号鍵を抽出し、抽出された暗
号鍵を使用して前記暗号化電文を解読することを特徴と
する暗号化通信方式について記載したものである。この
暗号化通信方式では、暗号鍵をそのまま暗号化電文中に
挿入し、暗号鍵を挿入する位置は送信先との通信回数で
決まる乱数値によって決定される。送信側と受信側で
は、お互いに通信回数をカウントするカウンタと、その
カウンタの値に応じた乱数値を発生させる乱数発生手段
を共有している。この様にすることで、暗号鍵を通信ご
とに変えることができ、盗聴者による盗聴を困難にする
ことができる。
【0018】
【発明が解決しようとする課題】しかし、上記に示した
ような計算量が少なくかつ暗号強度を高めるための方式
には、それぞれ次のような問題点がある。
【0019】第1の例に示したアドレスやエリアにより
暗号化アルゴリズムや暗号鍵を変える方法は、ROM
(Read Only Memory) のようなデータとデータアドレス
の関係が変わらないようなメモリに対しては有効であ
る。ところが、現在主流となっている仮想メモリを有す
るコンピュータには、この方法を適用することができな
い。
【0020】つまり、仮想メモリを有するコンピュータ
では、プロセッサに対して記憶装置がメインメモリと補
助メモリとの階層構造をなしている。この場合、暗号化
されたデータが補助メモリからメインメモリへスワップ
インしたり、メインメモリから補助メモリへスワップア
ウトするたびに暗号化されたデータのメインメモリ上の
アドレスが頻繁に変化する。その結果、暗号化アルゴリ
ズムまたは暗号鍵とデータアドレス上の暗号化されたデ
ータとの整合が取れなくなるという問題が生じる。
【0021】第2の例に示した方式は、暗号化の領域が
アドレスにより決定されており、第1の例に示した方式
と同様にメモリの階層構造を持った記憶装置には適用で
きない。
【0022】第3の例に示した方式は、実質的には1つ
の暗号鍵しか用いていないので、その暗号鍵が露呈した
場合には他の全てのデータが解読されてしまうという問
題は解決されない。
【0023】第4の例に示した方式は、通信に用いる暗
号化方式であり、通信側と受信側で暗号鍵を共用しない
ですむように、暗号鍵そのものを暗号化電文中に挿入し
ている。従って、暗号鍵を挿入する位置が盗聴者に知ら
れてしまうと、暗号鍵そのものが露呈してしまうという
問題が生じる。それを防ぐために第4の例では、通信回
数で決まる乱数値によって暗号鍵を挿入する位置を変化
させてこの問題を解消させていた。従って、通信側と受
信側で正確にデータをやり取りするためには、互いに同
期を取る必要があり、暗号化される順番と復号される順
番を同じにする必要がある。しかし、ランダムアクセス
を基本とした情報処理装置のメモリにおいて、上記の方
式を適用することは事実上不可能である。
【0024】また、情報処理装置で取り扱われるデータ
の単位は、処理の効率上同一のビット数(32ビットや
64ビット)となることが多い。従って、暗号化するこ
とにより暗号鍵のビット数分データが付加されると、暗
号化前と暗号化さた後とではデータのサイズが変化して
しまうため、それを前提にしてソフトウェアを設計しな
ければならず、ソフトウェアの汎用性が大きく損なわれ
てしまうと共に、一部暗号化方式の情報をソフトウェア
開発者に公開しなければならなくなり、暗号強度が著し
く低下することになる。
【0025】また、ソフトウェアの汎用性を保とうとす
ると、データのサイズの変化をハードウェアで補わなけ
ればならなくなり情報処理装置のアーキテクチャの大幅
な設計変更が必要となる。
【0026】さらに、情報処理装置で取り扱われるデー
タの単位は一般に通信の場合よりも短く、暗号化される
データに対する暗号鍵データのサイズの割合が大きくな
り記憶装置のメモリ空間を有効に活用できなくなるとい
う問題が生じる。また、メモリ空間を浪費しないように
暗号鍵データのサイズを短くすると、暗号強度が低下し
てしまう。
【0027】なお、第1の例に示した方式の問題点を解
決する手段として、アドレスやエリアを仮想メモリ空間
に対応させることにより、暗号化アルゴリズムまたは暗
号鍵とアドレス上の暗号化されたデータとの整合を取る
ことも可能である。ただし、このような仮想アドレスの
管理はオペレーションシステム(以下、OSと呼ぶ)で
行わなければならない。一般にOSはソフトウェアであ
るので、特に暗号強度が低いこのようなシステムでは、
OS内の暗号化アルゴリズムまたは暗号鍵の切替えを制
御している部分を集中的に解読することで容易に改ざん
可能である。その結果、一旦装置内部で復号したデータ
をそのまま外部に出力するような改ざんが可能となり、
OSの一部を改ざんしただけで全てのデータが解読され
るという問題が生じる。
【0028】以上のように、従来は、コンピュータのメ
モリの管理方法に依存せずに、少ない計算量で高い暗号
強度を得ることが困難であった。なお、複数の鍵又は暗
号アルゴリズムを用いた暗号方法を用いれば、少ない計
算で強い暗号強度が得られるが、この場合であっても、
OSの制御による複雑な鍵管理が介在しないことが条件
である。
【0029】本発明はこのような点に鑑みてなされたも
のであり、コンピュータのメモリの管理方法に依存せず
に、少ない計算量の暗号アルゴリズム及び簡単な鍵管理
により暗号強度の高い暗号化データを得る暗号化装置を
有する情報処理装置を提供することを目的とする。
【0030】また、本発明の他の目的は、コンピュータ
のメモリの管理方法に依存せずに、暗号強度の高い暗号
化データを少ない計算量の復号アルゴリズム及び簡単な
鍵管理で復号することができる復号装置を有する情報処
理装置を提供することである。
【0031】さらに、本発明の別の目的は、コンピュー
タのメモリの管理方法に依存せずに、暗号強度の高い暗
号化データへの暗号化とその暗号化データの復号とを、
少ない計算量の暗号化/復号アルゴリズム及び簡単な鍵
管理で行うことのできる暗号化/復号装置を有する情報
処理装置を提供することにある。
【0032】
【課題を解決するための手段】上記課題を解決するため
に、第1の発明では、入力されたデータを、識別データ
と暗号化対象データとに分離する入力データ分離手段
と、前記入力データ分離手段が分離した識別データに応
じて、暗号鍵と暗号化アルゴリズムの組み合わせにより
特定される暗号化方式を決定する暗号化方式決定手段
と、前記暗号化方式決定手段により決定された暗号化方
式を用いて暗号化対象データを暗号化し、暗号化データ
を生成する暗号化手段と、前記暗号化データの暗号化に
用いられた暗号化方式を示す識別データを、前記暗号化
データ内の所定の位置に配置する配置手段と、前記配置
手段により前記識別データが配置された暗号化データを
格納する記憶手段と、前記記憶手段に格納された前記識
別データが配置された暗号化データを、識別データと暗
号化データとに分離する分離手段と、前記分離手段によ
り分離された識別データに応じて、復号鍵と復号アルゴ
リズムとの組み合わせにより特定される復号方式を決定
する復号方式決定手段と、前記復号方式決定手段で決定
された復号方式を用いて、前記暗号化データを復号する
復号手段と、前記識別データを前記復号手段で復号され
たデータ内の所定の位置に配置する再配置手段と、前記
再配置手段により識別データが配置されたデータの処理
を行う情報処理手段と、を有することを特徴とする情報
処理装置が提供される。
【0033】この情報処理装置によれば、暗号化されて
いるデータが識別データと暗号化データとに分離され、
分離された識別データにより暗号化データの復号方式を
特定することができるため、暗号化データの復号方式を
コンピュータのメモリ管理方法に依存せずに特定するこ
とができる。従って、情報処理装置で取り扱われるデー
タを複数の暗号方式で暗号化することが可能となり、計
算量の少ない暗号化アルゴリズムを用いた場合でも暗号
化強度の高い暗号化データを得ることができる。また、
入力されたデータの一部を識別データとして用いている
ので、復号方式を特定するために余分な情報を付加する
必要がない。また、暗号鍵そのものではなく識別データ
を用いることによって暗号鍵のビット長に制約がなくな
るとともに、暗号化アルゴリズムも複数のものを使用す
ることが可能となる。
【0034】また、第2の発明では、暗号鍵と暗号化ア
ルゴリズムとの組み合わせにより特定される暗号化方式
を決定する暗号化方式決定手段と、前記暗号化方式決定
手段により決定された暗号化方式を用いて暗号化対象デ
ータを暗号化し、暗号化データを生成する暗号化手段
と、前記暗号化手段により暗号化された暗号化データ
を、所定の関数に入力して関数値を計算する第1の計算
手段と、前記暗号化データを復号する復号鍵と復号アル
ゴリズムとから特定される復号方式を、前記第1の計算
手段により得られた関数値に対応づけて格納する復号方
式記憶手段と、前記暗号化手段により暗号化された暗号
化データを格納する記憶手段と、前記記憶手段に格納さ
れた暗号化データを、前記第1の計算手段で用いられた
関数に入力して関数値を計算する第2の計算手段と、前
記第2の計算手段により算出された関数値に対応する復
号方式を前記復号方式記憶手段内から選択し、復号方式
を決定する復号方式決定手段と、前記復号方式決定手段
で決定された復号方式を用いて、前記暗号化データを復
号する復号手段と、前記復号手段により復号されたデー
タの処理を行う情報処理手段と、を有することを特徴と
する情報処理装置が提供される。
【0035】この情報処理装置によれば、暗号化データ
の関数値により暗号化データの復号方式を特定すること
ができるため、暗号化データの復号方式をコンピュータ
のメモリ管理方法に依存せずに特定することができる。
従って、情報処理装置で取り扱われるデータを複数の暗
号化方式で暗号化することが可能となり、計算量の少な
い暗号化アルゴリズムを用いた場合でも暗号化強度の高
い暗号化データを得ることができる。
【0036】また、第3の発明では、暗号鍵と暗号化ア
ルゴリズムの組み合わせにより特定される暗号化方式を
決定する決定手段と、前記決定手段により決定された暗
号化方式を用いて暗号化対象データを暗号化し暗号化デ
ータを生成する暗号化手段と、前記暗号化データの暗号
化に用いられた暗号化方式を示す識別データを、前記暗
号化データ内の所定の位置に配置する配置手段と、を有
することを特徴とする情報処理装置が提供される。
【0037】前記第3の発明においては、課題で述べた
ように暗号化した場合にデータのサイズが増加してしま
うためソフトウェアを一部書き換えるか又はアーキテク
チャの設計変更が必要となるが、暗号鍵そのものでなく
識別データを付加しているのでソフトウェア設計者に識
別データのビット長を公開したとしても、暗号鍵そのも
ののビット長は秘密にすることができるので、暗号強度
の低下を防ぐことができる。従って、この情報処理装置
によれば、暗号化されているデータにより暗号化データ
の復号方式を特定することができるため、暗号化データ
の復号方式をコンピュータのメモリ管理方法に依存せず
に特定することができる。従って、情報処理装置で取り
扱われるデータを複数の暗号化方式で暗号化することが
可能となり、計算量の少ない暗号化アルゴリズムを用い
た場合でも暗号化強度の高い暗号化データを得ることが
できる。また、暗号鍵そのものではなく識別データを用
いることによって暗号鍵のビット長に制約がなくなると
ともに、暗号化アルゴリズムも複数のものを使用するこ
とが可能となる。
【0038】また、第4の発明では、入力された暗号化
対象データのパリティビットの値に応じて、暗号鍵と暗
号化アルゴリズムの組み合わせにより特定される暗号化
方式を決定する暗号化方式決定手段と、前記暗号化方式
決定手段により決定された暗号化方式を用いて前記暗号
化対象データを暗号化し、暗号化データを生成する暗号
化手段と、前記暗号化手段により生成された前記暗号化
データを格納する記憶手段と、前記記憶手段内に格納さ
れた前記暗号化データのパリティビットの値に応じて、
復号鍵と復号アルゴリズムとから特定される復号方式を
決定する復号方式決定手段と、前記復号方式決定手段で
決定された復号方式を用いて、前記暗号化データを復号
する復号手段と、を有することを特徴とする情報処理装
置が提供される。
【0039】第4の発明の情報処理装置によれば、パリ
ティビットの値により暗号化方式と復号方式を決定する
ことができるため、メモリのエリアごとの管理やアドレ
スごとの管理がまったく必要なくなるとともに、汎用の
パリティチェック機構を暗号化方式又は復号方式の決定
に利用することで、複数の暗号化方式又は復号方式の管
理に必要な機構を大幅に削減することができる。
【0040】図1は本発明の情報処理装置の原理構成を
示す図である。第1の発明では、暗号鍵と暗号化アルゴ
リズムとの組み合わせにより特定される暗号化方式を決
定する暗号化方式決定手段12と、前記暗号化方式決定
手段12により決定された暗号化方式を用いて暗号化対
象データ1を暗号化し、暗号データ11aを生成する暗
号化手段11と、前記暗号データ1の暗号化に用いられ
た暗号化方式を示す暗号化方式識別データ12aを、前
記暗号データ内の所定の位置に配置する配置手段13
と、前記配置手段13により暗号化方式識別データ12
aが配置された暗号データ13aを格納する記憶手段3
0と、前記記憶手段30に格納された暗号データ13a
を、復号方式識別データ21bと復号対象データ21a
とに分離する分離手段21と、前記分離手段21により
分離された復号方式識別データ21bに応じて、復号鍵
と復号アルゴリズムとの組み合わせにより特定される復
号方式を決定する復号方式決定手段22と、前記復号方
式決定手段22で決定された復号方式を用いて、前記復
号対象データ21aを復号する復号手段23と、復号手
段23が復号したデータに含まれる命令に従って、復号
したデータを処理する処理手段2と、暗号化方式決定手
段12及び復号方式決定手段22で取り扱う暗号化方式
と復号方式とを対応づける暗号化/復号方式管理手段3
と、を有することを特徴とする情報処理装置が提供され
る。
【0041】この情報処理装置によれば、暗号化対象デ
ータ1は任意の暗号化方式により暗号化され暗号データ
11aとなる。さらに、暗号化方式を示す暗号化方式識
別データ12aが暗号データ11a内に配置された暗号
データ13aが生成される。暗号データ13aは、記憶
手段30に格納される。そして、暗号データ13aのデ
ータ処理が必要になると、分離手段21により、暗号デ
ータ13aが復号対象データ21aと復号方式識別デー
タ21bとに分離される。そして、復号方式決定手段2
2が、復号方式識別データ21bから復号方式を決定
し、その復号方式により復号手段23が、復号対象デー
タ21aを復号する。復号手段23により復号されたデ
ータ2aは、暗号化対象データ1と同一のデータとな
る。データ2aは、自己に含まれた命令に基づき、処理
手段2によって処理される。暗号化方式決定手段12及
び復号方式決定手段22で取り扱う暗号鍵や復号鍵及び
暗号化アルゴリズムや復号アルゴリズムは、暗号化/復
号方式管理手段3で管理されており、識別データに対応
した暗号鍵や復号鍵及び暗号化アルゴリズムや復号アル
ゴリズムが暗号化/復号方式管理手段3から供給され
る。
【0042】このようにして、暗号データ内に識別デー
タを含ませることによりコンピュータのメモリの管理方
法に依存せずに、復号の際の復号アルゴリズムと復号鍵
とを特定することができる。
【0043】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は本発明の情報処理装置の原
理構成を示す図である。本発明の情報処理装置は、入力
された暗号化対象データ1を暗号化する暗号化装置1
0、処理を行うべきデータを復号して出力する復号装置
20、暗号化装置10で暗号化された暗号化データ13
aを格納しておく記憶手段30、復号手段23が復号し
たデータに含まれる命令に従って、復号したデータを処
理する処理手段2、及び暗号化方式決定手段12及び復
号方式決定手段22で取り扱う暗号化方式と復号方式と
を対応づける暗号化/復号方式管理手段3から構成され
る。
【0044】暗号化装置10には、暗号鍵と暗号化アル
ゴリズムとの組み合わせにより特定される暗号化方式を
決定する暗号化方式決定手段12と、暗号化方式決定手
段12により決定された暗号化方式を用いて暗号化対象
データ1を暗号化し、暗号化データ11aを生成する暗
号化手段11と、暗号化データ11aの暗号化に用いら
れた暗号化方式を示す暗号化方式識別データ12aを、
暗号化データ内の所定の位置に配置する配置手段13と
が設けられている。
【0045】復号装置20には、記憶手段30に格納さ
れた暗号化データ13aを、復号対象データ21aと復
号方式識別データ21bとに分離する分離手段21と、
分離手段21により分離された復号方式識別データ21
bに応じて、復号鍵と復号アルゴリズムとの組み合わせ
により特定される復号方式を決定する復号方式決定手段
22と、復号方式決定手段22で決定された復号方式を
用いて、復号対象データ21aを復号する復号手段23
とが設けられている。
【0046】この情報処理装置によれば、暗号化装置1
0に暗号化対象データ1が入力されると、暗号化方式決
定手段12は暗号化方式識別データ12aを定め、その
暗号化方式識別データ12aに応じた暗号鍵及び暗号化
アルゴリズムが、暗号化/復号方式管理手段3から暗号
化方式決定手段12に供給される。暗号化方式決定手段
12は、暗号化対象データ1の暗号化方式を、暗号化/
復号方式管理手段3から供給された暗号化方式に決定す
る。そして、暗号化対象データ1は、暗号化方式決定手
段12が決定した暗号化方式で、暗号化手段11により
暗号化され暗号化データ11aとなる。さらに、配置手
段13により、暗号化方式を示す識別データ12aが暗
号化データ11a内に配置され暗号化データ13aとな
る。この暗号化データ13aは、記憶手段30に格納さ
れる。これで、暗号化の処理は終了する。
【0047】暗号化データ13aのデータ処理を行う要
求が発生すると、復号装置20内の分離手段21が、記
憶手段30に格納されている暗号化データ13aを復号
対象データ21aと復号方式識別データ21bとに分離
する。すると、復号方式決定手段22は、暗号化/復号
方式管理手段3から復号方式識別データ21bに応じた
復号鍵及び復号アルゴリズムの供給をうける。そして、
復号方式決定手段22は、復号対象データ21aの復号
方式を、暗号化/復号方式管理手段3から供給された復
号方式に決定する。復号対象データ21aは、復号方式
決定手段22で決定された復号方式で、復号手段23に
より復号される。復号されたデータ2aは、暗号化対象
データ1と同じ内容のデータに戻っている。処理手段2
は、復号されたデータ2aに含まれる命令に従って処理
を行う。
【0048】これにより、暗号化方式は任意に定めるこ
とができるため、暗号化アルゴリズムと暗号鍵との組み
合わせを複数用意し、暗号化対象データごとに異なる暗
号化方式とすることができる。そのため、少ない計算量
の暗号化アルゴリズムであっても暗号化強度の高い暗号
化データを得ることができる。さらに、暗号化データ内
に識別データを含ませることにより、復号の際には、コ
ンピュータのメモリの管理方法に依存せずに復号方式を
特定することができる。しかも、暗号化方式と復号方式
とは、暗号化/復号方式管理手段3によって対応関係が
管理されているため、もし暗号化データ内の識別データ
の位置が解読されたとしても、復号アルゴリズムや復号
鍵が露呈することはなく、その暗号化データの復号方式
を解読することはできない。
【0049】図2は本発明を実施するソフトウェアの保
護機能付き情報処理装置の概略構成を示すブロック図で
ある。ソフトウェアの保護機能付き情報処理装置は、プ
ログラムに従ってデータの処理を行うMPU(Micro Pr
ocessing Unit )111と、MPU111で取り扱われ
るデータの暗号化及び復号を行う暗号化/復号装置11
2と、暗号化/復号装置112で用いる暗号鍵及び復号
鍵を格納する鍵テーブル113と、MPU111によっ
て処理されるデータを転送するためのシステムバス13
1と、暗号化/復号装置112で暗号化されたデータを
格納するメインメモリ121と、I/Oインターフェー
ス122と、I/Oインターフェース122を介して接
続される補助メモリ123から構成されている。
【0050】ここでは示していないがMPU111は内
部にキャッシュメモリを含んでいる場合もある。また、
メインメモリ121は主にRAM(Random Access Memo
ry)等で構成される。補助メモリ123はハードディス
ク、フロッピーディスク、CD−ROM等で構成され
る。暗号化/復号装置112は、暗号化及び復号のアル
ゴリズムは特定されており、暗号鍵と復号鍵が決まるこ
とにより、データの暗号化及び暗号化データの復号を実
行することができる。
【0051】図2に従ってソフトウェアの保護機能付き
情報処理装置の動作を説明する。保護を受けるデータ
は、暗号化/復号装置112で暗号化された後に、メイ
ンメモリ121または補助メモリ123に格納される。
この時、暗号化/復号装置112で用いる暗号化には複
数の暗号鍵が用意され、暗号鍵は暗号化されるデータの
特定の数ビットを参照することにより鍵テーブル113
から選択される。どのビットをどのように参照するか、
その方法はソフトウェアの保護機能付き情報処理装置の
各々に関して決定される。暗号化されたデータがMPU
111で処理される時は、まず暗号化/復号装置112
へ読み込まれ、MPU111が処理を行えるように復号
される。復号する時に用いられる復号鍵は、暗号化され
ているデータの特定の数ビットを参照することで、鍵テ
ーブル113から選択される。この時の参照する数ビッ
トを選ぶ方法は、前述の暗号鍵の選択の際に使用した方
法との関係が一意であるように決定されている。MPU
111で処理されたデータが再びメインメモリ121ま
たは補助メモリ123に格納される時は、暗号化/復号
装置112により再び暗号化される。以下、暗号化/復
号装置112で行われる暗号化の詳細な説明を図3及び
図4を用いて、また復号の詳細な説明を図5及び図6を
用いて行う。
【0052】図3は、図2に示される暗号化/復号装置
112で用いられる暗号化方法のフローチャートを示
す。このフローチャートの説明を行う。 [S1]暗号化されるべきデータを暗号化/復号装置1
12へ読み込む(ステップ1)。 [S2]暗号化/復号装置112において、読み込んだ
データから特定の数ビットを抜き出す(ステップ2)。 [S3]ステップ2において抜き出した数ビットに対応
する暗号鍵を、鍵テーブル113より選択する(ステッ
プ3)。 [S4]ステップ3において選択した暗号鍵を用いて、
暗号化されるべきデータの、抜き出した数ビット以外の
部分を暗号化する(ステップ4)。 [S5]暗号化したデータに、ステップ2において抜き
出した数ビットを埋め込む(ステップ5)。
【0053】以上の各ステップにおいて、暗号化される
データの状態がどのように変化するかを、図4の状態遷
移図に従って説明する。なお、鍵テーブル113に格納
される内容は、暗号化/復号方式ごと異なる。そこで、
以後の説明において、鍵テーブル113の内容に言及す
る場合には、鍵テーブルには暗号化/復号方式ごとに個
別の番号を付すこととするが、ハードウェアとしては図
2に示す鍵テーブル113を指している。
【0054】(A)は、ステップ1の状態を示す図であ
る。暗号化すべきデータ31が読み込まれる。暗号化さ
れる前のデータ31は32ビットからなり、MPU11
1で直接処理を行うことのできる状態にある。
【0055】(B)は、ステップ2の状態を示す図であ
る。暗号化される前のデータ31から、特定の数ビット
を抜き出す。例では7、11、15及び23ビット目の
4ビットのデータを抜き出している。従って、28ビッ
トのデータ32が残ることとなる。抜き出したビット
は、所定の配列に並べられビット情報33となる。この
ビット情報33は、図1に示す暗号化方式識別データ1
2aに対応する。(C)は、ステップ3の状態を示す図
である。4ビットのビット情報33に対応する暗号鍵
を、予め用意された鍵テーブル40から選択する。鍵テ
ーブル40は図2における鍵テーブル113にあたり、
抜き出したビットによるビット情報40aに対応する鍵
40bが一意に選択できるようになっている。例では抜
き出すビット数が4ビットであることから鍵も4ビット
で分類されており、16個のビット情報「0000」,
「0001」,「0010」・・・のそれぞれに対応す
る16個の鍵41,42,43・・・が存在する。この
例では、抜き出したビットによるビット情報33の値が
「0010」であるため、鍵43が暗号鍵として選択さ
れている。
【0056】(D)は、ステップ4の状態を示す図であ
る。選択された鍵43を暗号鍵に用いて、抜き出した4
ビットのビット情報33以外の28ビットのデータ32
を暗号化し、28ビットの暗号化データ34を生成す
る。
【0057】(E)は、ステップ5の状態を示す図であ
る。(B)において抜き出した4ビットのビット情報3
3を、28ビットの暗号化データ34に埋め込み、32
ビットの暗号化データ35としてメインメモリ121に
格納する。
【0058】抜き出した4ビットのビット情報33を埋
め込む方法は、復号の際にビット情報33を分離するた
めの方法とセットで決定されている。この2つの方法が
一意に決定できるのであれば、埋め込む位置を最初に抜
き出したビット位置と同じにする必要はない。また、最
後にスクランブル等を行い、第三者に暗号鍵の選択に用
いたビットの位置を容易に見つけられないようにするこ
とも可能である。なお、最後にスクランブルを行う場合
には、ステップ4で行う暗号化はスクランブル以外の方
法であることが望ましい。更に、抜き出した4ビットの
ビット情報33を暗号化した28ビットのデータ34に
埋めこむ際、XOR等の暗号化方法で暗号化して埋めこ
んでもよい。
【0059】図5には、図2に示される暗号化/復号装
置112で用いられる復号方法のフローチャートを示
す。このフローチャートの説明を行う。 [S11]暗号化されているデータを暗号化/復号装置
112へ読み込む(ステップ11)。 [S12]暗号化/復号装置112において、読み込ん
だデータから鍵の選択に用いた数ビットを抜き出す(ス
テップ12)。 [S13]ステップ12において抜き出した数ビットに
対応する復号鍵を、鍵テーブル113より選択する(ス
テップ13)。 [S14]ステップ13において選択した復号鍵を用い
て、復号されるべきデータの、抜き出した数ビット以外
の部分を復号する(ステップ14)。 [S15]復号したデータに、ステップ12において抜
き出した数ビットを埋め込む(ステップ15)。
【0060】復号されるデータの状態がどのように変化
するかを、図6の状態遷移図に従って説明する。32ビ
ットのデータを復号する場合を考える。但しこの32ビ
ットのデータは、図3及び図4に示した暗号化方法に従
って暗号化された後、メインメモリ121に格納されて
いたものとする。なお、この例は暗号鍵と同じ鍵を復号
鍵とする場合である。
【0061】(A)は、ステップ11の状態を示す図で
ある。暗号化データ35を記憶装置から読み込む。暗号
化データ35は32ビットからなり、MPU111で直
接処理を行うことのできない状態にある。
【0062】(B)は、ステップ12の状態を示す図で
ある。暗号化データ35から、特定の数ビットを抜き出
し、ビット情報33を得る。例では6、13、27及び
30ビット目の4ビットを抜き出している。この4ビッ
トのデータを抜き出す位置は、暗号化の際に、ビット情
報33の各ビットを埋め込んだ位置である。この結果、
28ビットの暗号化データ34が残ることとなる。
【0063】(C)は、ステップ13の状態を示す図で
ある。抜き出した4ビットのビット情報33に対応する
鍵43を、予め用意された鍵テーブル40から選択す
る。ビット情報33の値は「0010」であるため、鍵
テーブル40を用いて、暗号化の際の鍵43と同一の鍵
43を選択することができる。この選択された鍵43が
復号鍵となる。
【0064】(D)は、ステップ14の状態を示す図で
ある。選択した鍵43を復号鍵として、抜き出した4ビ
ットのビット情報33以外の28ビットの暗号化データ
34を復号し、28ビットのデータ32を生成する。
【0065】(E)は、ステップ15の状態を示す図で
ある。(B)において抜き出した4ビットのビット情報
33を、28ビットのデータ32に埋め込み、32ビッ
トのデータ31を得る。埋め込む位置は、暗号化の際に
4ビットのデータを抜き出した位置と同じ位置である。
この結果、暗号化する前のデータと同一のデータ31が
得られる。
【0066】以上のような方法により、復号鍵の抽出に
用いるデータが復号の対象となる暗号化されたデータの
一部で構成される。そのため、余分な情報をデータに付
加する必要がなく、メモリ空間を有効に使用できる。上
記の例では具体的なビット数を示して説明を行ったが、
これは説明を解りやすくするためであり、ビット数はソ
フトウェアの保護機能付き情報処理装置の各々で任意に
選ぶことができる。従ってある単位、例えばバスで取り
扱うビット単位(8ビット、16ビット、32ビット、
64ビット、128ビット等)や仮想記憶で用いられる
ページ単位、キャッシュメモリのデータを交換するビッ
ト単位等に関連させて暗号化のブロックを選択すること
で効率的な暗号化及び復号を行うことができる(このこ
とは以下の説明においても同様である)。
【0067】上記の例では、暗号化の鍵と復号の鍵とを
選択する際に、同じ鍵テーブルを用いているため、暗号
鍵と復号鍵が同一となっているが、暗号化の鍵テーブル
と復号の鍵テーブルとを個別に設けることにより、暗号
鍵と復号鍵とを個別のものにすることができる。これに
より、暗号化の際に用いた暗号鍵と異なる復号鍵により
復号するような暗号化/復号アルゴリズムを利用するこ
ともできる。
【0068】また、上記の例では抜き出した数ビットか
ら暗号鍵を選択する時に鍵テーブルを用いたが、抜き出
した数ビットをある特定の関数に入力し、その出力値を
暗号鍵として用いてもよく、そのようにすれば鍵テーブ
ルを持つ必要がなくなる。勿論抜き出した特定の数ビッ
トそのものを暗号鍵としてもよい。
【0069】以上のような方法により、メインメモリ1
21または補助メモリ123に格納されたデータの内容
を秘密にすることができる。また、暗号鍵及び復号鍵の
選択がデータのみに依存しており、保護の対象であるデ
ータの一部あるいは全部から暗号鍵を導出することがで
きるため、特にアドレスに依存せずに、複数の暗号鍵で
データを暗号化することができる。その為、OSによる
複雑なアドレス管理が行われている場合でも、OSに依
存することなく複数の暗号鍵を管理することができる。
つまり、OSを改ざんすることにより秘匿データを盗用
するという攻撃に対して、有効な防御を実現することが
できる。
【0070】また、暗号化に複数の暗号鍵を使用してい
るので、計算量の少ない暗号化方法(例えばXORな
ど)を用いても十分な暗号強度を得ることができ、暗号
化及び復号のプロセスがデータの処理速度に及ぼす影響
を少なくすることができる。従って、メモリ中のデータ
を逐次復号しながらプログラムを実行する場合でも十分
な実行速度と暗号強度を実現することができる。これに
より、常にメインメモリ中に常駐するようなOS自身を
防御することも可能である。
【0071】上記の例は、暗号化及び復号のアルゴリズ
ムが一定であり、データごとに異なる暗号鍵と復号鍵と
を使用した場合であるが、データごとに異なる暗号化及
び復号のアルゴリズムを使用することもできる。図7は
複数の暗号化及び復号のアルゴリズムを使用するソフト
ウェアの保護機能付き情報処理装置の概略構成を示すブ
ロック図である。このソフトウェアの保護機能付き情報
処理装置は、プログラムに従ってデータの処理を行うM
PU(Micro Processing Unit )211と、MPU21
1で取り扱われるデータの暗号化及び復号を行う暗号化
/復号装置212と、暗号化/復号装置212で用いる
暗号化/復号のアルゴリズム及び暗号/復号鍵を格納す
る暗号化/復号アルゴリズム&鍵テーブル214と、M
PU211によって処理されるデータを転送するための
システムバス231と、暗号化/復号装置212で暗号
化されたデータを格納するメインメモリ221と、I/
Oインターフェース222と、I/Oインターフェース
222を介して接続される補助メモリ223から構成さ
れている。
【0072】ここでは示していないがMPU211は内
部にキャッシュメモリを含んでいる場合もある。また、
メインメモリ221は主にRAM等で構成される。補助
メモリ223はハードディスク、フロッピーディスク、
CD−ROM等で構成される。暗号化/復号アルゴリズ
ム&鍵テーブル214は、XORやシフト等の複数種の
暗号化アルゴリズム214aと、各暗号化アルゴリズム
に一意に対応する同数の復号アルゴリズム214bと、
各暗号化アルゴリズムに一意に対応する同数の暗号鍵2
14c、及び各復号アルゴリズム214bに一意に対応
する同数の復号鍵214dを持つ。ここで、対応関係に
ある暗号化アルゴリズムと復号アルゴリズムとは、同じ
方式のアルゴリズムである。
【0073】この装置の動作は図2に示したソフトウェ
ア保護機能付き情報処理装置とほぼ同様であるが、この
例では暗号化される前のデータから抜き出す特定の数ビ
ットを用いて、暗号化アルゴリズムの選択を行う。1つ
の暗号化アルゴリズムには、暗号鍵と、復号アルゴリズ
ムと、復号鍵がそれぞれ1つずつ対応し、暗号化/復号
アルゴリズム&鍵テーブル214に記憶されている。復
号する場合は抜き出した特定の数ビットから復号アルゴ
リズム及び復号鍵を抽出して、データの復号を行う。
【0074】このような方法で複数の暗号化/復号のア
ルゴリズムを用いてデータを暗号化することができ、更
に暗号強度を高くすることができる。以上の2つの例で
は、いずれも暗号化の対象となるデータから抜き出され
たビットを基に暗号鍵や暗号アルゴリズムを特定してい
るが、暗号鍵と暗号化対象データとの関連性は必ずしも
必要ではない。そのため、任意の鍵を適当に選択して暗
号鍵とすることもできる。なお、任意の鍵を適当に選択
して暗号鍵とする場合の基本的なハードウェア構成につ
いては図2に示したソフトウェア保護機能付き情報処理
装置と同じであり、暗号化/復号装置112の機能のみ
が異なる。そこで、適当に選択した鍵を暗号鍵とする場
合の暗号化/復号装置の処理機能のみを、以下に説明す
る。
【0075】図8は適当に選択した鍵を暗号鍵とする場
合のフローチャートである。 [S21]暗号化されるべきデータを暗号化/復号装置
へ読み込む(ステップ21)。 [S22]暗号鍵を、鍵テーブルより任意に選択する
(ステップ22)。 [S23]ステップ22において選択した暗号鍵を用い
て、暗号化されるべきデータ全てを暗号化する(ステッ
プ23)。 [S24]暗号化されたデータに、ステップ22におい
て選択した暗号鍵のビット情報を埋め込む(ステップ2
4)。
【0076】次に、これらの各ステップにより、暗号化
されるデータの状態がどのように変化するかを、図9の
状態遷移図に従って説明する。ここでは、32ビットの
データを暗号化する場合を考える。なお、図9における
鍵テーブル60は、図1における鍵テーブル113に相
当する。鍵の長さとしては、例えば暗号化対象データと
同じビット数、すなわち32ビットを採用する。このよ
うに鍵のビット数も長くすること(できれば、暗号化対
象データ長と同じビット数)によって、単に鍵を入力デ
ータから抽出した場合に比べ暗号化強度の向上が図れ
る。
【0077】(A)は、ステップ21の状態を示す図で
ある。暗号化される前のデータ51は32ビットからな
り、MPUで直接処理を行うことのできる状態にある。
(B)は、ステップ22の状態を示す図である。鍵テー
ブル60から任意に暗号鍵を選択し、対応するビット情
報を調査する。鍵テーブル60内の鍵60bには、全て
一意に定められた分類のためのビット情報60aが対応
しており、図では4ビットの分類がされているので、合
計16個の鍵61,62,63,・・・にビット情報
「0000」,「0001」,「0010」・・・が対
応付けられている。この例では、鍵63が暗号鍵として
選択されたものとする。鍵63に対応するビット情報の
値は「0010」である。
【0078】(C)は、ステップ23の状態を示す図で
ある。選択した鍵63を暗号鍵に用いて、32ビットの
データ51を全て暗号化し、32ビットの暗号化データ
52を生成する。
【0079】(D)は、ステップ24の状態を示す図で
ある。(B)において調査したビット情報53を、32
ビットの暗号化データ52に埋め込み、36ビットの暗
号化データ54として記憶装置に格納する。
【0080】調査した情報ビット53を埋め込む方法
は、ソフトウェアの保護機能付き情報処理装置の各々に
よって、任意に決定される。暗号化データ54を復号す
る場合は上記と逆のステップを行い、データ51を得
る。
【0081】以上のような方法により、暗号鍵の選択を
データに依存せずに行うことができる。また復号鍵を選
択する場合に鍵テーブルを用いず、ある特定の関数に抜
き出した4ビットを入力すると復号鍵が得られるように
してもよい。
【0082】次に、暗号化データに暗号鍵の情報を埋め
込むのではなく、ハッシュ関数を用いて暗号化データと
暗号鍵とを対応付けるソフトウェアの保護機能付き情報
処理装置について説明する。
【0083】図10はハッシュ関数を用いて暗号化デー
タと暗号鍵とを対応付ける場合のフローチャートであ
る。これは、図2に示すソフトウェアの保護機能付き情
報処理装置内部の、暗号化/復号装置112で用いる暗
号化方法を変更したものの1つである。暗号化/復号装
置以外の機能については図2に示すソフトウェアの保護
機能付き情報処理装置と同じであるため、この例では、
暗号化/復号装置の処理機能のみを説明する。 [S31]暗号化されるべきデータを暗号化/復号装置
112へ読み込む(ステップ31)。 [S32]暗号鍵を、鍵テーブル113より任意に選択
する(ステップ32)。 [S33]ステップ32において選択した暗号鍵を用い
て、暗号化されるべきデータ全てを暗号化する(ステッ
プ33)。 [S34]暗号化したデータのハッシュ値を計算する
(ステップ34)。 [S35]ステップ34において計算したハッシュ値
と、暗号鍵をセットにしてハッシュテーブルに登録する
(ステップ35)。
【0084】暗号化されるデータの状態がどのように変
化するかを、図11の状態遷移図に従って説明する。こ
の例では、32ビットのデータを暗号化する場合を考え
る。なお、図11における鍵テーブル80は、図2にお
ける鍵テーブル113に相当する。
【0085】(A)は、ステップ31の状態を示す図で
ある。暗号化される前のデータ71は32ビットからな
り、MPUで直接処理を行うことのできる状態にある。
(B)は、ステップ32の状態を示す図である。鍵テー
ブル80内の鍵80bには、全て一意に定められた分類
のためのビット情報80aが対応している。図では4ビ
ットの分類がされているので、合計16個の鍵81,8
2,83,・・・にビット情報「0000」,「000
1」,「0010」・・・が対応付けられている。この
例では、鍵83が暗号鍵として選択されたものとする。
鍵83に対応するビット情報の値は「0010」であ
る。
【0086】(C)は、ステップ33の状態を示す図で
ある。選択した鍵83を暗号鍵に用いて、32ビットの
データ71を全て暗号化し、32ビットの暗号化データ
72を生成する。
【0087】(D)は、ステップ34の状態を示す図で
ある。32ビットの暗号化データ72をハッシュ関数8
4に入力して、ハッシュ値73を得る。(E)は、ステ
ップ35の状態を示す図である。ハッシュ値73と、暗
号化に使用した鍵83をセットにして、ハッシュテーブ
ル90に登録する。ハッシュテーブル90はハッシュ値
90aと鍵90bとが各々一意に対応している。図で
は、ハッシュ値「01010001」、「000101
00」、「10010111」・・・に対応して鍵9
1,92,93・・・が登録されている。32ビットの
暗号化データ72は記憶装置に格納される。
【0088】暗号化されたデータを復号する場合には、
暗号化されたデータのハッシュ値を求めハッシュテーブ
ルより鍵を抽出し、その鍵を復号鍵として復号を行う。
以上のような手段により、暗号化されたデータのハッシ
ュ値からハッシュテーブルを基に復号鍵を抽出できるの
で、OSによる複雑なアドレス管理が行われている場合
でもOSに依存することなく複数の暗号鍵を管理するこ
とができる。また、ハッシュ関数を用いることで、暗号
化されるデータの膨大なデータ空間(この例では232
ビット)をハッシュ値のデータ空間(この例では28ビ
ット)に圧縮することができるので、鍵の管理に用いる
メモリ空間を小さくすることができる。
【0089】なお、異なる2つのデータが、それぞれ異
なる暗号鍵によって暗号化されたにも拘わらず同じハッ
シュ値を持つようになってしまった場合、1つのハッシ
ュ値に対して暗号鍵が2つ存在することになり、どちら
の暗号鍵を用いて暗号化したのか判らなくなることが考
えられる。このような場合は、暗号化したデータのハッ
シュ値が、既に登録されているものと同じになった時点
で、もう一度更に異なる暗号鍵で暗号化する等の処置を
とることで問題を解決する。なお、この場合には、暗号
化されたデータのハッシュ値が他のハッシュ値と同じで
ないことを確認するまで、暗号化前のデータをバッファ
等に保持しておく必要がある。
【0090】以上の例では、情報処理装置の内部で暗号
化したデータを復号して実行する場合を想定している
が、これだけでは、この情報処理装置で使用するための
ソフトウェアを、他の装置で開発することが難しくなっ
てしまう。そこで、他の装置から提供されるデータを復
号するための別の復号装置を新たに設けることにより、
この問題に対処することができる。以下にその例を説明
する。
【0091】図12は他の装置から提供される暗号化デ
ータを復号できるソフトウェアの保護機能付き情報処理
装置を示すブロック図である。このソフトウェアの保護
機能付き情報処理装置は、データの処理を行うMPU
(Micro Processing Unit )311と、暗号化されたデ
ータの復号を行う復号装置312と、復号されたデータ
をすぐに暗号化する暗号化装置313と、暗号化装置3
13で暗号化されたデータを記憶するメインメモリ32
1と、暗号化装置313で暗号化され、メインメモリ3
21に記憶されているデータの復号を行う復号装置31
4と、システムバス331と、I/Oインターフェース
(I/O)322と、補助メモリ323及びネットワー
ク325から構成されている。
【0092】さらに、MPU311、復号装置312、
暗号化装置313及び復号装置314は、外部からの観
測またはプログラム及びデータの改ざんを防止する安全
保護容器310内に格納されている。安全保護容器とし
ては特開昭63−124153号公報「記憶情報保護装
置」に示されたようなものを用いることができる。この
安全保護容器は、複雑な経路をたどる導体路が表面に形
成された包囲体で秘密情報を取り扱う回路カードを囲
み、内部の秘密情報を不正に解析しようとして包囲体を
破壊した場合に導体路の切断や短絡が生じ、それをトリ
ガーとして秘密情報を消去するという構造になってい
る。
【0093】以上の構成において、まずデータは暗号化
された状態で、ネットワーク325やCD−ROM等に
よってソフトウェア提供者からユーザに提供される。こ
の時用いられる暗号化方式は汎用的で暗号強度の高いも
のである。例えば、ソフトウェア提供者は前記暗号化方
式としてDES(Data Encryption Standard)等を用い
てユーザに提供するデータを暗号化する。そして暗号鍵
は例えばRSA(Rivest Shamir Adleman :Ronald Riv
est,Adi Shamir,Leonard Adlemanの3氏が考案したアル
ゴリズム)暗号によってソフトウェアの保護機能付き情
報処理装置の公開鍵で暗号化され、暗号化されたデータ
とペアにしてユーザに提供される。ユーザは、DESを
用いて暗号化されたデータをI/O322を介して復号
装置312に送る。
【0094】復号装置312で復号されたデータは、直
接暗号化装置313に送られソフトウェアの保護機能付
き情報処理装置各々に固有の非公開の暗号化アルゴリズ
ム及び暗号鍵で暗号化される。この際の暗号化アルゴリ
ズム及び暗号鍵を特定するための識別情報は、暗号化さ
れたデータ内の所定の位置に埋め込まれるか、あるい
は、暗号化されたデータのハッシュ値に対応付けて管理
される。暗号化装置313で暗号化されたデータはメイ
ンメモリ321に格納される。
【0095】MPU311はメインメモリ321に格納
されている暗号化されたデータを復号装置314で復号
して受け取り、実行する。復号装置314が復号を行う
際の復号鍵及び復号アルゴリズムは、暗号化データに埋
め込まれた識別情報を解析するか、あるいは暗号化デー
タのハッシュ値から求めることができる。MPU311
が処理を終了し出力するデータの中で暗号化が必要なも
のは、暗号装置313で暗号化されてからメインメモリ
321に格納される。
【0096】以上のように、公開された暗号方式と暗号
鍵を用い暗号化されたデータを、ソフトウェアの保護機
能付き情報処理装置内に取り込んで復号装置312で復
号できるので、ソフトウェアの供者は暗号化装置313
及び復号装置314で使用する暗号化/復号方式または
暗号/復号鍵を知る必要はなく、ただMPU311用に
ソフトウェアの開発すればよい。つまり、ソフトウェア
の保護機能付き情報処理装置内の暗号化/復号方式また
は暗号/復号鍵を知りえない第三者が、ソフトウェアの
保護機能付き情報処理装置に守られるソフトウェアの自
由に開発できる。また、復号されたデータは直接暗号化
されるので、ユーザが復号されたデータにアクセスする
ことはできない。
【0097】暗号化装置313及び復号装置314で用
いられる暗号化方法及び復号方法に、前の例で示したよ
うに、アルゴリズムと鍵とを特定する識別情報を暗号化
データに埋め込んだり、あるいはハッシュ値と識別情報
を対応付ける方法を用いることにより、暗号化に複数の
暗号鍵を使用できる。これにより、計算量の少ない暗号
化アルゴリズムを利用しても十分な暗号強度を得ること
ができる。その結果、暗号化及び復号のプロセスがデー
タの処理速度に及ぼす影響を小さくすることができ、メ
モリ中のデータを逐次復号しながらプログラムを実行す
る場合でも、十分な実行速度と暗号強度を実現できる。
【0098】また、暗号化装置313及び復号装置31
4で用いられる暗号化方法及び復号方法は、他の情報処
理装置と共有する必要がないので、暗号化及び復号のア
ルゴリズムや暗号鍵及び復号鍵を、1つの情報処理装置
内だけで独自に設定または更新することが可能である。
ある条件(例えば電源オン/オフや1日ごと)で暗号化
及び復号のアルゴリズムや暗号鍵及び復号鍵を更新する
ようにすれば、さらに暗号強度を高めることができる。
電源オン/オフ時に暗号鍵及び復号鍵を更新するには、
図2に示した鍵テーブル内の鍵の値を電源オン時に変更
すればよい。
【0099】また、MPU311、復号装置312、暗
号化装置313及び復号装置314が安全保護容器31
0内に格納されているため、内部の秘密情報を不正に解
析しようとすると、安全保護容器310の包囲体が破壊
され、秘密情報が消去される。その結果、暗号鍵、復号
鍵及び暗号化されていないデータ等を取り扱うMPU、
暗号化装置及び復号装置を安全保護容器内に格納すれ
ば、不正を行おうとする者は暗号を解読する手掛かりを
ほとんど失うことになり、プログラム及びデータの秘匿
性が、さらに高められる。
【0100】ところで、図12で示した例は他の装置で
開発されたソフトウェアを受け取るための情報処理装置
であるが、逆に、自己の内部で開発したソフトウェアを
他の装置へ暗号化して送信する場合には、別の暗号化装
置を新たに設ける。この暗号化装置では、DES等の暗
号強度の高い暗号アルゴリズムで暗号化を行う。これに
より、開発途中のソフトウェアは、計算量の少ないアル
ゴリズムと複数の鍵を組み合わせることにより暗号強度
を高め、ソフトウェアを他の装置へ送信する際には、暗
号強度の高いアルゴリズムを用いて暗号強度を高めるこ
とができる。
【0101】なお、以上の本発明の説明ではMPUやメ
インメモリ等の現在コンピュータシステムで使われてい
る用語を用いたが、これらの用語は本発明をなんら限定
するものではなく同等の機能を有するものであればよ
い。また、計算量の少ない暗号化及び復号アルゴリズム
として、XOR、シフト及びスクランブル等を例にして
述べてきたが、これらはコンピュータの処理能力が向上
してくれば、さらに複雑な暗号化及び復号アルゴリズム
と置き換えることが可能である。
【0102】図13は本発明の情報処理装置の他の実施
形態を示す図である。図13において、340はネット
ワーク等から暗号化された情報を取り込み記憶する記憶
装置を表す。350は記憶手段340に格納されている
暗号化された情報を復号し、処理装置360が処理でき
るように復号する復号装置を表す。復号装置350には
分離手段351、復号方式決定手段352、復号手段3
53、復号方式管理手段354、及び再配置手段355
が含まれており、これらにより記憶装置340内に格納
された暗号化されたデータ341の復号を行う。処理装
置360は復号装置350により復号されたデータに基
づいて処理を行う。図13の装置の動作を以下に説明す
る。
【0103】記憶装置340は、ネットワークやCD−
ROM等から暗号化されたデータを取り込み格納する。
記憶装置340に格納されたデータ341は、復号装置
350内の分離手段351に読み込まれ復号対象データ
351aと認識データ351bとに分離される。そし
て、復号対象データ351aは復号手段353に読み込
まれ、認識データ351bは復号方式決定手段352に
読み込まれる。復号方式決定手段352は認識データ3
51bに対応した復号方式を復号方式管理手段354か
ら選択し、復号アルゴリズム又は復号鍵を復号手段35
3に与える。復号手段353は与えられた復号アルゴリ
ズム又は復号鍵を用いて復号対象データ351aを復号
する。復号手段353で復号されたデータと認識データ
351bは再配置手段355により結合され、処理装置
360で取り扱うことのできるデータ361となり、処
理装置360により処理される。
【0104】このように、本発明の実施形態には復号装
置のみを有する構成も考えられ、暗号化された情報は、
予め復号方式管理手段354に保持されている復号方法
と対応した暗号化方法を用いて暗号化されてネットワー
クやCD−ROM等で提供される。この装置構成が適用
される領域としては、与えられた情報を変更する必要の
ない家庭用ゲーム機器や電子出版物等が挙げられる。ま
た、これらの装置で取り扱う情報を暗号化する装置は、
暗号化装置のみを有する構成となる。
【0105】また、暗号化すべきデータから抜き出すべ
き数ビットとして、パリティビットを用いることもでき
る。その例を以下に示す。この場合のハードウェア構成
は、図2に示した制御装置と同様の構成であるため、図
2の構成を用いて説明する。
【0106】図14は、パリティビットにより鍵を特定
する暗号化方法のフローチャートである。以下に、この
フローチャートの説明を行う。ここでは、暗号化されて
いない32ビットデータを4組で、暗号化の1単位とし
た場合を考える。 [S41]暗号化/復号装置112は、暗号化されてい
ない4組の32ビットデータを読み込む(ステップ4
1)。 [S42]暗号化/復号装置112において、32ビッ
トデータごとのパリティビットを算出し、暗号鍵の選択
に用いる4ビットを得る(ステップ42)。 [S43]ステップ42において算出した4ビットに対
応する暗号鍵を、予め用意している鍵テーブル113か
ら選択する。それぞれの暗号鍵は4ビットで分類されて
おり、この場合、合計16個の暗号化鍵が存在する(ス
テップ43)。 [S44]ステップ43において選択した暗号鍵を用い
て、入力データを暗号化する(ステップ44)。この
際、パリティビットの値が変化しないような暗号化方式
を用いる。例えば、スクランブルや置換等である。 [S45]算出した4ビットをパリティビットとして暗
号化したデータに付加してメインメモリ121又は補助
メモリ123に格納する(ステップ45)。
【0107】以上の各ステップにおいて、暗号化される
データがどのように変化するかを、図15の状態遷移図
に従って説明する。この図において、鍵テーブル410
は図2の鍵テーブル113の内容を示すものである。
【0108】(A)は、ステップ41の状態を示す図で
ある。暗号化すべきデータ401が読み込まれる。暗号
化される前のデータ401は、32ビットのデータが4
つで1単位である。
【0109】(B)は、ステップ42の状態を示す図で
ある。暗号化される前のデータ401から、32ビット
のデータごとのパリティビットを求める。求められたパ
リティビットが所定の配列に並べられ、4ビットのビッ
ト情報402となる。
【0110】(C)は、ステップ43の状態を示す図で
ある。4ビットのビット情報402に対応する暗号鍵
を、予め用意された鍵テーブル410から選択する。鍵
テーブル410は図2における鍵テーブル113にあた
り、ステップ42で抜き出したビット情報402に対応
する鍵413が一意に選択できる。この例では抜き出す
ビット数が4ビットであることから鍵も4ビットで分類
されており、16個のビット情報「0000」,「00
01」,「0010」・・・のそれぞれに対応する16
個の鍵411,412,413・・・が存在する。この
図では、ビット情報402の値「0010」に対応する
鍵413が暗号鍵として選択される。
【0111】(D)は、ステップ44の状態を示す図で
ある。選択された鍵413を暗号鍵に用いて、32ビッ
ト×4のデータ401を暗号化し、暗号化データ403
を生成する。なお、この際の暗号化方式は、パリティビ
ットの値が変化しないような暗号化方式である。
【0112】(E)は、ステップ45の状態を示す図で
ある。(B)において算出した4ビットのビット情報4
02を、暗号化データ403のパリティビットとして付
加し、パリティビット付きの暗号化データ404がメイ
ンメモリ121に格納される。
【0113】図16はパリティビットにより鍵を特定す
る復号方法のフローチャートである。 [S51]1組として暗号化されているデータ404を
暗号化/復号装置112へ読み込む(ステップ51)。 [S52]暗号化/復号装置112において、読み込ん
だデータからパリティビットを抜き出し、復号鍵の選択
に用いる4ビットのビット情報402を得る(ステップ
52)。 [S53]ステップ52において抜き出したビット情報
402に対応する復号鍵413を、鍵テーブル410よ
り選択する(ステップ53)。 [S54]ステップ53において選択した復号鍵413
を用いて、復号されるべきデータ404の、パリティビ
ット以外の部分を復号する(ステップ54)。
【0114】図17は図16の各ステップの状態遷移図
である。なお、この例は暗号鍵と同じ鍵を復号鍵とする
場合である。(A)は、ステップ51の状態を示す図で
ある。暗号化データ404を記憶装置から読み込む。暗
号化データ404は32ビット×4のデータとパリティ
ビットからなり、MPU111で直接処理を行うことの
できない状態にある。
【0115】(B)は、ステップ52の状態を示す図で
ある。暗号化データ404から、パリティビットを抜き
出し、ビット情報402を得る。この結果、暗号化デー
タ403が残ることとなる。
【0116】(C)は、ステップ53の状態を示す図で
ある。抜き出した4ビットのビット情報402に対応す
る鍵413を、予め用意された鍵テーブル410から選
択する。ビット情報402の値は「0010」であるた
め、鍵テーブル410を用いて、暗号化の際の鍵と同一
の鍵413を選択することができる。
【0117】(D)は、ステップ54の状態を示す図で
ある。選択した鍵413を復号鍵として、抜き出した4
ビットのビット情報402以外の暗号化データ403を
復号し、32ビット×4のデータ401を生成する。
【0118】なお、以上の説明で具体的なビット数が示
したが、これは説明を分かりやすくするためであり、ビ
ット数を任意に選ぶことができることは、図3〜図6で
示した暗号化/復号方法と同様である。即ち、例えばバ
スで取り扱うビット単位(8ビット、16ビット、32
ビット、64ビット、128ビット等)や仮想記憶で用
いられるページ単位やキャッシュメモリのライン(ブロ
ック)単位等に関連させて暗号化のブロックを選択する
ことで効率的な暗号化及び復号を行うことができる。
【0119】パリティビットを用いて鍵を選択する場合
も、図3〜図6で示した暗号化/復号方法と同様の効果
を有しており、OSを介在させずに、計算量の少ない暗
号化/復号方法を用いても十分な暗号強度を得ることが
でる。しかも、このパリティビットを用いて鍵を選択す
る方法では、暗号鍵及び復号鍵の選択に用いるビットを
抽出する機構として一般のコンピュータシステムに標準
的に用いられているパリティチェックの機構を利用して
いる。そのため、その部分の機構を装置に新たに付加す
る必要がなく、装置構成を簡単にすることができる。
【0120】なお、パリティビットにより鍵を選択する
場合においても、図7に示したように、鍵テーブル11
3を暗号化/復号アルゴリズム&鍵テーブル214に置
き換えることにより、鍵と暗号化/復号のアルゴリズム
との組み合わせを選択することも可能である。このよう
にすることで複数の暗号化/復号のアルゴリズムを用い
てプログラムやデータを暗号化することができ、計算量
の少ない暗号化方式においても暗号強度を十分高くする
ことができる。
【0121】
【発明の効果】以上説明したように、情報処理装置に係
る第1の発明では、暗号化されたデータそのものが識別
データと暗号化対象データとに分離され、分離された識
別データにより暗号化データの復号方式を特定すること
ができるため、暗号化データの復号方式をコンピュータ
のメモリ管理方法に依存せずに特定することができ
る。。従って、情報処理装置で取り扱われるデータを複
数の暗号方式で暗号化することが可能となり、計算量の
少ない暗号化アルゴリズムを用いた場合でも暗号化強度
の高い暗号化データを得ることができる。また、暗号化
されるデータの一部を識別データとして用いているの
で、復号方式を特定するために余分な情報を付加する必
要がなく、データサイズが増加することによる複雑なア
ドレス管理やメモリの浪費を避けることができ、一般の
コンピュータシステムに適用する場合に極めて有効であ
る。また、識別データの位置が解析され識別データが露
呈した場合でも暗号方式そのものが露呈することはな
く、識別データの位置を固定とした場合でも暗号強度を
十分強く保つことが可能である。これにより、暗号化デ
ータに対するランダムアクセスが可能となる。
【0122】また、情報処理装置に係る第2の発明で
は、暗号化データの関数値により暗号化データの復号方
式を特定することができるため、暗号化データの復号方
式をコンピュータのメモリ管理方法に依存せずに特定す
ることができる。従って、情報処理装置で取り扱われる
データを複数の暗号化方式で暗号化することが可能とな
り、計算量の少ない暗号化アルゴリズムを用いた場合で
も暗号化強度の高い暗号化データを得ることができる。
また、暗号化データに対するランダムアクセスも可能と
なる。
【0123】また、情報処理装置に係る第3の発明で
は、暗号鍵そのものではなく識別データを付加している
のでソフトウェア設計者に識別データのビット長を公開
したとしても、暗号鍵そのもののビット長は秘密にする
ことができるので、暗号強度の低下を防ぐことができ
る。従って、この情報処理装置によれば、暗号化されて
いるデータにより暗号化データの復号方式を特定するこ
とができるため、暗号化データの復号方式をコンピュー
タのメモリ管理方法に依存せずに特定することができ
る。従って、情報処理装置で取り扱われるデータを複数
の暗号化方式で暗号化することが可能となり、計算量の
少ない暗号化アルゴリズムを用いた場合でも暗号化強度
の高い暗号化データを得ることができる。また、暗号鍵
そのものではなく識別データを用いることによって暗号
鍵のビット長に制約がなくなる。また、識別データの位
置が解析され識別データが露呈した場合でも暗号方式そ
のものが露呈することはなく、識別データの位置を固定
とした場合でも暗号強度を十分強く保つことが可能であ
る。これにより暗号化データに対するランダムアクセス
が可能となる。
【0124】また、情報処理装置に係る第4の発明で
は、データのパリティビットをもとに暗号化方式又は復
号方式を決定するので、プログラムやデータを複数の暗
号化方式又は復号方式で暗号化して一つのメモリに格納
しても、メモリのエリアごとの管理やアドレスごとの管
理がまったく必要なくなるとともに、汎用のパリティチ
ェック機構を暗号化方式又は復号方式の決定に利用する
ことで、複数の暗号化方式又は復号方式の管理に必要な
機構を大幅に削減することができる。従って大幅なコス
ト低減が可能となる。
【図面の簡単な説明】
【図1】本発明の暗号化復号装置の原理構成を示す図で
ある。
【図2】本発明を実施するソフトウェアの保護機能付き
情報処理装置の概略構成を示すブロック図である。
【図3】図2に示される暗号化/復号装置の暗号化の処
理手順を示すフローチャートである。
【図4】図3の各ステップの状態遷移を示す図である。
(A)はステップ1の状態を示す図であり、(B)はス
テップ2の状態を示す図であり、(C)はステップ3の
状態を示す図であり、(D)はステップ4の状態を示す
図であり、(E)はステップ5の状態を示す図である。
【図5】図2に示される暗号化/復号装置の復号の処理
手順を示すフローチャートである。
【図6】図5の各ステップの状態遷移を示す図である。
(A)はステップ11の状態を示す図であり、(B)は
ステップ12の状態を示す図であり、(C)はステップ
13の状態を示す図であり、(D)はステップ14の状
態を示す図であり、(E)はステップ15の状態を示す
図である。
【図7】複数の暗号化及び復号のアルゴリズムを使用す
るソフトウェアの保護機能付き情報処理装置の概略構成
を示すブロック図である。
【図8】適当に選択した鍵を暗号鍵とする場合の処理手
順を示すフローチャートである。
【図9】図8の各ステップの状態遷移を示す図である。
(A)はステップ21の状態を示す図であり、(B)は
ステップ22の状態を示す図であり、(C)はステップ
23の状態を示す図であり、(D)はステップ24の状
態を示す図である。
【図10】ハッシュ関数を用いて暗号化データと暗号鍵
とを対応付ける場合の処理手順を示すフローチャートで
ある。
【図11】図10の各ステップの状態遷移を示す図であ
る。(A)はステップ31の状態を示す図であり、
(B)はステップ32の状態を示す図であり、(C)は
ステップ33の状態を示す図であり、(D)はステップ
34の状態を示す図であり、(E)はステップ35の状
態を示す図である。
【図12】他の装置から提供される暗号化データを復号
できるソフトウェアの保護機能付き情報処理装置を示す
ブロック図である。
【図13】本発明の情報処理装置の他の実施形態を示す
図である。
【図14】パリティビットにより鍵を特定する暗号化方
法のフローチャートである。
【図15】図14の各ステップの状態遷移図である。
(A)はステップ41の状態を示す図であり、(B)は
ステップ42の状態を示す図であり、(C)はステップ
43の状態を示す図であり、(D)はステップ44の状
態を示す図であり、(E)はステップ45の状態を示す
図である。
【図16】パリティビットにより鍵を特定する復号方法
のフローチャートである。
【図17】図16の各ステップの状態遷移図である。
(A)はステップ51の状態を示す図であり、(B)
は、ステップ52の状態を示す図であり、(C)はステ
ップ53の状態を示す図であり、(D)はステップ54
の状態を示す図である。
【図18】従来のソフトウェアの保護を図った情報処理
装置のブロック図である。
【符号の説明】
1 暗号化対象データ 2 処理手段 3 暗号化/復号方式管理手段 10 暗号化装置 11 暗号化手段 11a 暗号化データ 12 暗号化方式決定手段 12a 暗号化方式識別データ 13 配置手段 13a 暗号化データ 20 復号装置 21 分離手段 21a 復号対象データ 21b 復号方式識別データ 22 復号方式決定手段 23 復号手段 111 MPU 112 暗号化/復号装置 113 鍵テーブル 121 メインメモリ 122 I/Oインターフェース 123 補助メモリ 131 システムバス

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 入力されたデータを、識別データと暗号
    化対象データとに分離する分離手段と、 前記分離手段が分離した識別データに応じて、暗号鍵と
    暗号化アルゴリズムの組み合わせにより特定される暗号
    化方式を決定する決定手段と、 前記決定手段により決定された暗号化方式を用いて前記
    暗号化対象データを暗号化し、前記暗号化対象データと
    同ビット数の暗号化データを生成する暗号化手段と、 前記暗号化データの暗号化に用いられた暗号化方式を示
    す識別データを、前記暗号化データ内の所定の位置に配
    置する配置手段と、 を有することを特徴とする情報処理装置。
  2. 【請求項2】 入力されたデータを暗号化する暗号化装
    置を有する報処理装置において、 暗号鍵と暗号化アルゴリズムとの組み合わせにより特定
    される暗号化方式を選択する選択手段と、 前記選択手段により選択された暗号化方式を用いて前記
    入力されたデータを暗号化し、暗号化データを生成する
    暗号化手段と、 前記暗号化手段により暗号化された暗号化データを、所
    定の関数に入力して関数値を計算する計算手段と、 前記暗号化データを復号する復号鍵と復号アルゴリズム
    とから特定される復号方式を、前記計算手段により得ら
    れた関数値に対応付けて格納する復号方式記憶手段と、 を有することを特徴とする情報処理装置。
  3. 【請求項3】 暗号鍵と暗号化アルゴリズムの組み合わ
    せにより特定される暗号化方式を決定する決定手段と、 前記決定手段により決定された暗号化方式を用いて暗号
    化対象データを暗号化し、暗号化データを生成する暗号
    化手段と、 前記暗号化データの暗号化に用いられた暗号化方式を示
    す識別データを、前記暗号化データ内の所定の位置に配
    置する配置手段と、 を有することを特徴とする情報処理装置。
  4. 【請求項4】 前記暗号化手段を囲む包囲体に対して外
    部から物理的な作用を受けると、前記暗号化手段の処置
    機能を司るデータを消去する安全保護手段を、さらに有
    することを特徴とする請求項1、請求項2、又は請求項
    3のいずれか1項に記載の情報処理装置。
  5. 【請求項5】 前記決定手段により決定される暗号化方
    式を変更する変更手段をさらに有することを特徴とする
    請求項1、請求項2、又は請求項3のいずれか1項に記
    載の情報処理装置。
  6. 【請求項6】 識別データが復号対象データ内の所定の
    位置に配置された入力データを、前記識別データと前記
    復号対象データとに分離する分離手段と、 前記分離手段が分離した前記識別データに応じて、復号
    鍵と復号アルゴリズムとから特定される復号方式を決定
    する決定手段と、 前記決定手段で決定された復号方式を用いて、前記復号
    対象データを前記復号対象データと同ビット数に復号す
    る復号手段と、 前記識別データを、前記復号手段で復号されたデータ内
    の所定の位置に配置する配置手段と、 を有することを特徴とする情報処理装置。
  7. 【請求項7】 入力された暗号化データを復号する復号
    装置を有する情報処理装置において、 前記暗号化データを、所定の関数に入力して関数値を計
    算する計算手段と、 前記暗号化データを復号する復号鍵と復号アルゴリズム
    とから特定される復号方式を、前記関数値に対応づけて
    格納する復号方式記憶手段と、 前記計算手段により算出された関数値に対応する復号方
    式を前記復号方式記憶手段内から選択する復号方式選択
    手段と、 前記復号方式選択手段で選択された復号方式を用いて、
    前記暗号化データを復号する復号手段と、 を有することを特徴とする情報処理装置。
  8. 【請求項8】 前記復号手段を囲む包囲体に対して外部
    から物理的な作用を受けると、前記復号手段の処理機能
    を司るデータを消去する安全保護手段を、さらに有する
    ことを特徴とする請求項6又は請求項7のいずれか1項
    に記載の情報処理装置。
  9. 【請求項9】 前記決定手段により決定される復号方式
    を変更する変更手段を、さらに有することを特徴とする
    請求項6又は請求項7のいずれか1項に記載の情報処理
    装置。
  10. 【請求項10】 データの暗号化及び暗号化データの復
    号を行う暗号化装置及び復号装置を有する情報処理装置
    において、 入力されたデータを、識別データと暗号化対象データと
    に分離する入力データ分離手段と、 前記入力データ分離手段が分離した識別データに応じ
    て、暗号鍵と暗号化アルゴリズムの組み合わせにより特
    定される暗号化方式を決定する暗号化方式決定手段と、 前記暗号化方式決定手段により決定された暗号化方式を
    用いて暗号化対象データを暗号化し、前記暗号化対象デ
    ータと同ビット数の暗号化データを生成する暗号化手段
    と、 前記暗号化データの暗号化に用いられた暗号化方式を示
    す識別データを、前記暗号化データ内の所定の位置に配
    置する配置手段と、 前記配置手段により前記識別データが配置された暗号化
    データを格納する記憶手段と、 前記記憶手段に格納された前記識別データが配置された
    暗号化データを、識別データと暗号化データとに分離す
    る分離手段と、 前記分離手段により分離された識別データに応じて、暗
    号化方式に対応した復号鍵と復号アルゴリズムとの組み
    合わせにより特定される復号方式を決定する復号方式決
    定手段と、 前記復号方式決定手段で決定された復号方式を用いて、
    前記暗号化データを前記暗号化データと同ビット数に復
    号する復号手段と、 前記復号方式決定手段による復号方式を示す識別データ
    を、前記復号手段で復号されたデータ内の所定の位置に
    配置する再配置手段と、 前記復号手段により復号されたデータの処理を行う情報
    処理手段と、 を有することを特徴とする情報処理装置。
  11. 【請求項11】 データの暗号化及び暗号化データの復
    号を行う暗号化復号装置を有する情報処理装置におい
    て、 暗号鍵と暗号化アルゴリズムとの組み合わせにより特定
    される暗号化方式を選択する暗号化方式選択手段と、 前記暗号化方式選択手段により選択された暗号化方式を
    用いて暗号化対象データを暗号化し、暗号化データを生
    成する暗号化手段と、 前記暗号化手段により暗号化された暗号化データを、特
    定の関数に入力して関数値を計算する第1の計算手段
    と、 前記暗号化データを復号する復号鍵と復号アルゴリズム
    とから特定される復号方式を、前記第1の計算手段によ
    り得られた関数値に対応づけて格納する復号方式記憶手
    段と、 前記暗号化手段により暗号化された暗号化データを格納
    する記憶手段と、 前記記憶手段に格納された暗号化データを、特定の関数
    に入力して関数値を計算する第2の計算手段と、 前記第2の計算手段により算出された関数値に対応する
    復号方式を、前記復号方式記憶手段内から選択する復号
    方式選択手段と、 前記復号方式選択手段で選択された復号方式を用いて、
    前記暗号化データを復号する復号手段と、 前記復号手段により復号されたデータの処理を行う情報
    処理手段と、 を有することを特徴とする情報処理装置。
  12. 【請求項12】 予め復号鍵と復号アルゴリズムとが特
    定されている暗号化データが入力されると、入力された
    暗号化データを復号する既知方式復号手段をさらに有
    し、 前記暗号化手段は、前記既知方式復号手段で復号された
    データも、暗号化対象データとして暗号化することを特
    徴とする請求項2、請求項3、請求項10、又は請求項
    11のいずれか1項に記載の情報処理装置。
  13. 【請求項13】 入力された暗号化データが暗号化され
    た際の暗号化方式と異なる暗号化方式により、前記復号
    手段が復号したデータを暗号化する別方式暗号化手段
    を、さらに有することを特徴とする請求項6、請求項
    7、請求項10、又は請求項11のいずれか1項に記載
    の情報処理装置。
  14. 【請求項14】 入力された暗号化対象データのパリテ
    ィビットの値に応じて、暗号鍵と暗号化アルゴリズムの
    組み合わせにより特定される暗号化方式を決定する決定
    手段と、 前記決定手段により決定された暗号化方式を用いて前記
    暗号化対象データを暗号化する暗号化手段と、 を有することを特徴とする情報処理装置。
  15. 【請求項15】 復号対象データのパリティビットの値
    に応じて、復号鍵と復号アルゴリズムとから特定される
    復号方式を決定する決定手段と、 前記決定手段で決定された復号方式を用いて、前記復号
    対象データを復号する復号手段と、 を有することを特徴とする情報処理装置。
  16. 【請求項16】 入力された暗号化対象データのパリテ
    ィビットの値に応じて、暗号鍵と暗号化アルゴリズムの
    組み合わせにより特定される暗号化方式を決定する暗号
    化方式決定手段と、 前記暗号化方式決定手段により決定された暗号化方式を
    用いて前記暗号化対象データを暗号化し、暗号化データ
    を生成する暗号化手段と、 前記暗号化手段により生成された前記暗号化データを格
    納する記憶手段と、 前記記憶手段内に格納された前記暗号化データのパリテ
    ィビットの値に応じて、復号鍵と復号アルゴリズムとか
    ら特定される復号方式を決定する復号方式決定手段と、 前記復号方式決定手段で決定された復号方式を用いて、
    前記暗号化データを復号する復号手段と、 を有することを特徴とする情報処理装置。
JP18045396A 1996-01-30 1996-07-10 情報処理装置及び情報処理方法 Expired - Fee Related JP3747520B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP18045396A JP3747520B2 (ja) 1996-01-30 1996-07-10 情報処理装置及び情報処理方法
US08/791,486 US5995623A (en) 1996-01-30 1997-01-27 Information processing apparatus with a software protecting function

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1393996 1996-01-30
JP8-13939 1996-01-30
JP18045396A JP3747520B2 (ja) 1996-01-30 1996-07-10 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JPH09270785A true JPH09270785A (ja) 1997-10-14
JP3747520B2 JP3747520B2 (ja) 2006-02-22

Family

ID=26349795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18045396A Expired - Fee Related JP3747520B2 (ja) 1996-01-30 1996-07-10 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US5995623A (ja)
JP (1) JP3747520B2 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232776A (ja) * 1998-02-09 1999-08-27 Matsushita Electric Ind Co Ltd 録画装置および再生装置
JP2002244757A (ja) * 2001-02-19 2002-08-30 Sony Corp 半導体回路
JP2002537584A (ja) * 1999-02-16 2002-11-05 チューンツー.コム,インコーポレイテッド 符号化された波形のディジタルサンプリングを使用するオーディオ合成
JP2003500786A (ja) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー アドレスのスクランブリング機能付きメモリアレー
JP2003018565A (ja) * 2001-06-28 2003-01-17 Pioneer Electronic Corp 映像信号伝送装置
JP2004252978A (ja) * 2003-02-18 2004-09-09 Micronas Gmbh 外部記憶装置を備えるプロセッサ
WO2004105310A1 (ja) * 2003-05-19 2004-12-02 Fujitsu Limited 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラム
JP2005504373A (ja) * 2001-09-28 2005-02-10 ハイ デンスィティ デバイスィズ アクシエセルスカプ 大容量記憶装置におけるデータの暗号化/復号化の方法及び装置
US6986000B2 (en) 2000-03-31 2006-01-10 Sanyo Electric Co., Ltd. Interleaving apparatus and deinterleaving apparatus
WO2006061976A1 (ja) * 2004-12-07 2006-06-15 Sony Corporation 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2008124936A (ja) * 2006-11-14 2008-05-29 Toshiba Information Systems (Japan) Corp 送信装置、受信装置、情報通信システム
JP2008172630A (ja) * 2007-01-12 2008-07-24 Kenwood Corp 無線通信装置及び制御方法
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
JP2013205800A (ja) * 2012-03-29 2013-10-07 Internatl Business Mach Corp <Ibm> データを暗号化する装置及び方法
JP2014030207A (ja) * 2011-01-25 2014-02-13 Sanyo Electric Co Ltd 車載器
JP2014220729A (ja) * 2013-05-10 2014-11-20 株式会社メガチップス 暗号処理装置、半導体メモリ及びメモリシステム
JP2016181836A (ja) * 2015-03-24 2016-10-13 キヤノン株式会社 情報処理装置、暗号装置、情報処理装置の制御方法、およびプログラム
JP2016181814A (ja) * 2015-03-24 2016-10-13 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
JP3799757B2 (ja) * 1997-07-18 2006-07-19 富士ゼロックス株式会社 被検証データ生成装置、及び被検証データ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6259789B1 (en) * 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US6587948B1 (en) * 1998-02-13 2003-07-01 Sony Corporation Recording apparatus, recording medium, playback apparatus, recording method and playback method
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
CA2259738C (en) * 1999-01-20 2012-10-16 Certicom Corp. A resilient cryptographic scheme
JP4083925B2 (ja) * 1999-06-24 2008-04-30 株式会社日立製作所 情報処理装置、カード部材および情報処理システム
US6868405B1 (en) * 1999-11-29 2005-03-15 Microsoft Corporation Copy detection for digitally-formatted works
US6801625B1 (en) * 1999-12-08 2004-10-05 Intel Corporation Apparatus and method for stripping parity bits from an input stream
WO2001098908A1 (en) * 2000-06-16 2001-12-27 Koninklijke Philips Electronics N.V. Watermark detector
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
ATE357026T1 (de) * 2000-07-18 2007-04-15 Simplex Major Sdn Bhd Vorrichtung zum schutz digitaler daten
US7484081B1 (en) 2000-10-10 2009-01-27 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices
US7254232B2 (en) * 2001-02-14 2007-08-07 Copytele, Inc. Method and system for selecting encryption keys from a plurality of encryption keys
DE10110049A1 (de) * 2001-03-02 2002-09-05 Bosch Gmbh Robert Verfahren und Vorrichtung zur Datenverschlüsselung bei der Programmierung von Steuergeräten
US7424747B2 (en) * 2001-04-24 2008-09-09 Microsoft Corporation Method and system for detecting pirated content
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
US7260820B1 (en) 2001-04-26 2007-08-21 Vm Ware, Inc. Undefeatable transformation for virtual machine I/O operations
JP2005505069A (ja) * 2001-10-03 2005-02-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリ暗号化
US6871192B2 (en) * 2001-12-20 2005-03-22 Pace Anti-Piracy System and method for preventing unauthorized use of protected software utilizing a portable security device
US6865515B2 (en) * 2002-01-24 2005-03-08 Engius, L.L.C. Method and device for securely storing data
US20040131181A1 (en) * 2002-04-03 2004-07-08 Rhoads Steven Charles Method and apparatus for encrypting content
JP2004070049A (ja) * 2002-08-07 2004-03-04 Denso Corp データの暗号化方法及び装置、データの復号化方法及び装置、プログラム
US7426272B2 (en) * 2002-11-26 2008-09-16 General Electric Company Instrumentation privacy methods and apparatuses
US7587072B2 (en) 2003-08-22 2009-09-08 Authentec, Inc. System for and method of generating rotational inputs
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
DE10352401A1 (de) * 2003-11-10 2005-06-16 Micronas Gmbh Verfahren zur Speicherung von Daten in einem Wahlzugriffspeicher und Verschlüsselungs- und Entschlüsselungsvorrichtung
EP1550930B1 (en) * 2003-12-15 2007-08-01 Mobile Integrated Solutions Limited A method for restraining the re-distribution of licensed data in a digital mobile environment
US8098817B2 (en) * 2003-12-22 2012-01-17 Intel Corporation Methods and apparatus for mixing encrypted data with unencrypted data
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
US7697729B2 (en) 2004-01-29 2010-04-13 Authentec, Inc. System for and method of finger initiated actions
CN1938980A (zh) * 2004-02-13 2007-03-28 Ivi斯马特技术公司 用于密码加密处理数据的方法和设备
US8566616B1 (en) 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US8612772B1 (en) 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
US7899189B2 (en) * 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
US20060126836A1 (en) * 2004-12-10 2006-06-15 Hector Rivas System and method for dynamic generation of encryption keys
US8271805B2 (en) 2005-02-04 2012-09-18 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure buffer
US7831070B1 (en) 2005-02-18 2010-11-09 Authentec, Inc. Dynamic finger detection mechanism for a fingerprint sensor
KR100599159B1 (ko) * 2005-03-03 2006-07-12 삼성전자주식회사 디지털서명 생성 및 확인 방법 및 그 장치
US8231056B2 (en) * 2005-04-08 2012-07-31 Authentec, Inc. System for and method of protecting an integrated circuit from over currents
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7940249B2 (en) * 2005-11-01 2011-05-10 Authentec, Inc. Devices using a metal layer with an array of vias to reduce degradation
US7885436B2 (en) * 2006-07-13 2011-02-08 Authentec, Inc. System for and method of assigning confidence values to fingerprint minutiae points
US9235274B1 (en) 2006-07-25 2016-01-12 Apple Inc. Low-profile or ultra-thin navigation pointing or haptic feedback device
US8670564B1 (en) 2006-08-14 2014-03-11 Key Holdings, LLC Data encryption system and method
WO2008068078A1 (en) * 2006-12-07 2008-06-12 International Business Machines Corporation Remote controller having an rfid tag
US8024579B2 (en) * 2006-12-29 2011-09-20 Lenovo (Singapore) Pte Ltd. Authenticating suspect data using key tables
JP2008306395A (ja) * 2007-06-06 2008-12-18 Canon Inc 情報処理装置、情報処理方法
FR2920067B1 (fr) * 2007-08-13 2014-11-28 Actimagine Procede et dispositif de chiffrement partiel d'un contenu numerique
JP2009064055A (ja) * 2007-09-04 2009-03-26 Hitachi Ltd 計算機システム及びセキュリティ管理方法
US20090067625A1 (en) * 2007-09-07 2009-03-12 Aceurity, Inc. Method for protection of digital rights at points of vulnerability in real time
US7979419B2 (en) * 2007-11-01 2011-07-12 Sharp Laboratories Of America, Inc. Distributed search methods for time-shifted and live peer-to-peer video streaming
US7975282B2 (en) * 2007-11-01 2011-07-05 Sharp Laboratories Of America, Inc. Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming
US9785330B1 (en) 2008-02-13 2017-10-10 Apple Inc. Systems for and methods of providing inertial scrolling and navigation using a fingerprint sensor calculating swiping speed and length
US8477946B2 (en) * 2008-02-27 2013-07-02 International Business Machines Corporation Method and apparatus for protecting encryption keys in a logically partitioned computer system environment
US20110307707A1 (en) * 2009-03-25 2011-12-15 Pacid Technologies, Llc Method and system for securing a file
WO2010111448A1 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc Method and system for securing communication
US8726032B2 (en) 2009-03-25 2014-05-13 Pacid Technologies, Llc System and method for protecting secrets file
US8189790B2 (en) * 2009-08-14 2012-05-29 Brocade Communications Systems, Inc. Developing initial and subsequent keyID information from a unique mediaID value
US20120284528A1 (en) * 2010-10-07 2012-11-08 Stephen Orovitz Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method
US8942373B2 (en) * 2010-11-29 2015-01-27 Beijing Z & W Technology Consulting Co., Ltd. Data encryption and decryption method and apparatus
CN101984574B (zh) * 2010-11-29 2012-09-05 北京卓微天成科技咨询有限公司 一种数据加解密方法及装置
GB201206636D0 (en) * 2012-04-16 2012-05-30 Maidsafe Net Ltd Method of encrypting data
KR102218715B1 (ko) * 2014-06-19 2021-02-23 삼성전자주식회사 채널별로 데이터를 보호할 수 있는 반도체 장치
KR102466315B1 (ko) * 2016-01-13 2022-11-15 삼성전자주식회사 전자 장치, 그의 통신 방법 및 암호화 방법
US10372625B2 (en) 2016-12-27 2019-08-06 Intel Corporation Secure memory
US10664413B2 (en) 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
JP6884600B2 (ja) * 2017-03-02 2021-06-09 任天堂株式会社 無線通信システム、通信方法、情報処理装置、および、情報処理プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63124153A (ja) * 1986-11-05 1988-05-27 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 記憶情報保護装置
JPS63184853A (ja) * 1987-01-28 1988-07-30 Toshiba Corp 携帯可能電子装置
JPH02155034A (ja) * 1988-12-08 1990-06-14 Toshiba Corp セキュリティ機能付き計算機
US5058164A (en) * 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
JPH0758961B2 (ja) * 1990-08-21 1995-06-21 日通工株式会社 暗号化通信方式
US5860099A (en) * 1993-05-12 1999-01-12 Usar Systems, Inc. Stored program system with protected memory and secure signature extraction
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
EP0674253B1 (en) * 1994-03-15 2003-02-19 Kabushiki Kaisha Toshiba Shared file editing system with file content secrecy, version management and asynchronous editing
JP3542088B2 (ja) * 1994-09-09 2004-07-14 富士通株式会社 データコンテンツ利用システム
US5812663A (en) * 1994-12-29 1998-09-22 Fujitsu Limited Data reproducing device
US5696823A (en) * 1995-03-31 1997-12-09 Lucent Technologies Inc. High-bandwidth encryption system with low-bandwidth cryptographic modules
US5757915A (en) * 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
US5764774A (en) * 1995-09-25 1998-06-09 Intermec Corporation Source data compression and decompression in code symbol printing and decoding

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232776A (ja) * 1998-02-09 1999-08-27 Matsushita Electric Ind Co Ltd 録画装置および再生装置
JP2002537584A (ja) * 1999-02-16 2002-11-05 チューンツー.コム,インコーポレイテッド 符号化された波形のディジタルサンプリングを使用するオーディオ合成
JP2003500786A (ja) * 1999-05-12 2003-01-07 ギーゼッケ ウント デフリエント ゲーエムベーハー アドレスのスクランブリング機能付きメモリアレー
US6986000B2 (en) 2000-03-31 2006-01-10 Sanyo Electric Co., Ltd. Interleaving apparatus and deinterleaving apparatus
US8141057B2 (en) 2001-02-16 2012-03-20 Sony Corporation Data processing apparatus and associated method
JP2002244757A (ja) * 2001-02-19 2002-08-30 Sony Corp 半導体回路
JP2003018565A (ja) * 2001-06-28 2003-01-17 Pioneer Electronic Corp 映像信号伝送装置
JP2005504373A (ja) * 2001-09-28 2005-02-10 ハイ デンスィティ デバイスィズ アクシエセルスカプ 大容量記憶装置におけるデータの暗号化/復号化の方法及び装置
JP2011141883A (ja) * 2001-09-28 2011-07-21 High Density Devices As 大容量記憶装置におけるデータの暗号化/復号化の方法
JP2004252978A (ja) * 2003-02-18 2004-09-09 Micronas Gmbh 外部記憶装置を備えるプロセッサ
WO2004105310A1 (ja) * 2003-05-19 2004-12-02 Fujitsu Limited 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムおよび復号化プログラム
US7661000B2 (en) 2004-12-07 2010-02-09 Sony Corporation Information processing device, information recording medium and information processing method, and computer program
WO2006061976A1 (ja) * 2004-12-07 2006-06-15 Sony Corporation 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4714124B2 (ja) * 2006-11-14 2011-06-29 東芝情報システム株式会社 送信装置、受信装置、情報通信システム
JP2008124936A (ja) * 2006-11-14 2008-05-29 Toshiba Information Systems (Japan) Corp 送信装置、受信装置、情報通信システム
JP2008172630A (ja) * 2007-01-12 2008-07-24 Kenwood Corp 無線通信装置及び制御方法
JP2014030207A (ja) * 2011-01-25 2014-02-13 Sanyo Electric Co Ltd 車載器
JP2016054545A (ja) * 2011-01-25 2016-04-14 パナソニックIpマネジメント株式会社 車載器
CN103366132A (zh) * 2012-03-29 2013-10-23 国际商业机器公司 用于加密数据的设备和方法
JP2013205800A (ja) * 2012-03-29 2013-10-07 Internatl Business Mach Corp <Ibm> データを暗号化する装置及び方法
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data
US9344274B2 (en) 2012-03-29 2016-05-17 International Business Machines Corporation Method and system for encrypting data
JP2014220729A (ja) * 2013-05-10 2014-11-20 株式会社メガチップス 暗号処理装置、半導体メモリ及びメモリシステム
JP2016181836A (ja) * 2015-03-24 2016-10-13 キヤノン株式会社 情報処理装置、暗号装置、情報処理装置の制御方法、およびプログラム
JP2016181814A (ja) * 2015-03-24 2016-10-13 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法

Also Published As

Publication number Publication date
JP3747520B2 (ja) 2006-02-22
US5995623A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JP3747520B2 (ja) 情報処理装置及び情報処理方法
US10447476B2 (en) Multi-key graphic cryptography for encrypting file system acceleration
EP1440535B1 (en) Memory encrytion system and method
US7353393B2 (en) Authentication receipt
US8300828B2 (en) System and method for a derivation function for key per page
JP2746352B2 (ja) 遠隔位置に設置したコンピュータによる通信のための機密防護通信システム及び方法
US7464171B2 (en) Effective protection of computer data traffic in constrained resource scenarios
US8880879B2 (en) Accelerated cryptography with an encryption attribute
JP2001514834A (ja) 安全決定性暗号鍵発生システムおよび方法
KR20130093557A (ko) 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법
CN111614467B (zh) 系统后门防御方法、装置、计算机设备和存储介质
CN114520727A (zh) 安全芯片数据防护方法及系统
JP2008306395A (ja) 情報処理装置、情報処理方法
KR20060110383A (ko) 네트워크 보안 프로세서의 다중모드 암호화 장치
JPWO2006046484A1 (ja) 認証方法
JPH11258985A (ja) 暗号データの送付用ファイル生成装置、そのプログラムが記録された記録媒体、および、暗号データの送付用ファイルが格納された記録媒体
JP3868218B2 (ja) アクセス制限付コンテンツ表示方法およびその装置
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
JP3797531B2 (ja) ディジタルデータの不正コピー防止システム
JP2007158967A (ja) 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
JP2003066837A (ja) アドレス生成方法及びデータ復号方法
Ramkumar DOWN with trusted devices
JPH07134548A (ja) データ暗号化システム
WO2003024019A1 (en) Authentication receipt
JP6162556B2 (ja) 記憶装置及び情報処理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees