JP4689539B2 - Data processing apparatus and method - Google Patents

Data processing apparatus and method Download PDF

Info

Publication number
JP4689539B2
JP4689539B2 JP2006153985A JP2006153985A JP4689539B2 JP 4689539 B2 JP4689539 B2 JP 4689539B2 JP 2006153985 A JP2006153985 A JP 2006153985A JP 2006153985 A JP2006153985 A JP 2006153985A JP 4689539 B2 JP4689539 B2 JP 4689539B2
Authority
JP
Japan
Prior art keywords
data processing
data
seed
random number
generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006153985A
Other languages
Japanese (ja)
Other versions
JP2007323442A (en
Inventor
学 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006153985A priority Critical patent/JP4689539B2/en
Publication of JP2007323442A publication Critical patent/JP2007323442A/en
Application granted granted Critical
Publication of JP4689539B2 publication Critical patent/JP4689539B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、乱数生成用のシードを生成するデータ処理に関する。   The present invention relates to data processing for generating a seed for generating random numbers.

インターネットの普及に伴い、様々なデータがネットワークを経由してやり取りされている。そのため、データ通信のセキュリティに対する関心が高まり、暗号処理技術が一般に知られるようになった。   With the spread of the Internet, various data are exchanged via the network. As a result, interest in data communication security has increased, and cryptographic processing techniques have become generally known.

共通鍵暗号を用いたり、共通鍵を共有するために公開鍵暗号を用いたデータ通信が行われている。鍵の生成には、乱数が用いられ、乱数生成技術は不可欠である。   Data communication using public key cryptography is performed in order to use common key cryptography or to share a common key. Random numbers are used for key generation, and random number generation techniques are indispensable.

乱数は、シミュレーションやゲームなど応用範囲が広いが、近年はセキュリティの目的で乱数を使用する機会が増えた。具体的には、暗号化に使用する鍵の生成、認証用メッセージの生成などに乱数が利用される。従って、外部から推測することができない安全な乱数(「高品質の乱数」と呼ぶ場合がある)を高速に生成して、安全な鍵を生成する必要がある。もし、乱数に規則性、周期性が存在する場合、その性質を利用して、攻撃者に乱数を推定される危惧がある。従って、乱数のシードには、偶然性、予測不可能性、非再現性が必要である。   Random numbers have a wide range of applications, such as simulations and games, but in recent years there have been more opportunities to use random numbers for security purposes. Specifically, a random number is used for generating a key used for encryption, generating an authentication message, and the like. Therefore, it is necessary to generate a secure key by generating a secure random number (sometimes referred to as “high quality random number”) that cannot be estimated from the outside at high speed. If the random number has regularity and periodicity, there is a risk that the attacker may use it to estimate the random number. Therefore, randomness seeds must be random, unpredictable, and non-reproducible.

乱数の生成方法として、自然界の物理現象に基づき乱数を生成する物理乱数生成方式と、所定のアルゴリズムを用いる数学的な演算により乱数を生成する擬似乱数生成方式が存在する。   As a random number generation method, there are a physical random number generation method for generating a random number based on a physical phenomenon in nature and a pseudo-random number generation method for generating a random number by a mathematical operation using a predetermined algorithm.

物理乱数生成方式は、熱雑音や発振回路を利用する方式、あるいは、通信パケットの遅延時間の揺らぎやハードディスクのシークタイムの揺らぎなどを利用する方式などがある。このようにして生成された乱数は、数学的に真性乱数に近い乱数になる。しかし、この物理乱数生成方式は、特別な回路など専用の部品・機構を必要とし、一般に、回路規模の大型化を招く。また、実用化の実績が乏しい。   The physical random number generation method includes a method using thermal noise or an oscillation circuit, or a method using fluctuations in delay time of communication packets or fluctuations in seek time of hard disks. The random number generated in this way is a random number that is mathematically close to a true random number. However, this physical random number generation method requires special parts / mechanisms such as a special circuit, and generally increases the circuit scale. Moreover, the track record of practical use is poor.

一方、擬似乱数生成方式は、ある長さのシード(種)を基に、所定のアルゴリズムに基づく演算によって乱数を生成する。擬似乱数生成方式による生成物の非再現性を高めるには、主に質の高い攪拌関数を用いるのが一般的である。攪拌関数としてはハッシュ関数や共通鍵暗号などがある。また、シードを取得する方法として、時刻やシリアル番号などを利用する方式、外部イベントとしてのキーボード入力またはマウス操作を利用する方式、あるいは、移動端末の固有の情報を利用する方式(特許文献1参照)などが知られている。   On the other hand, the pseudo random number generation method generates a random number by a calculation based on a predetermined algorithm based on a seed having a certain length. In order to increase the non-reproducibility of the product by the pseudo random number generation method, it is common to use a high-quality stirring function. Examples of the agitation function include a hash function and a common key encryption. In addition, as a method for obtaining a seed, a method using time or serial number, a method using keyboard input or mouse operation as an external event, or a method using information unique to a mobile terminal (see Patent Document 1) ) Etc. are known.

しかし、擬似乱数生成方式において乱数を生成する演算は周知のアルゴリズムを利用するから、シードと攪拌関数を知った第三者は生成された乱数を再現することが可能である。また、シードの質が低いと生成した乱数には一様性(規則性)が出現し、予測が可能で、再現性もあり、偶然性に乏しい。このため、使用した乱数が推測される危惧があり、安全性に問題がある。つまり、擬似乱数生成方式の乱雑性はシードの乱雑性に大きく影響を受けるため、シードが予測できてはいけない。そこで、システムで得られる変動要素をシードに加味するのがよいとされる。また、一般に、シードのビット量が多いほど質の高い乱数ができると言われている。   However, since the calculation for generating random numbers in the pseudo-random number generation method uses a known algorithm, a third party who knows the seed and the stirring function can reproduce the generated random numbers. In addition, if the quality of the seed is low, the generated random numbers appear uniform (regularity), can be predicted, have reproducibility, and lack chance. For this reason, there is a concern that the used random number may be guessed, and there is a problem with safety. In other words, the randomness of the pseudo random number generation method is greatly affected by the randomness of the seed, so the seed must not be predicted. Therefore, it is recommended to add the variation factor obtained by the system to the seed. In general, it is said that the higher the seed bit amount, the higher the quality random number.

上述したシリアル番号を用いる方式はシードの推測が容易である。また、外部イベントを利用する方式は人的操作が頻繁に必要である。また、特許文献1の方式において変動する可能性が高いのは通信内容のみであるが、その内容には偏りがあると考えられる。言い替えれば、特許文献1の方式は変動要素が少なく、ハッシュが必須である。   The method using the serial number described above makes it easy to guess the seed. In addition, a method using an external event frequently requires human operation. Further, in the method of Patent Document 1, it is only communication contents that are highly likely to fluctuate, but it is considered that the contents are biased. In other words, the method of Patent Document 1 has few variable elements and a hash is essential.

特開2002-215030公報JP 2002-215030 JP

本発明は、エントロピが高いシード生成を目的とする。   The present invention is directed to seed production with high entropy.

本発明は、前記の目的を達成する一手段として、以下の構成を備える。   The present invention has the following configuration as one means for achieving the above object.

本発明にかかるデータ処理装置は、任意のデータに任意の処理を施すデータ処理手段と、前記データ処理手段からデータを取得し、前記取得したデータから乱数生成用のシードを生成するシード生成手段と、前記データ処理手段の動作状態情報を取得し、前記動作状態情報に基づき前記シード生成手段によるシード生成を制御する制御手段とを有し、前記制御手段は前記動作状態情報に基づき前記データ処理手段が出力するデータの重みを決定し、前記シード生成手段は前記重みに応じて前記データ処理手段のデータを取得することを特徴とする。 A data processing apparatus according to the present invention includes a data processing unit that performs arbitrary processing on arbitrary data, a seed generation unit that acquires data from the data processing unit, and generates a seed for generating random numbers from the acquired data. the data processing acquires operation state information of the device, have a control means for controlling the seed generation by the seed generation means based on said operating status information, said control means said data processing means based on the operation state information Is determined, and the seed generation unit acquires the data of the data processing unit according to the weight .

本発明にかかるデータ処理装置は、任意のデータに任意の処理を施すデータ処理手段を有するデータ処理装置のデータ処理方法であって、前記データ処理手段からデータを取得し、前記取得したデータから乱数生成用のシードを生成する生成ステップと、前記データ処理手段の動作状態情報を取得して、前記動作状態情報に基づき前記シード生成を制御する制御ステップとを有し、前記制御ステップは前記動作状態情報に基づき前記データ処理手段が出力するデータの重みを決定し、前記生成ステップは前記重みに応じて前記データ処理手段のデータを取得することを特徴とする。 A data processing apparatus according to the present invention is a data processing method of a data processing apparatus having data processing means for performing arbitrary processing on arbitrary data, wherein the data processing means acquires data from the data processing means, and generates random numbers from the acquired data A generation step of generating a seed for generation ; and a control step of acquiring operation state information of the data processing means and controlling the seed generation based on the operation state information, the control step including the operation state A weight of data output from the data processing means is determined based on the information, and the generation step acquires data of the data processing means according to the weight .

本発明によれば、エントロピが高いシード生成を実現することができる。そのため、乱雑な値のシードを生成して、良質な乱数を生成することができる。   According to the present invention, seed generation with high entropy can be realized. Therefore, it is possible to generate a random number of high quality by generating a random seed.

以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。   Hereinafter, information processing according to an embodiment of the present invention will be described in detail with reference to the drawings.

[装置の構成]
図1は実施例のデータ処理装置100の構成例を示すブロック図である。
[Device configuration]
FIG. 1 is a block diagram illustrating a configuration example of the data processing apparatus 100 according to the embodiment.

マイクロプロセッサ111は、例えばワンチップマイクロコントローラで、内蔵RAM をワークエリアとして、内蔵ROMなどに格納されたプログラムを実行し、システムバス109を介して後述する各構成を制御する。   The microprocessor 111 is, for example, a one-chip microcontroller, executes a program stored in a built-in ROM or the like using the built-in RAM as a work area, and controls each component described later via the system bus 109.

データ処理モジュール105としては、データの暗号化モジュール、認証用メッセージの生成モジュールなど、データ処理装置100のデータ処理に必要なモジュールが搭載される。   As the data processing module 105, modules necessary for data processing of the data processing apparatus 100 such as a data encryption module and an authentication message generation module are mounted.

乱数生成モジュール101は、制御部102、シード収集・加工部103および乱数系列生成部104を備え、本実施例における乱数生成処理を実行する。データ処理モジュール105と乱数生成モジュール101との間は、専用の信号線またはシステムバス109を利用して通信を行えばよい。   The random number generation module 101 includes a control unit 102, a seed collection / processing unit 103, and a random number sequence generation unit 104, and executes random number generation processing in the present embodiment. Communication may be performed between the data processing module 105 and the random number generation module 101 using a dedicated signal line or the system bus 109.

外部インタフェイス106は、例えばネットワークやUSBなどのシリアルバスを介して、データ処理装置100に外部装置107を接続するインタフェイスを提供する。なお、外部装置107としては暗号化や認証対象のデータを格納するストレージや、暗号化や認証処理を行うデータ処理装置が好適である。   The external interface 106 provides an interface for connecting the external device 107 to the data processing device 100 via a serial bus such as a network or USB. Note that the external device 107 is preferably a storage that stores data to be encrypted or authenticated, or a data processing device that performs encryption or authentication processing.

なお、乱数生成モジュール101が生成した乱数は、データ処理モジュール105の暗号化や認証に利用される。ただし、乱数生成モジュール101にデータを供給するデータ処理モジュール105は、乱数を利用するものに限られるわけではなく、任意のデータ処理モジュールを利用することができる。また、データ処理モジュール105は複数存在することが好ましいが、一つだけでもよい。   The random number generated by the random number generation module 101 is used for encryption and authentication of the data processing module 105. However, the data processing module 105 that supplies data to the random number generation module 101 is not limited to the one that uses random numbers, and any data processing module can be used. Further, although there are preferably a plurality of data processing modules 105, only one data processing module 105 may be provided.

[乱数生成モジュールの構成]
図2A、図2Bは乱数生成モジュール101の詳細な構成例を示すブロック図である。
[Configuration of random number generation module]
2A and 2B are block diagrams showing a detailed configuration example of the random number generation module 101. FIG.

図2Aは乱数系列生成部104が乱数生成部205のみをもつ構成を示し、シード収集・加工部103の出力は、乱数生成部205の入力であり、擬似乱数生成に必要なシードである。一方、図2Bは乱数系列生成部104が乱数生成部205、ランダムプール206および攪拌部207を備える構成を示す。この構成において、シード収集・加工部103の出力は、攪拌部207の入力であり、ランダムプール206を攪拌する素である。なお、シード収集・加工部103の出力からシード収集・加工部103の入力に戻る信号線は後述するフィードバック用の信号線である。   FIG. 2A shows a configuration in which the random number sequence generation unit 104 includes only the random number generation unit 205, and the output of the seed collection / processing unit 103 is an input of the random number generation unit 205, and is a seed necessary for pseudorandom number generation. On the other hand, FIG. 2B shows a configuration in which the random number sequence generation unit 104 includes a random number generation unit 205, a random pool 206, and a stirring unit 207. In this configuration, the output of the seed collection / processing unit 103 is an input of the stirring unit 207 and is a source for stirring the random pool 206. A signal line returning from the output of the seed collection / processing unit 103 to the input of the seed collection / processing unit 103 is a signal line for feedback described later.

●シード収集・加工部
図3はシード収集・加工部103の構成例を示すブロック図である。
Seed Collection / Processing Unit FIG. 3 is a block diagram illustrating a configuration example of the seed collection / processing unit 103.

データ収集部301は、詳細は後述するが、データ処理モジュール105が出力するデータそれぞれを制御部102が出力する重み係数ω1〜ωnに応じて重み付けする。データ合成部303は、重み付けされたデータを所定の方法で合成し、合成したデータをシードとしてを乱数系列生成部104に出力する。   As will be described in detail later, the data collection unit 301 weights each data output from the data processing module 105 according to the weighting coefficients ω1 to ωn output from the control unit 102. The data synthesis unit 303 synthesizes the weighted data by a predetermined method, and outputs the synthesized data to the random number sequence generation unit 104 as a seed.

データ合成部303のデータの合成方法には加算、排他的論理和、連結などを用いることができる。   As a data synthesis method of the data synthesis unit 303, addition, exclusive OR, concatenation, and the like can be used.

●制御部の動作
図4は制御部102の動作を説明するフローチャートである。
FIG. 4 is a flowchart for explaining the operation of the control unit 102.

制御部102は、シード収集・加工部103の実行要求イベントの発生を待つ(S100)。シード収集・加工部103が乱数系列生成部104から攪拌要求やシード要求を受信した場合、制御部102がデータ処理モジュール105や外部インタフェイス106から活性化を示す動作状況通知信号を受信した場合に、実行要求イベントが発生する。また、乱数系列生成部104がランダムプール206をもつ構成(図2B)の場合は、ランダムプール206内に残存するデータが少なくなった場合やランダムプール206が長時間放置された場合にも発生する。   The control unit 102 waits for the execution request event of the seed collection / processing unit 103 to occur (S100). When the seed collection / processing unit 103 receives an agitation request or seed request from the random number sequence generation unit 104, or when the control unit 102 receives an operation status notification signal indicating activation from the data processing module 105 or the external interface 106 An execution request event occurs. In addition, in the case where the random number sequence generation unit 104 has a random pool 206 (FIG. 2B), it also occurs when data remaining in the random pool 206 decreases or when the random pool 206 is left for a long time. .

実行要求イベントが発生すると、制御部102は、シード収集・加工部103に接続されたデータ処理モジュール105の活性化率を調査する(S101)。活性化率の調査は、例えば、定期的または不定期に、データ処理モジュール105ごとに、出力データをサンプリングし、サンプリングデータを微分することでデータの変化を検知すればよい。あるいは、データ処理モジュール105から活性化を示す信号を入力することで活性化率を調査する仕組みでもよい。   When the execution request event occurs, the control unit 102 investigates the activation rate of the data processing module 105 connected to the seed collection / processing unit 103 (S101). For the investigation of the activation rate, for example, the data change may be detected by sampling the output data and differentiating the sampling data for each data processing module 105 periodically or irregularly. Alternatively, the activation rate may be investigated by inputting a signal indicating activation from the data processing module 105.

次に、制御部102は、活性化率の調査結果に基づき、活性化したデータ処理モジュール105(以下「活性化モジュール」と呼ぶ)が存在するか否かを判定する(S102)。活性化モジュールが存在しない場合は、シード収集・加工部103に前回のシードの値をフィードバックさせるか、乱数系列生成部104にランダムプール206の攪拌を指示することで、活性化モジュールが存在しない状態を回避する(S105)。そして、処理をステップS100に戻す。   Next, the control unit 102 determines whether or not there is an activated data processing module 105 (hereinafter referred to as “activation module”) based on the investigation result of the activation rate (S102). When there is no activation module, the seed collection / processing unit 103 feeds back the previous seed value, or the random number generation unit 104 is instructed to agitate the random pool 206, so that the activation module does not exist Is avoided (S105). Then, the process returns to step S100.

一方、活性化モジュールが存在する場合、制御部102は、活性化率の調査結果に基づき、データ処理モジュール105それぞれに対する重み係数ωi (i=1-n)を決定する。さらに、データ処理モジュール105の動作状況通知信号108を取得し、所定の操作によりランク付けした動作状況通知信号108を制御パラメータとしてシード収集・加工部103へ出力する(S103)。なお、制御パラメータには、例えば動作状況通知信号108によって通知される活性化率やエントロピなどの指標を用いていもよい。   On the other hand, when the activation module exists, the control unit 102 determines the weighting coefficient ω i (i = 1−n) for each data processing module 105 based on the investigation result of the activation rate. Furthermore, the operation status notification signal 108 of the data processing module 105 is acquired, and the operation status notification signal 108 ranked by a predetermined operation is output as a control parameter to the seed collection / processing unit 103 (S103). For example, an index such as an activation rate or entropy notified by the operation status notification signal 108 may be used as the control parameter.

次に、制御部102は、シード収集・加工部103にデータの取得および合成、つまりシードの生成を指示し(S104)、処理をステップS100に戻す。この指示に従いシード収集・加工部103は、データ処理モジュール105から出力され、重み付したデータを所定の方法により合成して乱数系列生成部104に出力する。   Next, the control unit 102 instructs the seed collection / processing unit 103 to acquire and synthesize data, that is, generate a seed (S104), and returns the process to step S100. In accordance with this instruction, the seed collection / processing unit 103 synthesizes the weighted data output from the data processing module 105 by a predetermined method and outputs the synthesized data to the random number sequence generation unit 104.

[重み付け方法]
シード収集・加工部103は、制御部102から指示される重み係数ωiに応じて、各データ処理モジュール105に対するデータの取得回数を動的に変更することで、データの重み付けを実現する。なお、データの取得回数を動的変更の代わりに、データの取得時間の比率を動的に変更する、または、データの取得ビット数を動的に切り替えるなどでもよい。
[Weighting method]
The seed collection / processing unit 103 realizes weighting of data by dynamically changing the number of data acquisition times for each data processing module 105 in accordance with the weighting coefficient ω i instructed from the control unit 102. Instead of dynamically changing the number of data acquisitions, the data acquisition time ratio may be dynamically changed, or the number of data acquisition bits may be dynamically switched.

図5A、図5B、図5Cは実行要求イベントの発生時に活性化率を用いてデータ取得回数を動的に変更する方法を説明する図である。なお、図5Cに示すように、データ処理モジュール105としてモジュールA、B、Cの三つのモジュールが存在するとする。また、図5Aは横軸に時間、縦軸に各モジュールの活性化率を表現する図、図5Bは重み係数の実現例を説明する図である。   FIG. 5A, FIG. 5B, and FIG. 5C are diagrams for explaining a method of dynamically changing the number of data acquisition using an activation rate when an execution request event occurs. As shown in FIG. 5C, it is assumed that there are three modules A, B, and C as the data processing module 105. FIG. 5A is a diagram illustrating time on the horizontal axis and the activation rate of each module on the vertical axis, and FIG. 5B is a diagram illustrating an example of realizing weighting factors.

図5Aに示すように、時間t1で実行要求イベント1が発生した際のモジュールA、B、Cの活性化率は符号311、321、331で示される。これら活性化率の比率を100%積み上げ棒グラフで表すと図5Bのようになる。そして、この比率に基づき重み係数ωiを決定すると、実行要求イベント1の発生時のモジュールA、B、Cの重み係数ω1〜3はそれぞれ8、33、58になる。例えば60バイトのデータを取得すると仮定すると、モジュールAからは8/99×60=5回、モジュールBからは33/99×60=20回、モジュールCからは58/99×60=35回を取得することになる。つまり、モジュールA、B、Cからそれぞれ5、20、35バイトを取得する。   As shown in FIG. 5A, the activation rates of modules A, B, and C when execution request event 1 occurs at time t1 are indicated by reference numerals 311, 321, and 331. FIG. 5B shows the ratio of these activation rates as a 100% stacked bar graph. When the weighting factor ωi is determined based on this ratio, the weighting factors ω1 to ω3 of the modules A, B, and C when the execution request event 1 occurs are 8, 33, and 58, respectively. For example, assuming 60 bytes of data are acquired, 8/99 × 60 = 5 times from module A, 33/99 × 60 = 20 times from module B, and 58/99 × 60 = 35 times from module C. Will get. That is, 5, 20, and 35 bytes are acquired from modules A, B, and C, respectively.

実行要求イベント2〜4においても、上記と同様に活性化率の比率に応じてデータを取得する。従って、データ処理モジュール105の活性化率に応じてデータの取得が動的に変更され、取得したデータに基づき生成するシードの値をより乱雑にすることができる。その結果、乱数系列生成部104は、乱雑な値のシードに基づき、高品質な乱数を生成することができる。   Also in the execution request events 2 to 4, data is acquired according to the ratio of the activation rate in the same manner as described above. Therefore, the data acquisition is dynamically changed according to the activation rate of the data processing module 105, and the seed value generated based on the acquired data can be made more messy. As a result, the random number sequence generation unit 104 can generate a high-quality random number based on a random value seed.

なお、データ処理モジュール105が一つの場合、あるいは、複数のデータ処理モジュール105のうち一つの活性化率が極めて高い場合は、データの取得回数等を動的に変更することができない。このような場合は、制御部102において実在しないデータ処理モジュールに対応する例えば所定周期の変動をもつ擬似活性化率信号を生成し、データ処理モジュール105の活性化率信号と擬似活性化率信号により重み係数ωiを決定すればよい。   Note that when the number of data processing modules 105 is one, or when the activation rate of one of the plurality of data processing modules 105 is extremely high, the number of data acquisitions cannot be dynamically changed. In such a case, the control unit 102 generates a pseudo activation rate signal corresponding to a data processing module that does not actually exist, for example, having a predetermined cycle variation, and the data processing module 105 uses the activation rate signal and the pseudo activation rate signal. What is necessary is just to determine the weighting coefficient (omega) i.

以下、本発明にかかる実施例2の情報処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。   The information processing according to the second embodiment of the present invention will be described below. Note that the same reference numerals in the second embodiment denote the same parts as in the first embodiment, and a detailed description thereof will be omitted.

図6は実施例2のデータ処理装置100の構成例を示すブロック図である。   FIG. 6 is a block diagram illustrating a configuration example of the data processing apparatus 100 according to the second embodiment.

データ処理装置100は、データ処理モジュール105としてカメラ制御モジュール501、画像符号化モジュール502、暗号化モジュール503、メッセージダイジェスト(MD)生成モジュール504、その他データ処理モジュール505を有する。また、外部インタフェイス106としてストレージ510を接続するためのストレージインタフェイス509、ネットワークインタフェイス511を有する。   The data processing apparatus 100 includes a camera control module 501, an image encoding module 502, an encryption module 503, a message digest (MD) generation module 504, and other data processing modules 505 as data processing modules 105. In addition, the external interface 106 includes a storage interface 509 for connecting the storage 510 and a network interface 511.

画像符号化モジュール504が出力する符号データは、エントロピが高いことが知られている。ただし、ネットワークインタフェイス511を介して外部へ転送される符号データをシードの生成に用いれば、第三者に鍵を推測する手掛かりを与える可能性があり、好ましくない。一方、外部へ転送されない符号データは、符号化の性質上エントロピが高いためシードの生成に最適である。そこで、画像符号化モジュール504の符号化結果をシード生成用のデータに利用する。   It is known that the code data output from the image encoding module 504 has a high entropy. However, if code data transferred to the outside via the network interface 511 is used for seed generation, there is a possibility that a key is guessed to a third party, which is not preferable. On the other hand, code data that is not transferred to the outside has a high entropy due to the nature of encoding, and is optimal for generating seeds. Therefore, the encoding result of the image encoding module 504 is used as seed generation data.

画像符号化モジュール504に入力される符号化前の画像データのLSBは量子化によって消失する。そのため、第三者が符号化データを入手したとしても画像データのLSBを推測することはできない。従って、乱数生成モジュール101は、符号化前の画像データのLSBをシード生成用のデータとして取得する。   The LSB of unencoded image data input to the image encoding module 504 is lost due to quantization. Therefore, even if a third party obtains the encoded data, the LSB of the image data cannot be estimated. Accordingly, the random number generation module 101 acquires the LSB of the image data before encoding as seed generation data.

また、カメラ制御モジュール501が出力する設定データは、パン、チルト、ズームが指示された場合、撮像画像に急激な変化が起きる。そこで、カメラ制御モジュール501が出力する設定データも積極的にシードの生成に利用する。   In addition, the setting data output from the camera control module 501 causes a sudden change in the captured image when panning, tilting, and zooming are instructed. Therefore, the setting data output from the camera control module 501 is also actively used for seed generation.

[他の実施例]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
[Other embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.

また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体(記録媒体)をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。   Another object of the present invention is to supply a storage medium (recording medium) that records software for realizing the functions of the above-described embodiments to a system or apparatus, and a computer (CPU or MPU) of the system or apparatus executes the software. Is also achieved. In this case, the software itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the software constitutes the present invention.

また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。   In addition, the above functions are not only realized by the execution of the software, but an operating system (OS) running on a computer performs part or all of the actual processing according to instructions of the software, and thereby the above functions This includes the case where is realized.

また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。   In addition, the software is written in a function expansion card or unit memory connected to the computer, and the CPU of the card or unit performs part or all of the actual processing according to instructions of the software, thereby This includes the case where is realized.

本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。   When the present invention is applied to the storage medium, the storage medium stores software corresponding to the flowchart described above.

実施例のデータ処理装置の構成例を示すブロック図、The block diagram which shows the structural example of the data processor of an Example, 乱数生成モジュールの詳細な構成例を示すブロック図、Block diagram showing a detailed configuration example of the random number generation module, 乱数生成モジュールの詳細な構成例を示すブロック図、Block diagram showing a detailed configuration example of the random number generation module, シード収集・加工部の構成例を示すブロック図、Block diagram showing a configuration example of the seed collection / processing unit, 制御部の動作を説明するフローチャート、A flowchart for explaining the operation of the control unit; 実行要求イベントの発生時に活性化率を用いてデータ取得回数を動的に変更する方法を説明する図、A diagram for explaining a method of dynamically changing the number of data acquisition using an activation rate when an execution request event occurs, 実行要求イベントの発生時に活性化率を用いてデータ取得回数を動的に変更する方法を説明する図、A diagram for explaining a method of dynamically changing the number of data acquisition using an activation rate when an execution request event occurs, 実行要求イベントの発生時に活性化率を用いてデータ取得回数を動的に変更する方法を説明する図、A diagram for explaining a method of dynamically changing the number of data acquisition using an activation rate when an execution request event occurs, 実施例2のデータ処理装置の構成例を示すブロック図である。FIG. 6 is a block diagram illustrating a configuration example of a data processing device according to a second embodiment.

Claims (8)

任意のデータに任意の処理を施すデータ処理手段と、
前記データ処理手段からデータを取得し、前記取得したデータから乱数生成用のシードを生成するシード生成手段と、
前記データ処理手段の動作状態情報を取得し、前記動作状態情報に基づき前記シード生成手段によるシード生成を制御する制御手段とを有し、
前記制御手段は前記動作状態情報に基づき前記データ処理手段が出力するデータの重みを決定し、前記シード生成手段は前記重みに応じて前記データ処理手段のデータを取得することを特徴とするデータ処理装置。
Data processing means for performing arbitrary processing on arbitrary data;
Obtaining data from the data processing means, and generating seeds for generating random numbers from the acquired data;
Wherein acquires operation state information of the data processing means, have a control means for controlling the seed generation by the seed generation means based on said operating status information,
The control means determines a weight of data output from the data processing means based on the operation state information, and the seed generation means acquires data of the data processing means according to the weight. apparatus.
さらに、前記シード生成手段が生成したシードから乱数を生成する乱数生成手段を有することを特徴とする請求項1に記載されたデータ処理装置。   2. The data processing apparatus according to claim 1, further comprising random number generation means for generating a random number from the seed generated by the seed generation means. 前記制御手段は、前記動作状態情報として前記データ処理手段の活性化率を示す情報を取得することを特徴とする請求項1または請求項2に記載されたデータ処理装置。   3. The data processing apparatus according to claim 1, wherein the control unit acquires information indicating an activation rate of the data processing unit as the operation state information. 前記制御手段は、活性化を示す前記データ処理手段が存在しない場合、前記シード生成手段を制御して、前回生成したシードをフィードバックさせることを特徴とする請求項3に記載されたデータ処理装置。   4. The data processing apparatus according to claim 3, wherein the control unit controls the seed generation unit to feed back a previously generated seed when the data processing unit indicating activation does not exist. 前記データ処理手段として、画像データを符号化する手段、データを暗号化する手段、カメラを制御する手段の少なくとも一つを含むことを特徴とする請求項1から請求項4の何れかに記載されたデータ処理装置。 As the data processing means, means for encoding the image data, is described means for encrypting data, the preceding claims, characterized in that it comprises at least one means for controlling the camera to one of claims 4 Data processing equipment. 任意のデータに任意の処理を施すデータ処理手段を有するデータ処理装置のデータ処理方法であって、
前記データ処理手段からデータを取得し、前記取得したデータから乱数生成用のシードを生成する生成ステップと
前記データ処理手段の動作状態情報を取得して、前記動作状態情報に基づき前記シード生成を制御する制御ステップとを有し、
前記制御ステップは前記動作状態情報に基づき前記データ処理手段が出力するデータの重みを決定し、前記生成ステップは前記重みに応じて前記データ処理手段のデータを取得することを特徴とするデータ処理方法。
A data processing method of a data processing apparatus having data processing means for performing arbitrary processing on arbitrary data,
Generating data from the data processing means, generating a random number generation seed from the acquired data; and
Obtaining operation state information of the data processing means, and controlling the seed generation based on the operation state information ,
The control step determines a weight of data output from the data processing means based on the operation state information, and the generation step acquires data of the data processing means according to the weight. .
情報処理装置を制御して、請求項6に記載されたデータ処理を実現することを特徴とするコンピュータプログラム。 7. A computer program for controlling the information processing apparatus to realize the data processing according to claim 6 . 請求項7に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。 8. A computer-readable recording medium on which the computer program according to claim 7 is recorded.
JP2006153985A 2006-06-01 2006-06-01 Data processing apparatus and method Expired - Fee Related JP4689539B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006153985A JP4689539B2 (en) 2006-06-01 2006-06-01 Data processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006153985A JP4689539B2 (en) 2006-06-01 2006-06-01 Data processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2007323442A JP2007323442A (en) 2007-12-13
JP4689539B2 true JP4689539B2 (en) 2011-05-25

Family

ID=38856183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006153985A Expired - Fee Related JP4689539B2 (en) 2006-06-01 2006-06-01 Data processing apparatus and method

Country Status (1)

Country Link
JP (1) JP4689539B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379848B2 (en) * 2011-07-07 2013-02-19 Cape Light Institute, Inc. Method of providing a portable true random number generator based on the microstructure and noise found in digital images

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242470A (en) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd Device and method for generating random number and recording medium
JP2002268874A (en) * 2001-03-07 2002-09-20 Toshiba Corp Random number seed generating circuit, driver provided with the same and sd memory card system
JP2005011356A (en) * 2003-06-21 2005-01-13 Samsung Electronics Co Ltd Method and system for generating random number in disk drive

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242470A (en) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd Device and method for generating random number and recording medium
JP2002268874A (en) * 2001-03-07 2002-09-20 Toshiba Corp Random number seed generating circuit, driver provided with the same and sd memory card system
JP2005011356A (en) * 2003-06-21 2005-01-13 Samsung Electronics Co Ltd Method and system for generating random number in disk drive

Also Published As

Publication number Publication date
JP2007323442A (en) 2007-12-13

Similar Documents

Publication Publication Date Title
JP4551802B2 (en) Processor, memory, computer system, and data transfer method
JP5167374B2 (en) Data encryption device and memory card
US9350544B2 (en) Apparatus for encrypting data
JP2005534235A (en) Cryptographic seed value generation method and system
TWI420339B (en) Software authorization system and method
JP2001514834A (en) Secure deterministic cryptographic key generation system and method
JP5564197B2 (en) MEMORY CONTROL DEVICE, SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM, AND MEMORY CONTROL METHOD
KR101112157B1 (en) Data Encrytion Method
JP2009105566A (en) Distribution control device and distribution control program
JP2007142591A (en) Encryption management method
JP6930053B2 (en) Data encryption method and system using device authentication key
JP2009075720A (en) Information processor and information processing program
JP2006311383A (en) Data managing method, data management system and data managing device
US11321475B2 (en) Entropy data based on error correction data
JP2008508763A (en) Apparatus and method for providing and decrypting network content encrypted using key encryption key scheme
WO2010067660A1 (en) Communication apparatus, communication method and program
JP4689539B2 (en) Data processing apparatus and method
JP2008287488A (en) Data distributing and preserving unit
JP6348273B2 (en) Information processing system
JP6246516B2 (en) Information processing system
CN115396179A (en) Data transmission method, device, medium and equipment based on block chain
JP2009104327A (en) File management system and file management program
JP2009086746A (en) Information processor and information processing program
JP5586758B1 (en) Dynamic encryption key generation system
JP2005309148A (en) Data converter and the data conversion method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110210

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110216

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees