JP4353435B2 - 乱数発生方法と半導体集積回路装置及び電子装置 - Google Patents
乱数発生方法と半導体集積回路装置及び電子装置 Download PDFInfo
- Publication number
- JP4353435B2 JP4353435B2 JP2005517843A JP2005517843A JP4353435B2 JP 4353435 B2 JP4353435 B2 JP 4353435B2 JP 2005517843 A JP2005517843 A JP 2005517843A JP 2005517843 A JP2005517843 A JP 2005517843A JP 4353435 B2 JP4353435 B2 JP 4353435B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- random number
- signal
- output
- logic
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims description 71
- 238000000034 method Methods 0.000 title claims description 55
- 238000001514 detection method Methods 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 22
- 238000004519 manufacturing process Methods 0.000 claims description 21
- 239000000758 substrate Substances 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000002950 deficient Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 72
- 101150110971 CIN7 gene Proteins 0.000 description 37
- 101150110298 INV1 gene Proteins 0.000 description 37
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 37
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 29
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 29
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 101150070189 CIN3 gene Proteins 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000013478 data encryption standard Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000003321 amplification Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000003199 nucleic acid amplification method Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 239000012535 impurity Substances 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 3
- 102100025314 Deleted in esophageal cancer 1 Human genes 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005684 electric field Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101100508840 Daucus carota INV3 gene Proteins 0.000 description 2
- 230000035508 accumulation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000035882 stress Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 1
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 1
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000011889 copper foil Substances 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
- Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)
Description
したがって、この発明の一つの目的は、製造プロセスの変更を行うことなく、小面積で高い品位の乱数を生成することができる乱数発生方法及び乱数発生回路を備えた半導体集積回路装置を提供することにある。この発明の他の目的は、低消費電力化を実現した乱数発生方法及びかかる乱数発生回路を備えた半導体集積回路装置を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、互いに同じ製造過程をもって同一の形態として形成された第1及び第2論理回路と、上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を形成する増幅回路とからなる単位回路の複数個と、上記複数個の単位回路から出力される複数個からなる2値信号のうちのいずれか1つの信号変化に応答して出力信号を形成する信号変化検出回路とを備え、上記信号変化検出回路から出力される2値信号の複数個を組み合わせて乱数を生成する。
第2図は、第1図の真性乱数発生回路を説明する動作原理図であり、
第3図は、この発明に係る真性乱数発生回路の一実施例を示す基本的回路図であり、
第4図は、第3図の真性乱数発生回路の一実施例を示す具体的回路図であり、
第5図は、第3図の真性乱数発生回路の動作の一例を説明するための波形図であり、
第6図は、第4図の真性乱数発生回路の信号変化検出回路の一実施例を示す具体的回路図であり、
第7図は、この発明に係る真性乱数発生回路の他の一実施例を示す回路図であり、
第8図は、第7図の真性乱数発生回路の動作の一例を説明するための概念的な波形図であり、
第9図は、この発明に係る真性乱数発生回路とその要素回路の一実施例を示す回路図であり、
第10図は、この発明に係る真性乱数発生回路とその要素回路の他の一実施例を示す回路図であり、
第11図は、第9図の真性乱数発生回路の動作の一例を説明するための概略波形図であり、
第12図は、この発明に係る真性乱数発生回路の他の一実施例を示す概念図であり、
第13図は、第12図の初期値発生回路の一実施例を示す回路図であり、
第14図は、第12図の初期値発生回路の他の一実施例を示す回路図であり、
第15図は、第13図と第14図の初期値発生回路の動作を説明するための波形図であり、
第16図は、この発明に係る真性乱数発生回路の他の一実施例を示す回路図であり、
第17図は、この発明に係る真性乱数発生回路の一実施例を示す回路図であり、
第18図は、第17図の真性乱数発生回路に設けられたテスト回路の動作の一例を説明するためのタイミング図であり、
第19図は、この発明に係る真性乱数発生回路の一実施例を示す回路図であり、
第20図は、第19図の真性乱数発生回路の動作波形図であり、
第21図は、この発明に係る真性乱数発生回路の一実施例を示す回路図であり、
第22図は、この発明に係る真性乱数発生回路の出力部の他の一実施例を示す回路図であり、
第23図は、第21図に示した真性乱数発生回路の動作波形図であり、
第24図は、この発明に係る真性乱数発生回路の一実施例を示すチップ構成図であり、
第25図は、この発明に係る半導体集積回路装置の一実施例を示すブロック図であり、
第26図は、この発明に係る半導体集積回路装置の他の一実施例を示すブロック図であり、
第27図は、この発明に係る真性乱数発生回路の他の一実施例を示す構成図であり、
第28図は、第27図に示した真性乱数発生回路の動作の一例を示すタイミング図であり、
第29図は、この発明が適用されるICカードの一実施例を示す外観図であり、
第30図は、この発明に係るICカードに搭載されるICカード用チップの一実施例を示す概略ブロック図であり、
第31図は、この発明が適用される非接触ICカードの一実施例を示すブロック図であり、
第32図は、この発明に係る真性乱数発生回路で生成された真性乱数の2次元散布図であり、
第33図は、第4図の真性乱数発生回路の変形例を示す具体的回路図であり、
第34図は、第1図に示した真性乱数発生回路の基本概念の変形例を示す回路図であり、
第35図は、第1図に示した真性乱数発生回路の基本概念のさらに別の変形例を示す回路図である。
第1図には、この発明に係る半導体集積回路装置に搭載される真性乱数発生回路の基本概念の回路図が示されている。第1図に示されたCMOSインバータ回路INV1〜INV4は、半導体集積回路装置の設計及び製造の上では、現実的に制御可能な範囲内において、互いに同じ特性を持つように構成される。複数のインバータを互いに同じ特性にするため技術について、以下に概略的に説明する。
CMOSインバータ回路において、その特性は、概略的には、それを構成するPチャンネル型MOSFETとNチャンネル型MOSFETとの相対的なコンダクタンスによって決まると理解されているであろう。その観点ではチャンネル幅Wとチャンネル長Lとの比W/Lは同じであるがサイズが異なるMOSFETによっても同じ特性のCMOSインバータを構成できると理解され得る。しかしながら、半導体集積回路装置の製造バラツキによる電気特性への影響は、異なったサイズの素子に対しては異なったものとなる。
この実施例では、かかる複数のCMOSインバータINV1〜INV4のそれぞれは、好適には、それぞれを構成する素子の相互、すなわちPチャンネル型MOSFETの相互、及びNチャンネル型MOSFETの相互が互いに同じ構造、同じサイズを持って構成される。言うまでもなくそれら素子は、同じ素子は同じプロセスの下で一括製造されると言う半導体集積回路装置の特徴に従って製造される。これによって複数のCMOSインバータINV1〜INV4は、半導体集積回路装置の製造上の加工寸法のバラツキ、各種層の厚さバラツキ、不純物濃度バラツキ等々の製造バラツキによる影響を均等に受けるようにされる。
第1図のように入出力が短絡させられたCMOSインバータ回路INV1の出力電圧は、論理しきい値電圧に到達する。全てのCMOSインバータ回路が、完全に同じ電気的特性を持っていれば、4つのインバータ回路INV1〜INV4の論理しきい値電圧は等しくなる。しかし、これは理想的な状態であり実際の半導体素子においては、僅かな特性の違いが存在するため、各インバータ回路INV1〜INV4の論理しきい値電圧に差が生じる。
CMOSインバータ回路の論理しきい値のバラツキの要因としては、MOSトランジスタ特性のバラツキが支配的であると捉えてよい。そして、MOSトランジスタ特性のバラツキの原因としては、MOSトランジスタのゲート幅や、ゲート絶縁膜膜厚、導電決定不純物濃度とその分布などを挙げることができる。これらのバラツキはマクロ的な部分とミクロ的とに分けることができる。マクロ的な部分としては、同一ロット内の複数のウェハ間のゲート幅バラツキなどである。
本願発明においては、主としてミクロ的な部分のバラツキを考慮するものであり、比較的に近接した位置に配置された素子間におけるバラツキについて検討した。このようなミクロ的なバラツキは、比較的に近接した素子間にランダムに発生するものとして観測される。
すなわち、第1図のインバータ回路INV1、INV2の論理しきい値のバラツキもランダムであると考えられる。この論理しきい値のバラツキは、後述するように真性乱数を発生させる上で好ましいことではない反面、別の観点では半導体素子の持つ特徴的な特性のバラツキが固有の識別情報として利用できる。つまり、CMOSインバータ回路を用いた場合には、論理しきい値に生じるバラツキがNチャンネル型MOSトランジスタの持つバラツキにPチャンネル型MOSトランジスタの持つバラツキが加えられたものと見做すことができ、バラツキ範囲が広くなり識別番号ないし識別情報の発生を効果的に行うようにすることができる。しかし、このことは半導体素子の各ノードで発生する雑音に応答した真性乱数を発生させる上では好ましくないものとなる。
第1図に示した概念図では、4つのインバータ回路INV1〜INV4を基本回路(又は単位回路)UC0として、CMOSインバータ回路INV1の入力と出力とを短絡して、インバータ回路INV1の論理しきい値電圧VLT1を形成する。この論理しきい値電圧VLT1はインバータ回路INV2の入力に供給される。かかるインバータ回路INV2においては、そのしきい値電圧VLT2を参照電圧として上記論理しきい値電圧VLT1との電圧比較と増幅動作を行う。そして、かかるインバータ回路INV2の出力信号は、縦列接続されたインバータ回路INV3とINV4からなる増幅回路により更に増幅されて2値信号に変換される。
理想的な条件においては、基本回路の第1のインバータ回路INV1の短絡された入出力ノードの電圧(論理しきい値電圧VLT1)と第2のインバータ回路INV2の論理しきい値電圧VLT2とは等しくなるように設計、製造されるが、実際には前記のようなプロセスバラツキが存在するため一致するとは限らない。
半導体内を電子が移動する際、不規則な動きをするため僅かであるが電気信号ノイズを発生させる。その現象は、第1のインバータ回路INV1にも第2のインバータ回路INV2にも発生するが、上記のようにVLT1=VLT2のような理想的な条件においては、第1のインバータ回路INV1の電気信号ノイズが第2のインバータ回路INV2により増幅され、第2のインバータ回路の出力信号は電気信号ノイズを反映して振幅する。電気信号ノイズは完全に無秩序な動きをするため、第2のインバータ回路INV2から得られる出力信号は真性乱数といえる。
つまり、第2図(a)に示すように、単位回路UC0の第1のインバータ回路INV1と第2のインバータ回路INV2の論理しき値電圧VLT1,VLT2とが一致している場合、電気信号ノイズVnzが反転増幅されて出力信号Voutとして取り出すことができる。なお、同図では第2のインバータ回路INV2の電気信号ノイズは省略し第1のインバータ回路INV1の電気信号ノイズVnzに含めている。このようにして、第1のインバータ回路INV1の電気信号ノイズVnzは第2のインバータ回路INV2により反転増幅される。さらに第2のインバータ回路INV2の出力信号Voutは、第3および第4のインバータ回路INV3,INV4によりさらに増幅され、第4のインバータ回路INV4の出力では最終的に電源電圧レベルの振幅の論理レベルの情報が取り出せる。
しかし、電気信号ノイズVnzは極めて小さく、また実際には各インバータ回路INV1、INV2を構成するMOSトランジスタの特性は前記のような要因によってバラツキがあるため、基本回路UC0の第1および第2のインバータ回路INV1,INV2の論理しきい値電圧VLT1,VLT2は必ずしも等しいとはいえない。
つまり、第2図(b)に示すように、単位回路UC0の第1のインバータ回路INV1と第2のインバータ回路INV2の論理しき値電圧VLT1,VLT2との間にΔVのようなプロセスバラツキによる差電圧ΔVが存在し、上記電気信号電圧ノイズVnzの振幅より、上記第2のインバータ回路INV2の論理しきい値電圧VLT2が常に大きい場合には、第2のインバータ回路INV2の出力信号Voutは常にハイレベルとなってしまう。したがって、上記単位回路UC0を単独で見た場合には、第2のインバータ回路INV2の出力信号Voutが上記の電気信号ノイズVnzを反映すると常に保証されるものではない。
そこで、一般的には上記2つの論理しきい値電圧VLT1,VLT2の上記のようなプロセスバラツキを補正する方向にトリミングや補償回路を付加することが考えられるが、回路が複雑になったり、消費電流が増大するなどの問題を有するものとなる。
本願発明者においては、トランジスタの特性のバラツキはランダムな正規分布であることに着目し、第1図の示したように、数多くの基本回路を観察すれば、第1インバータ回路INV1と第2のインバータ回路INV2の特性が極めて等しい組み合わせがある確率で存在し、そのような基本回路は第2図(a)に示したように電気ノイズVnzに敏感に反応するものとなることを見出した。
つまり、第2図(c)のしきい値電圧分布図に示したように、インバータ回路INV1,INV2の論理しきい値電圧VLT1,VLT2は、正規分布となることが知られている。2つのインバータ回路INV1とINV2を組み合わせると、その差VLT1−VLT2はもとの論理しきい値電圧VLT1,VLT2の分散の2倍の正規分布となる。電気信号ノイズ電圧Vnzの振幅より、第1のインバータ回路と第2のインバータ回路の論理しきい値電圧の差VLT1−VLT2が小さい基本回路が存在する確率は、インバータ回路の論理しきい値電圧VLTの分散と、電気信号ノイズ電圧の振幅Vnzで決まる。基本回路群中に含まれるノイズを電気信号のノイズを反映する基本回路の平均数は、基本回路群を構成する基本回路の数に、前記の確率を乗じた数である。
第1図において、UC0〜UCnのような複数の基本回路の出力D0〜Dnを排他論理和回路に代表されるような信号変化検出回路EXORに入力すると、その出力Rは接続された基本回路UC0〜UCnの出力信号D0〜Dnの変化のいずれにも反応して反転する。
上記複数の基本回路UC0〜UCnの中に、第1インバータ回路と第2のインバータの特性が極めて等しい組み合わせの基本回路が少なくとも1つ以上存在するように決められた複数からなる基本回路群の各出力を、信号変化検出回路EXORに入力する。すると、排他論理和回路のような信号変化検出回路EXORの出力Rは、基本回路UC0〜UC1の出力D0〜Dnのうちのいずれか1つが変化すると反転する。すなわち、信号変化検出回路EXORの入力が基本回路の出力である場合、出力はかかる基本回路の電気ノイズを反映した真性乱数となる。基本回路群に、第1インバータ回路と第2のインバータ回路の特性が極めて等しい組み合わせの基本回路が複数存在しても、各基本回路どうしの電気信号ノイズに相関はないため、信号変化検出回路EXORの出力Rは同様に乱数であり、より品位の高い真性乱数を得ることができる。第1図に示した論理式R=D0*D1*…*Dnにおいて、*の記号は排他的論理和記号を表す。
図3には、この発明に係る乱数発生回路の一実施例の基本的回路図が示されている。この実施例では、前記図1のインバータ回路INV1〜INV4が、2入力のナンド(NAND)ゲート回路G1〜G4に置き換えられる。上記ゲート回路G1は、一方の入力と出力とが結合される。このゲート回路G1の共通化された入出力がゲート回路G2の一方の入力と接続される。ゲート回路G2の出力はゲート回路G3の一方の入力に接続される。ゲート回路G3の出力はゲート回路G4の一方の入力に接続される。そして、これらのゲート回路G1〜G4の他方の入力には、動作制御信号ACTが共通に供給される。
第1図のインバータ回路INV1〜INV4は、上記ナンドゲート回路G1〜G4のような論理ゲート回路の一種と見做すことができる。すなわち、入力信号を反転させる論理動作を行うものであるからである。第1図のようにインバータ回路INV1〜INV4を用いた場合には、インバータ回路INV1とINV2のように初段側においては論理しきい値電圧VLT付近で動作するものであり、電源電圧VDDと回路の接地電位との間に直流電流を流すものとなる。本願発明では、前記のように素子のプロセスバラツキによる論理しきい値電圧の正規分布を利用するものであり、そのために比較的多数からなる単位回路を動作させる必要があるので、上記インバータ回路INV1とINV2での直流電流は低消費電力化を実現する上では無視できない。
これに対して、この実施例のようにゲート回路G1〜G4を用いた場合には、各ゲート回路G1〜G4は、動作制御信号ACTをロウレベル(論理0)のような非活性化レベルとしたとき、上記動作制御信号ACTとは異なる他方の入力信号に無関係に出力信号をハイレベル(論理1)にし、各ゲート回路G1,G2においても直流電流が発生しない。すなわち、この実施例回路では、乱数を必要とするタイミングで上記動作制御信号ACTをハイレベル(論理1)のような活性化レベルとする。これにより、各ゲート回路G1〜G4は、上記動作制御信号ACTとは異なる他方の入力信号に応答して反転信号を形成するというインバータ回路としての動作を行う。これにより、上記動作制御信号ACTをハイレベルにすることにより、第1図の基本回路図と同様の動作を行うものとなる。
第4図には、第3図の真性乱数発生回路の一実施例の具体的回路図が示されている。ゲート回路G1は、出力ノードN1と回路の接地電位VSSとの間に直列形態にされたNチャネルMOSFETQ1とQ3、上記出力ノードN1と電源電圧VDDとの間に並列形態にされたPチャネルMOSFETQ2とQ4から構成される。上記MOSFETQ1とQ3のゲートが共通に接続されて第1の入力とされる。上記MOSFETQ2とQ4のゲートが共通に接続されて第2の入力とされる。他のゲート回路G2〜G4も上記と同様な回路により構成される。
上記ゲート回路G1〜G4は、半導体集積回路装置の設計及び製造の上では、現実的に制御可能な範囲内において、互いに同じ特性を持つように構成される。複数のゲート回路を互いに同じ特性とする技術について、以下に概略的に説明する。ゲート回路G1〜G4において、その特性である論理しきい値は、概略的には、それを構成するPチャネルMOSFETとNチャネルMOSFETとに決まると理解されているであろう。その観点ではチャネル幅Wとチャネル長Lとの比W/Lは同じであるがサイズが異なるMOSFETによっても同じ特性のCMOSゲート回路を構成できると理解され得る。しかしながら、半導体集積回路装置の製造バラツキによる電気特性への影響は、異なったサイズの素子に対しては異なったものとなる。
この実施例では、かかる複数のゲート回路G1〜G4のそれぞれは、好適には、それぞれを構成する素子の相互、すなわちPチャネル型MOSFETの相互、及びNチャネル型MOSFETの相互が互いに同じ構造、同じサイズを持って構成される。言うまでもなくそれら素子は、同じ素子は同じプロセスの元で一括製造されると言う半導体集積回路装置の特徴に従って製造される。これによって複数のゲード回路G1〜G4は、半導体集積回路装置の製造上の加工寸法のバラツキ、各種層の厚さバラツキ、不純物濃度バラツキ等々の製造バラツキによる影響を均等に受けるようにされ、かつ、論理しきい値電圧も正規分布を持つようにされる。
第3図に示した実施例では、2つのゲート回路G1とG2の論理しきい値の大きさの判定出力がゲート回路G2から出力される。かかる信号伝達及び増幅経路に前記のような電気信号ノイズが重畳することにより、かかる電気信号ノイズに反映した出力信号を得る。つまり、ゲート回路G1の短絡された入出力ノードの電圧(論理しきい値に相当する)をゲート回路G2の入力バイアスとして供給し、上記電気信号ノイズに反映した出力信号を後段のゲート回路G3、G4により増幅してCMOSレベルの2値信号を得るものである。したがって、厳密にはゲート回路G3とG4は、単に増幅動作を行うものであるからゲート回路G1とG2のようにPチャネル型MOSFETの相互、及びNチャネル型MOSFETの相互が互いに同じ構造、同じサイズを持って構成される必要は無いが、この実施例では主に回路設計の観点から同じ構造、同じサイズを持って構成される。
第5図には、上記第3図の真性乱数発生回路の動作の一例を説明するための波形図が示されている。同図では、信号伝達経路での電気信号ノイズは省略されている。動作制御信号ACTをロウレベルからハイレベルに変化させると、上記各ゲート回路G1〜G4が実質的に動作状態となり、ゲート回路G1の出力ノードN1がその論理しきい値に対応した電圧にされる。なお、これに必要な時間を収束時間と呼ぶことにする。ゲート回路G2は、その論理しきい値によってノードN1の電圧を判定し、その出力ノードN2の電位を決める。この例では、ゲート回路G1の論理しきい値が、ゲート回路G2の論理しきい値によりも僅かに大きいので、ゲート回路G2での増幅動作によってノードN2の電位が上記ノードN1に対して小さい電圧にされる。このノードN2の電圧は、ゲート回路G3により増幅されてノードN3のようにハイレベルに大きくされる。そして、ゲート回路G4により更に増幅されてノードN4のように回路の接地電位VSSに到達する。
上記ノードN1とN2の電位差が僅かであり、そこに発生する電気信号ノイズがノードN2の電位以下になると、出力信号は反転するものとなる。つまり、前記第2図(a)と同様にノードN1とN2の電位差を反転させるような電気信号ノイズが発生した場合、逆にいうなら電気信号ノイズによりノードN1とN2の電位差関係が逆転してしまうような僅かの電圧差しかないゲート回路G1とG2の組み合わせを持つ基本回路では、出力はかかる基本回路の電気ノイズを反映した真性乱数を発生させることができる。当然のことであるが、上記の真性乱数を発生させることができるのは、収束時間を経過して後であることは言うまでもない。収束時間中であれば、各ナンドゲートのノードの過渡的な状態の影響を受け、本来の微小な電気ノイズを反映した真性乱数を得ることは難しい。
この実施例では、回路が停止状態すなわち動作制御信号ACTがロウレベルであるとき、第3図のNチャネルMOSFETQ3、Q7、Q11、Q15がオフ状態となり、前記のCMOSインバータ回路を用いた場合のような貫通電流が抑制される。また、ゲート回路としてナンド(NAND)回路を用いた利点は、CMOS論理LSIの標準素子であるため、適用する製品を限定しないことである。つまり、完全論理記述型回路で構成されるため、回路設計が容易になるものである。
第4図の実施例では、動作制御信号ACTが直列のNチャネルMOSFETのQ3、Q7、Q11、Q15のゲートに接続されているが、NチャネルMOSFETQ1、Q5、Q9、Q13に接続されて、ノードN1、N2、N3はNチャネルMOSFETのQ3、Q7、Q11、Q15のゲートに接続されてもよい。
トランジスタレベル回路記述において重要なのは、個々のNAND素子中のMOSFETの信号接続位置である。上記の停止状態では各ゲート回路G1〜G4の出力すなわちノードN1、N2、N3の電位が自動的に電源電圧となるため、それら信号の接続先のPチャネルMOSFETのNBTIによる特性の変動を防止できる効果がある。
MOSトランジスタは、そのしきい値電圧が電界強度と温度とに依存するような電界ストレスによって不所望に変動することが有る。特にNBTI(Negative Bias Temperature Instability)と称される現象は、Pチャネル型MOSFETで顕著に現われる現象である。この防御策として、目的外の時間においてPMOSのゲートに印加される電圧を高い電圧にする方法がよく用いられる。この実施例では、上記動作制御信号ACTのハイレベルにより論理しきい値判定動作を行わせ、かかる論理しきい値判定動作以外の時には、動作制御信号ACTをロウレベルにしてPチャネル型MOSFETのゲートには、電源電圧を供給するようにゲート電圧を固定電圧にするものである。これにより、Pチャネル型MOSFETは、ゲート、ドレイン及びソースと基板(チャネル)の全てが電源電圧に等しい同電位となり、上記MOSFETの経時変化による論理しきい値の変動が極力抑えられる。このことは、前記のように各単位回路の出力信号を組み合わせによって識別情報を得る上で特に有効なものとなる。
これに対して、乱数発生回路においては、上記のような素子特性の変動、あるいは電源電圧の変動等には基本的には影響されないという特徴を有している。この実施例の乱数発生回路では、前記説明したように比較的多数の単位回路の中で少なくとも1個、ゲート回路G1とG2の論理しきい値電圧が前記電気信号ノイズからみて等しいものと見做されるものが存在すればよい。上記素子特性の変動、あるいは電源電圧の変動等には上記多数からなる単位回路群の全てにおいて発生し、それによりある単位回路ではゲート回路G1とG2の論理しきい値電圧が前記電気信号ノイズからみて等しいものと見做されていたものが外れても、別の単位回路では逆にゲート回路G1とG2の論理しきい値電圧が前記電気信号ノイズからみて等しいものと見做されることになるからである。
第33図には、第4図の真性乱数発生回路の変形例が示されている。第33図(a)のナンドゲート回路G1とG2(前記第1図のインバータ回路INV1とINV2に相当)の電気的特性バラツキを抑えるため、NANDを構成するトランジスタのチャネル長Lおよびチャネル幅Wをいずれも標準サイズ(通常プロセスの最小寸法)よりも大きくする。かかるトランジスタのLおよびWを大きくすることで、トランジスタのゲート電極の加工誤差に起因する特性のバラツキを抑えることができる。また、MOSトランジスタのゲート電極直下の不純物濃度の統計的変動に起因するバラツキ(これを、「ゆらぎ現象」という。)を抑えることができる。近年の先端プロセスでは、同一チップ上のMOSトランジスタの電気的特性バラツキは、加工誤差よりのゆらぎ現象の影響が支配的であることが知られている。
ナンドゲート回路G1とG2を構成する各トランジスタ大きさは共通である必要はないが、回路動作時の状態に関わる、言い換えるならば上記活性状態での論理しきい値の決定に影響を及ぼすPチャネルMOSFETQ2(Q6)とNチャネルMOSFETQ1,Q3(Q5,Q7)を優先して大きくする。各ナンドゲート回路G1とG2の対応するMOSFETは同じ形状である必要がある。
また、増幅回路として動作するゲート回路G3及びG4は、上記のように設定することは必要ないが、回路設計上あるいは素子レイアウト上はゲート回路G1とG2と同様のものを用いるのが簡単となるし、後述するような乱数発生回路の存在を隠す上で有利なものとなる。
第33図(b)には、第33図(a)と同様の効果が得られる別の実現方法の回路が示されている。すなわち、3入力NANDゲートを用いて、活性状態での論理しきい値の決定に影響を及ぼすPチャネルMOSFETとNチャネルMOSFETを各2個ずつとし、上記ゆらぎ現象の影響を抑えるものである。これは、特殊なサイズのMOSトランジスタを特別に設計することなしに標準的なサイズのゲート部品で実現できるという利点がある。
なお、前記第3図、第4図及び第33図はいずれもナンド(NAND)ゲートを用いて基本回路を構成したが、ナンドの代わりにノア(NOR)ゲートであっても構わない。ただし、その場合にはかかる基本回路は、動作制御信号ACTがロウレベル(論理0)で活性化するものとなる。前記のように、NBTIと称される電界ストレスに起因する劣化現象は特にPチャネルMOSFETで顕著である。しかし他の素子、例えばポリシリコンFETや有機トランジスタ等において、かかる劣化現象がPチャネル型ではなくNチャネル型で顕著である場合は、ノア(NOE)ゲートを用いることが望ましい。
なお、第3図に示される実施例において、各単位回路UC0〜UCn内のナンドゲートG2,G3,G4については、それぞれに接続された共通制御信号ACTを電源VDDに接続して常にハイレベル(論理1)としてもよく、それによって本実施例の持つ基本的機能は変らない。
第6図には、第3図の真性乱数発生回路の信号変化検出回路EXORの一実施例の具体的回路図が示されている。この実施例では、排他的論理和回路EX0〜EXnが縦列接続されて上記信号変化検出回路EXORが構成される。単位回路UC0の出力信号D0を受ける排他的論理和回路EX0の他方の入力には、特に制限されないが、ロウレベル(論理0)のような固定値が与えられる。次段の単位回路UC1の出力信号D0を受ける排他的論理和回路EX1の他方の入力には、上記排他的論理和回路EX0の出力信号が供給される。以下、n+1番目の単位回路UCnの出力信号Dnを受ける排他的論理和回路EXnの他方の入力には、図示しないが1つ前の排他的論理和回路EXn−1の出力信号が供給される。
これにより、排他的論理和回路EXnの出力信号Rは、上記n+1個の単位回路UC0〜UCnの出力信号D0〜Dnの中のいずれか1つでも変化すると、それに対応してそれに対応した排他的論理和回路EXの出力信号が変化し、上記直列形態にされた排他的論理和回路によって出力信号Rが変化するものとなる。つまり、上記出力信号Rは、単位回路(基本回路)の電気ノイズを反映した真性乱数となる。
上記信号変化検出回路EXORとしては、論理ゲート回路で構成する場合には上記のような複数個の排他的論理和回路を用いるものが便利であるが、それに限定されず、出力信号D0〜Dnの論理レベルの変化を検出するものであれば何であってもよい。例えば、出力信号D0〜Dnと、その遅延信号により1シッョトパルスを形成するもの等種々の実施形態を採ることができる。
第7図には、この発明に係る真性乱数発生回路の他の一実施例の回路図が示されている。この実施例では、単位回路UC0〜UCnがデコーダDECを用いて時間的に分散して動作させられる。そして、1つの排他論理和回路EXと、1つのフリップフロップ回路FFとを用いて、複数の単位回路UC0〜UCnの出力の排他論理を累算することにより真性乱数RRを得るものである。なお、排他論理和を複雑な論理に変更することで、発生パターンをより解読され難い真性乱数を得ることができる。
上記デコーダDECは、特に制限されないが、カウンタとデコーダにより構成される。つまり、クロックCLKをカウンタで計数して、その計数出力をデコードして単位回路UC0〜UCnを順次動作状態にする動作制御信号DEC0〜DECnを生成するものである。あるいは、シフトレジスタを用い、選択信号に対応した初期値をクロックCLKにより順次にシフトして単位回路UC0〜UCnを順次に動作状態にする動作制御信号DEC0〜DECnを形成するようにされる。
このように単位回路UC0〜UCnを順次に動作状態にするために、単位回路UC0を例にして説明すると、ゲート回路G1とG2に対して動作制御信号としてのデコード出力DEC0が供給される。増幅回路としてのゲート回路G3とG4は、上記ゲート回路G1とG2が動作制御信号DEC0により動作状態とされたときには、それに対応した出力信号の増幅動作を行い、上記ゲート回路G1とG2が動作制御信号DEC0により非動作状態とされたときには、前段の単位回路の出力信号をスルして伝達する動作を行う。
ゲート回路G3の一方の入力には、それに対応したゲート回路G2の出力信号が伝えられ、他方の入力には前段の単位回路の出力信号が伝えられる。ゲート回路G4は、一方の入力にはそれに対応したゲート回路G3の出力信号が供給され、他方の入力には電源電圧に対応されたハイレベルが固定的に供給される。これにより、ゲート回路G4は実質的にはインバータ回路として動作する。初段の単位回路UC0のゲート回路G3の他方の入力には、電源電圧に対応されたハイレベルが固定的に供給される。
第8図には、第7図の真性乱数発生回路の動作の一例を説明するための概念的な波形図が示されている。デコーダDECにより、初段の単位回路UC0に対応した動作制御信号DEC0がハイレベルの選択レベルにされると、ゲート回路G1とG2による出力信号が形成されてゲート回路G3,G4により増幅されて出力信号D0が形成される。単位回路UC1〜UCnにおいては、上記動作制御信号DEC1〜DECnがロウレベルの非選択レベルであるので、ゲート回路G2に相当するゲート回路の出力信号は全てハイレベルにされる。それ故、ゲート回路G3に相当するゲート回路はインバータ回路としての動作を行い、前段回路からの出力信号を増幅するのみとなる。この結果、上記初段の単位回路UC0の出力信号D0は、上記単位回路UC1〜UCnのゲート回路を通して排他的論理和回路EXに伝えられる。つまり、D1〜Dnは、D0に従ったレベルにされる。
デコーダDECにより、第2番目の単位回路UC1に対応した動作制御信号DEC1がハイレベルの選択レベルにされると、上記同様にゲート回路G1とG2に対応した2つのゲート回路による出力信号が形成されてゲート回路G3,G4に対応したゲート回路により増幅されて出力信号D1が形成される。つまり、上記初段の単位回路では、選択信号DEC0のロウレベルによりゲート回路G2の出力信号がハイレベルとなり、出力信号D0をハイレベルに固定する。したがって、上記のようにの単位回路UC1においては、上記のようにゲート回路G3,G4に対応したゲート回路による増幅動作が行われる。以下、その出力信号D1は、前記同様に後段側の単位回路における増幅回路としてのゲート回路を通して排他的論理和回路EXに伝えられる。つまり、D2〜Dnは、D1に従ったレベルにされる。第3番目以降の単位回路UC2〜UCnの選択動作も前記同様である。
第7図の実施例回路の実際の波形は、第8図とは異なる。つまり、単位回路UC0において非選択状態のときには、出力信号D0がハイレベルにされる。つまり、上記DEC1が非選択レベルになると同時に出力信号D0は非選択状態に対応したハイレベルの出力信号を形成するものとなる。このことは、単位回路UC1〜UCnが非選択レベルにされたときに、各出力信号D1〜Dnも一斉にハイレベルにされる。このような非選択状態に対応して出力信号D0〜Dnのレベルを忠実に表現すると、上記単位回路UC0〜UCnが順序動作し、その出力が順次(シリアル)に出力されることが解り難くなるので、単位回路UC0〜UCnにおける非選択状態での出力レベルの変化を無視して第8図のように表すものである。
第7図の実施例回路において、(n+1)個の単位回路(基本回路)を含む単位回路群が例示されており、(n+1)個の基本回路の中に、第1ゲート回路G1(第1インバータ回路INV1)と第2ゲート回路G2(第2のインバータ回路INV2)の特性が極めて等しい組み合わせの単位回路が少なくとも1つ以上存在する。前述のように、単位回路群中に含まれる第1ゲート回路G1と第2ゲート回路G2の特性が極めて等しい組み合わせの単位回路の数が多いほど、得られる乱数の品位は高くなる。単位回路群に含まれる第1ゲート回路G1と第2ゲート回路G2の特性が極めて等しい組み合わせの単位回路の数を十分な数にするためには、第1ゲート回路G1と第2ゲート回路G2の特性が極めて等しい組み合わせの単位回路が存在する確率を上げ、単位回路群に含まれる単位回路数を、かかる確率に見合う適正な数にすることが必要である。第1ゲート回路G1と第2ゲート回路G2の特性が極めて等しい組み合わせの単位回路が存在する確率は、当該回路の製造プロセスと設計手法等に依存する要素が高い(出来高次第)ため、単位回路群に含まれる単位回路数の最適化が重要である。
また、乱数の品位を向上させる別の手段として、排他論理和回路EXとフリップフロップ回路FFを用いた累算の回数を増やすことも有効である。具体的には、第8図例示された動作波形において、(n+1)個の単位回路の累算を、例えば(n+1)×mとm倍に延長する。つまり、単位回路UC0〜UCnの前出力D0〜Dnをm回にわたって読み出して1ビットの乱数R(RR)を決定するものである。
第9図には、この発明に係る真性乱数発生回路とその要素回路の一実施例の回路図が示されている。第9図(a)に示される真性乱数発生回路では、第9図(b)に示されるような単位回路(要素回路)がM×N個のようにマトリックス配置される。
1つの行が前記第7図の回路のように接続され、その出力部に行選択信号により選択されるナンドゲート回路G0とクロックドインバータ回路CN0が設けられる。M個からなる各行を構成する単位回路は、対応するもの同士が列デコーダにより形成された列選択信号C0〜CM−1により共通に選択される。上記N個の行方向に配置された単位回路は、行デコーダにより形成された行選択信号R0〜RN−1により1つが選択される。かかる行選択信号R0〜RN−1は、上記ナンドゲート回路G0とクロックドインバータ回路CN0からなる行選択回路の選択信号としても用いられる。選択回路を構成するクロックドインバータ回路CN0は、それが非動作状態のときに出力ハイインピーダンス状態になるので、上記N個のクロックドインバータ回路の出力信号が共通に接続され、選択された1つの行に対応したクロックドインバータ回路の出力号がナンドゲート回路G11に伝達される。
動作制御信号ACTによりゲートが制御されるナンドゲート回路G10とインバータ回路INV10を通してクロックCLKがM進カウンタに供給される。これにより、M進カウンタでは動作制御信号ACTが活性状態のときにクロックCLKに対応して0〜M−1の計数動作を行い、列デコーダによりC0〜CM−1の選択信号が形成されて単位回路の出力信号が第7図の実施例と同様にシリアルに出力される。
上記M進カウンタのキャリー信号がN進カウンタに供給されるので、N進カウンタはM進カウンタの1回りに対応して計数動作を行う。これにより、上記行方向に配置されたM個の単位回路の読み出しが行われると、行選択の切替が行われて0行目からRN−1行目まで、それぞれN個の単位回路の読み出しが実施される。
本実施例において、M×Nサイクルで全ての単位回路の読み出しが行われるから、M×Nサイクルにより出力RRから1ビットの真性乱数を生成することができる。これをK回繰り返すことによりKビットの真性乱数を得ることができる。この構成では、M×N個の単位回路の中に少なくとも1つだけ前記のような電気信号ノイズに応答する単位回路が存在するようにM×Nの数を選ぶものである。なお、上記K回の繰り返しの間にJ個(0<J<Kの整数)の乱数を取り出してもよい。ただしその場合は、各乱数ビットの取り出しサイクルはM×Nサイクル以上離れていなければならない。また、上記M個からなる単位回路の中に、前記真性乱数を発生させるものが少なくとも1つ存在するようにMの数を選ぶものとすると、Mサイクル毎(各行毎)に1ビットの真性乱数RRを取得することができるので、M×NサイクルによりNビットの真性乱数を発生させる真性乱数発生回路を構成することができる。
第9図(b)には、前記第9図(a)における回路要素の一実施例の具体的回路図が示されている。単位回路は、前記第7図に示したゲート回路G1〜G4に、行/列選択機能を設けるためのゲート回路G5とG6が追加される。ナンドゲート回路G5の2つの入力には、列選択信号Ciと、行選択信号Riが供給される。ゲート回路G3には、前記第7図の単位回路と同様にその行における1段前の単位回路の出力信号Diが供給される。これにより、行及び列が選択状態にされた1つの単位回路のみが前記のような動作状態にされる。
第9図(c)には、前記第9図(b)における回路要素の他の一実施例の具体的回路図が示されている。単位回路は、第9図(b)および前記第7図に示したゲート回路G1〜G4を3入力ナンドゲートにして、行/列選択機能を合わせ持たせている。ナンドゲート回路G5およびG6の3つの入力のうち2つの入力には、列選択信号Ciと、行選択信号Riが供給される。ゲート回路G7には、第9図(b)および前記第7図の単位回路と同様にその行における1段前の単位回路の出力信号Diが供給される。これにより、行及び列が選択状態にされた1つの単位回路のみが前記のような動作状態にされる。
第9図(a)におけるクロックドインバータ回路CNは、第9図(d)に示すように、電源電圧VDDと回路の接地電位VSSとの間に直列接続されたPチャネルMOSFETQ1、Q2とNチャネルMOSFETQ4、Q3から構成される。PチャネルMOSPETQ1とNチャネルMOSFETQ3のゲートが共通に接続されて入力端子Aとされる。PチャネルMOSFETQ2とNチャネルMOSFETQ4のドレインが共通に接続されて出力端子Bとされる。そして、端子Cから供給される制御信号は、NチャネルMOSFETQ4のゲートに供給され、上記制御信号がインバータ回路INV12によって反転されてPチャネルMOSFETQ2のゲートに供給される。
端子Cから供給される行選択信号のような選択信号がハイレベルのときにNチャネルMOSFETQ4とPチャネルMOSFETQ2がオン状態となり、入力端子Aからの入力信号を受けるNチャネルMOSFETQ3とPチャネルMOSFETQ1のオン/オフに対応した出力信号が出力端子Bから出力される。端子Cから供給される行選択信号のような選択信号がハイレベルのときにNチャネルMOSFETQ4とPチャネルMOSFETQ2が同時にオン状態となり、入力端子Aからの入力信号によりNチャネルMOSFETQ3又はPチャネルMOSFETQ1が相補的にオン状態となり、ロウレベル又はハイレベルが出力端子Bから出力される。
また、第9図(a)におけるクロックドインバータ回路CNは、第9図(e)に示されるようなトランスファゲート回路であってもよい。クロックドインバータ回路CNは、第9図(e)に示すように、入力端子Aと出力端子Bとの間に直列接続されたPチャネルMOSFETQ5と、NチャネルMOSFETQ6から構成される。端子Cから供給される制御信号は、NチャネルMOSFETQ6のゲートに供給され、上記制御信号がインバータ回路INV14によって反転されてPチャネルMOSFETQ5のゲートに供給される。端子Cから供給される行選択信号のような選択信号がハイレベルのときにPチャネルMOSFETQ5とNチャネルMOSFETQ6がオン状態となり、入力端子Aからの入力信号が出力端子Bから出力される。端子Cから供給される行選択信号のような選択信号がハイレベルのときにNチャネルMOSFETQ4とPチャネルMOSFETQ2が同時にオン状態となり、入力端子Aからの入力信号によりNチャネルMOSFETQ3又はPチャネルMOSFETQ1が相補的にオン状態となり、ロウレベル又はハイレベルが出力端子Bから出力される。また、端子Cから供給される行選択信号のような選択信号がロウレベルのときにNチャネルMOSFETQ4とPチャネルMOSFETQ2が同時にオフ状態となり、出力端子Bはハイインピーダンスとなる。
第10図には、この発明に係る真性乱数発生回路とその要素回路の他の一実施例の回路図が示されている。第10図(a)に示される真性乱数発生回路では、第10図(b)に示される単位回路がM(列)×N(行)個のようにマトリックス配置される。1つの行が前記第7図の回路のように接続され、その出力部にナンドゲート回路G0と排他的論理和回路EX0が設けられる。ナンドゲート回路G0の他方の入力は電源VDDが接続され常にハイレベル(論理1)状態である。M個からなる各行を構成する単位回路は、対応するもの同士が列デコーダにより形成された列選択信号C0〜CM−1により共通に選択される。
動作制御信号ACTによりゲートが制御されるナンドゲート回路G10とインバータ回路INV10を通してクロックCLKがM進カウンタに供給される。これにより、M進カウンタでは動作制御信号ACTが活性状態のときにクロックCLKに対応して0〜M−1の計数動作を行い、列デコーダによりC0〜CM−1の選択信号が形成されて、N行で構成されるCiを共通とする各行の単位回路の出力信号が第7図の実施例と同様にシリアルに出力される。
ナンドゲート回路G0の出力は、排他的論理和回路EX0に接続され、EX0の他方の入力はに接続される。さらに排他的論理和回路EX0の出力は、となりの行の排他的論理和回路へ接続され、全ての行の排他的論理和回路の出力は順次となりの行へ縦列接続される。排他的論理和回路EX0の他方の入力には、特に制限されないが、ハイレベル(論理1)のような固定値が与えられる。これにより、縦列接続された排他的論理和回路の出力信号RAは、上記選択されたCiを共通とするN行の単位回路から生成されるN個の出力信号の中のいずれか1つでも変化すると、それに対応して各行のた排他的論理和回路の各出力信号が変化し、上記縦列形態にされた排他的論理和回路によって出力信号RAが変化するものとなる。つまり、上記出力信号RAは、1サイクルの動作でN個の単位回路(基本回路)の電気ノイズを反映した値となる。
本実施例において、Mサイクルで全ての単位回路の読み出しが行われるから、Mサイクルにより出力RRから1ビットの真性乱数を生成することができる。これをK回繰り返すことによりKビットの真性乱数を得ることができる。この構成では、M×N個の単位回路の中に少なくとも1つだけ前記のような電気信号ノイズに応答する単位回路が存在するようにM×Nの数を選ぶものである。なお、上記K回の繰り返しの間にJ個(0<J<Kの整数)の乱数を取り出してもよい。ただしその場合は、各乱数ビットの取り出しサイクルはMサイクル以上離れていなければならない。
第10図(b)には、前記第10図(a)の真性乱数発生回路における回路要素の一実施例の具体的回路図が示されている。ナンドゲート回路G1とG2の2つの入力の一方には、列選択信号Ciが供給される。ゲート回路G3には、前記第7図の単位回路と同様にその行における1段前の単位回路の出力信号Diが供給される。これにより、列が選択状態にされた1つの単位回路のみが前記のような動作状態にされる。
第11図には、第9図の真性乱数発生回路の動作の一例を説明するための概略波形図が示されている。動作制御信号ACTがハイレベルの活性化レベルにされた状態で、クロックCLKを入力すると、それに対応して列選択信号C0〜CM−1が列デコーダから出力される。このとき、N進カウンタは計数値がゼロであるから0行目の行選択信号R0を選択レベルにするので、第0行目の単位回路の出力信号が列選択信号C0〜CM−1に対応してシリアルに出力される。0行目の単位回路の読み出しが行われると、そのキャリー信号によりN進カウンタが+1の計数動作を行い、上記第0行目R0を非選択にして代わって第1行目R1を選択状態にする。このようにして、N−1行目までの単位回路の読み出しが順次に行われる。真性乱数RRは、上記単位回路のシリアル出力Rと、1つ前の出力との排他的論理和により決定される。なお、第10図の真性乱数発生回路の動作波形図は、第9図と類似しているので省略する。第9図と異なる点は、選択信号R0〜RN−1がないことである。それによってN進カウンタを進行させるための動作が不要となり、M×N個の単位回路(基本回路)を全て選択するために必要なサイクルがM回となる。
第12図には、この発明に係る真性乱数発生回路の他の一実施例の概念図が示されている。この実施例では、算術方式の乱数発生回路と、本発明にかかる物理現象を利用した真性乱数発生回路を組み合わせた方法によって、乱数を発生させるものである。前述のように算術方式の乱数発生回路は、回路が比較的小規模であるが、得られる乱数の品位は高くない。特に、無数の乱数を取得した場合、周期性が表れるという本質的な欠点がある。そこで、算術方式のアルゴリズム中に、この発明に係る真性乱数発生回路での電気信号ノイズに応答した不規則な要素を初期値として挿入することで、周期性を低減することが可能である。
第13図には、第12図の初期値発生回路の一実施例の回路図が示されている。この実施例は、基本的には前記第6図の実施例と同様である。異なる点は、排他的論理和EX0〜EXnに代えてフリップフロップ回路FF0〜FFnが設けられ、かかるフリップフロップ回路FF0〜FFnからD0〜Dnのような初期値を得るものである。
上記信号D0〜Dnは、そのうちの大半が前記のようなプロセスバラツキによって固定値となるが、そのうちのいずれか1ないし数ビットが電気信号ノイズに応答した乱数となるので、上記算術方式乱数発生回路の初期値としての機能を十分に発揮させることができる。
第14図には、第12図の初期値発生回路の他の一実施例の回路図が示されている。この実施例は、基本的には前記第6図の実施例と同様である。異なる点は、活性化信号ACTによって1ビットの乱数をフリップフロップ回路FFから出力させるものである。つまり、この実施例では1ビットの乱数を前記算術方式乱数発生回路の初期値としての用いるものである。
第15図には、第13図と第14図の初期値発生回路の動作を説明するための波形図が示されている。動作制御信号ACTをハイレベルにすると、第13図の回路では各単位回路UC0〜UCnから出力信号R0〜Rnが出力される。この出力信号R0〜Rnは、前記のように固定値となるものや電気信号ノイズに対応して変化するものが存在する。動作制御信号ACTをハイレベルからロウレベルにすると、そのときの上記出力信号R0〜Rnに対応した乱数D0〜Dnがフリップフロップ回路FF0〜FFnに取り込まれて、固定値を含むD0〜Dnからなる複数ビットからなる乱数が出力される。
第14図の回路では、上記各単位回路UC0〜UCnの出力信号R0〜Rnが排他的論理和回路EX0〜EXnに供給され、そのときどきの信号R0〜Rnに対応した1ビットの乱数が排他的論理和回路EX0〜EXnを通して出力されている。したがって、動作制御信号ACTをハイレベルからロウレベルにすると、そのときのに生成されている乱数がフリップフロップ回路FFに取り込まれて、1ビットからなる乱数DMが出力される。
第16図には、この発明に係る真性乱数発生回路の他の一実施例の回路図が示されている。この実施例は、前記第9図に示した真性乱数発生回路に識別情報Fを出力させる出力端子が設けられる。つまり、M×N個の単位回路から出力されるM×N個の出力信号が識別情報Fとして出力される。上記識別情報Fは、適当な記憶回路に保持されて管理システムに登録される。この識別情報Fの照合方法としては、登録時と照合時の環境や条件の違いの他に前記のように電気信号ノイズに応答する真性乱数に対応した識別番号の変動を許容する必要がある。上記真性乱数発生回路を搭載した半導体集積回路装置に電源投入等を行った際、あるいは前記動作活性化信号ACTを活性化した直後の識別信号Fを適当な記憶回路に記憶させて、これを被識別番号とする。管理システムから登録識別番号を順次取り出す。登録識別番号と被識別番号を比較する。
登録識別番号と被識別番号の比較結果の違いが小さいものを一致候補にする。この動作を管理システムに登録されている登録識別番号について繰り返すことで、最終的に全ての登録識別番号の中で最も違いが小さいものが同一最有力候補となる。
登録識別番号と被識別番号を比較において、対応するビットの”0”、”1”出力パターンは、個々の登録識別番号に特有であり、同一の半導体集積回路装置から出力された識別番号であるかは、パターンを構成するビット数の一致の割合で判定できる。登録時と照合時の環境や前記乱数ビットでの違いによる識別番号の変動を許容するため、被識別番号と登録済みの識別番号とのずれの合計がもつとも小さいものを一致の候補とすることによりチップ識別が可能となる。
第17図には、この発明に係る真性乱数発生回路の一実施例の回路図が示されれている。この実施例は、基本構成は前記第9図の実施例と同様である。本願においては、MOSFETの特性のバラツキはランダムな分布であることに着目し、数多くの単位回路を観察すれば、第1インバータ回路INV1と第2のインバータ回路INV2又は第1ゲート回路G1と第2ゲート回路G2の特性が極めて等しい組み合わせがある確率で存在することを利用するものである。このために、半導体集積回路装置に真性乱数発生回路を製造した場合に、実際に電気信号ノイズを反映させる単位回路が存在するか否かの検査を行うことが不可欠となる。
この実施例では、真性乱数発生回路に自身を試験するテスト回路が付加される。このテスト回路での検査方法は、単位回路群中に含まれる第1ゲート回路G1(第1インバータ回路INV1)と第2ゲート回路G2(第2インバータ回路INV2)の特性が極めて等しい組み合わせの単位回路の数を判定し、物理現象に基づく電気信号ノイズを確実に捉えることを保証するものである。
前記第16図において識別情報Fを取り出したように、各単位回路からの出力信号を得られる回路ノード、つまりはインバータ回路INV11の出力端子(排他的論理和回路EXの一方の入力)の信号Rを反転検出器に供給し、この検出信号Hを計数器により計数する。この計数出力Cを比較器で比較し、判定結果Mを得るものである。また、上記テスト動作のために(4+M)進カウンタにより列選択信号を形成するようにされる。(4+M)進カウンタは、同じ単位回路を4回連続して選択すると、次の単位回路の選択動作に移るという動作を繰り返して行う。
第18図には、上記テスト回路の動作の一例を説明するためのタイミング図が示されている。テスト信号TSをハイレベルにして(4+M)進カウンタ動作を指示する。また、反転検出器と計数器を初期状態又は初期値とする。動作制御信号ACTをハイレベルにして乱数発生回路を動作状態にする。クロックCLKの供給して最初の単位回路からの順次の読み出し動作を行う。このとき、(4+M)進カウンタは、クロックCLK1〜4に対して同じ単位回路を4回連続して選択する。これにより、前記第2図(b)のように固定値を出力するものは、4回とも同じ信号Rが出力される。
このように固定値を出力させるものは反転検出器は反転検出を行わないので、計数器の計数値は増加しない。これに対して、第2図(a)のように電気信号ノイズVnzに応答した出力信号Rを形成するものが存在すると、4回のアクセス中での反転回数は最大で3回であるが、1回以上の反転した場合には検出結果は真とする。同図では、2サイクル目と4サイクル目で出力信号Rが変化し、このように反転検出器では出力Hのレベルがその都度変化する。
このように1回でも出力Hが変化すると、結果が真であるとき計数器の値C0をロウレベルからハイレベルに変化させて計数値を1増やす。単位回路群中の次の単位回路の選択に移り、最後の単位回路まで上記同様な検出動作を繰り返して行う。計数器の数が規定値より大きい時、検査結果Mの値を真(ハイレベル)とする。真性乱数を得る場合には基本的には上記規定値は1であればよいが、安全性を考慮して2又は3以上の複数にすることが望ましい。
例えば、第18図に示したように計数器を2ビット出力のバイナリカウンタとしたとき、クロックCLKのK−1サイクル目で計数出力C0とC1が共にハイレベルになることを比較器が検出して上記検査結果Mをハイレベルにように決めれば、第2図(a)のように電気信号ノイズVnzに応答した出力信号Rを形成するものが4個以上存在することが確かめられたことになる。
1つの単位回路を検査に対してCLKパルスの4個で4回アクセスしたが、最低2回以上であっても構わない。2回アクセスする時は、(2+M)進カウンタを用いるものである。検査以外のときには、上記テスト信号TSのロウレベルの応じて前記のようにM進カウンタとして動作するようにされる。あるいは、そのまま(4+M)進カウンタや(2+M)進カウンタとして動作させてもよい。この場合には、読み出しサイクルが4倍又は2倍に増加する。
セキュリティ製品における政府機関の規定として、NIST(米国標準技術研究所)が策定したFIPS140−2がある。この中には、政府の購入品が備える暗号モジュールが満たすべきセキュリティ要件(FIPS PUB 140−2,SECURITY REQUIREMENTS FOR CRYPTOGRAPHIC MODULES)が規定されており、乱数については統計的手法による、品位の検定合格基準が示されている。当該方法を用いた方法では、それを実現するための専用の回路の規模が比較的大きいことや、半導体試験装置で検査する場合に比較的時間がかかるという短所がある。
これに対して、この発明に係る乱数発生回路に設けられたテスト回路では、半導体ウェハ上に回路が完成した時点で、上記テスト機能を備えたテスタに接続することなく、自身で判定を行うことができる。また、半導体集積回路装置として出荷時にも自身で判定することが可能である。更に、必要ならシステムに搭載された時点で、必要に応じてあるいは定期的に上記真性乱数発生回路が正常に動作可能な状態であるか否かの確認を行うことができる。これによって、信頼性の高い真性乱数発生が可能となるものである。いずれも、本方式が統計に裏付けられたものであることにより可能である。
すなわち、真性乱数発生回路の診断(試験)は、その乱数の品位の評価に等しく、ある種の統計的処理が必要である。そのため、試験装置、試験時間、長期信頼度保証などの大きな課題がある。特に、真性乱数発生器がLSIや最終システムに搭載された以降、回路自体が正常に動作しているか重要な問題である。何故なら、品位の高い真性乱数が得られなければ、セキュリティが危ぶまれることになるからである。しかし、真性乱数発生回路を試験あるいはモニタすることは稼動中のシステムとしては大きな負荷である。このような技術的課題に対して、本願発明の真性乱数発生回路では、上記のように簡単な構成でこれらの問題を解決することができる。
第19図には、この発明に係る真性乱数発生回路の一実施例の回路図が示されている。この実施例は、基本構成は前記第9図の実施例と同様である。この実施例では、クロックとして発振器で形成した発振パルスOSCを用いるようにするものである。
第20図には、第19図の真性乱数発生回路の動作波形図が示されている。活性化信号ACTにより、発振器が特定の周期Toscのパルスを発生する。パルスOSCを受けて、単位回路群中の単位回が順次選択され、RR信号に乱数が生成される。スタート信号STをハイレベルに遷移させると、RR信号の乱数が出力RYから取り出される。スタート信号STの周期Tcと発振器の周期Toscの関係は、全ての単位回路からの出力信号の読み出しを必要とするから、[Tc]≧[Tosc]×[n]である。ここで、上記の[n]は、単位回路群中の単位回路数(M×N)である。発振器出力パルスOSCは、かかる真性乱数発生回路が搭載されたLSIのシステムクロック等であってもよい。
第21図には、この発明に係る真性乱数発生回路の一実施例の回路図が示されている。この実施例は、基本構成は前記第19図の実施例と同様である。この実施例では、スタート信号STが省略されて、動作制御信号ACTより動作状態となり、シフトレジスタが出力の直前に設けられて並列ビットからなる乱数RAiを生成するようにされる。
第22図には、この発明に係る乱数発生回路の出力部の他の一実施例の回路図が示されている。この実施例は、前記第21図の実施例のシフトレジスタをメモリに変更している。同図で用いたメモリは、いわゆるシリアル入力/パラレル出力型のメモリである。制御信号ACTがハイレベルの時、真性乱数発生回路からクロックのM×Nサイクル毎にRRから1ビットずつ真性乱数発生し、また同時に当該メモリはシリアル入力モードであって、入力SIから真性乱数を取り込み蓄積する。制御信号がロウレベルの時、真性乱数発生回路は停止し、同時に当該メモリはパラレル出力モードであって、入力ADのアドレス情報に対応したメモリ空間に蓄積された真性乱数を出力DTから出力する。なお、当該メモリの各入出力の意味は、SEはこのメモリのモードを切り替えるための制御入力であって、ハイレベルの時シリアル入力モード、ロウレベルの時パラレル出力モードであり、SIはシリアルデータ入力であり、CKはシリアル入力を取り込む時の同期信号入力であり、ADはパラレル出力モードの時メモリ空間を選択するアドレス入力であり、DTはパラレルデータ出力である。
第22図に示されたメモリは、FIFO(First In First Out)型メモリや、シリアル入力とパラレル出力を同時に行える非同期型メモリであっても構わない。
第23図には、前記第21図に示した真性乱数発生回路の動作波形図が示されている。動作制御信号ACTにより回路が動作状態となり、N進カウンタのキャリー信号CAによってシフトレジスタが1ビットのシフト動作を行い生成された真性乱数RRの取り込みを行う。この実施例では、0ないし7からなる8回の前単位回路群の読み出しによって、8ビットからなる乱数D0〜D7をパラレルに出力させることができる。
第24図には、この発明に係る真性乱数発生回路の一実施例のチップ構成図が示されている。この実施例では、真性乱数発生回路を1つのICで構成するものである。外部端子として電源端子VCC、VSS、クロック入力端子CLK、動作制御信号RST及び真性乱数出力端子RRから構成される。前記のように発振器を搭載したものでは、クロック端子CLKが省略される。また、テスト回路を備えたものでは、判定出力端子、テストモード入力端子等が付加される。判定出力端子は、乱数出力端子RRと許容することもできる。かかるICチップを1つのパッケージに封止しても、他のICと同じ実装基板に搭載して封止(マルチチップIC)しても、また、そのままシステムに実装しても構わない。
第25図には、この発明に係る半導体集積回路装置の一実施例のブロック図が示されている。この実施例の各回路ブロックは、実際の半導体基板上における幾何学的な回路配置に合わせて描かれている。この実施例の半導体集積回路装置は、特に制限されないが、複数の回路機能ブロックが組み合わされて特定の信号処理機能を持つようにされる。このような回路ブロックを有する半導体集積回路装置に真性乱数発生回路が搭載される。真性乱数発生回路に必要とされるクロックは、かかる半導体集積回路装置に設けられたクロック発生回路で形成されたクロック又は外部端子からクロック供給を受けるものではそのクロックが用いられる。また、第19図や第21図の乱数発生回路のように発振器を持つものでは、上記のようなクロックの供給は不要である。
第26図には、この発明に係る半導体集積回路装置の他の一実施例のブロック図が示されている。この実施例の各回路ブロックも、実際の半導体基板上における幾何学的な回路配置に合わせて描かれている。この実施例は、MPU(マイクロプロセッシングユニット)を中心とした1チップのマイクロコンピュータに向けられている。このマイクロコンピュータでは、バスBUS(アドレスバス、データバス及びコントロールバス)上に上記MPUの他に、RAM(ランダム・アクセス・メモリ)、ROM(リード・オンリー・メモリ)、DMAC(ダイレクト・メモリ・アクセス・コントローラ)、TIM(タイマー)及びADC(アナログ・デジタル・コンバータ)、DAC(デジタル・アナログ・コンババータ)と、この前記の真性乱数発生回路が接続される。
本発明に係る真性乱数発生回路は、全て標準CMOS論理回路のみで実現される。このことは、複雑なアナログ回路設計やLSI実装に掛かる負荷を軽減し、製品の価格を低減し、信頼性性の向上に寄与することになる。また、セキュリティ問題において最大の課題である、クラッキングに対して強固なモジュールを提供できる。何故なら、標準論理回路のみで構成することで、LSIの中でアタックの標的から逃れる、迷彩(ステルス)効果が得られるからである。つまり、アナログ回路を用い場合のように回路パターンに特徴がなく、しかも上記のようにバスBUSを介して乱数の取り出しを行うようにした場合には、上記迷彩(ステルス)効果をいっそう高くすることができる。
第27図には、この発明に係る真性乱数発生回路の他の一実施例の構成図が示されている。第27図(a)には、回路ブロック構成が示され、第27図(b)には、レイアウト構成が示されている。この実施例では、例えば前記第7図に示したような真性乱数発生回路がn個設けられる。つまり、0ないしn−1からなるn個の真性乱数発生回路が設けられ、それぞれの出力信号R0、R1〜Rn−1はマルチプレクサMUXを通して1つつの信号が選ばれて真性乱数RMとして出力される。
第27図(b)のレイアウト構成に示すように、マルチプレクサを挟んで上下に真性乱数発生回路を設けることにより、効率よく回路配置を行うことができる。同図において、真性乱数発生回路の中の1つの回路ブロックは、例えば前記1つの単位回路を表している。この構成においては、2つの真性乱数発生回路に挟まれたマルチプレクサは2つのうちの1つを選択するというような比較的簡単な構成で良いから、マルチプレクサが配置される部分には前記デコーダ等の選択信号発生回路が配置される。
例えば、この実施例の真性乱数発生回路において乱数Rを得るのにn個の単位回路で構成される場合、1ビットの乱数Rを得るためには前記のように全ての単位回路からの出力信号を得る必要からにnサイクルを費やすことになる。そこで、上記1つの乱数を得るに必要なnサイクルに対応してこの実施例のようにn個の乱数発生回路を設けた場合には、クロックCLKに同期した高い周波数で乱数を発生させることができる。ただし、動作制御信号により動作を開始したときからnサイクルからなるダミーサイクルを必要とする。
第28図には、第27図に示した真性乱数発生回路の動作の一例を示すタイミング図が示されている。第27図の真性乱数発生回路では、最初の乱数発生回路の読み出しのためにnサイクル(nクロック)後から各真性乱数発生回路から乱数R0〜Rn−1が出力されるから、マルチプレクサMPXによりクロックCLKに同期して1個ずつ選ぶようすることにより、クロックCLKに同期した真性乱数RM(R0、R1、R2…Rn−1、R0’R1’R2’…のようにクロックCLKに同期した高ビットレートな真性乱数を得ることができる。
第29図には、この発明が適用されるICカードの一実施例の外観図が示されている。ICカードは、プラスチックケースからなるカード101と、かかるカード101の内部に搭載された図示しない1チップのマイクロコンピュータ等からなるICカード用チップを持つものである。上記ICカードは、さらに上記ICカード用チップの外部端子に接続されている複数の接点(電極)102を持つ。
複数の接点102は、後で第30図によって説明するような電源端子VCC、電源基準電位端子VSS、リセット入力端子RESバー、クロック端子CLK、データ端子I/O−1/IRQバー、I/O−2/IRQバーとされる。ICカードは、かかる接点102を通して図示しないリーダーライタのような外部結合装置から電源供給を受け、また外部結合装置との間でのデータの通信を行う。
第30図には、この発明に係るICカードに搭載されるICカード用チップ(マイクロコンピュータ)の一実施例の概略ブロック図が示されている。同図の各回路ブロックは、公知のMOS集積回路の製造技術により、特に制限されないが、単結晶シリコンのような1個の半導体基板上において形成される。
この発明に係るICカード用チップの構成は、基本的にマイクロコンピュータと同じような構成である。その構成は、クロック生成回路、中央処理装置(以下、単にCPUという)、ROM(Read Only Memory)やRAM(Random Access Memory)、不揮発性メモリ(EEPROM)などの記憶装置、暗号化及び復号化処理の演算を行なうコプロセッサ(暗号化・復号化装置)、入出力ポート(I/Oポート)などからなる。
クロック生成回路は、図示しないリーダライタ(外部結合装置)から第29図の接点102を介して供給される外部クロックCLKを受け、かかる外部クロック信号に同期したシステムクロック信号を形成し、それをチップ内部に供給する回路である。
CPUは、論理演算や算術演算などを行う装置であり、システムコントロールロジック、乱数発生器及びセキュリィロジック及びタイマなどを制御する。RAM、ROM、EEPROMのような記憶装置は、プログラムやデータを格納する装置である。コプロセッサは、DES暗号法などに適合された回路から構成される。I/O(入出力)ポートは、リーダライタと通信を行う装置である。データバスとアドレスバスは、各装置を相互に接続するバスである。
上記記憶装置のうち、ROMは、記憶内容が不揮発的に固定されているメモリであり、主にプログラムを格納するメモリである。揮発性メモリ(以下、RAMという)は自由に記憶情報の書き換えができるメモリであるが、電源の供給が中断されると、記憶している内容が消えてなくなる。ICカードがリーダライタから抜かれると電源の供給が中断されるため、上記RAMの内容は、保持されなくなる。
上記不揮発性メモリ(以下、EEPROM(Electrical Erasable Programmable Read Only Memory)という)は、内容の書き換えが可能な不揮発性メモリであり、その中に一旦書き込まれた情報は、電源の供給が停止されてもその内部に保持される。このEEPROMは、書き換える必要があり、かつICカードがリーダライタから抜かれても保持すべきデータを格納するために使われる。例えば、ICカードがプリペイドカードとして使用されるような場合、のプリペイドの度数などは、使用するたびに書き換えられる。この場合の度数などは、リーダライタか抜かれてもICカード内で記憶保持する必要があるため、EEPROMで保持される。
CPUは、いわゆるマイクロプロセッサと同様な構成にされる。すなわち、その詳細を図示しないけれども、その内部に命令レジスタ、命令レジスタに書込まれた命令をデコードし、各種のマイクロ命令ないしは制御信号を形成するマイクロ命令ROM、演算回路、汎用レジスタ(RG6等)、内部バスBUSに結合するバスドライバ、バスレシーバなどの入出力回路を持つ。CPUは、ROMなどに格納されている命令を読み出し、その命令に対応する動作を行う。CPUは、I/Oポートを介して入力される外部データの取り込み、ROMからの命令や命令実行のために必要となる固定データのようなデータの読み出し、RAMやEEPROMに対するデータの書き込みと読み出し動作制御等を行う。
上記CPUは、クロック生成回路から発生されるシステムクロック信号を受けそのシステムクロック信号によって決められる動作タイミング、周期をもって動作される。CPUは、その内部の主要部がPチャンネル型MOSFETとNチャンネル型MOSFETとからなるCMOS回路から構成される。特に制限されないが、CPUは、CMOSスタティックフリップフロップのようなスタティック動作可能なCMOSスタテック回路と、信号出力ノードへの電荷のプリチャージと信号出力ノードへの信号出力とをシステムクロック信号に同期して行うようなCMOSダイナミック回路とを含む。
コプロセッサは、内部で扱う平文データに符号ビットを付加し、ポジ/ネガの両方の状態を持つようにする。暗号化における繰り返し演算時に、データを符号ごとランダムに変更する。符号の影響を受けない演算(排他的論理和など)はそのまま符号を無視して演算する。符号の影響を受ける演算(変換表を用いた演算など)では、ポジ用の演算回路とネガ用の演算回路を用意し、データの符号によって演算回路の出力を選択する機構を用いる。
DES(Data Encryption Standard)は、広範に用いられている秘密鍵ブロック暗号である。DESのアルゴリズムは、大きく平文のデータフローと鍵のデータフローに分割できる。平文データフローでは、IPとよばれる転置(信号の入れ換え)を行った後、上位と下位それぞれ32ビットずつにデータを分割し、転置・換字処理を16回繰り返す。最後に上位と下位それぞれ32ビットデータを統合し、IP−1とよばれる転置を行い、暗号文を得る。
DESでは、暗号化と復号化が同じ処理で実現できる。ただし暗号化と復号化では、鍵のスケジューリングが異なる。鍵のスケジューリング部分について、詳細は省略するが、鍵データを元に、各段に対して48ビット鍵スケジューリングデータの出力を行う。
DESアルゴリズムでは、同じ平文に対しては常に同じ内部動作を行う。その結果、内部信号が入力信号に依存して変化するので、DPA(Diffrential Power Analysis)法での統計処理を行いやすい。つまり、DPA法では、消費電流波形を統計処理して暗号鍵を推定し、例えばDESのある部分に仮定した暗号鍵を当てはめて、平文を変化させながら消費電流波形を測定して統計する。暗号鍵を様々に変化させながらこの作業を繰り返し、正しい鍵のときには電流波形が大きなピークを示す。
上記のようなDPAによるDES解読に対する対策の例として、特開2000−066585号公報がある。この公報に記載の技術では、マスクaのパターンと、そのビット反転のマスクパターンのペアを設け、暗号化を行う毎にこのペアの一方をスイッチによりランダムに選択して、装置内部の平文に依存したビットをマスクし、暗号文を出力する前に暗号文からマスクaの影響を除去するようにするものである。
DPAによる解読防止のためには、上記マスクが特定のパターンに偏らないようにする必要のあることは説明されているが、どのようにすれば複数ビットのパターンが偏らないようにするために、乱数発生器で生成された乱数が利用される。
第31図には、この発明が適用される非接触ICカードの一実施例のブロック図が示されている。同図には、非接触ICカードに対して、外部装置として設けられるリード・ライト装置のコイル(アンテナ)も併記されている。非接触ICカードに搭載されるLSIは、図示されるブロックの他に、例えばメモリやマイクロコンピュータ等の機能ブロックを備えるが、それらを論理回路及び不揮発メモリとして表している。上記LSIの各ブロックを構成する回路素子は、特に制限されないが、公知のMOSFET(金属酸化物半導体型電界効果トランジスタ。この明細書では、MOSFETをして絶縁ゲート型電界効果トランジスタの総称とする)集積回路の製造技術により、単結晶シリコンのような1個の半導体基板面上に形成される。また、このLSIは、所定の保護膜によってラミネート処理された後、非接触ICカードの基体となるカード面上に搭載され、さらに被膜処理が施される。
本実施例の非接触ICカードは、特に制限されないが、いわゆる密着型の非接触ICカードとされ、例えば銅箔等を用いてカード面上にコイル状に形成される受電コイル(カード側アンテナ)と、所定の配線層を介して上記受電コイルに結合されるLSIとを備える。このLSIは、4個のダイオードがブリッジ結合されてなる整理回路と、整流回路の整流電圧を平滑する平滑コンデンサと、安定化電源回路とによって、上記論理回路及び不揮発メモリ等を含む内部回路の動作電圧VDDが形成される。上記整流回路に対しては、実質並列形態にクロック発生回路、データ受信回路及びデータ送信回路が設けられる。
上記ダオードブリッジ回路からなる整流回路は、リード・ライト装置の送電コイル(アンテナ)との電磁結合によって非接触ICカードの受電コイルに電力源として伝達される交流信号つまりキャリアを整流し、上記平滑コンデンサで平滑した電圧を安定化電源により直流電源電圧VDDを生成し、LSIの各機能ブロックに動作電源として供給する。パワーオンリセット回路は、電源電圧VDDの立ち上がりを検知し、つまりは、リード・ライト装置との結合を検知して、データの受信や送信を正常に行うようにするために、論理回路のレジスタやラッチ回路等をリセットさせる。
データ受信回路は、リード・ライト装置から例えばキャリアを周波数変調することにより伝送されるデータを受信復調し、内部入力データとしてLSIの内部回路に伝達する。内部回路で形成された出力データは、データ送信回路によりキャリアを周波数変調してリード・ライト装置に伝送する。
上記のような内部回路(論理回路)やデータ受信回路及びデータ送信回路では、上記動作電圧VDDの他に、動作シーケンス制御や信号の受信や送信のためにクロック信号を必要とする。この実施例では、クロック発生回路により上記交流信号をパルス信号とし、クロック信号を生成する。論理回路部には、乱数発生器が設けらており、外部とのデータ送信やデータ受信にかかる乱数が用いられる。
上記非接触ICカードでは、直流電源電圧VDDの電流供給能力が小さいから、乱数発生器における消費電力も小さいことが必要とされる。前記のよう乱数発生器は、単位回路を順次に動作させるものであるために消費電流を小さくできる。それ故、この実施例の乱数発生器は、上記のような非接触ICに搭載させるものとして好適なものとなる。
第32図には、この発明に係る乱数発生回路で生成された乱数の乱数2次元散布図が示されている。同図においては、200×200ビットの乱数の0と1をドットの白と黒に対応して表示したものである。特に制限されないが、この実施例では、単位回路(基本回路)を128個設けて、通常のCMOSプロセスで回路を構成したものである。
同図は、図面の作成の関係で乱数2次元散布図を400dpiでスキャナーで読み取り表示したものであるので、実際の乱数2次元散布図とは若干異なるが、おおよその乱数2次元散布を表しており、特有のパターンは存在しないことが判る。つまり、高い品位の乱数であることを表している。また、前記のFIPS140−2での乱数検定結果は、次の通りである。1回の検定に使用される乱数の長さを20,000ビットとし、これを600回行った結果、全てにおいてかかる検定をパスすることができた。
今日暗号やセキュリティが日常的に話題となるようになったのは、インターネットの普及が理由であろう。インターネットは遠く離れた機器をつなぐネットワーク技術である。インターネット上を往来するデータは、本質的に第三者の所有するコンピュータやセットワーク装置を通過するため盗聴や改竄の虞が常にある。インターネットをセキュリティやプライバシーが保証された安全なインフラとするために、暗号や認証が脚光を浴びている。現在、インターネット上で様々なセキュリティ技術が利用されているが、その代表的なものにSSL(Secure Socket Layer)やIPsec(Internet Protocol security)技術などがある。これらの技術の詳細は記さないけれども、いずれも品位の高い乱数が必要である。特に、IPsecは次世代のインターネット技術であるIPv6(Internet Protocol Version6)では必須条件として採用される。IPv6は普及すると、個人の持つパーソナルコンピュータや携帯電話をはじめ、自動車や家電製品などにもIP番号が割り当てらことも可能となる。そうなると、品位の高い乱数、つまり真性乱数をそれらの機器の中で容易に生成することが必要となる。
前述のように、本発明に係る真性乱数発生回路は、全て標準CMOS論理回路のみで実現される。このことは、複雑なアナログ回路設計やLSI実装に掛かる負荷を軽減し、製品の価格を低減し、信頼性性の向上に寄与することになる。
第34図には、この発明に係る半導体集積回路装置に搭載される真性乱数発生回路の第1図に示された基本概念の応用概念の回路図が示されている。第1図では、真性乱数は複数からなる各基本回路内のINV1とINV2に生じる電気信号ノイズを素にしているが、第34図では、第1のインバータINV1を共通とし第2のインバータを各基本回路に分散させる。つまり、1種類しか存在しない第1のインバータの論理しきい値VLT1と各基本回路内の第2のインバータの論理しきい値VLT2の差が極めて小さい組み合わせが存在する場合、第1のインバータおよび第2のインバータの電気信号ノイズの影響を反映して真性乱数を得ることができる。なお、第3のインバータ以後の動作は上記第1図で述べた内容と同じであるので省略する。
第35図には、この発明に係る半導体集積回路装置に搭載される真性乱数発生回路の第34図に示された応用基本概念のさらに別の応用概念の回路図が示されている。この実施例では、前記図34のインバータ回路INV1〜INV14が、2入力のナンド(NAND)ゲート回路G1〜G14に置き換えられる。上記ゲート回路G1は、一方の入力と出力とが結合される。このゲート回路G1の共通化された入出力が基本回路内のゲート回路G02の一方の入力と接続される。ゲート回路G02の出力はゲート回路G03の一方の入力に接続される。ゲート回路G03の出力はゲート回路G04の一方の入力に接続される。そして、これらのゲート回路G02〜G04の他方の入力には、電源VDDに接続され常にハイレベル(論理1)とさる。
第34図のインバータ回路INV1〜INV14は、上記ナンドゲート回路G1〜G14のような論理ゲート回路の一種と見做すことができる。すなわち、入力信号を反転させる論理動作を行うものであるからである。第34図のようにインバータ回路INV1〜INV14を用いた場合には、インバータ回路INV1とINV02のように初段側においては論理しきい値電圧VLT付近で動作するものであり、電源電圧VDDと回路の接地電位との間に直流電流を流すものとなる。本願発明では、前記のように素子のプロセスバラツキによる論理しきい値電圧の正規分布を利用するものであり、そのために比較的多数からなる単位回路を動作させる必要があるので、上記インバータ回路INV1とINV02での直流電流は低消費電力化を実現する上では無視できない。
これに対して、この実施例のようにゲート回路G1〜G14を用いた場合には、各ゲート回路G1〜G14は、動作制御信号ACTをロウレベル(論理0)のような非活性化レベルとしたとき、ゲート回路G1の出力は無条件にハイレベル(論理1)となり、例えばゲート回路G1の出力を入力とするゲート回路G02の出力は無条件にロウレベル(論理0)となり、ゲート回路G02の出力を入力とするゲート回路G03の出力は無条件にハイレベル(論理1)となり、ゲート回路G03の出力を入力とするゲート回路G04の出力は無条件にハイレベル(論理1)となり、各ゲート回路G1,G02、G03、G04およびそれと等価なな他の基本回路ないのゲート回路においても直流電流が発生しない。すなわち、この実施例回路では、乱数を必要とするタイミングで上記動作制御信号ACTをハイレベル(論理1)のような活性化レベルとする。これにより、各ゲート回路G1〜G14は、上記動作制御信号ACTとは異なる他方の入力信号に応答して反転信号を形成するというインバータ回路としての動作を行う。これにより、上記動作制御信号ACTをハイレベルにすることにより、第34図の基本回路図と同様の動作を行うものとなる。
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、抵抗素子を、インバータやゲート回路を構成する信号入力MOSFETに対する負荷素子とするような場合には、特性バラツキに応ずる情報は、抵抗素子の特性バラツキと信号入力MOSFETの特性バラツキとの両方を反映したものとなる。抵抗バラツキに対応する特定情報は、必ずしも半導体集積回路装置内のみで形成する必要は無く、外部端子を介して接続する構成とすることもできる。ただし、低消費電力化を図る上では、前記のようなCMOSゲート回路を用いることが望ましい。また、第1インバータ回路INV1と第2インバータ回路INV2は、その消費電流を低減させるために前記第10図(b)に示したようなクロックドインバータ回路CNに置き換え、動作制御信号により活性化を行うようにするものであってもよい。
Claims (18)
- 乱数を利用する電子装置における乱数発生方法であって、
上記電子装置には、雑音検出対象回路と該雑音検出対象回路の出力信号が入力される増幅回路とを一組として含む単位回路の複数と、該複数の単位回路からの出力信号が入力される信号変化検出回路とが半導体基板上に配置された半導体チップまたは半導体集積回路装置が実装されており、
上記雑音検出対象回路のそれぞれは互いに同じ製造過程をもって同一の形態として形成された第1論理回路及び第2論理回路を備えてなり、
上記複数の単位回路と上記信号変化検出回路とが動作状態にされたとき、
上記単位回路のそれぞれにおいて上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を生成する段階と、
上記信号変化検出回路が、上記複数の単位回路のそれぞれから出力される2値信号のうちのいずれか1つの信号変化に応答して出力信号を生成する段階と、
上記信号変化検出回路から出力される2値信号の複数を組み合わせて乱数を生成する段階と、
が実行されることを特徴とする乱数発生方法。 - 請求項1において、
上記第1論理回路及び第2論理回路はそれぞれ第1入力と第2入力を有する論理ゲート回路からなり、上記第1論理回路に含まれる論理ゲート回路はその出力が当該論理ゲート回路の第1入力に接続され、上記第2論理回路に含まれる論理ゲート回路の第1入力が上記第1論理回路に含まれる論理ゲート回路の出力に接続され、
上記増幅回路は、第1入力と第2入力を有する論理ゲート回路の複数からなり、該論理ゲート回路はそれぞれ出力が当該論理ゲート回路の第1入力に接続された構成を備え、このような接続構成の前記複数の論理ゲート回路が縦列形態に接続された構成を備えてなり、
上記第1論理回路、第2論理回路及び増幅回路を構成する論理ゲートの第2入力にそれぞれ上記動作制御信号が供給されたとき上記複数の単位回路が動作状態となることを特徴とする乱数発生方法。 - 請求項2において、
上記半導体チップまたは上記半導体集積回路装置は、動作制御信号を生成する順序回路をさらに含み、
上記複数の単位回路を上記動作制御信号に対応して順次に選択状態とし、全ての単位回路の出力信号をシリアルに出力させて上記信号変化検出回路により1ビット分の乱数を生成することを特徴とする乱数発生方法。 - 請求項3において、
上記信号変化検出回路は排他的論理回路を含み、上記動作制御信号に対応して上記選択状態となった単位回路から順次シリアルに出力される出力信号を受けて上記乱数を生成することを特徴とする乱数発生方法。 - 請求項3において、
上記1ビットの乱数に対応した全ての単位回路からの出力信号の組み合わせに基づき、上記半導体チップまたは上記半導体集積回路装置に対する識別信号を生成することを特徴とする乱数発生方法。 - 請求項1において、
上記電子装置はさらに算術方式の乱数発生回路を含み、
上記信号変化検出回路で生成された乱数を上記算術方式の乱数発生回路に供給し、
上記算術方式の乱数発生回路は、上記信号変化検出回路からの乱数を初期値として乱数を生成することを特徴とする乱数発生方法。 - 乱数を利用する電子装置における乱数発生方法であって、
上記電子装置には、雑音検出対象回路と該雑音検出対象回路の出力信号が入力される増幅回路とを一組として含む単位回路の複数と、該複数の単位回路からの出力信号が入力される信号変化検出回路と、算術方式の乱数発生回路とが半導体基板上に配置された半導体チップまたは半導体集積回路装置が実装されており、
前記雑音検出対象回路のそれぞれは互いに同じ製造過程をもって同一の形態として形成された第1論理回路及び第2論理回路を備えてなり、
動作状態において、
上記単位回路のそれぞれにおいて上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を生成する段階と、
上記単位回路の複数から出力される複数ビットからなる信号を上記算術方式の乱数発生回路に供給する段階と、
上記算術方式の乱数発生回路が、上記単位回路の複数から供給された複数ビットからなる信号を初期値として乱数を生成する段階と、
を実行することを特徴とする乱数発生方法。 - 互いに同じ製造過程をもって同一の形態として形成された第1論理回路及び第2論理回路と、上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を形成する増幅回路とからなる単位回路の複数と、
上記複数の単位回路から出力される複数からなる2値信号のうちのいずれか1つの信号変化に応答して出力信号を形成する信号変化検出回路と
を備え、
上記信号変化検出回路から出力される2値信号から乱数を生成してなることを特徴とする半導体集積回路装置。 - 請求項8において、
上記第1論理回路及び第2論理回路と上記増幅回路とは、第1入力と第2入力を有する論理ゲート回路からなり、
上記第1論理回路に対応した論理ゲート回路の第1入力と出力とが接続され、
上記第2論理回路に対応した論理ゲート回路の第1入力は、上記第1論理回路に対応した論理ゲート回路の共通接続された入力と出力に接続され、
上記第1論理回路及び第2論理回路に対応した論理ゲート回路の第2入力には、動作制御信号が供給されてなり、
上記増幅回路は、複数の論理ゲート回路の第1入力と出力とが縦列形態に接続され、第2入力には上記動作制御信号が供給されてなることを特徴とする半導体集積回路装置。 - 請求項9において、
動作制御信号を生成する順序回路をさらに含み、
上記複数の単位回路は、上記動作制御信号に対応して順次に選択状態にされ、
上記複数の単位回路の出力部に上記信号変化検出回路が設けられてなることを特徴とする半導体集積回路装置。 - 請求項10において、
上記信号変化検出回路は排他的論理回路を含み、上記動作制御信号に対応して選択状態になった前記単位回路から順次出力される出力信号を受けて上記乱数を生成することを特徴とする半導体集積回路装置。 - 請求項11において、
上記論理ゲート回路は、CMOS構成の論理ゲート回路であり、上記動作制御信号により単位回路が非動作状態にされるときに、次段のゲート回路のPチャネルMOSFETをオフ状態にさせるものであることを特徴とする半導体集積回路装置。 - 請求項11において、
上記複数の単位回路は、行列配置されてなり、
行列配置される各単位回路の入力部には、第1入力と第2入力を有する論理ゲート回路が設けられて、第1入力と第2入力に行及び列選択信号が供給され、その出力により上記第1論理回路及び第2論理回路を構成する論理ゲート回路を選択状態にさせる動作制御信号が形成され、
上記各単位回路の増幅回路を構成する論理ゲート回路の第2入力には、行方向に配置される前段からの単位回路の出力信号が伝えられるものであり、かかる増幅回路は上記動作制御信号が非選択状態のときに前段からの単位回路の出力信号を増幅して伝えるものであることを特徴とする半導体集積回路装置。 - 請求項13において、
上記単位回路を構成するMOSFETのゲート長及びゲート幅は、上記信号変化検出回路又は順序回路を含む他の論理回路を構成するMOSFETのゲート長及びゲート幅よりも大きく形成されてなることを特徴とする半導体集積回路装置。 - 請求項11において、
上記順序回路は、同じ単位回路を複数回連続して選択するテストモードを備え、
かかるテストモードにおいて、同じ単位回路から複数回出力される出力信号のうち異なる出力を形成する単位回路の数を計数する回路を設け、上記異なる出力信号を形成する単位回路の数が1以上であるときには乱数発生回路は良品として判定してなることを特徴とする半導体集積回路装置。 - 半導体基板上に複数の回路機能ブロックが配置された半導体集積回路装置であって、
上記半導体基板上には、さらに雑音検出対象回路と該雑音検出対象回路の出力信号が入力される増幅回路とを一組として含む単位回路の複数と、該複数の単位回路からの出力信号が入力される信号変化検出回路とが形成されており、
上記雑音検出対象回路のそれぞれは互いに同じ製造過程をもって同一の形態として形成された第1論理回路および第2論理回路を備えてなり、
上記半導体集積回路の動作状態において、
上記単位回路のそれぞれにおいて上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を生成し、
上記信号変化検出回路が上記複数の単位回路のそれぞれから出力される2値信号のうちの少なくとも1つの信号変化に応答して出力信号を生成する
動作を実行し、
生成された乱数が上記回路機能ブロックに供給されることを特徴とする半導体集積回路装置。 - 乱数を利用する電子装置であって、
上記電子装置には、雑音検出対象回路と該雑音検出対象回路の出力信号が入力される増幅回路とを一組として含む単位回路の複数と、上記複数の単位回路からの出力信号が入力される信号変化検出回路とが半導体基板上に配置された半導体チップまたは半導体集積回路装置が実装されており、
上記雑音検出対象回路のそれぞれは互いに同じ製造過程をもって同一の形態として形成された第1論理回路および第2論理回路を備えてなり、
動作状態において、
上記単位回路のそれぞれにおいて上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を生成し、
上記信号変化検出回路が上記複数の単位回路のそれぞれから出力される2値信号のうちのすくなくとも1つの信号変化に応答して出力信号を生成する
動作を実行し、
生成された乱数が電子装置の他の回路によって利用されることを特徴とする電子装置。 - 乱数を利用する電子装置における乱数発生方法であって、
上記電子装置には、雑音検出対象回路と該雑音検出対象回路の出力信号が入力される増幅回路とを一組として含む単位回路の複数と、上記複数の単位回路からの出力信号が入力される信号変化検出回路とが半導体基板上に配置された半導体チップまたは半導体集積回路装置が実装されており、
前記雑音検出対象回路のそれぞれは互いに同じ製造過程をもって同一の形態として形成された第1論理回路および第2論理回路を備えてなり、
上記複数の単位回路と上記信号変化検出回路とが動作状態にされたとき、
上記単位回路のそれぞれにおいて上記第1論理回路及び第2論理回路のしきい値電圧の差電圧に重畳される雑音を増幅して2値信号を生成する段階と、
上記信号変化検出回路が上記複数の単位回路のそれぞれから出力される2値信号のうちの少なくとも1つの信号変化に応答して出力信号を生成する段階と、
が実行されることを特徴とする乱数発生方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/001486 WO2005078573A1 (ja) | 2004-02-12 | 2004-02-12 | 乱数発生方法と半導体集積回路装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005078573A1 JPWO2005078573A1 (ja) | 2007-08-30 |
JP4353435B2 true JP4353435B2 (ja) | 2009-10-28 |
Family
ID=34857514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005517843A Expired - Fee Related JP4353435B2 (ja) | 2004-02-12 | 2004-02-12 | 乱数発生方法と半導体集積回路装置及び電子装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7702704B2 (ja) |
EP (1) | EP1715409B1 (ja) |
JP (1) | JP4353435B2 (ja) |
KR (1) | KR100875786B1 (ja) |
CN (1) | CN100585552C (ja) |
DE (1) | DE602004027663D1 (ja) |
WO (1) | WO2005078573A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070126556A1 (en) * | 2005-12-07 | 2007-06-07 | Kovio, Inc. | Printed radio frequency identification (RFID) tag using tags-talk-first (TTF) protocol |
JP2008052545A (ja) * | 2006-08-25 | 2008-03-06 | Seiko Instruments Inc | 乱数発生回路 |
JP2008242832A (ja) * | 2007-03-27 | 2008-10-09 | Toshiba Corp | 乱数生成装置 |
US7962539B2 (en) * | 2007-04-30 | 2011-06-14 | International Business Machines Corporation | System, method and device of generating a random value |
TWI346304B (en) * | 2007-08-30 | 2011-08-01 | Inventec Appliances Corp | Apparatus and method for preventing integrated circuit card illeally reading |
KR100964845B1 (ko) * | 2007-11-29 | 2010-06-24 | 주식회사 시큐트론 | 공정편차에 기반한 보안 시스템 및 방법 |
JP2009193523A (ja) * | 2008-02-18 | 2009-08-27 | Seiko Epson Corp | 乱数発生回路、電子機器、およびi/oセルのテスト方法 |
JP4538066B2 (ja) * | 2008-08-26 | 2010-09-08 | 株式会社東芝 | 乱数生成装置 |
KR101579837B1 (ko) | 2009-02-09 | 2015-12-24 | 삼성전자주식회사 | 난수 발생 장치 및 난수 발생 방법 |
US8886692B2 (en) | 2009-02-09 | 2014-11-11 | Samsung Electronics Co., Ltd. | Apparatus for generating random number |
KR100926214B1 (ko) | 2009-04-23 | 2009-11-09 | 한양대학교 산학협력단 | 공정편차를 이용한 디지털 값 생성 장치 및 방법 |
US8522065B2 (en) * | 2009-09-06 | 2013-08-27 | Percello Ltd. | Generating a random number in an existing system on chip |
US8554814B2 (en) * | 2010-08-20 | 2013-10-08 | The Governing Council Of The University Of Toronto | Random signal generator using quantum noise |
KR101139630B1 (ko) * | 2010-12-09 | 2012-05-30 | 한양대학교 산학협력단 | 식별키 생성 장치 및 방법 |
KR101373283B1 (ko) * | 2012-04-23 | 2014-03-11 | 한국전자통신연구원 | 비휘발성 메모리를 이용한 이중 트랙 방식의 난수 발생 방법 및 이를 위한 장치 |
JP6034153B2 (ja) * | 2012-11-21 | 2016-11-30 | 株式会社東芝 | 乱数生成回路 |
US20140197865A1 (en) | 2013-01-11 | 2014-07-17 | International Business Machines Corporation | On-chip randomness generation |
KR20140108362A (ko) | 2013-02-25 | 2014-09-11 | 삼성전자주식회사 | 난수 발생기 |
US9531384B1 (en) * | 2014-12-01 | 2016-12-27 | University Of South Florida | Adiabatic dynamic differential logic for differential power analysis resistant secure integrated circuits |
CN104579308A (zh) * | 2014-12-23 | 2015-04-29 | 苏州宽温电子科技有限公司 | 一种改善电平转换电路负偏压温度不稳定性的恢复电路 |
CN104579300A (zh) * | 2014-12-23 | 2015-04-29 | 苏州宽温电子科技有限公司 | 一种改善灵敏放大器负偏压温度不稳定性的恢复电路 |
US10033359B2 (en) * | 2015-10-23 | 2018-07-24 | Qualcomm Incorporated | Area efficient flip-flop with improved scan hold-margin |
KR102485192B1 (ko) | 2016-03-18 | 2023-01-09 | 에스케이하이닉스 주식회사 | 반도체 집적 회로 장치 |
US9966953B2 (en) | 2016-06-02 | 2018-05-08 | Qualcomm Incorporated | Low clock power data-gated flip-flop |
KR101920190B1 (ko) * | 2016-11-22 | 2019-02-08 | 한국인터넷진흥원 | 임의의 ip 생성 방법 및 그 장치 |
CN106845109B (zh) * | 2017-01-20 | 2019-08-27 | 中国人民解放军海军工程大学 | 一种指数型有寿件备件需求量的计算方法 |
CN106971048B (zh) * | 2017-04-14 | 2020-06-19 | 中国人民解放军海军工程大学 | 一种伽马型有寿件备件需求量计算方法 |
KR102341266B1 (ko) * | 2017-08-30 | 2021-12-20 | 삼성전자주식회사 | 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치 |
CN109669669B (zh) * | 2018-12-06 | 2022-06-24 | 镕铭微电子(济南)有限公司 | 误码生成方法及误码生成器 |
CN110955408A (zh) * | 2019-12-02 | 2020-04-03 | 上海威固信息技术股份有限公司 | 一种基于Xilinx FPGA的真随机数生成方法和系统 |
RU2741865C1 (ru) * | 2020-07-17 | 2021-01-29 | Комаров Юрий Олимпиевич | Генератор истинно случайных чисел |
US11967358B2 (en) * | 2022-05-26 | 2024-04-23 | Micron Technology, Inc. | Apparatuses and methods for bias temperature instability mitigation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0308294A3 (en) | 1987-09-18 | 1991-04-03 | STMicroelectronics, Inc. | Noise-resistant arbiter circuit |
US5963104A (en) * | 1996-04-15 | 1999-10-05 | Vlsi Technology, Inc. | Standard cell ring oscillator of a non-deterministic randomizer circuit |
US5961577A (en) * | 1996-12-05 | 1999-10-05 | Texas Instruments Incorporated | Random binary number generator |
JP3600454B2 (ja) | 1998-08-20 | 2004-12-15 | 株式会社東芝 | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
US6636553B1 (en) * | 1998-12-29 | 2003-10-21 | Texas Instruments Incorporated | Pseudorandom noise generator for WCDMA |
US6188294B1 (en) * | 1999-05-12 | 2001-02-13 | Parthus Technologies, Plc. | Method and apparatus for random sequence generator |
US6631390B1 (en) | 2000-03-06 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating random numbers using flip-flop meta-stability |
FR2810816B1 (fr) * | 2000-06-27 | 2002-12-13 | France Etat | Dispositif a circuit(s) logique(s) pour la generation d'un signal aleatoire |
WO2002050910A1 (fr) | 2000-12-01 | 2002-06-27 | Hitachi, Ltd | Procede d'identification de dispositif de circuit integre semi-conducteur, procede de production de dispositif de circuit integre semi-conducteur et dispositif correspondant |
JP3604674B2 (ja) * | 2001-09-26 | 2004-12-22 | 株式会社東芝 | 乱数生成回路 |
JP3604658B2 (ja) | 2001-09-26 | 2004-12-22 | 株式会社東芝 | 乱数生成回路 |
DE10213269A1 (de) * | 2002-03-25 | 2003-10-23 | Infineon Technologies Ag | Zufallszahlengenerator |
US7007060B2 (en) | 2002-05-08 | 2006-02-28 | Agilent Technologies, Inc. | Random bit stream generation by amplification of thermal noise in a CMOS process |
JP4114739B2 (ja) | 2002-05-17 | 2008-07-09 | 株式会社ルネサステクノロジ | 半導体識別回路と半導体集積回路装置 |
US7356552B2 (en) * | 2003-03-14 | 2008-04-08 | Nxp B.V. | VLSI implementation of a random number generator using a plurality of simple flip-flops |
-
2004
- 2004-02-12 JP JP2005517843A patent/JP4353435B2/ja not_active Expired - Fee Related
- 2004-02-12 US US10/588,788 patent/US7702704B2/en not_active Expired - Fee Related
- 2004-02-12 DE DE602004027663T patent/DE602004027663D1/de not_active Expired - Lifetime
- 2004-02-12 CN CN200480041636A patent/CN100585552C/zh not_active Expired - Fee Related
- 2004-02-12 KR KR1020067016264A patent/KR100875786B1/ko not_active IP Right Cessation
- 2004-02-12 EP EP04710508A patent/EP1715409B1/en not_active Expired - Lifetime
- 2004-02-12 WO PCT/JP2004/001486 patent/WO2005078573A1/ja not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR100875786B1 (ko) | 2008-12-26 |
US20070143384A1 (en) | 2007-06-21 |
EP1715409A1 (en) | 2006-10-25 |
CN100585552C (zh) | 2010-01-27 |
WO2005078573A1 (ja) | 2005-08-25 |
EP1715409B1 (en) | 2010-06-09 |
DE602004027663D1 (de) | 2010-07-22 |
CN1922570A (zh) | 2007-02-28 |
KR20060125855A (ko) | 2006-12-06 |
US7702704B2 (en) | 2010-04-20 |
EP1715409A4 (en) | 2009-05-06 |
JPWO2005078573A1 (ja) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4353435B2 (ja) | 乱数発生方法と半導体集積回路装置及び電子装置 | |
US10498544B2 (en) | Security device having physical unclonable function | |
TWI758688B (zh) | 隨機數產生器 | |
US8874632B2 (en) | Apparatus for generating random number | |
CN109241782B (zh) | 一种利用pmos工艺偏差的弱物理不可克隆函数电路 | |
US20070180009A1 (en) | RFID tag with random number generator having a noise-based input | |
Kumar et al. | On design of temperature invariant physically unclonable functions based on ring oscillators | |
WO2018186968A1 (en) | Random number generator that includes physically unclonable circuits | |
Uddin et al. | Memristor crossbar PUF based lightweight hardware security for IoT | |
Lee et al. | A 354F 2 leakage-based physically unclonable function with lossless stabilization through remapping for low-cost IoT security | |
KR101646506B1 (ko) | 난수 발생기 | |
KR102122457B1 (ko) | Puf를 갖는 보안 장치 | |
CN111130537B (zh) | 一种可配置单稳态弱物理不可克隆函数电路 | |
JP2019197394A (ja) | 固有データ生成装置、半導体装置および認証システム | |
US8750497B2 (en) | Cryptographic device for implementing S-box | |
US11303461B2 (en) | Security device having physical unclonable function | |
CN105404739B (zh) | 一种基于非对称天线效应的cmos片上恒稳定id产生电路 | |
Kurra et al. | A reliable current starved inverter based arbiter PUF architecture for IoT applications | |
US20190114143A1 (en) | Random number generating system and random number generating method thereof | |
CN113364599B (zh) | 一种双态物理不可克隆函数电路 | |
Sridhar et al. | Countermeasure against side channel power attacks in cryptography devices | |
Huang et al. | A reliable and compact physical unclonable function based on unstable bits recycling scheme | |
JP2010216998A (ja) | テストモード設定回路およびそれを備えた半導体集積回路 | |
Dung et al. | A VLSI implementation of variation-free PUF-based processor for RFID applications | |
Surita et al. | Cylindrical reconvergence physical unclonable function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090408 |
|
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: 20090722 |
|
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: 20090723 |
|
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: 20120807 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130807 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |