JP4521708B2 - 乱数生成装置 - Google Patents

乱数生成装置 Download PDF

Info

Publication number
JP4521708B2
JP4521708B2 JP2001069401A JP2001069401A JP4521708B2 JP 4521708 B2 JP4521708 B2 JP 4521708B2 JP 2001069401 A JP2001069401 A JP 2001069401A JP 2001069401 A JP2001069401 A JP 2001069401A JP 4521708 B2 JP4521708 B2 JP 4521708B2
Authority
JP
Japan
Prior art keywords
random number
random
code
pulse
initial value
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
JP2001069401A
Other languages
English (en)
Other versions
JP2002268875A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2001069401A priority Critical patent/JP4521708B2/ja
Priority to US10/094,020 priority patent/US7266575B2/en
Priority to EP02090102A priority patent/EP1241564A3/en
Publication of JP2002268875A publication Critical patent/JP2002268875A/ja
Application granted granted Critical
Publication of JP4521708B2 publication Critical patent/JP4521708B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/588Random number generators, i.e. based on natural stochastic processes

Description

【0001】
【発明の属する技術分野】
本発明は、乱数生成装置に関する。
【0002】
【従来の技術】
数学的プログラムにより生成される乱数は、周期性または再現性が発生する可能性がある。このため、物理現象を利用して乱数を生成する乱数生成装置が望まれている。
【0003】
特開平11−184676号公報に示されている自然乱数生成カードは、原子核からランダムに放射されるα線を、PINダイオードで検出してランダムなパルスを発生させ、このパルスを利用して真の乱数を生成させる。1個の崩壊現象により1個の物理乱数を生成させる新しい方式により、ごく微量な線量を用いて、必要とする速度で必要な桁数の物理乱数を生成させる。計測したパルス数と最初に設定した基準パルス数とを比較することにより不正の検定や使用期限を設定する。
【0004】
このような自然乱数生成カードは、原子核の崩壊というランダムな現象を利用して人工的な操作や解読が不可能な物理乱数を生成し、個人の認証やデータの暗号化に利用される。不正使用の自己検定やカードの使用期限の設定などにセキュリティーの向上を図ることができる。
【0005】
図18に示されている公知の乱数生成装置は、ランダムパルス発生回路102、クロック発生回路103、時間計測器104および乱数保持回路105を備えている。時間計測器104は、カウンタ107を備えている。ランダムパルス発生回路102は、時間計測器104のカウンタ107に接続されている。クロック発生回路103は、時間計測器104のカウンタ107に接続されている。カウンタ107は、乱数保持回路105に接続されている。
【0006】
ランダムパルス発生回路102は、周期を持たないパルスであるランダムパルス107を出力する。ランダムパルス発生回路102は、図示されていない抵抗器、増幅器およびコンパレータを備えている。抵抗器は、温度に応じて電子の熱運動により変動する電圧値vを出力する。増幅器は、この電圧値vを増幅してコンパレータに出力する。コンパレータは、増幅された電圧値vと一定値である閾値Vとを入力し、電圧値vが閾値V以上であるならばHighを出力し、電圧値vが閾値V未満であるならばLowを出力する。
【0007】
閾値Vが十分に高いとき、電圧値vが閾値V以上になる確率は低くなり、コンパレータの出力はパルス状になる。このパルスは、ランダムパルス107としてランダムパルス発生回路102により出力される。このように熱雑音により生成されたランダムパルス11は、隣り合う2つのパルスの時間間隔τが一様分布に従わないで指数分布に従う。
【0008】
クロック発生回路103は、周期を有するパルスであるクロック信号112を出力する。カウンタ107は、ランダムパルス111とクロック信号112とを入力して、乱数コード113を出力する。カウンタ107は、ランダムパルス111の1個のパルスが入力されると、クロック信号112のパルスの個数であるカウント数cを0から2進法で計数し始める。カウンタ107は、ランダムパルス111の次のパルスが入力されると計数を停止して計数されたカウント数cの下位8桁を乱数コード113として出力する。
【0009】
乱数コード113は、ランダムパルス111の隣り合う2つのパルスの時間間隔τに出力されたクロック信号112のパルスの個数を256で除算したときの剰余と一致している。すなわち、クロック数cが256を法として合同であるとき、それぞれに対応する乱数コード113は、一致している。
【0010】
乱数保持回路105は、時間計測器104で生成された乱数コード113を順次記録し、記録された乱数コード113のうちで最古のコードを乱数生成装置1が搭載されている装置に適宜出力する。
【0011】
図19は、このように生成される乱数コード113の度数分布を示している。この度数分布は、乱数コード113が大きいほど度数が小さくなり、乱数コード113が一様分布に従わないことを示している。さらに、この度数分布は、乱数コード113の度数のバラツキ(標準偏差)が大きいことを示している。図20は、乱数コード113のFFT結果を示している。このFFT結果は、スペクトルが存在しないことを示し、スペクトルが存在しないことは乱数コード113に周期性がないことを示している。物理現象に基づいて乱数を生成し、かつ、その乱数が一様分布に従う乱数生成装置が望まれている。
【0012】
【発明が解決しようとする課題】
本発明の課題は、周期性または再現性がなく、かつ、一様分布に従う乱数を生成する乱数生成装置を提供することにある。
本発明の他の課題は、物理現象を利用して、一様分布に従う乱数を生成する乱数生成装置を提供することにある。
本発明のさらに他の課題は、隣り合う2つのパルスの時間間隔が一様分布に従わないランダムパルスに基づいて乱数を生成する乱数生成装置を提供することにある。
本発明のさらに他の課題は、一様分布に従わない乱数を一様分布に従う乱数に変換する乱数生成装置を提供することにある。
本発明のさらに他の課題は、各コードの度数の標準偏差が小さい乱数を生成する乱数生成装置を提供することにある。
【0013】
【課題を解決するための手段】
その課題を解決するための手段が、下記のように表現される。その表現中に現れる技術的事項には、括弧()付きで、番号、記号等が添記されている。その番号、記号等は、本発明の実施の複数・形態又は複数の実施例のうちの少なくとも1つの実施の形態又は複数の実施例を構成する技術的事項、特に、その実施の形態又は実施例に対応する図面に表現されている技術的事項に付せられている参照番号、参照記号等に一致している。このような参照番号、参照記号は、請求項記載の技術的事項と実施の形態又は実施例の技術的事項との対応・橋渡しを明確にしている。このような対応・橋渡しは、請求項記載の技術的事項が実施の形態又は実施例の技術的事項に限定されて解釈することを意味しない。
【0014】
本発明による乱数生成装置は、ランダムパルス(11)を生成するランダムパルス発生部(2)と、初期値(14)を生成するスクランブル部(8)と、ランダムパルス(11)の時間間隔(τ)と初期値(14)とに基づいて乱数コード(13)を生成するカウンタ部(7)とを具備している。初期値(14)は、変動し、固定値ではない。このような乱数コード(13)は、時間間隔(τ)が一様分布していないときでも、概ね一様分布に従う。
【0015】
スクランブル部(8)は、カウンタ部(7)が過去に生成した乱数コード(13)に基づいて初期値(14)を生成することが回路規模を増加が小さい点で好ましい。乱数コード(13)は、n桁(n=2,3,4,…)の2進法により表現され、スクランブル部(8)は、カウンタ部(7)により最後に生成された乱数コード(13)の各桁を交換して初期値(14)を生成することが回路規模を増加が小さい点でさらに好ましい。このようなスクランブル部(8)としては、n!通りが製造される。
【0016】
スクランブル部(8)は、乱数コード(13)の上位i桁目(i=1,2,3,…,n)を乱数コード(13)の上位(n−i+1)桁目と交換して初期値(14)を生成する。すなわち、乱数コード(13)の上位i桁目は、初期値(14)の上位(n−i+1)桁目と一致している。このようなスクランブル部(8)は、配線の繋ぎ替えだけで製造され、回路規模を増加が小さい点で好ましく、乱数コード(13)と初期値(14)との相関が小さい点で好ましい。
【0017】
スクランブル部(8′)は、テーブル(9)を有し、テーブル(9)は、乱数コード(13)と初期値(14)とを対応付け、スクランブル部(8′)は、テーブル(9)を参照してカウンタ部(7)が過去に生成した乱数コード(13)に対応した初期値(14)を生成する。このようなテーブル(9)としては、乱数コード(13)の総数をN個とすると、N!通りが製造される。
【0018】
クロック信号(12)を生成するクロック発生部(3)を更に具備し、カウンタ部(7)は、時間間隔(τ)の期間にクロック信号(12)のカウント数(c)を計数し、初期値(14)とカウント数(c)との和を乱数コード(13)の総数(N)で除算した剰余を乱数コード(13)として出力することが好ましい。
【0019】
ランダムパルス発生部(2)は、ランダムに発生する事象に基づいてランダムパルス(11)を生成する。このとき、乱数コード(13)は再現性がなく好ましい。ランダムパルス発生部(2)は、抵抗器の熱雑音に基づいてランダムパルス(11)を生成することが好ましい。ランダムパルス発生部(2)は、ダイオードの熱雑音に基づいてランダムパルス(11)を生成することが好ましい。ランダムパルス発生部(2)は、放射性元素の壊変に基づいてランダムパルス(11)を生成することが好ましい。
【0020】
本発明による乱数生成装置は、暗号化に使用されることが好ましい。本発明による乱数生成装置は、シミュレーションに使用されることが好ましい。
【0021】
本発明による乱数生成装置は、ランダムパルス(31)を生成するランダムパルス発生部(22)と、ランダムパルス(31)の時間間隔(τ)に基づいて第1コード(33−1)を生成する第1カウンタ部(27−1)と、ランダムパルス(31)の時間間隔(τ)に基づいて第1コード(33−1)とは異なる第2コード(33−2)を生成する第2カウンタ部(27−2)と、第1コード(33−1)に基づいて第1乱数コードを生成し、第2コード(33−2)に基づいて第2乱数コードを生成し、第1乱数コードと第2乱数コードとが交互に並べられた第3乱数コード(34)を出力するスクランブル部(28)とを具備する。第1コード(33−1)はランダムパルス(31)の時間間隔(τ)の期間に計数されたカウント数に対応し、第2コード(33−2)はランダムパルス(31)の時間間隔(τ)の期間に逆向きに計数されたカウント数に対応している。このような第3乱数コード(34)の確率分布は、第3乱数コード(34)の度数分布に傾きが生じない点で好ましい。
【0022】
第1コード(33−1)と第2コード(33−2)は、n桁(n=2,3,4,…)の2進法により表現され、スクランブル部(28)は、第1コード(33−1)の上位i桁目(i=1,2,3,…,n)を第1コード(33−1)の上位(n−i+1)桁目と交換して第1乱数コードを生成し、第2コード(33−2)の上位j桁目(j=1,2,3,…,n)を第2コード(33−2)の上位(n−j+1)桁目と交換して第2乱数コードを生成することが好ましい。
【0023】
スクランブル部(8′)は、テーブル(9)を有し、テーブル(9)は、第1コードと第1乱数コード(13)とを対応付け、第2コードと第2乱数コード(13)とを対応付け、スクランブル部(8′)は、テーブル(9)を参照して第1コードに対応した第1乱数コード(13)を生成し、テーブル(9)を参照して第2コードに対応した第2乱数コード(13)を生成することが好ましい。
【0024】
本発明による乱数生成方法は、ランダムパルス(11)を生成すること、変動して固定値ではない初期値(14)を生成すること、ランダムパルス(11)の時間間隔(τ)と初期値(14)とに基づいて乱数コード(13)を生成することとを具備する。このような乱数コード(13)は、時間間隔(τ)が一様分布していないときでも、概ね一様分布に従う。
【0025】
初期値(14)は、過去に生成された乱数コード(13)に基づいて生成されることが好ましい。乱数コード(13)は、n桁(n=2,3,4,…)の2進法により表現され、初期値(14)は、最後に生成された乱数コード(13)の各桁を交換して生成されることが好ましい。
【0026】
初期値(14)は、乱数コード(13)の上位i桁目(i=1,2,3,…)を乱数コード(13)の上位(n−i+1)桁目と交換されて生成される。このような初期値(14)は、乱数コード(13)との相関が小さい点で好ましい。
【0027】
本発明による乱数発生方法をコンピュータに実行させるためのプログラムは、第1乱数を生成するステップ(ステップS1)、変動して固定値ではない初期値(14)を生成するステップ(ステップS4)、第1乱数と初期値(14)との和を所定値で除算した剰余を第2乱数として生成するステップ(ステップS3)とを具備することが好ましい。
【0028】
初期値(14)は、過去に生成された第1乱数に基づいて生成されることが好ましい。乱数を生成するアルゴリズムは一般的に大きく、初期値(14)を第1乱数と独立に生成される乱数とするより、乱数コード(13)を高速に生成することができる。
【0029】
第1乱数は、n桁(n=2,3,4,…)の2進法により表現され、初期値(14)は、乱数コード(13)の上位i桁目(i=1,2,3,…)を乱数コード(13)の上位(n−i+1)桁目と交換されて生成されることが好ましい。
【0030】
【発明の実施の形態】
図面を参照して、本発明による乱数生成装置の実施の形態を説明する。その乱数生成装置1は、図1に示されているように、ランダムパルス発生回路2、クロック発生回路3、時間計測器4および乱数保持回路5を1チップ内に備えている。時間計測器4は、カウンタ7とスクランブル回路8とを備えている。ランダムパルス発生回路2は、時間計測器4のカウンタ7に接続されている。クロック発生回路3は、時間計測器4のカウンタ7に接続されている。カウンタ7は、スクランブル回路8に接続され、乱数保持回路5に接続されている。スクランブル回路8は、カウンタ7に接続されている。
【0031】
ランダムパルス発生回路2は、周期を持たないパルスであるランダムパルス11を出力する。ランダムパルス発生回路2は、図示されていない抵抗器、増幅器およびコンパレータを備えている。抵抗器は、温度に応じて電子の熱運動により変動する電圧値vを出力する。増幅器は、この電圧値vを増幅してコンパレータに出力する。コンパレータは、増幅された電圧値vと一定値である閾値Vとを入力し、電圧値vが閾値V以上であるならばHighを出力し、電圧値vが閾値V未満であるならばLowを出力する。このようなランダムパルス発生回路2は、公知である。
【0032】
閾値Vが十分に高いとき、電圧値vが閾値V以上になる確率は低くなり、コンパレータの出力はパルス状になる。このパルスは、ランダムパルス11としてランダムパルス発生回路2により出力される。このように熱雑音により生成されたランダムパルス11は、隣り合う2つのパルスの時間間隔τ(τ≧0)が一様分布に従わないで指数分布に従う。
【0033】
なお、ランダムパルス発生装置は、抵抗器の代わりにダイオードを備えることができる。このように生成されたランダムパルス11でも、一般的に隣り合う2つのパルスの時間間隔τは一様分布に従わない。
【0034】
クロック発生回路3は、周期を有するパルスであるクロック信号12を出力する。カウンタ7は、ランダムパルス11、クロック信号12およびスクランブル回路8から出力される初期値14を入力して、乱数コード13を出力する。カウンタ7は、ランダムパルス11の1個のパルスが入力されると、スクランブル回路8から初期値14を取得する。カウンタ7は、クロック信号12のパルスが入力される毎に、初期値14に1を加算する。その加算結果は、256になると、0にされ、再度クロック信号12のパルスが入力される毎に、1が加算される。カウンタ7は、ランダムパルス11の次のパルスが入力されると、加算結果を乱数コード13として出力する。すなわち、このとき、乱数コード13は、ランダムパルス11の隣り合う2つのパルスの時間間隔τの期間に生成されたクロック信号12のパルスの個数であるカウント数cと初期値14との和である。
【0035】
乱数コード13は、初期値14とカウント数cとの和を256で除算したときの剰余である。すなわち、256を法として合同である2つの和にそれぞれ対応する2つの乱数コード13は、一致している。
【0036】
スクランブル回路8は、乱数コード13に基づいて初期値14を生成してカウンタ7に出力する。すなわち、スクランブル回路8は、乱数コード13の1ビット目と8ビット目とを交換し、2ビット目と7ビット目を交換し、3ビット目と6ビット目を交換し、4ビット目と5ビット目を交換して初期値14を生成する。このようなスクランブル回路8は、配線を繋ぎかえるだけで構成され、回路規模の増加はほとんどない。
【0037】
なお、スクランブル回路8が実行する交換は、乱数コード13と初期値14とを1対1に対応させるならどのようなものでも可能であり、このとき、8!(=40320)通りの交換が可能である。この全ての交換が有効ではなく、前後で相関が発生するような交換は好ましくない。
【0038】
乱数保持回路5は、時間計測器4で生成された乱数コード13を順次記録し、記録された乱数コード13のうちで最古のコードを乱数生成装置1が搭載されている装置に適宜出力し、そのコードを削除する。
【0039】
一般に抵抗器には、その温度に応じて電子の熱運動(ブラウン運動)が発生し、その抵抗器はその熱雑音により、図2に示されているように、ランダムに変動する電圧値vを発生する。その電圧値v(V)の2乗平均<v >は、ボルツマン定数k(J/K)、絶対温度T(K)、抵抗R(Ω)、帯域ΔF(Hz)を用いて次式:
【数1】
Figure 0004521708
により表現される。電圧値vがフーリエ変換されると、そのスペクトルは、図3に示されているように、フラットになる。このことは、熱雑音により変動する電圧値vは、ホワイトノイズであることを示している。
【0040】
各瞬間の電圧値vの確率密度関数f(v)は、図4に示されているように、ガウス分布に従い、その標準偏差σは、次式:
【数2】
Figure 0004521708
により表現される。
【0041】
本発明による乱数生成装置1のランダムパルス発生回路2では、ランダムパルス11の信号源として電圧値vを増幅した電圧値vを用いている。増幅の過程では、回路により帯域が制限されるため、電圧値vの確率密度関数f′(v)は、電圧値vの確率密度関数f(v)と異なっているが、電圧値vがランダムに変動することは変化しない。このため、電圧値vは、図5に示されているように、概ねガウス分布に従う。
【0042】
電圧値vの確率密度関数f′(v)が適当に与えられたとき、ある瞬間の電圧値vがある電圧値である閾値V以上である事象の確率pは、v軸21、v=Vにより表現される直線22および関数f′(v)により表現される曲線23により囲まれた領域24の面積により決定する。電圧値vの確率分布が正確に求められれば、この確率は、計算可能である。増幅の過程で複雑な帯域制限を受けた後の確率分布は、計算により求めることが困難である。しかしながら、電圧値vが閾値Vを越える事象の確率pは、閾値Vが大きくなれば小さくなり、閾値Vが小さくなれば大きくなることにはかわりない。
【0043】
閾値Vが十分に高く設定されるとき、確率pは非常に小さくなる。このとき、ランダムパルス発生回路2の出力は、パルス状になる。さらに、ランダムパルス発生回路2の出力をn回(n=1,2,3,…)観測する場合で、観測回数nが非常に多いとき、n回の観測中にパルスが観測される回数k(k=1,2,3,…;k≦n)は、ポアソン分布に従う。パルスが観測される回数kを確率変数Xとする確率P(X=k)は、定数λ(ただし、λ=np)を用いて次式:
【数3】
Figure 0004521708
により表現される。n回の観測でパルスが観測される回数kの期待値E(X)は、次式:
【数4】
Figure 0004521708
により表現される。すなわち、n回の観測中にパルスは、平均λ回観測される。
【0044】
単位時間(1秒間)当たりにn回の観測が実施されるならば、観測時間T(秒)の期間内には(n×T)回の観測が実施される。このとき、観測時間T内にパルスが観測される回数kを確率変数Yとする確率P′(Y=k)は、定数λ(ただし、λ′=nTp=λT)を用いて次式:
【数5】
Figure 0004521708
により表現され、観測時間T内にパルスが観測される回数kの期待値E(Y)は、次式:
【数6】
Figure 0004521708
により表現される。
【0045】
観測時間T内にパルスが観測されない事象の確率P′(Y=0)は、次式:
【数7】
Figure 0004521708
により表現される。ところで、パルスが観測されないときの観測時間Tを確率変数Zとする確率G(Z≧T)は、ランダムパルス11の隣り合う2つのパルスの時間間隔τが観測時間Tより大きくなる事象の確率であり、確率P′(Y=0)と一致し、次式:
【数8】
Figure 0004521708
が成立する。
【0046】
確率G(Z≧T)は、隣り合う2つのパルスの時間間隔τの確率密度関数g(τ)を仮定して、次式:
【数9】
Figure 0004521708
により表現される。その余事象である時間間隔τが観測時間T未満になる事象の確率G(0≦Z<T)は、次式:
【数10】
Figure 0004521708
により表現される。
【0047】
さらに確率G(0≦Z<T)は、観測時間T内にパルスが観測される事象の確率P′(Y>0)と一致し、次式:
【数11】
Figure 0004521708
が成立する。さらに観測時間T内にパルスが観測される事象は、観測時間T内にパルスが観測されない事象の余事象であることより、次式:
【数12】
Figure 0004521708
が成立する。
【0048】
数10の式、数11の式および数12の式により、次式:
【数13】
Figure 0004521708
が導出され、数13の式の辺々を観測時間Tで微分することにより、次式:
【数14】
Figure 0004521708
が導出される。数14の式は、時間間隔τの確率分布関数g(τ)を表現し、時間間隔τは、図6に示されているように、指数分布に従うことを示している。
【0049】
時間間隔τの期待値E(τ)は、時間間隔τがτ≧0で定義されていることより、次式:
【数15】
Figure 0004521708
により表現される。数15の式は、時間間隔τの平均が1/λであり、単位時間(1秒)当たり平均λ回パルスが観測されることを示して、数6の式と整合が取れている。
【0050】
隣り合う2つのパルスの時間間隔τが周期T(秒)のクロック信号12のパルスの個数であるカウント数cにより計測されるとき、時間間隔τの期間に計数されるカウント数cを確率変数Cとする確率Q(C=c)は、次式:
【数16】
Figure 0004521708
により表現される。図7は、カウント数cの確率分布を示している。カウント数cの出現は、指数分布に従っている。
【0051】
従来例による乱数生成装置101のように、カウント数cを乱数コード113の総数Nで除算した剰余を乱数コード113に対応させるとき、カウント数cに対応して生成される乱数コード113とカウント数(c+N)に対応して生成される乱数コード113は、一致している。カウント数cが生成される事象の確率とカウント数(c+N)が生成される事象の確率との比rは、数16の式を用いて次式:
【数17】
Figure 0004521708
により表現される。数17の式は、比rが定数であることを示している。
【0052】
コードwに対応するカウント数cの最小値であるカウント数c(c<256)が出現する確率Qは、次式:
【数18】
Figure 0004521708
により表現される。さらに、乱数コード113としてコードwが出現する事象の確率R(W=w)は、次式:
【数19】
Figure 0004521708
により表現される。
【0053】
同様にして、コードwと異なるコードwに対応するカウント数cの最小値であるカウント数c(c<c)が出現する確率Qは、次式:
【数20】
Figure 0004521708
により表現される。さらに、乱数コード113としてコードwが出現する事象の確率R(W=w)は、次式:
【数21】
Figure 0004521708
により表現される。
【0054】
確率R(W=w)と確率R(W=w)との比sは、次式:
【数22】
Figure 0004521708
により表現される。数22の式は、異なる2つの乱数コード113が出現する確率は、異なっていることを示している。
【0055】
図8は、乱数コード113の確率分布を示している。この確率分布は、確率Rが指数分布に従っていることを示し、乱数コード113が大きいほどその確率Rが小さくなることを示している。式(c−c)の値は、次式:
【数23】
Figure 0004521708
により表現されることより、比sの下限s′は、クロック信号12の周波数f(Hz)を用いて次式:
【数24】
Figure 0004521708
により表現される。下限s′の値は、1に近いほど乱数コード113の一様性が大きいことを示している。数24の式は、乱数コード113が一様ではないことを示し、定数λの値が小さく、乱数コード113の総数Nが小さく、クロック信号12の周波数fが大きいほど、乱数コード113の一様性が大きいことを示している。定数λの値は、閾値Vを大きくすることにより、小さくすることができる。
【0056】
従来例の乱数生成装置101では、定数λ、乱数コード113の総数N、クロック信号12の周波数fをある範囲に限定して使用している。たとえば、定数λがλ=100(回/秒)、乱数コード113の総数NがN=256、クロック信号12の周波数fがf=13(MHz)=13×10(Hz)のとき、下限s′はs′≒0.998である。アプリケーションによっては、これでも十分に使用することができる。
【0057】
定数λの値は、閾値Vにより制御することができるが、電圧値vの確率分布関数f(v)が正確に把握されないために、正確に制御することができない。さらに、抵抗器はアナログ回路であり、熱雑音の量は温度や製造偏差により所定の値に保持することができない。閾値Vも製造偏差により変化する。このため、一様な乱数コードを生成することができないことがある。
【0058】
本実施の形態による乱数コード13は、カウント数cと変動する初期値14との和により生成される。このため、カウント数cは乱数コード13に対応しないで、乱数コード13は一様分布に従う。さらに、乱数コード13をビット逆転した値が次の乱数コードを生成するための初期値14に用られていることより、乱数コード13には、相関が現れない。
【0059】
図9は、本発明による乱数生成装置により生成された乱数コード13の度数分布を示している。この度数分布は、乱数コード13の度数分布に傾きが生じないことを示し、乱数コード13の度数のバラツキ(標準偏差)が小さいことを示している。すなわち、この度数分布は、乱数コード13が概ね一様分布に従うことを示している。
【0060】
図10は、乱数コード13のFFT結果を示している。このFFT結果は、スペクトルが存在しないことを示し、スペクトルが存在しないことは乱数コード13に周期性がないことを示している。図11は、乱数コード13の隣り合うコードのX−Yプロットを示している。このX−Yプロットは、何らかの構造を持った模様を有しておらず、隣り合うコードに相関がないことを示している。
【0061】
乱数生成装置1は、再現性がなく、かつ、一様性を有する乱数が必要であるアプリケーションに利用される。たとえば、個人の認証やデータの暗号化に利用され、このとき、不正使用の自己検定やセキュリティーの向上を図ることができる。乱数生成装置1は、さらに、モンテカルロ法に例示されるシミュレーションに利用される。
【0062】
なお、本発明による乱数生成装置1に使用されるランダムパルス発生回路2は、抵抗器の熱雑音に限らず、ランダムに発生する他の物理現象に基づいてランダムパルス11を生成することができる。
【0063】
ランダムパルス発生回路の実施の他の形態は、放射線を放射する放射線源と、放射線を検出するPINダイオードと、増幅器とを備えている。放射線源としては、241Am、244Cm、208Poが例示される。PINダイオードは、放射線源から放射される放射線を電流に変換する。増幅器は、PINダイオードが出力した電流を電圧のパルスに変換し、ランダムパルスとして出力する。このようなランダムパルス発生回路は公知である。このように生成されたランダムパルスでも、一般的に隣り合う2つのパルスの時間間隔τは一様分布に従わない。
【0064】
図12は、スクランブル回路8の実施の他の形態を示している。そのスクランブル回路8′は、テーブル9を備えている。テーブル9は、乱数コード13を初期値14に1対1に対応づけている。乱数コード13の総数Nが256個であるとき、このテーブル9としては、256!通りが作成されることができる。なお、256!通りのテーブル9の全てが有効ではなく、変換の前後で相関が発生するようなテーブル9は好ましくない。スクランブル回路8は、乱数コード13が入力されるとテーブル9を参照し、入力された乱数コード13に対応した初期値14をカウンタ7に出力する。
【0065】
このようなスクランブル回路8′は、隣り合うカウント数cに相関が出現する場合に、適当にテーブル9を作成することにより、乱数コード13に相関を打ち消すことができる。スクランブル回路8′は、先の実施の形態によるスクランブル回路8より回路規模が大きい。回路規模の増加を気にしないのであれば、このテーブル9は、乱数コード13の相関を打ち消すために有効である。
【0066】
図13は、本発明による乱数生成装置の実施の他の形態を示している。その乱数生成装置20は、ランダムパルス発生回路22、クロック発生回路23、時間計測器24および乱数保持回路25を備えている。時間計測器24は、カウンタ27−1、カウンタ27−2、およびスクランブル回路28を備えている。ランダムパルス発生回路22は、時間計測器24のカウンタ27−1に接続され、カウンタ27−2に接続されている。クロック発生回路23は、時間計測器24のカウンタ27−1に接続され、カウンタ27−2に接続されている。カウンタ27−1は、スクランブル回路28に接続されている。カウンタ27−2は、スクランブル回路28に接続されている。スクランブル回路28は、乱数保持回路25に接続されている。
【0067】
ランダムパルス発生回路22は、周期を持たないパルスであるランダムパルス31を出力する。クロック発生回路23は、周期を有するパルスであるクロック信号32を出力する。
【0068】
カウンタ27−1は、ランダムパルス31とクロック信号32とを入力して、乱数コード33−1を出力する。カウンタ27−1は、ランダムパルス31の1個のパルスが入力されると、クロック信号32のパルスの個数であるカウント数cを0から2進法で計数し始める。カウンタ27−1は、ランダムパルス31の次のパルスが入力されると計数を停止して計数されたカウント数cの下位8桁を乱数コード33−1として出力する。
【0069】
カウンタ27−2は、ランダムパルス31とクロック信号32とを入力して、乱数コード33−2を出力する。カウンタ27−2は、ランダムパルス31の1個のパルスが入力されると、クロック信号32のパルスの個数であるカウント数cを0から2進法で逆向きに計数し始める。すなわち、カウント数cは、クロック信号32のパルスがカウンタ27−2に入力される度に1が減算される。この減算では、下位9桁目以上の桁から減算しないで繰り下げを実行する。このような減算により、カウント数cは、常に正数になる。カウンタ27−2は、ランダムパルス31の次のパルスが入力されると計数を停止して計数されたカウント数cの下位8桁を乱数コード33−2として出力する。
【0070】
スクランブル回路28は、2つの動作を交互に繰り返す。その1つの動作は、乱数コード33−1に基づいて乱数コード34を生成して乱数保持回路25に出力する。すなわち、スクランブル回路28は、乱数コード33−1の1ビット目と8ビット目とを交換し−1ビット目と7ビット目を交換し、3ビット目と6ビット目を交換し、4ビット目と5ビット目を交換して乱数コード35を生成する。スクランブル回路28は、生成された乱数コード35を乱数保持回路25に出力する。
【0071】
もう1つの動作は、乱数コード33−2に基づいて乱数コード34を生成して乱数保持回路25に出力する。すなわち、スクランブル回路28は、乱数コード33−2の1ビット目と8ビット目とを交換し、2ビット目と7ビット目を交換し、3ビット目と6ビット目を交換し、4ビット目と5ビット目を交換して乱数コード35を生成する。スクランブル回路28は、生成された乱数コード35を乱数保持回路25に出力する。
【0072】
乱数保持回路25は、時間計測器24で生成された乱数コード33−1を順次記録し、記録された乱数コード33−1のうちで最古のコードを乱数生成装置1が搭載されている装置に適宜出力する。
【0073】
図14は、乱数コード33−1と乱数コード33−2とを合わせた度数分布を示している。この度数分布は、従来例による乱数コード113の度数分布に示されるコードが大きいほど度数が小さくなる傾向が緩和されていることを示している。図15は、乱数コード34の度数分布を示している。この度数分布は、乱数コード34がコードの大きさにより、度数が変化する傾向がないことを示している。しかし、乱数コード34の度数の標準偏差および最大値と最小値の差が従来例による乱数コード113のそれと概ね等しく、一様性は、改善されていない。図16は、乱数コード34のFFT結果を示している。このFFT結果は、スペクトルが存在しないことを示し、スペクトルが存在しないことは乱数コード34に周期性がないことを示している。本実施の形態による乱数生成装置21は、乱数コード34の一様性により問題が発生しない機器には十分に使用することができる。
【0074】
図17は、本発明による乱数生成方法の実施の形態を示している。まず、初期値として0が代入される(ステップS1)。初期値として、0以外の数値を代入することもできる。つぎに、第1乱数が生成される(ステップS2)。この第1乱数は、数学的アルゴリズムにより生成された疑似乱数である。第1乱数は、情報処理装置の外部に設けられた乱数生成装置により物理現象に基づいて生成されることもできる。第1乱数は、8桁の2進法により表現され、256個のコードから形成されている。この第1乱数は、一様性を有していなくても構わない。
【0075】
つぎに、第1乱数は、初期値と加算され、その和が第2乱数として出力される(ステップS3)。その和は、256以上であるときに、256で除算され、その剰余が第2乱数として出力される。つぎに、第2乱数に基づいて、初期値が生成される(ステップS4)。このとき、第2乱数は8桁の2進法により表現され、第2乱数の1桁目と8桁目とを交換し、2桁目と7桁目を交換し、3桁目と6桁目を交換し、4桁目と5桁目を交換して初期値を生成する。
【0076】
なお、初期値は、第2乱数コードと1対1対応し、256!通りの初期値の生成方法が考えられる。256!通りのテーブル9の全てが有効ではなく、変換の前後で相関が発生するような初期値の生成方法は好ましくない。
【0077】
初期値が生成されると、ステップS2〜ステップS4から形成されるループに入る。このように生成される第2乱数は、第1乱数が一様性を有していないときでも、本発明による乱数生成装置と同様に概ね一様性を有する。
【0078】
本発明による乱数生成方法は、コンピュータに実行させるためのプログラムに変換され、パーソナルコンピュータに例示される情報処理装置に搭載されることができる。このプログラムが搭載された情報処理装置は、本発明による乱数生成装置と同様に概ね一様性を有する乱数を生成することができる。
【0079】
【発明の効果】
本発明による乱数生成装置は、一様分布に従う乱数を生成することができる。
【図面の簡単な説明】
【図1】図1は、本発明による乱数生成装置の実施の形態を示すブロック図である。
【図2】図2は、抵抗器の熱雑音による電圧値を示すグラフである。
【図3】図3は、抵抗器の熱雑音による電圧値のFFT結果を示すグラフである。
【図4】図4は、抵抗器の熱雑音による電圧値の確率密度関数を示すグラフである。
【図5】図5は、抵抗器の熱雑音による増幅後の電圧値の確率密度関数を示すグラフである。
【図6】図6は、隣り合うランダムパルスの時間間隔の確率密度関数を示すグラフである。
【図7】図7は、カウント数の確率分布を示すグラフである。
【図8】図8は、乱数コードの確率分布を示すグラフである。
【図9】図9は、乱数コードの度数分布を示すグラフである。
【図10】図10は、乱数コードのFFT結果を示すグラフである。
【図11】図11は、隣り合う乱数コードの相関を示すグラフである。
【図12】図12は、スクランブル回路の実施の他の形態を示すブロック図である。
【図13】図13は、本発明による乱数生成装置の実施の他の形態を示すブロック図である。
【図14】図14は、2個のカウンタにより生成される乱数コードの度数分布を示すグラフである。
【図15】図15は、乱数コードの度数分布を示すグラフである。
【図16】図16は、乱数コードのFFT結果を示すグラフである。
【図17】図17は、本発明による乱数生成方法の実施の形態を示すフローチャートである。
【図18】図18は、公知の乱数生成装置の実施の形態を示すブロック図である。
【図19】図19は、乱数コードの度数分布を示すグラフである。
【図20】図20は、乱数コードのFFT結果を示すグラフである。
【符号の説明】
1…乱数生成装置
2…ランダムパルス発生回路
3…クロック発生回路
4…時間計測器
5…乱数保持回路
7…カウンタ
8…スクランブル回路
11…ランダムパルス
12…クロック信号
13…乱数コード
14…初期値

Claims (15)

  1. ランダムパルスを生成するランダムパルス発生部と、
    クロック信号を生成するクロック発生部と、
    初期値を生成するスクランブル部と、
    前記ランダムパルスのうちの第1パルスが出力されてから前記ランダムパルスのうちの第2パルスが出力されるまでの期間に前記クロック信号として出力されたパルスのカウント数と前記初期値との和を乱数コード総数で除算した剰余を乱数コードとして出力するカウンタ部とを具備し、
    前記初期値は、前記カウンタ部により前記乱数コードの1つ前に生成された他の乱数コードと前記初期値とで相関が発生しないように、前記他の乱数コードに基づいて生成される
    乱数生成装置
  2. 請求項において、
    前記乱数コードは、n桁(n=2,3,4,…)の2進法により表現され、
    前記スクランブル回路は、前他の乱数コードの各桁を交換して前記初期値を生成する
    乱数生成装置。
  3. 請求項において、
    前記スクランブル部は、前記他の乱数コードの上位i桁目(i=1,2,3,…,n)を前記乱数コードの上位(n−i+1)桁目と交換して前記初期値を生成する
    乱数生成装置。
  4. 請求項において、
    前記スクランブル部は、テーブルを有し、
    前記テーブルは、前記乱数コードと初期値とを対応付け、
    前記スクランブル部は、前記テーブルを参照して前他の乱数コードに対応した前記初期値を生成する
    乱数生成装置
  5. 請求項1〜請求項のいずれかにおいて、
    前記ランダムパルス発生部は、ランダムに発生する事象に基づいて前記ランダムパルスを生成する
    乱数生成装置。
  6. 請求項において、
    前記ランダムパルス発生部は、抵抗器の熱雑音に基づいて前記ランダムパルスを生成する
    乱数生成装置。
  7. 請求項において、
    前記ランダムパルス発生部は、ダイオードの熱雑音に基づいて前記ランダムパルスを生成する
    乱数生成装置。
  8. 請求項において、
    前記ランダムパルス発生部は、放射性元素の壊変に基づいて前記ランダムパルスを生成する
    乱数生成装置。
  9. 請求項1〜請求項のいずれかにおいて、
    暗号化に使用される
    乱数生成装置。
  10. 請求項1〜請求項のいずれかにおいて、
    シミュレーションに使用される
    乱数生成装置
  11. ランダムパルスを生成すること、
    クロック信号を生成すること、
    期値を生成するこ
    前記ランダムパルスのうちの第1パルスが出力されてから前記ランダムパルスのうちの第2パルスが出力されるまでの期間に前記クロック信号として出力されたパルスのカウント数と前記初期値との和を乱数コード総数で除算した剰余を乱数コードとして出力することとを具備し、
    前記初期値は、前記乱数コードの1つ前に生成された他の乱数コードと前記初期値とで相関が発生しないように、前記他の乱数コードに基づいて生成される
    乱数生成方法
  12. 請求項11において、
    前記乱数コードは、n桁(n=2,3,4,…)の2進法により表現され、
    前記初期値は、前他の乱数コードの各桁を交換して生成される
    乱数生成方法。
  13. 請求項12において、
    前記初期値は、前記他の乱数コードの上位i桁目(i=1,2,3,…,n)を前記乱数コードの上位(n−i+1)桁目と交換されて生成される
    乱数生成方法。
  14. 第1乱数を生成するステップ、
    期値を生成するステップ、
    前記第1乱数と前記初期値との和を所定値で除算した剰余を第2乱数として生成するステップとを具備し、
    前記初期値は、前記第2乱数の1つ前に生成された他の第2乱数と前記初期値とで相関が発生しないように、前記他の第2乱数に基づいて生成される
    乱数生成方法をコンピュータに実行させるためのプログラム
  15. 請求項14において、
    前記他の乱数は、n桁(n=2,3,4,…)の2進法により表現され、
    前記初期値は、前記他の第2数の上位i桁目(i=1,2,3,…,n)を前記他の第2数の上位(n−i+1)桁目と交換されて生成される
    コンピュータに実行させるためのプログラム。
JP2001069401A 2001-03-12 2001-03-12 乱数生成装置 Expired - Fee Related JP4521708B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001069401A JP4521708B2 (ja) 2001-03-12 2001-03-12 乱数生成装置
US10/094,020 US7266575B2 (en) 2001-03-12 2002-03-08 Random number generator which can generate a random number based on an uniform distribution
EP02090102A EP1241564A3 (en) 2001-03-12 2002-03-09 Random number generator which can generate a random number based on uniform distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001069401A JP4521708B2 (ja) 2001-03-12 2001-03-12 乱数生成装置

Publications (2)

Publication Number Publication Date
JP2002268875A JP2002268875A (ja) 2002-09-20
JP4521708B2 true JP4521708B2 (ja) 2010-08-11

Family

ID=18927439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001069401A Expired - Fee Related JP4521708B2 (ja) 2001-03-12 2001-03-12 乱数生成装置

Country Status (3)

Country Link
US (1) US7266575B2 (ja)
EP (1) EP1241564A3 (ja)
JP (1) JP4521708B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1544726B1 (en) * 2002-08-14 2012-08-22 Institute For Advanced Studies Co., Ltd. Random number generator and random number generation method
KR20050084153A (ko) * 2002-12-05 2005-08-26 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 진정한 난수 생성 방법 및 시스템
US7263470B2 (en) * 2003-05-05 2007-08-28 Lsi Corporation Digital gaussian noise simulator
JP2005078629A (ja) * 2003-08-28 2005-03-24 Stmicroelectronics Sa 正規化されたランダムビットフローの発生
DE602004029536D1 (de) * 2003-08-28 2010-11-25 St Microelectronics Sa Konstant-Fluss-Normierung einer Rauschquelle zur Erzeugung von Zufallszahlen
EP1510913B1 (fr) * 2003-08-28 2011-01-05 St Microelectronics S.A. Normalisation d'une source de bruit pour génération de nombres aléatoires
EP1755033B1 (en) * 2004-05-24 2013-12-11 Leisure Electronics Technology Co., Ltd. Random number extraction method and random number generation device using the same
TWI408903B (zh) * 2004-06-30 2013-09-11 Noriyoshi Tsuyuzaki 隨機脈衝產生源及半導體裝置、使用該源產生隨機數及/或機率之方法與程式
US7472148B2 (en) * 2004-07-23 2008-12-30 Qualcomm Incorporated Method and apparatus for random-number generator
JP4546339B2 (ja) 2005-06-29 2010-09-15 キヤノン株式会社 乱数生成装置及び乱数生成方法
EP1763136A1 (fr) * 2005-09-07 2007-03-14 Stmicroelectronics Sa Procédé de génération de nombres variables
DE102006031537B4 (de) * 2005-12-27 2007-10-31 Industrial Technology Research Institute (Itri), Chutung Zufallszahl-Erzeugungsvorrichtung und Verfahren zum Erzeugen einer Zufallszahl
US8370553B2 (en) 2010-10-18 2013-02-05 International Business Machines Corporation Formal verification of random priority-based arbiters using property strengthening and underapproximations
KR102497153B1 (ko) 2012-01-18 2023-02-07 브이-노바 인터내셔널 리미티드 안정성 정보 및 트랜션트/확률적 정보의 구별되는 인코딩 및 디코딩
EP2704055A1 (en) 2012-08-31 2014-03-05 Layar B.V. Determining space to display content in augmented reality
US9547476B2 (en) 2014-10-15 2017-01-17 The United States Of America, As Represented By The Secretary Of The Army Semiconductor-junction-derived random number generation with triggering mechanism
CN106919365A (zh) 2016-08-29 2017-07-04 阿里巴巴集团控股有限公司 计算机系统中随机数的生成方法及装置
RU2716222C1 (ru) * 2019-11-21 2020-03-06 Общество с ограниченной ответственностью "Центр инженерной физики при МГУ имени М.В. Ломоносова" Широкодиапазонный генератор импульсов с кратно дробной автоподстройкой частоты

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3777278A (en) * 1971-09-10 1973-12-04 Boeing Co Pseudo-random frequency generator
US4791594A (en) 1986-03-28 1988-12-13 Technology Inc. 64 Random-access psuedo random number generator
US5065256A (en) 1987-09-21 1991-11-12 Fuji Photo Film Co., Ltd. Method of and apparatus for processing image signal
JPH01206718A (ja) * 1988-02-12 1989-08-18 Fujitsu Ltd 乱数発生器
JPH0283619A (ja) * 1988-09-20 1990-03-23 Fujitsu Ltd ランダムデータ発生回路
JPH0290320A (ja) * 1988-09-28 1990-03-29 Hitachi Ltd 擬似乱数発生回路
JPH0719125B2 (ja) * 1988-11-04 1995-03-06 国際電気株式会社 暗号化回路および復号化回路
JPH02242327A (ja) * 1989-03-15 1990-09-26 Oki Electric Ind Co Ltd 乱数発生装置
JPH03273334A (ja) * 1990-03-22 1991-12-04 Sony Corp 乱数発生装置
US5187676A (en) * 1991-06-28 1993-02-16 Digital Equipment Corporation High-speed pseudo-random number generator and method for generating same
US5428561A (en) 1993-04-22 1995-06-27 Zilog, Inc. Efficient pseudorandom value generator
US5757923A (en) * 1995-09-22 1998-05-26 Ut Automotive Dearborn, Inc. Method of generating secret identification numbers
EP0828349A1 (en) 1996-08-06 1998-03-11 AMERSHAM INTERNATIONAL plc Method of and apparatus for generating random numbers
JP3492494B2 (ja) * 1997-06-09 2004-02-03 沖電気工業株式会社 乱数発生回路
JPH11184676A (ja) 1997-12-18 1999-07-09 Norihei Tsuyusaki 自然乱数生成カード
WO2000038037A1 (en) 1998-12-18 2000-06-29 The Regents Of The University Of California A RANDOM NUMBER GENERATOR BASED ON THE SPONTANEOUS α-DECAY
US6430170B1 (en) * 1999-05-27 2002-08-06 Qualcomm Inc. Method and apparatus for generating random numbers from a communication signal
US6452959B1 (en) * 1999-05-28 2002-09-17 Dot Wireless, Inc. Method of and apparatus for generating data sequences for use in communications
IL132898A (en) * 1999-11-11 2009-09-01 Nds Ltd System for bitstream generation
JP4467216B2 (ja) * 2001-09-07 2010-05-26 Necエレクトロニクス株式会社 乱数発生方法及び装置

Also Published As

Publication number Publication date
US20020159590A1 (en) 2002-10-31
JP2002268875A (ja) 2002-09-20
US7266575B2 (en) 2007-09-04
EP1241564A3 (en) 2006-10-04
EP1241564A2 (en) 2002-09-18

Similar Documents

Publication Publication Date Title
JP4521708B2 (ja) 乱数生成装置
US5757923A (en) Method of generating secret identification numbers
CN103713879B (zh) 基于光子到达时间的无偏高速量子随机数发生器
Lee et al. TRNG (True Random Number Generator) method using visible spectrum for secure communication on 5G network
CN107924645A (zh) 具有物理不可克隆功能的加密设备
Bucci et al. A high-speed IC random-number source for smartcard microcontrollers
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
Coron On the security of random sources
Park et al. QEC: A quantum entropy chip and its applications
Chizhevsky Symmetrization of single-sided or nonsymmetrical distributions: The way to enhance a generation rate of random bits from a physical source of randomness
Matsumoto et al. Common defects in initialization of pseudorandom number generators
CN105912834A (zh) 用于检查随机数序列的熵的装置和方法
Yadav Design and analysis of digital true random number generator
WO2008001243A2 (en) Device and method for generating a random number and random element for use in the same
Ewert A Random Number Generator Based on Electronic Noise and the Xorshift Algorithm
Addabbo et al. Low-hardware complexity prbgs based on a piecewise-linear chaotic map
US6317499B1 (en) Storage device random bit generator
Warnock Random-number generators
US20050110399A1 (en) Method and system for generating a cryptographically random number stream
WO2005106645A2 (en) Quantum random bit generator
Turiel Quantum random bit generators
Haas The multiple prime random number generator
Khalique et al. A Novel Unpredictable Temporal based Pseudo Random Number Generator
Taketa et al. Mutual relationship between the neural network model and linear complexity for pseudorandom binary number sequence
Jaditz Are the digits of π an independent and identically distributed sequence?

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140604

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees