JP2007073012A - Random number generation system - Google Patents

Random number generation system Download PDF

Info

Publication number
JP2007073012A
JP2007073012A JP2005262581A JP2005262581A JP2007073012A JP 2007073012 A JP2007073012 A JP 2007073012A JP 2005262581 A JP2005262581 A JP 2005262581A JP 2005262581 A JP2005262581 A JP 2005262581A JP 2007073012 A JP2007073012 A JP 2007073012A
Authority
JP
Japan
Prior art keywords
random number
pseudo
mask pattern
encryption
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.)
Granted
Application number
JP2005262581A
Other languages
Japanese (ja)
Other versions
JP4586163B2 (en
Inventor
Tomoaki Yoshida
等明 吉田
Takahiro Nakanishi
貴裕 中西
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.)
Iwate University
Original Assignee
Iwate University
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 Iwate University filed Critical Iwate University
Priority to JP2005262581A priority Critical patent/JP4586163B2/en
Publication of JP2007073012A publication Critical patent/JP2007073012A/en
Application granted granted Critical
Publication of JP4586163B2 publication Critical patent/JP4586163B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a random number generation system capable of generating cryptologically safe random numbers by using a pseudo random number generation means. <P>SOLUTION: This random number generation system masks pseudo random numbers 222a, 222b, 222c and 222d generated from a certain pseudo number generation means CNN-2 (220) by a mask pattern 214 created based on a pseudo random number 212 generated from a pseudo random number generation means CNN-1 (210) in a distinct system and outputs the results 230a, 230b, 230c and 230d therefrom as a random number sequence. For instance, a chaos neural network CNN can be used for the pseudo random number generation means. By using the output random number sequence for an encryption system by a conventional encryption method, encryption further high in robustness can be executed. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、暗号学的に安全な擬似乱数を発生する技術に関するものである。   The present invention relates to a technique for generating cryptographically secure pseudorandom numbers.

デジタルデータの暗号化および復号を行なうシステムにおいては、従来、ストリーム暗号方式という手法が広く用いられている。
ストリーム暗号方式とは、平文を1ビット、または数ビットごとに暗号化・復号を行なう方法であり、暗号化鍵から鍵系列とよばれる擬似乱数を生成し、その擬似乱数により平文を逐次暗号化する暗号方式である。擬似乱数は、ソフトウェアでも比較的高速に生成することができるため、ストリーム暗号方式による暗号化及び復号システムは、ソフトウェアで実現する場合でも、高速な処理を行なうことができる。この方式では、擬似乱数の生成方法が非常に重要であり、暗号強度に大きく影響する。
In systems that perform encryption and decryption of digital data, a method called a stream encryption method has been widely used.
Stream encryption is a method of encrypting and decrypting plaintext every bit or every few bits, generating pseudorandom numbers called key sequences from the encryption key, and encrypting plaintexts sequentially using the pseudorandom numbers. This is an encryption method. Since pseudo-random numbers can be generated at a relatively high speed even by software, the encryption and decryption system based on the stream encryption method can perform high-speed processing even when realized by software. In this method, the pseudo random number generation method is very important and greatly affects the encryption strength.

発明者らは、ホップフィールドネットワークや誤差逆伝搬学習則等で用いられている通常の人工ニューロンからなり、カオス出力が得られるニューラルネットワークを発明し、この独自のニューラルネットワークのことをカオス・ニューラルネットワーク(以下CNN)と呼んでいる(例えば非特許文献1,特許文献1,特許文献2)。そしてCNNを用いることにより、従来技術よりも乱数性に優れた擬似乱数を生成できることを明らかにしている(特許文献2)。
発明者らのCNNのニューロンモデルを図1(a)および式(1),式(2)に示す。
The inventors have invented a neural network that is composed of ordinary artificial neurons used in hopfield networks, back propagation learning rules, etc., and can obtain chaos output. This unique neural network is called a chaos neural network. (Hereinafter referred to as CNN) (for example, Non-Patent Document 1, Patent Document 1, Patent Document 2). It has been clarified that by using CNN, a pseudo-random number having better randomness than the prior art can be generated (Patent Document 2).
The neuron model of the inventors' CNN is shown in FIG. 1 (a), Formula (1), and Formula (2).

Figure 2007073012
Figure 2007073012

Figure 2007073012
Figure 2007073012

ここで、式(1)で表される非線形出力関数fは特異な関数ではなく、一般的に用いられているsigmoid関数である。図1(a)および式(1),式(2)におけるその他の各係数は、以下のように定義する。
(t):時刻tにおけるニューロンjの出力(t=0,1,2,…)
:ニューロンjの内部状態
(t−1):時刻t−1におけるニューロンiからの入力
ij:ニューロンiからニューロンjへの結合荷重
θ:ニューロンjの閾値
:ニューロンjへの外部入力値
Here, the nonlinear output function f s represented by the expression (1) is not a singular function but a sigmoid function that is generally used. The other coefficients in FIG. 1 (a) and equations (1) and (2) are defined as follows.
x j (t): output of neuron j at time t (t = 0, 1, 2,...)
u j : Internal state x i of neuron j (t−1): Input from neuron i at time t−1 w ij : Connection load from neuron i to neuron j θ j : Threshold value of neuron j I j : Neuron j External input value to

自然界では単一で振動する出力を発生するニューロンもあるが、CNNに用いた上述のニューロンの場合には、1個のニューロンのみでは振動しない。ニューロン・ネットワークの例として、ニューロン4個から構成されるカオス・ニューラルネットワーク(CNN)の構成を図1(b)に示す。図1(b)は、ニューロン1(N)121,ニューロン2(N)122,ニューロン3(N)123,ニューロン4(N)124の4個のニューロンから構成されている。構造の特徴としてニューロンのサイクルが1つあるので、cyclic−4nn(以下C−4nn)と呼んでいる。C−4nnのパラメータ(結合荷重W、閾値θおよび外部入力I)を表1に示す。 In the natural world, there is a neuron that generates a single oscillating output. However, in the case of the above-described neuron used for the CNN, only one neuron does not oscillate. As an example of a neuron network, a configuration of a chaotic neural network (CNN) composed of four neurons is shown in FIG. FIG. 1B is composed of four neurons: a neuron 1 (N 1 ) 121, a neuron 2 (N 2 ) 122, a neuron 3 (N 3 ) 123, and a neuron 4 (N 4 ) 124. Since there is one neuron cycle as a feature of the structure, it is called cyclic-4nn (hereinafter C-4nn). Table 1 shows parameters of C-4nn (coupling load W, threshold value θ, and external input I j ).

Figure 2007073012
Figure 2007073012

さらに、発明者らは、CNNより生成された出力の下位bitがよい乱数性を持っていることを明らかにし、従来の乱数発生方法よりも一様性に優れ、容易に真性乱数と区別できない一様な乱数を生成することができる乱数生成システムを発明している(特許文献2)。   Furthermore, the inventors have clarified that the lower bits of the output generated from the CNN have good randomness, which is more uniform than the conventional random number generation method and cannot be easily distinguished from the true random number. Invented a random number generation system capable of generating such random numbers (Patent Document 2).

S.Kawamura, H.Yoshida, M.Miura, and M.Abe: Implementation of Uniform Pseudo Random Number Generator and Application to Stream Cipher based on Chaos Neural Network, Proceedings of Papers, the International Conference on Fundamentals of Electronics, Communications and Computer Sciences, R-18, 2002.S. Kawamura, H. Yoshida, M. Miura, and M. Abe: Implementation of Uniform Pseudo Random Number Generator and Application to Stream Cipher based on Chaos Neural Network, Proceedings of Papers, the International Conference on Fundamentals of Electronics, Communications and Computer Sciences, R-18, 2002. 特開2001−144746号公報JP 2001-144746 A 特開2003−76272号公報JP 2003-76272 A

ストリーム暗号方式への攻撃を防御する観点から、より堅牢性の高い暗号化を実現できる擬似乱数の生成方法が望まれている。本発明の課題は、擬似乱数の生成において、ストリーム暗号方式などに利用可能な暗号系の暗号化鍵空間を広げる方法(以降、マスクパターン法と呼ぶ)を提案し、さらに堅牢性の高い暗号化を可能にすることである。   From the viewpoint of defending against attacks on the stream encryption method, a pseudo-random number generation method capable of realizing more robust encryption is desired. An object of the present invention is to propose a method (hereinafter referred to as a mask pattern method) that widens an encryption key space of an encryption system that can be used for a stream encryption method or the like in the generation of pseudo-random numbers, and to further enhance robust encryption. Is to make it possible.

上記の課題を解決するために、本発明は、乱数を生成する乱数生成システムであって、
擬似乱数を出力する2個の擬似乱数発生手段と、一方の前記擬似乱数発生手段から出力した擬似乱数を用いてマスクパターンを生成するマスクパターン生成手段と、他方の前記擬似乱数発生手段から出力した擬似乱数に前記マスクパターンをマスクした結果を出力する乱数出力手段とを備えることを特徴とする乱数生成システムである。
この乱数生成システムにおいて、前記マスクパターンは、0と1とが同数であることを特徴としてもよい。
また、前記擬似乱数発生手段はカオス・ニューラルネットワークであり、前記擬似乱数は前記カオス・ニューラルネットワークからの出力の下位ビットであることを特徴としてもよい。
さらに、上記に記載の乱数生成システムと、入力した平文と前記乱数出力手段からの乱数とを演算して暗号化文を出力する暗号化手段とを備えることを特徴とする暗号化システムも、本発明である。
また、上記の乱数生成システムの機能をコンピュータ・システムに構築させるプログラム、および上記の暗号化システムの機能をコンピュータ・システムに構築させるプログラムも、本発明である。
In order to solve the above problems, the present invention provides a random number generation system for generating a random number,
Two pseudo-random number generating means for outputting pseudo-random numbers, a mask pattern generating means for generating a mask pattern using the pseudo-random numbers output from one of the pseudo-random number generating means, and an output from the other pseudo-random number generating means A random number generation system comprising: random number output means for outputting a result of masking the mask pattern with a pseudo-random number.
In this random number generation system, the mask pattern may be characterized in that 0 and 1 are the same number.
The pseudo-random number generation means may be a chaotic neural network, and the pseudo-random number may be a lower bit of an output from the chaotic neural network.
An encryption system comprising: the random number generation system described above; and an encryption unit that calculates an input plaintext and a random number from the random number output unit and outputs an encrypted text. It is an invention.
A program for causing the computer system to construct the function of the random number generation system and a program for causing the computer system to construct the function of the encryption system are also the present invention.

本発明で提案するマスクパターン法を用いた乱数生成システムでは、ある擬似乱数発生手段から生成された擬似乱数を、異なった系の擬似乱数発生手段からの擬似乱数を基に作り出したマスクパタ−ンでマスクして、その結果の乱数列を暗号化の擬似乱数として用いる。そのため、発生可能な暗号化鍵の数を必要に応じて増やすことが可能となり、暗号化鍵空間を広げることができた。これにより、従来よりも暗号学的に安全な擬似乱数を生成することができ、暗号化システムを堅牢化できる。
特に、発明者らの技術であるCNNより生成された出力の下位bitを擬似乱数として本実施形態のマスクパターン法を用いることにより、CNNの出力の下位bitの優れた乱数性を落とすことなく暗号化鍵空間を広げることができる。具体的には、発明者らの既存技術(非特許文献1,特許文献1,特許文献2を参照)に対して、0と1とが同数のマスクパターンを用いて上述のマスクパターン法を適用すると、暗号鍵空間を標準で1048倍に改良することができた。これにより解読に要する時間を1029年以上に延ばすことができる。もともと、発明者らの既存技術であるCNNによる暗号化方法は、米国の次世代標準暗号であるRijndaelより高速かつ堅牢であるが、本発明の手法によれば、これをさらに堅牢化できる。
In the random number generation system using the mask pattern method proposed in the present invention, a pseudo random number generated from a certain pseudo random number generating means is generated with a mask pattern created based on pseudo random numbers from a pseudo random number generating means of a different system. Mask and use the resulting random number sequence as a pseudo-random number for encryption. Therefore, the number of encryption keys that can be generated can be increased as necessary, and the encryption key space can be expanded. As a result, pseudorandom numbers that are cryptographically safer than before can be generated, and the encryption system can be made robust.
In particular, by using the mask pattern method of the present embodiment with pseudo-random output lower bits generated from the CNN, which is the technique of the inventors, encryption without lowering the excellent randomness of the lower bits of the CNN output. The key space can be expanded. Specifically, the above-described mask pattern method is applied to the existing techniques of the inventors (see Non-Patent Document 1, Patent Document 1, and Patent Document 2) using the same number of mask patterns of 0 and 1. Then, the encryption key space could be improved 1048 times as a standard. Thus the time required for decryption may be extended to more than 10 29 years. Originally, the encryption method by CNN, which is the existing technology of the inventors, is faster and more robust than Rijndael, which is the next generation standard encryption in the United States, but according to the method of the present invention, this can be further strengthened.

以降、本発明の乱数生成システムの実施形態の一例を詳細に説明する。まず、ストリーム暗号方式の概要と考えられる主な攻撃方法について説明し、次に、これらの攻撃に対処するための方法として、本実施形態の手法であるマスクパターン法を提案する。
<1.暗号化>
本実施形態では、CNNより生成した擬似乱数から、本実施形態で提案する新しい手法であるマスクパターン法により暗号化に用いる乱数を生成し、上述のストリーム暗号方式による暗号化を行うシステムを実装する場合を例として説明するが、他の擬似乱数発生手段を用いてもよい。
以降、この暗号化システムの実装に向け、ストリーム暗号方式の概要と、考えられる主な攻撃方法について述べる。
Hereinafter, an example of an embodiment of the random number generation system of the present invention will be described in detail. First, the main attack methods considered to be an outline of the stream encryption method will be described, and then a mask pattern method which is the method of the present embodiment will be proposed as a method for dealing with these attacks.
<1. Encryption>
In the present embodiment, a random number used for encryption is generated from a pseudo-random number generated by CNN using a mask pattern method, which is a new method proposed in the present embodiment, and a system for performing encryption using the above-described stream encryption method is implemented. The case will be described as an example, but other pseudo-random number generation means may be used.
In the following, an overview of the stream encryption method and the main possible attack methods will be described for the implementation of this encryption system.

(1−1.ストリーム暗号方式)
用いる暗号として、秘密鍵暗号方式(共通鍵暗号方式)の一種である、上述のストリーム暗号方式を使用する。その特徴を以下に示す。
・1bit毎に暗号化および復号を行う。
・一般的に堅牢性よりも速度を重視する。
(1-1. Stream encryption method)
As the encryption to be used, the above-described stream encryption method, which is a kind of secret key encryption method (common key encryption method), is used. The characteristics are shown below.
-Encrypt and decrypt every 1 bit.
・ In general, speed is more important than robustness.

(1−2.暗号化の概要)
本実施形態で用いるストリーム暗号方式の暗号化と復号について概要を示す。
(1)暗号化
平文 XOR 乱数列=暗文 …(3.1)
(2)復号
暗文 XOR 乱数列=平文 …(3.2)
ここで、平文とは暗号化されていないデータであり、暗文は、暗号化され、そのままでは読めない状態になっているデータである。
(1-2. Overview of encryption)
An overview of encryption and decryption of the stream encryption method used in the present embodiment will be described.
(1) Encrypted plaintext XOR random number sequence = ciphertext (3.1)
(2) Decrypted plaintext XOR random number sequence = plaintext (3.2)
Here, the plaintext is unencrypted data, and the plaintext is encrypted data that cannot be read as it is.

(1−3.主な攻撃方法)
一方、ストリーム暗号を攻撃する主な方法として、(1)既知平文攻撃、(2)選択平文攻撃、(3)差分攻撃、等の方法が挙げられる。
(1)既知平文攻撃
攻撃者が、平文と暗文の両方を手に入れることができる立場にある場合の攻撃方法。
平文 XOR 暗文=乱数列 …(3.3)
式(3.3)により、乱数列を取得されてしまう。これを繰り返し行うことによって、次の乱数列を予測される恐れがある。
(1-3. Main attack methods)
On the other hand, the main methods for attacking stream ciphers include (1) known plaintext attack, (2) selected plaintext attack, and (3) differential attack.
(1) Known plaintext attack An attack method when an attacker is in a position where both plaintext and plaintext can be obtained.
Plain text XOR Secret text = Random number sequence (3.3)
A random number sequence will be acquired by Formula (3.3). If this is repeated, the next random number sequence may be predicted.

(2)選択平文攻撃
攻撃者が平文の内容を自由に選択できる立場にある場合の攻撃方法。式(3.1)において、平文の内容を全て0にすることにより、
0 XOR 乱数列=暗文 …(3.4)
乱数列=暗文 …(3.5)
となり、乱数列の内容が暗文にそのまま表れ、乱数列を取得されてしまう。
(2) Selected plaintext attack An attack method when the attacker is in a position to freely select the contents of plaintext. In equation (3.1), by clearing all the plaintext contents to 0,
0 XOR random number sequence = secret text (3.4)
Random number sequence = secret text (3.5)
Thus, the contents of the random number sequence appear in the secret as it is, and the random number sequence is acquired.

(3)差分攻撃
平文と暗文のセットを複数持つことができる立場にある場合の攻撃方法。
平文1 XOR 乱数列1=暗文1 …(3.6)
平文2 XOR 乱数列2=暗文2 …(3.7)
(平文1 XOR 平文2)XOR(乱数列1 XOR 乱数列2)=(暗文1 XOR 暗文2) …(3・8)
このとき、乱数列1と乱数列2が等しくなる可能性があると、
乱数列1 XOR 乱数列2=0 …(3.9)
となり、式(3.8)と式(3.9)から、
平文1 XOR 平文2=暗文1 XOR 暗文2 …(3.10)
となる。式(3.10)より、同じ乱数列を使用すると、乱数列の内容に関わらず、解除されてしまう。
(3) Differential attack An attack method in the case of being in a position where a plurality of sets of plaintext and secrettext can be held.
Plain text 1 XOR random number sequence 1 = cipher text 1 (3.6)
Plaintext 2 XOR random number sequence 2 = ciphertext 2 (3.7)
(Plaintext 1 XOR plaintext 2) XOR (random number sequence 1 XOR random number sequence 2) = (ciphertext 1 XOR secrettext 2) (3 · 8)
At this time, if there is a possibility that the random number sequence 1 and the random number sequence 2 are equal,
Random number sequence 1 XOR Random number sequence 2 = 0 (3.9)
From the equations (3.8) and (3.9),
Plaintext 1 XOR Plaintext 2 = Crypt 1 XOR Cotext 2 (3.10)
It becomes. From equation (3.10), if the same random number sequence is used, it is canceled regardless of the content of the random number sequence.

<4.マスクパターン法>
(4−1.目的)
上述したように、カオス出力の下位bitは乱数性に優れている(特許文献2参照)が、本実施形態では、暗号化システムにおいて上述の攻撃への対処をより強化するために、以降説明する「マスクパターン法」を提案する。なお、本実施形態では、擬似乱数を発生する擬似乱数発生手段として、上述のCNNを用いる場合を例として説明するが、他の擬似乱数発生手段を用いてもよい。
<4. Mask pattern method>
(4-1. Purpose)
As described above, the low-order bits of the chaos output are excellent in randomness (see Patent Document 2). However, in the present embodiment, in order to further strengthen the countermeasure against the above-described attack in the encryption system, the following description will be given. The “mask pattern method” is proposed. In the present embodiment, the case where the above-described CNN is used as the pseudo-random number generating means for generating pseudo-random numbers will be described as an example, but other pseudo-random number generating means may be used.

(4−2.概要)
本実施形態のマスクパターン法とは、ある擬似乱数発生手段(ここではCNNを例として説明する)からの擬似乱数を、異なった系の擬似乱数発生手段(ここではCNNを例として説明する)からの擬似乱数を基に作り出したマスクパタ−ンでマスクすることにより、暗号学的に安全な擬似乱数を生成する方法である。本実施形態のマスクパターン法の処理の流れを図2(a)に示す。
本実施形態の乱数生成システムにおいて、乱数生成に用いるための擬似乱数の生成は、擬似乱数発生手段により行なう。なお、上述したように、本実施形態では擬似乱数発生手段の一例として発明者らのカオス・ニューラルネットワーク(CNN)を用いる例で説明するが、他の擬似乱数発生手段を用いてもよい。マスクパターンの生成は、マスクパターン生成手段により行なう。擬似乱数発生手段からの擬似乱数をマスクパターンでマスクして暗号化に用いる乱数を生成・出力する処理は、乱数出力手段により行なう。
以降、図2(a)および図2(b)を参照しながら、本実施形態で提案するマスクパターン法について詳しく説明する。
(4-2. Overview)
The mask pattern method of the present embodiment refers to a pseudorandom number from a certain pseudorandom number generation means (here, CNN will be described as an example), and from a different system of pseudorandom number generation means (here, CNN will be described as an example). This is a method of generating cryptographically secure pseudo-random numbers by masking with a mask pattern created based on the pseudo-random numbers. The flow of processing of the mask pattern method of this embodiment is shown in FIG.
In the random number generation system of the present embodiment, pseudo random numbers for use in random number generation are generated by pseudo random number generation means. As described above, in the present embodiment, an example using the inventors' chaos neural network (CNN) is described as an example of the pseudo random number generation means, but other pseudo random number generation means may be used. The mask pattern is generated by mask pattern generation means. A process for generating and outputting a random number used for encryption by masking the pseudo-random number from the pseudo-random number generation means with a mask pattern is performed by the random-number output means.
Hereinafter, the mask pattern method proposed in this embodiment will be described in detail with reference to FIGS. 2 (a) and 2 (b).

(4−3.擬似乱数の生成)
図2(a)に示すように、マスクパターン法は、あるCNN(CNN−2)220から生成された擬似乱数(222a,222b,222c,222d,…)を、異なった系のCNN(CNN−1 210)から生成された擬似乱数212を基に作り出したマスクパタ−ン214によりマスクして、より堅牢性を高める方法である。
これらの擬似乱数の生成は、擬似乱数発生手段により行なう。ここでは、擬似乱数発生手段として発明者らのCNNを用いた例で説明するが、他の擬似乱数発生手段を用いてもよい。
CNNから擬似乱数を出力する例を図2(b)に示す。図2(b)に示すように、例えばdouble型変数を格納できるレジスタ240を用意し、図1(b)に示すようなCNNを構成するニューロンから、時系列で発生する出力を取り出して、レジスタ240に格納する。次に、レジスタ240から、仮数部の下位のxビットを取り出す。取り出したビット列が乱数となっている。この乱数は、CNNを構成しているニューロンであれば、どのニューロン(図1(b)ではN 121〜N 124)から取り出してもよい。また、数表現がIEEE754形式以外の場合でも、浮動小数点または固定小数点表現を用いている場合は、本手法を適応できる。(詳しくは特許文献2を参照)。なお、本実施形態では、レジスタ240から仮数部の下位24bitを取り出すものとしているが、これは、下位24ビットのランダム性がよいからである。
(4-3. Generation of pseudo-random numbers)
As shown in FIG. 2A, the mask pattern method uses pseudo random numbers (222a, 222b, 222c, 222d,. 1 210) is masked by the mask pattern 214 created based on the pseudo-random number 212 generated from step 210), and is more robust.
These pseudo random numbers are generated by a pseudo random number generating means. Here, an example using the inventors' CNN as the pseudo-random number generation means will be described, but other pseudo-random number generation means may be used.
An example of outputting pseudo random numbers from CNN is shown in FIG. As shown in FIG. 2B, for example, a register 240 capable of storing a double type variable is prepared, and an output generated in time series is extracted from the neurons constituting the CNN as shown in FIG. Stored in 240. Next, the lower x bits of the mantissa part are extracted from the register 240. The extracted bit string is a random number. This random number may be extracted from any neuron (N 1 121 to N 4 124 in FIG. 1B) as long as it is a neuron constituting the CNN. In addition, even when the number representation is other than the IEEE 754 format, this method can be applied when the floating point or fixed point representation is used. (For details, see Patent Document 2). In the present embodiment, the lower 24 bits of the mantissa are extracted from the register 240 because the lower 24 bits are highly random.

(4−4.マスクパターンの生成)
次に、本実施形態で用いるマスクパターン214の生成方法を、一例を挙げて説明する。
マスクパターン214は、本実施形態の乱数生成システムのマスクパターン生成手段により生成する。なお、ここで説明するマスクパターン生成方法は一例であり、他の方法により生成してもよい。
本実施形態で用いるマスクパターン214は24bitの長さとする。ここでは、例として、0と1が同数(0が12bit、1が12bit)でマスクパターンを構成する場合を示す。本実施形態のマスクパターン法では、0と1とが必ずしも同数でなくてもよいが、0と1とが同数の場合にマスクパターンの組合せの数が最大となり、堅牢性も最大になるからである。このマスクパターンを8個生成し、192bitを1セットとして用いる。
この1セットのマスクパターンでCNN−2 220からの擬似乱数(222a,222b,222c,222d,…)のマスクを行なった結果の乱数列(230a,230b,230c,230d,…)を、暗号化の際の乱数列として用いる。
ここで、24bitのマスクパターンの可能な組み合わせの数は、2412≒106となる。1セットのマスクパターン(192bit)を考えると、可能なマスクパターンの数は1068≒1048となる。
(4-4. Generation of Mask Pattern)
Next, a method for generating the mask pattern 214 used in the present embodiment will be described with an example.
The mask pattern 214 is generated by the mask pattern generation means of the random number generation system of this embodiment. Note that the mask pattern generation method described here is an example, and may be generated by other methods.
The mask pattern 214 used in the present embodiment has a length of 24 bits. Here, as an example, a case where 0 and 1 are the same number (0 is 12 bits, 1 is 12 bits) and the mask pattern is configured is shown. In the mask pattern method of the present embodiment, 0 and 1 do not necessarily have to be the same number, but when 0 and 1 are the same number, the number of mask pattern combinations is maximized and the robustness is maximized. is there. Eight mask patterns are generated and 192 bits are used as one set.
A random number sequence (230a, 230b, 230c, 230d,...) Obtained as a result of masking pseudo-random numbers (222a, 222b, 222c, 222d,...) From CNN-2 220 with this set of mask patterns is encrypted. Used as a random number sequence for
Here, the number of possible combinations of 24-bit mask patterns is 24 C 12 ≈10 6 . Considering a set of mask patterns (192 bits), the number of possible mask patterns is 106 P 8 ≈10 48 .

上述したように、本実施形態では、0と1の個数が同数になるように24bitのマスクパターンを作り、それを8個生成して1セット(192bit)のマスクパターンとする。ここで、0と1の個数を同数にするため、例えば、24bit内で順にペアとなるビットを決め、片方に0、もう片方に1を入れていく。以降、マスクパターン生成の例として、CNN−1 210から生成した擬似乱数212を用いて、ペアとなるビットの決定、およびペアとなったビットのどちらが0でどちらが1になるかを決定する方法を説明する。なお、マスクパターンの生成方法はこれに限られず、他の方法を用いてもよい。また、上述したように0と1とが同数でなくてもよい。   As described above, in the present embodiment, a 24-bit mask pattern is created so that the number of 0s and 1s is the same, and eight of them are generated to form one set (192 bits) mask pattern. Here, in order to make the number of 0s and 1s equal, for example, a pair of bits is sequentially determined within 24 bits, and 0 is put in one and 1 is put in the other. Hereinafter, as an example of mask pattern generation, a method for determining a pair of bits and determining which of the paired bits is 0 and which is 1 using the pseudo random number 212 generated from CNN-1 210. explain. Note that the mask pattern generation method is not limited to this, and other methods may be used. Further, as described above, 0 and 1 may not be the same number.

(1)ペアとなるビットの決定
本実施形態の例では、CNN−1 210から24bitの擬似乱数212を生成し、この擬似乱数の値を用いて、ペアを順次1組ずつ決めていく。24bitのマスクパターンを生成するには、12組のペアを決定することになる。
24bitのマスクパターン生成において、CNN−1 210からの擬似乱数x(24bitの場合n=1,2,…,12)を用いて、n組目のペアの相手となるビットの番号y(24bitの場合n=1,2,…,12)を決定する処理は、次の式(4)で表される。
(1) Determination of Bits to be Paired In the example of the present embodiment, a 24-bit pseudo random number 212 is generated from CNN-1 210, and pairs are sequentially determined one by one using the value of the pseudo random number. In order to generate a 24-bit mask pattern, 12 pairs are determined.
In generating a 24-bit mask pattern, a pseudo random number x n from the CNN-1 210 (n = 1, 2,..., 12 in the case of 24 bits) is used to indicate the number y n ( The processing for determining n = 1, 2,..., 12) in the case of 24 bits is expressed by the following equation (4).

Figure 2007073012
なお、式(4)において[a]はガウス記号であり、実数aを超えない最大の整数であることを示している。
Figure 2007073012
In equation (4), [a] is a Gaussian symbol, indicating that it is the maximum integer that does not exceed the real number a.

以降、式(4)を参照しながら、ペアとなるビットを決定する処理の一例を説明する。
まず、24bitのマスクパターンの1ビット目とペアになるビットを決定する(1組目のペアの決定)。CNN−1 210からの24bitの擬似乱数xを用いて、1ビット目とペアになるビットを決める。
具体的には、24bitで表現できる数(すなわち、0から224−1までの224個の数)を、マスクパターン内のまだ決定していないビットの数(ここでは1ビット目を除いた数である23)で割って、そのビット数(ここでは23)のグループに分割し、数が小さい方から順にグループ_1,グループ_2,…,とする。一方、まだ決定していないビット(ここでは1ビット目を除いた23bit)を順に、ビット_1,ビット_2,…,とする。
次に、24bitの擬似乱数xの値が含まれているグループ_yを見つける。そして、y番目のビットであるビット_yを、1ビット目とペアになるビットに決定する。
Hereinafter, an example of processing for determining a pair of bits will be described with reference to Expression (4).
First, a bit to be paired with the first bit of the 24-bit mask pattern is determined (determination of the first pair). Using the 24-bit pseudo random number x 1 from CNN-1 210, the bit paired with the first bit is determined.
Specifically, the number that can be represented by 24bit (i.e., 2 24 numbers from 0 to 2 24 -1), and is still to have not the number of bits (here the determination of the mask pattern excluding the first bit The number is divided by a number 23) and divided into groups of the number of bits (23 in this case), and group_1, group_2,... On the other hand, bits that have not yet been determined (here, 23 bits excluding the first bit) are sequentially referred to as bit_1, bit_2,.
Next, find the group _y 1 that contains the value of the pseudo-random number x 1 of 24bit. Then, the bit _y 1 is y 1 th bit to determine the bits to 1 bit pair.

同様に、2組目以降も、マスクパターンからまだ決定していないビット(n組目では24−2(n−1)ビット残っている)のうち最初のビットを選び、これとペアになるビットを決定する。CNN−1 210から次の擬似乱数xを生成して、上述の1組目と同様に、24bitで表現できる数を、まだ決定していないビット数(n組目では23−2(n−1))で割ってグループに分割し、擬似乱数xが何番目のグループに含まれるかによってペアとなるビットを決定する。
上記の処理を、全てのペアが決定するまで繰り返す。なお、最後の(12組目の)ペアは残りの2bitであるので、ペアの決定処理を行なう必要はなく、次に説明するビットの値の決定(0か1かの決定)のみ行なえばよい。
Similarly, in the second and subsequent sets, the first bit is selected from the bits that have not yet been determined from the mask pattern (24-2 (n-1) bits remain in the n set), and the bits that are paired with this bit To decide. The next pseudo random number x n is generated from CNN-1 210, and the number of bits that can be expressed in 24 bits is determined as in the first set as described above (the number n of the nth set is 23-2 (n− 1)) and divided into groups, and a pair of bits is determined depending on which group the pseudo-random number xn is included in.
The above process is repeated until all pairs are determined. Since the last (12th) pair is the remaining 2 bits, it is not necessary to perform the pair determination process, and only the bit value determination (determination of 0 or 1) to be described next needs to be performed. .

(2)ペアとなったビットの値の決定
n組目(24bitの場合n=1,2,…,12)のペアとなるビットが決定したら、擬似乱数xの最下位ビットにより、n組目のビットのどちらが0でどちらが1になるかを決定する。本実施形態では、例えば、擬似乱数xの最下位ビットが0の場合には、先の(まだ決定していないビットのうち最初の)ビットを0とし、ペアに決定したビットを1とする。逆に擬似乱数xの最下位ビットが1の場合には、先のビットを1とし、ペアに決定したビットを0とする。のように決めておく。
以上の(1)(2)の処理により、1個のマスクパターンが生成される。
さらに、ここまでの処理を計8回繰り返し、1セット192bitのマスクパターンとする。なお、マスクパターンのビット数は24bit以外でもよく、1セットのマスクパターン数は8個以外でもよい。
(2) determine n-th group of bits paired values (the case of 24bit n = 1, 2, ..., 12) If the bits are determined pair, the least significant bit of the pseudo-random number x n, n sets Determine which of the bits in the eye is 0 and which is 1. In the present embodiment, for example, when the least significant bit of the pseudo random number xn is 0, the first bit (the first bit that has not yet been determined) is set to 0, and the bit determined to be a pair is set to 1. . Conversely, when the least significant bit of the pseudorandom number xn is 1, the previous bit is set to 1, and the bit determined as a pair is set to 0. Decide like this.
One mask pattern is generated by the processes (1) and (2).
Further, the processing up to this point is repeated a total of 8 times to obtain a set of 192-bit mask patterns. The number of bits of the mask pattern may be other than 24 bits, and the number of mask patterns in one set may be other than 8.

(4−5.暗号化に用いる乱数列の生成)
次に、上述で生成したマスクパターンセット214を用いて、暗号化に用いる擬似乱数を生成する方法について説明する。この乱数は、本実施形態の乱数生成システムの乱数出力手段により生成し、出力する。
マスクパターン214生成時に使ったCNN−1 210とは違う系のCNN(CNN−2 220)を使い、24bitの擬似乱数を8個(222a,222b,222c,222d,…)を取り出す。これを上述で生成した1セット(8個)のマスクパターン214によりマスクする。本実施形態では、例えばマスクが0のビットは破棄し、マスクが1のビットだけを取り出すものとする。この結果、出力(230a,230b,230c,230d,…)は1セット96bit(=12bit×8)となる。これを暗号化の際の乱数列として用いる。
ここで、組み合わせるマスクパターンの数は,上述したように、必ずしも8個でなくとも良いので,24ビットi個使ったとすれば、24iビットのマスクパターンとなり,可能な組み合わせの数は,10の6i乗個になる。即ち、発生可能な乱数列の数は,10の6i乗個になる。
このように、例えば、i=100なら10の600乗個,i=1000なら10の6000乗個といった具合に、いくらでも増すことができる。
(4-5. Generation of random number sequence used for encryption)
Next, a method for generating a pseudo-random number used for encryption using the mask pattern set 214 generated above will be described. This random number is generated and output by the random number output means of the random number generation system of this embodiment.
A CNN (CNN-2 220) of a system different from the CNN-1 210 used when generating the mask pattern 214 is used, and eight 24-bit pseudorandom numbers (222a, 222b, 222c, 222d,...) Are extracted. This is masked by one set (eight) mask patterns 214 generated as described above. In the present embodiment, for example, bits with a mask of 0 are discarded, and only bits with a mask of 1 are taken out. As a result, the output (230a, 230b, 230c, 230d,...) Becomes one set 96 bits (= 12 bits × 8). This is used as a random number sequence for encryption.
Here, the number of mask patterns to be combined does not necessarily have to be eight as described above, so if i bits of 24 bits are used, a mask pattern of 24i bits is obtained, and the number of possible combinations is 10 6i. Become a square. That is, the number of random number sequences that can be generated is 10 6i.
Thus, for example, if i = 100, the number can be increased to 10 600, and if i = 1000, the number can be increased to 10 6000.

(4−6.マスクパターン法を用いた暗号化システム)
上述の(1−2.暗号化の概要)で説明したように、ストリーム暗号方式による暗号化および復号の手法は、次のとおりである。
(1)暗号化
平文 XOR 乱数列=暗文 …(3.1)
(2)復号
暗文 XOR 乱数列=平文 …(3.2)
ここで、本実施形態のマスクパターンを適用して得られた乱数列を、演算(3.1)および(3.2)の乱数列として用いることにより、入力した平文の暗号化および復号を行なうことができる。
(4-6. Encryption system using mask pattern method)
As described above in (1-2. Overview of Encryption), the encryption and decryption methods using the stream encryption method are as follows.
(1) Encrypted plaintext XOR random number sequence = ciphertext (3.1)
(2) Decrypted plaintext XOR random number sequence = plaintext (3.2)
Here, the input plaintext is encrypted and decrypted by using the random number sequence obtained by applying the mask pattern of the present embodiment as the random number sequence of the operations (3.1) and (3.2). be able to.

(4−7.マスクパターン法の効果)
本実施形態のマスクパターン法を用いることにより、発生可能な暗号化鍵の数を必要なだけ増やすことができ(暗号化鍵空間の拡張)、安全なストリーム暗号方式を実現することができる。例えば発明者らの既存技術であるCNN(非特許文献1,特許文献1,特許文献2を参照)に対して、上述のマスクパターン法を適用すると、暗号鍵空間を標準で1048倍に改良することができた。これにより解読に要する時間を1029年以上に延ばすことができる。もともと、発明者らの既存技術による暗号化方法は、米国の次世代標準暗号であるRijndaelより高速かつ堅牢であるが、本実施形態の手法によれば、これをさらに堅牢化できる。また、現在の米国標準であるDESなどの暗号系は、数十時間で解読可能な暗号であるのに対して、本技術を用いると理論的には解読できない暗号系を構成できる点が優位である。
(4-7. Effect of mask pattern method)
By using the mask pattern method of this embodiment, the number of encryption keys that can be generated can be increased as necessary (encryption key space expansion), and a safe stream encryption method can be realized. For example, when the above mask pattern method is applied to CNN (see Non-patent Document 1, Patent Document 1, and Patent Document 2), which is the existing technology of the inventors, the encryption key space is improved to 1048 times as a standard. We were able to. Thus the time required for decryption may be extended to more than 10 29 years. Originally, the encryption method according to the existing technology of the inventors is faster and more robust than Rijndael, which is the next generation standard encryption in the United States. However, according to the method of this embodiment, this can be further strengthened. In addition, the encryption system such as DES which is the current US standard is a code that can be decrypted in tens of hours, whereas the use of this technology is advantageous in that it can construct a cryptographic system that cannot be theoretically decrypted. is there.

(a)CNNのニューロンモデルである。(b)ニューロン4個から構成されるカオス・ニューラルネットワーク(C−4nn)のモデル図である。(A) CNN neuron model. (B) It is a model figure of the chaos neural network (C-4nn) comprised from four neurons. (a)本実施形態のマスクパターン法の処理の流れを示す図である。(b)CNN出力から擬似乱数を取り出す処理を示す図である。(A) It is a figure which shows the flow of a process of the mask pattern method of this embodiment. (B) It is a figure which shows the process which takes out a pseudorandom number from a CNN output.

Claims (6)

乱数を生成する乱数生成システムであって、
擬似乱数を出力する2個の擬似乱数発生手段と、
一方の前記擬似乱数発生手段から出力した擬似乱数を用いてマスクパターンを生成するマスクパターン生成手段と、
他方の前記擬似乱数発生手段から出力した擬似乱数に前記マスクパターンをマスクした結果を出力する乱数出力手段と
を備えることを特徴とする乱数生成システム。
A random number generation system for generating random numbers,
Two pseudo-random number generating means for outputting pseudo-random numbers;
Mask pattern generating means for generating a mask pattern using the pseudo random number output from one of the pseudo random number generating means;
And a random number output unit that outputs a result of masking the mask pattern on the pseudo-random number output from the other pseudo-random number generator.
請求項1に記載の乱数生成システムにおいて、
前記マスクパターンは、0と1とが同数であること
を特徴とする乱数生成システム。
The random number generation system according to claim 1,
The mask pattern has the same number of 0s and 1s.
請求項1または2に記載の乱数生成システムにおいて、
前記擬似乱数発生手段はカオス・ニューラルネットワークであり、前記擬似乱数は前記カオス・ニューラルネットワークからの出力の下位ビットであること
を特徴とする乱数生成システム。
The random number generation system according to claim 1 or 2,
The pseudorandom number generating means is a chaotic neural network, and the pseudorandom number is a lower bit of an output from the chaotic neural network.
請求項1〜3のいずれかに記載の乱数生成システムと、
入力した平文と前記乱数出力手段からの乱数とを演算して暗号化文を出力する暗号化手段と
を備えることを特徴とする暗号化システム。
The random number generation system according to any one of claims 1 to 3,
An encryption system comprising: encryption means for computing an input plaintext and a random number from the random number output means and outputting an encrypted text.
請求項1〜3のいずれかに記載の乱数生成システムの機能をコンピュータ・システムに構築させるプログラム。 The program which makes a computer system construct | assemble the function of the random number generation system in any one of Claims 1-3. 請求項4に記載の暗号化システムの機能をコンピュータ・システムに構築させるプログラム。 The program which makes a computer system build the function of the encryption system of Claim 4.
JP2005262581A 2005-09-09 2005-09-09 Encryption system Active JP4586163B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005262581A JP4586163B2 (en) 2005-09-09 2005-09-09 Encryption system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005262581A JP4586163B2 (en) 2005-09-09 2005-09-09 Encryption system

Publications (2)

Publication Number Publication Date
JP2007073012A true JP2007073012A (en) 2007-03-22
JP4586163B2 JP4586163B2 (en) 2010-11-24

Family

ID=37934369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005262581A Active JP4586163B2 (en) 2005-09-09 2005-09-09 Encryption system

Country Status (1)

Country Link
JP (1) JP4586163B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263636A (en) * 2011-05-24 2011-11-30 浙江工业大学 Stream cipher key control method for fusing neural network with chaotic mappings
CN103782332A (en) * 2011-08-29 2014-05-07 索尼公司 Information processing device, information processing method, program, and recording medium
JPWO2012147869A1 (en) * 2011-04-27 2014-07-28 株式会社東芝 RE-ENCRYPTION KEY GENERATION DEVICE, RE-ENCRYPTION DEVICE, AND PROGRAM
KR101506499B1 (en) 2008-12-30 2015-03-31 고려대학교 산학협력단 Method for encrypting with SEED applying mask
KR101984730B1 (en) * 2018-10-23 2019-06-03 (주) 글루시스 Automatic predicting system for server failure and automatic predicting method for server failure

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5913415A (en) * 1982-07-14 1984-01-24 Oteru Kan Device for generating rundom binary code string
JPS61246787A (en) * 1985-03-27 1986-11-04 富士通株式会社 Random number mixing system
JPH10240500A (en) * 1997-02-28 1998-09-11 Toshiba Corp Random number generator and method, enciphering device and method, decoder and method and stream cipher system
JPH11340799A (en) * 1998-05-28 1999-12-10 Oki Electric Ind Co Ltd Circuit and method for generating m sequence and circuit for generating pn sequence
JP2001142682A (en) * 1999-11-12 2001-05-25 Sony Corp Random number generator and random number generating method
JP2002366029A (en) * 2001-06-13 2002-12-20 Fujitsu Ltd Encipherment safe against dpa(differential power analysis)
JP2003032244A (en) * 2001-07-18 2003-01-31 Nec Corp Stream cipher apparatus
JP2003076272A (en) * 2001-09-07 2003-03-14 Japan Science & Technology Corp Random number generation system using chaos neural network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5913415A (en) * 1982-07-14 1984-01-24 Oteru Kan Device for generating rundom binary code string
JPS61246787A (en) * 1985-03-27 1986-11-04 富士通株式会社 Random number mixing system
JPH10240500A (en) * 1997-02-28 1998-09-11 Toshiba Corp Random number generator and method, enciphering device and method, decoder and method and stream cipher system
JPH11340799A (en) * 1998-05-28 1999-12-10 Oki Electric Ind Co Ltd Circuit and method for generating m sequence and circuit for generating pn sequence
JP2001142682A (en) * 1999-11-12 2001-05-25 Sony Corp Random number generator and random number generating method
JP2002366029A (en) * 2001-06-13 2002-12-20 Fujitsu Ltd Encipherment safe against dpa(differential power analysis)
JP2003032244A (en) * 2001-07-18 2003-01-31 Nec Corp Stream cipher apparatus
JP2003076272A (en) * 2001-09-07 2003-03-14 Japan Science & Technology Corp Random number generation system using chaos neural network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506499B1 (en) 2008-12-30 2015-03-31 고려대학교 산학협력단 Method for encrypting with SEED applying mask
JPWO2012147869A1 (en) * 2011-04-27 2014-07-28 株式会社東芝 RE-ENCRYPTION KEY GENERATION DEVICE, RE-ENCRYPTION DEVICE, AND PROGRAM
US9246683B2 (en) 2011-04-27 2016-01-26 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption apparatus, and program
JP5944893B2 (en) * 2011-04-27 2016-07-05 株式会社東芝 Re-encryption device and program
CN102263636A (en) * 2011-05-24 2011-11-30 浙江工业大学 Stream cipher key control method for fusing neural network with chaotic mappings
CN103782332A (en) * 2011-08-29 2014-05-07 索尼公司 Information processing device, information processing method, program, and recording medium
KR101984730B1 (en) * 2018-10-23 2019-06-03 (주) 글루시스 Automatic predicting system for server failure and automatic predicting method for server failure

Also Published As

Publication number Publication date
JP4586163B2 (en) 2010-11-24

Similar Documents

Publication Publication Date Title
Malik et al. Color image encryption algorithm based on hyper-chaos and DNA computing
CA2497935C (en) Stream cipher design with revolving buffers
CN102648600B (en) Low-complexity electronic circuit protected by customized masking
US20140270165A1 (en) Cryptographic system based on reproducible random sequences
KR101623503B1 (en) Apparatus and method for white-box cryptography implementation of LEA block cipher
Dey et al. An advanced combined symmetric key cryptographic method using bit manipulation, bit reversal, modified caesar cipher (SD-REE), DJSA method, TTJSA method: SJA-I Algorithm
Jhingran et al. A study on cryptography using genetic algorithm
RU2504911C1 (en) Method for iterative cryptographic transformation of data
JP4586163B2 (en) Encryption system
Paragas et al. Hill cipher modification: A simplified approach
Verma et al. 3D-Playfair cipher with additional bitwise operation
Iqbal et al. An efficient grayscale image encryption scheme based on variable length row-column swapping operations
Majumder et al. An enhanced cryptosystem based on modified classical ciphers
Vayadande et al. Cryptography using Automata Theory
CN107078900B (en) Cryptographic system based on reproducible random sequences
Goyal et al. Implementation of Modified Playfair CBC Algorithm
Mohammed et al. Secure image encryption scheme using chaotic maps and rc4 algorithm
Özkaynak et al. Cryptanalysis of Bigdeli algorithm using Çokal’s attack
Tomer et al. Review on different chaotic based image encryption techniques
Vijayan et al. ASCII value based encryption system (AVB)
Perez et al. A Modified Key Generation Scheme of Vigenère Cipher Algorithm using Pseudo-Random Number and Alphabet Extension
Manliclic et al. Improving the extended 10x10 polybius square key matrix for playfair bifid and polybius cipher
Licayan et al. Performance Analysis of Playfair Cipher Color Substitution Variants
Shaker et al. New design of efficient non-linear stream key generator
Deb et al. Study of NLFSR and reasonable security improvement on trivium cipher

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100423

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150