JP4997982B2 - データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム - Google Patents

データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP4997982B2
JP4997982B2 JP2007006880A JP2007006880A JP4997982B2 JP 4997982 B2 JP4997982 B2 JP 4997982B2 JP 2007006880 A JP2007006880 A JP 2007006880A JP 2007006880 A JP2007006880 A JP 2007006880A JP 4997982 B2 JP4997982 B2 JP 4997982B2
Authority
JP
Japan
Prior art keywords
matrix
address
data
random number
generated
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.)
Expired - Fee Related
Application number
JP2007006880A
Other languages
English (en)
Other versions
JP2008177654A (ja
JP2008177654A5 (ja
Inventor
健 飯塚
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2007006880A priority Critical patent/JP4997982B2/ja
Priority to US11/971,647 priority patent/US7912876B2/en
Publication of JP2008177654A publication Critical patent/JP2008177654A/ja
Publication of JP2008177654A5 publication Critical patent/JP2008177654A5/ja
Application granted granted Critical
Publication of JP4997982B2 publication Critical patent/JP4997982B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、データ処理装置、およびデータ処理方法、並びにプログラムに関する。さらに詳細には、例えば生体情報のテンプレートなどの秘匿性を要するデータ等の難読化や暗号化を実行するデータ処理装置、およびデータ処理方法、並びにプログラムに関する。
近年、指紋や静脈等の生体情報を利用したバイオメトリクス認証技術が注目を集めている。一般的なバイオメトリクス認証処理は、予めシステムに登録された生体情報の特徴量(テンプレート)と、ユーザがシステムに新たに読み取らせた生体情報から取得した特徴量との比較照合を行なう処理として行われる。このようなバイオメトリクス認証システムにおいては、登録されたテンプレート情報が漏洩を防ぐためにテンプレートを暗号化する等、安全な形でシステム内の記憶部にデータを保存しておく必要がある。
データ漏洩を防止する一つの手法として、オリジナルデータをあるルールに従って変更して難読化する手法がある。例えば、ストリームデータのようなビット列を難読化する手法としてはPN(Pseudorandom Noise)系列を利用してデータを難読化する手法が知られている。PN系列はシフトレジスタと適当な帰還タップを設けることで生成出来る。
PN系列を利用したデータ難読化により秘密情報をデータベースに記録するシステム構成について、図を参照して説明する。図1は、例えば、指紋や静脈等の生体情報を入力して、このデータをPN系列を利用してエンコード(暗号化(難読化))を行いデータベースに登録する認証システム10の構成例を示している。
ユーザの指紋情報等が入力手段11を介して入力され、エンコード/デコード手段12が、入力手段11からのデータと、PN系列生成手段13からPN系列を入力して、これらの2つのデータに基づくエンコード(暗号化(難読化))を行いデータベース14に登録する。照合時には、エンコード/デコード手段12が、データベース14に登録されたエンコードデータを取得して、エンコードデータとPN系列生成手段13の発生するPN系列とに基づくデコード処理を実行して、デコード結果を照合手段15に出力する。照合手段15は、デコード結果と、新たに入力手段11を介して入力されたデータとの照合処理を実行する。
図1に示すPN系列生成手段13は、擬似乱数を生成する手段である。図2(1)に、周期7のPN系列を生成するシフトレジスタと帰還タップ構成の例を示す。3つのシフトレジスタSRa21、SRb22、SRc23と、排他的論理和演算(Exclusive OR)部24によって構成されている。シフトレジスタ21の値は、シフトレジスタ22に出力され、シフトレジスタ22の値は、シフトレジスタ23に出力され、シフトレジスタ23の値は、排他的論理和演算部24に入力され、シフトレジスタ21の値との排他論理和演算が実行され、その結果がシフトレジスタ21に入力される。これら各シフトレジスタ間のデータ入出力は、所定のクロックタイミングに基づいて制御されることになる。
図2(2)は、3つのシフトレジスタSRa21、SRb22、SRc23の保持データの推移を示している。レジスタを順にシフトさせていくと、図中のビット並びで示したように周期7で元の状態に戻っていることが分かる。PN系列の特徴は、シフトレジスタ内のデータが全て0というパターンを除く全ての状態を取り得るため、周期は2の(シフトレジスタの段数)乗−1となる。図2の場合は、シフトレジスタの段数が3なので、周期は、
−1=7となる。
図3にPN系列を利用したデータのエンコード処理とデコード処理の例について説明する。例えば、認証システムにおいて、生体情報の特徴量(テンプレート)をデータベースに格納する場合、先に図1を参照して説明したように、入力手段11からのデータと、PN系列生成手段13からPN系列を入力して、これらの2つのデータに基づくエンコード(暗号化(難読化))を行いデータベース14に登録する。
図3(1)に示すエンコード処理において、
(1a)入力ビット列が、例えば生態情報の特徴量に対応するエンコード対象となる図1の入力手段11からの入力データ、
(1b)PN系列が、図1に示すPN系列生成手段13から入力されるPN系列データ、
(1c)エンコード結果が、図1に示すエンコード/デコード手段12において、入力ビットとPN系列に基づいて生成されるエンコードデータである。
エンコード/デコード手段12は、エンコード処理において、入力ビット列と、PN系列との排他的論理和を実行して、エンコード結果を得る。例えば、入力ビット列と、PN系列の第1番目のビットは、0と1であり、
0(XOR)1=1
となる。(XOR)は排他的論理和演算を示すものとする。
第2番目のビットは、0と0であり、
0(XOR)0=0
以下同様に入力ビット列と、PN系列の対応ビットの排他的論理和を実行して、
として、(1c)エンコード結果を生成する。このエンコード結果が、図1に示すデータベース14に格納される。
このように、(1c)エンコード結果は元のビット列、すなわち、(1a)入力ビット列とは全く異なる形となる。
一方、図3(2)に示すデコード処理において、
(2a)エンコードビット列は、図1に示すデータベース14に格納されたエンコード結果であり、図3(1c)エンコード結果に相当する。
(2b)PN系列は、図1に示すPN系列生成手段13から入力されるPN系列データ、
(2c)デコード結果が、図1に示すエンコード/デコード手段12において、(2a)エンコードビット列と(2b)PN系列に基づいて生成されるデコードデータである。
エンコード/デコード手段12は、デコード処理においても、(2a)エンコードビット列と(2b)PN系列との排他的論理和を実行して、デコード結果を得る。なお、エンコード時とデコード時に利用するPN系列は同じPN系列である。この結果(2c)デコード結果は、(1a)入力ビット列と同一であり、元のビット列が再現されていることが分かる。
上述したPN系列を利用したエンコード/デコード手法は、比較的簡単な構成であり、ハードウェアとしても簡易に実現されるので非常に使いやすい反面、PN系列によって生成されたビット列中のある程度の長さ(具体的にはシフトレジスタ段数の2倍の長さ)のビット並びが分かってしまうと、そのPN系列情報から帰還タップの状況を推測することが可能なため、同じPN系列を用いて生成したビット列とエンコードされたビット列との間で総当り的に排他的論理和を取ることで、元のビット列を再現されてしまう危険性が存在する。なお、この解析手法は、「Berlekamp−Massey」アルゴリズムとして知られている。
このように、PN系列を用いたデータの暗号化、難読化手法は、簡易な構成であり利用し易いというメリットを持つ一方で、PN系列情報の漏洩に基づいて、入力データの解析が可能になるというセキュリティの面での脆弱さを有する。
本発明は、例えば上述のような問題点を解決するものであり、PN系列を用いたデータの暗号化、難読化手法を適用した構成において、オリジナルデータの解析困難性を高めたデータ処理装置、およびデータ処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
エンコード処理対象となる入力データを入力する入力手段と、
第1擬似乱数を生成する第1擬似乱数生成手段と、
第2擬似乱数を生成する第2擬似乱数生成手段と、
前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定するアドレス決定手段と、
前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成するマトリクス生成手段と、
前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行してエンコードデータを生成するエンコード手段と、
を有することを特徴とするデータ処理装置にある。
さらに、本発明のデータ処理装置の一実施態様において、前記アドレス決定手段は、前記マトリクスアドレス候補値と、前記マトリクス生成手段の生成するマトリクスの最大アドレスを比較し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合は、マトリクス生成に適用するアドレスとして利用し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、マトリクス生成に適用するアドレスとして利用しない処理を実行する構成であることを特徴とする。
さらに、本発明のデータ処理装置の一実施態様において、前記マトリクス生成手段は、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数の構成ビット値に基づく画素値を前記アドレス候補値の指定位置に設定し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、前記第1擬似乱数の構成ビット値に基づく画素値をマトリクス生成処理に利用しない構成であることを特徴とする。
さらに、本発明のデータ処理装置の一実施態様において、前記アドレス決定手段は、前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列から選択するビット列を順次シフとして、複数のマトリクスアドレス候補値を順次決定する処理を実行する構成であり、前記マトリクス生成手段は、前記アドレス決定手段の決定するマトリクスアドレス候補値に対応して、前記第1擬似乱数の構成ビット値を順次シフトしながら選択し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数から選択したビット値に基づく画素値を前記アドレス候補値の指定位置に設定する処理を実行する構成であることを特徴とする。
さらに、本発明のデータ処理装置の一実施態様において、前記第2擬似乱数生成手段は、前記マトリクス生成手段の生成するマトリクスを構成するために必要となるマトリクスアドレス数以上の周期からなる擬似乱数を生成する構成であることを特徴とする。
さらに、本発明のデータ処理装置の一実施態様において、前記第1擬似乱数生成手段、および前記第2擬似乱数生成手段は、PN(Pseudorandom Noise)系列生成手段によって構成されていることを特徴とする。
さらに、本発明のデータ処理装置の一実施態様において、前記データ処理装置は、さらに、前記マトリクス生成手段の生成したマトリクスと、前記エンコード手段の生成したエンコードデータとの対応位置データとの排他的論理和演算を実行してデコードデータを生成するデコード手段と、前記デコード手段の生成したデコードデータと、前記入力手段から入力される入力データとの照合処理を実行する照合手段と、を有することを特徴とする。
さらに、本発明の第2の側面は、
データ処理装置におけるデータ処理方法であり、
入力手段が、エンコード処理対象となる入力データを入力するデータ入力ステップと、
第1擬似乱数生成手段が、第1擬似乱数を生成する第1擬似乱数生成ステップと、
第2擬似乱数生成手段が、第2擬似乱数を生成する第2擬似乱数生成ステップと、
アドレス決定手段が、前記第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定するアドレス決定ステップと、
マトリクス生成手段が、前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成するマトリクス生成ステップと、
エンコード手段が、前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行してエンコードデータを生成するエンコードステップと、
を有することを特徴とするデータ処理方法にある。
さらに、本発明のデータ処理方法の一実施態様において、前記アドレス決定ステップは、さらに、前記マトリクスアドレス候補値と、前記マトリクス生成手段の生成するマトリクスの最大アドレスを比較し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合は、マトリクス生成に適用するアドレスとして利用し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、マトリクス生成に適用するアドレスとして利用しない処理を実行するステップを含むことを特徴とする。
さらに、本発明のデータ処理方法の一実施態様において、前記マトリクス生成ステップは、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数の構成ビット値に基づく画素値を前記アドレス候補値の指定位置に設定し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、前記第1擬似乱数の構成ビット値に基づく画素値をマトリクス生成処理に利用しないことを特徴とする。
さらに、本発明のデータ処理方法の一実施態様において、前記アドレス決定ステップは、前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列から選択するビット列を順次シフとして、複数のマトリクスアドレス候補値を順次決定する処理を実行するステップを含み、前記マトリクス生成ステップは、前記アドレス決定ステップにおいて決定するマトリクスアドレス候補値に対応して、前記第1擬似乱数の構成ビット値を順次シフトしながら選択し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数から選択したビット値に基づく画素値を前記アドレス候補値の指定位置に設定する処理を実行することを特徴とする。
さらに、本発明のデータ処理方法の一実施態様において、前記第2擬似乱数生成ステップは、前記マトリクス生成手段の生成するマトリクスを構成するために必要となるマトリクスアドレス数以上の周期からなる擬似乱数を生成することを特徴とする。
さらに、本発明のデータ処理方法の一実施態様において、前記第1擬似乱数生成ステップ、および前記第2擬似乱数生成ステップは、PN(Pseudorandom Noise)系列を生成するステップであることを特徴とする。
さらに、本発明のデータ処理方法の一実施態様において、前記データ処理方法は、に、デコード手段が、前記マトリクス生成手段の生成したマトリクスと、前記エンコード手段の生成したエンコードデータとの対応位置データとの排他的論理和演算を実行してデコードデータを生成するデコードステップと、照合手段が、前記デコード手段の生成したデコードデータと、前記入力手段から入力される入力データとの照合処理を実行する照合ステップと、を有することを特徴とする。
さらに、本発明の第3の側面は、
データ処理装置におけるデータ処理を実行させるコンピュータ・プログラムであり、
入力手段に、エンコード処理対象となる入力データを入力させるデータ入力ステップと、
第1擬似乱数生成手段に、第1擬似乱数を生成させる第1擬似乱数生成ステップと、
第2擬似乱数生成手段に、第2擬似乱数を生成させる第2擬似乱数生成ステップと、
アドレス決定手段に、前記第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定させるアドレス決定ステップと、
マトリクス生成手段に、前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成させるマトリクス生成ステップと、
エンコード手段に、前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行させてエンコードデータを生成させるエンコードステップと、
を実行させることを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成は、マトリクスを利用したエンコード、デコード処理を実行する構成であり、ある1つのPN系列生成手段が生成したPN系列の構成ビット情報を、他のPN系列生成手段の生成したPN系列から決定されたアドレスに従ってマトリクス上でランダムに配置したマトリクスを利用したエンコード、デコード処理を実行する構成とした。本構成によればマトリクス上のビット並びから元のPN系列生成手法を推測することが困難となり、データ漏洩の可能性を低減した安全性の高いデータ処理が可能となる。また、第1PN系列の全てのビット値をマトリクス構成データとして使用せず、第2PN系列のアドレス値に応じてマトリクス構成データとしての利用有無を決定する構成としたので、マトリクス構成ビットデータが元のPN系列データと等しくならずオリジナルPN系列の解析や、エンコードデータからのオリジナルデータの解析困難性が高まり、安全性の高いデータ処理システムが実現される。
以下、図面を参照しながら本発明のデータ処理装置、画像信号処理装置、および方法、並びにコンピュータ・プログラムの詳細について説明する。
図4を参照して本発明のデータ処理装置の一実施例としての認証システム100の構成について説明する。図4に示す認証システムは、先に図1を参照して説明したシステムと同様、例えばユーザの指紋や静脈等の生体情報などを利用したバイオメトリクス認証処理を行なうシステムであり、擬似乱数(PN系列)を利用したデータ難読化により秘密情報をデータベースに記録する認証システム100である。
ユーザの指紋情報等が入力手段101を介して入力され、エンコード/デコード手段106が、入力手段101からのデータを入力し、さらに、マトリクス生成手段105からマトリクスデータを入力して、これらの2つのデータに基づくエンコード(暗号化(難読化))を行いデータベース107に登録する。照合時には、エンコード/デコード手段106が、データベース107に登録されたエンコードデータを取得して、エンコードデータと、マトリクス生成手段105からマトリクスデータを入力して、これらの2つのデータに基づくデコード(復号)処理を実行して、デコード結果を照合手段108に出力する。照合手段108は、デコード結果と、新たに入力手段101を介して入力されたデータとの照合処理を実行する。
図1の構成と異なるのは、エンコード/デコード手段106が、エンコード処理やデコード処理において、PN系列生成手段の生成するPN系列を適用するのではなく、
マトリクス生成手段105の生成するマトリクスを利用する点である。
マトリクス生成手段105は、図4に示す第1の擬似乱数生成手段である第1PN系列生成手段102からPN系列データを入力する。さらに、第2の擬似乱数生成手段である第2PN系列生成手段103の生成する第2PN系列データがアドレス決定手段104に入力され、アドレス決定手段104が、第2PN系列生成手段103の生成する第2PN系列データに基づいてアドレスを生成する。
マトリクス生成手段105は、第1PN系列生成手段102から入力するPN系列データと、アドレス決定手段104が第2PN系列生成手段103の生成する第2PN系列データに基づいて生成したアドレスを入力してマトリクスデータを生成する。
マトリクス生成手段105は、「0」、「1」のいずれかで構成されたマトリクスデータを生成する。第1PN系列生成手段102、第2PN系列生成手段103の構成は、先に図2を参照して説明したと同様の構成であり、例えば図5に示すように、n段のシフトレジスタ151−1〜nと排他的論理和演算部152によって構成される。ただし、シフトレジスタの段数nは、第1PN系列生成手段102と、第2PN系列生成手段103とで等しくする必要はない。なお、第2PN系列生成手段103のシフトレジスタの段数はマトリクスの構成画素数に応じて決定するのが好ましい。この理由、および具体的なマトリクス生成処理については後述する。
次に、図6を参照して、エンコード/デコード手段106におけるマトリクスデータを利用した入力データのエンコード処理例について説明する。図6(a)は、入力データであり、例えば、ユーザの静脈情報の二値化された画像データである。この画像が例えば認証時の照合処理に適用されるテンプレート情報であり、これをエンコードしてデータベースに格納する。
図6(b)は(a)入力データと同じサイズで生成したマトリクスデータの例である。図4に示すマトリクス生成手段105が生成する。
図6(a)、(b)ともに、各画素の黒色は「0」を白色は「1」を表している。
図6(c)エンコード結果データは、(a)と(b)との間で対応画素ごとに排他的論理和演算を行った結果である。
エンコード処理について図7を参照して説明する。図7(a)〜(c)は、図6(a)〜(c)と同様、
(a)入力データ、
(b)マトリクスデータ、
(c)エンコード結果データ、
を示している。
図7には各データの対応画素をそれぞれ3点のみ示してある。
(a)入力データの画素211は黒画素であり、ビット値=[0]、
(b)マトリクスデータの対応点の画素221は黒画素であり、ビット値=[0]、
である。
(c)エンコード結果データにおける対応画素231の画素値は、
(a)入力データの画素211のビット値[0](黒)と、(b)マトリクスデータの対応点画素221のビット値[0](黒)との排他的論理和結果、すなわち、
0(XOR)0=0
となり、ビット値[0]=黒画素として設定される。
他の対応画素についても同様であり、
(c)エンコード結果データにおける画素232の画素値は、
(a)入力データの画素212のビット値[1](白)と、(b)マトリクスデータの対応点画素222のビット値[0](黒)との排他的論理和結果、すなわち、
1(XOR)0=1
となり、ビット値[1]=白画素として設定される。
さらに、(c)エンコード結果データにおける画素233の画素値は、
(a)入力データの画素213のビット値[1](白)と、(b)マトリクスデータの対応点画素223のビット値[1](白)との排他的論理和結果、すなわち、
1(XOR)1=0
となり、ビット値[0]=黒画素として設定される。
例えば、(a)入力データ、(b)マトリクスデータともに、図7に示すように横60画素×縦160画素の計9600画素とすると、各対応画素ごとの9600個の排他的論理和演算によって、(c)エンコード結果データの9600画素の画素値が決定されることになる。
このように、本発明のデータ処理装置におけるエンコード処理は、エンコード/デコード手段106におけるマトリクスデータを利用した処理として実行され、
[入力データの画素値](XOR)[マトリクスデータ]=[エンコード結果データ]
として算出される。
このデータが、図4に示す構成におけるデータベース107に格納される。
また、デコード処理も、エンコード/デコード手段106におけるマトリクスデータを利用した処理として実行される。すなわち、(c)エンコード結果データと、(b)マトリクスデータの排他的論理和演算を実行してデコード結果を得る。
[エンコード結果データ](XOR)[マトリクスデータ]=[デコード結果データ]
としてデコード結果が算出される。
排他的論理和演算を2度行うと元に戻る性質があるため、[デコード結果データ]は、(a)入力データと同じデータとなる。
本発明の構成では、PN系列を用いるのではなく、上述したようにマトリクスデータを適用したエンコードおよびデコード処理を実行する。従って、マトリクスデータの生成手法を秘匿しておくことにより、エンコードデータの安全性を確保することが出来る。
先に図1〜図3を参照して説明したPN系列を直接適用したエンコードデータ生成処理は、上述したマトリクスデータの利用処理として説明すると、図8に示す設定となる。
図8(a)が、入力データであり、図8(b1)が例えば図1に示す構成のPN系列生成手段13の生成するPN系列データであり、図8(b2)が、このPN系列データをそのまま、画素順に縦に並べて生成したマトリクスデータである。縦160画素×横60画素の画像サイズを例にとった場合の例である。図8(b2)のマトリクスデータは、PN系列で生成したビット列を単純に画素アドレス順に配置した例である。図1に示す構成におけるエンコード/デコード手段12は、図8(a)入力データと、図8(b2)マトリクスデータとの対応画素の排他的論理和演算を実行してエンコード結果を得るという処理を行っている。
しかし、このようにPN系列生成手段の生成するPN系列をそのまま入力データとの排他的論理和演算に利用してエンコード結果を得る構成では、前述のようにPN系列生成手段の生成するPN系列データの連続したビット並びをある程度の長さ分抽出することでPN系列生成のためのシフトレジスタ、帰還タップの構成を推測することが出来る。この解析が成功してしまうと全く同じマトリクスを再現される可能性がある。同じマトリクスを再現されてしまうということは、データベースに格納されたエンコード結果データから入力データを生成するデコード処理が可能になることを意味する。これでは、エンコードした画像データの安全性が確保されているとは到底言えない。
本発明のデータ処理装置では、このような解析処理を困難としたマトリクス生成処理を実行する。すなわち、より秘匿性の高いマトリクス生成手法を適用する。以下、本発明のマトリクス生成方法について、図9以下を参照して説明する。
図9は、図4に示すシステムにおける
第1PN系列生成手段102、
第2PN系列生成手段103、
アドレス決定手段104、
マトリクス生成手段105、
これらの各構成における処理を説明する図である。
マトリクス生成手段105は、縦160画素×横60画=9600画素の画像データに相当するマトリクスを生成する。
第1PN系列生成手段102は、マトリクスに配置する画素値情報としての構成ビット情報からなるビット列を第1PN系列として生成する。
例えば第1PN系列生成手段102の生成する第1PN系列を、図に示すように、
[101001001001・・・]
とした場合、
マトリクス生成手段102には、
第1PN系列[101001001001・・・]の先頭から順に1ビットずつ入力される。
最初の第1ビットは[1]であり、これは、例えば(白)を意味する。
次の第2ビットは[0]であり、これは、例えば(黒)を意味する。
次の第3ビットは[1]であり、これは、例えば(白)を意味する。
これらは、マトリクス生成手段105の生成するマトリクスの1つの構成画素の画素値候補として設定される。
ただし、実際にマトリクスの1つの構成画素の画素値として設定されるのは、アドレス決定手段104から有効なマトリクスアドレスがマトリクス生成手段105に入力された場合のみである。アドレス決定手段104から有効なマトリクスアドレスがマトリクス生成手段105に入力された場合に、そのアドレス位置に、第1PN系列生成手段102から入力するビット情報に従った画素値(1=白,0=黒)が設定される。
マトリクスアドレス決定処理は、アドレス決定手段104において実行される。アドレス決定手段104は、第2PN系列生成手段103の生成する第2PN系列データを入力する。
第2PN系列生成手段103の生成する第2PN系列データが、図に示すように、
[00110101000111001011・・]
とする。
アドレス決定手段104は、この第2PN系列データを入力して、予め定められた連続ビットを選択する。まず、先頭から14ビットを選択する。この先頭14ビットの示す数値が最初のマトリクスアドレスとして利用される。この例では、最初のマトリクスアドレスは、
[00110101000111]
となる。これは、10進数として示すと、
[14508]
となる。
マトリクスアドレスについて、図10を参照して説明する。マトリクスアドレスは、マトリクス生成手段105の生成するマトリクスの画素位置を示す。図10に示す例では、縦160画素×横60画=9600画素の画像データに相当するマトリクスであり、アドレスは、左上端を[1]として、以下、下方向に1つずつ増加して、最下段に至ると右列の上端から[161]のアドレスとなり、右下端の画素アドレスが[9600]とする設定とされる。
この例では、縦160画素×横60画=9600画素のマトリクスであり、
アドレスは1〜9600が有効アドレスとして利用される。
従って、図9を参照して説明したアドレス決定手段104の生成する最初のマトリクスアドレス、
[00110101000111]=[14508]
は、9600を超えているので、無効となる。
この場合、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の最初の第1ビットは[1]=(白)は、マトリクス生成手段105の生成するマトリクスの構成画素情報としては利用されないことになる。
なお、アドレス決定手段104は、第2PN系列データを入力して、予め定められた連続ビットを選択すると説明したが、本例では、連続14ビットを選択する設定としている。これは、マトリクスの構成画素数=9600に基づいて決定されるものであり
14≧9600≧213
であるので、アドレスデータ1〜9600が得られるビットデータ数を選択するためである。
なお、図11以下を参照して、順次、説明するが、アドレス決定手段104は、第2PN系列データから、
第1アドレス:第1〜14ビット、
第2アドレス:第2〜15ビット、
第3アドレス:第3〜16ビット、
第4アドレス:第4〜17ビット、
・・・
という設定で、順次アドレスを決定する。この各14ビットデータにおいて1〜9600である場合に有効アドレスとしてマトリクス生成手段105が画素位置を決定する。
マトリクスの構成画素1〜9600を全て埋めるためには、1〜9600のアドレスが生成されることが必要となる。この1〜9600のアドレス生成が保証されるためには、第2PN系列生成手段103の生成する第2PN系列データの周期が一定以上であることが必要となる。この場合、第2PN系列生成手段103の生成する第2PN系列データの周期が9600以上であることが必要である。実施例では、第2PN系列生成手段103の生成する第2PN系列データの周期は[214−1]として設定している。先に説明したように、PN系列の特徴は、シフトレジスタ内のデータが全て0というパターンを除く全ての状態を取り得るため、周期は2の(シフトレジスタの段数)乗−1となる。図2の場合は、シフトレジスタの段数が3なので、周期は、
−1=7となる。
従って、第2PN系列データの周期を[214−1]とする場合は、シフトレジスタの段数=14とすればよい。
図11を参照して、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第2ビット[0]=(黒)に対応する処理について説明する。
図11において、第1PN系列生成手段102の生成する第1PN系列の第2ビット[0]=(黒)は、マトリクス生成手段105の生成するマトリクスの1つの構成画素の画素値候補として設定される。
アドレス決定手段104は、第2PN系列生成手段103の生成する第2PN系列データ、すなわち、
[00110101000111001011・・]
この第2PN系列データを入力して、
第2ビット〜第15ビットの14ビットを選択する。この14ビットの示す数値が
第1PN系列の第2ビット[0]=(黒)のマトリックス配置位置としてのマトリクスアドレスとして利用される。この例では、マトリクスアドレスは、
[01101010001110]
となる。これは、10進数として示すと、
[7254]
となる。
[7254]は、マトリクスの最大アドレス[9600]以下となるので、有効アドレスとして利用される。この場合、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第2ビット[0]=(黒)は、マトリクス生成手段105の生成するマトリクスの構成画素情報として利用され、アドレス決定手段104の決定したアドレス、
[01101010001110]=[7254]
の示すアドレス位置に
[0]=(黒)
が設定される。
次に図12を参照して、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第3ビット[1]=(白)に対応する処理について説明する。
図12において、第1PN系列生成手段102の生成する第1PN系列の第3ビット[1]=(白)は、マトリクス生成手段105の生成するマトリクスの1つの構成画素の画素値候補として設定される。
アドレス決定手段104は、第2PN系列生成手段103の生成する第2PN系列データ、すなわち、
[00110101000111001011・・]
この第2PN系列データを入力して、
第3ビット〜第16ビットの14ビットを選択する。この14ビットの示す数値が
第1PN系列の第3ビット[1]=(白)のマトリックス配置位置としてのマトリクスアドレスとして利用される。この例では、マトリクスアドレスは、
[11010100011100]
となる。これは、10進数として示すと、
[3627]
となる。
[3627]は、マトリクスの最大アドレス[9600]以下となるので、有効アドレスとして利用される。この場合、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第3ビット[1]=(白)は、マトリクス生成手段105の生成するマトリクスの構成画素情報として利用され、アドレス決定手段104の決定したアドレス、
[11010100011100]=[3627]
の示すアドレス位置に
[1]=(白)
が設定される。
次に図13を参照して、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第4ビット[0]=(黒)に対応する処理について説明する。
図13において、第1PN系列生成手段102の生成する第1PN系列の第4ビット[0]=(黒)は、マトリクス生成手段105の生成するマトリクスの1つの構成画素の画素値候補として設定される。
アドレス決定手段104は、第2PN系列生成手段103の生成する第2PN系列データ、すなわち、
[00110101000111001011・・]
この第2PN系列データを入力して、
第4ビット〜第17ビットの14ビットを選択する。この14ビットの示す数値が
第1PN系列の第4ビット[0]=(黒)のマトリックス配置位置としてのマトリクスアドレスとして利用される。この例では、マトリクスアドレスは、
[10101000111001]
となる。これは、10進数として示すと、
[10005]
となる。
[10005]は、マトリクスの最大アドレス[9600]を超えているので、有効アドレスとして利用されず、無効となる。この場合は、第1PN系列生成手段102の生成する第1PN系列、
[101001001001・・・]
の第4ビット[0]=(黒)は、マトリクス生成手段105の生成するマトリクスの構成画素情報として利用されない。
この処理を順次、実行していくことで、マトリクス生成手段の生成する縦160画素×横60画=9600画素の画像データの全画素値が設定されることになる。これは、先に説明したように、PN系列の特徴は、シフトレジスタ内のデータが全て0というパターンを除く全ての状態を取るため、第2PN系列データの周期を[214−1]とした場合、
第1〜14ビット、
第2〜15ビット、
第3〜16ビット、
・・・
という設定でビットデータを選択していくと、[214−1]=16383のパターンが出現することになるからである。このように第2PN系列生成手段103の生成する第2PN系列データは1周期の中で1〜16383の全ての値を取り得るため、1周期分の処理が終わった時点では確実にマトリクス上の全てのアドレスに対するビットが確定することになる。
このようにして生成したマトリクスデータが、例えば、先に図6を参照して説明した(b)マトリクスデータとなる。図4に示すマトリクス生成手段105は、このようにして第1PN系列生成手段102の生成する第1PN系列の構成ビットをマトリクス構成画素値として利用し、第2PN系列生成手段103の生成する第2PN系列の構成ビットをマトリクスアドスとして利用してマトリクス画素を「0」、「1」のいずれかで構成されたマトリクスデータを生成する。
図4に示すエンコード/デコード手段106は、このようにして生成されたマトリクスデータを利用した入力データのエンコード、デコード処理を実行する。すなわち、先に図6、図7を参照して説明したように、エンコード処理は、エンコード/デコード手段106におけるマトリクスデータを利用した処理として実行され、
[入力データの画素値](XOR)[マトリクスデータ]=[エンコード結果データ]
として算出される。
このデータが、図4に示す構成におけるデータベース107に格納される。
また、デコード処理も、エンコード/デコード手段106におけるマトリクスデータを利用した処理として実行される。すなわち、(c)エンコード結果データと、(b)マトリクスデータの排他的論理和演算を実行してデコード結果を得る。
[エンコード結果データ](XOR)[マトリクスデータ]=[デコード結果データ]
としてデコード結果が算出される。
排他的論理和演算を2度行うと元に戻る性質があるため、[デコード結果データ]は、(a)入力データと同じデータとなる。
次に、図14に示すフローチャートを参照して本発明のデータ処理装置において実行する入力データのエンコード処理のシーケンスについて説明する。まず、ステップS101においてエンコード対象とするデータ、例えば上述した例では、静脈情報からなる画像データを入力する。これは、図4の構成図における入力手段101を介して入力される。
次に、ステップS102において、図4の構成図における第1PN系列生成手段102が第1PN系列データを生成する。この第1PN系列データは、先に説明したようにマトリクス生成手段105において生成するマトリクスデータの構成画素の画素値指定情報として利用されるデータである。例えば0=黒、1=白とする。なお、実施例では、0=黒、1=白とする設定例を説明したが、逆の設定としてもよく、また、白、黒以外のデータを対応させてもよい。
ステップS103は、図4の構成図における第2PN系列生成手段103において第2PN系列データを生成するステップである。この第2PN系列データは、先に説明したようにマトリクス生成手段105において生成するマトリクスデータのアドレス(マトリクスアドレス)として利用される。
ステップS104は、図4の構成図におけるアドレス決定手段104の処理であり、ステップS103において第2PN系列生成手段103の生成する第2PN系列データから予め決定された所定の連続ビットを順次選択してマトリクスアドレス値とする処理である。アドレス決定手段104は、さらにステップS105において、第2PN系列データから選択したビット情報によって構成されるマトリクスアドレス値が、マトリクス生成手段105において生成するマトリクスの最大アドレス以下の数値であるか否かを判定する。上述した実施例では、マトリクス生成手段105において生成するマトリクスは、60×160=9600の画素数であり、マトリクスアドレスとして1〜9600が有効となり、第2PN系列データから選択したビット情報によって構成されるマトリクスアドレス値が9600以下であるか否かを判定することになる。
第2PN系列データから選択したビット情報によって構成されるマトリクスアドレス値が最大マトリクスアドレス以下である場合は、ステップS106に進み、最大マトリクスアドレス以下でない場合は、ステップS111に進む。ステップS111では、ビットシフト処理を実行する。このビットシフト処理は、以下の2つの処理によって構成される。
(a)第1PN系列生成手段102が生成する第1PN系列データからの画素値用の選択ビットを1つずらす処理、
(b)第2PN系列生成手段103が生成する第2PN系列データからのアドレス用の選択ビット領域を1つずらす処理、
これらのビットシフトを実行する。これらのビットシフトの後、ステップs104以下の処理を繰り返し実行する。
一方、第2PN系列データから選択したビット情報によって構成されるマトリクスアドレス値が最大マトリクスアドレス以下である場合は、ステップS106に進み、ステップS106において、第2PN系列に基づいて決定されたマトリクスアドレスの指定アドレス位置に第1PN系列から選択されたビット情報に基づくデータ(例えば、[1]=白、[0]=黒)を設定する。この処理は、図4に示すマトリクス生成手段105において実行される。
次に、ステップS107において、マトリクス生成手段105は、マトリクス上の全アドレス位置(例えば1〜9600)にデータ(画素値)が設定されたか否かを判定する。未処理のアドレスがある場合は、ステップS111に進み、前述したビットシフト処理を実行した後、ステップS104以下の処理を繰り返し実行する。
ステップS107において、マトリクス上の全アドレス位置(例えば1〜9600)にデータ(画素値)が設定されたと判定された場合は、ステップS108に進み、図4に示すエンコード/デコード手段106がステップS101において入力した入力データと、生成したマトリクスデータとの対応画素の排他的論理和演算を実行してエンコードデータを生成する。この処理によって、先に、図6を参照して説明したエンコードデータが生成される。
このようにして生成されたエンコードデータが記憶部に格納される。なお、照合処理に際しては、エンコード/デコード手段106がエンコードデータとマトリクスデータとの排他的論理和演算を実行して、入力データを再現し、照合手段108において新たに入力された入力データとの照合処理が実行される。エンコードデータに対してデコード処理を行なう場合には、第1PN系列、第2PN系列ともにシフトレジスタの初期値をエンコード時と同じ値にすることにより、エンコード時と全く同じマトリクスを生成することで元の画像データを復元することが出来る。
このようにデコード処理において利用するマトリクスは、エンコード処理において利用したマトリクスと同じマトリクスを利用する。このマトリクスはエンコード時に生成したものを記憶部に格納しておいてもよいし、あるいはデコード処理に際して、エンコード処理において生成したと同様のシーケンスに従ったマトリクス生成処理を実行して同じマトリクスを生成する構成としてもよい。
本発明に従ったマトリクスを利用したエンコード、デコード処理では、ある1つのPN系列生成手段が生成したビット列が、他のPN系列生成手段の生成したアドレスに従ってマトリクス上でランダムに配置されることになり、マトリクス上のビット並びから元のPN系列生成手法を推測することが著しく困難となる。従って、エンコード時と全く同じマトリクスを生成して画像データを復元される危険性を大きく低減することが可能となる。また、第1PN系列の全てのビットを画素値として使用するのではなく、第2PN系列のアドレス値に応じて、マトリクス上の画素値として配置される場合と配置されない場合とが発生することになるので、万が一マトリクス生成時に順次使用されたビットデータの列が解析されたとしても元のPN系列データとは異なることになるため、元のPN系列の解析はほぼ不可能であり、マトリクス生成手法の推測は困難となる。
さらに、マトリクスのビット列生成用の第1PN系列、アドレス生成用の第2PN系列ともにシフトレジスタの初期値を変化させることにより、生成されるビット列、アドレスをランダムな順序に変化させることが可能であり、毎回あるいは適宜、これらの初期値の変更を行えばマトリクス生成手法の秘匿性をより一層高めることが可能となる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成はマトリクスを利用したエンコード、デコード処理を実行する構成であり、ある1つのPN系列生成手段が生成したPN系列の構成ビット情報を、他のPN系列生成手段の生成したPN系列から決定されたアドレスに従ってマトリクス上でランダムに配置したマトリクスを利用したエンコード、デコード処理を実行する構成とした。本構成によればマトリクス上のビット並びから元のPN系列生成手法を推測することが困難となり、データ漏洩の可能性を低減した安全性の高いデータ処理が可能となる。また、第1PN系列の全てのビット値をマトリクス構成データとして使用せず、第2PN系列のアドレス値に応じてマトリクス構成データとしての利用有無を決定する構成としたので、マトリクス構成ビットデータが元のPN系列データと等しくならずオリジナルPN系列の解析や、エンコードデータからのオリジナルデータの解析困難性が高まり、安全性の高いデータ処理システムが実現される。
PN系列を利用してエンコード(暗号化(難読化))を行いデータベースに登録する認証システムの構成例を示す図である。 PN系列生成手段の構成例および周期について説明する図である。 PN系列を利用したデータのエンコード処理とデコード処理の例について説明する図である。 本発明のデータ処理装置の一実施例としての認証システムの構成について説明する図である。 PN系列生成手段の構成例について説明する図である。 エンコード/デコード手段におけるマトリクスデータを利用した入力データのエンコード処理例について説明する図である。 エンコード/デコード手段におけるマトリクスデータを利用した入力データのエンコード処理例について説明する図である。 PN系列を直接適用したエンコードデータ生成処理をマトリクスデータの利用処理として説明する図である。 本発明におけるマトリクス生成処理例について説明する図である。 マトリクスアドレスについて説明する図である。 本発明におけるマトリクス生成処理例について説明する図である。 本発明におけるマトリクス生成処理例について説明する図である。 本発明におけるマトリクス生成処理例について説明する図である。 本発明のデータ処理装置において実行する入力データのエンコード処理のシーケンスについて説明するフローチャートを示す図である。
符号の説明
10 認証システム
11 入力手段
12 エンコード/デコード手段
13 PN系列生成手段
14 データベース
15 照合手段
21〜23 シフトレジスタ
24 排他的論理和演算部
100 認証システム
101 入力手段
102 第1PN系列生成手段
103 第2PN系列生成手段
104 アドレス決定手段
105 マトリクス生成手段
106 エンコード/デコード手段
107 データベース
108 照合手段
151 シフトレジスタ
152 排他的論理和演算部
211〜213 画素
221〜223 画素
231〜233 画素

Claims (15)

  1. エンコード処理対象となる入力データを入力する入力手段と、
    第1擬似乱数を生成する第1擬似乱数生成手段と、
    第2擬似乱数を生成する第2擬似乱数生成手段と、
    前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定するアドレス決定手段と、
    前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成するマトリクス生成手段と、
    前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行してエンコードデータを生成するエンコード手段と、
    を有することを特徴とするデータ処理装置。
  2. 前記アドレス決定手段は、
    前記マトリクスアドレス候補値と、前記マトリクス生成手段の生成するマトリクスの最大アドレスを比較し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合は、マトリクス生成に適用するアドレスとして利用し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、マトリクス生成に適用するアドレスとして利用しない処理を実行する構成であることを特徴とする請求項1に記載のデータ処理装置。
  3. 前記マトリクス生成手段は、
    前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数の構成ビット値に基づく画素値を前記アドレス候補値の指定位置に設定し、
    前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、前記第1擬似乱数の構成ビット値に基づく画素値をマトリクス生成処理に利用しない構成であることを特徴とする請求項1に記載のデータ処理装置。
  4. 前記アドレス決定手段は、
    前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列から選択するビット列を順次シフとして、複数のマトリクスアドレス候補値を順次決定する処理を実行する構成であり、
    前記マトリクス生成手段は、
    前記アドレス決定手段の決定するマトリクスアドレス候補値に対応して、前記第1擬似乱数の構成ビット値を順次シフトしながら選択し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数から選択したビット値に基づく画素値を前記アドレス候補値の指定位置に設定する処理を実行する構成であることを特徴とする請求項1に記載のデータ処理装置。
  5. 前記第2擬似乱数生成手段は、
    前記マトリクス生成手段の生成するマトリクスを構成するために必要となるマトリクスアドレス数以上の周期からなる擬似乱数を生成する構成であることを特徴とする請求項1に記載のデータ処理装置。
  6. 前記第1擬似乱数生成手段、および前記第2擬似乱数生成手段は、PN(Pseudorandom Noise)系列生成手段によって構成されていることを特徴とする請求項1に記載のデータ処理装置。
  7. 前記データ処理装置は、さらに、
    前記マトリクス生成手段の生成したマトリクスと、前記エンコード手段の生成したエンコードデータとの対応位置データとの排他的論理和演算を実行してデコードデータを生成するデコード手段と、
    前記デコード手段の生成したデコードデータと、前記入力手段から入力される入力データとの照合処理を実行する照合手段と、
    を有することを特徴とする請求項1に記載のデータ処理装置。
  8. データ処理装置におけるデータ処理方法であり、
    入力手段が、エンコード処理対象となる入力データを入力するデータ入力ステップと、
    第1擬似乱数生成手段が、第1擬似乱数を生成する第1擬似乱数生成ステップと、
    第2擬似乱数生成手段が、第2擬似乱数を生成する第2擬似乱数生成ステップと、
    アドレス決定手段が、前記第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定するアドレス決定ステップと、
    マトリクス生成手段が、前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成するマトリクス生成ステップと、
    エンコード手段が、前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行してエンコードデータを生成するエンコードステップと、
    を有することを特徴とするデータ処理方法。
  9. 前記アドレス決定ステップは、さらに、
    前記マトリクスアドレス候補値と、前記マトリクス生成手段の生成するマトリクスの最大アドレスを比較し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合は、マトリクス生成に適用するアドレスとして利用し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、マトリクス生成に適用するアドレスとして利用しない処理を実行するステップを含むことを特徴とする請求項8に記載のデータ処理方法。
  10. 前記マトリクス生成ステップは、
    前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数の構成ビット値に基づく画素値を前記アドレス候補値の指定位置に設定し、
    前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下でない場合は、前記第1擬似乱数の構成ビット値に基づく画素値をマトリクス生成処理に利用しないことを特徴とする請求項8に記載のデータ処理方法。
  11. 前記アドレス決定ステップは、
    前記第2擬似乱数生成手段の生成する第2擬似乱数のビット列から選択するビット列を順次シフとして、複数のマトリクスアドレス候補値を順次決定する処理を実行するステップを含み、
    前記マトリクス生成ステップは、
    前記アドレス決定ステップにおいて決定するマトリクスアドレス候補値に対応して、前記第1擬似乱数の構成ビット値を順次シフトしながら選択し、前記マトリクスアドレス候補値が前記マトリクスの最大アドレス以下である場合に、前記第1擬似乱数から選択したビット値に基づく画素値を前記アドレス候補値の指定位置に設定する処理を実行することを特徴とする請求項8に記載のデータ処理方法。
  12. 前記第2擬似乱数生成ステップは、
    前記マトリクス生成手段の生成するマトリクスを構成するために必要となるマトリクスアドレス数以上の周期からなる擬似乱数を生成することを特徴とする請求項8に記載のデータ処理方法。
  13. 前記第1擬似乱数生成ステップ、および前記第2擬似乱数生成ステップは、PN(Pseudorandom Noise)系列を生成するステップであることを特徴とする請求項8に記載のデータ処理方法。
  14. 前記データ処理方法は、さらに、
    デコード手段が、前記マトリクス生成手段の生成したマトリクスと、前記エンコード手段の生成したエンコードデータとの対応位置データとの排他的論理和演算を実行してデコードデータを生成するデコードステップと、
    照合手段が、前記デコード手段の生成したデコードデータと、前記入力手段から入力される入力データとの照合処理を実行する照合ステップと、
    を有することを特徴とする請求項8に記載のデータ処理方法。
  15. データ処理装置におけるデータ処理を実行させるコンピュータ・プログラムであり、
    入力手段に、エンコード処理対象となる入力データを入力させるデータ入力ステップと、
    第1擬似乱数生成手段に、第1擬似乱数を生成させる第1擬似乱数生成ステップと、
    第2擬似乱数生成手段に、第2擬似乱数を生成させる第2擬似乱数生成ステップと、
    アドレス決定手段に、前記第2擬似乱数のビット列に基づいてマトリクスアドレス候補値を決定させるアドレス決定ステップと、
    マトリクス生成手段に、前記マトリクスアドレス候補値に基づいて指定されるマトリクス位置に、前記第1擬似乱数生成手段の生成する第1擬似乱数の構成ビット値に基づく画素値を設定したマトリクスを生成させるマトリクス生成ステップと、
    エンコード手段に、前記マトリクス生成手段の生成したマトリクスと、前記入力データとの対応位置データとの排他的論理和演算を実行させてエンコードデータを生成させるエンコードステップと、
    を実行させることを特徴とするコンピュータ・プログラム。
JP2007006880A 2007-01-16 2007-01-16 データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP4997982B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007006880A JP4997982B2 (ja) 2007-01-16 2007-01-16 データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
US11/971,647 US7912876B2 (en) 2007-01-16 2008-01-09 Data processing apparatus, data processing method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007006880A JP4997982B2 (ja) 2007-01-16 2007-01-16 データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム

Publications (3)

Publication Number Publication Date
JP2008177654A JP2008177654A (ja) 2008-07-31
JP2008177654A5 JP2008177654A5 (ja) 2009-12-24
JP4997982B2 true JP4997982B2 (ja) 2012-08-15

Family

ID=39704373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007006880A Expired - Fee Related JP4997982B2 (ja) 2007-01-16 2007-01-16 データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US7912876B2 (ja)
JP (1) JP4997982B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050404B2 (en) * 2008-12-29 2011-11-01 Nortel Networks Limited Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel
CN105917597B (zh) * 2014-01-13 2019-03-19 Lg电子株式会社 无线lan系统中发送和接收支持短mac报头的帧的方法和装置
KR101630791B1 (ko) * 2015-03-27 2016-06-16 황순영 의사 난수로부터 진성 난수를 생성하는 방법 및 이 방법을 컴퓨터상에서 실행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003005953A (ja) * 2001-06-26 2003-01-10 Sony Corp 乱数生成装置および乱数生成方法、並びにプログラム
JP4468726B2 (ja) * 2004-03-31 2010-05-26 富士通エフ・アイ・ピー株式会社 コンピュータによるストリーム暗号のための乱数かき混ぜ方法およびその方法を実行させるためのプログラム
JP4772689B2 (ja) * 2004-10-08 2011-09-14 三菱電機株式会社 検査行列生成方法及び通信方法
JP2006139424A (ja) * 2004-11-10 2006-06-01 Sharp Corp 生体認証装置
JP4375212B2 (ja) * 2004-11-18 2009-12-02 ソニー株式会社 照合装置、照合方法、照合システム、およびプログラム
JP4709685B2 (ja) * 2006-04-20 2011-06-22 富士通エフ・アイ・ピー株式会社 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置

Also Published As

Publication number Publication date
JP2008177654A (ja) 2008-07-31
US20080222204A1 (en) 2008-09-11
US7912876B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
TWI750223B (zh) 區塊鏈加密射頻晶片存儲設計方法
Hua et al. Reversible data hiding in encrypted images using cipher-feedback secret sharing
US8924730B2 (en) Digital watermarking for secure transmission between a source component and a node device
US20060045309A1 (en) Systems and methods for digital content security
AU3228600A (en) A fuzzy commitment scheme
JP2007148317A (ja) 暗号化方法,暗号復号化方法,暗号化装置,暗号復号化装置および通信システム
KR20120061405A (ko) 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
JP4758904B2 (ja) 機密情報処理方法
JP4025283B2 (ja) 符号埋込方法、識別情報復元方法及び装置
JP4997982B2 (ja) データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム
Gao et al. High-performance reversible data hiding in encrypted images with adaptive Huffman code
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
CN110784313A (zh) 一种密钥的保护方法、设备以及存储介质
US20200344076A1 (en) Authentication method and device
US7313235B2 (en) Device and method of applying a parity to encrypt data for protection
US20210312018A1 (en) Anti cloning for white box protected data
JP2006074338A (ja) データ秘匿化装置、秘匿データ抽出装置、データ秘匿化方法、秘匿データ抽出方法及びこれらのプログラム
KR102425916B1 (ko) 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법
KR101297322B1 (ko) 가독 대칭형 복호화 방법
CN115842619B (zh) 基于dna编码的图像加密方法、系统、计算机装置及介质
US11777527B1 (en) Dynamic permutation based coding for generating permuted bits and parity equations thereof
US20230113612A1 (en) Apparatus and Method for Generating Physical Unclonable Function (PUF) Based Challenge Response Pair
Ouda et al. Effective combination of iris-based cancelable biometrics and biometric cryptosystems
Yongjun et al. Reversible Data Hiding in Encrypted Domain Based on the Error‐Correction Redundancy of Encryption Process
JP6598259B2 (ja) デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091109

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: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120430

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

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees