情報処理装置、擬似乱数生成装置およびプログラム
【課題】入力データに対して生成された、認証等に用いる出力データから入力データを復元する。
【解決手段】情報処理装置は、第1計算部、第2計算部および第3計算部を備える。第1計算部は、第1入力データに基づいて、第1出力データと、第1入力データとの誤差が第1範囲に含まれる第2入力データから第1出力データを計算するための第1補助データとを計算し、第1出力データおよび第1補助データのうち少なくとも1つと、第1入力データとに基づいて、第1出力データから第1入力データを計算するための第2補助データを計算する。第2計算部は、第2入力データと第1補助データとに基づいて第1出力データを計算する。第3計算部は、第1出力データと第2補助データとに基づいて第1入力データを計算する。
【解決手段】情報処理装置は、第1計算部、第2計算部および第3計算部を備える。第1計算部は、第1入力データに基づいて、第1出力データと、第1入力データとの誤差が第1範囲に含まれる第2入力データから第1出力データを計算するための第1補助データとを計算し、第1出力データおよび第1補助データのうち少なくとも1つと、第1入力データとに基づいて、第1出力データから第1入力データを計算するための第2補助データを計算する。第2計算部は、第2入力データと第1補助データとに基づいて第1出力データを計算する。第3計算部は、第1出力データと第2補助データとに基づいて第1入力データを計算する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、擬似乱数生成装置およびプログラムに関する。
【背景技術】
【0002】
入力されたデータが誤差を含む場合がある認証システムでは、入力されたデータが所定の誤差範囲内であれば、認証に用いるための誤差のないデータ(認証データ)を計算することが要求される。
【0003】
そのような計算を実現する技術として、ファジー・エクストラクタ(Fuzzy Extractor)とよばれる擬似乱数生成装置が知られている。
【0004】
前述の入力されたデータが誤差を含む場合がある認証システムは、システム登録時に受け付けたデータを入力としてファジー・エクストラクタが出力する擬似乱数を認証データとする。そして、認証データを、ファジー・エクストラクタが擬似乱数と共に出力する補助データとともに記憶する。認証する際には、誤差を含む可能性がある入力データと補助データとをファジー・エクストラクタに入力して出力データを計算し、記憶した認証データと出力データとが一致する場合には認証要求を受理し、一致しない場合には棄却する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Y.Dodis et al.,Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. SIAM Journal on Computing Volume 38,Number 1,97-139,2008.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、入力されたデータが誤差を含む場合がある認証システムにファジー・エクストラクタを用いる場合には、認証システムが記憶する出力データと補助データとから、入力データを復元することができないという問題がある。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、第1計算部、第2計算部および第3計算部を備える。第1計算部は、第1入力データに基づいて、第1出力データと、第1入力データとの誤差が第1範囲に含まれる第2入力データから第1出力データを計算するための第1補助データとを計算し、第1出力データおよび第1補助データのうち少なくとも1つと、第1入力データとに基づいて、第1出力データから第1入力データを計算するための第2補助データを計算する。第2計算部は、第2入力データと第1補助データとに基づいて第1出力データを計算する。第3計算部は、第1出力データと第2補助データとに基づいて第1入力データを計算する。
【図面の簡単な説明】
【0008】
【図1】第1の実施形態にかかる情報処理装置のブロック図。
【図2】第1の実施形態における擬似乱数生成処理のフローチャート。
【図3】第1の実施形態における擬似乱数再現処理のフローチャート。
【図4】第1の実施形態における逆像計算処理のフローチャート。
【図5】第1の実施形態における擬似乱数生成処理のフローチャート。
【図6】第1の実施形態における逆像計算処理のフローチャート。
【図7】第2の実施形態にかかる情報処理装置のブロック図。
【図8】第2の実施形態における擬似乱数生成処理のフローチャート。
【図9】第2の実施形態における逆像計算処理のフローチャート。
【図10】第3の実施形態における情報処理装置のブロック図。
【図11】第3の実施形態における登録処理のフローチャート。
【図12】第3の実施形態における認証処理のフローチャート。
【図13】第3の実施形態における音声データ復元処理のフローチャート。
【図14】第1から第3の実施形態にかかる情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【0010】
最初に、非特許文献1のファジー・エクストラクタの構成を説明する。ファジー・エクストラクタは、生成関数(非特許文献1の「Gen」)と再現関数(非特許文献1の「Rep」)の2つの関数からなる。生成関数は、第1入力データを受け付けて、出力データと補助データとを計算する関数である。再現関数は、第1入力データと第2入力データの誤差が所定の範囲内であるとき、第2入力データと補助データとを受け付けて、出力データを再現する関数である。
【0011】
(第1の実施形態)
第1の実施形態では、生成関数Genと再現関数Repを利用して、擬似乱数の生成(生成部)、擬似乱数の再現(再現部)、および、入力データの復元(逆像計算部)を行う構成例を示す。非特許文献1の生成関数および再現関数と同等の機能を有する関数であれば、非特許文献1で開示されている生成関数および再現関数とは異なる関数を用いて本実施形態を構成しても良い。
【0012】
図1は、第1の実施形態にかかる情報処理装置100の構成の一例を示すブロック図である。図1に示すように、情報処理装置100は、生成部110と、再現部120と、逆像計算部130とを備えている。生成部110、再現部120、および逆像計算部130は、別々の装置として構成されて、ネットワークを介して接続されても良いし、1つ以上の装置が同一の装置として構成されても良い。例えば、生成部110を、1つの擬似乱数生成装置として構成しても良い。
【0013】
生成部110は、入出力部113と、第1計算部111とを備えている。入出力部113は、第1入力データを受け付ける受付部として機能し、さらに、第1出力データと第1補助データおよび第2補助データを出力する。
【0014】
第1計算部111は、ファジー・エクストラクタの生成関数Genを計算するGen計算部111aと、第2補助データ計算部111bとを備えている。Gen計算部111aは、第1入力データから、第1出力データと第1補助データとを計算する。第2補助データ計算部111bは、第1出力データおよび第1補助データのうち少なくとも1つと第1入力データとから、第2補助データを計算する。第2補助データ計算部111bは、暗号化関数Encを計算する機能を備える。暗号化関数Enc(k,m)は、kを暗号化鍵として利用し、平文mを暗号化処理する関数である。暗号化関数Encとしては、例えばAES(Advanced Encryption Standard)やHierocryptなどの共通鍵暗号の他に、RSA暗号や楕円曲線暗号などを用いても良い。
【0015】
再現部120は、入出力部122と、第2計算部121とを備えている。入出力部122は、第2入力データと第1補助データとを受け付け、第2出力データを出力する。第2計算部121は、ファジー・エクストラクタの再現関数Repを計算する機能を含み、第2入力データと第1補助データとから、第2出力データを計算する。
【0016】
逆像計算部130は、入出力部132と、第3計算部131とを備えている。入出力部132は、第1出力データまたは第2出力データと、第2補助データとを受け付け、第3出力データを出力する。第3計算部131は、第1出力データまたは第2出力データと、第2補助データとから、第3出力データを計算する。第3計算部131は、生成部110の第2補助データ計算部111bが保持する暗号化関数Encに対応する復号関数Decを計算する機能を備える。
【0017】
次に、このように構成された第1の実施形態にかかる情報処理装置100による擬似乱数生成処理について図2を用いて説明する。図2は、第1の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0018】
生成部110の入出力部113は、第1入力データx1を受け付ける(ステップS101)。次に、生成部110のGen計算部111aは、以下の(1)式に示すように、第1入力データx1を生成関数Genに入力し、第1出力データy1と第1補助データw1を計算する(ステップS102)。
(y1,w1)=Gen(x1)・・・(1)
【0019】
生成部110の第2補助データ計算部111bは、第1入力データx1と、(y1,w1)のうち計算に必要な成分とを用いて、以下の手順で第2補助データw2を計算する。
【0020】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つから暗号化鍵keを計算する(ステップS103)。例えば、第2補助データ計算部111bは、第1出力データy1または第1補助データw1そのものであるビット列、第1出力データy1と第1補助データw1とを連結したビット列、または、第1出力データy1と第1補助データw1とを算術的に加算したビット列を求める。そして、暗号化関数が必要とする鍵長よりも求めたビット長が長い場合には、求めたビット列の部分列を暗号化鍵keとする。求めたビット列のビット長が鍵長よりも短い場合には0を付与するなどして必要な鍵長の暗号化鍵keを生成する。
【0021】
第2補助データ計算部111bは、第1入力データx1と暗号化鍵keを暗号化関数Encに入力して暗号化処理を行い、第2補助データw2=Enc(ke,x1)を計算する(ステップS104)。入出力部113は、(y1,w1,w2)を出力する(ステップS105)。
【0022】
なお、後述する逆像計算部130が鍵k3を保持する場合には、第2補助データ計算部111bが鍵k3に対応する鍵k2を保持するように構成しても良い。このとき、第2補助データ計算部111bは鍵k2を暗号化鍵keとして用いても良い。このとき、暗号化関数Encが共通鍵暗号方式の関数である場合にはk2=k3であり、公開鍵暗号方式の関数である場合にはk2≠k3となる。また、第2補助データ計算部111bは、鍵k2と(y1,w1)の一部から暗号化鍵keを求めても良い。暗号化鍵keの計算に第1出力データy1と第1補助データw1の一方または両方を必要としない場合には、第2補助データ計算部111bには暗号化鍵keに必要な情報のみが入力されれば良い。
【0023】
また、(y1,w1)の少なくとも1つから暗号化鍵keを計算する方法と、鍵k2から暗号化鍵keを計算する方法とのうち、ユーザの指定などに応じて選択したいずれかの方法を用いて暗号化鍵keを計算するように構成しても良い。
【0024】
次に、第1の実施形態にかかる情報処理装置100による擬似乱数再現処理について図3を用いて説明する。図3は、第1の実施形態における擬似乱数再現処理の全体の流れを示すフローチャートである。
【0025】
再現部120の入出力部122は、第2入力データx2と第1補助データw1を受け付ける(ステップS201)。次に、再現部120の第2計算部121は、第2入力データx2と第1補助データw1とを再現関数Repに入力して第2出力データy2=Rep(x2,w1)を計算する(ステップS202)。最後に再現部120の入出力部122は、第2出力データy2を出力する(ステップS203)。
【0026】
ここで、非特許文献1の生成関数Genと再現関数Repの性質から、第1入力データx1と第2入力データx2の誤差が所定の範囲(第1範囲)に収まるとき(所定の定数dに対して、第1入力データx1と第2入力データx2で異なるビットが高々dビットとなるなど)、第2出力データy2は第1出力データy1と等しい。
【0027】
次に、第1の実施形態にかかる情報処理装置100による逆像計算処理について図4を用いて説明する。図4は、第1の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0028】
逆像計算部130の入出力部132は、第1出力データy1と第1補助データw1と第2補助データw2とを受け付ける(ステップS301)。逆像計算部130の第3計算部131は、以下の手順で(y1,w1,w2)から第3出力データy3を計算する。
【0029】
第3計算部131は、(y1,w1,w2)から復号鍵kdを計算する(ステップS302)。なお、前述したように逆像計算部130が鍵k3を保持する場合には、第3計算部131は、鍵k3から復号鍵kdを計算しても良い。復号鍵kdの計算方法は、生成部110の第2補助データ計算部111bが暗号化鍵keを求める計算方法と同様である。次に、逆像計算部130の第3計算部131は、第3出力データy3=Dec(kd,w2)を計算する(ステップS303)。逆像計算部130の入出力部132は、第3出力データy3を出力する(ステップS304)。
【0030】
ここで、(y1,w1,w2)が生成部110により第1入力データx1から計算されたデータであるならば、第3出力データy3は第1入力データx1に一致する。
【0031】
(変形例1)
変形例1の情報処理装置100は、前述の第1の実施形態と同様に生成部110と再現部120と逆像計算部130とを備えるが、以下の点のみが第1の実施形態と異なる。
【0032】
第1の実施形態では、生成部110の第2補助データ計算部111bは暗号化関数Encを計算する機能を備え、逆像計算部130の第3計算部131は復号関数Decを計算する機能を備えていた。
【0033】
変形例1では、生成部110の第2補助データ計算部111bと逆像計算部130の第3計算部131は、ハッシュ関数(ハッシュ関数族)を保持する。
【0034】
次に、このように構成された第1の実施形態の変形例1にかかる情報処理装置100による擬似乱数生成処理について図5を用いて説明する。図5は、第1の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0035】
ステップS401からステップS402までは図2のステップS101からステップS102までと同様であるため説明を省略する。
【0036】
生成部110の第2補助データ計算部111bは、第1入力データx1と、(y1,w1)のうち計算に必要な成分とを用いて、以下の手順で第2補助データw2を計算する。
【0037】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つからハッシュ鍵khを計算する(ステップS403)。上述のように鍵k3に対応する鍵k2を保持する構成の場合は、鍵k2からハッシュ鍵khを計算しても良い。第2補助データ計算部111bは、ハッシュ関数族に含まれる複数のハッシュ関数のうち、計算したハッシュ鍵khに対応するハッシュ関数Hを選択する(ステップS404)。
【0038】
ハッシュ鍵の計算方法は、第1の実施形態における生成部110の暗号化鍵の計算方法と同様である。後述するように、第2補助データ計算部111bと逆像計算部130の第3計算部131とが予め同一のハッシュ関数Hを保持している場合には、ステップS403およびステップS404は省略されても良い。
【0039】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つをハッシュ関数H(・)に入力し、第1ハッシュデータh1を計算する(ステップS405)。後述するように、逆像計算部130が鍵k5を保持する場合には、対応する鍵k4から第1ハッシュデータh1を計算してもよい。次に、第2補助データ計算部111bは、第1入力データx1と第1ハッシュデータh1とから第2補助データw2=h1(*)x1を計算する(ステップS406)。ここで、(*)は所定の二項演算であり、排他的論理和、または、第1ハッシュデータh1を暗号化鍵として第1入力データx1を暗号化する暗号演算などを用いる。
【0040】
入出力部113は、(y1,w1,w2)を出力する(ステップS407)。
【0041】
次に、このように構成された第1の実施形態の変形例1にかかる情報処理装置100による逆像計算処理について図6を用いて説明する。図6は、第1の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0042】
ステップS501は図4のステップS301と同様であるため説明を省略する。逆像計算部130の第3計算部131は、以下の手順で(y1,w1,w2)から第3出力データy3を計算する。
【0043】
第3計算部131は、(y1,w1)からハッシュ鍵khを計算する(ステップS502)。逆像計算部130が鍵k3を保持する構成の場合には鍵k3からハッシュ鍵khを計算しても良い。第3計算部131は、ハッシュ鍵khに基づきハッシュ関数Hを選択する(ステップS503)。ハッシュ鍵khの計算方法およびハッシュ関数Hの選択方法は、生成部110の第2補助データ計算部111bによるハッシュ鍵khの計算方法およびハッシュ関数Hの選択方法と同様である。
【0044】
前述したとおり、逆像計算部130が予めハッシュ関数Hを保持している場合には、ステップS502およびステップS503は省略される。
【0045】
次に、逆像計算部130の第3計算部131は、(y1,w1)の少なくとも1つをハッシュ関数H(・)に入力し、第2ハッシュデータh2を計算する(ステップS504)。逆像計算部130が鍵k5を保持し、前述したとおりに生成部110が鍵k4を用いて第1ハッシュデータh1を計算する場合には、逆像計算部130は、鍵k5を用いて第2ハッシュデータ鍵h2を計算してもよい。次に、第3計算部131は、第2補助データw2と第2ハッシュデータh2とから第3出力データy3=h2(@)w2を計算する(ステップS505)。
【0046】
ここで、(@)は前述の(*)に対応する二項演算である。なお、(@)は、(*)の出力から(*)の入力を演算するものであればどのような演算であっても良い。例えば、(*)が排他的論理和演算の場合には(@)も排他的論理和演算であり、(*)が暗号化演算である場合には(@)は復号演算である。
【0047】
第3計算部131の入出力部132は、第3出力データy3を出力する(ステップS506)。
【0048】
ここで、(y1,w1,w2)が生成部110により第1入力データx1から計算されたデータであるならば、第3出力データy3は第1入力データx1に一致する。
【0049】
このように、第1の実施形態にかかる情報処理装置では、擬似乱数(第1出力データ)を生成するときに入力データの復元に用いる補助データ(第2補助データ)を生成する。そして、逆像計算部により、第1出力データと第2補助データを入力として受け付けて第1入力データを復元することができる。
【0050】
さらに、第1の実施形態にかかる情報処理装置では、(y1,w1)に依存して暗号化鍵keや第1ハッシュデータh1が計算され、入力x1ごとに値が異なる。そのため、ある入力x1に対応する暗号化鍵keや第1ハッシュデータh1の情報が漏えいしたとしても、異なる入力x1’に対応する暗号化鍵ke’や第1ハッシュデータh1’の情報は漏えいせず、安全性は保たれる。一般には、入力ごとに異なる暗号化鍵を用意して記憶する。第1の実施形態にかかる情報処理装置では、(y1,w1)に依存して暗号化鍵keや第1ハッシュデータh1が計算することで暗号化鍵を個別に用意する必要がなく、記憶領域も削減することができる。
【0051】
(第2の実施形態)
第1の実施形態に示した構成では、再現部120に入力される第2入力データが、第1入力データと所定の誤差の範囲にあるならば、再現部120は生成部110が出力する第1出力データを再現することができる。一方、逆像計算部130の入出力部132には第1出力データが入力されていた。
【0052】
第2の実施形態では、逆像計算部の入出力部に与えられる入力が、生成部が出力する第1出力データと所定の誤差の範囲(第2範囲)にあるならば、生成部の入力を復元することを可能とする。
【0053】
図7は、第2の実施形態にかかる情報処理装置200の構成の一例を示すブロック図である。図7に示すように、情報処理装置200は、生成部210と、再現部120と、逆像計算部230とを備えている。第1の実施形態と同様の機能を備える構成部は同一の符号を付し、ここでの説明は省略する。
【0054】
第1の実施形態と同様に、生成部210、再現部120、および逆像計算部230の各部は別々の装置として構成されて、ネットワークを介して接続されても良いし、1つ以上の装置が同一の装置として構成されても良い。
【0055】
生成部210は、入出力部213と、第1計算部211とを備えている。入出力部213は、第1入力データを受け付け、第1出力データと第1補助データと第2補助データと第3補助データとを出力する。
【0056】
第1計算部211は、ファジー・エクストラクタの生成関数Genを計算するGen計算部211aと、第2補助データ計算部211bとを備えている。Gen計算部211aは、第1入力データから、第1出力データと第1補助データとを計算する。さらに、Gen計算部211aは、第1出力データおよび第1補助データの少なくとも1つから中間データ(以下、説明の便宜上、第3中間データという)と第3補助データとを計算する。
【0057】
Gen計算部211aは、異なる生成関数Genを2種類保持し、前述の2種類の計算をそれぞれ異なるGenで計算しても良い。以下では同一の生成関数Genを用いて計算する構成例を説明する。
【0058】
第2補助データ計算部211bは、第1の実施形態と同様に暗号化関数Encを計算する機能を備え、第1入力データと第3中間データとから、第2補助データを計算する。
【0059】
逆像計算部230は、入出力部232と、第3計算部231とを備えている。入出力部232は、第1出力データまたは第2出力データ、第2補助データ、および、第3補助データを受け付け、第3出力データを出力する。
【0060】
第3計算部231は、Rep計算部231aを備えている。Rep計算部231aは、生成部210のGen計算部211aと同様の生成関数Genに対応する再現関数Repを計算する機能を含む。第3計算部231は、第1出力データまたは第2出力データ、第2補助データ、および第3補助データから、第3出力データを計算する。第3計算部231は、前述の生成部210の第2補助データ計算部211bが保持する暗号化関数Encに対応する復号関数Decを保持する。
【0061】
次に、このように構成された第2の実施形態にかかる情報処理装置200による擬似乱数生成処理について図8を用いて説明する。図8は、第2の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0062】
ステップS601からステップS602までは、第1の実施形態にかかる情報処理装置100におけるステップS101からステップS102までと同様の処理なので、その説明を省略する。
【0063】
生成部210のGen計算部211aは、以下の(3)式に示すように、第1出力データy1を生成関数Genに入力し、第3中間データz3と第3補助データw3を計算する(ステップS603)。
(z3,w3)=Gen(y1)・・・(3)
【0064】
第2補助データ計算部211bは、第1入力データx1と(z3,w1,w3)のうち少なくとも第3中間データz3および第3補助データw3を含む成分を入力して、以下の手順で第2補助データw2を計算する。
【0065】
第2補助データ計算部211bは、(z3,w1,w3)のうち少なくとも第3中間データz3および第3補助データw3を含む成分から、第1の実施形態と同様に暗号化鍵keを計算する(ステップS604)。なお、鍵k2を保持する構成の場合には鍵k2から暗号化鍵keを計算しても良い。
【0066】
第2補助データ計算部211bは、第1入力データx1と暗号化鍵keを暗号化関数Encに入力して暗号化処理を行い、第2補助データw2=Enc(ke,x1)を計算する(ステップS605)。入出力部213は、(y1,w1,w2,w3)を出力する(ステップS606)。
【0067】
再現部120の処理手順は、第1の実施形態の図3と同様であるため、説明を省略する。
【0068】
次に、このように構成された第2の実施形態にかかる情報処理装置200による逆像計算処理について図9を用いて説明する。図9は、第2の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0069】
逆像計算部230の入出力部232は、第1出力データy1と所定の誤差の範囲(第2範囲)内であることが期待される第3入力データx3と第1補助データw1と第2補助データw2と第3補助データw3とを受け付ける(ステップS701)。逆像計算部230の第3計算部231は、以下の手順で(x3,w1,w2,w3)から第3出力データy3を計算する。
【0070】
第3計算部231のRep計算部231aは、(x3,w3)を再現関数Repに入力して第4中間データz4=Rep(x3,w3)を計算する(ステップS702)。第3入力データx3が第1出力データy1との所定の誤差の範囲内にあれば、第4中間データz4は第3中間データz3に一致する。
【0071】
第3計算部231は、第1の実施形態と同様に(z4,w1,w3)のうち少なくとも第4中間データz4および第3補助データw3を含む成分から、第1の実施形態と同様に復号鍵kdを計算する(ステップS703)。なお、逆像計算部230が鍵k3を保持する構成の場合には鍵k3から復号鍵kdを計算しても良い。
【0072】
次に、第3計算部231は、第3出力データy3=Dec(kd,w2)を計算する(ステップS704)。入出力部232は、第3出力データy3を出力する(ステップS705)。
【0073】
ここで、(y1,w1,w2,w3)が生成部210により第1入力データx1から計算されたデータであり、第3入力データx3が第1出力データy1と所定の誤差の範囲内にあるならば、第3出力データy3は第1入力データx1に一致する。
【0074】
(変形例2)
第1の実施形態における変形例1と同様に、以下の変形例2を構成することができる。第2の実施形態における生成部210の第2補助データ計算部211bおよび逆像計算部230の第3計算部231が、暗号化関数および復号関数の代わりにハッシュ関数(族)を保持し、変形例1と同様の処理により第2補助データおよび第3出力データを計算する。
【0075】
このように、第2の実施形態にかかる情報処理装置では、入力を復元するときに逆像計算部の入出力部に与えられる入力が、擬似乱数を生成するときに出力された出力データと所定の誤差の範囲にあれば、生成部の入力を復元することができる。
【0076】
(第3の実施形態)
第3の実施形態では、第1の実施形態に示した構成の適用例として、音声認証システムの構成例を示す。前述した変形例1、第2の実施形態、変形例2を用いても、同様に音声認証システムを構成することができる。
【0077】
図10は、第3の実施形態の音声認証システムを実現する情報処理装置300の構成の一例を示すブロック図である。図10に示すように、情報処理装置300は、登録処理部310と、認証処理部320と、音声復元部330と、入出力部301と、記憶部340と、を備えている。これらは、それぞれ個別の機器で構成されても良いし、1つ以上が同一の機器で構成されても良い。なお、第1の実施形態と同様の機能を備える構成部は同一の符号を付し、ここでの説明は省略する。
【0078】
入出力部301は、登録用音声データ、認証用音声データ、登録要求、認証要求、および、音声復元要求を受け付け、登録結果、認証結果、および、登録音声を出力する。
【0079】
登録処理部310は、第1の実施形態に示す生成部110を内部に保持し、登録用音声データを受け付けて、第1出力データ、第1補助データおよび第2補助データを出力する。
【0080】
認証処理部320は、第1の実施形態に示す再現部120を内部に保持し、認証用音声データ、第1出力データおよび第1補助データを入力として受け付け、認証結果を出力する。
【0081】
音声復元部330は、第1の実施形態に示す逆像計算部130を内部に保持し、第1出力データ、第1補助データおよび第2補助データを入力として、第3出力データを出力する。正常に動作する場合には、第3出力データは対応する登録用音声データに一致する。
【0082】
記憶部340は、第1出力データ、第1補助データおよび第2補助データを保持する。これらの情報は利用者の識別情報とともに保持されても良い。
【0083】
次に、このように構成された第3の実施形態にかかる情報処理装置300による登録処理について図11を用いて説明する。登録処理とは、登録用音声データから擬似乱数を生成して認証用データベースとして機能する記憶部340に登録する処理である。図11は、第3の実施形態における登録処理の全体の流れを示すフローチャートである。
【0084】
情報処理装置300の入出力部301は、登録要求と登録用音声データ(第1入力データx1)とを受け付ける(ステップS801)。登録処理部310は、登録用音声データを生成部110に入力し、第1出力データy1、第1補助データw1および第2補助データw2を計算する(ステップS802)。ステップS802の処理は、図2と同様の処理により実現できる。
【0085】
登録処理部310は、記憶部340に第1出力データy1、第1補助データw1および第2補助データw2を記憶する(ステップS803)。ステップS801で利用者の識別情報が入力される場合には、ステップS803で識別情報を第1出力データy1などとともに記憶部340に保存しても良い。入出力部301は、登録完了通知を出力する(ステップS804)。
【0086】
次に、このように構成された第3の実施形態にかかる情報処理装置300による認証処理について図12を用いて説明する。認証処理とは、認証用音声データおよび補助データから計算した出力データと、登録処理で記憶部340に保存した出力データ(第1出力データy1)とを比較することにより、認証用音声データを認証する処理である。図12は、第3の実施形態における認証処理の全体の流れを示すフローチャートである。
【0087】
情報処理装置300の入出力部301は、認証要求と認証用音声データ(第1入力データx2)とを受け付ける(ステップS901)。認証処理部320は、記憶部340から第1出力データy1と第1補助データw1とを読み出す(ステップS902)。次に、認証処理部320は、認証用音声データと第1補助データw1とを再現部120に入力し、第2出力データy2を計算する(ステップS903)。認証処理部320は、第1出力データy1と第2出力データy2が一致するか否かを検査する(ステップS904)。
【0088】
検査結果が一致する場合(ステップS904:Yes)、入出力部301は認証に合格したことを表す情報を出力する(ステップS905)。検査結果が一致しない場合(ステップS904:No)、入出力部301は認証に合格しなかったことを表す情報を出力する(ステップS906)。
【0089】
次に、このように構成された第3の実施形態にかかる情報処理装置300による音声データ復元処理について図13を用いて説明する。音声データ復元処理とは、登録処理で出力されたデータ(第1出力データ等)から、登録用音声データを復元する処理である。図13は、第3の実施形態における音声データ復元処理の全体の流れを示すフローチャートである。
【0090】
情報処理装置300の入出力部301は、音声復元要求を受け付ける(ステップS1001)。音声復元部330は、記憶部340から第1出力データy1、第1補助データw1および第2補助データw2を読み出す(ステップS1002)。次に、音声復元部330は、第1出力データy1、第1補助データw1および第2補助データw2を逆像計算部130に入力し、第3出力データy3を計算する(ステップS1003)。入出力部301は、第3出力データy3を出力する(ステップS1004)。
【0091】
認証用データベース(記憶部340)に保持されるデータは、第1出力データ、第1補助データおよび第2補助データである。音声復元部330は、これらのデータから登録用音声データを復元することができる。しかし、音声復元部330を備えない機器は、これらのデータから登録用音声データを復元することはできない。そのため、記憶部340の管理者の不注意や、記憶部340に不正アクセスが試みられた場合に、記憶部340の保持するデータが漏洩したとしても、登録用音声データは保護される。したがって、登録用音声データに関わるキーフレーズや声紋の情報は保護される。
【0092】
このように、第3の実施形態では、上記実施形態に示した構成を適用した音声認証システムを実現することができる。
【0093】
以上説明したとおり、第1から第3の実施形態によれば、擬似乱数を生成するときに、出力データから入力データを計算(復元)するためのデータ(第2補助データ)を計算し、第2補助データと出力データとから入力データを計算することができる。これにより、擬似乱数を生成したときの入力データを復元することが可能となる。例えば、上記各実施形態の情報処理装置を、ファジー・エクストラクタを用いた認証システムに適用すれば、認証システムが記憶する生体情報に固有なデータから、生体情報を復元することができるようになる。
【0094】
第1から第3の実施形態に係る発明が適用される場面の一例を説明する。生体情報を用いた認証システムは、上述のとおり、生体情報を読み込み、生体情報に特徴的なデータを計算して認証処理を行う。このとき、以下の2点が要求される。
(1)例えば、生体情報として発話を用いる場合には、発話の速度や声の大小などが一定ではないことや周囲の雑音などにより、読み込まれる生体情報に誤差が含まれる。そのため、生体情報を用いた認証システムでは、入力された生体情報が所定の誤差範囲内であれば、生体情報に固有のデータを出力することが要求される。
(2)生体情報には、発話のほかにも、指紋や虹彩など人間固有の情報が用いられる。しかし、生体情報には、他者の生体情報と類似する点も多く含まれる。一方、認証に用いる生体情報に特徴的なデータは、誤認証を減らすためにも、生体情報に対して一様に定められることが望ましい。理想的には、生体情報に特徴的なデータとしては、生体情報ごとに異なるデータを用いることが望ましい。
生体情報を用いた認証システムにファジー・エクストラクタを用いる場合には、認証システムが記憶する生体情報に固有なデータと補助データとから、生体情報を復元することができない。例えば、発話を用いた認証システムでは、利用者が発話内容や話し方を忘れたとき、認証システムが記憶する情報からそれらを復元することはできない。しかし、第1から第3の実施形態の方法によれば、認証システムが記憶する生体情報に固有なデータから、生体情報を復元することができる。したがって、例えば、発話を用いた認証システムにおいて、利用者が発話内容や話し方を忘れたとき、認証システムが記憶する情報からそれらを復元できるため、認証システムへの再登録や過去の登録状況の消去などが不要となる。
【0095】
次に、第1から第3の実施形態にかかる情報処理装置のハードウェア構成について図14を用いて説明する。図14は、第1から第3の実施形態にかかる情報処理装置のハードウェア構成を示す説明図である。
【0096】
第1から第3の実施形態にかかる情報処理装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0097】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0098】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成しても良い。
【0099】
さらに、第1から第3の実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第1から第3の実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0100】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、コンピュータを前述した情報処理装置の各部(生成部等)として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0101】
なお、本実施形態は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【0102】
100、200、300 情報処理装置
110、210 生成部
111、211 第1計算部
111a、211a Gen計算部
111b、211b 第2補助データ計算部
113、213 入出力部
120 再現部
121 第2計算部
122 入出力部
130、230 逆像計算部
131、231 第3計算部
132、232 入出力部
231a Rep計算部
301 入出力部
310 登録処理部
320 認証処理部
330 音声復元部
340 記憶部
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、擬似乱数生成装置およびプログラムに関する。
【背景技術】
【0002】
入力されたデータが誤差を含む場合がある認証システムでは、入力されたデータが所定の誤差範囲内であれば、認証に用いるための誤差のないデータ(認証データ)を計算することが要求される。
【0003】
そのような計算を実現する技術として、ファジー・エクストラクタ(Fuzzy Extractor)とよばれる擬似乱数生成装置が知られている。
【0004】
前述の入力されたデータが誤差を含む場合がある認証システムは、システム登録時に受け付けたデータを入力としてファジー・エクストラクタが出力する擬似乱数を認証データとする。そして、認証データを、ファジー・エクストラクタが擬似乱数と共に出力する補助データとともに記憶する。認証する際には、誤差を含む可能性がある入力データと補助データとをファジー・エクストラクタに入力して出力データを計算し、記憶した認証データと出力データとが一致する場合には認証要求を受理し、一致しない場合には棄却する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Y.Dodis et al.,Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data. SIAM Journal on Computing Volume 38,Number 1,97-139,2008.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、入力されたデータが誤差を含む場合がある認証システムにファジー・エクストラクタを用いる場合には、認証システムが記憶する出力データと補助データとから、入力データを復元することができないという問題がある。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、第1計算部、第2計算部および第3計算部を備える。第1計算部は、第1入力データに基づいて、第1出力データと、第1入力データとの誤差が第1範囲に含まれる第2入力データから第1出力データを計算するための第1補助データとを計算し、第1出力データおよび第1補助データのうち少なくとも1つと、第1入力データとに基づいて、第1出力データから第1入力データを計算するための第2補助データを計算する。第2計算部は、第2入力データと第1補助データとに基づいて第1出力データを計算する。第3計算部は、第1出力データと第2補助データとに基づいて第1入力データを計算する。
【図面の簡単な説明】
【0008】
【図1】第1の実施形態にかかる情報処理装置のブロック図。
【図2】第1の実施形態における擬似乱数生成処理のフローチャート。
【図3】第1の実施形態における擬似乱数再現処理のフローチャート。
【図4】第1の実施形態における逆像計算処理のフローチャート。
【図5】第1の実施形態における擬似乱数生成処理のフローチャート。
【図6】第1の実施形態における逆像計算処理のフローチャート。
【図7】第2の実施形態にかかる情報処理装置のブロック図。
【図8】第2の実施形態における擬似乱数生成処理のフローチャート。
【図9】第2の実施形態における逆像計算処理のフローチャート。
【図10】第3の実施形態における情報処理装置のブロック図。
【図11】第3の実施形態における登録処理のフローチャート。
【図12】第3の実施形態における認証処理のフローチャート。
【図13】第3の実施形態における音声データ復元処理のフローチャート。
【図14】第1から第3の実施形態にかかる情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【0010】
最初に、非特許文献1のファジー・エクストラクタの構成を説明する。ファジー・エクストラクタは、生成関数(非特許文献1の「Gen」)と再現関数(非特許文献1の「Rep」)の2つの関数からなる。生成関数は、第1入力データを受け付けて、出力データと補助データとを計算する関数である。再現関数は、第1入力データと第2入力データの誤差が所定の範囲内であるとき、第2入力データと補助データとを受け付けて、出力データを再現する関数である。
【0011】
(第1の実施形態)
第1の実施形態では、生成関数Genと再現関数Repを利用して、擬似乱数の生成(生成部)、擬似乱数の再現(再現部)、および、入力データの復元(逆像計算部)を行う構成例を示す。非特許文献1の生成関数および再現関数と同等の機能を有する関数であれば、非特許文献1で開示されている生成関数および再現関数とは異なる関数を用いて本実施形態を構成しても良い。
【0012】
図1は、第1の実施形態にかかる情報処理装置100の構成の一例を示すブロック図である。図1に示すように、情報処理装置100は、生成部110と、再現部120と、逆像計算部130とを備えている。生成部110、再現部120、および逆像計算部130は、別々の装置として構成されて、ネットワークを介して接続されても良いし、1つ以上の装置が同一の装置として構成されても良い。例えば、生成部110を、1つの擬似乱数生成装置として構成しても良い。
【0013】
生成部110は、入出力部113と、第1計算部111とを備えている。入出力部113は、第1入力データを受け付ける受付部として機能し、さらに、第1出力データと第1補助データおよび第2補助データを出力する。
【0014】
第1計算部111は、ファジー・エクストラクタの生成関数Genを計算するGen計算部111aと、第2補助データ計算部111bとを備えている。Gen計算部111aは、第1入力データから、第1出力データと第1補助データとを計算する。第2補助データ計算部111bは、第1出力データおよび第1補助データのうち少なくとも1つと第1入力データとから、第2補助データを計算する。第2補助データ計算部111bは、暗号化関数Encを計算する機能を備える。暗号化関数Enc(k,m)は、kを暗号化鍵として利用し、平文mを暗号化処理する関数である。暗号化関数Encとしては、例えばAES(Advanced Encryption Standard)やHierocryptなどの共通鍵暗号の他に、RSA暗号や楕円曲線暗号などを用いても良い。
【0015】
再現部120は、入出力部122と、第2計算部121とを備えている。入出力部122は、第2入力データと第1補助データとを受け付け、第2出力データを出力する。第2計算部121は、ファジー・エクストラクタの再現関数Repを計算する機能を含み、第2入力データと第1補助データとから、第2出力データを計算する。
【0016】
逆像計算部130は、入出力部132と、第3計算部131とを備えている。入出力部132は、第1出力データまたは第2出力データと、第2補助データとを受け付け、第3出力データを出力する。第3計算部131は、第1出力データまたは第2出力データと、第2補助データとから、第3出力データを計算する。第3計算部131は、生成部110の第2補助データ計算部111bが保持する暗号化関数Encに対応する復号関数Decを計算する機能を備える。
【0017】
次に、このように構成された第1の実施形態にかかる情報処理装置100による擬似乱数生成処理について図2を用いて説明する。図2は、第1の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0018】
生成部110の入出力部113は、第1入力データx1を受け付ける(ステップS101)。次に、生成部110のGen計算部111aは、以下の(1)式に示すように、第1入力データx1を生成関数Genに入力し、第1出力データy1と第1補助データw1を計算する(ステップS102)。
(y1,w1)=Gen(x1)・・・(1)
【0019】
生成部110の第2補助データ計算部111bは、第1入力データx1と、(y1,w1)のうち計算に必要な成分とを用いて、以下の手順で第2補助データw2を計算する。
【0020】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つから暗号化鍵keを計算する(ステップS103)。例えば、第2補助データ計算部111bは、第1出力データy1または第1補助データw1そのものであるビット列、第1出力データy1と第1補助データw1とを連結したビット列、または、第1出力データy1と第1補助データw1とを算術的に加算したビット列を求める。そして、暗号化関数が必要とする鍵長よりも求めたビット長が長い場合には、求めたビット列の部分列を暗号化鍵keとする。求めたビット列のビット長が鍵長よりも短い場合には0を付与するなどして必要な鍵長の暗号化鍵keを生成する。
【0021】
第2補助データ計算部111bは、第1入力データx1と暗号化鍵keを暗号化関数Encに入力して暗号化処理を行い、第2補助データw2=Enc(ke,x1)を計算する(ステップS104)。入出力部113は、(y1,w1,w2)を出力する(ステップS105)。
【0022】
なお、後述する逆像計算部130が鍵k3を保持する場合には、第2補助データ計算部111bが鍵k3に対応する鍵k2を保持するように構成しても良い。このとき、第2補助データ計算部111bは鍵k2を暗号化鍵keとして用いても良い。このとき、暗号化関数Encが共通鍵暗号方式の関数である場合にはk2=k3であり、公開鍵暗号方式の関数である場合にはk2≠k3となる。また、第2補助データ計算部111bは、鍵k2と(y1,w1)の一部から暗号化鍵keを求めても良い。暗号化鍵keの計算に第1出力データy1と第1補助データw1の一方または両方を必要としない場合には、第2補助データ計算部111bには暗号化鍵keに必要な情報のみが入力されれば良い。
【0023】
また、(y1,w1)の少なくとも1つから暗号化鍵keを計算する方法と、鍵k2から暗号化鍵keを計算する方法とのうち、ユーザの指定などに応じて選択したいずれかの方法を用いて暗号化鍵keを計算するように構成しても良い。
【0024】
次に、第1の実施形態にかかる情報処理装置100による擬似乱数再現処理について図3を用いて説明する。図3は、第1の実施形態における擬似乱数再現処理の全体の流れを示すフローチャートである。
【0025】
再現部120の入出力部122は、第2入力データx2と第1補助データw1を受け付ける(ステップS201)。次に、再現部120の第2計算部121は、第2入力データx2と第1補助データw1とを再現関数Repに入力して第2出力データy2=Rep(x2,w1)を計算する(ステップS202)。最後に再現部120の入出力部122は、第2出力データy2を出力する(ステップS203)。
【0026】
ここで、非特許文献1の生成関数Genと再現関数Repの性質から、第1入力データx1と第2入力データx2の誤差が所定の範囲(第1範囲)に収まるとき(所定の定数dに対して、第1入力データx1と第2入力データx2で異なるビットが高々dビットとなるなど)、第2出力データy2は第1出力データy1と等しい。
【0027】
次に、第1の実施形態にかかる情報処理装置100による逆像計算処理について図4を用いて説明する。図4は、第1の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0028】
逆像計算部130の入出力部132は、第1出力データy1と第1補助データw1と第2補助データw2とを受け付ける(ステップS301)。逆像計算部130の第3計算部131は、以下の手順で(y1,w1,w2)から第3出力データy3を計算する。
【0029】
第3計算部131は、(y1,w1,w2)から復号鍵kdを計算する(ステップS302)。なお、前述したように逆像計算部130が鍵k3を保持する場合には、第3計算部131は、鍵k3から復号鍵kdを計算しても良い。復号鍵kdの計算方法は、生成部110の第2補助データ計算部111bが暗号化鍵keを求める計算方法と同様である。次に、逆像計算部130の第3計算部131は、第3出力データy3=Dec(kd,w2)を計算する(ステップS303)。逆像計算部130の入出力部132は、第3出力データy3を出力する(ステップS304)。
【0030】
ここで、(y1,w1,w2)が生成部110により第1入力データx1から計算されたデータであるならば、第3出力データy3は第1入力データx1に一致する。
【0031】
(変形例1)
変形例1の情報処理装置100は、前述の第1の実施形態と同様に生成部110と再現部120と逆像計算部130とを備えるが、以下の点のみが第1の実施形態と異なる。
【0032】
第1の実施形態では、生成部110の第2補助データ計算部111bは暗号化関数Encを計算する機能を備え、逆像計算部130の第3計算部131は復号関数Decを計算する機能を備えていた。
【0033】
変形例1では、生成部110の第2補助データ計算部111bと逆像計算部130の第3計算部131は、ハッシュ関数(ハッシュ関数族)を保持する。
【0034】
次に、このように構成された第1の実施形態の変形例1にかかる情報処理装置100による擬似乱数生成処理について図5を用いて説明する。図5は、第1の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0035】
ステップS401からステップS402までは図2のステップS101からステップS102までと同様であるため説明を省略する。
【0036】
生成部110の第2補助データ計算部111bは、第1入力データx1と、(y1,w1)のうち計算に必要な成分とを用いて、以下の手順で第2補助データw2を計算する。
【0037】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つからハッシュ鍵khを計算する(ステップS403)。上述のように鍵k3に対応する鍵k2を保持する構成の場合は、鍵k2からハッシュ鍵khを計算しても良い。第2補助データ計算部111bは、ハッシュ関数族に含まれる複数のハッシュ関数のうち、計算したハッシュ鍵khに対応するハッシュ関数Hを選択する(ステップS404)。
【0038】
ハッシュ鍵の計算方法は、第1の実施形態における生成部110の暗号化鍵の計算方法と同様である。後述するように、第2補助データ計算部111bと逆像計算部130の第3計算部131とが予め同一のハッシュ関数Hを保持している場合には、ステップS403およびステップS404は省略されても良い。
【0039】
第2補助データ計算部111bは、(y1,w1)の少なくとも1つをハッシュ関数H(・)に入力し、第1ハッシュデータh1を計算する(ステップS405)。後述するように、逆像計算部130が鍵k5を保持する場合には、対応する鍵k4から第1ハッシュデータh1を計算してもよい。次に、第2補助データ計算部111bは、第1入力データx1と第1ハッシュデータh1とから第2補助データw2=h1(*)x1を計算する(ステップS406)。ここで、(*)は所定の二項演算であり、排他的論理和、または、第1ハッシュデータh1を暗号化鍵として第1入力データx1を暗号化する暗号演算などを用いる。
【0040】
入出力部113は、(y1,w1,w2)を出力する(ステップS407)。
【0041】
次に、このように構成された第1の実施形態の変形例1にかかる情報処理装置100による逆像計算処理について図6を用いて説明する。図6は、第1の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0042】
ステップS501は図4のステップS301と同様であるため説明を省略する。逆像計算部130の第3計算部131は、以下の手順で(y1,w1,w2)から第3出力データy3を計算する。
【0043】
第3計算部131は、(y1,w1)からハッシュ鍵khを計算する(ステップS502)。逆像計算部130が鍵k3を保持する構成の場合には鍵k3からハッシュ鍵khを計算しても良い。第3計算部131は、ハッシュ鍵khに基づきハッシュ関数Hを選択する(ステップS503)。ハッシュ鍵khの計算方法およびハッシュ関数Hの選択方法は、生成部110の第2補助データ計算部111bによるハッシュ鍵khの計算方法およびハッシュ関数Hの選択方法と同様である。
【0044】
前述したとおり、逆像計算部130が予めハッシュ関数Hを保持している場合には、ステップS502およびステップS503は省略される。
【0045】
次に、逆像計算部130の第3計算部131は、(y1,w1)の少なくとも1つをハッシュ関数H(・)に入力し、第2ハッシュデータh2を計算する(ステップS504)。逆像計算部130が鍵k5を保持し、前述したとおりに生成部110が鍵k4を用いて第1ハッシュデータh1を計算する場合には、逆像計算部130は、鍵k5を用いて第2ハッシュデータ鍵h2を計算してもよい。次に、第3計算部131は、第2補助データw2と第2ハッシュデータh2とから第3出力データy3=h2(@)w2を計算する(ステップS505)。
【0046】
ここで、(@)は前述の(*)に対応する二項演算である。なお、(@)は、(*)の出力から(*)の入力を演算するものであればどのような演算であっても良い。例えば、(*)が排他的論理和演算の場合には(@)も排他的論理和演算であり、(*)が暗号化演算である場合には(@)は復号演算である。
【0047】
第3計算部131の入出力部132は、第3出力データy3を出力する(ステップS506)。
【0048】
ここで、(y1,w1,w2)が生成部110により第1入力データx1から計算されたデータであるならば、第3出力データy3は第1入力データx1に一致する。
【0049】
このように、第1の実施形態にかかる情報処理装置では、擬似乱数(第1出力データ)を生成するときに入力データの復元に用いる補助データ(第2補助データ)を生成する。そして、逆像計算部により、第1出力データと第2補助データを入力として受け付けて第1入力データを復元することができる。
【0050】
さらに、第1の実施形態にかかる情報処理装置では、(y1,w1)に依存して暗号化鍵keや第1ハッシュデータh1が計算され、入力x1ごとに値が異なる。そのため、ある入力x1に対応する暗号化鍵keや第1ハッシュデータh1の情報が漏えいしたとしても、異なる入力x1’に対応する暗号化鍵ke’や第1ハッシュデータh1’の情報は漏えいせず、安全性は保たれる。一般には、入力ごとに異なる暗号化鍵を用意して記憶する。第1の実施形態にかかる情報処理装置では、(y1,w1)に依存して暗号化鍵keや第1ハッシュデータh1が計算することで暗号化鍵を個別に用意する必要がなく、記憶領域も削減することができる。
【0051】
(第2の実施形態)
第1の実施形態に示した構成では、再現部120に入力される第2入力データが、第1入力データと所定の誤差の範囲にあるならば、再現部120は生成部110が出力する第1出力データを再現することができる。一方、逆像計算部130の入出力部132には第1出力データが入力されていた。
【0052】
第2の実施形態では、逆像計算部の入出力部に与えられる入力が、生成部が出力する第1出力データと所定の誤差の範囲(第2範囲)にあるならば、生成部の入力を復元することを可能とする。
【0053】
図7は、第2の実施形態にかかる情報処理装置200の構成の一例を示すブロック図である。図7に示すように、情報処理装置200は、生成部210と、再現部120と、逆像計算部230とを備えている。第1の実施形態と同様の機能を備える構成部は同一の符号を付し、ここでの説明は省略する。
【0054】
第1の実施形態と同様に、生成部210、再現部120、および逆像計算部230の各部は別々の装置として構成されて、ネットワークを介して接続されても良いし、1つ以上の装置が同一の装置として構成されても良い。
【0055】
生成部210は、入出力部213と、第1計算部211とを備えている。入出力部213は、第1入力データを受け付け、第1出力データと第1補助データと第2補助データと第3補助データとを出力する。
【0056】
第1計算部211は、ファジー・エクストラクタの生成関数Genを計算するGen計算部211aと、第2補助データ計算部211bとを備えている。Gen計算部211aは、第1入力データから、第1出力データと第1補助データとを計算する。さらに、Gen計算部211aは、第1出力データおよび第1補助データの少なくとも1つから中間データ(以下、説明の便宜上、第3中間データという)と第3補助データとを計算する。
【0057】
Gen計算部211aは、異なる生成関数Genを2種類保持し、前述の2種類の計算をそれぞれ異なるGenで計算しても良い。以下では同一の生成関数Genを用いて計算する構成例を説明する。
【0058】
第2補助データ計算部211bは、第1の実施形態と同様に暗号化関数Encを計算する機能を備え、第1入力データと第3中間データとから、第2補助データを計算する。
【0059】
逆像計算部230は、入出力部232と、第3計算部231とを備えている。入出力部232は、第1出力データまたは第2出力データ、第2補助データ、および、第3補助データを受け付け、第3出力データを出力する。
【0060】
第3計算部231は、Rep計算部231aを備えている。Rep計算部231aは、生成部210のGen計算部211aと同様の生成関数Genに対応する再現関数Repを計算する機能を含む。第3計算部231は、第1出力データまたは第2出力データ、第2補助データ、および第3補助データから、第3出力データを計算する。第3計算部231は、前述の生成部210の第2補助データ計算部211bが保持する暗号化関数Encに対応する復号関数Decを保持する。
【0061】
次に、このように構成された第2の実施形態にかかる情報処理装置200による擬似乱数生成処理について図8を用いて説明する。図8は、第2の実施形態における擬似乱数生成処理の全体の流れを示すフローチャートである。
【0062】
ステップS601からステップS602までは、第1の実施形態にかかる情報処理装置100におけるステップS101からステップS102までと同様の処理なので、その説明を省略する。
【0063】
生成部210のGen計算部211aは、以下の(3)式に示すように、第1出力データy1を生成関数Genに入力し、第3中間データz3と第3補助データw3を計算する(ステップS603)。
(z3,w3)=Gen(y1)・・・(3)
【0064】
第2補助データ計算部211bは、第1入力データx1と(z3,w1,w3)のうち少なくとも第3中間データz3および第3補助データw3を含む成分を入力して、以下の手順で第2補助データw2を計算する。
【0065】
第2補助データ計算部211bは、(z3,w1,w3)のうち少なくとも第3中間データz3および第3補助データw3を含む成分から、第1の実施形態と同様に暗号化鍵keを計算する(ステップS604)。なお、鍵k2を保持する構成の場合には鍵k2から暗号化鍵keを計算しても良い。
【0066】
第2補助データ計算部211bは、第1入力データx1と暗号化鍵keを暗号化関数Encに入力して暗号化処理を行い、第2補助データw2=Enc(ke,x1)を計算する(ステップS605)。入出力部213は、(y1,w1,w2,w3)を出力する(ステップS606)。
【0067】
再現部120の処理手順は、第1の実施形態の図3と同様であるため、説明を省略する。
【0068】
次に、このように構成された第2の実施形態にかかる情報処理装置200による逆像計算処理について図9を用いて説明する。図9は、第2の実施形態における逆像計算処理の全体の流れを示すフローチャートである。
【0069】
逆像計算部230の入出力部232は、第1出力データy1と所定の誤差の範囲(第2範囲)内であることが期待される第3入力データx3と第1補助データw1と第2補助データw2と第3補助データw3とを受け付ける(ステップS701)。逆像計算部230の第3計算部231は、以下の手順で(x3,w1,w2,w3)から第3出力データy3を計算する。
【0070】
第3計算部231のRep計算部231aは、(x3,w3)を再現関数Repに入力して第4中間データz4=Rep(x3,w3)を計算する(ステップS702)。第3入力データx3が第1出力データy1との所定の誤差の範囲内にあれば、第4中間データz4は第3中間データz3に一致する。
【0071】
第3計算部231は、第1の実施形態と同様に(z4,w1,w3)のうち少なくとも第4中間データz4および第3補助データw3を含む成分から、第1の実施形態と同様に復号鍵kdを計算する(ステップS703)。なお、逆像計算部230が鍵k3を保持する構成の場合には鍵k3から復号鍵kdを計算しても良い。
【0072】
次に、第3計算部231は、第3出力データy3=Dec(kd,w2)を計算する(ステップS704)。入出力部232は、第3出力データy3を出力する(ステップS705)。
【0073】
ここで、(y1,w1,w2,w3)が生成部210により第1入力データx1から計算されたデータであり、第3入力データx3が第1出力データy1と所定の誤差の範囲内にあるならば、第3出力データy3は第1入力データx1に一致する。
【0074】
(変形例2)
第1の実施形態における変形例1と同様に、以下の変形例2を構成することができる。第2の実施形態における生成部210の第2補助データ計算部211bおよび逆像計算部230の第3計算部231が、暗号化関数および復号関数の代わりにハッシュ関数(族)を保持し、変形例1と同様の処理により第2補助データおよび第3出力データを計算する。
【0075】
このように、第2の実施形態にかかる情報処理装置では、入力を復元するときに逆像計算部の入出力部に与えられる入力が、擬似乱数を生成するときに出力された出力データと所定の誤差の範囲にあれば、生成部の入力を復元することができる。
【0076】
(第3の実施形態)
第3の実施形態では、第1の実施形態に示した構成の適用例として、音声認証システムの構成例を示す。前述した変形例1、第2の実施形態、変形例2を用いても、同様に音声認証システムを構成することができる。
【0077】
図10は、第3の実施形態の音声認証システムを実現する情報処理装置300の構成の一例を示すブロック図である。図10に示すように、情報処理装置300は、登録処理部310と、認証処理部320と、音声復元部330と、入出力部301と、記憶部340と、を備えている。これらは、それぞれ個別の機器で構成されても良いし、1つ以上が同一の機器で構成されても良い。なお、第1の実施形態と同様の機能を備える構成部は同一の符号を付し、ここでの説明は省略する。
【0078】
入出力部301は、登録用音声データ、認証用音声データ、登録要求、認証要求、および、音声復元要求を受け付け、登録結果、認証結果、および、登録音声を出力する。
【0079】
登録処理部310は、第1の実施形態に示す生成部110を内部に保持し、登録用音声データを受け付けて、第1出力データ、第1補助データおよび第2補助データを出力する。
【0080】
認証処理部320は、第1の実施形態に示す再現部120を内部に保持し、認証用音声データ、第1出力データおよび第1補助データを入力として受け付け、認証結果を出力する。
【0081】
音声復元部330は、第1の実施形態に示す逆像計算部130を内部に保持し、第1出力データ、第1補助データおよび第2補助データを入力として、第3出力データを出力する。正常に動作する場合には、第3出力データは対応する登録用音声データに一致する。
【0082】
記憶部340は、第1出力データ、第1補助データおよび第2補助データを保持する。これらの情報は利用者の識別情報とともに保持されても良い。
【0083】
次に、このように構成された第3の実施形態にかかる情報処理装置300による登録処理について図11を用いて説明する。登録処理とは、登録用音声データから擬似乱数を生成して認証用データベースとして機能する記憶部340に登録する処理である。図11は、第3の実施形態における登録処理の全体の流れを示すフローチャートである。
【0084】
情報処理装置300の入出力部301は、登録要求と登録用音声データ(第1入力データx1)とを受け付ける(ステップS801)。登録処理部310は、登録用音声データを生成部110に入力し、第1出力データy1、第1補助データw1および第2補助データw2を計算する(ステップS802)。ステップS802の処理は、図2と同様の処理により実現できる。
【0085】
登録処理部310は、記憶部340に第1出力データy1、第1補助データw1および第2補助データw2を記憶する(ステップS803)。ステップS801で利用者の識別情報が入力される場合には、ステップS803で識別情報を第1出力データy1などとともに記憶部340に保存しても良い。入出力部301は、登録完了通知を出力する(ステップS804)。
【0086】
次に、このように構成された第3の実施形態にかかる情報処理装置300による認証処理について図12を用いて説明する。認証処理とは、認証用音声データおよび補助データから計算した出力データと、登録処理で記憶部340に保存した出力データ(第1出力データy1)とを比較することにより、認証用音声データを認証する処理である。図12は、第3の実施形態における認証処理の全体の流れを示すフローチャートである。
【0087】
情報処理装置300の入出力部301は、認証要求と認証用音声データ(第1入力データx2)とを受け付ける(ステップS901)。認証処理部320は、記憶部340から第1出力データy1と第1補助データw1とを読み出す(ステップS902)。次に、認証処理部320は、認証用音声データと第1補助データw1とを再現部120に入力し、第2出力データy2を計算する(ステップS903)。認証処理部320は、第1出力データy1と第2出力データy2が一致するか否かを検査する(ステップS904)。
【0088】
検査結果が一致する場合(ステップS904:Yes)、入出力部301は認証に合格したことを表す情報を出力する(ステップS905)。検査結果が一致しない場合(ステップS904:No)、入出力部301は認証に合格しなかったことを表す情報を出力する(ステップS906)。
【0089】
次に、このように構成された第3の実施形態にかかる情報処理装置300による音声データ復元処理について図13を用いて説明する。音声データ復元処理とは、登録処理で出力されたデータ(第1出力データ等)から、登録用音声データを復元する処理である。図13は、第3の実施形態における音声データ復元処理の全体の流れを示すフローチャートである。
【0090】
情報処理装置300の入出力部301は、音声復元要求を受け付ける(ステップS1001)。音声復元部330は、記憶部340から第1出力データy1、第1補助データw1および第2補助データw2を読み出す(ステップS1002)。次に、音声復元部330は、第1出力データy1、第1補助データw1および第2補助データw2を逆像計算部130に入力し、第3出力データy3を計算する(ステップS1003)。入出力部301は、第3出力データy3を出力する(ステップS1004)。
【0091】
認証用データベース(記憶部340)に保持されるデータは、第1出力データ、第1補助データおよび第2補助データである。音声復元部330は、これらのデータから登録用音声データを復元することができる。しかし、音声復元部330を備えない機器は、これらのデータから登録用音声データを復元することはできない。そのため、記憶部340の管理者の不注意や、記憶部340に不正アクセスが試みられた場合に、記憶部340の保持するデータが漏洩したとしても、登録用音声データは保護される。したがって、登録用音声データに関わるキーフレーズや声紋の情報は保護される。
【0092】
このように、第3の実施形態では、上記実施形態に示した構成を適用した音声認証システムを実現することができる。
【0093】
以上説明したとおり、第1から第3の実施形態によれば、擬似乱数を生成するときに、出力データから入力データを計算(復元)するためのデータ(第2補助データ)を計算し、第2補助データと出力データとから入力データを計算することができる。これにより、擬似乱数を生成したときの入力データを復元することが可能となる。例えば、上記各実施形態の情報処理装置を、ファジー・エクストラクタを用いた認証システムに適用すれば、認証システムが記憶する生体情報に固有なデータから、生体情報を復元することができるようになる。
【0094】
第1から第3の実施形態に係る発明が適用される場面の一例を説明する。生体情報を用いた認証システムは、上述のとおり、生体情報を読み込み、生体情報に特徴的なデータを計算して認証処理を行う。このとき、以下の2点が要求される。
(1)例えば、生体情報として発話を用いる場合には、発話の速度や声の大小などが一定ではないことや周囲の雑音などにより、読み込まれる生体情報に誤差が含まれる。そのため、生体情報を用いた認証システムでは、入力された生体情報が所定の誤差範囲内であれば、生体情報に固有のデータを出力することが要求される。
(2)生体情報には、発話のほかにも、指紋や虹彩など人間固有の情報が用いられる。しかし、生体情報には、他者の生体情報と類似する点も多く含まれる。一方、認証に用いる生体情報に特徴的なデータは、誤認証を減らすためにも、生体情報に対して一様に定められることが望ましい。理想的には、生体情報に特徴的なデータとしては、生体情報ごとに異なるデータを用いることが望ましい。
生体情報を用いた認証システムにファジー・エクストラクタを用いる場合には、認証システムが記憶する生体情報に固有なデータと補助データとから、生体情報を復元することができない。例えば、発話を用いた認証システムでは、利用者が発話内容や話し方を忘れたとき、認証システムが記憶する情報からそれらを復元することはできない。しかし、第1から第3の実施形態の方法によれば、認証システムが記憶する生体情報に固有なデータから、生体情報を復元することができる。したがって、例えば、発話を用いた認証システムにおいて、利用者が発話内容や話し方を忘れたとき、認証システムが記憶する情報からそれらを復元できるため、認証システムへの再登録や過去の登録状況の消去などが不要となる。
【0095】
次に、第1から第3の実施形態にかかる情報処理装置のハードウェア構成について図14を用いて説明する。図14は、第1から第3の実施形態にかかる情報処理装置のハードウェア構成を示す説明図である。
【0096】
第1から第3の実施形態にかかる情報処理装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0097】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0098】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成しても良い。
【0099】
さらに、第1から第3の実施形態にかかる情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、第1から第3の実施形態にかかる情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0100】
第1から第3の実施形態にかかる情報処理装置で実行されるプログラムは、コンピュータを前述した情報処理装置の各部(生成部等)として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0101】
なお、本実施形態は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除しても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【0102】
100、200、300 情報処理装置
110、210 生成部
111、211 第1計算部
111a、211a Gen計算部
111b、211b 第2補助データ計算部
113、213 入出力部
120 再現部
121 第2計算部
122 入出力部
130、230 逆像計算部
131、231 第3計算部
132、232 入出力部
231a Rep計算部
301 入出力部
310 登録処理部
320 認証処理部
330 音声復元部
340 記憶部
【特許請求の範囲】
【請求項1】
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部と、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記第1計算部は、前記第1出力データおよび前記第1補助データのうち少なくとも1つに基づいて、前記第1入力データを暗号化するための暗号化鍵を計算し、前記暗号化鍵によって前記第1入力データを暗号化した前記第2補助データを計算し、
前記第3計算部は、前記第1出力データおよび前記第1補助データのうち少なくとも1つに基づいて、前記第2補助データを復号するための復号鍵を計算し、前記復号鍵によって前記第2補助データを復号した前記第1入力データを計算すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1計算部は、複数のハッシュ関数のうち、前記第1出力データおよび前記第1補助データのうち少なくとも1つに応じて定められる前記ハッシュ関数を選択し、選択された前記ハッシュ関数と前記第1入力データとに基づいて前記第2補助データを計算し、
前記第3計算部は、複数の前記ハッシュ関数のうち、前記第1出力データおよび前記第1補助データのうち少なくとも1つに応じて定められる前記ハッシュ関数を選択し、選択されたハッシュ関数と前記第2補助データとに基づいて前記第1入力データを計算すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第1計算部は、前記第1出力データとの誤差が予め定められた第2範囲内の第3入力データから前記第1入力データを計算するための第3補助データをさらに計算し、前記第1出力データおよび前記第3補助データのうち少なくとも1つと、前記第1入力データとに基づいて前記第2補助データを計算し、
前記第3計算部は、前記第3入力データと前記第3補助データとから、前記第1出力データを計算し、計算した前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項5】
外部装置と接続された擬似乱数生成装置であって、
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部と、
を備え、
前記外部装置は、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、を備えること、
を特徴とする擬似乱数生成装置。
【請求項6】
外部装置と接続されたコンピュータを、
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部
として機能させるためのプログラムであって、
前記外部装置は、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、を備えること、
を特徴とするプログラム。
【請求項1】
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部と、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記第1計算部は、前記第1出力データおよび前記第1補助データのうち少なくとも1つに基づいて、前記第1入力データを暗号化するための暗号化鍵を計算し、前記暗号化鍵によって前記第1入力データを暗号化した前記第2補助データを計算し、
前記第3計算部は、前記第1出力データおよび前記第1補助データのうち少なくとも1つに基づいて、前記第2補助データを復号するための復号鍵を計算し、前記復号鍵によって前記第2補助データを復号した前記第1入力データを計算すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1計算部は、複数のハッシュ関数のうち、前記第1出力データおよび前記第1補助データのうち少なくとも1つに応じて定められる前記ハッシュ関数を選択し、選択された前記ハッシュ関数と前記第1入力データとに基づいて前記第2補助データを計算し、
前記第3計算部は、複数の前記ハッシュ関数のうち、前記第1出力データおよび前記第1補助データのうち少なくとも1つに応じて定められる前記ハッシュ関数を選択し、選択されたハッシュ関数と前記第2補助データとに基づいて前記第1入力データを計算すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第1計算部は、前記第1出力データとの誤差が予め定められた第2範囲内の第3入力データから前記第1入力データを計算するための第3補助データをさらに計算し、前記第1出力データおよび前記第3補助データのうち少なくとも1つと、前記第1入力データとに基づいて前記第2補助データを計算し、
前記第3計算部は、前記第3入力データと前記第3補助データとから、前記第1出力データを計算し、計算した前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算すること、
を特徴とする請求項2に記載の情報処理装置。
【請求項5】
外部装置と接続された擬似乱数生成装置であって、
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部と、
を備え、
前記外部装置は、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、を備えること、
を特徴とする擬似乱数生成装置。
【請求項6】
外部装置と接続されたコンピュータを、
第1入力データを受付ける受付部と、
前記第1入力データに基づいて、第1出力データと、前記第1入力データとの誤差が予め定められた第1範囲に含まれる第2入力データから前記第1出力データを計算するための第1補助データとを計算し、前記第1出力データおよび前記第1補助データのうち少なくとも1つと、前記第1入力データとに基づいて、前記第1出力データから前記第1入力データを計算するための第2補助データを計算する第1計算部
として機能させるためのプログラムであって、
前記外部装置は、
前記第2入力データと前記第1補助データとに基づいて前記第1出力データを計算する第2計算部と、
前記第1出力データと前記第2補助データとに基づいて前記第1入力データを計算する第3計算部と、を備えること、
を特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−119922(P2012−119922A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−267549(P2010−267549)
【出願日】平成22年11月30日(2010.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願日】平成22年11月30日(2010.11.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]