JP2008165008A - データ処理装置及びデータ処理方法 - Google Patents

データ処理装置及びデータ処理方法 Download PDF

Info

Publication number
JP2008165008A
JP2008165008A JP2006355395A JP2006355395A JP2008165008A JP 2008165008 A JP2008165008 A JP 2008165008A JP 2006355395 A JP2006355395 A JP 2006355395A JP 2006355395 A JP2006355395 A JP 2006355395A JP 2008165008 A JP2008165008 A JP 2008165008A
Authority
JP
Japan
Prior art keywords
data
scramble
pseudo random
unit
random numbers
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
Application number
JP2006355395A
Other languages
English (en)
Inventor
Fumiaki Tsukasaki
史明 塚嵜
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.)
MegaChips Corp
Original Assignee
MegaChips LSI Solutions Inc
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 MegaChips LSI Solutions Inc filed Critical MegaChips LSI Solutions Inc
Priority to JP2006355395A priority Critical patent/JP2008165008A/ja
Publication of JP2008165008A publication Critical patent/JP2008165008A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来よりもセキュリティ性が向上されたデータ処理装置を得る。
【解決手段】疑似乱数生成部10は、第1のデータ群が処理されている間に、4個の疑似乱数P0〜P3を生成して出力する。出力された疑似乱数P0〜P3は、バッファメモリ11に格納される。順序変換部15は、順序変換テーブル16を参照することにより、疑似乱数P0〜P3の配列順序を変換する。これにより、配列順序が変換された後の疑似乱数P0〜P3として、スクランブル値S0〜S3を得る。順序変換部15から出力されたスクランブル値S0〜S3は、演算部17に入力される。演算部17は、スクランブル値S0,S1,S2,S3と第1のデータ群に続く第2のデータ群のデータD0,D1,D2,D3との排他的論理和をそれぞれとることにより、スクランブルデータSD0,SD1,SD2,SD3を生成して出力する。
【選択図】図3

Description

本発明は、データ処理装置及びデータ処理方法に関する。
半導体メモリを着脱自在に接続することによって、当該半導体メモリに記憶されているソフトウェアプログラムやデータ等を利用する情報処理装置が知られている。
このような半導体メモリの中には、内部に記憶されているデータ等の機密を保護するために、特定のセキュリティ技術が搭載されているものがある。例えば下記特許文献1には、所定のキーデータを利用してデータを暗号化する技術が開示されている。
特開平9−106690号公報
しかしながら、上記特許文献1に開示された技術のようにキーデータを利用してデータの暗号化を行う場合であっても、半導体メモリと情報処理装置との間で行われる通信の内容を観測することが可能であるため、大量のサンプルを解析することで暗号が解読される可能性があり、セキュリティ性が十分とはいえない。
本発明はかかる事情に鑑みて成されたものであり、従来よりもセキュリティ性が向上されたデータ処理装置及びデータ処理方法を得ることを目的とする。
第1の発明に係るデータ処理装置は、各データ毎に疑似乱数を順に生成する疑似乱数生成部と、第1群の複数のデータに対応して前記疑似乱数生成部によって生成された複数の疑似乱数に基づいて、前記第1群の複数のデータに続く第2群の複数のデータに対する複数のスクランブル値を生成する第1の処理部と、前記複数のスクランブル値を用いて、前記第2群の複数のデータに対するスクランブル処理を行う第2の処理部とを備える。
第2の発明に係るデータ処理装置は、第1の発明に係るデータ処理装置において特に、前記第1の処理部は、所定の順序変換テーブルが予め記憶された記憶部と、前記順序変換テーブルに基づいて、前記疑似乱数生成部によって生成された前記複数の疑似乱数の配列順序を変換し、それによって前記複数のスクランブル値を得る順序変換部とを有することを特徴とする。
第3の発明に係るデータ処理装置は、第1の発明に係るデータ処理装置において特に、前記第1の処理部は、所定の演算規則テーブルが予め記憶された記憶部と、前記演算規則テーブルに基づいて、前記疑似乱数生成部によって生成された前記複数の疑似乱数を用いた演算を行い、それによって前記複数のスクランブル値を得る演算部とを有することを特徴とする。
第4の発明に係るデータ処理装置は、第1の発明に係るデータ処理装置において特に、前記第1の処理部は、前記疑似乱数生成部によって生成された前記複数の疑似乱数の配列順序を、当該複数の疑似乱数自身の値に基づいて変換し、それによって前記複数のスクランブル値を得る順序変換部を有することを特徴とする。
第5の発明に係るデータ処理装置は、第1の発明に係るデータ処理装置において特に、前記第1の処理部は、前記疑似乱数生成部によって生成された前記複数の疑似乱数の値に基づいて、所定の演算規則を生成する演算規則生成部と、前記所定の演算規則に基づいて、当該複数の疑似乱数を用いた演算を行い、それによって前記複数のスクランブル値を得る演算部とを有することを特徴とする。
第6の発明に係るデータ処理方法は、(A)第1群の複数のデータに対応して複数の疑似乱数を順に生成するステップと、(B)前記複数の疑似乱数に基づいて、前記第1群の複数のデータに続く第2群の複数のデータに対する複数のスクランブル値を生成するステップと、(C)前記複数のスクランブル値を用いて、前記第2群の複数のデータに対するスクランブル処理を行うステップとを備える。
第1の発明に係るデータ処理装置によれば、疑似乱数生成部が生成した疑似乱数をそのままスクランブル値とするのではなく、第1群の複数のデータに対応して生成された複数の疑似乱数に基づいて、第2群の複数のデータに対する複数のスクランブル値が生成されるため、第三者による不正なスクランブル解除が困難であり、セキュリティ性を高めることができる。しかも、一つの疑似乱数生成部が順に生成した複数の疑似乱数に基づいて複数のスクランブル値が生成されるため、複数の疑似乱数生成部を使用する場合と比較すると、構成の簡略化を図ることができる。
第2の発明に係るデータ処理装置によれば、疑似乱数生成部が生成した疑似乱数をそのままスクランブル値とするのではなく、複数の疑似乱数の配列順序を変換して複数のスクランブル値を得ることにより、セキュリティ性をさらに高めることができる。
第3の発明に係るデータ処理装置によれば、疑似乱数生成部が生成した疑似乱数をそのままスクランブル値とするのではなく、複数の疑似乱数を用いた演算を行って複数のスクランブル値を得ることにより、セキュリティ性をさらに高めることができる。
第4の発明に係るデータ処理装置によれば、疑似乱数生成部が生成した疑似乱数をそのままスクランブル値とするのではなく、複数の疑似乱数の配列順序を変換して複数のスクランブル値を得ることにより、セキュリティ性をさらに高めることができる。
第5の発明に係るデータ処理装置によれば、疑似乱数生成部が生成した疑似乱数をそのままスクランブル値とするのではなく、複数の疑似乱数を用いた演算を行って複数のスクランブル値を得ることにより、セキュリティ性をさらに高めることができる。
第6の発明に係るデータ処理方法によれば、生成された疑似乱数をそのままスクランブル値とするのではなく、第1群の複数のデータに対応して生成された複数の疑似乱数に基づいて、第2群の複数のデータに対する複数のスクランブル値が生成されるため、第三者による不正なスクランブル解除が困難であり、セキュリティ性を高めることができる。しかも、一つの疑似乱数生成部が順に生成した複数の疑似乱数に基づいて複数のスクランブル値を生成できるため、複数の疑似乱数生成部を使用する場合と比較すると、構成の簡略化を図ることができる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るデータ処理システムの全体構成の第1の例を概略的に示すブロック図である。第1の機器100は半導体メモリであり、第2の機器101はホスト機器である。メモリセルアレイ1から出力されたデータD(この例の場合、データDは、半導体メモリから読み出されたデータビット列である。)は、スクランブル処理部2に入力される。スクランブル処理部2は、データDに対してスクランブル処理を施して、スクランブルデータSDを出力する。スクランブルデータSDは、第2の機器101内のデスクランブル処理部3に入力される。デスクランブル処理部3は、スクランブルデータSDに対してデスクランブル処理を施すことにより、スクランブルを解除して元のデータDを出力する。データDは、CPU4に入力される。
図2は、本発明の実施の形態に係るデータ処理システムの全体構成の第2の例を概略的に示すブロック図である。第1の機器100はホスト機器であり、第2の機器101は半導体メモリである。CPU4から出力されたデータD(この例の場合、データDは、ホスト機器から半導体メモリに対するコマンドビット列である。)は、スクランブル処理部2に入力される。スクランブル処理部2は、データDに対してスクランブル処理を施して、スクランブルデータSDを出力する。スクランブルデータSDは、第2の機器101内のデスクランブル処理部3に入力される。デスクランブル処理部3は、スクランブルデータSDに対してデスクランブル処理を施すことにより、スクランブルを解除して元のデータDを出力する。データDは、メモリセルアレイ1に入力される。なお、上記の例に限らず、第1の機器100及び第2の機器101は、いずれも任意の機器である。
本発明は主に、図1,2に示したスクランブル処理部2に関するものである。以下、データDが1バイト長のデータであり、4つのデータDで1つのデータ群が構成される場合を例にとり、本発明の実施の形態に係るデータ処理装置について説明する。
<スクランブル処理部2の第1の構成例>
図3は、図1,2に示したスクランブル処理部2の第1の構成(スクランブル処理部2A)を示すブロック図である。図2に示すように、スクランブル処理部2Aは、疑似乱数生成部(PNG)10と、バッファメモリ11と、第1の処理部12と、第2の処理部13とを備えている。
疑似乱数生成部10は、データD毎に疑似乱数を生成する。この例では4つのデータDで1つのデータ群が構成されるため、疑似乱数生成部10は、各データ群毎に4個の疑似乱数P0,P1,P2,P3をこの順に生成する。
バッファメモリ11は、疑似乱数生成部10によって生成された疑似乱数P0〜P3を一時的に記憶する。
第1の処理部12は、記憶部14と順序変換部15とを備えている。記憶部14には、後述する順序変換テーブル16が予め記憶されている。順序変換部15は、前回処理したデータ群に対応して疑似乱数生成部10によって生成された疑似乱数P0〜P3を、バッファメモリ11から読み出す。そして、読み出した疑似乱数P0〜P3に基づいて、今回処理すべきデータ群に対する複数のスクランブル値S0〜S3を生成する。順序変換部15における処理内容の詳細については後述する。
なお、上記の「今回処理すべきデータ群」が最初に送られてきたデータ群である場合には、上記の「前回処理したデータ群に対応して疑似乱数生成部10によって生成された疑似乱数P0〜P3」が存在しないため、以下のようにしてスクランブル値S0〜S3を生成する。つまり、疑似乱数生成部10によって予め4個の疑似乱数を生成し、バッファメモリ11に格納しておく。そして、最初に送られてきたデータ群に対しては、バッファメモリ11から読み出したこれら4個の疑似乱数に基づいて、スクランブル値S0〜S3を生成する。後述する他の構成例についても同様である。
第2の処理部13は、演算部17を備えている。演算部17は、順序変換部15から入力された各スクランブル値S0〜S3と、図1に示したメモリセルアレイ1(あるいは図2に示したCPU4。以下同様)から入力されたデータD(D0〜D3)との排他的論理和をそれぞれとることにより、スクランブルデータSD(SD0〜SD3)を生成する。例えば、スクランブル値S1とデータD1との排他的論理和をとることにより、スクランブルデータSD1が生成される。
演算部17から出力されたスクランブルデータSDは、図1,2に示したデスクランブル処理部3に入力される。デスクランブル処理部3は、図3に示したスクランブル処理部2Aと同様に、疑似乱数生成部10、バッファメモリ11、第1の処理部12、及び第2の処理部13を備えて構成されている。その結果、デスクランブル処理部3が有する第1の処理部12は、スクランブル処理部2Aが有する第1の処理部12が生成したスクランブル値S0〜S3と同一のスクランブル値S0〜S3を生成することができる。デスクランブル処理部3が有する演算部17は、第1の機器100から入力されたスクランブルデータSD0〜SD3と、デスクランブル処理部3が有する第1の処理部12によって生成されたスクランブル値S0〜S3との排他的論理和をそれぞれとることにより、スクランブルデータSD0〜SD3のスクランブルを解除して元のデータD0〜D3を復元する。
なお、スクランブル処理部2Aとデスクランブル処理部3とで同一のスクランブル値S0〜S3を生成するためには、スクランブル処理部2Aの第1の処理部12と、デスクランブル処理部3の第1の処理部12とで、各記憶部14内に同一の順序変換テーブル16を記憶しておく必要がある。これを実現するために、各記憶部14内に予め同一の順序変換テーブル16が格納されていることにより、各記憶部14は同一の順序変換テーブル16を共有する。あるいは、メモリセルアレイ1(図1,2参照)内の特定領域に順序変換テーブル16が予め格納されており、システムの電源投入時に、その特定領域から各記憶部14内に順序変換テーブル16が読み出されても良い。あるいは、メモリセルアレイ1内の特定領域に、順序変換テーブル16を作成するための所定のキー情報が予め格納されており、システムの電源投入時に、その特定領域から読み出したキー情報に基づいて例えばCPU4(図1,2参照)が順序変換テーブル16を作成し、その作成した順序変換テーブル16を各記憶部14内に格納しても良い。
図4は、図3に示した記憶部14に記憶されている順序変換テーブル16の一例を示す模式図である。疑似乱数P0〜P3の配列順序を変換するためのルールとして、疑似乱数P0〜P3とスクランブル値S0〜S3との対応関係が、インデックス値によって分類されて複数記述されている。いずれかのインデックス値を選択することにより、選択されたインデックス値に対応するルールが、バッファメモリ11から読み出した疑似乱数P0〜P3の配列順序を変換するために使用される。インデックス値の選択手法としては、各データD毎にインデックス値を1ずつインクリメントする手法や、前回の疑似乱数P0の下位数ビットの値に基づいてインデックス値を決定する手法など、どのような手法であっても良い。
図5は、図4に示したインデックス値「2」が採用された場合を例として、スクランブルデータSD0〜SD3の生成手法を説明するための模式図である。以下、図3〜5を参照して、スクランブル処理部2Aの動作について説明する。
図3を参照して、疑似乱数生成部10は、4つのデータDから成る第1のデータ群が処理されている間に、4個の疑似乱数P0〜P3を生成して出力する。出力された疑似乱数P0〜P3は、バッファメモリ11に格納される。第1のデータ群に続く第2のデータ群(4つのデータD0〜D3から成る)がスクランブル処理部2Aに入力されると、順序変換部15は、バッファメモリ11から疑似乱数P0〜P3を読み出す。その際、図5に示すように、順序変換部15には、バッファメモリ11から疑似乱数P0〜P3がP0→P1→P2→P3の順序で入力される。
順序変換部15は、順序変換テーブル16のインデックス値「2」の行(“3”“2”“0”“1”)を参照することにより、疑似乱数P0→P1→P2→P3の配列順序を、P3→P2→P0→P1に変換する。これにより、配列順序が変換された後の疑似乱数P0〜P3として、スクランブル値S0〜S3を得る。この例の場合、スクランブル値S0,S1,S2,S3は、それぞれ疑似乱数P3,P2,P0,P1に対応する。
順序変換部15から出力されたスクランブル値S0〜S3は、演算部17に入力される。また、演算部17には、今回処理すべき第2のデータ群が、データD0→D1→D2→D3の順序で入力されている。演算部17は、スクランブル値S0,S1,S2,S3とデータD0,D1,D2,D3との排他的論理和をそれぞれとることにより、スクランブルデータSD0,SD1,SD2,SD3を生成して出力する。
<スクランブル処理部2の第2の構成例>
図6は、図1,2に示したスクランブル処理部2の第2の構成(スクランブル処理部2B)を示すブロック図である。図6に示すように、スクランブル処理部2Bは、疑似乱数生成部10と、バッファメモリ11と、第1の処理部12と、第2の処理部13とを備えている。
疑似乱数生成部10は、データD毎に疑似乱数を生成する。この例では4つのデータDで1つのデータ群が構成されるため、疑似乱数生成部10は、各データ群毎に4個の疑似乱数P0,P1,P2,P3をこの順に生成する。
バッファメモリ11は、疑似乱数生成部10によって生成された疑似乱数P0〜P3を一時的に記憶する。
第1の処理部12は、記憶部14と演算部25とを備えている。記憶部14には、後述する演算規則テーブル26が予め記憶されている。演算部25は、前回処理したデータ群に対応して疑似乱数生成部10によって生成された疑似乱数P0〜P3を、バッファメモリ11から読み出す。そして、読み出した疑似乱数P0〜P3に基づいて、今回処理すべきデータ群に対する複数のスクランブル値S0〜S3を生成する。演算部25における処理内容の詳細については後述する。
第2の処理部13は、演算部17を備えている。演算部17は、順序変換部15から入力された各スクランブル値S0〜S3と、図1に示したメモリセルアレイ1から入力されたデータD(D0〜D3)との排他的論理和をそれぞれとることにより、スクランブルデータSD(SD0〜SD3)を生成する。
演算部17から出力されたスクランブルデータSDは、図1,2に示したデスクランブル処理部3に入力される。デスクランブル処理部3は、図6に示したスクランブル処理部2Aと同様に、疑似乱数生成部10、バッファメモリ11、第1の処理部12、及び第2の処理部13を備えて構成されている。その結果、デスクランブル処理部3が有する第1の処理部12は、スクランブル処理部2Bが有する第1の処理部12が生成したスクランブル値S0〜S3と同一のスクランブル値S0〜S3を生成することができる。デスクランブル処理部3が有する演算部17は、第1の機器100から入力されたスクランブルデータSD0〜SD3と、デスクランブル処理部3が有する第1の処理部12によって生成されたスクランブル値S0〜S3との排他的論理和をそれぞれとることにより、スクランブルデータSD0〜SD3のスクランブルを解除して元のデータD0〜D3を復元する。
なお、スクランブル処理部2Bとデスクランブル処理部3とで同一のスクランブル値S0〜S3を生成するためには、スクランブル処理部2Bの第1の処理部12と、デスクランブル処理部3の第1の処理部12とで、各記憶部14内に同一の演算規則テーブル26を記憶しておく必要がある。これを実現するために、各記憶部14内に予め同一の演算規則テーブル26が格納されていることにより、各記憶部14は同一の演算規則変換テーブル26を共有する。あるいは、メモリセルアレイ1(図1,2参照)内の特定領域に演算規則テーブル26が予め格納されており、システムの電源投入時に、その特定領域から各記憶部14内に演算規則テーブル26が読み出されても良い。あるいは、メモリセルアレイ1内の特定領域に、演算規則テーブル26を作成するための所定のキー情報が予め格納されており、システムの電源投入時に、その特定領域から読み出したキー情報に基づいて例えばCPU4(図1,2参照)が演算規則テーブル26を作成し、その作成した演算規則テーブル26を各記憶部14内に格納しても良い。
図7は、図6に示した記憶部14に記憶されている演算規則テーブル26の一例を示す模式図である。疑似乱数P0〜P3からスクランブル値S0〜S3を生成するための演算規則として、排他的論理和をとるべき疑似乱数P0〜P3の組と、スクランブル値S0〜S3との対応関係が、インデックス値によって分類されて複数記述されている。いずれかのインデックス値を選択することにより、選択されたインデックス値に対応する演算規則が、バッファメモリ11から読み出した疑似乱数P0〜P3からスクランブル値S0〜S3を生成するために使用される。インデックス値の選択手法としては、各データD毎にインデックス値を1ずつインクリメントする手法や、前回の疑似乱数P0の下位数ビットの値に基づいてインデックス値を決定する手法など、どのような手法であっても良い。
図8は、図7に示したインデックス値「3」が採用された場合を例として、スクランブルデータSD0〜SD3の生成手法を説明するための模式図である。以下、図6〜8を参照して、スクランブル処理部2Bの動作について説明する。
図6を参照して、疑似乱数生成部10は、4つのデータDから成る第1のデータ群が処理されている間に、4個の疑似乱数P0〜P3を生成して出力する。出力された疑似乱数P0〜P3は、バッファメモリ11に格納される。第1のデータ群に続く第2のデータ群(4つのデータD0〜D3から成る)がスクランブル処理部2Bに入力されると、演算部25は、バッファメモリ11から疑似乱数P0〜P3を読み出す。その際、図8に示すように、演算部25には、バッファメモリ11から疑似乱数P0〜P3がP0→P1→P2→P3の順序で入力される。
演算部25は、演算規則テーブル26のインデックス値「3」の行(“1,3”“0,2”“2,3”“0,1”)を参照し、指定された疑似乱数P0〜P3同士の排他的論理和をとることにより、スクランブル値S0〜S3を得る。この例の場合、スクランブル値S0は疑似乱数P1と疑似乱数P3との排他的論理和に相当し、スクランブル値S1は疑似乱数P0と疑似乱数P2との排他的論理和に相当し、スクランブル値S2は疑似乱数P2と疑似乱数P3との排他的論理和に相当し、スクランブル値S3は疑似乱数P0と疑似乱数P1との排他的論理和に相当する。
演算部25から出力されたスクランブル値S0〜S3は、演算部17に入力される。また、演算部17には、今回処理すべき第2のデータ群が、データD0→D1→D2→D3の順序で入力されている。演算部17は、スクランブル値S0,S1,S2,S3とデータD0,D1,D2,D3との排他的論理和をそれぞれとることにより、スクランブルデータSD0,SD1,SD2,SD3を生成して出力する。
<スクランブル処理部2の第3の構成例>
図9は、図1,2に示したスクランブル処理部2の第3の構成(スクランブル処理部2C)を示すブロック図である。図9に示すように、スクランブル処理部2Cは、疑似乱数生成部10と、バッファメモリ11と、第1の処理部12と、第2の処理部13とを備えている。
疑似乱数生成部10は、データD毎に疑似乱数を生成する。この例では4つのデータDで1つのデータ群が構成されるため、疑似乱数生成部10は、各データ群毎に4個の疑似乱数P0,P1,P2,P3をこの順に生成する。
バッファメモリ11は、疑似乱数生成部10によって生成された疑似乱数P0〜P3を一時的に記憶する。
第1の処理部12は、順序変換部35を備えている。順序変換部35は、前回処理したデータ群に対応して疑似乱数生成部10によって生成された疑似乱数P0〜P3を、バッファメモリ11から読み出す。そして、読み出した疑似乱数P0〜P3に基づいて、今回処理すべきデータ群に対する複数のスクランブル値S0〜S3を生成する。順序変換部35における処理内容の詳細については後述する。
第2の処理部13は、演算部17を備えている。演算部17は、順序変換部35から入力された各スクランブル値S0〜S3と、図1に示したメモリセルアレイ1から入力されたデータD(D0〜D3)の排他的論理和をそれぞれとることにより、スクランブルデータSD(SD0〜SD3)を生成する。
演算部17から出力されたスクランブルデータSDは、図1,2に示したデスクランブル処理部3に入力される。デスクランブル処理部3は、図9に示したスクランブル処理部2Cと同様に、疑似乱数生成部10、バッファメモリ11、第1の処理部12、及び第2の処理部13を備えて構成されている。その結果、デスクランブル処理部3が有する第1の処理部12は、スクランブル処理部2Cが有する第1の処理部12が生成したスクランブル値S0〜S3と同一のスクランブル値S0〜S3を生成することができる。デスクランブル処理部3が有する演算部17は、第1の機器100から入力されたスクランブルデータSD0〜SD3と、デスクランブル処理部3が有する第1の処理部12によって生成されたスクランブル値S0〜S3との排他的論理和をそれぞれとることにより、スクランブルデータSD0〜SD3のスクランブルを解除して元のデータD0〜D3を復元する。
図10は、バッファメモリ11から読み出された疑似乱数P0〜P3の一例を示す模式図である。この例では疑似乱数P0〜P3はいずれも8ビットであり、例えば、疑似乱数P0の上位2ビットは“01”であり下位2ビットは“10”である。
図11は、スクランブルデータSD0〜SD3の生成手法を説明するための模式図である。以下、図9〜11を参照して、スクランブル処理部2Cの動作について説明する。
図9を参照して、疑似乱数生成部10は、4つのデータDから成る第1のデータ群が処理されている間に、4個の疑似乱数P0〜P3を生成して出力する。出力された疑似乱数P0〜P3は、バッファメモリ11に格納される。第1のデータ群に続く第2のデータ群(4つのデータD0〜D3から成る)がスクランブル処理部2Cに入力されると、順序変換部35は、バッファメモリ11から疑似乱数P0〜P3を読み出す。
順序変換部35は、読み出した各疑似乱数P0〜P3の例えば下位2ビットの値を参照することにより、疑似乱数P0→P1→P2→P3の配列順序を変換する。この例では、疑似乱数P0,P1,P2,P3の各下位2ビットの値がそれぞれ“2”“3”“1”“0”(10進数)であるため、順序変換部35は、P0→P1→P2→P3の配列順序をP2→P3→P1→P0に変換する。これにより、スクランブル値S0,S1,S2,S3は、それぞれ疑似乱数P2,P3,P1,P0に対応する。
順序変換部35から出力されたスクランブル値S0〜S3は、演算部17に入力される。また、演算部17には、今回処理すべき第2のデータ群が、データD0→D1→D2→D3の順序で入力されている。演算部17は、スクランブル値S0,S1,S2,S3とデータD0,D1,D2,D3との排他的論理和をそれぞれとることにより、スクランブルデータSD0,SD1,SD2,SD3を生成して出力する。
<スクランブル処理部2の第4の構成例>
図12は、図1,2に示したスクランブル処理部2の第4の構成(スクランブル処理部2D)を示すブロック図である。図12に示すように、スクランブル処理部2Dは、疑似乱数生成部10と、バッファメモリ11と、第1の処理部12と、第2の処理部13とを備えている。
疑似乱数生成部10は、データD毎に疑似乱数を生成する。この例では4つのデータDで1つのデータ群が構成されるため、疑似乱数生成部10は、各データ群毎に4個の疑似乱数P0,P1,P2,P3をこの順に生成する。
バッファメモリ11は、疑似乱数生成部10によって生成された疑似乱数P0〜P3を一時的に記憶する。
第1の処理部12は、演算規則生成部46と演算部45とを備えている。演算規則生成部46及び演算部45はそれぞれ、前回処理したデータ群に対応して疑似乱数生成部10によって生成された疑似乱数P0〜P3を、バッファメモリ11から読み出す。そして、演算規則生成部46は、読み出した疑似乱数P0〜P3の値に基づいて、演算部45が演算を行うための演算規則を生成する。また、演算部45は、読み出した疑似乱数P0〜P3に基づいて、今回処理すべきデータ群に対する複数のスクランブル値S0〜S3を生成する。演算規則生成部46及び演算部45における処理内容の詳細については後述する。
第2の処理部13は、演算部17を備えている。演算部17は、演算部45から入力された各スクランブル値S0〜S3と、図1に示したメモリセルアレイ1から入力されたデータD(D0〜D3)との排他的論理和をそれぞれとることにより、スクランブルデータSD(SD0〜SD3)を生成する。
演算部17から出力されたスクランブルデータSDは、図1,2に示したデスクランブル処理部3に入力される。デスクランブル処理部3は、図12に示したスクランブル処理部2Dと同様に、疑似乱数生成部10、バッファメモリ11、第1の処理部12、及び第2の処理部13を備えて構成されている。その結果、デスクランブル処理部3が有する第1の処理部12は、スクランブル処理部2Dが有する第1の処理部12が生成したスクランブル値S0〜S3と同一のスクランブル値S0〜S3を生成することができる。デスクランブル処理部3が有する演算部17は、第1の機器100から入力されたスクランブルデータSD0〜SD3と、デスクランブル処理部3が有する第1の処理部12によって生成されたスクランブル値S0〜S3との排他的論理和をそれぞれとることにより、スクランブルデータSD0〜SD3のスクランブルを解除して元のデータD0〜D3を復元する。
図13は、スクランブルデータSD0〜SD3の生成手法を説明するための模式図である。以下、図10,12,13を参照して、スクランブル処理部2Dの動作について説明する。
図12を参照して、疑似乱数生成部10は、4つのデータDから成る第1のデータ群が処理されている間に、4個の疑似乱数P0〜P3を生成して出力する。出力された疑似乱数P0〜P3は、バッファメモリ11に格納される。第1のデータ群に続く第2のデータ群(4つのデータD0〜D3から成る)がスクランブル処理部2Dに入力されると、演算規則生成部46及び演算部45はそれぞれ、バッファメモリ11から疑似乱数P0〜P3を読み出す。その際、図13に示すように、演算規則生成部46及び演算部45にはそれぞれ、バッファメモリ11から疑似乱数P0〜P3がP0→P1→P2→P3の順序で入力される。
演算規則生成部46は、読み出した各疑似乱数P0〜P3の例えば下位2ビットの値と例えば上位2ビットの値とに基づいて、演算規則を生成する。図10に示した例では、疑似乱数P0,P1,P2,P3の各下位2ビットの値がそれぞれ“2”“3”“1”“0”(10進数)であり、各上位2ビットの値がそれぞれ“1”“0”“1”“2”(10進数)であるため、演算規則生成部46は、“2,1”“3,0”“1,1”“0,2”なる演算規則を生成する。ここで、例えば“2,1”なる演算規則は、疑似乱数P2と疑似乱数P1との排他的論理和をとる旨の演算規則である。また、“1,1”なる演算規則に関しては、排他的論理和の結果がゼロとなることを回避すべく、疑似乱数P1同士の排他的論理和を行わずに疑似乱数P1がそのままスクランブル値とされる。
演算部45は、演算規則生成部46によって生成された演算規則(“2,1”“3,0”“1”“0,2”)を参照し、指定された疑似乱数P0〜P3同士の排他的論理和をとることにより、スクランブル値S0〜S3を得る。この例の場合、スクランブル値S0は疑似乱数P2と疑似乱数P1との排他的論理和に相当し、スクランブル値S1は疑似乱数P3と疑似乱数P0との排他的論理和に相当し、スクランブル値S2は疑似乱数P1に相当し、スクランブル値S3は疑似乱数P0と疑似乱数P2との排他的論理和に相当する。
演算部25から出力されたスクランブル値S0〜S3は、演算部17に入力される。また、演算部17には、今回処理すべき第2のデータ群が、データD0→D1→D2→D3の順序で入力されている。演算部17は、スクランブル値S0,S1,S2,S3とデータD0,D1,D2,D3との排他的論理和をそれぞれとることにより、スクランブルデータSD0,SD1,SD2,SD3を生成して出力する。
<まとめ>
以上のように、本実施の形態に係るスクランブル処理部2(2A〜2D)によれば、疑似乱数生成部10が生成した疑似乱数P0〜P3をそのままスクランブル値S0〜S3とするのではなく、第1群の複数のデータに対応して生成された複数の疑似乱数P0〜P3に基づいて、第2群の複数のデータD0〜D3に対する複数のスクランブル値S0〜S3が生成されるため、第三者による不正なスクランブル解除が困難であり、セキュリティ性を高めることができる。しかも、一つの疑似乱数生成部10が順に生成した複数の疑似乱数P0〜P3に基づいて複数のスクランブル値S0〜S3が生成されるため、複数の疑似乱数生成部を使用する場合と比較すると、構成の簡略化を図ることができる。
また、スクランブル処理部2A,2Cによると、疑似乱数生成部10が生成した疑似乱数P0〜P3をそのままスクランブル値S0〜S3とするのではなく、疑似乱数P0〜P3の配列順序を変換してスクランブル値S0〜S3が得られるため、セキュリティ性をさらに高めることができる。
また、スクランブル処理部2B,2Dによると、疑似乱数生成部10が生成した疑似乱数P0〜P3をそのままスクランブル値S0〜S3とするのではなく、疑似乱数P0〜P3を用いた演算を行ってスクランブル値S0〜S3が得られるため、セキュリティ性をさらに高めることができる。
本発明の実施の形態に係るデータ処理システムの全体構成の第1の例を概略的に示すブロック図である。 本発明の実施の形態に係るデータ処理システムの全体構成の第2の例を概略的に示すブロック図である。 スクランブル処理部の第1の構成を示すブロック図である。 順序変換テーブルの一例を示す模式図である。 スクランブルデータの生成手法を説明するための模式図である。 スクランブル処理部の第2の構成を示すブロック図である。 演算規則テーブルの一例を示す模式図である。 スクランブルデータの生成手法を説明するための模式図である。 スクランブル処理部の第3の構成を示すブロック図である。 疑似乱数の一例を示す模式図である。 スクランブルデータの生成手法を説明するための模式図である。 スクランブル処理部の第4の構成を示すブロック図である。 スクランブルデータの生成手法を説明するための模式図である。
符号の説明
1 メモリセルアレイ
2 スクランブル処理部
3 デスクランブル処理部
4 CPU
10 疑似乱数生成部
11 バッファメモリ
12 第1の処理部
13 第2の処理部
14 記憶部
15,35 順序変換部
16 順序変換テーブル
17,25,45 演算部
26 演算規則テーブル
46 演算規則生成部
100 第1の機器
101 第2の機器

Claims (6)

  1. 各データ毎に疑似乱数を順に生成する疑似乱数生成部と、
    第1群の複数のデータに対応して前記疑似乱数生成部によって生成された複数の疑似乱数に基づいて、前記第1群の複数のデータに続く第2群の複数のデータに対する複数のスクランブル値を生成する第1の処理部と、
    前記複数のスクランブル値を用いて、前記第2群の複数のデータに対するスクランブル処理を行う第2の処理部と
    を備える、データ処理装置。
  2. 前記第1の処理部は、
    所定の順序変換テーブルが予め記憶された記憶部と、
    前記順序変換テーブルに基づいて、前記疑似乱数生成部によって生成された前記複数の疑似乱数の配列順序を変換し、それによって前記複数のスクランブル値を得る順序変換部と
    を有する、請求項1に記載のデータ処理装置。
  3. 前記第1の処理部は、
    所定の演算規則テーブルが予め記憶された記憶部と、
    前記演算規則テーブルに基づいて、前記疑似乱数生成部によって生成された前記複数の疑似乱数を用いた演算を行い、それによって前記複数のスクランブル値を得る演算部と
    を有する、請求項1に記載のデータ処理装置。
  4. 前記第1の処理部は、
    前記疑似乱数生成部によって生成された前記複数の疑似乱数の配列順序を、当該複数の疑似乱数自身の値に基づいて変換し、それによって前記複数のスクランブル値を得る順序変換部
    を有する、請求項1に記載のデータ処理装置。
  5. 前記第1の処理部は、
    前記疑似乱数生成部によって生成された前記複数の疑似乱数の値に基づいて、所定の演算規則を生成する演算規則生成部と、
    前記所定の演算規則に基づいて、当該複数の疑似乱数を用いた演算を行い、それによって前記複数のスクランブル値を得る演算部と
    を有する、請求項1に記載のデータ処理装置。
  6. (A)第1群の複数のデータに対応して複数の疑似乱数を順に生成するステップと、
    (B)前記複数の疑似乱数に基づいて、前記第1群の複数のデータに続く第2群の複数のデータに対する複数のスクランブル値を生成するステップと、
    (C)前記複数のスクランブル値を用いて、前記第2群の複数のデータに対するスクランブル処理を行うステップと
    を備える、データ処理方法。
JP2006355395A 2006-12-28 2006-12-28 データ処理装置及びデータ処理方法 Pending JP2008165008A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006355395A JP2008165008A (ja) 2006-12-28 2006-12-28 データ処理装置及びデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006355395A JP2008165008A (ja) 2006-12-28 2006-12-28 データ処理装置及びデータ処理方法

Publications (1)

Publication Number Publication Date
JP2008165008A true JP2008165008A (ja) 2008-07-17

Family

ID=39694594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006355395A Pending JP2008165008A (ja) 2006-12-28 2006-12-28 データ処理装置及びデータ処理方法

Country Status (1)

Country Link
JP (1) JP2008165008A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009017416A1 (de) 2008-06-24 2009-12-31 Suzuki Motor Corp., Hamamatsu-Shi Gießform und Verfahren zum Herstellen eines Gießprodukts
JP2011530719A (ja) * 2008-08-06 2011-12-22 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー 不確定性ランダム値発生器
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
JP2019518397A (ja) * 2016-06-06 2019-06-27 アジャイルピーキュー, インコーポレイテッド データ変換システムおよび方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142387A (ja) * 1983-12-28 1985-07-27 富士通株式会社 乱数混合回路
JPH02259689A (ja) * 1989-03-30 1990-10-22 Matsushita Electric Ind Co Ltd データ転置装置
JPH10240500A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
JPH11338347A (ja) * 1998-05-29 1999-12-10 Hitachi Software Eng Co Ltd 暗号鍵生成方法および暗号化方法
JP2003037482A (ja) * 2001-01-23 2003-02-07 Hitachi Ltd 疑似乱数生成装置またはそれを用いた暗号復号処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142387A (ja) * 1983-12-28 1985-07-27 富士通株式会社 乱数混合回路
JPH02259689A (ja) * 1989-03-30 1990-10-22 Matsushita Electric Ind Co Ltd データ転置装置
JPH10240500A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
JPH11338347A (ja) * 1998-05-29 1999-12-10 Hitachi Software Eng Co Ltd 暗号鍵生成方法および暗号化方法
JP2003037482A (ja) * 2001-01-23 2003-02-07 Hitachi Ltd 疑似乱数生成装置またはそれを用いた暗号復号処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009017416A1 (de) 2008-06-24 2009-12-31 Suzuki Motor Corp., Hamamatsu-Shi Gießform und Verfahren zum Herstellen eines Gießprodukts
JP2011530719A (ja) * 2008-08-06 2011-12-22 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー 不確定性ランダム値発生器
JP2014178716A (ja) * 2008-08-06 2014-09-25 Cassy Holdings Llc 不確定性ランダム値発生器
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
JP2019518397A (ja) * 2016-06-06 2019-06-27 アジャイルピーキュー, インコーポレイテッド データ変換システムおよび方法

Similar Documents

Publication Publication Date Title
CN108964872B (zh) 一种基于aes的加密方法及装置
KR101623503B1 (ko) Lea 블록암호의 화이트박스 암호 구현 장치 및 방법
JP6714735B2 (ja) ランダムコード発生装置
US20070189518A1 (en) 3-D quaternion quantum fractal encryption
Sudeepa et al. A new approach for video steganography based on randomization and parallelization
JP2015130580A (ja) データスクランブル装置、セキュリティ装置、セキュリティシステム及びデータスクランブル方法
CN106598882A (zh) 一种安全的内存数据保护方法及装置
Hazra et al. File encryption using fisher-yates shuffle
US20200177380A1 (en) Seed key expansion method and its uses
JP2008165008A (ja) データ処理装置及びデータ処理方法
EP0996250A2 (en) Efficient block cipher method
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
CN113259089A (zh) 一种基于混沌原理和遗传算法结合的图像加密方法
US9058507B2 (en) Signal processor with an encrypting or decrypting device in a memory system
EP3182396A1 (en) Devices and methods for encryption and decryption of graphical 3d objects
JP5586758B1 (ja) 動的暗号化鍵生成システム
CN108777622B (zh) 一种二进制流散列取模加密解密方法
JP2011119985A (ja) 暗号復号方法
JP2005080279A (ja) パリティービットでデータに対して暗号保護を行なう装置及び方法
JP6296589B2 (ja) 暗号処理システム
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
JP2006279488A (ja) 暗号文生成装置、暗号文復号装置、暗号文生成プログラム及び暗号文復号プログラム
KR20110031822A (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
JP4727237B2 (ja) 演算装置およびコンピュータプログラム
US20050050341A1 (en) Device of applying protection bit codes to encrypt a program for protection

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Effective date: 20090224

Free format text: JAPANESE INTERMEDIATE CODE: A712

RD02 Notification of acceptance of power of attorney

Effective date: 20090224

Free format text: JAPANESE INTERMEDIATE CODE: A7422

RD04 Notification of resignation of power of attorney

Effective date: 20090224

Free format text: JAPANESE INTERMEDIATE CODE: A7424

A621 Written request for application examination

Effective date: 20090319

Free format text: JAPANESE INTERMEDIATE CODE: A621

RD01 Notification of change of attorney

Effective date: 20110621

Free format text: JAPANESE INTERMEDIATE CODE: A7421

A131 Notification of reasons for refusal

Effective date: 20111006

Free format text: JAPANESE INTERMEDIATE CODE: A131

A131 Notification of reasons for refusal

Effective date: 20111121

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120119

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120509

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120720