JP2009151429A - Pseudo random number generator, information processing system and program - Google Patents

Pseudo random number generator, information processing system and program Download PDF

Info

Publication number
JP2009151429A
JP2009151429A JP2007327076A JP2007327076A JP2009151429A JP 2009151429 A JP2009151429 A JP 2009151429A JP 2007327076 A JP2007327076 A JP 2007327076A JP 2007327076 A JP2007327076 A JP 2007327076A JP 2009151429 A JP2009151429 A JP 2009151429A
Authority
JP
Japan
Prior art keywords
random number
pseudo
number generation
random
generated
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.)
Pending
Application number
JP2007327076A
Other languages
Japanese (ja)
Inventor
Satoru Takeda
哲 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007327076A priority Critical patent/JP2009151429A/en
Publication of JP2009151429A publication Critical patent/JP2009151429A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a mechanism in which even if a plurality of pseudo random number generators use a common random number seed value and a common random number generation algorithm, pseudo random numbers generated thereby are necessarily never collided between the plurality of pseudo random number generators. <P>SOLUTION: Each pseudo random number generator 100 asynchronously generates a pseudo random number of the same series successively for each common random number length by use of a common random number seed value and a common random number generation algorithm, and adopts the pseudo random number in a position corresponding to a unique device ID of each pseudo random number generator 100 as the pseudo random number of the own device, whereby the pseudo random number adopted by each pseudo random number generator 100 is differed to each other. Consequently, the pseudo random numbers are never collided between the plurality of pseudo random number generators. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、擬似乱数の生成方式に関するものである。   The present invention relates to a pseudo random number generation method.

従来の擬似乱数生成技術として、特開2003−084971号公報に記載の技術が知られている。
この従来技術では、擬似乱数の周期性をチェックして系列を変更することにより非衝突を実現する。
また、特開2006−053715号公報に記載の技術が知られている。
この従来技術では、毎回シード値を変更することで予測不可能で非衝突な擬似乱数生成を実現する。
特開2003−084971号公報 特開2006−053715号公報
As a conventional pseudo-random number generation technique, a technique described in Japanese Patent Laid-Open No. 2003-084971 is known.
In this prior art, non-collision is realized by checking the periodicity of pseudorandom numbers and changing the sequence.
Further, a technique described in JP 2006-053715 A is known.
In this prior art, pseudo-random number generation that is unpredictable and non-collision is realized by changing the seed value every time.
JP 2003-084971 A JP 2006-053715 A

しかし、上述した特開2003−084971号公報、特開2006−053715号公報では、同じ擬似乱数生成方式を採用する複数の装置では、ある装置は他の装置が生成する乱数値は分らず、複数の装置間で非衝突となる擬似乱数の生成を保証できないという課題がある。 However, in the above-mentioned Japanese Patent Application Laid-Open Nos. 2003-089711 and 2006-053715, in a plurality of devices adopting the same pseudo-random number generation method, a certain device does not know a random value generated by another device, and a plurality of devices There is a problem that it is not possible to guarantee the generation of pseudo-random numbers that do not collide with each other.

本発明は上記の課題を解決することを主な目的としており、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも生成される擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる機構を実現することを主な目的とする。   The main object of the present invention is to solve the above-mentioned problems, and even when a plurality of pseudo-random number generation devices use a common random number seed value and a common random number generation algorithm, the generated pseudo-random numbers generate a plurality of pseudo-random numbers. The main purpose is to realize a mechanism that always ensures non-collision between devices.

本発明に係る擬似乱数生成装置は、
擬似乱数を生成する擬似乱数生成装置であって、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする。
The pseudorandom number generator according to the present invention is
A pseudo-random number generator for generating pseudo-random numbers,
A random number seed value recording unit for recording a random number seed value common to other pseudo-random number generation devices;
A random number generation algorithm common to other pseudo random number generation devices, a random data length common to other pseudo random number generation devices, and an assigned random number specifying value for specifying an assigned pseudo random number assigned to the own device are indicated. A pseudo-random number generation information recording unit for recording pseudo-random number generation information;
Using the random number seed value, the random number generation algorithm sequentially generates pseudo random numbers corresponding to the random data length, and the generated pseudo random numbers are assigned with the generation order corresponding to the assigned random number specific value. And a pseudo random number generation unit that extracts the pseudo random number.

このように、本実施の形態によれば、擬似乱数生成装置に割当てられた擬似乱数のみを抽出するため、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる。
また、擬似乱数生成装置が複数あっても保護する乱数シード値の数が一つであるため安全確保が容易となる。
また、一系列の擬似乱数生成処理であり、また、各擬似乱数生成装置は他の擬似乱数生成装置と非同期に擬似乱数を生成することができるので、擬似乱数生成装置間の通信が不要であり、このため、擬似乱数生成装置における処理量の増大を抑制しながら擬似乱数を生成することができる。
As described above, according to the present embodiment, only the pseudo-random numbers assigned to the pseudo-random number generator are extracted, so even if a plurality of pseudo-random number generators use a common random number seed value and a common random number generation algorithm. Pseudorandom numbers are always non-collision between a plurality of pseudorandom number generators.
In addition, even if there are a plurality of pseudo-random number generators, the number of random number seed values to be protected is one, so that it is easy to ensure safety.
In addition, this is a series of pseudo-random number generation processing, and each pseudo-random number generation device can generate pseudo-random numbers asynchronously with other pseudo-random number generation devices, so communication between the pseudo-random number generation devices is unnecessary. For this reason, pseudorandom numbers can be generated while suppressing an increase in processing amount in the pseudorandom number generator.

実施の形態1.
本実施の形態では、単一のシード値から生成する一系列の長周期かつ偏りの無い擬似乱数列を用いることを前提に、複数の装置が予め一度に生成する擬似乱数の長さを決めておき、各装置が決められた間隔毎に擬似乱数を使用することにより、一系列の擬似乱数列を複数装置間で分割して使用し、複数装置間で非衝突となる擬似乱数の生成を実現する擬似乱数生成方式を説明する。
以下、図1〜図10を参照して本実施の形態の擬似乱数生成方式を説明する。
Embodiment 1 FIG.
In the present embodiment, on the premise that a pseudo-random number sequence having a long period and no bias generated from a single seed value is used, the length of pseudo-random numbers generated by a plurality of devices at once is determined. In addition, by using a pseudo-random number at a predetermined interval for each device, a sequence of pseudo-random numbers can be divided and used between multiple devices to generate pseudo-random numbers that do not collide between multiple devices. A pseudo-random number generation method will be described.
Hereinafter, the pseudo-random number generation method of the present embodiment will be described with reference to FIGS.

図1は、本実施の形態に係る鍵生成システムの全体構成を示すブロック図である。
図1において、100は、擬似乱数生成装置であり、擬似乱数を生成し、鍵生成装置200に送る。図1に示す各擬似乱数生成装置100は、同じ擬似乱数生成グループに属する。擬似乱数生成グループとは、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長(以下、乱数長ともいう)分の擬似乱数を順次生成するN個(N≧2)(図1の例ではN=3)の擬似乱数生成装置100で構成されるグループである。
130は、擬似乱数生成情報であり、非衝突な擬似乱数を生成するための設定情報である。
200は、鍵生成装置であり、擬似乱数生成装置100から擬似乱数を受け、鍵300を生成する。
300は、鍵であり、鍵生成装置200により生成される。生成される鍵は全て異なる。
400は、データ通信路であり、複数の擬似乱数生成装置100が接続し、データの送受信を行う。
FIG. 1 is a block diagram showing the overall configuration of the key generation system according to the present embodiment.
In FIG. 1, reference numeral 100 denotes a pseudo random number generation device that generates a pseudo random number and sends it to the key generation device 200. Each pseudo random number generation device 100 shown in FIG. 1 belongs to the same pseudo random number generation group. The pseudo random number generation group is N (N ≧ 2) that sequentially generates pseudo random numbers corresponding to a common random number data length (hereinafter also referred to as a random number length) using a common random number generation algorithm using a common random number seed value. (N = 3 in the example of FIG. 1).
Reference numeral 130 denotes pseudo-random number generation information, which is setting information for generating a non-collision pseudo-random number.
Reference numeral 200 denotes a key generation device that receives a pseudorandom number from the pseudorandom number generation device 100 and generates a key 300.
Reference numeral 300 denotes a key, which is generated by the key generation apparatus 200. All generated keys are different.
Reference numeral 400 denotes a data communication path, and a plurality of pseudo random number generation devices 100 are connected to transmit and receive data.

全体の動作を図1の各装置で説明する。
まず擬似乱数生成装置100で擬似乱数を生成し、擬似乱数生成装置100から鍵生成装置200に擬似乱数を出力し、鍵生成装置200は擬似乱数を使用して鍵300を生成し、鍵生成装置200から鍵300を出力する。
複数の擬似乱数生成装置100が存在しても各装置間で衝突しない擬似乱数を生成するため、一系列の擬似乱数列を複数装置間で振り分けて生成し使用するための設定情報として擬似乱数生成情報130を使用する。また、複数の擬似乱数生成装置100が一系列の擬似乱数列を生成するため、各装置は同一の乱数シード値を保持する。
ここで、一系列の擬似乱数とは、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて生成される擬似乱数列を意味する。
The overall operation will be described with reference to each device in FIG.
First, a pseudo-random number is generated by the pseudo-random number generation device 100, and the pseudo-random number is output from the pseudo-random number generation device 100 to the key generation device 200. The key generation device 200 generates a key 300 using the pseudo-random number, and the key generation device The key 300 is output from 200.
In order to generate pseudo-random numbers that do not collide with each other even if there are a plurality of pseudo-random number generation devices 100, pseudo-random number generation is generated as setting information for generating and using a series of pseudo-random number sequences among a plurality of devices. Information 130 is used. Further, since the plurality of pseudo random number generation devices 100 generate a series of pseudo random number sequences, each device holds the same random number seed value.
Here, a series of pseudo-random numbers means a pseudo-random number sequence generated by a common random number generation algorithm using a common random number seed value.

図2は、擬似乱数生成情報130の内容である。
擬似乱数生成情報130は、擬似乱数生成装置100の装置数、擬似乱数生成装置100個別の識別情報となる装置ID、擬似乱数生成装置100が一度に生成する乱数長、擬似乱数生成装置100個別の生成済乱数長、擬似乱数生成装置100の擬似乱数生成アルゴリズムからなる。
擬似乱数生成情報130において、装置数、乱数長及び擬似乱数生成アルゴリズムの内容は、同じ擬似乱数生成グループに属する複数の擬似乱数生成装置100間で共通している。
他方、装置ID、生成済乱数長は、擬似乱数生成装置100ごとに異なる。
生成済乱数長は、生成済みの擬似乱数のデータ総量を示し、擬似乱数の生成回数(生成頻度)によって擬似乱数生成装置100ごとに異なる。
装置ID(m:1≦m≦N)は、一系列の擬似乱数列のうち自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値である。
FIG. 2 shows the contents of the pseudorandom number generation information 130.
The pseudo-random number generation information 130 includes the number of the pseudo-random number generation device 100, the device ID serving as identification information for each pseudo-random number generation device 100, the random length generated by the pseudo-random number generation device 100 at a time, and the individual numbers for the pseudo-random number generation device 100. It consists of a generated random number length and a pseudo random number generation algorithm of the pseudo random number generation device 100.
In the pseudorandom number generation information 130, the number of devices, the random number length, and the content of the pseudorandom number generation algorithm are common among a plurality of pseudorandom number generation devices 100 belonging to the same pseudorandom number generation group.
On the other hand, the device ID and the generated random number length are different for each pseudo-random number generation device 100.
The generated random number length indicates the total data amount of the generated pseudo random numbers, and is different for each pseudo random number generation device 100 depending on the number of generations (generation frequency) of the pseudo random numbers.
The device ID (m: 1 ≦ m ≦ N) is an assigned random number specifying value for specifying an assigned pseudo random number assigned to the own device in a series of pseudo random number sequences.

図3は、複数擬似乱数生成装置100間における、一系列の擬似乱数の振り分け方法の例を示す。
つまり、複数の擬似乱数生成装置100は、各々、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて同一の擬似乱数列を生成する。
そして、各擬似乱数生成装置100は全て同一系列の擬似乱数列を生成するとともに、系列から乱数長分の擬似乱数を順番に使用する。
たとえば擬似乱数生成装置100の装置数が3(N=3)で乱数長が128ビットの場合、機器IDが1(m=1)の擬似乱数生成装置100が、擬似乱数系列1000のはじめ128ビットの乱数A1001Aを使用する。
機器IDが2(m=2)の擬似乱数生成装置100は、擬似乱数系列1000のはじめ128ビットは生成するものの使用せずに、次の128ビットの乱数A1002Aを使用する。
また、機器IDが3(m=3)の擬似乱数生成装置100は、擬似乱数系列1000のはじめ256ビットは生成するものの使用せずに、次の128ビットの乱数A1003Aを使用する。
以降、それぞれの擬似乱数生成装置100は、装置数×乱数長の間隔毎に、乱数長分の擬似乱数を使用する。つまり、鍵生成装置200から擬似乱数の生成要求がある度に、乱数長分のN個の擬似乱数を順次生成するとともに、N個の擬似乱数の中からm番目の擬似乱数を割当て対象の擬似乱数として抽出する。
なお、各擬似乱数生成装置100は、鍵生成装置200から擬似乱数の生成要求があった際に、他の擬似乱数生成装置100における擬似乱数の生成から独立して(非同期に)乱数長分の擬似乱数を順次生成するとともに、生成した擬似乱数の中から自装置の装置IDに対応する生成順序の擬似乱数を抽出して使用する。
また、生成した擬似乱数は、衝突確認のため、各装置が、他の装置が使用する擬似乱数を含め全て保管する。
このように同一系列の擬似乱数列から、各擬似乱数生成装置100の装置IDの順位に従って割当てられた擬似乱数を抽出するため、複数の擬似乱数生成装置100が非同期であっても非衝突、かつ偏りの無い擬似乱数を利用することになる。
このため、擬似乱数から生成される鍵の非衝突が実現される。
FIG. 3 shows an example of a method for distributing a series of pseudo-random numbers among a plurality of pseudo-random number generation devices 100.
That is, each of the plurality of pseudo random number generation devices 100 generates the same pseudo random number sequence using a common random number generation algorithm using a common random number seed value.
Each pseudo-random number generation device 100 generates a pseudo-random number sequence of the same series, and sequentially uses pseudo-random numbers corresponding to the random length from the series.
For example, when the number of pseudo random number generation devices 100 is 3 (N = 3) and the random number length is 128 bits, the pseudo random number generation device 100 with the device ID 1 (m = 1) is the first 128 bits of the pseudo random number sequence 1000. Random number A1001A.
The pseudo-random number generation device 100 with the device ID 2 (m = 2) generates the first 128 bits of the pseudo-random number sequence 1000 but does not use the next 128-bit random number A 1002A.
Further, the pseudo-random number generation device 100 with the device ID 3 (m = 3) generates the first 256 bits of the pseudo-random number sequence 1000, but uses the next 128-bit random number A1003A.
Thereafter, each pseudo-random number generation device 100 uses a pseudo-random number corresponding to the random number length for each interval of the number of devices × random number length. That is, every time there is a pseudo random number generation request from the key generation device 200, N pseudo random numbers corresponding to the random number length are sequentially generated, and the mth pseudo random number from among the N pseudo random numbers is assigned. Extract as a random number.
Note that each pseudo-random number generation device 100, when there is a pseudo-random number generation request from the key generation device 200, is independent (asynchronously) of the random number length from the generation of pseudo-random numbers in the other pseudo-random number generation devices 100. The pseudo random numbers are sequentially generated, and the pseudo random numbers in the generation order corresponding to the device ID of the own apparatus are extracted from the generated pseudo random numbers and used.
Also, the generated pseudo-random numbers are all stored by each device, including pseudo-random numbers used by other devices, for collision confirmation.
Thus, since the pseudo random numbers assigned according to the rank of the device ID of each pseudo random number generation device 100 are extracted from the same series of pseudo random number sequences, even if the plurality of pseudo random number generation devices 100 are asynchronous, there is no collision, and Pseudorandom numbers without bias will be used.
For this reason, non-collision of keys generated from pseudorandom numbers is realized.

図4は擬似乱数生成装置100の構成を示すブロック図である。
図4において、擬似乱数生成情報入力部101は、図2に示した擬似乱数生成情報130を入力する。
擬似乱数生成情報処理部102は、擬似乱数生成情報入力部101が入力した擬似乱数生成情報130を擬似乱数生成情報記録部103に格納する。
擬似乱数生成情報記録部103は、擬似乱数生成情報130を記録する。
乱数シード入出力部104は、乱数シード値132(以下、乱数シード132ともいう)を入力する。この乱数シード値132は、前述したように、他の擬似乱数生成装置100と共通するシード値である。
乱数シード処理部105は、乱数シード132を乱数シード記録部106に格納する。
乱数シード記録部106は、乱数シード132を記録する。
擬似乱数出力部107は、擬似乱数生成部108により抽出された擬似乱数133(割り当て擬似乱数)を鍵生成装置200に出力する。
FIG. 4 is a block diagram showing a configuration of the pseudorandom number generation device 100.
In FIG. 4, the pseudo random number generation information input unit 101 inputs the pseudo random number generation information 130 shown in FIG.
The pseudo random number generation information processing unit 102 stores the pseudo random number generation information 130 input by the pseudo random number generation information input unit 101 in the pseudo random number generation information recording unit 103.
The pseudo random number generation information recording unit 103 records the pseudo random number generation information 130.
The random number seed input / output unit 104 inputs a random number seed value 132 (hereinafter also referred to as a random number seed 132). As described above, the random number seed value 132 is a seed value common to the other pseudo random number generation devices 100.
The random number seed processing unit 105 stores the random number seed 132 in the random number seed recording unit 106.
The random number seed recording unit 106 records the random number seed 132.
The pseudo random number output unit 107 outputs the pseudo random number 133 (allocated pseudo random number) extracted by the pseudo random number generation unit 108 to the key generation device 200.

擬似乱数生成部108は、乱数シード132を用いて擬似乱数生成情報130に示されている乱数生成アルゴリズムにて乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、擬似乱数生成情報130に示されている装置ID(割当て乱数特定値)に対応する順序の擬似乱数を割当て擬似乱数として抽出する。
擬似乱数記録部109は、擬似乱数生成部108により生成された擬似乱数の全て(他の擬似乱数生成装置100が使用する擬似乱数も含めて)を記録する。
そして、擬似乱数生成部108は、擬似乱数を生成する度に、生成した擬似乱数が擬似乱数記録部109に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を除外して、生成した擬似乱数の中から、自装置の順位(装置ID)に対応する生成順序の擬似乱数を割当て擬似乱数として抽出する。
また、擬似乱数記録部109は、擬似乱数生成部により記録擬似乱数に一致するとして除外された擬似乱数を除外して、擬似乱数生成部108により生成された擬似乱数を記録する。
これは、いずれかの擬似乱数生成装置100が過去に使用した擬似乱数と同じ擬似乱数が再度生成された場合に、この衝突した擬似乱数を使用しないようにするためである。
The pseudo-random number generator 108 sequentially generates pseudo-random numbers corresponding to the length of the random number data by the random number generation algorithm indicated in the pseudo-random number generation information 130 using the random number seed 132, and the pseudo-random numbers are generated from the generated pseudo-random numbers. A pseudo random number in the order corresponding to the device ID (assigned random number specific value) indicated in the generation information 130 is extracted as an assigned pseudo random number.
The pseudo random number recording unit 109 records all of the pseudo random numbers generated by the pseudo random number generation unit 108 (including pseudo random numbers used by other pseudo random number generation devices 100).
Then, each time a pseudo-random number is generated, the pseudo-random number generator 108 determines whether or not the generated pseudo-random number matches any of the recorded pseudo-random numbers recorded in the pseudo-random number recording unit 109. When the pseudo-random number matches one of the recorded pseudo-random numbers, the pseudo-random number that matches the recorded pseudo-random number is excluded, and the generation order corresponding to the rank (device ID) of the own device is generated from the generated pseudo-random numbers. A pseudo random number is extracted as an assigned pseudo random number.
The pseudo-random number recording unit 109 records the pseudo-random number generated by the pseudo-random number generation unit 108 by excluding the pseudo-random number that is excluded as being coincident with the recorded pseudo-random number by the pseudo-random number generation unit.
This is to prevent the collided pseudo-random numbers from being used when the same pseudo-random numbers as the pseudo-random numbers used in the past by any of the pseudo-random number generators 100 are generated again.

図5、図6は擬似乱数生成装置100の初期処理を示すフローチャートである。
図5は乱数シードを生成する1台目の擬似乱数生成装置100の初期処理を表す。
5 and 6 are flowcharts showing the initial processing of the pseudorandom number generator 100. FIG.
FIG. 5 shows an initial process of the first pseudorandom number generation apparatus 100 that generates a random number seed.

まず、ST100において、当該1台目の擬似乱数生成装置100の管理者120が、擬似乱数生成情報入力部101より擬似乱数生成情報130を擬似乱数生成装置100に入力し、擬似乱数生成情報処理部102が擬似乱数生成情報130を擬似乱数生成情報記録部103に格納する。
次に、ST101において、管理者120が、乱数シード入出力部104よりパスワード131を擬似乱数生成装置100に入力し、乱数シード処理部105が乱数シード132を生成する。
次に、ST102において、乱数シード処理部105がパスワード131から乱数シード暗号鍵を生成して乱数シード132を暗号化し、乱数シード記録部106に暗号化した乱数シード132を格納する。
最後に、ST103において、乱数シード入出力部104が暗号化した乱数シード132を出力する。
出力された暗号化した乱数シード132は、管理者120が入力したパスワード131とともに他の擬似乱数生成装置100の管理者120に渡される。
First, in ST100, the administrator 120 of the first pseudorandom number generation device 100 inputs the pseudorandom number generation information 130 from the pseudorandom number generation information input unit 101 to the pseudorandom number generation device 100, and the pseudorandom number generation information processing unit 102 stores the pseudo random number generation information 130 in the pseudo random number generation information recording unit 103.
Next, in ST101, the administrator 120 inputs the password 131 from the random number seed input / output unit 104 to the pseudorandom number generation device 100, and the random number seed processing unit 105 generates the random number seed 132.
Next, in ST102, the random number seed processing unit 105 generates a random number seed encryption key from the password 131, encrypts the random number seed 132, and stores the encrypted random number seed 132 in the random number seed recording unit 106.
Finally, in ST103, the random number seed input / output unit 104 outputs the encrypted random number seed 132.
The output encrypted random number seed 132 is transferred to the administrator 120 of another pseudo random number generation device 100 together with the password 131 input by the administrator 120.

図6は1台目の擬似乱数生成装置100が生成した乱数シード132を入力する2台目以降の擬似乱数生成装置100の初期処理を表す。
2台目以降の擬似乱数生成装置100では、管理者120は1台目の擬似乱数生成装置100が暗号化した乱数シード132の復号用と、再暗号化用の2つのパスワードを入力する。
FIG. 6 shows the initial processing of the second and subsequent pseudorandom number generators 100 to which the random number seed 132 generated by the first pseudorandom number generator 100 is input.
In the second and subsequent pseudorandom number generators 100, the administrator 120 inputs two passwords for decryption of the random number seed 132 encrypted by the first pseudorandom number generator 100 and for re-encryption.

まず、ST150において、管理者120が擬似乱数生成情報入力部101より擬似乱数生成装置100に擬似乱数生成情報130を入力し、擬似乱数生成情報処理部102が擬似乱数生成情報記録部103に擬似乱数生成情報130を格納する。
次に、ST151において、管理者120が乱数シード入出力部104より擬似乱数生成装置100に復号用パスワード、暗号化した乱数シード132、再暗号化パスワードを入力する。
次に、ST152において、乱数シード処理部105がパスワード131から鍵を生成し、鍵を使用して暗号化した乱数シード132を復号する。
次に、ST153において、暗号化した乱数シード132の復号に成功したかどうかを判断し、復号に成功した場合は、ST154において、乱数シード処理部105が再暗号化パスワードから鍵を生成し、鍵を使用して乱数シード132を再暗号化し、乱数シード記録部106に再暗号化した乱数シード132を格納する。
First, in ST150, the administrator 120 inputs the pseudorandom number generation information 130 to the pseudorandom number generation apparatus 100 from the pseudorandom number generation information input unit 101, and the pseudorandom number generation information processing unit 102 stores the pseudorandom number generation information recording unit 103 in the pseudorandom number generation information recording unit 103. The generation information 130 is stored.
Next, in ST151, the administrator 120 inputs the decryption password, the encrypted random number seed 132, and the re-encryption password from the random number seed input / output unit 104 to the pseudo random number generation device 100.
Next, in ST152, the random number seed processing unit 105 generates a key from the password 131, and decrypts the random number seed 132 encrypted using the key.
Next, in ST153, it is determined whether or not the encrypted random number seed 132 has been successfully decrypted. If the decryption is successful, in ST154, the random number seed processing unit 105 generates a key from the re-encrypted password, and the key Is used to re-encrypt the random number seed 132 and store the re-encrypted random number seed 132 in the random number seed recording unit 106.

図7、図8、図9は擬似乱数生成装置100の乱数生成処理を示すフローチャートである。   7, 8, and 9 are flowcharts showing random number generation processing of the pseudorandom number generation device 100.

図7のST200において、管理者120が乱数シード入出力部104からパスワード131を入力する。
次に、ST201において、乱数シード処理部105が乱数シード記録部106から暗号化した乱数シード132を読み出す。
次に、ST202において、乱数シード処理部105がパスワード131から鍵を生成し、鍵を使用して暗号化した乱数シード132を復号する。
暗号化した乱数シード132の復号に成功した場合(ST203でYES)は、ST204において、擬似乱数生成情報処理部102が擬似乱数生成情報記録部103から擬似乱数生成情報130を読み出す。
次に、ST205において、擬似乱数生成部108が擬似乱数生成情報130に示される擬似乱数生成アルゴリズムと乱数シード132から、擬似乱数系列の先頭を生成する。
次に、ST206において、擬似乱数生成部108が擬似乱数生成情報130に示される装置ID、乱数長、生成済乱数長から、擬似乱数系列の次の生成位置を設定する。
In ST200 of FIG. 7, the administrator 120 inputs the password 131 from the random number seed input / output unit 104.
Next, in ST201, the random number seed processing unit 105 reads the encrypted random number seed 132 from the random number seed recording unit 106.
Next, in ST202, the random number seed processing unit 105 generates a key from the password 131, and decrypts the random number seed 132 encrypted using the key.
If decryption of the encrypted random number seed 132 is successful (YES in ST203), the pseudorandom number generation information processing unit 102 reads the pseudorandom number generation information 130 from the pseudorandom number generation information recording unit 103 in ST204.
Next, in ST 205, the pseudo random number generation unit 108 generates the head of the pseudo random number sequence from the pseudo random number generation algorithm and the random number seed 132 indicated in the pseudo random number generation information 130.
Next, in ST206, the pseudo random number generation unit 108 sets the next generation position of the pseudo random number sequence from the device ID, random number length, and generated random number length indicated in the pseudo random number generation information 130.

次に、ST207において鍵生成装置200から擬似乱数の生成要求があった場合には(ST207でYES)、ST208において、擬似乱数生成部108が擬似乱数生成情報130に示される乱数長分の擬似乱数133を生成する。
次に、ST209において、擬似乱数生成部108が、生成した擬似乱数133が擬似乱数記録部109に保管されているいずれかの擬似乱数(過去に生成された擬似乱数)と同じ値でないかを確認する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在している場合(ST210でYES)は、次の位置の擬似乱数を生成する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在していない場合(ST210でNO)は、ST211において、擬似乱数生成部108は、衝突確認のため、他の擬似乱数生成装置100が使用する擬似乱数133を含め生成した擬似乱数133を全て擬似乱数記録部109に保管する。
次に、ST212において、擬似乱数生成部108は、ST211にて擬似乱数記録部109に格納された擬似乱数133が自装置に割当てられる擬似乱数133であるかどうかを判断し、自装置用の擬似乱数133でない場合(ST212でNO)は、次の位置の擬似乱数を生成する。
他方、自装置用の擬似乱数133である場合(ST212でYES)は、ST213において、擬似乱数出力部107が自装置に割当てられている擬似乱数133を鍵生成装置200に出力する。
次に、ST214において、擬似乱数生成部108が擬似乱数生成情報130の生成済乱数長を、乱数長分加算する。
次に、ST215において、擬似乱数生成部108が終了要求フラグを確認する。終了要求は、後述する図10の処理が行われた場合に終了要求フラグに設定される。終了要求がある場合(ST216でYES)は、ST217において、擬似乱数生成情報処理部102が擬似乱数生成情報130を擬似乱数生成情報記録部103に格納する。
他方、終了要求がない場合(ST216でNO)は、処理をST207に戻す。
Next, when there is a pseudo random number generation request from the key generation apparatus 200 in ST207 (YES in ST207), in ST208, the pseudo random number generation unit 108 is a pseudo random number corresponding to the random length indicated in the pseudo random number generation information 130. 133 is generated.
Next, in ST209, the pseudorandom number generation unit 108 checks whether the generated pseudorandom number 133 is the same value as any of the pseudorandom numbers stored in the pseudorandom number recording unit 109 (pseudorandom numbers generated in the past). To do.
If a pseudo-random number having the same value as the generated pseudo-random number 133 exists in the pseudo-random number recording unit 109 (YES in ST210), a pseudo-random number at the next position is generated.
If the pseudo-random number having the same value as the generated pseudo-random number 133 does not exist in the pseudo-random number recording unit 109 (NO in ST210), in ST211, the pseudo-random number generating unit 108 generates another pseudo-random number for collision confirmation. All the pseudo random numbers 133 generated including the pseudo random number 133 used by the apparatus 100 are stored in the pseudo random number recording unit 109.
Next, in ST212, the pseudorandom number generation unit 108 determines whether the pseudorandom number 133 stored in the pseudorandom number recording unit 109 in ST211 is the pseudorandom number 133 assigned to the own device, and the pseudorandom number 133 for the own device is determined. If it is not random number 133 (NO in ST212), a pseudorandom number at the next position is generated.
On the other hand, if it is the pseudorandom number 133 for the own device (YES in ST212), the pseudorandom number output unit 107 outputs the pseudorandom number 133 assigned to the own device to the key generation device 200 in ST213.
Next, in ST214, the pseudorandom number generation unit 108 adds the generated random number length of the pseudorandom number generation information 130 by the random number length.
Next, in ST215, the pseudo random number generation unit 108 checks the end request flag. The end request is set in the end request flag when the process of FIG. 10 described later is performed. If there is an end request (YES in ST216), the pseudorandom number generation information processing unit 102 stores the pseudorandom number generation information 130 in the pseudorandom number generation information recording unit 103 in ST217.
On the other hand, if there is no termination request (NO in ST216), the process returns to ST207.

図10は擬似乱数生成装置100に対する終了要求処理を示すフローチャートである。   FIG. 10 is a flowchart showing an end request process for the pseudorandom number generator 100.

ST300において、管理者120が乱数シード入出力部104からパスワード131を入力する。
次に、ST301において、乱数シード入出力部104がパスワード131から鍵を生成し、鍵を使用して暗号化した乱数シード132を復号する。
暗号化した乱数シード132の復号に成功した場合(ST302でYES)は、正当な管理者120からの終了要求であるため、ST303において、乱数シード処理部105が終了要求フラグを立てる。
ST303で行った終了要求は乱数生成処理中のST216(図9)で処理し、擬似乱数生成装置100は乱数生成処理を終了する。
In ST300, administrator 120 inputs password 131 from random number seed input / output unit 104.
Next, in ST301, the random number seed input / output unit 104 generates a key from the password 131, and decrypts the random number seed 132 encrypted using the key.
If decryption of the encrypted random number seed 132 is successful (YES in ST302), it is an end request from the authorized administrator 120, and thus the random number seed processing unit 105 sets an end request flag in ST303.
The termination request made in ST303 is processed in ST216 (FIG. 9) during the random number generation process, and the pseudorandom number generation apparatus 100 ends the random number generation process.

このように、本実施の形態によれば、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも生成される擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる。
また、擬似乱数生成では、乱数シード値により擬似乱数の系列が決まるため、擬似乱数の不正生成を防ぐために乱数シード値の漏洩対策が必要であり、乱数シード値を暗号化などにより保護しなければならないが、本実施の形態に係る擬似乱数生成方式は、擬似乱数生成装置が複数あっても保護する乱数シードの数が一つであるため安全確保が容易となる効果がある。
また、一系列の擬似乱数生成処理であり、また、各擬似乱数生成装置は他の擬似乱数生成装置と非同期に擬似乱数を生成することができるので、擬似乱数生成装置間の通信が不要であり、このため、擬似乱数生成装置における処理量の増大を抑制しながら擬似乱数を生成することができるという効果が得られる。
As described above, according to the present embodiment, even when a plurality of pseudo-random number generation devices use a common random number seed value and a common random number generation algorithm, the generated pseudo-random numbers are not necessarily generated between the plurality of pseudo-random number generation devices. It becomes a collision.
In addition, in pseudo-random number generation, the sequence of pseudo-random numbers is determined by the random number seed value, so it is necessary to take measures against leakage of the random number seed value in order to prevent unauthorized generation of pseudo-random numbers. However, the pseudo-random number generation method according to the present embodiment has an effect of ensuring safety because the number of random number seeds to be protected is one even if there are a plurality of pseudo-random number generators.
In addition, this is a series of pseudo-random number generation processing, and each pseudo-random number generation device can generate pseudo-random numbers asynchronously with other pseudo-random number generation devices, so communication between the pseudo-random number generation devices is unnecessary. For this reason, it is possible to generate a pseudo-random number while suppressing an increase in processing amount in the pseudo-random number generator.

以上、本実施の形態では、単一のシード値から生成する一系列の長周期かつ偏りの無い擬似乱数列を用いることを前提に、擬似乱数生成時に複数装置間で連携しない、以下の特徴を持つ複数装置間非衝突擬似乱数生成方式について説明した。
(1)擬似乱数を生成する擬似乱数生成装置は、一系列の擬似乱数列を複数の擬似乱数生成装置間で振り分けて生成するための設定情報である擬似乱数生成情報を保持する擬似乱数生成情報処理手段を持つ。
(2)上記擬似乱数生成情報を使用して擬似乱数を生成する擬似乱数生成手段を持つ。
As described above, in the present embodiment, on the premise that a long-period and non-biased pseudo-random number sequence generated from a single seed value is used, the following features are not linked between a plurality of devices at the time of pseudo-random number generation. The non-collision pseudorandom number generation method between multiple devices has been described.
(1) A pseudo-random number generation device that generates pseudo-random numbers includes pseudo-random number generation information that holds pseudo-random number generation information that is setting information for distributing and generating a series of pseudo-random number sequences among a plurality of pseudo-random number generation devices. Has processing means.
(2) It has a pseudo random number generation means for generating a pseudo random number using the pseudo random number generation information.

実施の形態2.
本実施の形態では、各擬似乱数生成装置の擬似乱数生成情報を同期させる(更新させる)場合について説明する。
Embodiment 2. FIG.
In the present embodiment, a case will be described in which pseudorandom number generation information of each pseudorandom number generator is synchronized (updated).

図16は、本実施の形態に係る擬似乱数生成装置100の構成例を示す。
図4と比較して、図16に示す擬似乱数生成装置100では擬似乱数生成情報同期部110と通信部111が追加された構成となっている。
なお、擬似乱数生成情報同期部110と通信部111以外の要素は、図4に示したものと同様である。
FIG. 16 shows a configuration example of the pseudorandom number generation device 100 according to the present embodiment.
Compared to FIG. 4, the pseudorandom number generation device 100 illustrated in FIG. 16 has a configuration in which a pseudorandom number generation information synchronization unit 110 and a communication unit 111 are added.
The elements other than the pseudo-random number generation information synchronization unit 110 and the communication unit 111 are the same as those shown in FIG.

擬似乱数生成情報130の同期元の擬似乱数生成装置100の場合は、通信部111は、同期先の擬似乱数生成装置100から送信された擬似乱数生成情報130をデータ通信路400から受信し、更新用の擬似乱数生成情報130を同期元の擬似乱数生成装置100にデータ通信路400を通じて送信する。他方、擬似乱数生成情報130の同期先の擬似乱数生成装置100の場合は、通信部111は保有している擬似乱数生成情報130を同期元の擬似乱数生成装置100に送信し、更新用の擬似乱数生成情報130を同期元の擬似乱数生成装置100から受信する。
また、擬似乱数生成情報130の同期元の擬似乱数生成装置100の場合は、擬似乱数生成情報同期部110は、通信部111により受信された同期先の擬似乱数生成装置100の擬似乱数生成情報130の内容を更新する。他方、擬似乱数生成情報130の同期先の擬似乱数生成装置100の場合は、同期元の擬似乱数生成装置100から受信した更新用擬似乱数生成情報130を擬似乱数生成情報記録部103に格納する。
In the case of the pseudo-random number generation device 100 that is the synchronization source of the pseudo-random number generation information 130, the communication unit 111 receives the pseudo-random number generation information 130 transmitted from the synchronization-destination pseudo-random number generation device 100 from the data communication channel 400 and updates it. Pseudo random number generation information 130 is transmitted to the synchronization source pseudo random number generation device 100 through the data communication path 400. On the other hand, in the case of the pseudorandom number generation device 100 that is the synchronization destination of the pseudorandom number generation information 130, the communication unit 111 transmits the pseudorandom number generation information 130 that is held to the synchronization source pseudorandom number generation device 100 to update the pseudorandom number generation device 100. The random number generation information 130 is received from the pseudo random number generation device 100 that is the synchronization source.
In the case of the pseudorandom number generation device 100 that is the synchronization source of the pseudorandom number generation information 130, the pseudorandom number generation information synchronization unit 110 receives the pseudorandom number generation information 130 of the synchronization destination pseudorandom number generation device 100 received by the communication unit 111. Update the contents of. On the other hand, in the case of the pseudorandom number generation device 100 that is the synchronization destination of the pseudorandom number generation information 130, the update pseudorandom number generation information 130 received from the synchronization source pseudorandom number generation device 100 is stored in the pseudorandom number generation information recording unit 103.

図11〜図15は擬似乱数生成装置100の擬似乱数生成情報同期処理を示すフローチャートである。
図11、図12、図13は擬似乱数生成情報130の同期元となる擬似乱数生成装置100の擬似乱数生成情報同期処理を表す。
図14、図15は、擬似乱数生成情報130の同期先となる擬似乱数生成装置100の擬似乱数生成情報同期処理を表す。
11 to 15 are flowcharts showing the pseudo random number generation information synchronization process of the pseudo random number generation device 100.
11, 12, and 13 represent the pseudo-random number generation information synchronization process of the pseudo-random number generation apparatus 100 that is the synchronization source of the pseudo-random number generation information 130.
14 and 15 show the pseudo-random number generation information synchronization process of the pseudo-random number generation device 100 that is the synchronization destination of the pseudo-random number generation information 130.

擬似乱数生成情報130の同期処理は擬似乱数生成処理時常に行う必要はなく、任意の擬似乱数生成装置100が要求する時点に行う。
同期時期は、擬似乱数生成装置100の装置数の変更や、擬似乱数生成装置100が一度に生成する乱数長の変更、擬似乱数生成装置100の擬似乱数生成アルゴリズムの変更がある場合となる。
The synchronization processing of the pseudo-random number generation information 130 does not always have to be performed at the time of the pseudo-random number generation processing, but is performed at a time point when an arbitrary pseudo-random number generation device 100 requests.
The synchronization time is when there is a change in the number of pseudo random number generation devices 100, a change in the random length generated by the pseudo random number generation device 100 at one time, or a change in the pseudo random number generation algorithm of the pseudo random number generation device 100.

先ず、図11、図12、図13を参照して同期元となる擬似乱数生成装置100の処理を説明する。   First, processing of the pseudorandom number generation device 100 serving as a synchronization source will be described with reference to FIGS. 11, 12, and 13.

図11のST200において、同期元の管理者120が乱数シード入出力部104からパスワード131を入力する。
次に、ST201において、乱数シード処理部105が乱数シード記録部106から暗号化した乱数シード132を読み出す。
次に、ST202において、乱数シード処理部105がパスワード131から鍵を生成し、鍵を使用して暗号化した乱数シード132を復号する。
暗号化した乱数シード132の復号に成功した場合(ST402でYES)は、ST403において、擬似乱数生成情報処理部102が擬似乱数生成情報記録部103から擬似乱数生成情報130を読み出す。
次に、ST404において、管理者120が擬似乱数生成情報入力部101から更新用の擬似乱数生成情報130の装置数、乱数長、擬似乱数生成アルゴリズムのいずれかを入力する。管理者120は、擬似乱数生成情報130の要素のうち変更のある要素のみを入力する。
次に、ST405において、擬似乱数生成情報同期部110が、通信部111を通じて同期先となる他の擬似乱数生成装置100に同期要求を送信し、同期先となる他の擬似乱数生成装置100から通信部111を通じて現在の擬似乱数生成情報130を受信する。
In ST200 of FIG. 11, the synchronization source administrator 120 inputs the password 131 from the random number seed input / output unit 104.
Next, in ST201, the random number seed processing unit 105 reads the encrypted random number seed 132 from the random number seed recording unit 106.
Next, in ST202, the random number seed processing unit 105 generates a key from the password 131, and decrypts the random number seed 132 encrypted using the key.
If decryption of the encrypted random number seed 132 is successful (YES in ST402), the pseudorandom number generation information processing unit 102 reads the pseudorandom number generation information 130 from the pseudorandom number generation information recording unit 103 in ST403.
Next, in ST404, the administrator 120 inputs any one of the number of devices, the random length, and the pseudorandom number generation algorithm of the pseudorandom number generation information 130 for update from the pseudorandom number generation information input unit 101. The administrator 120 inputs only the changed elements among the elements of the pseudorandom number generation information 130.
Next, in ST405, the pseudo-random number generation information synchronization unit 110 transmits a synchronization request to the other pseudo-random number generation device 100 as the synchronization destination through the communication unit 111, and communicates from the other pseudo-random number generation device 100 as the synchronization destination. The current pseudorandom number generation information 130 is received through the unit 111.

次に、ST406において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130と、擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130、擬似乱数生成情報入力部101から入力された更新用の装置数、乱数長等を比較する。
次に、装置数の変更がある場合は、ST407において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130の装置数を擬似乱数生成情報入力部101から入力された更新用の装置数に更新する。
次に、各擬似乱数生成装置100の装置IDの変更がある場合は、ST408において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130の装置IDを擬似乱数生成情報入力部101から入力された更新用の装置数に合わせて更新する。
次に、乱数長の変更がある場合は、ST409において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130の乱数長を擬似乱数生成情報入力部101から入力された更新用の乱数長に更新する。
次に、ST410において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130に示される生成済乱数長の中で最長の生成済乱数長を選択し、選択した最長の生成済乱数長を他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130に書き込み、生成済乱数長を更新する。
次に、擬似乱数生成アルゴリズムの変更がある場合は、ST411において、擬似乱数生成情報同期部110が、他の擬似乱数生成装置100から受信した擬似乱数生成情報130及び自装置の擬似乱数生成情報記録部103から読み出した擬似乱数生成情報130の擬似乱数生成アルゴリズムを擬似乱数生成情報入力部101から入力された更新用の擬似乱数生成アルゴリズムに更新する。
次に、ST412において、擬似乱数生成情報同期部110が通信部111を通じて、同期先となる擬似乱数生成装置100へ更新用の擬似乱数生成情報130を送信する。
Next, in ST406, the pseudo random number generation information synchronization unit 110 receives the pseudo random number generation information 130 received from the other pseudo random number generation device 100, the pseudo random number generation information 130 read from the pseudo random number generation information recording unit 103, and the pseudo random number. The number of devices for update input from the generation information input unit 101, the random number length, and the like are compared.
Next, when there is a change in the number of devices, in ST407, the pseudo random number generation information synchronization unit 110 receives the pseudo random number generation information 130 received from the other pseudo random number generation device 100 and the pseudo random number generation information recording unit 103 of the own device. The number of devices in the pseudo-random number generation information 130 read from is updated to the number of devices for update input from the pseudo-random number generation information input unit 101.
Next, when there is a change in the device ID of each pseudo-random number generation device 100, in ST408, the pseudo-random number generation information synchronization unit 110 receives the pseudo-random number generation information 130 received from another pseudo-random number generation device 100 and the own device. The device ID of the pseudo random number generation information 130 read from the pseudo random number generation information recording unit 103 is updated according to the number of devices for update input from the pseudo random number generation information input unit 101.
Next, when there is a change in the random number length, in ST409, the pseudo random number generation information synchronization unit 110 receives the pseudo random number generation information 130 received from another pseudo random number generation device 100 and the pseudo random number generation information recording unit 103 of the own device. The random number length of the pseudo random number generation information 130 read out from is updated to the update random number length input from the pseudo random number generation information input unit 101.
Next, in ST410, the pseudo random number generation information synchronization unit 110 adds the pseudo random number generation information 130 received from the other pseudo random number generation device 100 and the pseudo random number generation information 130 read from the pseudo random number generation information recording unit 103 of the own device. The longest generated random number length is selected from the generated generated random lengths, and the selected longest generated random number length is received from another pseudorandom number generation device 100 and the pseudorandom number generation of the own device The pseudorandom number generation information 130 read from the information recording unit 103 is written, and the generated random number length is updated.
Next, when there is a change in the pseudo-random number generation algorithm, in ST411, the pseudo-random number generation information synchronization unit 110 records the pseudo-random number generation information 130 received from the other pseudo-random number generation device 100 and the pseudo-random number generation information of its own device. The pseudorandom number generation algorithm of the pseudorandom number generation information 130 read from the unit 103 is updated to the update pseudorandom number generation algorithm input from the pseudorandom number generation information input unit 101.
Next, in ST412, the pseudorandom number generation information synchronization unit 110 transmits the update pseudorandom number generation information 130 to the pseudorandom number generation device 100 that is the synchronization destination via the communication unit 111.

次に、ST413において、擬似乱数生成情報同期部110が、自装置の更新前の生成済乱数長が最長であったかを判断し、最長であった場合には、ST418において、擬似乱数生成情報同期部110は擬似乱数生成情報記録部103に更新用の擬似乱数生成情報130を格納する。
他方、ST413において更新前の生成済乱数長が最長でなかった場合は、ST414において、擬似乱数生成部108が、最長の生成済乱数長と自装置の更新前の生成済乱数長の差分の擬似乱数133を順に生成する。
次に、ST415において、擬似乱数生成部108が、生成した擬似乱数133が擬似乱数記録部109に保管されているいずれかの擬似乱数(過去に生成された擬似乱数)と同じ値でないかを確認する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在している場合(ST416でYES)は、次の位置の擬似乱数を生成する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在していない場合(ST416でNO)は、ST417において、擬似乱数生成部108は、衝突確認のため、生成した擬似乱数133を全て擬似乱数記録部109に保管する。
そして、生成済乱数長の差分の擬似乱数133を全て擬似乱数記録部109に格納した後、ST418において、擬似乱数生成情報同期部110は擬似乱数生成情報記録部103に更新用の擬似乱数生成情報130を格納する。
Next, in ST413, the pseudo-random number generation information synchronization unit 110 determines whether the generated random number length before the update of the own device is the longest. If it is the longest, in ST418, the pseudo-random number generation information synchronization unit 110 stores pseudo-random number generation information 130 for update in the pseudo-random number generation information recording unit 103.
On the other hand, if the generated random number length before update is not the longest in ST413, in ST414, the pseudo random number generation unit 108 simulates the difference between the longest generated random number length and the generated random number length before updating its own device. Random numbers 133 are generated in order.
Next, in ST415, the pseudo random number generation unit 108 confirms whether the generated pseudo random number 133 is not the same value as any of the pseudo random numbers (pseudo random numbers generated in the past) stored in the pseudo random number recording unit 109. To do.
If a pseudo random number having the same value as the generated pseudo random number 133 exists in the pseudo random number recording unit 109 (YES in ST416), a pseudo random number at the next position is generated.
When the pseudo random number having the same value as the generated pseudo random number 133 does not exist in the pseudo random number recording unit 109 (NO in ST416), in ST417, the pseudo random number generating unit 108 generates the generated pseudo random number 133 for collision confirmation. Are all stored in the pseudo-random number recording unit 109.
After all the pseudo random numbers 133 of the generated random number length difference are stored in the pseudo random number recording unit 109, the pseudo random number generation information synchronization unit 110 in the pseudo random number generation information recording unit 103 updates the pseudo random number generation information in ST418. 130 is stored.

次に、図14及び図15を参照して、擬似乱数生成情報130の同期先となる擬似乱数生成装置100の擬似乱数生成情報同期処理を説明する。   Next, with reference to FIG. 14 and FIG. 15, the pseudo random number generation information synchronization processing of the pseudo random number generation device 100 that is the synchronization destination of the pseudo random number generation information 130 will be described.

図14のST200において、同期先の管理者120が乱数シード入出力部104からパスワード131を入力する。
次に、ST201において、乱数シード処理部105が乱数シード記録部106から暗号化した乱数シード132を読み出す。
次に、ST202において、乱数シード処理部105がパスワード131から鍵を生成し、鍵を使用して暗号化した乱数シード132を復号する。
暗号化した乱数シード132の復号に成功した場合(ST452でYES)は、ST453において、擬似乱数生成情報処理部102が擬似乱数生成情報記録部103から擬似乱数生成情報130を読み出す。
次に、ST454において、擬似乱数生成情報同期部110が、同期元の擬似乱数生成情報同期部110からの同期要求を通信部111を通じて受信したかを判断し、同期要求を受信した場合(ST454でYES)は、ST455において、擬似乱数生成情報同期部110が通信部111を通じて同期元となる他の擬似乱数生成装置100に対して現在の擬似乱数生成情報130を送信する。
次に、ST456において、擬似乱数生成情報同期部110が通信部111を通じて、同期元となる他の擬似乱数生成装置100から更新用の擬似乱数生成情報130を受信する。
In ST200 of FIG. 14, the synchronization-destination administrator 120 inputs the password 131 from the random number seed input / output unit 104.
Next, in ST201, the random number seed processing unit 105 reads the encrypted random number seed 132 from the random number seed recording unit 106.
Next, in ST202, the random number seed processing unit 105 generates a key from the password 131, and decrypts the random number seed 132 encrypted using the key.
If decryption of the encrypted random number seed 132 is successful (YES in ST452), the pseudorandom number generation information processing unit 102 reads the pseudorandom number generation information 130 from the pseudorandom number generation information recording unit 103 in ST453.
Next, in ST454, pseudo-random number generation information synchronization section 110 determines whether or not the synchronization request from synchronization source pseudo-random number generation information synchronization section 110 has been received through communication section 111, and if a synchronization request has been received (in ST454) YES), in ST455, the pseudo-random number generation information synchronization unit 110 transmits the current pseudo-random number generation information 130 to the other pseudo-random number generation device 100 serving as the synchronization source through the communication unit 111.
Next, in ST456, the pseudorandom number generation information synchronization unit 110 receives the update pseudorandom number generation information 130 from the other pseudorandom number generation device 100 serving as the synchronization source through the communication unit 111.

次に、ST457において、擬似乱数生成情報同期部110は、更新用の擬似乱数生成情報130に示されている生成済乱数長と自装置の更新前の生成済乱数長とを比較し、更新用の擬似乱数生成情報130に示されている生成済乱数長と自装置の更新前の生成済乱数長が同じである場合、すなわち、自装置の更新前の生成済乱数長が最長であった場合(ST457でNO)には、ST462において、擬似乱数生成情報同期部110は擬似乱数生成情報記録部103に更新用の擬似乱数生成情報130を格納する。
他方、ST457において自装置の更新前の生成済乱数長が最長でなかった場合(ST457でYES)は、ST458において、擬似乱数生成部108が、更新用の擬似乱数生成情報130に示される生成済乱数長と自装置の更新前の生成済乱数長の差分の擬似乱数133を順に生成する。
次に、ST459において、擬似乱数生成部108が、生成した擬似乱数133が擬似乱数記録部109に保管されているいずれかの擬似乱数(過去に生成された擬似乱数)と同じ値でないかを確認する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在している場合(ST460でYES)は、次の位置の擬似乱数を生成する。
生成した擬似乱数133と同じ値の擬似乱数が擬似乱数記録部109に存在していない場合(ST460でNO)は、ST461において、擬似乱数生成部108は、衝突確認のため、生成した擬似乱数133を全て擬似乱数記録部109に保管する。
そして、生成済乱数長の差分の擬似乱数133を全て擬似乱数記録部109に格納した後、ST462において、擬似乱数生成情報同期部110は擬似乱数生成情報記録部103に更新用の擬似乱数生成情報130を格納する。
Next, in ST457, the pseudo-random number generation information synchronization unit 110 compares the generated random number length indicated in the update pseudo-random number generation information 130 with the generated random number length before updating itself, and When the generated random number length indicated in the pseudo-random number generation information 130 is the same as the generated random number length before updating the own device, that is, when the generated random length length before updating the own device is the longest. In (NO in ST457), in ST462, the pseudorandom number generation information synchronization unit 110 stores the pseudorandom number generation information 130 for update in the pseudorandom number generation information recording unit 103.
On the other hand, if the generated random number length before the update of the own device is not the longest in ST457 (YES in ST457), the pseudorandom number generation unit 108 has generated the information indicated in the update pseudorandom number generation information 130 in ST458. A pseudo-random number 133 of the difference between the random number length and the generated random number length before update of the own device is sequentially generated.
Next, in ST459, the pseudo random number generation unit 108 checks whether the generated pseudo random number 133 is the same value as any of the pseudo random numbers (pseudo random numbers generated in the past) stored in the pseudo random number recording unit 109 To do.
When a pseudo random number having the same value as the generated pseudo random number 133 exists in the pseudo random number recording unit 109 (YES in ST460), a pseudo random number at the next position is generated.
When the pseudo random number having the same value as the generated pseudo random number 133 does not exist in the pseudo random number recording unit 109 (NO in ST460), in ST461, the pseudo random number generating unit 108 generates the generated pseudo random number 133 for collision confirmation. Are all stored in the pseudo-random number recording unit 109.
After all the pseudo random numbers 133 of the generated random number length difference are stored in the pseudo random number recording unit 109, in ST462, the pseudo random number generation information synchronization unit 110 stores the pseudo random number generation information for update in the pseudo random number generation information recording unit 103. 130 is stored.

このように、本実施の形態では、任意の時期に擬似乱数生成に必要となる設定情報を同期できるため、擬似乱数生成装置の装置数の変更や一度に生成する乱数長の変更、擬似乱数生成アルゴリズムの変更を容易に実現できるという効果が得られる。   As described above, in the present embodiment, setting information necessary for generating pseudo-random numbers can be synchronized at any time, so the number of pseudo-random number generators can be changed, the length of random numbers generated at one time, or pseudo-random number generation It is possible to easily change the algorithm.

以上、本実施の形態では、擬似乱数を生成する擬似乱数生成装置は、任意の時期に擬似乱数生成情報を複数の擬似乱数生成装置間で同期する擬似乱数生成情報同期処理手段を持つことを説明した。   As described above, in the present embodiment, the pseudo-random number generation device that generates pseudo-random numbers has a pseudo-random number generation information synchronization processing unit that synchronizes pseudo-random number generation information among a plurality of pseudo-random number generation devices at an arbitrary time. did.

最後に、実施の形態1、2に示した擬似乱数生成装置100のハードウェア構成例について説明する。
図17は、実施の形態1、2に示す擬似乱数生成装置100のハードウェア資源の一例を示す図である。
なお、図17の構成は、あくまでも擬似乱数生成装置100のハードウェア構成の一例を示すものであり、擬似乱数生成装置100のハードウェア構成は図17に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the pseudorandom number generation device 100 shown in the first and second embodiments will be described.
FIG. 17 is a diagram illustrating an example of hardware resources of the pseudorandom number generation device 100 illustrated in the first and second embodiments.
Note that the configuration in FIG. 17 is merely an example of the hardware configuration of the pseudorandom number generation device 100, and the hardware configuration of the pseudorandom number generation device 100 is not limited to the configuration described in FIG. There may be.

図17において、擬似乱数生成装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 17, the pseudorandom number generation device 100 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。   As shown in FIG. 1, the communication board 915 is connected to a network. For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
擬似乱数生成装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the pseudo random number generation device 100 is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1、2の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores programs that execute the functions described as “˜unit” and “˜means” in the description of the first and second embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1、2の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の暗号化」、「〜の復号」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1、2で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the description of the first and second embodiments, the file group 924 includes “determination of”, “calculation of”, “comparison of”, “encryption of”, “decryption of”, “ Information, data, signal values, variable values, and parameters indicating the results of the processing described as "update", "setting of", "registration of", "selection of", etc. ~ "Database" is stored as each item.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
The arrows in the flowcharts described in the first and second embodiments mainly indicate input / output of data and signals. The data and signal values are the memory of the RAM 914, the flexible disk of the FDD904, the compact disk of the CDD905, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1、2の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1、2の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態1、2の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。   In addition, in the description of the first and second embodiments, what is described as “to part” and “to means” may be “to circuit”, “to device”, and “to device”. It may be “˜step”, “˜procedure”, “˜processing”. That is, what is described as “˜unit” and “˜means” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. In other words, the program causes the computer to function as “to unit” and “to means” in the first and second embodiments. Alternatively, the procedures and methods of “˜unit” and “˜means” of the first and second embodiments are executed by a computer.

このように、実施の形態1、2に示す擬似乱数生成装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the pseudo random number generation device 100 shown in the first and second embodiments includes a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, and a display device as an output device, A computer including a communication board and the like, and as described above, functions indicated as “˜unit” and “˜means” are realized by using these processing devices, storage devices, input devices, and output devices.

実施の形態1に係る鍵生成システムの全体構成例を示す図。1 is a diagram illustrating an example of the overall configuration of a key generation system according to Embodiment 1. FIG. 実施の形態1に係る擬似乱数生成情報の例を示す図。FIG. 4 shows an example of pseudorandom number generation information according to the first embodiment. 実施の形態1に係る擬似乱数振り分け方法を説明する図。FIG. 4 is a diagram for explaining a pseudo-random number distribution method according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a pseudo random number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の初期処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of initial processing of the pseudorandom number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の初期処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of initial processing of the pseudorandom number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of random number generation processing of the pseudorandom number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of random number generation processing of the pseudorandom number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。FIG. 3 is a flowchart showing an example of random number generation processing of the pseudorandom number generation device according to the first embodiment. 実施の形態1に係る擬似乱数生成装置の終了要求処理の例を示すフローチャート図。FIG. 4 is a flowchart showing an example of termination request processing of the pseudorandom number generation device according to the first embodiment. 実施の形態2に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。The flowchart figure which shows the example of the pseudorandom number generation information synchronous process of the pseudorandom number generation apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。The flowchart figure which shows the example of the pseudorandom number generation information synchronous process of the pseudorandom number generation apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。The flowchart figure which shows the example of the pseudorandom number generation information synchronous process of the pseudorandom number generation apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。The flowchart figure which shows the example of the pseudorandom number generation information synchronous process of the pseudorandom number generation apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。The flowchart figure which shows the example of the pseudorandom number generation information synchronous process of the pseudorandom number generation apparatus which concerns on Embodiment 2. FIG. 実施の形態2に係る擬似乱数生成装置の構成例を示す図。FIG. 4 is a diagram illustrating a configuration example of a pseudo random number generation device according to a second embodiment. 実施の形態1、2に係る擬似乱数生成装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the pseudorandom number generation apparatus which concerns on Embodiment 1,2.

符号の説明Explanation of symbols

100 擬似乱数生成装置、101 擬似乱数生成情報入力部、102 擬似乱数生成情報処理部、103 擬似乱数生成情報記録部、104 乱数シード入出力部、105 乱数シード処理部、106 乱数シード記録部、107 擬似乱数出力部、108 擬似乱数生成部、109 擬似乱数記録部、110 擬似乱数生成情報同期部、111 通信部、120 管理者、131 パスワード、132 乱数シード、133 擬似乱数、200 鍵生成装置、300 鍵、400 データ通信路。   DESCRIPTION OF SYMBOLS 100 Pseudorandom number generation apparatus, 101 Pseudorandom number generation information input part, 102 Pseudorandom number generation information processing part, 103 Pseudorandom number generation information recording part, 104 Random number seed input / output part, 105 Random number seed processing part, 106 Random number seed recording part, 107 Pseudorandom number output unit, 108 pseudorandom number generation unit, 109 pseudorandom number recording unit, 110 pseudorandom number generation information synchronization unit, 111 communication unit, 120 administrator, 131 password, 132 random number seed, 133 pseudorandom number, 200 key generation device, 300 Key, 400 data communication path.

Claims (15)

擬似乱数を生成する擬似乱数生成装置であって、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする擬似乱数生成装置。
A pseudo-random number generator for generating pseudo-random numbers,
A random number seed value recording unit for recording a random number seed value common to other pseudo-random number generation devices;
A random number generation algorithm common to other pseudo random number generation devices, a random data length common to other pseudo random number generation devices, and an assigned random number specifying value for specifying an assigned pseudo random number assigned to the own device are indicated. A pseudo-random number generation information recording unit for recording pseudo-random number generation information;
Using the random number seed value, the random number generation algorithm sequentially generates pseudo random numbers corresponding to the random data length, and the generated pseudo random numbers are assigned with the generation order corresponding to the assigned random number specific value. A pseudo-random number generation device comprising a pseudo-random number generation unit that extracts a pseudo-random number.
前記擬似乱数生成部は、
他の擬似乱数生成装置における擬似乱数の生成から独立して、前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項1に記載の擬似乱数生成装置。
The pseudo-random number generator is
Independently from the generation of pseudo-random numbers in other pseudo-random number generation devices, pseudo-random numbers corresponding to the random data length are sequentially generated, and the generated pseudo-random numbers have a generation order corresponding to the assigned random number specific value. The pseudo random number generation device according to claim 1, wherein the pseudo random number is extracted as the assigned pseudo random number.
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有し、
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を除外して、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項1又は2のいずれかに記載の擬似乱数生成装置。
The pseudorandom number generator further includes:
A pseudo random number recording unit that records the pseudo random number generated by the pseudo random number generation unit;
The pseudo-random number generator is
Each time a pseudo-random number is generated, it is determined whether the generated pseudo-random number matches one of the recorded pseudo-random numbers recorded in the pseudo-random number recording unit, and the generated pseudo-random number is one of the recorded pseudo-random numbers. The pseudorandom numbers that match the recorded pseudorandom numbers are excluded, and the generated pseudorandom numbers corresponding to the assigned random number specific value are extracted from the generated pseudorandom numbers as the allocated pseudorandom numbers. The pseudo-random number generation device according to claim 1, wherein the pseudo-random number generation device is provided.
前記擬似乱数記録部は、
前記擬似乱数生成部により記録擬似乱数に一致するとして除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項3に記載の擬似乱数生成装置。
The pseudo random number recording unit
The pseudo-random number generated by the pseudo-random number generator is recorded by excluding the pseudo-random number that is excluded as being coincident with the recorded pseudo-random number by the pseudo-random number generator. Generator.
前記擬似乱数生成装置は、
共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長分の擬似乱数を順次生成するN個(N≧2)の擬似乱数生成装置で構成される擬似乱数生成グループに属し、
前記擬似乱数生成情報記録部は、
前記割当て乱数特定値として、前記擬似乱数生成グループに属する擬似乱数生成装置の装置数Nが示される擬似乱数生成情報を記録し、
前記擬似乱数生成部は、
前記乱数データ長分のN個の擬似乱数を順次生成し、N個の擬似乱数のうちN番目に生成された擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項1〜4のいずれかに記載の擬似乱数生成装置。
The pseudo-random number generator is
It belongs to a pseudo-random number generation group composed of N (N ≧ 2) pseudo-random number generators that sequentially generate pseudo-random numbers for a common random number data length using a common random number generation algorithm using a common random number seed value. ,
The pseudo-random number generation information recording unit
As the assigned random number specific value, record pseudo random number generation information indicating the number N of pseudo random number generation devices belonging to the pseudo random number generation group,
The pseudo-random number generator is
5. The pseudorandom numbers generated in order for the random number data length are sequentially generated, and the Nth generated pseudorandom number among the N pseudorandom numbers is extracted as the assigned pseudorandom number. The pseudorandom number generation device according to any one of the above.
前記擬似乱数生成装置は、
共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長分の擬似乱数を順次生成するN個(N≧2)の擬似乱数生成装置で構成される擬似乱数生成グループに属し、
前記擬似乱数生成情報記録部は、
前記擬似乱数生成グループに属する擬似乱数生成装置の装置数Nが示されるとともに、前記割当て乱数特定値として、N個の擬似乱数生成装置における自装置の順位m(1≦m≦N)が示される擬似乱数生成情報を記録し、
前記擬似乱数生成部は、
前記乱数データ長分のN個の擬似乱数を順次生成し、N個の擬似乱数のうちm番目に生成された擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項1〜4のいずれかに記載の擬似乱数生成装置。
The pseudo-random number generator is
It belongs to a pseudo-random number generation group composed of N (N ≧ 2) pseudo-random number generators that sequentially generate pseudo-random numbers for a common random number data length using a common random number generation algorithm using a common random number seed value. ,
The pseudo-random number generation information recording unit
The number N of pseudo random number generation devices belonging to the pseudo random number generation group is indicated, and the rank m (1 ≦ m ≦ N) of the own device in N pseudo random number generation devices is indicated as the assigned random number specific value. Record pseudo-random number generation information,
The pseudo-random number generator is
5. The pseudo random numbers generated in order for the random number data length are sequentially generated, and the m-th pseudo random number generated among the N pseudo random numbers is extracted as the assigned pseudo random number. The pseudorandom number generation device according to any one of the above.
前記擬似乱数生成装置は、更に、
他の擬似乱数生成装置から、他の擬似乱数生成装置にて記憶されている他の擬似乱数生成情報を受信し、受信した他の擬似乱数生成情報に示されている乱数データ長及び割当て乱数特定値の少なくともいずれかを更新し、前記乱数生成情報記録部に記録されている自装置の擬似乱数生成情報に示されている乱数データ長及び割当て乱数特定値の少なくともいずれかを更新し、更新後の他の擬似乱数生成情報を他の擬似乱数生成装置に送信する擬似乱数生成情報同期部を有することを特徴とする請求項1〜6のいずれかに記載の擬似乱数生成装置。
The pseudorandom number generator further includes:
Other pseudo random number generation information stored in other pseudo random number generation devices is received from other pseudo random number generation devices, and the random number data length and assigned random number specified in the received other pseudo random number generation information are specified. Update at least one of the values, update at least one of the random number data length and the assigned random number specific value indicated in the pseudo random number generation information of the own device recorded in the random number generation information recording unit, and after the update The pseudorandom number generation device according to claim 1, further comprising a pseudorandom number generation information synchronization unit that transmits other pseudorandom number generation information to another pseudorandom number generation device.
前記擬似乱数生成情報記録部は、
前記擬似乱数生成部により生成された擬似乱数の生成済みデータ総量が示される擬似乱数生成情報を記録し、
前記擬似乱数生成情報同期部は、
他の擬似乱数生成装置から、他の擬似乱数生成装置にて記憶されている他の擬似乱数生成情報を受信し、受信した他の擬似乱数生成情報に示されている擬似乱数の生成済みデータ総量及び前記乱数生成情報記録部に記録されている自装置の擬似乱数生成情報に示されている擬似乱数の生成済みデータ総量のうちで最大の生成済みデータ総量に一致させるように他の擬似乱数生成情報及び自装置の擬似乱数生成情報の擬似乱数の生成済みデータ総量を更新し、更新後の他の擬似乱数生成情報を他の擬似乱数生成装置に送信することを特徴とする請求項7に記載の擬似乱数生成装置。
The pseudo-random number generation information recording unit
Record pseudo-random number generation information indicating the total amount of generated pseudo-random numbers generated by the pseudo-random number generator,
The pseudo-random number generation information synchronization unit
The other pseudo random number generation information stored in the other pseudo random number generation device is received from another pseudo random number generation device, and the total amount of generated pseudo random numbers shown in the received other pseudo random number generation information And another pseudo-random number generation so as to match the maximum generated data total amount among the pseudo-random number generated data total amount shown in the pseudo-random number generation information of the own device recorded in the random number generation information recording unit The pseudo-random number generated data total amount of the information and the pseudo-random number generation information of the own device is updated, and other updated pseudo-random number generation information is transmitted to another pseudo-random number generation device. Pseudo random number generator.
前記擬似乱数生成部は、
前記擬似乱数生成情報同期部により擬似乱数生成情報の更新に用いられた最大の生成済みデータ総量が自装置の擬似乱数生成情報に示されている生成済みデータ総量でない場合に、自装置の擬似乱数生成情報に示されている生成済みデータ総量と最大の生成済みデータ総量の差分の擬似乱数を生成し、
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有することを特徴とする請求項8に記載の擬似乱数生成装置。
The pseudo-random number generator is
When the maximum generated data total amount used for updating the pseudo random number generation information by the pseudo random number generation information synchronization unit is not the generated data total amount indicated in the pseudo random number generation information of the own device, the pseudo random number of the own device Generate a pseudo-random number of the difference between the generated data total amount shown in the generation information and the maximum generated data total amount,
The pseudorandom number generator further includes:
The pseudorandom number generation device according to claim 8, further comprising a pseudorandom number recording unit that records the pseudorandom number generated by the pseudorandom number generation unit.
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を前記擬似乱数記録部の記録対象から除外し、
前記擬似乱数生成部により記録対象から除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項9に記載の擬似乱数生成装置。
The pseudo-random number generator is
Each time a pseudo-random number is generated, it is determined whether the generated pseudo-random number matches one of the recorded pseudo-random numbers recorded in the pseudo-random number recording unit, and the generated pseudo-random number is one of the recorded pseudo-random numbers. , The pseudorandom number that matches the recorded pseudorandom number is excluded from the recording target of the pseudorandom number recording unit,
The pseudo-random number generation device according to claim 9, wherein the pseudo-random number generated by the pseudo-random number generation unit is recorded by excluding the pseudo-random number excluded from the recording target by the pseudo-random number generation unit.
前記擬似乱数生成情報記録部は、
前記擬似乱数生成部により生成された擬似乱数の生成済みデータ総量が示される擬似乱数生成情報を記録し、
前記擬似乱数生成装置は、更に、
他の擬似乱数生成装置からの要求に応じて、前記乱数生成情報記録部に記録されている擬似乱数生成情報を他の擬似乱数生成装置に送信し、他の擬似乱数生成装置にて更新された更新後の擬似乱数生成情報を受信する擬似乱数生成情報同期部を有し、
前記擬似乱数生成部は、
前記擬似乱数生成情報同期部により受信された更新後の擬似乱数生成情報に示される更新後の生成済みデータ総量が更新前の擬似乱数生成情報に示されている更新前の生成済みデータ総量を上回っている場合に、更新前の生成済みデータ総量と更新後の生成済みデータ総量との差分の擬似乱数を生成し、
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有することを特徴とする請求項1〜6に記載の擬似乱数生成装置。
The pseudo-random number generation information recording unit
Record pseudo-random number generation information indicating the total amount of generated pseudo-random numbers generated by the pseudo-random number generator,
The pseudorandom number generator further includes:
In response to a request from another pseudo-random number generation device, the pseudo-random number generation information recorded in the random number generation information recording unit is transmitted to the other pseudo-random number generation device and updated by the other pseudo-random number generation device. Having a pseudo-random number generation information synchronization unit for receiving the updated pseudo-random number generation information,
The pseudo-random number generator is
The updated generated data total amount indicated in the updated pseudo random number generation information received by the pseudo random number generation information synchronization unit exceeds the generated data total amount before update indicated in the pre-update pseudo random number generation information. Generate a pseudo-random number of the difference between the total amount of generated data before update and the total amount of generated data after update,
The pseudorandom number generator further includes:
The pseudo-random number generation device according to claim 1, further comprising a pseudo-random number recording unit that records the pseudo-random number generated by the pseudo-random number generation unit.
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を前記擬似乱数記録部の記録対象から除外し、
前記擬似乱数生成部により記録対象から除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項11に記載の擬似乱数生成装置。
The pseudo-random number generator is
Each time a pseudo-random number is generated, it is determined whether the generated pseudo-random number matches one of the recorded pseudo-random numbers recorded in the pseudo-random number recording unit, and the generated pseudo-random number is one of the recorded pseudo-random numbers. , The pseudorandom number that matches the recorded pseudorandom number is excluded from the recording target of the pseudorandom number recording unit,
12. The pseudo-random number generation device according to claim 11, wherein the pseudo-random number generated by the pseudo-random number generation unit is recorded by excluding the pseudo-random number excluded from the recording target by the pseudo-random number generation unit.
擬似乱数を生成する複数の擬似乱数生成装置が含まれる情報処理システムであって、
各擬似乱数生成装置は、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする情報処理システム。
An information processing system including a plurality of pseudo-random number generators that generate pseudo-random numbers,
Each pseudo-random number generator is
A random number seed value recording unit for recording a random number seed value common to other pseudo-random number generation devices;
A random number generation algorithm common to other pseudo random number generation devices, a random data length common to other pseudo random number generation devices, and an assigned random number specifying value for specifying an assigned pseudo random number assigned to the own device are indicated. A pseudo-random number generation information recording unit for recording pseudo-random number generation information;
Using the random number seed value, the random number generation algorithm sequentially generates pseudo random numbers corresponding to the random data length, and the generated pseudo random numbers are assigned with the generation order corresponding to the assigned random number specific value. What is claimed is: 1. An information processing system comprising: a pseudo random number generation unit that extracts a pseudo random number.
各擬似乱数生成装置において、
前記擬似乱数生成部は、
他の擬似乱数生成装置における擬似乱数の生成から独立して、前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項13に記載の情報処理システム。
In each pseudorandom number generator,
The pseudo-random number generator is
Independently from the generation of pseudo-random numbers in other pseudo-random number generation devices, pseudo-random numbers corresponding to the random data length are sequentially generated, and the generated pseudo-random numbers have a generation order corresponding to the assigned random number specific value. The information processing system according to claim 13, wherein the information is extracted as the assigned pseudorandom number.
擬似乱数を生成するコンピュータである擬似乱数生成装置に、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部から、前記乱数シード値を取得する乱数シード値取得処理と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を参照する擬似乱数生成情報参照処理と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成処理とを実行させることを特徴とするプログラム。
In a pseudo random number generator that is a computer that generates pseudo random numbers,
A random number seed value acquisition process for acquiring the random number seed value from a random number seed value recording unit that records a random number seed value common to other pseudo-random number generation devices;
A random number generation algorithm common to other pseudo random number generation devices, a random data length common to other pseudo random number generation devices, and an assigned random number specifying value for specifying an assigned pseudo random number assigned to the own device are indicated. Pseudo-random number generation information reference processing for referring to pseudo-random number generation information;
Using the random number seed value, the random number generation algorithm sequentially generates pseudo random numbers corresponding to the random data length, and the generated pseudo random numbers are assigned with the generation order corresponding to the assigned random number specific value. A program for executing a pseudo-random number generation process for extracting as a pseudo-random number.
JP2007327076A 2007-12-19 2007-12-19 Pseudo random number generator, information processing system and program Pending JP2009151429A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007327076A JP2009151429A (en) 2007-12-19 2007-12-19 Pseudo random number generator, information processing system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007327076A JP2009151429A (en) 2007-12-19 2007-12-19 Pseudo random number generator, information processing system and program

Publications (1)

Publication Number Publication Date
JP2009151429A true JP2009151429A (en) 2009-07-09

Family

ID=40920544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007327076A Pending JP2009151429A (en) 2007-12-19 2007-12-19 Pseudo random number generator, information processing system and program

Country Status (1)

Country Link
JP (1) JP2009151429A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046185A2 (en) 2011-09-30 2013-04-04 Nokia Siemens Networks Oy Fault management traffic reduction in heterogeneous networks
JP2020024520A (en) * 2018-08-06 2020-02-13 日本放送協会 Subjective evaluation device and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046185A2 (en) 2011-09-30 2013-04-04 Nokia Siemens Networks Oy Fault management traffic reduction in heterogeneous networks
US20130083669A1 (en) * 2011-09-30 2013-04-04 Nokia Siemens Networks Corporation Oy Fault management traffic reduction in heterogeneous networks
EP2761457A4 (en) * 2011-09-30 2015-08-05 Nokia Solutions & Networks Oy Fault management traffic reduction in heterogeneous networks
US9538402B2 (en) * 2011-09-30 2017-01-03 Nokia Solutions And Networks Oy Fault management traffic reduction in heterogeneous networks
JP2020024520A (en) * 2018-08-06 2020-02-13 日本放送協会 Subjective evaluation device and program
JP7084817B2 (en) 2018-08-06 2022-06-15 日本放送協会 Subjective evaluation device and program

Similar Documents

Publication Publication Date Title
CN1592877B (en) Method and device for encryption/decryption of data on mass storage device
JP3810425B2 (en) Falsification detection data generation method, and falsification detection method and apparatus
KR101324825B1 (en) Message authentication code pre-computation with applications to secure memory
JP4801059B2 (en) Method, system and security means for data archiving with automatic encryption and decryption by key fragmentation
US7929692B2 (en) Firmware encrypting and decrypting method and an apparatus using the same
US8555059B2 (en) Secure local update of content management software
JP5648209B2 (en) Storage system having encryption key selection device and encryption key selection method
CN102750233B (en) Encryption and storage confidential data
EP2482221A1 (en) Secure software updates
US11030119B2 (en) Storage data encryption and decryption apparatus and method
US20030084308A1 (en) Memory encryption
US20080285747A1 (en) Encryption-based security protection method for processor and apparatus thereof
JP4606421B2 (en) Key information generation method and apparatus, key information update method, falsification detection method and apparatus, and data structure of key information
EP1374063A2 (en) Method and apparatus for automatic database encryption
AU2002213436A1 (en) Method and apparatus for automatic database encryption
US20100070778A1 (en) Secure file encryption
JP2010028485A (en) Information processing apparatus, authentication method, and storage medium
EP3326296B1 (en) Wireless access tag duplication system and method
KR102244290B1 (en) Encryption communication apparatus that supports secure communication between a data transmitting apparatus and a data receiving apparatus, and the operating method thereof
US20100061550A1 (en) Data processing apparatus
JP5388727B2 (en) Information processing system, information processing apparatus, server apparatus, information processing method, and program
JP2009080772A (en) Software starting system, software starting method and software starting program
JP2009151429A (en) Pseudo random number generator, information processing system and program
JPH104403A (en) Encryption device, decode device and method therefor
US20060230463A1 (en) Method, apparatus, and computer program product for controlling copying and playback of digital data