WO2015156215A1 - Random number generator, simulation device, and meter - Google Patents

Random number generator, simulation device, and meter Download PDF

Info

Publication number
WO2015156215A1
WO2015156215A1 PCT/JP2015/060539 JP2015060539W WO2015156215A1 WO 2015156215 A1 WO2015156215 A1 WO 2015156215A1 JP 2015060539 W JP2015060539 W JP 2015060539W WO 2015156215 A1 WO2015156215 A1 WO 2015156215A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
number generator
memory element
element array
control unit
Prior art date
Application number
PCT/JP2015/060539
Other languages
French (fr)
Japanese (ja)
Inventor
巧 上薗
鳥羽 忠信
大坂 英樹
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2015156215A1 publication Critical patent/WO2015156215A1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

Provided is a technology for obtaining true random numbers in a stable manner in a small area in a terrestrial environment. This random number generator is equipped with: a semiconductor module that includes a material which generates alpha-rays and a memory element array; and a memory control unit that reads data from the semiconductor module stored by the memory element array, and outputs this data as a random number string.

Description

乱数発生器、シミュレーション装置およびメーターRandom number generator, simulation device and meter
 本発明は、乱数発生器、シミュレーション装置およびメーターの技術に関する。 The present invention relates to a random number generator, a simulation device, and a meter technology.
 本技術分野の背景技術として、特表2010-503883号公報(特許文献1)がある。この公報には、「宇宙船上において乱数を発生する方法であって、一連のビットを出力可能な出力を持つデバイスを提供し、ここで前記出力される一連のビットは、宇宙において自由に発生する放射線粒子が前記デバイスに衝突することから発生する変化の影響を受けやすいことと、前記複数ビットのうちの少なくとも1つが変化するのに十分な期間前記デバイスを前記放射線にさらすことと、前記放射線によって変化した前記一連のビットを前記出力から読み出すことにより、前記乱数を生成することと、の各ステップを含む方法。」と記載されている。 As a background art in this technical field, there is JP-T 2010-503883 (Patent Document 1). In this publication, “a method for generating random numbers on a spacecraft, which provides a device having an output capable of outputting a series of bits, wherein the output series of bits is freely generated in space” Being susceptible to changes resulting from radiation particles impinging on the device, exposing the device to the radiation for a period of time sufficient for at least one of the bits to change, and And reading the changed series of bits from the output to generate the random number. ”
特開2010-503883号公報JP 2010-503883 A
 上記技術においては、ランダムな宇宙空間現象(放射線の強度ゆらぎ)を利用して、メモリのビット反転を誘起し、乱数を得ることができる。しかし、当該技術では、高強度の放射線を要するため、宇宙船上や宇宙空間であれば真正乱数を実現できるが、地上環境においては安定した性能を得にくい。 In the above technology, random space events (radiation intensity fluctuation) can be used to induce bit inversion of the memory and obtain random numbers. However, since this technique requires high-intensity radiation, a true random number can be realized on a spacecraft or in space, but it is difficult to obtain stable performance in the ground environment.
 本発明の目的は、真性乱数を、地上環境において小面積で安定的に取得する技術を提供することである。 An object of the present invention is to provide a technique for stably acquiring a true random number with a small area in a ground environment.
 本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明に係る乱数発生器は、アルファ線を発生させる物質と、メモリ素子アレイと、を含む半導体モジュールと、半導体モジュールからメモリ素子アレイが格納するデータを読み出して、乱数列として出力するメモリ制御部と、を備える。 The present application includes a plurality of means for solving at least a part of the above-described problems, and examples thereof are as follows. In order to solve the above problems, a random number generator according to the present invention reads a data stored in a memory element array from a semiconductor module including a semiconductor module including a substance that generates alpha rays and a memory element array, and generates a random number. And a memory control unit that outputs the data as a column.
 本発明によると、地上環境において真正乱数をより容易に生成することが可能となる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 According to the present invention, it is possible to generate a genuine random number more easily in the ground environment. Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.
本発明の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on embodiment of this invention. メモリ素子アレイの状態変化を示す図である。It is a figure which shows the state change of a memory element array. 乱数出力処理のフローを示す図である。It is a figure which shows the flow of a random number output process. 第二の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on 2nd embodiment. 第三の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on 3rd embodiment. 第四の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on 4th embodiment. 第四の実施形態に係る乱数発生の仕組みを示す図である。It is a figure which shows the mechanism of the random number generation which concerns on 4th embodiment. 第五の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on 5th embodiment. 乱数発生器を用いるシミュレーション処理装置の構成例を示す図である。It is a figure which shows the structural example of the simulation processing apparatus using a random number generator. 本発明の実施形態に係る乱数発生器の構成例を示す図である。It is a figure which shows the structural example of the random number generator which concerns on embodiment of this invention. 乱数発生器を用いる暗号化装置の構成例を示す図である。It is a figure which shows the structural example of the encryption apparatus using a random number generator. 生成した乱数列の実例を示す図である。It is a figure which shows the actual example of the produced | generated random number sequence.
 半導体デバイスの微細化・高集積化に伴い、大容量データを使った高速演算が実現されてきている。いいかえると、計算機性能の向上は暗号の解読能力の増大をも意味している。つまり、向上した解読能力に耐えるほどに強度の高い暗号化を適切に行うには、強度に応じた適切な乱数を要する。例えば、近年では、このような乱数を得るために、暗号化のための鍵の生成に専用ハードウェア(ハードウェアセキュリティモジュール)が利用されていることが多い。特に大人数が使用するシステムでは、多数の鍵を重複なく生成できるよう、周期のない、あるいは周期が充分長い乱数の発生器は有用と考えられる。 With the miniaturization and high integration of semiconductor devices, high-speed computation using large-capacity data has been realized. In other words, improving computer performance also means increasing the decryption ability of cryptography. In other words, an appropriate random number corresponding to the strength is required in order to appropriately perform encryption with a strength sufficient to withstand the improved decryption ability. For example, in recent years, in order to obtain such a random number, dedicated hardware (hardware security module) is often used to generate a key for encryption. In particular, in a system used by a large number of people, it is considered useful to generate a random number with no period or a sufficiently long period so that a large number of keys can be generated without duplication.
 同様に、計算機性能の向上により、大規模な物理シミュレーションも可能になってきている。物理現象のシミュレートや、数式の数値的評価には乱数が広く用いられている実績がある。例えば自然災害予測等、シミュレーション対象が大規模化するに従い、シミュレーションに利用する乱数列の長さも増加しており、このような観点においても周期のない、あるいは周期の長い乱数の発生器は有用と考えられる。 Similarly, large-scale physics simulation has become possible due to improved computer performance. Random numbers are widely used for simulating physical phenomena and numerical evaluation of mathematical expressions. For example, the length of random numbers used in simulations has increased as simulation targets have increased in scale, such as natural disaster prediction. From this point of view, random number generators with no or long periods are useful. Conceivable.
 一般に、乱数を発生する手法としては、数学的アルゴリズムに基づいて擬似的乱数を発生させる手法と、ランダムな物理現象を利用して乱数(以降、物理乱数と呼ぶ)を発生させる手法に大別できる。数学的アルゴリズムを用いて発生させた乱数は、発生させた乱数同士で相関を持つ擬似乱数であり、真にランダムではない。そのため、乱数を利用するアプリケーションのうち、例えば、高いセキュリティを求められる暗号化等においては、解読される問題が発生する可能性が一定程度存在するといえる。 In general, the methods for generating random numbers can be broadly divided into a method for generating pseudo-random numbers based on mathematical algorithms and a method for generating random numbers (hereinafter referred to as physical random numbers) using random physical phenomena. . A random number generated using a mathematical algorithm is a pseudo-random number correlated with the generated random numbers, and is not truly random. Therefore, it can be said that there is a certain degree of possibility that a problem of decryption occurs in, for example, encryption that requires high security among applications using random numbers.
 これに対し、ランダムな物理現象を利用し、周期性のない真にランダムな乱数 (物理乱数)を発生する手法が考えられてきた。従来の物理乱数発生器の多くは、熱雑音やレーザ強度の揺らぎを増幅器で増幅し、そのアナログ信号をA/D変換し、乱数を得る手法であった。しかし、このような手法では、A/D変換器の搭載が必須のため、一般に規模が大きくなり、また、増幅器には帯域制限があるため、得られる乱数のランダム性が失われる可能性がある。 On the other hand, a method of generating a truly random random number 物理 (physical random number) having no periodicity by using a random physical phenomenon has been considered. Many of the conventional physical random number generators are methods for amplifying thermal noise and fluctuations in laser intensity with an amplifier and A / D converting the analog signal to obtain random numbers. However, in such a method, since it is essential to mount an A / D converter, the scale is generally large, and since the amplifier has a band limitation, the randomness of the obtained random numbers may be lost. .
 以下に、本発明に係る乱数発生器の実施形態および乱数発生器を用いたシミュレーション処理装置について、図面を用いて説明する。 Hereinafter, an embodiment of a random number generator according to the present invention and a simulation processing apparatus using the random number generator will be described with reference to the drawings.
 図1は、本発明に係る第一の実施形態を適用した乱数発生器の構成例を示す図である。乱数発生器100は、メモリ制御部110と、半導体モジュールである半導体パッケージ120と、を含む。 FIG. 1 is a diagram showing a configuration example of a random number generator to which the first embodiment according to the present invention is applied. The random number generator 100 includes a memory control unit 110 and a semiconductor package 120 that is a semiconductor module.
 メモリ制御部110は、半導体パッケージ120に対するデータの読み書きを制御する機能を有する。乱数発生器100は、入力信号線を通じて乱数発生リクエスト112を外部から受けると、メモリ制御部110が半導体パッケージ120から乱数値を示す読み出しデータ123を読み出し、出力信号線を通じて乱数列111として外部に出力する。すなわち、メモリ制御部110は、半導体モジュールである半導体パッケージ120からメモリ素子アレイ121が格納するデータを読み出して、乱数列として出力するものであるといえる。 The memory control unit 110 has a function of controlling reading and writing of data with respect to the semiconductor package 120. When the random number generator 100 receives a random number generation request 112 from the outside through an input signal line, the memory control unit 110 reads out read data 123 indicating a random number value from the semiconductor package 120 and outputs it as a random number sequence 111 through the output signal line. To do. That is, it can be said that the memory control unit 110 reads data stored in the memory element array 121 from the semiconductor package 120 that is a semiconductor module and outputs the data as a random number sequence.
 半導体パッケージ120には、環境放射線10を受けてα(アルファ)線15を発生させるα線発生材料122と、発生したα線15と衝突するように配置されたメモリ素子アレイ121と、が含まれる。 The semiconductor package 120 includes an α-ray generating material 122 that receives the environmental radiation 10 and generates α (alpha) rays 15, and a memory element array 121 arranged to collide with the generated α-rays 15. .
 α線発生材料122としては、熱中性子等の環境放射線10下において、α線を発生させる材料であれば様々な材料を用いることが考えられる。このようなα線発生材料には、例えば、ホウ素(10B)がある。地上環境においても、ホウ素に弱いエネルギの熱中性子が衝突することで、α線が発生する。 As the α-ray generating material 122, various materials may be used as long as they are materials that generate α-rays under the environmental radiation 10 such as thermal neutrons. An example of such an α-ray generating material is boron (10B). Even in the terrestrial environment, alpha rays are generated when thermal neutrons with weak energy collide with boron.
 一般に、α線は透過力が低く、紙1枚程度の素材でも遮蔽が可能である。α線発生材料122と、メモリ素子アレイ121と、を半導体パッケージ120内に封入することで、乱数発生器100の外部への放射線の漏洩、及びメモリ制御部110のα線15による誤動作を防ぐことができる。 Generally, α-rays have low penetrating power and can be shielded with a material of about one sheet. By encapsulating the α-ray generating material 122 and the memory element array 121 in the semiconductor package 120, leakage of radiation to the outside of the random number generator 100 and malfunction due to the α-ray 15 of the memory control unit 110 are prevented. Can do.
 メモリ素子アレイ121の具体的な実現方法としては、例えば、SRAM(Static Random Access Memory)がある。一般にSRAMは、α線などの放射線の影響を受けると、SEU(Single Event Upset:ビット反転現象)が発生することが知られている。 As a specific method for realizing the memory element array 121, for example, there is an SRAM (Static Random Access Memory). Generally, it is known that SEU (Single Event Upset) occurs when SRAM is affected by radiation such as α rays.
 本乱数発生器100においても、α線15は、メモリ素子アレイ121を構成する各メモリ素子と衝突すると、メモリ素子に格納されたデータに対し、ビット反転現象を生じさせる。上記のα線発生材料122に対する反応で生成されるα線の放出角度はランダムであることから、メモリ素子に格納されたデータのうち、ランダムな位置のビットが反転することとなる。 Also in the random number generator 100, when the α-ray 15 collides with each memory element constituting the memory element array 121, a bit inversion phenomenon is caused to the data stored in the memory element. Since the emission angle of α rays generated by the reaction to the α ray generating material 122 is random, bits at random positions in the data stored in the memory element are inverted.
 一般的には、このようなSEUの発生は、演算上好ましくない影響を与える場合が多いため、SEU耐性を高めたメモリ素子を設計することが多い。しかし、SEU耐性を所定以下に落としたメモリ素子を用いた半導体パッケージ120を備えることで、短時間で複数回のビット反転現象を発生させ、メモリ素子アレイ121上に乱数を形成させることが可能となる。つまり、このメモリ素子アレイ121からデータを読み出すことで、乱数を得ることができるといえる。 In general, the occurrence of such SEU often has an unfavorable influence on computation, and therefore, a memory element with improved SEU resistance is often designed. However, the provision of the semiconductor package 120 using the memory element having the SEU resistance reduced to a predetermined value or less enables a bit inversion phenomenon to occur a plurality of times in a short time, thereby forming a random number on the memory element array 121. Become. That is, it can be said that a random number can be obtained by reading data from the memory element array 121.
 図2は、メモリ素子アレイ121の状態変化を示す図である。図2に示す「a」の状態すなわち初期状態は、メモリ素子アレイ121に対して、メモリ制御部110を通じて所定の初期値が書き込まれた状態である。初期値は、全ての桁が0、全ての桁が1あるいは擬似乱数生成アルゴリズム等により生成した擬似乱数が考えられる。図2に示す「a」には、擬似乱数を初期値として書き込まれた状態が示されている。 FIG. 2 is a diagram showing a change in the state of the memory element array 121. The state “a” shown in FIG. 2, that is, the initial state, is a state in which a predetermined initial value is written to the memory element array 121 through the memory control unit 110. As the initial value, all the digits are 0, all the digits are 1, or a pseudo-random number generated by a pseudo-random number generation algorithm or the like can be considered. “A” shown in FIG. 2 indicates a state where a pseudo random number is written as an initial value.
 図2に示す「b」の状態は、SEUが発生している状態を示す。初期値を保持したメモリ素子アレイ121に対して、α線発生材料122から発生したα線15が降り注ぎ、α線がメモリ素子に衝突すると、SEUが発生する。図2の「b」の状態においては、メモリ素子アレイ121の2ビット目121B、5ビット目121E、7ビット目121GのそれぞれにSEUが発生している状態を示している。 The state of “b” shown in FIG. 2 indicates a state where SEU is generated. When the α ray 15 generated from the α ray generating material 122 falls on the memory element array 121 holding the initial value and the α ray collides with the memory element, SEU is generated. In the state of “b” in FIG. 2, SEU is generated in each of the second bit 121B, the fifth bit 121E, and the seventh bit 121G of the memory element array 121.
 ここで、メモリ素子アレイ121にα線が衝突する確率はランダムであり、また、メモリ素子アレイ121内のどのビットに衝突するかについてもランダムであるため、SEUはメモリ素子アレイ121内でランダムに発生することとなる。物理的にランダムに発生するSEUが複数回繰り返し発生することで、メモリ素子アレイ121が保持するデータは乱数となるといえる。 Here, since the probability that the α ray collides with the memory element array 121 is random, and which bit in the memory element array 121 collides with is random, the SEU is random within the memory element array 121. Will occur. It can be said that the data held in the memory element array 121 is a random number because the SEU that is physically randomly generated is repeatedly generated a plurality of times.
 図2に示す「c」の状態は、SEUの発生により、メモリ素子アレイ121が保持する値の一部が反転した状態、すなわち乱数が発生した状態を示す。ここでは、SEUが発生したメモリ素子アレイ121の2ビット目121B、5ビット目121E、7ビット目121Gのそれぞれについて、メモリ素子に格納されたデータのビットが反転している例が示されている。 The state “c” shown in FIG. 2 indicates a state in which a part of the value held in the memory element array 121 is inverted due to the generation of SEU, that is, a state in which a random number is generated. Here, an example is shown in which the bit of data stored in the memory element is inverted for each of the second bit 121B, the fifth bit 121E, and the seventh bit 121G of the memory element array 121 in which SEU has occurred. .
 図1の説明に戻る。メモリ素子アレイ121においては、メモリ素子にSEUを効率よく発生させるために、メモリ素子のα線耐性が弱ければ弱いほど望ましい。そこで、本実施形態においては、メモリ素子に含まれるトランジスタサイズをなるべく小さいものとする。メモリ素子には、インバータ回路2つを環になるよう接続した記憶回路が含まれる。このインバータの駆動力を弱めると、メモリ素子のα線耐性も弱まる傾向にある。そのため、インバータのトランジスタサイズを小さくするなどの方法で、メモリ素子のα線耐性を弱める。 Returning to the explanation of FIG. In the memory element array 121, in order to efficiently generate SEU in the memory element, it is desirable that the α-ray resistance of the memory element is weaker. Therefore, in this embodiment, the size of the transistor included in the memory element is as small as possible. The memory element includes a memory circuit in which two inverter circuits are connected in a ring. When the driving force of the inverter is weakened, the α-ray resistance of the memory element tends to be weakened. For this reason, the α-ray resistance of the memory element is weakened by a method such as reducing the transistor size of the inverter.
 図3は、乱数出力処理のフローを示す図である。乱数出力処理は、乱数発生器100の電源が投入されると、開始される。 FIG. 3 is a diagram showing a flow of random number output processing. The random number output process is started when the power of the random number generator 100 is turned on.
 まず、メモリ制御部110は、初期値をメモリに書き込む(ステップS001)。具体的には、メモリ制御部110は、メモリ素子アレイ121に対して、予め定められた初期値、全ての桁が0の初期値、全ての桁が1の初期値あるいは擬似乱数生成アルゴリズム等により生成した擬似乱数による初期値を、メモリ素子アレイ121の利用可能なメモリサイズ分、書き込む。 First, the memory control unit 110 writes the initial value into the memory (step S001). Specifically, the memory control unit 110 uses a predetermined initial value, an initial value in which all digits are 0, an initial value in which all digits are 1, or a pseudo-random number generation algorithm or the like for the memory element array 121. The initial value by the generated pseudo random number is written for the available memory size of the memory element array 121.
 そして、メモリ制御部110は、所定時間停止する(ステップS002)。この停止期間の長短により、メモリ素子アレイ121にSEUの発生量の傾向が定まる。 Then, the memory control unit 110 stops for a predetermined time (step S002). The tendency of the amount of SEU generated in the memory element array 121 is determined by the length of the stop period.
 そして、メモリ制御部110は、乱数発生リクエストを受け付けたか否かを判定する(ステップS003)。乱数発生リクエストを受け付けていない場合(ステップS003にて「No」の場合)には、ステップS003に制御が戻される。なお、このステップ実行中も、上述のSEUによる乱数生成は継続している状態である。 Then, the memory control unit 110 determines whether or not a random number generation request has been received (step S003). If the random number generation request has not been received (“No” in step S003), control is returned to step S003. It should be noted that the random number generation by the above-mentioned SEU continues even during the execution of this step.
 乱数発生リクエストを受け付けた場合(ステップS003にて「Yes」の場合)には、メモリ制御部110は、メモリ情報を読み出す(ステップS004)。具体的には、メモリ制御部110は、半導体パッケージ120に読出し要求を行い、戻される情報を受け取る。 When the random number generation request is received (“Yes” in step S003), the memory control unit 110 reads the memory information (step S004). Specifically, the memory control unit 110 makes a read request to the semiconductor package 120 and receives the returned information.
 そして、メモリ制御部110は、乱数を外部に出力する(ステップS005)。具体的には、メモリ制御部110は、ステップS004にて半導体パッケージ120から受け取った情報を乱数列111として出力する。そして、メモリ制御部110は、再度メモリ素子アレイ121に乱数を発生させるため、ステップS002に制御を戻す。 Then, the memory control unit 110 outputs a random number to the outside (step S005). Specifically, the memory control unit 110 outputs the information received from the semiconductor package 120 in step S004 as the random number sequence 111. Then, the memory control unit 110 returns the control to step S002 in order to cause the memory element array 121 to generate a random number again.
 以上が、乱数出力処理のフローである。すなわち、メモリ制御部110は、半導体モジュールである半導体パッケージ120から、メモリ素子アレイ121においてビット反転現象が所定以上発生する期間をあけてデータを読み出すことができる。そのため、乱数出力処理によれば、地上環境下において真正乱数を効率よく得ることができる。 The above is the flow of random number output processing. That is, the memory control unit 110 can read data from the semiconductor package 120, which is a semiconductor module, with a period during which a bit inversion phenomenon occurs in the memory element array 121 for a predetermined time or more. Therefore, according to the random number output process, a genuine random number can be efficiently obtained under the ground environment.
 また、本実施形態に係る乱数発生器100を適正に動作させるためには、メモリ制御部110をα線の影響を受けず正常に動作させる必要がある。α線の影響を受けると、メモリ制御部110の動作に支障が生じ、正常な乱数提供が不可能となるためである。これを考慮して、メモリ制御部110については、一般的なメモリ制御回路と比較して、よりサイズの大きい素子を使いメモリ制御回路を構成し、素子の寄生容量を増加させ放射線耐性を高めるのが望ましい。例えば、メモリ素子アレイ121に用いる素子よりも大きな素子を用いることが望ましい。 Also, in order to properly operate the random number generator 100 according to the present embodiment, it is necessary to operate the memory control unit 110 normally without being affected by α rays. This is because the influence of α rays causes trouble in the operation of the memory control unit 110 and makes it impossible to provide normal random numbers. Considering this, the memory control unit 110 is configured with a memory control circuit using larger-sized elements than a general memory control circuit, thereby increasing the parasitic capacitance of the elements and increasing radiation resistance. Is desirable. For example, it is desirable to use an element larger than the element used for the memory element array 121.
 一般に、SRAMのメモリ制御回路の基本要素は、アドレスを指定するアドレスデコーダとワード線のドライバと、ビット線のドライバと、ビット線に対するセンスアンプ等である。このうち、メモリ制御回路は、書き込み速度や読み出し速度の回路性能を満たす範囲において、できる限り小面積で実現するのがコスト的に適当である。 Generally, the basic elements of an SRAM memory control circuit are an address decoder for designating an address, a word line driver, a bit line driver, a sense amplifier for the bit line, and the like. Among these, it is appropriate in terms of cost to realize the memory control circuit with as small an area as possible within a range that satisfies the circuit performance of the writing speed and the reading speed.
 しかし、小面積な回路は扱う電荷量が小さく、放射線に対して耐性が低いことが知られており、本実施形態に係るメモリ制御部110のように、近傍にα線発生材料が存在する場合、誤作動する可能性が高まってしまう。これを考慮して、メモリ制御部110は、メモリ素子アレイ121に用いる素子よりも大きな素子を用いることが望ましいといえる。 However, it is known that a small-area circuit handles a small amount of charge and has low resistance to radiation, and there is an α-ray generating material in the vicinity like the memory control unit 110 according to the present embodiment. The possibility of malfunction will increase. Considering this, it can be said that the memory control unit 110 desirably uses a larger element than the element used for the memory element array 121.
 但し、メモリ制御部110の素子サイズの変更は放射線耐性向上方法の一例であり、本発明は、メモリ素子サイズの変更に限定されるものではなく、その他の放射線耐性向上の変更を含む。 However, the change in the element size of the memory control unit 110 is an example of a radiation resistance improvement method, and the present invention is not limited to the change in the memory element size, but includes other changes in radiation resistance improvement.
 図10は、本発明に係る第一の実施形態を適用した乱数発生器の変形例を示す図である。 FIG. 10 is a diagram showing a modification of the random number generator to which the first embodiment according to the present invention is applied.
 メモリ制御部110の放射線耐性を向上させることで誤動作の可能性が低下するため、メモリ素子制御部110をα線発生材料122の近傍に配置することができる。すなわち、メモリ素子アレイ121と、α線発生材料122と、メモリ制御部110と、を1つの半導体パッケージに実装した乱数発生器を提供することができる。 Since the possibility of malfunctioning is reduced by improving the radiation resistance of the memory control unit 110, the memory element control unit 110 can be disposed in the vicinity of the α-ray generating material 122. That is, a random number generator in which the memory element array 121, the α-ray generating material 122, and the memory control unit 110 are mounted in one semiconductor package can be provided.
 以上が、第一の実施形態に係る乱数発生器である。本実施形態によれば、ランダムな物理現象である中性子によるα線の発生反応を利用してメモリ素子アレイ上に乱数を生成することができ、構成要素として増幅器等のアナログ回路を持たない乱数発生器を実現できる。すなわち、地上環境において、小面積かつランダム性を損なうことがない乱数生成器を提供することができるといえる。 The above is the random number generator according to the first embodiment. According to the present embodiment, random numbers can be generated on the memory element array by using α-ray generation reaction by neutrons, which is a random physical phenomenon, and random number generation without analog circuits such as amplifiers as constituent elements Can be realized. That is, it can be said that it is possible to provide a random number generator that does not impair randomness in a ground environment.
 また、上記第一の実施形態においては、メモリ素子アレイ121について、α線耐性が比較的低い素子を用いるものとしたが、これに限られない。例えば、以下に示すような、メモリ素子アレイ121のα線耐性を可変に制御することが可能な実施形態とすることも考えられる。 In the first embodiment, the memory element array 121 uses elements with relatively low α-ray resistance. However, the present invention is not limited to this. For example, an embodiment in which the α-ray resistance of the memory element array 121 can be variably controlled as shown below can be considered.
 図4は、第二の実施形態に係る乱数発生器200の構成例を示す図である。第二の実施形態に係る乱数発生器200は、半導体パッケージ120に含まれるメモリ素子のα線耐性を、半導体パッケージ120の外部からの指示により可変に制御することで、適切なSEUの発生の制御を実現する。 FIG. 4 is a diagram illustrating a configuration example of the random number generator 200 according to the second embodiment. The random number generator 200 according to the second embodiment controls the generation of appropriate SEU by variably controlling the α-ray resistance of the memory element included in the semiconductor package 120 according to an instruction from the outside of the semiconductor package 120. To realize.
 なお、第二の実施形態は、第一の実施形態と基本的に同様の構成を備えるものであるため、第一の実施形態における構成と同様の構成については同様の符号を付与して、説明を省略する。 Since the second embodiment has basically the same configuration as the first embodiment, the same configuration as the configuration in the first embodiment is denoted by the same reference numerals and described. Is omitted.
 第二の実施形態に係る乱数発生器200は、メモリ素子アレイ121の電源電圧を調整する電源電圧制御部130を乱数発生器200が備える。電源電圧制御部130は、メモリ制御部110からの半導体パッケージ120の読み書き状態を示す信号である読み書き状態信号131を受け付け、該信号が読み書き状態を示す場合には、電源132をメモリ素子アレイ121に十分に供給し、該信号が読み書き状態でない状態を示す場合には、メモリ素子アレイ121へ供給する電源132の電圧を低下させる。 The random number generator 200 according to the second embodiment includes a power supply voltage control unit 130 that adjusts the power supply voltage of the memory element array 121. The power supply voltage control unit 130 receives a read / write state signal 131 which is a signal indicating the read / write state of the semiconductor package 120 from the memory control unit 110, and when the signal indicates the read / write state, the power supply 132 is supplied to the memory element array 121. In the case where the signal is sufficiently supplied and the signal indicates a non-read / write state, the voltage of the power supply 132 supplied to the memory element array 121 is lowered.
 一般に、メモリ素子、特にSRAMは、電源電圧を低下させると、α線耐性が低下する。電源電圧制御部130は、電源電圧制御回路により実現され、α線15に起因してメモリ素子アレイ121にSEUを発生させるため、メモリ素子アレイ121上に乱数を発生させる間、即ち図3のステップS002とステップS003を実行する間は、メモリ素子アレイ121に供給している電源132を通常レベルよりも低下させる。その他の期間は、乱数を保持しておくため、電源電圧を通常レベルに引き上げる。 In general, when a power supply voltage is lowered in a memory element, particularly an SRAM, α-ray resistance is lowered. The power supply voltage control unit 130 is realized by a power supply voltage control circuit, and generates SEU in the memory element array 121 due to the α-ray 15, so that a random number is generated on the memory element array 121, that is, the steps of FIG. 3. During the execution of S002 and Step S003, the power supply 132 supplied to the memory element array 121 is lowered below the normal level. During other periods, the power supply voltage is raised to a normal level in order to hold random numbers.
 上述の第二実施形態のように本発明を変形させることで、汎用のメモリ素子を用いて、物理乱数を発生させることができる。すなわち、乱数発生器200は、半導体モジュールである半導体パッケージ120に対して供給する電源の電圧を制御する電源電圧制御部130を備え、電源電圧制御部130は、メモリ素子アレイ121の読み出し後所定期間、電圧を所定以下に低下させることで、SEUの発生を誘発することができるといえる。 By modifying the present invention as in the second embodiment, a physical random number can be generated using a general-purpose memory element. That is, the random number generator 200 includes a power supply voltage control unit 130 that controls the voltage of the power supplied to the semiconductor package 120 that is a semiconductor module. The power supply voltage control unit 130 performs a predetermined period after the memory element array 121 is read. It can be said that the generation of SEU can be induced by lowering the voltage below a predetermined value.
 また、上記第一の実施形態においては、メモリ素子アレイ121のサイズと、読み出される乱数列のサイズが一致する場合を想定しているが、これに限られない。例えば、読み出される乱数列のサイズがメモリ素子アレイ121よりも小さくすることで、乱数の取り出し回数に対してメモリ素子アレイ121に対するSEUの発生を待つ回数を減らすことが可能となる。すなわち、乱数生成のスループットを向上させることができるように実施形態を変形させることも考えられる。 In the first embodiment, it is assumed that the size of the memory element array 121 matches the size of the random number sequence to be read, but the present invention is not limited to this. For example, by making the size of the read random number sequence smaller than that of the memory element array 121, it is possible to reduce the number of times of waiting for the occurrence of SEU for the memory element array 121 with respect to the number of random numbers taken out. That is, it is conceivable to modify the embodiment so that the throughput of random number generation can be improved.
 図5は、第三の実施形態に係る乱数発生器300の構成例を示す図である。第三の実施形態に係る乱数発生器300は、メモリ制御部110が半導体パッケージ120から乱数を読み出す際に、メモリ素子アレイ121上の読出し位置を指定するアドレス情報を決定する読出しアドレス決定部140を備える。 FIG. 5 is a diagram illustrating a configuration example of a random number generator 300 according to the third embodiment. The random number generator 300 according to the third embodiment includes a read address determination unit 140 that determines address information that specifies a read position on the memory element array 121 when the memory control unit 110 reads a random number from the semiconductor package 120. Prepare.
 なお、第三の実施形態は、第一の実施形態と基本的に同様の構成を備えるものであるため、第一の実施形態における構成と同様の構成については同様の符号を付与して、説明を省略する。 Since the third embodiment has basically the same configuration as the first embodiment, the same configuration as the configuration in the first embodiment is denoted by the same reference numerals and described. Is omitted.
 読み出しアドレス決定部140は、メモリ制御部110に対する乱数発生リクエスト112を入力として受け付け、読み出しアドレス141を決定してメモリ制御部110に受け渡す。 The read address determination unit 140 receives the random number generation request 112 for the memory control unit 110 as an input, determines the read address 141, and passes it to the memory control unit 110.
 読み出しアドレス決定部140は、乱数発生リクエスト112を受け付けると、乱数の生成が終了しているアドレスを検索し、読み出しアドレス141として決定し、メモリ制御部110に受け渡す。メモリ制御部110は、読み出しアドレス141で指定されたアドレスのデータを読み出す。この読出しアドレス決定部140による読み出しアドレスの決定処理は、乱数出力処理のステップS004において並列して行われるのが望ましいが、ステップS003にて「Yes」となった後、ステップS004の開始前に行われるものであってもよい。 When the read address determination unit 140 receives the random number generation request 112, the read address determination unit 140 searches for an address for which generation of random numbers has been completed, determines the read address 141, and transfers it to the memory control unit 110. The memory control unit 110 reads data at the address specified by the read address 141. The read address determination process by the read address determination unit 140 is preferably performed in parallel in step S004 of the random number output process. However, after “Yes” in step S003, the process is performed before the start of step S004. May be used.
 読み出しアドレス決定部140としては、例えば、カウンタを用いることが考えられる。読出しアドレス決定部140は、カウント値の初期値を0として、乱数発生リクエスト112が入力されると、ステップS004の実行後にカウント値を読み出したデータの大きさ分インクリメントする。そして、読出しアドレス決定部140は、インクリメント後のカウント値がメモリ素子アレイ121のアドレス範囲を超えない場合には、ステップS003に制御を戻す。読出しアドレス決定部140は、カウント値がメモリ素子アレイ121のアドレス範囲を超えたら、カウント値を0に戻し、制御をステップS002に戻す。すなわち、アドレス決定部140は、半導体パッケージ120において所定の期間以上読み出されていないアドレスのデータの一部あるいは全部を読み出すものであるといえる。 For example, a counter may be used as the read address determination unit 140. When the initial value of the count value is set to 0 and the random number generation request 112 is input, the read address determination unit 140 increments the count value by the size of the read data after the execution of step S004. When the incremented count value does not exceed the address range of the memory element array 121, the read address determination unit 140 returns the control to step S003. When the count value exceeds the address range of the memory element array 121, the read address determination unit 140 returns the count value to 0 and returns the control to step S002. That is, it can be said that the address determination unit 140 reads part or all of the data of the address that has not been read in the semiconductor package 120 for a predetermined period or longer.
 上述の第三実施形態のように本発明を変形させることで、メモリ素子アレイ121のサイズを大きくするほど、乱数の取り出し回数に対してSEUの発生を待つために乱数発生器100を停止状態とする時間を小さくできるため、乱数生成のスループットを向上させることができるといえる。 By modifying the present invention as in the third embodiment described above, as the size of the memory element array 121 is increased, the random number generator 100 is put into a stopped state in order to wait for the generation of SEU for the number of random number extractions. Therefore, it can be said that the random number generation throughput can be improved.
 また、上記第一の実施形態においては、メモリ素子アレイ121と、α線発生材料122とは、半導体パッケージ120内に別体として設けられていたが、これに限られない。例えば、メモリ素子アレイ121を、BPSG(Boron Phosphor Silicate Glass)を使ったメモリ素子アレイ150により実現するようにしてもよい。このようにすると、半導体パッケージ120内にα線発生材料122を封入する必要がないため、パッケージサイズの小型化を実現することができる。 In the first embodiment, the memory element array 121 and the α-ray generating material 122 are provided separately in the semiconductor package 120. However, the present invention is not limited to this. For example, the memory element array 121 may be realized by the memory element array 150 using BPSG (Boron Phosphorate Silicate Glass). In this way, since it is not necessary to enclose the α-ray generating material 122 in the semiconductor package 120, the package size can be reduced.
 図6は、第四の実施形態に係る乱数発生器400の構成例を示す図である。第四の実施形態に係る乱数発生器400は、メモリ制御部110と、BPSGを使ったメモリ素子アレイ150と、を備える。 FIG. 6 is a diagram illustrating a configuration example of a random number generator 400 according to the fourth embodiment. A random number generator 400 according to the fourth embodiment includes a memory control unit 110 and a memory element array 150 using BPSG.
 なお、第四の実施形態は、第一の実施形態と基本的に同様の構成を備えるものであるため、第一の実施形態における構成と同様の構成については同様の符号を付与して、説明を省略する。 Since the fourth embodiment has basically the same configuration as the first embodiment, the same configuration as the configuration in the first embodiment is denoted by the same reference numerals and described. Is omitted.
 BPSGを使ったメモリ素子アレイ150は、半導体の層間絶縁膜にBPSGを用い、ホウ素を混入させたものである。BPSGは、180nm以前の半導体プロセスで層間絶縁膜の材料として使われており、ホウ素とリンを不純物として含む絶縁材料であるため、熱中性子によりα線を発生する。すなわち、層間絶縁膜にホウ素を含むものであるといえる。 The memory element array 150 using BPSG is obtained by mixing boron with BPSG in a semiconductor interlayer insulating film. BPSG is used as a material for an interlayer insulating film in a semiconductor process of 180 nm or less, and is an insulating material containing boron and phosphorus as impurities, and therefore generates α rays by thermal neutrons. That is, it can be said that the interlayer insulating film contains boron.
 図7は、第四の実施形態に係る乱数発生の仕組みを示す図である。図7では、層間絶縁膜を使ったトランジスタの断面図が示されている。環境放射線10の一種である熱中性子1が層間絶縁膜2に含まれるホウ素3と一定確率で衝突すると、ホウ素3による熱中性子吸収反応により、α粒子4が発生する。α粒子4がメモリ素子を構成するトランジスタの拡散領域5を通過すると電荷を落とし、その電荷量が所定以上大きいときには、メモリ保持データの反転現象、即ちSEUが発生する。180nm以降のプロセスでは、フッ素や炭素などの不純物を使った絶縁膜が使われているが、BPSGをあえて使用することで、地上に到達する熱中性子でSEUを頻繁に発生させることができる。 FIG. 7 is a diagram showing a mechanism of random number generation according to the fourth embodiment. FIG. 7 shows a cross-sectional view of a transistor using an interlayer insulating film. When thermal neutrons 1 which are a kind of environmental radiation 10 collide with boron 3 contained in interlayer insulating film 2 with a certain probability, α particles 4 are generated by thermal neutron absorption reaction by boron 3. When the α particle 4 passes through the diffusion region 5 of the transistor constituting the memory element, the charge is dropped, and when the charge amount is larger than a predetermined value, an inversion phenomenon of the memory retained data, that is, SEU occurs. In the process after 180 nm, an insulating film using impurities such as fluorine and carbon is used, but by using BPSG, SEU can be frequently generated by thermal neutrons reaching the ground.
 上述の第四の実施形態のように本発明を変形させることで、α線発生材料122等を封入した半導体パッケージ120を用いる必要がなくなるため、乱数発生器400のパッケージサイズの小型化を実現できるといえる。 By modifying the present invention as in the above-described fourth embodiment, it is not necessary to use the semiconductor package 120 in which the α-ray generating material 122 or the like is enclosed, so that the package size of the random number generator 400 can be reduced. It can be said.
 また、上記第一の実施形態においては、環境放射線10を利用してα線発生材料からα線を得ることで、メモリ素子アレイ121のSEUを発生させていたが、これに限られない。例えば、α線発生材料122に代えて、α線15を放出しながら崩壊して行く材料、即ちα線源125を用いて実現するようにしてもよい。このようにすると、環境放射線レベルに影響を受けることなく、一定の速度で物理乱数を発生させることができる。 In the first embodiment, the SEU of the memory element array 121 is generated by obtaining α rays from the α ray generating material using the environmental radiation 10, but the present invention is not limited to this. For example, instead of the α-ray generating material 122, a material that collapses while emitting the α-ray 15, that is, an α-ray source 125 may be used. In this way, physical random numbers can be generated at a constant speed without being affected by the environmental radiation level.
 図8は、第五の実施形態に係る乱数発生器100´の構成例を示す図である。第五の実施形態に係る乱数発生器100´は、α線発生材料122に代えて、α線源125を乱数発生器100´は備える。 FIG. 8 is a diagram illustrating a configuration example of a random number generator 100 ′ according to the fifth embodiment. A random number generator 100 ′ according to the fifth embodiment includes an α-ray source 125 instead of the α-ray generating material 122.
 なお、第五の実施形態は、第一の実施形態と基本的に同様の構成を備えるものであるため、第一の実施形態における構成と同様の構成については同様の符号を付与して、説明を省略する。 Since the fifth embodiment has basically the same configuration as the first embodiment, the same configuration as the configuration in the first embodiment is denoted by the same reference numerals and described. Is omitted.
 第五の実施形態については、α線源125から放出されるα線をメモリ素子アレイ121に衝突させると、メモリ素子アレイ121にSEUが発生することを利用する。第五の実施形態によると、SEUの発生契機が環境放射線10ではないことから、環境放射線レベルに影響を受けることなく、安定した速度で物理乱数を発生させることができる。 The fifth embodiment utilizes the fact that SEU is generated in the memory element array 121 when the α-ray emitted from the α-ray source 125 collides with the memory element array 121. According to the fifth embodiment, since the generation trigger of SEU is not the environmental radiation 10, physical random numbers can be generated at a stable speed without being affected by the environmental radiation level.
 第五の実施形態で利用するα線源125には、半減期が長く、崩壊後の生成物がα崩壊しない物質が適している。α線源125の半減期は、本乱数発生器の寿命に影響を与える。半減期が長いことは、即ち乱数発生器を長く使用できることを意味する。また、α線源125がα崩壊した後、さらにα崩壊する物質が生成されると、α線源125以外からのα線がメモリ素子アレイ121に衝突しうる。これは、乱数のランダム性の喪失につながる。第五の実施形態に用いるα線源125としては、例えばアルファ崩壊を起こす放射性物質であるアメリシウム、特にアメリシウムAm-241がある。 For the α-ray source 125 used in the fifth embodiment, a material that has a long half-life and that does not undergo α-decay of the product after decay is suitable. The half-life of the α-ray source 125 affects the lifetime of the random number generator. A long half-life means that the random number generator can be used for a long time. Further, after the α-ray source 125 is α-decayed, α-rays from other than the α-ray source 125 may collide with the memory element array 121 if a substance that further α-decays is generated. This leads to loss of randomness of random numbers. Examples of the α-ray source 125 used in the fifth embodiment include americium, particularly americium Am-241, which is a radioactive substance that causes alpha decay.
 アメリシウムAm-241は、煙感知器に利用されていた物質であり、また、半減期は433年程度と十分長く、半導体回路の一般的使用年数と比較しても充分長いため、耐久性も使用上問題とはならない。 Americium Am-241 is a substance used in smoke detectors, and has a sufficiently long half-life of about 433 years, which is sufficiently long compared to the general use years of semiconductor circuits, so durability is also used. It will not be a problem.
 上述の第五の実施形態のように本発明を変形させることで、環境放射線レベルに影響を受けることなく、安定した速度で物理乱数を発生させることができる。 By modifying the present invention as in the fifth embodiment described above, physical random numbers can be generated at a stable rate without being affected by the environmental radiation level.
 本発明による乱数生成の実例として第五の実施形態による16bitの乱数生成結果を示す。本例では、α線源125として40kBqのアメリシウムAm-241、メモリ素子アレイ121として4MbitのSRAMを用いた。SRAMで構成したメモリアレイ112とメモリ制御部110は、12mm×19mmの樹脂パッケージ内に搭載されている。メモリ制御部110との乱数発生リクエスト112と乱数列111の受け渡しは、マイクロプロセッサを通じて行った。図12に、生成した16bit乱数列700を示す。横軸を乱数の発生順番とし、縦軸を10進数で表記した16bit乱数値とした。この乱数列700は、米国立標準技術研究所が発行したSpecial Publication 800-22に記載の、度数検定や周期検定などの乱数テストの評価項目で90%以上のテスト項目をパスし、乱数として成立していることを確認した。 As an example of random number generation according to the present invention, a 16-bit random number generation result according to the fifth embodiment is shown. In this example, 40 kBq americium Am-241 is used as the α- ray source 125, and 4 Mbit SRAM is used as the memory element array 121. The memory array 112 and the memory control unit 110 configured by SRAM are mounted in a 12 mm × 19 mm resin package. The random number generation request 112 and the random number sequence 111 are exchanged with the memory control unit 110 through a microprocessor. FIG. 12 shows the generated 16-bit random number sequence 700. The horizontal axis is the random number generation order, and the vertical axis is a 16-bit random number value expressed in decimal. This random number sequence 700 is passed as a random number by passing 90% or more of the test items in the random test such as frequency test and periodic test described in Special Publication 800-22 issued by the National Institute of Standards and Technology. I confirmed that
 図9は、乱数発生器を用いるシミュレーション処理装置500の構成例を示す図である。シミュレーション処理装置500は、表示装置501と、入力装置502と、補助記憶装置503と、CPU504と、ROM505と、RAM506と、乱数発生器507と、を含む。 FIG. 9 is a diagram illustrating a configuration example of a simulation processing apparatus 500 using a random number generator. The simulation processing device 500 includes a display device 501, an input device 502, an auxiliary storage device 503, a CPU 504, a ROM 505, a RAM 506, and a random number generator 507.
 表示装置501は、例えばLCD(Liquid Crystal Display)等であるが、種類をこれに限定するものではなく、CRT(Cathode Ray Tube)、LCOS(Liquid Crystal On Silicon)、OLED(Organic light-emitting diode)、ホログラフィック光学素子やプロジェクタ装置など任意である。また、平面型のモニタのみでなく、HUD(Head-Up Display)、HMD(Head Mounted Display)などであっても良い。 The display device 501 is, for example, an LCD (Liquid Crystal Display) or the like, but the type is not limited to this, and a CRT (Cathode Ray Tube), LCOS (Liquid Crystal On Silicon), or OLED (Organic light-emission-light). A holographic optical element or a projector device is optional. Further, not only a flat monitor but also a HUD (Head-Up Display), an HMD (Head Mounted Display), or the like may be used.
 入力装置502は、タッチパネル、キーボード、マウス等であり、ユーザーからの指示を受け付ける。補助記憶装置503は、シミュレーションを行うプログラムで利用する各種データを記憶する記憶装置である。 The input device 502 is a touch panel, a keyboard, a mouse, or the like, and receives instructions from the user. The auxiliary storage device 503 is a storage device that stores various data used in a program that performs simulation.
 CPU504は、RAM506上にロードされるプログラムに従い演算を行う制御ユニットである。ROM505は、制御プログラムなどが書かれた読み出し専用の記憶装置である。RAM506は、補助記憶装置503あるいはROM505に記憶されているプログラムをロードする記憶装置である。また、RAM506は、データを一時的に保存する。 The CPU 504 is a control unit that performs calculations according to a program loaded on the RAM 506. The ROM 505 is a read-only storage device in which a control program and the like are written. The RAM 506 is a storage device that loads a program stored in the auxiliary storage device 503 or the ROM 505. The RAM 506 temporarily stores data.
 乱数発生器507は、上記第一の実施形態~第五の実施形態に係る乱数発生器のうちのいずれかである。 The random number generator 507 is one of the random number generators according to the first to fifth embodiments.
 シミュレーション処理装置500においては、CPU504が所定のシミュレーション処理を行う過程において、例えばモンテカルロ計算等の乱数を要する処理に際し乱数発生器507に乱数を要求し、出力される乱数列を用いてシミュレーション処理を進める。このようにすることで、真正乱数を用いた精度の高いシミュレーション処理を行うことが可能となる。 In the simulation processing apparatus 500, in the process of the CPU 504 performing a predetermined simulation process, for example, a random number is requested to the random number generator 507 in a process that requires a random number such as Monte Carlo calculation, and the simulation process is advanced using the output random number sequence. . By doing in this way, it becomes possible to perform a highly accurate simulation process using a genuine random number.
 図11は、乱数発生器を用いる暗号化処理装置600の構成例を示す図である。暗号化処理装置600は、表示装置501と、入力装置502と、補助記憶装置503と、CPU504と、ROM505と、RAM506と、乱数発生器507と、暗号化モジュール608と、を含む。 FIG. 11 is a diagram illustrating a configuration example of an encryption processing apparatus 600 using a random number generator. The encryption processing device 600 includes a display device 501, an input device 502, an auxiliary storage device 503, a CPU 504, a ROM 505, a RAM 506, a random number generator 507, and an encryption module 608.
 なお、本暗号化処理装置600は、シミュレーション装置500と似た構成を備えるものであるため、シミュレーション装置500における構成と同様の構成については同様の符号を付与して、説明を省略する。 Since the present encryption processing apparatus 600 has a configuration similar to that of the simulation apparatus 500, the same configuration as the configuration of the simulation apparatus 500 is denoted by the same reference numeral, and description thereof is omitted.
 暗号化モジュール608は、乱数発生器507あるいはRAM506に格納されている乱数を用いて、RAM506に保存されているデータを暗号化する。暗号化の方式は、例えば、公開鍵暗号方式のRSAや楕円曲線暗号や共通鍵暗号方式のブロック暗号DES(Data Encryption Standard)やAES(Advanced Encryption Standard)等であり、暗号化鍵の生成に乱数発生器507を利用可能であるが、暗号化方式の種類をこれに限定するものではない。 The encryption module 608 encrypts data stored in the RAM 506 using a random number stored in the random number generator 507 or the RAM 506. The encryption method is, for example, public key cryptosystem RSA, elliptic curve cryptography, common key cryptosystem block cipher DES (Data Encryption Standard) or AES (Advanced Encryption Standard), and the like. The generator 507 can be used, but the type of encryption method is not limited to this.
 以上、第一の実施形態~第五の実施形態に基づき、本願発明に係る乱数発生器、乱数の発生方法および乱数発生器を用いたシミュレーション処理装置、暗号化処理装置について説明した。 The random number generator, the random number generation method, the simulation processing apparatus using the random number generator, and the encryption processing apparatus according to the present invention have been described above based on the first to fifth embodiments.
 また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリやハードディスク、SSDなどの記録装置、または、ICカード、SDカード、DVDなどの記憶媒体に置くことができる。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized by software by causing a processor to interpret and execute a program that realizes each function. Information such as programs, tables, and files that realize each function can be stored in a recording device such as a memory, a hard disk, and an SSD, or a storage medium such as an IC card, an SD card, and a DVD.
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えても良い。 Also, the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
 また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品のような複数の部分に分けられて適用されるようにしてもよい。 In addition, each of the above-described configurations, functions, processing units, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Further, the technical elements of the above-described embodiments may be applied independently, or may be applied by being divided into a plurality of parts such as program parts and hardware parts.
 また、その他、シミュレーション処理装置500に限らず、モバイル機器、使用者から生成指示を受けると乱数を発生させて液晶等に表示させる各種の装置、スマートメーター等の家庭内の電力消費量や水道、ガス等の消費量、インフラ設備における機器状態を計測する機器が情報センターへ計測情報を送信する際に用いるデータ暗号化に適用してもよい。具体的には、所定の設備の電気使用量を計測する計測部と、他の装置であるサーバー等とネットワークを介して通信する通信部と、を備える電気使用量メーターであって、通信部は、乱数発生器から得た乱数列を用いて計測部により計測した電気使用量を暗号化して他の装置へ送信するものであってもよい。 In addition to the simulation processing device 500, mobile devices, various devices that generate random numbers when receiving a generation instruction from a user and display them on a liquid crystal or the like, household electricity consumption such as smart meters, water supply, You may apply to the data encryption used when the equipment which measures consumption of gas etc. and the equipment state in infrastructure facilities transmits measurement information to an information center. Specifically, it is an electricity usage meter comprising a measuring unit that measures the amount of electricity used in a predetermined facility, and a communication unit that communicates with another device such as a server via a network. The electricity usage measured by the measurement unit using a random number sequence obtained from a random number generator may be encrypted and transmitted to another device.
 乱数発生器から得られた乱数列は、通信部とサーバー等との通信方式によって種々の利用が考えられる。例えば、データ暗号化の付加乱数(Nonce)として用いてもよいし、暗号鍵を共有する際の暗号プロトコル(Diffie-Hellman方式など)に用いてもよい。その他、チャレンジ・レスポンス認証方式のCHAP(Challenge Handshake Authentication Protocol)などによる機器認証において、認証の度に変更する使い捨て変数(Challenge Value)として、乱数発生器から得られた乱数を使用することもできる。 The random number sequence obtained from the random number generator can be used in various ways depending on the communication method between the communication unit and the server. For example, it may be used as an additional random number (Nonce) for data encryption, or may be used for an encryption protocol (Diffie-Hellman method or the like) when sharing an encryption key. In addition, a random number obtained from a random number generator can be used as a disposable variable (Challenge Value) that is changed at every authentication in device authentication using CHAP (Challenge Handshake Authentication Protocol) or the like of a challenge / response authentication method.
 通常、スマートメーターは屋外へ設置されるため、周辺環境の温度や湿度の変化が大きい。本発明による乱数発生器は、α線発生材料122にて生成されるα線の放出角度がランダムであることを利用して乱数を生成しているが、α線の放出角度は温度に対する依存性がないため、周辺温度が高温または低温であっても、乱数の品質を維持することができる。 Normally, smart meters are installed outdoors, so the temperature and humidity changes in the surrounding environment are large. The random number generator according to the present invention generates random numbers by utilizing the fact that the α-ray emission angle generated by the α-ray generation material 122 is random, but the α-ray emission angle depends on temperature. Therefore, the quality of random numbers can be maintained even when the ambient temperature is high or low.
 以上、本発明について、実施形態を中心に説明した。 In the above, this invention was demonstrated centering on embodiment.
1・・・熱中性子、2・・・層間絶縁膜、3・・・ホウ素、4・・・α粒子、5・・・拡散領域、10・・・環境放射線、15・・・α線、100・・・乱数発生器、110・・・メモリ制御部、111・・・乱数列、112・・・乱数発生リクエスト、120・・・半導体パッケージ、121・・・メモリ素子アレイ、122・・・α線発生材料、123・・・読み出しデータ、124・・・書き込みデータ DESCRIPTION OF SYMBOLS 1 ... Thermal neutron, 2 ... Interlayer insulating film, 3 ... Boron, 4 ... Alpha particle, 5 ... Diffusion area, 10 ... Ambient radiation, 15 ... Alpha ray, 100 ... Random number generator, 110 ... Memory controller, 111 ... Random number sequence, 112 ... Random number generation request, 120 ... Semiconductor package, 121 ... Memory element array, 122 ... α Line generating material, 123 ... read data, 124 ... write data

Claims (12)

  1.  アルファ線を発生させる物質と、メモリ素子アレイと、を含む半導体モジュールと、
     前記半導体モジュールから前記メモリ素子アレイが格納するデータを読み出して、乱数列として出力するメモリ制御部と、
     を備えることを特徴とする乱数発生器。
    A semiconductor module including a substance that generates alpha rays and a memory element array;
    A memory control unit that reads data stored in the memory element array from the semiconductor module and outputs the data as a random number sequence;
    A random number generator comprising:
  2.  アルファ線を発生させる物質と、メモリ素子アレイと、前記メモリ素子アレイが格納するデータを読み出して、乱数列として出力するメモリ制御部と、を1つの半導体パッケージに実装する、
     ことを特徴とする乱数発生器。
    Mounting a substance that generates alpha rays, a memory element array, and a memory control unit that reads out data stored in the memory element array and outputs the data as a random number sequence in one semiconductor package;
    A random number generator characterized by that.
  3.  請求項1または2に記載の乱数発生器であって、
     前記メモリ制御部は、前記半導体モジュールから、前記メモリ素子アレイにおいてビット反転現象が所定以上発生する期間をあけてデータを読み出す、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    The memory control unit reads data from the semiconductor module with a period in which a bit inversion phenomenon occurs in the memory element array for a predetermined time or more.
    A random number generator characterized by that.
  4.  請求項1または2に記載の乱数発生器であって、
     前記メモリ制御部に含まれるメモリ素子は、前記半導体モジュールに含まれるメモリ素子アレイを構成するメモリ素子よりも大きい、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    A memory element included in the memory control unit is larger than a memory element constituting a memory element array included in the semiconductor module;
    A random number generator characterized by that.
  5.  請求項1または2に記載の乱数発生器であって、
     前記半導体モジュールに対して供給する電源の電圧を制御する電源電圧制御部を備え、
     前記電源電圧制御部は、前記メモリ素子アレイの読み出し後所定期間、電圧を所定以下に低下させる、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    A power supply voltage control unit for controlling the voltage of the power supplied to the semiconductor module;
    The power supply voltage controller reduces the voltage to a predetermined value or less for a predetermined period after the memory element array is read;
    A random number generator characterized by that.
  6.  請求項1または2に記載の乱数発生器であって、
     前記半導体モジュールの読み出しアドレスを決定するアドレス決定部を備え、
     前記アドレス決定部は、前記半導体モジュールにおいて所定の期間以上読み出されていないアドレスのデータの一部あるいは全部を読み出す、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    An address determination unit for determining a read address of the semiconductor module;
    The address determination unit reads out part or all of data of an address that has not been read out for a predetermined period in the semiconductor module;
    A random number generator characterized by that.
  7.  請求項1または2に記載の乱数発生器であって、
     前記アルファ線を発生させる物質は、ホウ素である、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    The substance that generates the alpha rays is boron.
    A random number generator characterized by that.
  8.  請求項1または2に記載の乱数発生器であって、
     前記半導体モジュールには、層間絶縁膜にホウ素を含む、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    The semiconductor module includes boron in an interlayer insulating film,
    A random number generator characterized by that.
  9.  請求項1または2に記載の乱数発生器であって、
     前記アルファ線を発生させる物質は、アルファ崩壊を起こす放射性物質である、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    The substance that generates alpha rays is a radioactive substance that causes alpha decay.
    A random number generator characterized by that.
  10.  請求項1または2に記載の乱数発生器であって、
     前記アルファ線を発生させる物質は、アメリシウムである、
     ことを特徴とする乱数発生器。
    The random number generator according to claim 1 or 2,
    The substance that generates alpha rays is americium.
    A random number generator characterized by that.
  11.  請求項1~10のいずれか一項に記載の乱数発生器と、
     所定のシミュレーション処理を行う制御部と、を備え、
     前記制御部は、前記乱数発生器から得た前記乱数列をモンテカルロ計算に用いる、
     ことを特徴とするシミュレーション装置。
    A random number generator according to any one of claims 1 to 10;
    A control unit that performs a predetermined simulation process,
    The control unit uses the random number sequence obtained from the random number generator for Monte Carlo calculation.
    A simulation apparatus characterized by that.
  12.  請求項1~10のいずれか一項に記載の乱数発生器と、
     所定の設備の電気使用量を計測する計測部と、
     他の装置とネットワークを介して通信する通信部と、を備え、
     前記通信部は、前記乱数発生器から得た前記乱数列を用いて前記計測部により計測した前記電気使用量を暗号化して前記他の装置へ送信する、
     ことを特徴とするメーター。
    A random number generator according to any one of claims 1 to 10;
    A measurement unit that measures the amount of electricity used in a given facility;
    A communication unit that communicates with other devices via a network,
    The communication unit encrypts the electricity usage measured by the measurement unit using the random number sequence obtained from the random number generator and transmits the encrypted amount to the other device.
    A meter characterized by that.
PCT/JP2015/060539 2014-04-08 2015-04-03 Random number generator, simulation device, and meter WO2015156215A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2014079129 2014-04-08
JP2014-079129 2014-04-08
JP2014-129819 2014-06-25
JP2014129819 2014-06-25

Publications (1)

Publication Number Publication Date
WO2015156215A1 true WO2015156215A1 (en) 2015-10-15

Family

ID=54287791

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/060539 WO2015156215A1 (en) 2014-04-08 2015-04-03 Random number generator, simulation device, and meter

Country Status (1)

Country Link
WO (1) WO2015156215A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113574501A (en) * 2019-05-02 2021-10-29 Psdl株式会社 Random number generation device and generation method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031640A (en) * 1983-08-01 1985-02-18 Nec Corp Random number generator
US20060010183A1 (en) * 2004-07-09 2006-01-12 President And Fellows Of Harvard College Random number generation
JP2007509345A (en) * 2003-10-20 2007-04-12 アメリカ合衆国 Neutron detection device and manufacturing method thereof
JP2007200520A (en) * 2005-12-28 2007-08-09 Sony Corp Semiconductor memory device
US7550858B1 (en) * 2005-07-19 2009-06-23 Xilinx, Inc. Random sequence generation using alpha particle emission

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031640A (en) * 1983-08-01 1985-02-18 Nec Corp Random number generator
JP2007509345A (en) * 2003-10-20 2007-04-12 アメリカ合衆国 Neutron detection device and manufacturing method thereof
US20060010183A1 (en) * 2004-07-09 2006-01-12 President And Fellows Of Harvard College Random number generation
US7550858B1 (en) * 2005-07-19 2009-06-23 Xilinx, Inc. Random sequence generation using alpha particle emission
JP2007200520A (en) * 2005-12-28 2007-08-09 Sony Corp Semiconductor memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113574501A (en) * 2019-05-02 2021-10-29 Psdl株式会社 Random number generation device and generation method thereof

Similar Documents

Publication Publication Date Title
Hassan et al. Uncovering in-dram rowhammer protection mechanisms: A new methodology, custom rowhammer patterns, and implications
US9094190B2 (en) Method of managing key for secure storage of data and apparatus therefor
US10546157B2 (en) Flexible counter system for memory protection
US10396978B2 (en) Crypto devices, storage devices having the same, and encryption and decryption methods thereof
US20190229924A1 (en) Key rotating trees with split counters for efficient hardware replay protection
CN104584435B (en) There is the integrated circuit that may have access to the unclonable function of physics of inaccessible
US10069628B2 (en) Technologies for physically unclonable functions with magnetic tunnel junctions
US20170046281A1 (en) Address dependent data encryption
EP3758287B1 (en) Deterministic encryption key rotation
US9048834B2 (en) Grouping of physically unclonable functions
US8954753B2 (en) Encrypting data in volatile memory
JP2003198534A (en) Apparatus for encrypting data and method thereof
TW201342867A (en) Systems and methods for protecting symmetric encryption keys
KR20150034640A (en) Data storage in persistent memory
TWI650708B (en) Computer program product, computer system and computer implementation method for providing instructions for real random numbers
US10671546B2 (en) Cryptographic-based initialization of memory content
US20190370189A1 (en) Off-chip memory address scrambling apparatus and method for system on chip
US20220083347A1 (en) Adding cycle noise to enclaved execution environment
CN103246832B (en) Microprocessor chip with anti-copy function and recording system thereof
WO2015156215A1 (en) Random number generator, simulation device, and meter
US20220014381A1 (en) Message authentication code (mac) generation for live migration of encrypted virtual machiness
Soucarros et al. Fault analysis and evaluation of a true random number generator embedded in a processor
TWM575144U (en) Computing equipment using password of operating system to encrypt and decrypt
JP2007251483A (en) Encryption apparatus
Yağlıkçı et al. Spatial Variation-Aware Read Disturbance Defenses: Experimental Analysis of Real DRAM Chips and Implications on Future Solutions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15776351

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15776351

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP