(57)【要約】デジタル値のランダム性をテストして前記デジタル値を処理する装置が提供される。前記デジタル値は、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）によって生成される第１ビットシーケンスを含む。グルーピング部は、前記第１ビットシーケンスをグルーピングし、複数のグループを生成し、処理部は、論理演算を行って前記複数のグループから第２ビットシーケンスを算出する。
2017508173.tif 000002
【特許請求の範囲】
【請求項１】
ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）によって生成される第１デジタル値に含まれる第１ビットシーケンスをグルーピングして、複数のグループを生成するグルーピング部と、
論理演算によって前記複数のグループから第２ビットシーケンスを算出し、前記第２ビットシーケンスを含む第２デジタル値を生成する処理部と、
を含む、デジタル値処理装置。
【請求項２】
前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算である、請求項１に記載のデジタル値処理装置。
【請求項３】
前記第１ビットシーケンスを判読して前記第１デジタル値が予め指定されたレベルのランダム性を有するか否かを判断する判断部をさらに含む、請求項１に記載のデジタル値処理装置。
【請求項４】
前記予め指定されたレベルのランダム性は、前記第１ビットシーケンスに対して算出されるＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるものである、請求項３に記載のデジタル値処理装置。
【請求項５】
前記第１ビットシーケンスを判読して前記グルーピングに関するパラメータを決定する判断部をさらに含む、請求項１に記載のデジタル値処理装置。
【請求項６】
前記パラメータは前記生成される複数のグループ個数であり、
前記判断部は、
前記第１ビットシーケンスを判読して前記第１ビットシーケンスに含まれる「１」及び「０」の比率を算出する判読部と、
前記比率を用いて算出される前記第２ビットシーケンスのＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるようにする前記パラメータを算出する算出部と、
を含む、請求項５に記載のデジタル値処理装置。
【請求項７】
デジタル値処理装置のグルーピング部が、ＰＵＦによって生成される第１デジタル値に含まれる第１ビットシーケンスをグルーピングし、複数のグループを生成するグルーピングステップと、
前記デジタル値処理装置の処理部が、論理演算を行って前記複数のグループから第２ビットシーケンスを算出し、前記第２ビットシーケンスを含む第２デジタル値を生成する処理ステップと、
を含む、デジタル値処理方法。
【請求項８】
前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算である、請求項７に記載のデジタル値処理方法。
【請求項９】
前記デジタル値処理装置の判断部が、前記第１ビットシーケンスを判読して前記第１デジタル値が予め指定されたレベルのランダム性を有するか否かを判断する判断ステップをさらに含む、請求項７に記載のデジタル値処理方法。
【請求項１０】
前記予め指定されたレベルのランダム性は、前記第１ビットシーケンスに対して算出されるＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるものである、請求項９に記載のデジタル値処理方法。
【請求項１１】
前記デジタル値処理装置の判断部が、前記第１ビットシーケンスを判読して前記グルーピングに関するパラメータを決定する判断ステップをさらに含む、請求項７に記載のデジタル値処理方法。
【請求項１２】
前記パラメータは前記生成される複数のグループ個数であり、
前記判断ステップは、
前記第１ビットシーケンスを判読して前記第１ビットシーケンスに含まれる「１」及び「０」の比率を算出するステップと、
前記比率を用いて算出される前記第２ビットシーケンスのＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるようにする前記パラメータを算出するステップと、
を含む、請求項１１に記載のデジタル値処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
セキュリティー分野に関し、より詳しくは、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）によって生成されたデジタル値のランダム性を判断し、必要に応じてランダム性を向上させることのできるデジタル値を処理する装置及び方法に関する。
【背景技術】
【０００２】
ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）は予測不可能なデジタル値を提供する。個々のＰＵＦは正確な製造工程が与えられ、同一の工程で製造されても前記個々のＰＵＦが提供するデジタル値は異なる。
【０００３】
ＰＵＦは、複製が不可能なＰＯＷＦ（Ｐｈｙｓｉｃａｌ  Ｏｎｅ−Ｗａｙ  Ｆｕｎｃｔｉｏｎ  ｐｒａｃｔｉｃａｌｌｙ  ｉｍｐｏｓｓｉｂｌｅ  ｔｏ  ｂｅ  ｄｕｐｌｉｃａｔｅｄ）又はＰＲＦ（Ｐｈｙｓｉｃａｌ  Ｒａｎｄｏｍ  Ｆｕｎｃｔｉｏｎ）のように称されてもよい。
【０００４】
このようなＰＵＦの特性がセキュリティー及び／又は認証のための暗号キーの生成に用いられる。例えば、デバイスを他のデバイスと区別するためのユニークキーを提供するためにＰＵＦを用いてもよい。
【０００５】
韓国登録特許１０−１１３９６３０号（以下‘６３０特許）において、ＰＵＦを実現する方法が提示されている。‘６３０特許では、半導体の工程変移を用いて半導体の伝導性レイヤ（Ｃｏｎｄｕｃｔｉｖｅ  ｌａｙｅｒｓ  ｏｒ  ｃｏｎｄｕｃｔｉｖｅ  ｎｏｄｅｓ）間のインターレイヤコンタクト（Ｉｎｔｅｒ−ｌａｙｅｒ  ｃｏｎｔａｃｔ）又はビア（ｖｉａ）の生成有無が確率的に決定されるようにしてＰＵＦを生成する方法を提示する。
【０００６】
‘６３０特許で提示された実施形態の１つは、伝導性レイヤ間に形成されるビアのサイズを小さく設計することによって、ビアが形成される場合と、そうではない場合をランダムに発生させることにある。これによって、人為的な推測のできないランダムデジタル値が生成された。
【０００７】
このように工程変移を用いてＰＵＦが提供するデジタル値がセキュリティー分野において使用されるためには、前記デジタル値に含まれた個別ビット値が「０」又は「１」に偏らないことから、真の乱数にすることが好ましい。
【０００８】
ところで、場合に応じては、ＰＵＦが提供するデジタル値に含まれた個別ビット値が「０」又は「１」のいずれか一方に偏ることがある。したがって、ＰＵＦによって提供されるデジタル値がランダム性を保障するための方法が要求される。
【発明の概要】
【課題を解決するための手段】
【０００９】
一側面によると、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）によって生成される第１デジタル値を処理してエントロピーが大きく向上した第２デジタル値を生成するデジタル値処理装置が提供される。
一実施形態によると、前記装置は、前記第１デジタル値に含まれる第１ビットシーケンスをグルーピングして、複数のグループを生成するグルーピング部と、論理演算によって前記複数のグループから第２ビットシーケンスを算出し、前記第２ビットシーケンスを含む第２デジタル値を生成する処理部とを含む。
【００１０】
一実施形態によると、前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算であってもよい。
【００１１】
一実施形態によると、前記第１ビットシーケンスを判読して前記第１デジタル値が予め指定されたレベルのランダム性を有するか否かを判断する判断部をさらに含んでもよい。
【００１２】
この場合、前記予め指定されたレベルのランダム性は、前記第１ビットシーケンスに対して算出されるＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるものであってもよい。
【００１３】
一実施形態によると、前記判断部は、前記第１ビットシーケンスを判読して前記グルーピングに関するパラメータを決定してもよい。
【００１４】
一実施形態によると、前記パラメータは前記生成される複数のグループ個数であってもよい。
【００１５】
この場合、前記判断部は、前記第１ビットシーケンスを判読して前記第１ビットシーケンスに含まれる「１」及び「０」の比率を算出する判読部と、前記比率を用いて算出される前記第２ビットシーケンスのＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるようにする前記パラメータを算出する算出部とを含んでもよい。
【００１６】
他の実施形態によると、デジタル値処理装置が、ＰＵＦによって生成される第１デジタル値を処理してエントロピーが大きく向上した第２デジタル値を生成するデジタル値処理方法が提供される。
【００１７】
一実施形態によると、前記方法は、前記装置のグルーピング部が、ＰＵＦによって生成される第１デジタル値に含まれる第１ビットシーケンスをグルーピングし、複数のグループを生成するグルーピングステップと、前記装置の処理部が、論理演算を行って前記複数のグループから第２ビットシーケンスを算出し、前記第２ビットシーケンスを含む第２デジタル値を生成する処理ステップとを含む。
【００１８】
一実施形態によると、前記論理演算は、排他的ＯＲ（ＸＯＲ）論理演算であってもよい。
【００１９】
一実施形態によると、前記方法は、前記装置の判断部が、前記第１ビットシーケンスを判読して前記第１デジタル値が予め指定されたレベルのランダム性を有するか否かを判断する判断ステップをさらに含んでもよい。
【００２０】
この場合、前記予め指定されたレベルのランダム性は、前記第１ビットシーケンスに対して算出されるＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるものであってもよい。
【００２１】
一実施形態によると、前記方法は、前記装置の判断部が、前記第１ビットシーケンスを判読して前記グルーピングに関するパラメータを決定する判断ステップをさらに含んでもよい。
【００２２】
一実施形態によると、前記パラメータは、前記生成される複数のグループ個数であってもよい。この場合、前記判断ステップは、前記第１ビットシーケンスを判読して前記第１ビットシーケンスに含まれる「１」及び「０」の比率を算出するステップと、前記比率を用いて算出される前記第２ビットシーケンスのＰ−ｖａｌｕｅが予め指定された閾値を超過する条件を満足させるようにする前記パラメータを算出するステップとを含んでもよい。
【図面の簡単な説明】
【００２３】
【図１】一実施形態に係るデジタル値処理装置のブロック図である。
【図２】一実施形態に係る決定部の細部構成及び動作を説明するための概念図である。
【図３】一実施形態に係る決定部の細部構成及び動作を説明するための概念図である。
【図４】一実施形態に係るグルーピング部及び処理部の動作を説明するための概念図である。
【図５】一実施形態に係るデジタル値処理方法を示すフローチャートである。
【図６】一実施形態に係るデジタル値処理方法を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、実施形態を添付する図面を参照しながら詳細に説明する。しかし、権利範囲はこのような実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００２５】
図１は、一実施形態に係るデジタル値処理装置１００のブロック図である。
【００２６】
デジタル値処理装置１００は、ＰＵＦが生成した第１デジタル値Ａを処理し、エントロピー及び／又はランダム性が大きく向上した第２デジタル値Ｂを生成する。
【００２７】
ＰＵＦが生成した第１デジタル値Ａが受信される。前記デジタル値Ａはｍ個のビットシーケンスａ１ないしａｍを含む。ｍは自然数である。
【００２８】
すると、決定部１１０は、ｍ個のビットシーケンスを処理してランダム性を保障できるようパラメータを決定する。
【００２９】
一実施形態によると、前記処理は、ｍ個のビットシーケンスをｎ個にグルーピングし、各グループに含まれたビットシーケンスを論理演算して、ｎ個のビットシーケンスを算出するものである。ｎは自然数である。本明細書全般にわたって前記算出されたｎ個のビットシーケンスを第２デジタル値Ｂのように称する。
【００３０】
このような実施形態において、前記決定部１１０が決定するパラメータは前記グルーピングする場合、１つのグループに含まれるビットシーケンスの数ｉである。ｉは自然数である。
【００３１】
このような処理によって、デジタル値Ｂはランダム性又はエントロピーが大きく向上した値になり得る。
【００３２】
より具体的に、このような処理過程及びエントロピーの向上効果について説明する。
【００３３】
ＰＵＦが提供する第１デジタル値Ａに含まれたｍ個のビットシーケンスａ１ないしａｍのそれぞれが「１」である確率をｐであり、「０」である確率をｑであると仮定する。すると、ｐ及びｑの合計は１であり、ｐ及びｑのそれぞれは０以上１以下の実数である。
【００３４】
一実施形態によると、グルーピング部１２０は、ｍ個のビットシーケンスをｉ個ずつグルーピングし、ｎ個以上のグループを生成する。生成されなければならないランダムシーケンスを含むデジタル値Ｂがｎビットであれば、ｉは（ｍ／ｎ）以下の値のうち決定部１１０が選択する自然数であってもよい。
【００３５】
一実施形態によると、処理部１３０は、１つのグループに含まれたｉ個のビットシーケンスを論理演算して１ビットのデジタル値を生成する。ｎ個のグループからそれぞれ１ビットずつ生成され、ｎビットのデジタル値が生成される。
【００３６】
一実施形態によると、前記論理演算は、前記ｉ個のビットシーケンスを入力にして算出される排他的ＯＲ（ｅＸｃｌｕｓｉｖｅ  ＯＲ：ＸＯＲ）演算であってもよい。ただし、前記ＸＯＲ演算は前記論理演算の一実施形態に過ぎないため、他の任意の論理演算を排除するものと理解されることはない。
【００３７】
一方、いずれか１つのグループでｉ個の入力に対してＸＯＲ演算の出力値が「１」である確率は下記の数式の通りである。
【００３８】
【数１】
2017508173.tif 000003
【００３９】
前記数式１を察すると、ｉ値が大きくなるほどＸＯＲ演算の出力として決定されるビット値が「１」である確率は５０％に収斂する。したがって、１つのグループに含まれるｉ個の入力ビット値それぞれが「１」である確率は５０％でなくても、ｉ値を増やすことによってＸＯＲ演算の出力は迅速に５０％に近づき、エントロピーが極めて高くなる。
【００４０】
このような結果を表に整理すれば、下記のとおりである。
【００４１】
【表１】
2017508173.tif 000004
【００４２】
表１に示すように、ＰＵＦが提供したｍビットの第１デジタル値Ａをｉ個ずつグルーピングすると、第１デジタル値Ａに含まれたビットシーケンスのそれぞれが「１」又は「０」のいずれか一方に偏っていても、ＸＯＲ演算後の結果値が「１」である確率はこれよりも遥かに５０％に近づくことが確認される。具体的に、第１デジタル値Ａに含まれたビットシーケンスａｋが「１」である確率は２０％に過ぎない場合であっても（すなわち、ｐ＝０．２）、ビットシーケンスを８個ずつグルーピングして（すなわち、ｉ＝８）ＸＯＲ演算すると、その結果が「１」である確率は４９％となることが確認できる。
【００４３】
図２は、一実施形態に係る決定部１１０の細部構成及び動作を説明するための概念図である。
【００４４】
一実施形態によると、決定部１１０は、ＰＵＦ２０１から第１デジタル値Ａを受信する。ＰＵＦ２０１が生成したデジタル値Ａはｍ個のビットシーケンスａ１ないしａｍを含んでもよい。ここで、ｍは自然数である。
【００４５】
一実施形態によると、ＰＵＦ２０１は、半導体の伝導性レイヤ間に形成されるｍ個のビアを含んでもよい。前記ビットシーケンスａ１ないしａｍは、前記ｍ個のビアそれぞれが半導体の伝導性レイヤ間を短絡するか、又は短絡できないかに応じてデジタル値「１」又は「０」に決定されてもよい。
【００４６】
前記のように、前記ビットシーケンスａ１ないしａｍのそれぞれが「１」になる確率をｐといい、「０」になる確率をｑという。
【００４７】
ＰＵＦ２０１に含まれたｍ個のビアサイズは、ｐ＝ｑ＝０．５が予想されるビアのサイズである。ところで、このような予想にもかかわらず、実際にＰＵＦ２０１を製造すれば、様々な理由によってｐとｑが同一でない場合もある。この点については、ＰＵＦ２０１によって生成されたランダムなデジタル値を様々な産業分野、特に、セキュリティー分野で活用するために解決すべき課題と認識される。
【００４８】
一実施形態によると、判読部２１０は、ＰＵＦ２０１が生成したデジタル値Ａに含まれたビットシーケンスａ１ないしａｍを判読する。このような判読過程によってビットシーケンスａ１ないしａｍに含まれた「１」の個数と「０」の個数がカウントされる。カウントが行われる場合に、前記ｐはｍ個のビットシーケンスのうち値が「１」のシーケンス数の比率になる。
【００４９】
そして、算出部２２０は、このようにカウントされた「１」の個数と「０」の個数を用いて、前記ビットシーケンスａ１ないしａｍが予め決定したランダム性テストを通過するか否かを判断する。
【００５０】
ランダム性をテストする数多い方法は、生成されたデジタル値が真の乱数であるためには、「０」及び「１」の発生頻度が類似するか否かのテストを通過しなければならない点を提示している。
【００５１】
例えば、米国合衆国技術委員会傘下のＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ）のＳｐｅｃｉａｌ  Ｐｕｂｌｉｃａｔｉｏｎ  ８００−２２「Ａ  Ｓｔａｔｉｓｔｉｃａｌ  Ｔｅｓｔ  Ｓｕｉｔｅ  ｆｏｒ  Ｒａｎｄｏｍ  ａｎｄ  Ｐｓｅｕｄｏｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒｓ  ｆｏｒ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ａｐｐｌｉｃａｔｉｏｎｓ」でもセキュリティー分野で使用される乱数はこのような頻度数テストを通過することを明示している。
【００５２】
一実施形態によると、算出部２２０は、ＰＵＦ２０１で生成したデジタル値Ａに対して、予めＮＩＳＴ８００−２２によるＰ−Ｖａｌｕｅを算出及び／又は予測し、前記デジタル値Ａがこのような頻度数テストを通過できるか否かを判断することができる。
【００５３】
すると、ＰＵＦ２０１で提供されるデジタル値がテストを通過するか否かを予め把握可能になるため、不良率を予め予測することができ、テストを通過するため、図１に示すグルーピング部１２０及び処理部１３０で用いるグルーピングサイズを決定することもできる。
【００５４】
より具体的に説明すると、ＰＵＦ２０１が生成したデジタル値Ａに含まれたビットシーケンスａ１ないしａｍが入力される場合、ＮＩＳＴ８００−２２によるＰ−Ｖａｌｕｅを算出は下記のとおりである。
【００５５】
【数２】
2017508173.tif 000005
【００５６】
算出部２２０は、数式（２）によってビットシーケンスａｋに（１≦ｋ≦ｍ）対してＸｋを求め、Ｘｋを加えてＳｍ値を算出する。この過程は、ビットシーケンスａｋが「１」である場合にＸｋ値を「１」にし、ビットシーケンスａｋが「０」である場合にＸｋ値を「−１」に変換した後、ｍ個のビットシーケンスに対して算出されたＸｋ値を全て加えたＳｍ値を算出する過程である。
【００５７】
ビットシーケンスに「１」が「０」よりも多く含まれていれば、Ｓｍ値は正数になり、反対に、ビットシーケンスに「０」が「１」よりも多く含まれていれば、Ｓｍ値は負数となる。「１」及び「０」の数の差が大きいほど、Ｓｍの絶対値は大きくなる。
【００５８】
【数３】
2017508173.tif 000006
【００５９】
【数４】
2017508173.tif 000007
【００６０】
そして、算出部２２０は、数式（３）及び数式（４）によりＰ−ｖａｌｕｅを算出する。「ｅｒｆｃ」とは「Ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｅｒｒｏｒ  ｆｕｎｃｔｉｏｎ」である。ＮＩＳＴ８００−２２では、このように算出されたＰ−ｖａｌｕｅが一定の閾値よりも大きい値でなければ、デジタル値Ａがランダムシーケンスであると判断するデシジョンルール（Ｄｅｃｉｓｉｏｎ  Ｒｕｌｅ）を提示することができない。前記閾値は、例えば、０．１又は０．０１などであってもよく、要求されるランダム性のレベルに応じて相違に設定される。
【００６１】
算出部２２０は、このような算出によってＰＵＦ２０１が提供するデジタル値Ａのランダム性をチェックすることができる。
【００６２】
具体的に、図１に基づいて説明した実施形態を参照し、その過程を説明する。
【００６３】
前記実施形態によって、「１」である確率がｐであるビットシーケンスをｉ個ずつグルーピングし、各グループのｉ個のビットシーケンスをＸＯＲ演算して、各グループごとに１ビットのビットシーケンスを算出することができる。すると、ｎ個のグループによってｎビットの第２デジタル値Ｂが生成される。
【００６４】
数式（１）を参照すると、第２デジタル値Ｂに含まれるｎ個のビットシーケンスのそれぞれが「１」である確率は、（（１／２）−（１／２）・（１−２ｐ）ｉ）ある。
【００６５】
すると、数式（２）ないし数式（４）を参考して算出されるデジタル値ＢのＰ−ｖａｌｕｅは下記のとおりである。
【００６６】
【数５】
2017508173.tif 000008
【００６７】
このような数式（５）を利用すると、与えられた第１ビットシーケンスをｉ個ずつグルーピングして各グループをＸＯＲ演算することにより、ｎビットの第２ビットシーケンスＢを生成するときのＰ−ｖａｌｕｅを予め算出できる。
【００６８】
一方、一実施形態によると、セキュリティー分野などで用いられるランダムシーケンスのビット数ｎが決定される場合、算出部２２０はランダム性テスト、例えば、前記ＮＩＳＴ８００−２２を通過するために必要なグルーピングサイズｉを算出することができる。このような過程は、図３を参照して詳細に説明する。
【００６９】
図３は、一実施形態に係る決定部１１０の細部構成及び動作を説明するための概念図である。
【００７０】
上記のようにＰＵＦ２０１がｍ個のビットシーケンスａ１ないしａｍを含む第１デジタル値Ａを提供する場合、判読部２１０は、ビットシーケンスａ１ないしａｍの「１」をカウントしてｐを算出する。
【００７１】
そして、セキュリティー分野で用いるために必要な第２デジタル値Ｂがｎビットである場合、このｎと前記算出されたｐを数式（５）に代入してＰ−ｖａｌｕｅを算出できる。これにより、与えられたデシジョンルールによるランダムテストを通過するためのグループサイズｉを算出することができる。
【００７２】
一方、他の観点で前記過程を応用すると、必要な第２デジタル値のビット数ｎが与えられ、特定工程で提供するＰＵＦに対してビット数が「１」である確率ｐが与えられる場合、グループサイズｉが算出され得るため、ＰＵＦの１つに最小ｎ＊ｉ個のビアホールを形成しなければならないものとして決定してもよい。
【００７３】
以上の実施形態に対する具体的な演算過程について図４〜図５を参照して説明する。
【００７４】
図４は、一実施形態に係るグルーピング部１２０及び処理部１３０の動作を説明するための概念図である。
【００７５】
グルーピング部１２０は、第１デジタル値Ａに含まれたビットシーケンスをｎ個にグルーピングしてグループＡ１ないしＡｎを生成する。
【００７６】
各グループにはｉ個のビットシーケンスが含まれる。
【００７７】
一実施形態によると、処理部１３０は、各グループに含まれるｉ個のビットシーケンスをＸＯＲ演算して１つのデジタルビットｂｋを算出する。例えば、グループＡ１に含まれたｉ個のビットシーケンスをＸＯＲ演算の入力にしてｂ１を算出する。
【００７８】
このようにｎ個のグループによってｎビットの第２デジタル値Ｂが生成される。
【００７９】
このような実施形態によると、上記のように第２デジタル値Ｂは、エントロピーが極めて高まる。したがって、セキュリティー分野における使用に適する。
【００８０】
図５は、一実施形態に係るデジタル値処理方法を示すフローチャートである。
ステップ５１０において、図１における判読部２１０は、ＰＵＦ２０１が提供する第１デジタル値Ａを判読する。第１デジタル値Ａにはｍ個のビットシーケンスが含まれてもよい。
【００８１】
すると、ステップ５２０において、算出部２２０は、数式（２）ないし数式（４）を用いて第１デジタル値ＡのＰ−ｖａｌｕｅを算出する。
【００８２】
そしてステップ５３０において、算出部２２０は、前記算出されたＰ−ｖａｌｕｅを予め与えられたデシジョンルールによる閾値、例えば、０．１又は０．０１と比較して第１デジタル値Ａがランダムテストを通過するか否かを判断する。
【００８３】
すると、ＰＵＦ２０１で提供されるデジタル値がテストを通過するか否かを予め把握できることから不良率を予め予測でき、テストを通過するために図１に示すグルーピング部１２０及び処理部１３０で用いるグルーピングサイズを決定することもできる。
【００８４】
図６は、一実施形態に係るデジタル値処理方法を示すフローチャートである。
【００８５】
ステップ６１０において、第１デジタル値Ａが与えられたランダムテストを通過するか否かを判断する。もし、デジタル値Ａそのものに含まれているｎ個のビットシーケンスのみを選択したとき、ランダムテストを通過すれば、予め指定された及び／又は任意に選択されるｎビットを第２デジタル値Ｂに決定してもよい。
【００８６】
しかし、ステップ６１０でランダムテストが通過しないと判断される場合、ステップ６２０では、ｎビットのランダムシーケンスを生成するためのグルーピングサイズｉが決定される。
【００８７】
ここで、グルーピングサイズｉは、前記数式（５）により算出されるＰ−ｖａｌｕｅが前記閾値よりも大きい最小の自然数として決定されてもよい。
【００８８】
すると、ステップ６３０において、グルーピング部１２０が第１デジタル値Ａに含まれたビットシーケンスをｉ個ずつグルーピングしてｎ個のグループを生成する。グルーピングされた結果の例示は図４を参照して説明したＡ１ないしＡｎである。
【００８９】
ステップ６４０において、処理部１３０は、各グループのｉ個のビットシーケンスをＸＯＲ演算して各グループごとに１ビットのビットシーケンスを算出する。すると、ｎ個のグループによってｎビットの第２デジタル値Ｂが生成される。
【００９０】
このような実施形態によると、ＰＵＦが生成する最初の第１デジタル値Ａの個別ビットシーケンスが「１」である確率ｐが５０％に達しなくても、デジタル値処理装置１００によって生成される第２デジタル値Ｂはエントロピーが大きく向上することでランダムになることができる。
【００９１】
以上で説明した装置は、ハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、または、命令を実行して応答できる異なる装置のように、１つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現されてもよい。処理装置は、オペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【００９２】
ソフトウェアはコンピュータプログラム、コード、命令、またはこのうちの１つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータで判読可能な記録媒体に格納されてもよい。
【００９３】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【００９４】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００９５】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【図１】
2017508173.tif 000009
【図２】
2017508173.tif 000010
【図３】
2017508173.tif 000011
【図４】
2017508173.tif 000012
【図５】
2017508173.tif 000013
【図６】
2017508173.tif 000014
【国際調査報告】
2017508173.tif 000015
2017508173.tif 000016
2017508173.tif 000017
2017508173.tif 000018