【0001】[0001]
【発明の属する技術分野】本発明は、簡易な構成でかつ
暗号に使用しても安全な乱数生成装置及び方法、その疑
似乱数生成器を用いた暗号化装置及び方法、復号装置及
び方法、並びにストリーム暗号システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for generating a random number which has a simple configuration and is safe to use for encryption, an apparatus and method for encryption using the pseudo-random number generator, an apparatus and method for decryption, and Related to stream cipher systems.
【0002】[0002]
【従来の技術】現在、暗号方式として様々なものが知ら
れているが、その1つに加算型ストリーム暗号がある。
加算型ストリーム暗号は、良く知られているように、暗
号側と復号側で同一または同一の論理構造の疑似乱数生
成器を持ち、暗号側では平文メッセージと共通鍵にて示
される初期状態にセットされた疑似乱数生成器から出力
される乱数系列(鍵系列)とをビット単位に足し込む
(排他的論理和が良く用いられる)ことで暗号化を行
い、復号側ではこの暗号化されたメッセージを入力とし
て暗号側と同一の手順を実行することにより復号化を行
うものである。2. Description of the Related Art At present, various encryption methods are known, and one of them is an addition type stream encryption.
As is well known, the addition type stream cipher has a pseudo-random number generator having the same or the same logical structure on the encryption side and the decryption side, and sets the encryption side to an initial state indicated by a plaintext message and a common key. The random number sequence (key sequence) output from the generated pseudo random number generator is added in bit units (exclusive OR is often used) to perform encryption, and the decryption side encrypts the encrypted message. The decryption is performed by executing the same procedure as the encryption side as an input.
【0003】このような加算型ストリーム暗号のなかで
も、M系列を出力する線形フィードバックシフトレジス
タを疑似乱数生成器として利用する構成は、装置規模が
小さくなることもあり、良く用いられている。図13に
線形フィードバックシフトレジスタの原理図を示す。図
中のC1 〜Cn は予め0または1に定められ、n段のシ
フトレジスタSi-k の値のうちCk =1であるものの排
他的論理和が出力Siになり、シフト動作においてこの
Si がフィードバックされる。また、線形フィードバッ
クシフトレジスタをセットする初期状態が共通鍵とな
る。[0003] Among such addition type stream ciphers, a configuration in which a linear feedback shift register that outputs an M-sequence is used as a pseudo-random number generator is often used because the device scale can be reduced. FIG. 13 shows a principle diagram of the linear feedback shift register. In the figure, C1 to Cn are previously set to 0 or 1, and the exclusive OR of the value of Ck = 1 among the values of the n-stage shift register Sik becomes the output Si.Si is fed back. The initial state of setting the linear feedback shift register is a common key.
【0004】しかしながら、線形フィードバックシフト
レジスタ自体は、レジスタ長の2倍の出力を観測するこ
とで、その構造と初期状態のすべてを特定することが可
能なので、加算型ストリーム暗号に用いる疑似乱数生成
器としては、安全性に関して問題がある。また、線形フ
ィードバックレジスタを疑似乱数生成器として用いるた
めに、レジスタ長を長くして安全性を高めようとするこ
とは、装置規模の点から問題がある。However, the linear feedback shift register itself can specify all of its structure and initial state by observing the output twice as long as the register length. As such, there is a problem with regard to safety. Further, in order to use the linear feedback register as a pseudo-random number generator, increasing the register length to enhance security has a problem in terms of the device scale.
【0005】そこで、複数の線形フィードバックシフト
レジスタの出力を非線形コンバイナで結合する手法や、
線形フィードバックシフトレジスタの出力に非線形変換
を施す手法等が開発されている(例えば文献1「暗号理
論入門」、共立出版株式会社、岡本栄司著、1993年
発行などに詳しい)。Therefore, a method of combining the outputs of a plurality of linear feedback shift registers with a nonlinear combiner,
A method of performing non-linear conversion on the output of the linear feedback shift register has been developed (for example, see Reference 1 "Introduction to Cryptography", Kyoritsu Shuppan Co., Ltd., Eiji Okamoto, published in 1993).
【0006】しかし、複数の線形フィードバックシフト
レジスタの出力を非線形コンバイナで結合する方式で
は、線形複雑度はたかだか各線形フィードバックシフト
レジスタのレジスタ長の積程度にしかならない。However, in a system in which the outputs of a plurality of linear feedback shift registers are combined by a non-linear combiner, the linear complexity is at most about the product of the register lengths of the respective linear feedback shift registers.
【0007】ここで、線形複雑度は、疑似乱数生成器の
解読しずらさ、すなわち暗号学的な安全性を計るための
尺度として用いられる指標で、「ある初期値から始めれ
ば同じ出力と同じ周期をもつという意味で等価な線形フ
ィードバックシフトレジスタのレジスタ長」と定義され
る(文献1参照)。[0007] Here, the linear complexity is an index used as a measure for measuring the difficulty of deciphering a pseudo-random number generator, that is, a measure of cryptographic security. (Equivalent to the register length of the linear feedback shift register) (see Document 1).
【0008】そこで、装置規模に比して線形複雑度が大
きくなる疑似乱数生成器があれば、経済的にも安全性の
観点からも非常に都合が良い。そのような疑似乱数生成
器の候補として、加算ジェネレータ(summatio
n generator;例えば文献2“APPLID
E CRYPTOGRAPHY”、John Wile
y & Sons,Inc.社、1996年発行、p
p.386〜387に詳しい)が提案された。図14に
加算ジェネレータの一例を示す。この場合、シフトレジ
スタb1 とb2 とキャリアの和を2で割った剰余をシフ
トレジスタにフィードバックするとともに、b1 とb2
とキャリアの和を2で割った商を新たなキャリアとして
保持する動作を繰り返す。Therefore, if there is a pseudorandom number generator whose linear complexity is larger than the scale of the apparatus, it is very convenient from the viewpoint of economy and security. As a candidate of such a pseudo-random number generator, an addition generator (summatio
n generator; for example, Reference 2 “APPLID
E CRYPTOGRAPHY ", John Wile
y & Sons, Inc. Sha, published in 1996, p
p. 386-387). FIG. 14 shows an example of the addition generator. In this case, the remainder obtained by dividing the sum of the shift registers b1 and b2 and the carrier by 2 is fed back to the shift register, and b1 and b2
The operation of holding the quotient obtained by dividing the sum of the data and the carrier by 2 as a new carrier is repeated.
【0009】ところが、加算ジェネレータの線形複雑度
は線形フィードバックシフトレジスタのレジスタ長の指
数程度となることが知られているが、加算ジェネレータ
は既に解読されており、加算型ストリーム暗号に用いる
疑似乱数生成器としては、安全性に関して問題がある。However, it is known that the linear complexity of the addition generator is approximately equal to the exponent of the register length of the linear feedback shift register. As a container, there is a problem with respect to safety.
【0010】[0010]
【発明が解決しようとする課題】以上説明したように、
従来、小さな装置規模で安全性の高いストリーム暗号を
実現し得る線形複雑度の大きな乱数生成装置は知られて
いなかった。本発明は、上記事情を考慮してなされたも
ので、装置規模に比して線形複雑度が大きく暗号的にも
安全な乱数生成装置及び方法、暗号化装置及び方法、復
号装置及び方法、並びにストリーム暗号システムを提供
することを目的とする。As described above,
Heretofore, there has been no known random number generation device having a large linear complexity that can realize a highly secure stream cipher with a small device scale. The present invention has been made in view of the above circumstances, and has a large linear complexity as compared to the device scale, and a cryptographically secure random number generation device and method, an encryption device and method, a decryption device and method, and It is an object to provide a stream cipher system.
【0011】[0011]
【課題を解決するための手段】本発明(請求項1)に係
る乱数生成装置は、所定の初期状態をもとに第1の乱数
系列を生成する第1の乱数生成手段と、所定の初期状態
をもとに第2の乱数系列を生成する第2の乱数生成手段
と、生成された前記第1の乱数系列を、生成された前記
第2の乱数系列に基づいて順序変更する変換手段とを備
えたことを特徴とする。A random number generation device according to the present invention (claim 1) includes: a first random number generation means for generating a first random number sequence based on a predetermined initial state; Second random number generation means for generating a second random number sequence based on the state, and conversion means for changing the order of the generated first random number sequence based on the generated second random number sequence; It is characterized by having.
【0012】本発明(請求項2)に係る乱数生成装置
は、所定の初期状態をもとに第1の乱数系列を所定のビ
ット長単位に生成する第1の線形フィードバックシフト
レジスタと、所定の初期状態をもとに第2の乱数系列を
所定のビット長単位に生成する第2の線形フィードバッ
クシフトレジスタと、前記第2の線形フィードバックシ
フトレジスタから与えられた前記所定のビット長の乱数
にて示されるアドレスに格納されている内容を出力した
後に、該アドレスに前記第1の線形フィードバックシフ
トレジスタから与えられた前記所定のビット長の乱数を
格納する記憶装置とを備えたことを特徴とする。[0012] A random number generation device according to the present invention (Claim 2) comprises: a first linear feedback shift register for generating a first random number sequence in predetermined bit length units based on a predetermined initial state; A second linear feedback shift register for generating a second random number sequence in predetermined bit length units based on the initial state, and a random number having the predetermined bit length given from the second linear feedback shift register After outputting the content stored at the indicated address, storing the random number having the predetermined bit length given from the first linear feedback shift register at the address. .
【0013】なお、1つの線形フィードバックシフトレ
ジスタのみ設け、これを第1の線形フィードバックシフ
トレジスタおよび第2の線形フィードバックシフトレジ
スタとして用いても良い。It is to be noted that only one linear feedback shift register may be provided and used as the first linear feedback shift register and the second linear feedback shift register.
【0014】また、一部または全部の線形フィードバッ
クシフトレジスタを、他の公知の乱数生成器に置き換え
ても良い。本発明(請求項3)に係る乱数生成装置は、
所定の初期状態をもとに2値乱数を順次出力する第1の
線形フィードバックシフトレジスタと、所定の初期状態
をもとに2値乱数を順次出力する第2の線形フィードバ
ックシフトレジスタと、前記第2の線形フィードバック
シフトレジスタから与えられた所定のビット長の乱数に
て示されるアドレスに格納されている内容を出力した後
に、該アドレスに前記第1の線形フィードバックシフト
レジスタから与えられた所定のビット長の乱数を格納す
る第1の記憶装置と、前記第1の線形フィードバックシ
フトレジスタから与えられた所定のビット長の乱数にて
示されるアドレスに格納されている内容を出力した後
に、該アドレスに前記第2の線形フィードバックシフト
レジスタから与えられた所定のビット長の乱数を格納す
る第2の記憶装置と、前記第1の記憶装置から出力され
た所定のビット長の乱数と前記第2の記憶装置から出力
された所定のビット長の乱数とを入力とする非線形変換
処理を行って所定のビット長の乱数を生成して出力する
非線形コンバイナとを備えたことを特徴とする。Further, some or all of the linear feedback shift registers may be replaced with other known random number generators. The random number generation device according to the present invention (claim 3)
A first linear feedback shift register that sequentially outputs binary random numbers based on a predetermined initial state, a second linear feedback shift register that sequentially outputs binary random numbers based on a predetermined initial state, After outputting the content stored in the address indicated by the random number having the predetermined bit length given from the second linear feedback shift register, the predetermined bit given from the first linear feedback shift register is stored in the address. A first storage device for storing a long random number, and after outputting the content stored at the address indicated by the random number having a predetermined bit length given from the first linear feedback shift register, A second storage device for storing a random number having a predetermined bit length given from the second linear feedback shift register; A non-linear conversion process is performed using a random number of a predetermined bit length output from the first storage device and a random number of a predetermined bit length output from the second storage device as input, and the random number of a predetermined bit length is performed. And a non-linear combiner for generating and outputting the same.
【0015】なお、第1の線形フィードバックシフトレ
ジスタを記憶装置に格納するデータ用と記憶装置に与え
るアドレス用で共用する代わりに、データ専用とアドレ
ス専用の2つの線形フィードバックシフトレジスタを設
けても良い。同様に、第2の線形フィードバックシフト
レジスタも共用する代わりに、データ専用とアドレス専
用の2つの線形フィードバックシフトレジスタを設けて
も良い。Note that instead of sharing the first linear feedback shift register for data stored in the storage device and for the address given to the storage device, two linear feedback shift registers dedicated to data and dedicated to addresses may be provided. . Similarly, instead of sharing the second linear feedback shift register, two linear feedback shift registers dedicated to data and addresses may be provided.
【0016】また、一部または全部の線形フィードバッ
クシフトレジスタを、他の公知の乱数生成器に置き換え
ても良い。本発明に係る乱数生成装置における一部また
は全部の線形フィードバックシフトレジスタを、本発明
に係る乱数生成装置自体で置き換えても良い。この置き
換えは、何階層に渡って行っても良い。Further, some or all of the linear feedback shift registers may be replaced by another known random number generator. Some or all of the linear feedback shift registers in the random number generation device according to the present invention may be replaced with the random number generation device itself according to the present invention. This replacement may be performed over any number of layers.
【0017】本発明(請求項4)に係る乱数生成方法
は、所定の初期状態をもとに生成した第1の乱数系列
を、所定の初期状態をもとに生成した第2の乱数系列に
基づいて順序変更して出力することを特徴とする。In the random number generation method according to the present invention (claim 4), a first random number sequence generated based on a predetermined initial state is converted to a second random number sequence generated based on a predetermined initial state. It is characterized by changing the order based on the output.
【0018】本発明(請求項5)に係る乱数生成方法
は、所定の初期状態をもとに第1の乱数系列を生成する
第1の線形フィードバックシフトレジスタにより所定の
ビット長の乱数を所定個数生成し、生成された前記乱数
夫々を、記憶装置の各アドレスの内容として格納し、所
定の初期状態をもとに第2の乱数系列を生成する第2の
線形フィードバックシフトレジスタにより生成された所
定のビット長の乱数にて示される前記記憶装置のアドレ
スに格納されている内容を乱数として出力し、この内容
を出力された前記記憶装置のアドレスに、前記第1の線
形フィードバックシフトレジスタにより生成された所定
のビット長の乱数を格納し、以降、前記記憶装置から出
力された乱数系列が所定の長さに達するまで、前記記憶
装置からの乱数の出力と前記記憶装置への乱数の格納を
繰り返し実行することを特徴とする。According to a fifth aspect of the present invention, there is provided a random number generating method according to the first aspect, wherein a first linear feedback shift register for generating a first random number sequence based on a predetermined initial state is used to generate a predetermined number of random numbers having a predetermined bit length. Each of the generated random numbers is stored as the contents of each address of the storage device, and the predetermined random number is generated by a second linear feedback shift register that generates a second random number sequence based on a predetermined initial state. The content stored at the address of the storage device indicated by a random number having a bit length of is output as a random number, and the content is generated by the first linear feedback shift register at the output address of the storage device. The random number having a predetermined bit length is stored, and thereafter, the random number is output from the storage device until the random number sequence output from the storage device reaches a predetermined length. Characterized by a run repeatedly stored random number to the storage device.
【0019】本発明(請求項6)に係る乱数生成方法
は、所定の初期状態をもとに第1の乱数系列を生成する
第1の線形フィードバックシフトレジスタにより所定の
ビット長の乱数を所定個数生成し、生成された前記乱数
夫々を、第1の記憶装置の各アドレスの内容として格納
するとともに、所定の初期状態をもとに第2の乱数系列
を生成する第2の線形フィードバックシフトレジスタに
より所定のビット長の乱数を所定個数生成し、生成され
た前記乱数夫々を、第2の記憶装置の各アドレスの内容
として格納し、前記第2の線形フィードバックシフトレ
ジスタにより生成された所定のビット長の乱数にて示さ
れる前記第1の記憶装置のアドレスに格納されている内
容を出力して2入力1出力の非線形コンバイナに与える
とともに、前記第1の線形フィードバックシフトレジス
タにより生成された所定のビット長の乱数にて示される
前記第2の記憶装置のアドレスに格納されている内容を
出力して前記非線形コンバイナに与え、この非線形コン
バイナにより非線形変換処理を行って所定のビット長の
乱数を生成して出力し、前記第1の記憶装置の前記内容
の出力されたアドレスに、前記第1の線形フィードバッ
クシフトレジスタにより生成された所定のビット長の乱
数を格納するとともに、前記第2の記憶装置の前記内容
の出力されたアドレスに、前記第2の線形フィードバッ
クシフトレジスタにより生成された所定のビット長の乱
数を格納し、以降、前記非線形コンバイナから出力され
た乱数系列が所定の長さに達するまで、前記第1および
第2の記憶装置からの乱数の出力をもとにした非線形変
換処理と前記第1および第2の記憶装置への乱数の格納
を繰り返し実行することを特徴とする。According to the random number generation method of the present invention (claim 6), a first linear feedback shift register for generating a first random number sequence based on a predetermined initial state allows a predetermined number of random numbers of a predetermined bit length to be generated. Each of the generated random numbers is stored as the content of each address in the first storage device, and is generated by a second linear feedback shift register that generates a second random number sequence based on a predetermined initial state. A predetermined number of random numbers having a predetermined bit length are generated, and each of the generated random numbers is stored as the contents of each address of the second storage device, and the predetermined bit length generated by the second linear feedback shift register is generated. The content stored at the address of the first storage device indicated by the random number is output to be given to the two-input one-output nonlinear combiner, and the first The content stored in the address of the second storage device indicated by the random number having a predetermined bit length generated by the linear feedback shift register is output and given to the nonlinear combiner, and the nonlinear combiner performs nonlinear conversion processing. Then, a random number having a predetermined bit length is generated and output, and the random number having a predetermined bit length generated by the first linear feedback shift register is added to the output address of the content in the first storage device. At the same time, the random number having a predetermined bit length generated by the second linear feedback shift register is stored at the output address of the content in the second storage device, and thereafter, the random number is output from the nonlinear combiner. Until the random number sequence reaches a predetermined length, the output of the random numbers from the first and second storage devices is also performed. Characterized by non-linear transformation processing and repeatedly stored random number to said first and second storage device execute you.
【0020】本発明(請求項7)に係る暗号処理装置
は、共通鍵により与えられる所定の初期状態をもとに生
成した第1の乱数系列を、共通鍵により与えられる所定
の初期状態をもとに生成した第2の乱数系列に基づいて
順序変更して、鍵系列として出力する乱数生成手段と、
平文および暗号文の一方の2値系列と前記鍵系列とをも
とに予め定められた論理演算を行って平文および暗号文
の他方の2値系列を生成する論理演算手段とを備えたこ
とを特徴とする。The cryptographic processing device according to the present invention (claim 7) converts the first random number sequence generated based on the predetermined initial state given by the common key to the predetermined initial state given by the common key. And a random number generating means for changing the order based on the second random number sequence generated and outputting as a key sequence;
A logical operation means for performing a predetermined logical operation based on one of the binary sequence of the plaintext and the ciphertext and the key sequence to generate the other binary sequence of the plaintext and the ciphertext. Features.
【0021】本発明(請求項9)に係る暗号処理方法
は、共通鍵により与えられる所定の初期状態をもとに生
成した第1の乱数系列を、共通鍵により与えられる所定
の初期状態をもとに生成した第2の乱数系列に基づいて
順序変更して、鍵系列として出力し、平文および暗号文
の一方の2値系列と前記鍵系列とをもとに予め定められ
た論理演算を行って平文および暗号文の他方の2値系列
を生成することを特徴とする。[0021] In the encryption processing method according to the present invention (claim 9), a first random number sequence generated based on a predetermined initial state given by a common key is also converted to a predetermined initial state given by a common key. The order is changed based on the second random number sequence generated as above, output as a key sequence, and a predetermined logical operation is performed based on the binary sequence of one of plaintext and ciphertext and the key sequence. And generating the other binary sequence of the plaintext and the ciphertext.
【0022】本発明(請求項10)に係る暗号化装置
は、共通鍵により与えられる所定の初期状態をもとに生
成した第1の乱数系列を、共通鍵により与えられる所定
の初期状態をもとに生成した第2の乱数系列に基づいて
順序変更して、鍵系列として出力する乱数生成手段と、
平文の2値系列と前記鍵系列とをもとに予め定められた
論理演算を行って暗号文の2値系列を生成する論理演算
手段とを備えたことを特徴とする。[0022] The encryption device according to the present invention (claim 10) converts the first random number sequence generated based on the predetermined initial state given by the common key to the predetermined initial state given by the common key. And a random number generating means for changing the order based on the second random number sequence generated and outputting as a key sequence;
A logical operation means for performing a predetermined logical operation based on the binary sequence of the plaintext and the key sequence to generate a binary sequence of the ciphertext.
【0023】本発明(請求項11)に係る暗号化方法
は、共通鍵により与えられる所定の初期状態をもとに生
成した第1の乱数系列を、共通鍵により与えられる所定
の初期状態をもとに生成した第2の乱数系列に基づいて
順序変更して、鍵系列として出力し、平文の2値系列と
前記鍵系列とをもとに予め定められた論理演算を行って
暗号文の2値系列を生成することを特徴とする。[0023] In the encryption method according to the present invention (claim 11), the first random number sequence generated based on the predetermined initial state given by the common key may be converted to the predetermined initial state given by the common key. The order is changed based on the second random number sequence generated as above, is output as a key sequence, and a predetermined logical operation is performed based on the binary sequence of the plaintext and the key sequence to perform the encryption of the ciphertext. It is characterized by generating a value series.
【0024】本発明(請求項12)に係る復号装置は、
共通鍵により与えられる所定の初期状態をもとに生成し
た第1の乱数系列を、共通鍵により与えられる所定の初
期状態をもとに生成した第2の乱数系列に基づいて順序
変更して、鍵系列として出力する乱数生成手段と、暗号
文の2値系列と前記鍵系列とをもとに予め定められた論
理演算を行ってもとの平文の2値系列を生成する論理演
算手段とを備えたことを特徴とする。The decoding device according to the present invention (claim 12)
Changing the order of a first random number sequence generated based on a predetermined initial state given by a common key based on a second random number sequence generated based on a predetermined initial state given by a common key; Random number generating means for outputting as a key sequence, and logical operation means for generating a binary sequence of the original plain text by performing a predetermined logical operation based on the binary sequence of the cipher text and the key sequence. It is characterized by having.
【0025】本発明(請求項13)に係る復号方法は、
共通鍵により与えられる所定の初期状態をもとに生成し
た第1の乱数系列を、共通鍵により与えられる所定の初
期状態をもとに生成した第2の乱数系列に基づいて順序
変更して、鍵系列として出力し、暗号文の2値系列と前
記鍵系列とをもとに予め定められた論理演算を行っても
との平文の2値系列を生成することを特徴とする。The decoding method according to the present invention (claim 13)
Changing the order of a first random number sequence generated based on a predetermined initial state given by a common key based on a second random number sequence generated based on a predetermined initial state given by a common key; A key sequence is output, and a binary sequence of the original plaintext is generated by performing a predetermined logical operation based on the binary sequence of the ciphertext and the key sequence.
【0026】本発明(請求項14)は、所定の共通鍵を
もとに平文を暗号文に変換する暗号化装置と該所定の共
通鍵をもとに暗号文をもとの平文に変換する復号装置と
該暗号化装置から該復号装置へ暗号文を伝える所定の媒
体とを備えたストリーム暗号システムにおいて、前記暗
号化装置は、共通鍵により与えられる所定の初期状態を
もとに生成した第1の乱数系列を、共通鍵により与えら
れる所定の初期状態をもとに生成した第2の乱数系列に
基づいて順序変更して、鍵系列として出力する乱数生成
手段と、平文の2値系列と前記鍵系列とをもとに予め定
められた論理演算を行って暗号文の2値系列を生成する
論理演算手段とを備え、前記復号装置は、共通鍵により
与えられる所定の初期状態をもとに生成した第1の乱数
系列を、共通鍵により与えられる所定の初期状態をもと
に生成した第2の乱数系列に基づいて順序変更して、鍵
系列として出力する、前記乱数生成手段と同一の論理構
造を持つ乱数生成手段と、暗号文の2値系列と前記鍵系
列とをもとに前記論理演算と同一の論理演算を行っても
との平文の2値系列を生成する論理演算手段とを備えた
ことを特徴とする。According to the present invention (claim 14), an encryption device for converting a plaintext into a ciphertext based on a predetermined common key and a ciphertext based on the predetermined common key are converted into the original plaintext. In a stream cipher system including a decryption device and a predetermined medium for transmitting a ciphertext from the encryption device to the decryption device, the encryption device generates a second encryption key based on a predetermined initial state given by a common key. A random number generating means for changing the order of one random number sequence based on a second random number sequence generated based on a predetermined initial state given by a common key and outputting the same as a key sequence; Logical operation means for performing a predetermined logical operation on the basis of the key sequence to generate a binary sequence of ciphertexts, wherein the decryption device is configured to execute a predetermined initial state given by a common key. The first random number sequence generated in Random number generation means having the same logical structure as the random number generation means, which changes the order based on a second random number sequence generated based on a given initial state given and outputs the key sequence; A logical operation means for generating the original plaintext binary sequence by performing the same logical operation as the logical operation based on the binary sequence and the key sequence.
【0027】本発明(請求項15)は、一方の処理装置
にて所定の共通鍵をもとに平文を暗号文に変換し、該暗
号文を所定の媒体に出力し、他方の処理装置にて該暗号
文を該所定の媒体を通じて入力し、該所定の共通鍵をも
とに暗号文をもとの平文に変換するストリーム暗号シス
テムにおいて、前記処理装置は、共通鍵により与えられ
る所定の初期状態をもとに生成した第1の乱数系列を、
共通鍵により与えられる所定の初期状態をもとに生成し
た第2の乱数系列に基づいて順序変更して、鍵系列とし
て出力する乱数生成手段と、平文および暗号文の一方の
2値系列と前記鍵系列とをもとに予め定められた論理演
算を行って平文および暗号文の他方の2値系列を生成す
る論理演算手段とを備えたことを特徴とする。According to the present invention (claim 15), one processing device converts a plaintext into a ciphertext based on a predetermined common key, outputs the ciphertext to a predetermined medium, and outputs the ciphertext to the other processing device. In the stream cipher system for inputting the ciphertext through the predetermined medium and converting the ciphertext into the original plaintext based on the predetermined common key, the processing device includes a predetermined initial value given by the common key. The first random number sequence generated based on the state is
Random number generation means for changing the order based on a second random number sequence generated based on a predetermined initial state given by a common key and outputting the sequence as a key sequence, and a binary sequence of one of plaintext and ciphertext; A logical operation means for performing a predetermined logical operation based on the key sequence to generate the other binary sequence of the plaintext and the ciphertext.
【0028】本発明における論理演算は、例えば、ビッ
ト単位の排他的論理和演算である。なお、本発明の暗号
処理、暗号装置、復号装置の乱数生成手段には、請求項
2の乱数生成装置や請求項3の乱数生成装置や上述した
ようにこれらを変形したものを適用することもできる。The logical operation in the present invention is, for example, an exclusive OR operation in bit units. Note that the random number generation means of the encryption processing, encryption device, and decryption device of the present invention may employ the random number generation device of claim 2, the random number generation device of claim 3, or a modified version of these. it can.
【0029】本発明では、記憶装置を緩衝域として用
い、第1の線形フィードバックシフトレジスタAの出力
を該記憶装置のアドレスとして入力し、該アドレスに記
憶されている内容を乱数として出力し、該アドレスに第
2の線形フィードバックシフトレジスタBの出力をデー
タ入力として記憶することで、線形複雑度の大きな乱数
生成装置を実現することができる。In the present invention, the storage device is used as a buffer area, the output of the first linear feedback shift register A is input as the address of the storage device, and the content stored at the address is output as a random number. By storing the output of the second linear feedback shift register B as the data input at the address, it is possible to realize a random number generation device having high linear complexity.
【0030】線形フィードバックシフトレジスタAとB
のレジスタ長を各々LA,LBとする。請求項2等に係
る発明のように記憶装置を緩衝域として用いる乱数生成
装置での線形複雑度は、ほぼLA×2LBである。Linear feedback shift registers A and B
Are LA and LB, respectively. The linear complexity of the random number generation device using the storage device as a buffer area as in the invention according to claim 2 is approximately LA × 2LB.
【0031】請求項3等に係る発明の2つの記憶装置を
互いの緩衝域として用いる乱数生成器での線形複雑度
は、ほぼ2LA×2LBである。また、乱数生成装置を用い
るストリーム暗号では、暗号の解読しずらさという意味
での安全性を計るための尺度として、線形複雑度が用い
られる。つまり、線形装置規模に比して線形複雑度が大
きいことは、安価に安全な暗号装置を構築できることを
意味する。The linear complexity of the random number generator using the two storage devices according to the third aspect of the present invention as a buffer for each other is approximately 2LA × 2LB. In a stream cipher using a random number generation device, linear complexity is used as a measure for measuring security in terms of the difficulty of decrypting the cipher. That is, the fact that the linear complexity is larger than the linear device scale means that a secure cryptographic device can be constructed at low cost.
【0032】このように本発明によれば、少ない装置規
模で大きな線形複雑度を達成できるので、経済的に安全
な暗号を実現できる。なお、上記の発明は、相当する手
順あるいは手段をコンピュータに実行させるためのプロ
グラムを記録した機械読取り可能な媒体としても成立す
る。As described above, according to the present invention, a large linear complexity can be achieved with a small device scale, so that an economically secure encryption can be realized. The above-described invention is also realized as a machine-readable medium storing a program for causing a computer to execute the corresponding procedure or means.
【0033】[0033]
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。本発明に係る乱数生成装置およ
び方法は、装置規模に比して大きな線形複雑度を得るこ
とができるものであり、もちろん乱数を必要とする種々
の分野に適用可能であるが、特に、統計的性質だけでな
く予測可能性、端的に言えばアタックに対する安全性を
も問題とされる暗号、中でもストリーム暗号に好適なも
のである。Embodiments of the present invention will be described below with reference to the drawings. INDUSTRIAL APPLICABILITY The random number generation device and method according to the present invention can obtain a large linear complexity in comparison with the device scale, and can be applied to various fields that require random numbers. It is suitable for a cipher in which not only its properties but also its predictability, in short, security against attacks, are important, especially a stream cipher.
【0034】最初に、本発明の乱数生成装置および方法
の基本的な考え方について説明する。図1に、本発明の
一実施形態に係る乱数生成装置の構成を示す。First, the basic concept of the random number generation device and method of the present invention will be described. FIG. 1 shows a configuration of a random number generation device according to an embodiment of the present invention.
【0035】本乱数生成装置は、第1の乱数生成部2
と、第2の乱数生成部4と、乱数変換部6を備えてい
る。第1の乱数生成部2は、初期状態にセットされた
後、乱数系列(2値系列)aを生成し出力していく。The present random number generation device includes a first random number generation unit 2
And a second random number generation unit 4 and a random number conversion unit 6. After being set to the initial state, the first random number generation unit 2 generates and outputs a random number sequence (binary sequence) a.
【0036】同様に、第2の乱数生成部4は、初期状態
にセットされた後、乱数系列(2値系列)bを生成し出
力していく。なお、第1の乱数生成部2は、初期状態が
同一であれば、同一の乱数系列を生成する。第2の乱数
生成部4についても同様である。また、第1の乱数生成
部2や第2の乱数生成部4についての初期状態とは、例
えば内部変数あるいは各レジスタの保持する値の初期値
群であり、例えば線形フィードバックシフトレジスタに
おける各シフトレジスタの保持する初期値の組がこれに
該当する。Similarly, after being set to the initial state, the second random number generation section 4 generates and outputs a random number sequence (binary sequence) b. Note that the first random number generation unit 2 generates the same random number sequence if the initial states are the same. The same applies to the second random number generation unit 4. The initial state of the first random number generation unit 2 and the second random number generation unit 4 is, for example, an internal variable or an initial value group of values held in each register, and for example, each shift register in a linear feedback shift register. Corresponds to this.
【0037】また、第1の乱数生成部2の初期状態と第
2の乱数生成部4の初期状態は独立のものであるが、第
1の乱数生成部2と第2の乱数生成部4が同様の構成の
場合に同一のものを使用しても構わない。Although the initial state of the first random number generator 2 and the initial state of the second random number generator 4 are independent, the first random number generator 2 and the second random number generator 4 In the case of a similar configuration, the same one may be used.
【0038】乱数変換部6は、入力された2値系列の順
序を、別に入力された2値系列に基づいて入れ替えて出
力する。また、2値系列の順序の入れ替えは、連続する
所定のビット数(1ビットの場合を含む)を一纏まりと
して行われる。[0038] The random number conversion unit 6 rearranges the order of the input binary sequence based on the separately input binary sequence, and outputs it. In addition, the order of the binary sequence is interchanged with a predetermined number of consecutive bits (including the case of one bit).
【0039】入れ替えの方法は、乱数変換部6は、入力
された2値系列aの順序を、別に入力された2値系列b
に基づいて入れ替えて出力する。2値系列aの順序の入
れ替えは、連続する所定のビット数(1ビットの場合を
含む)を一纏まりとして行われる。例えば、連続する6
4ビットを一纏まりとする。The random number conversion unit 6 changes the order of the input binary sequence a to the binary sequence b
Output based on. The order of the binary sequence a is interchanged with a predetermined number of consecutive bits (including the case of one bit). For example, 6 consecutive
The four bits are grouped together.
【0040】2値系列aの順序の入れ替えの方法は、例
えば、上記の別に入力された2値系列bを連続するnビ
ット(例えば8ビット)ごとに区切って得た2進数nビ
ットの情報の系列に従って、2値系列a中のある位置の
一纏まりを他の位置(結果的に同じ位置になる場合を含
む)に移す。The method of changing the order of the binary sequence a is, for example, a method of converting n-bit binary information obtained by dividing the separately input binary sequence b into continuous n bits (for example, 8 bits). According to the sequence, a group of a certain position in the binary sequence a is moved to another position (including a case where the same position results).
【0041】2値系列aが同一でも、2値系列bが相違
すれば、乱数変換部6の出力として得られる乱数系列は
相違するものとなる。また、第1の乱数生成部2の初期
状態と第2の乱数生成部4の初期状態の組が同一であれ
ば、乱数変換部6の出力として得られる乱数系列は同一
になる。Even if the binary sequence a is the same, if the binary sequence b is different, the random number sequence obtained as the output of the random number converter 6 will be different. If the set of the initial state of the first random number generation unit 2 and the initial state of the second random number generation unit 4 are the same, the random number sequence obtained as the output of the random number conversion unit 6 will be the same.
【0042】詳しくは後述するが、この乱数変換部6
は、例えばRAMなどの記憶装置を用いることにより実
現することが可能である。図1において、第1の乱数生
成部2から出力された乱数系列aが乱数変換部6に入力
され、乱数変換部6では第2の乱数生成部4から出力さ
れた乱数系列bに基づいた手順または動作で、第1の乱
数生成部2から出力された乱数系列aの順序を入れ替え
て出力する。As will be described in detail later, the random number conversion unit 6
Can be realized by using a storage device such as a RAM. In FIG. 1, a random number sequence a output from a first random number generation unit 2 is input to a random number conversion unit 6, and the random number conversion unit 6 performs a procedure based on the random number sequence b output from the second random number generation unit 4. Alternatively, in operation, the order of the random number sequence a output from the first random number generation unit 2 is changed and output.
【0043】例えば、乱数系列aがa1 ,a2 ,a3 ,
a4 ,a5 ,a6 ,a7 ,a8 ,…(ai は0または
1)で、乱数変換部6は連続する2ビットを一纏まりと
して順序の入れ替えを行う場合、乱数変換部6から出力
される乱数系列は、乱数系列bの内容に応じて、a3 ,
a4 ,a7 ,a8 ,a1 ,a2 ,…、あるいはa5 ,a
6 ,a1 ,a2 ,a7 ,a8 ,…などとなる。For example, if the random number sequence a is a1 , a2 , a3 ,
a4 , a5 , a6 , a7 , a8 ,... (ai is 0 or 1), and the random number conversion unit 6 Are output according to the contents of the random number sequence b, a3 ,
a 4, a 7, a 8 , a 1, a 2, ..., or a5, a
6, a 1, a 2, a 7, a 8, ... and so on.
【0044】なお、図1の乱数生成装置の他の例とし
て、第1の乱数生成部2と第2の乱数生成部4とを1つ
に共通化しても良い。この場合、第1の乱数生成部2と
して所定のビット数の乱数を生成する動作と、第2の乱
数生成部4として所定のビット数の乱数を生成する動作
とを交互に行えば良い。言い換えると、この共通化され
た乱数生成装置から出力される乱数系列を、上記の2値
系列a用と2値系列b用に交互に使えば良い。As another example of the random number generation device of FIG. 1, the first random number generation unit 2 and the second random number generation unit 4 may be shared by one. In this case, an operation of generating a random number of a predetermined number of bits as the first random number generation unit 2 and an operation of generating a random number of a predetermined number of bits as the second random number generation unit 4 may be performed alternately. In other words, the random number sequence output from the common random number generation device may be used alternately for the binary sequence a and the binary sequence b.
【0045】また、図1の乱数生成装置のさらに他の例
として、図1の乱数生成装置における第1の乱数生成部
2および第2の乱数生成部4の少なくとも一方を、図1
の乱数生成装置自体で置き換えた構成にしても良い。Further, as still another example of the random number generation device of FIG. 1, at least one of the first random number generation unit 2 and the second random number generation unit 4 in the random number generation device of FIG.
May be replaced by the random number generation device itself.
【0046】次に、本発明の乱数生成装置をストリーム
暗号に適用する場合について説明する。ストリーム暗号
では、暗号側において、平文メッセージ(2値系列)と
所定の共通鍵に基づいて生成された鍵系列(2値系列)
にビット単位の所定の論理演算(一般的には排他的論理
和演算)を施して暗号文を生成し、復号側において、暗
号文(2値系列)と所定の共通鍵(暗号側で使用した鍵
と同一のもの)に基づいて生成された暗号側と同一の鍵
系列にビット単位の所定の論理演算(暗号側で使用した
演算と同一のもの)を施してもとの平文メッセージを得
る。Next, a case where the random number generation device of the present invention is applied to a stream cipher will be described. In the stream cipher, a key sequence (binary sequence) generated based on a plaintext message (binary sequence) and a predetermined common key on the encryption side.
Is subjected to a predetermined logical operation (generally, an exclusive OR operation) on a bit basis to generate a ciphertext, and the ciphertext (binary sequence) and a predetermined common key (used on the cipher A plaintext message is obtained by performing a predetermined logical operation in bit units (the same operation as used on the encryption side) on the same key sequence as the encryption side generated based on the same key as the encryption side.
【0047】このようなストリーム暗号において、上記
の鍵系列を生成する装置として、前述したまたは後述す
る本実施形態の乱数生成装置を用いると効果的である。
この場合、乱数生成装置の初期状態は、共通鍵として与
えられるようにする。In such a stream cipher, it is effective to use the above-described or later-described random number generation device of the present embodiment as a device for generating the key sequence.
In this case, the initial state of the random number generation device is given as a common key.
【0048】図2に、本発明の乱数生成装置をストリー
ム暗号に適用した暗号システムの構成例を示す。暗号側
(例えばデータを伝える媒体に通信路を用いる場合の送
信側)の暗号装置には、本実施形態の乱数生成装置10
aと、論理演算処理装置12aが備えられている。FIG. 2 shows a configuration example of an encryption system in which the random number generation device of the present invention is applied to a stream cipher. The encryption device on the encryption side (for example, the transmission side when a communication path is used as a medium for transmitting data) includes the random number generation device 10 of the present embodiment.
a and a logical operation processing device 12a.
【0049】同様に、復号側(例えばデータを伝える媒
体に通信路を用いる場合の受信側)の復号装置には、本
実施形態の乱数生成装置10bと、論理演算処理装置1
2bが備えられている。Similarly, a decoding device on the decoding side (for example, a receiving side when a communication path is used as a medium for transmitting data) includes a random number generation device 10b of this embodiment and a logical operation processing device 1
2b is provided.
【0050】乱数生成装置10aと乱数生成装置10b
とは同一または同一の論理構造を持つものであり、論理
演算処理装置12aと論理演算処理装置12bとは同一
または等価なものである。なお、ここでは、論理演算処
理装置12aと論理演算処理装置12bは、ビット単位
の排他的論理和演算を行うものとして説明する。The random number generator 10a and the random number generator 10b
Have the same or the same logical structure, and the logical operation processing device 12a and the logical operation processing device 12b are the same or equivalent. Here, the description is given on the assumption that the logical operation processing device 12a and the logical operation processing device 12b perform an exclusive OR operation on a bit basis.
【0051】図2において、暗号側と復号側との間で
は、何らかの公知の方法で共通鍵を共有しているものと
する。この共通鍵により、乱数生成装置10aおよび1
1の初期状態が与えられる。共通鍵の内容は、乱数生成
装置10aおよび11の初期状態そのものであっても良
いし、初期状態を特定可能な識別子でも良い。In FIG. 2, it is assumed that a common key is shared between the encryption side and the decryption side by any known method. With this common key, the random number generation devices 10a and 10a
An initial state of 1 is provided. The content of the common key may be the initial state itself of the random number generation devices 10a and 11 or an identifier capable of specifying the initial state.
【0052】そして、暗号側では、暗号化したい平文メ
ッセージと、所定の共通鍵により与えられる初期状態を
もとにした乱数生成装置10aの生成する乱数系列との
排他的論理和を取って、平文メッセージを暗号文に変換
し、通信路等を介して暗号側に伝える。On the encryption side, an exclusive OR of the plaintext message to be encrypted and the random number sequence generated by the random number generation device 10a based on the initial state given by the predetermined common key is calculated, and the plaintext message is obtained. The message is converted into a ciphertext and transmitted to the cipher via a communication path or the like.
【0053】暗号文を取得した復号側では、この暗号文
と、前記共通鍵により与えられる初期状態をもとにした
乱数生成器10bの生成する乱数系列との排他的論理和
を取ることにより、もとの平文メッセージを復元する。On the decryption side that has obtained the cipher text, the cipher text and the random number sequence generated by the random number generator 10b based on the initial state given by the common key are exclusive-ORed to obtain Restore the original plaintext message.
【0054】たとえ不正な盗聴者がたとえ暗号文を入手
したとしても、共通鍵を知らないので、平文を復元する
ことはできない。なお、暗号側から復号側に暗号文を渡
すための手段はどのようなものであっても構わない。例
えば、両者をネットワークで接続する方法、無線通信に
より暗号文を伝送する方法、暗号文を可搬できる記憶媒
体に格納して受け渡す方法など種々のものが考えられ
る。なお、これらに対応する機能部分は、図2において
は省略されている。Even if an unauthorized eavesdropper obtains the ciphertext, the plaintext cannot be restored because he does not know the common key. Note that any means may be used to pass the ciphertext from the encryption side to the decryption side. For example, various methods are conceivable, such as a method of connecting the both via a network, a method of transmitting ciphertext by wireless communication, and a method of storing and transferring ciphertext in a portable storage medium. Note that the functional parts corresponding to these are omitted in FIG.
【0055】また、暗号装置と復号装置で行う処理は実
質的に同じであるので、実際には、計算機などの処理装
置は、暗号装置と復号装置の両方の機能を持つことがで
きる。Further, since the processes performed by the encryption device and the decryption device are substantially the same, a processing device such as a computer can actually have both functions of the encryption device and the decryption device.
【0056】以下では、本発明の実施の形態に係る乱数
生成装置についてより詳しく説明していく。図3に、本
発明の一実施形態に係る乱数生成装置の構成を示す。ま
た、図4に、本乱数生成装置の動作の流れを示す。Hereinafter, the random number generation device according to the embodiment of the present invention will be described in more detail. FIG. 3 shows a configuration of a random number generation device according to an embodiment of the present invention. FIG. 4 shows a flow of the operation of the random number generation device.
【0057】本乱数生成装置は、第1の線形フィードバ
ックシフトレジスタ20、第2の線形フィードバックシ
フトレジスタ22、記憶装置24を備えている。第1の
線形フィードバックシフトレジスタ20および第2の線
形フィードバックシフトレジスタ22夫々の内部基本構
成は、既に説明した図13と同様のものを用いることが
できる。This random number generation device includes a first linear feedback shift register 20, a second linear feedback shift register 22, and a storage device 24. The internal basic configuration of each of the first linear feedback shift register 20 and the second linear feedback shift register 22 may be the same as that described above with reference to FIG.
【0058】第1の線形フィードバックシフトレジスタ
20と第2の線形フィードバックシフトレジスタ22の
シフトレジスタ数は、独立に設定することができる。同
数でも良いし、異なる数でも良い。また、シフトレジス
タ数が同数である場合に、第1の線形フィードバックシ
フトレジスタ20と第2の線形フィードバックシフトレ
ジスタ22の内部構造は、独立に設定することができ、
同一構造でも異なる構造でも良い。The number of shift registers of the first linear feedback shift register 20 and the second linear feedback shift register 22 can be set independently. The number may be the same or different. Further, when the number of shift registers is the same, the internal structures of the first linear feedback shift register 20 and the second linear feedback shift register 22 can be set independently,
The same structure or different structures may be used.
【0059】なお、線形フィードバックシフトレジスタ
20,22夫々の生成多項式は最大長系列を出力させる
ために既約多項式であることが望ましい。また、第1の
乱数生成部2にセットする初期状態と第2の乱数生成部
4にセットする初期状態は独立のものであるが、第1の
線形フィードバックシフトレジスタ20と第2の線形フ
ィードバックシフトレジスタ22のシフトレジスタ数が
同一の場合に、両者の初期状態を同一にしても構わな
い。The generator polynomials of the linear feedback shift registers 20 and 22 are preferably irreducible polynomials in order to output a maximum length sequence. Although the initial state set in the first random number generation unit 2 and the initial state set in the second random number generation unit 4 are independent, the first linear feedback shift register 20 and the second linear feedback shift When the number of shift registers of the register 22 is the same, the initial state of both may be the same.
【0060】上記のような第1の線形フィードバックシ
フトレジスタ20は、初期状態にセットされた後、乱数
系列(2値系列)Dを所定のビット単位(例えば64ビ
ット単位)に生成し出力していく。この単位となるビッ
ト数をu1で表す。After being set to the initial state, the first linear feedback shift register 20 generates and outputs a random number sequence (binary sequence) D in a predetermined bit unit (for example, 64 bit units). Go. The number of bits as a unit is represented by u1.
【0061】同様に、第2の乱数生成部4は、初期状態
にセットされた後、乱数系列(2値系列)Aを所定のビ
ット単位(例えば8ビット単位)に生成し出力してい
く。この単位となるビット数をu2で表す。Similarly, after being set to the initial state, the second random number generation section 4 generates and outputs a random number sequence (binary sequence) A in a predetermined bit unit (for example, in 8-bit units). The unit number of bits is represented by u2.
【0062】記憶装置24は、例えばRAMなどのよう
に指定したアドレスに対する書き込みおよび読み出しが
可能な記憶素子を用いて構成される。記憶装置24は、
少なくとも2u2(=m)種類のアドレスの夫々にu1ビ
ットのデータを格納できる容量を持つものとする。ただ
し、記憶装置24は、1つの記憶素子から構成されてい
ても複数の記憶素子から構成されていても構わない。The storage device 24 is configured using a storage element that can write and read data at a designated address, such as a RAM. The storage device 24
It is assumed that each of the at least 2u2 (= m) types of addresses has a capacity capable of storing u1 bit data. However, the storage device 24 may be composed of one storage element or a plurality of storage elements.
【0063】第1の線形フィードバックシフトレジスタ
20から逐次出力されるu1ビットの乱数は、記憶装置
24にデータ入力として与えられる。一方、第2の線形
フィードバックシフトレジスタ22から逐次出力される
u2ビットの乱数は、記憶装置24にアドレス入力とし
て与えられる。The u1-bit random number sequentially output from the first linear feedback shift register 20 is provided to the storage device 24 as a data input. On the other hand, the u2-bit random number sequentially output from the second linear feedback shift register 22 is provided to the storage device 24 as an address input.
【0064】なお、第2の線形フィードバックシフトレ
ジスタ22から出力されるu2ビットの乱数が直接、記
憶装置24のアドレスを示すものとしても良いし、間接
的に、該乱数により記憶装置24のアドレスが特定され
るようにしても良い。例えば、u2=4で乱数が“10
01”の場合に記憶装置24のアドレス“1001”が
示されるようにしても良いし、例えば定数+乱数×4な
どのアドレス変換式あるいは予め設定されたアドレス変
換テーブルにより実際のアドレスが示されるものとして
も良い。Note that the u2-bit random number output from the second linear feedback shift register 22 may directly indicate the address of the storage device 24, or indirectly, the address of the storage device 24 may be determined by the random number. It may be specified. For example, if u2 = 4 and the random number is “10
In the case of "01", the address "1001" of the storage device 24 may be indicated, or an actual address is indicated by an address conversion formula such as a constant + random number x 4 or a preset address conversion table. It is good.
【0065】なお、第2の線形フィードバックシフトレ
ジスタ22から出力されるu2ビットの乱数により、間
接的に記憶装置24のアドレスが特定されるようにする
場合における、乱数をアドレスに変換する機能部分につ
いては図示を省略した。In the case where the address of the storage device 24 is indirectly specified by the u2-bit random number output from the second linear feedback shift register 22, a function of converting the random number into an address will be described. Is not shown.
【0066】次に、図4を参照しながら本乱数生成装置
の動作について説明する。まず、初期処理として、第1
の線形フィードバックシフトレジスタ20および第2の
線形フィードバックシフトレジスタ22夫々を所望の初
期状態にセットする(ステップS1)。Next, the operation of the random number generation device will be described with reference to FIG. First, as an initial process, the first
The first and second linear feedback shift registers 20 and 22 are set to desired initial states (step S1).
【0067】そして、第1の線形フィードバックシフト
レジスタ20によりu1ビットの乱数をm個生成し、こ
れらを記憶装置24のm種類のアドレス(例えば0〜m
−1番地)に夫々格納する(ステップS2)。Then, m random numbers of u1 bits are generated by the first linear feedback shift register 20, and these are stored in the memory device 24 with m kinds of addresses (for example, 0 to m).
-1) (step S2).
【0068】m個の乱数夫々をどのアドレスに格納する
かは種々の方法が考えられるが、例えば、生成された順
番に0番地〜m−1番地へと格納していく。次に、第2
の線形フィードバックシフトレジスタ22によりu2ビ
ットの乱数を1つ生成する(ステップS3)。Various methods can be considered for storing each of the m random numbers at which address. For example, the random numbers are stored in addresses 0 to m-1 in the order of generation. Next, the second
A single u2-bit random number is generated by the linear feedback shift register 22 (step S3).
【0069】そして、記憶装置24のアドレスのうち、
ステップS3で生成された乱数にて示されるアドレスの
内容(u1ビットの2値データ)を出力する(ステップ
S4)。Then, of the addresses of the storage device 24,
The contents (u1 bit binary data) of the address indicated by the random number generated in step S3 are output (step S4).
【0070】この時点で、生成すべき乱数系列のうち最
初のu1ビットのデータが得られたことになる。次に、
第1の線形フィードバックシフトレジスタ20によりu
1ビットの乱数を1つ生成する(ステップS6)。At this point, the first u1 bit data of the random number sequence to be generated has been obtained. next,
The first linear feedback shift register 20 allows u
One one-bit random number is generated (step S6).
【0071】そして、記憶装置24のアドレスのうち、
ステップS4で内容の出力されたアドレスに、ステップ
S5で生成された乱数を格納する(ステップS7)。次
に、ステップS3に戻って第2の線形フィードバックシ
フトレジスタ22によりu2ビットの乱数を1つ生成す
る(ステップS3)。Then, of the addresses of the storage device 24,
The random number generated in step S5 is stored in the address where the content was output in step S4 (step S7). Next, returning to step S3, one u2-bit random number is generated by the second linear feedback shift register 22 (step S3).
【0072】そして、記憶装置24のアドレスのうち、
ステップS3で生成された乱数にて示されるアドレスの
内容(u1ビットの2値データ)を出力する(ステップ
S4)。Then, of the addresses of the storage device 24,
The contents (u1 bit binary data) of the address indicated by the random number generated in step S3 are output (step S4).
【0073】この時点で、生成すべき乱数系列のうち2
番目のu1ビットのデータが得られたことになり、乱数
系列としては全部でu1×2ビットのデータが得られた
ことになる。At this point, 2 out of the random number sequence to be generated
This means that the first u1 bit data has been obtained, and that a total of u1 × 2 bit data has been obtained as a random number sequence.
【0074】以降、ステップS6,S7,S3,S4の
処理ループを1回繰り返すごとに、順次、u1ビットの
乱数が生成されていく。そして、ステップS4で必要な
長さの乱数系列が得られた場合に、ステップS5でルー
プを抜けて、処理を終了する。Thereafter, each time the processing loop of steps S6, S7, S3, S4 is repeated once, a u1-bit random number is sequentially generated. Then, when a random number sequence of a required length is obtained in step S4, the process exits the loop in step S5 and ends the process.
【0075】以上により、第1の線形フィードバックシ
フトレジスタ20により生成された乱数系列を、第2の
線形フィードバックシフトレジスタ22により生成され
た乱数系列に基づいて順序変更したものが得られる。As described above, a sequence obtained by changing the order of the random number sequence generated by the first linear feedback shift register 20 based on the random number sequence generated by the second linear feedback shift register 22 is obtained.
【0076】以下では、本乱数生成装置の動作について
具体例を用いて説明する。ここでは、u2=3とし、第
2の線形フィードバックシフトレジスタ20により生成
された乱数が直接、記憶装置24のアドレスを示すもの
とする。Hereinafter, the operation of the random number generation device will be described using a specific example. Here, u2 = 3, and the random number generated by the second linear feedback shift register 20 directly indicates the address of the storage device 24.
【0077】また、第1の線形フィードバックシフトレ
ジスタ20により、乱数系列“ABCDEFGHIJK
LMN…”が生成され、第2の線形フィードバックシフ
トレジスタ22により、乱数系列“011001011
111000010…”が生成されるものとする。Further, the first linear feedback shift register 20 generates a random number sequence “ABCDEFGHIJK”.
LMN... Are generated, and the second linear feedback shift register 22 generates a random number sequence “011001011”.
111000010... "Are generated.
【0078】ここで、A〜Nの各々は、2値の乱数系列
を先頭からu1ビット毎に区切って得たデータを表すも
のとする。u2=3とするので、図5に示すように第2
の線形フィードバックシフトレジスタ20により生成さ
れた乱数系列を3ビットごとに区切って得られる“01
1”、“001”、“011”、“111”、“00
0”、“010”、…が、この順番に記憶装置24にア
ドレス入力として与えられることになる。Here, each of A to N represents data obtained by dividing a binary random number sequence from the head for each u1 bit. Since u2 = 3, as shown in FIG.
Is obtained by dividing the random number sequence generated by the linear feedback shift register 20 of FIG.
1 "," 001 "," 011 "," 111 "," 00 "
0 "," 010 ",... Are given to the storage device 24 in this order as address inputs.
【0079】動作前においては図6(a)のように記憶
装置24のアドレス000〜111には有効なデータが
格納されていない状態である。まず、m=2u2=23 =
8であるので、ステップS1において初期状態がセット
された後、ステップS2において、第1の線形フィード
バックシフトレジスタ20により、乱数系列“ABCD
EFGH”が生成され、図6(b)のように記憶装置2
4のアドレス000〜111にされる。Before the operation, as shown in FIG. 6A, valid data is not stored in the addresses 000 to 111 of the storage device 24. First, m = 2u2 = 23 =
8, the initial state is set in step S1, and in step S2, the first linear feedback shift register 20 causes the random number sequence “ABCD”
EFGH "is generated, and as shown in FIG.
4 are set to addresses 000 to 111.
【0080】次に、ステップS3にて第2の線形フィー
ドバックシフトレジスタ22により“011”が生成さ
れ、ステップS4にて記憶装置24のアドレス“01
1”の内容Dが出力される。Next, "011" is generated by the second linear feedback shift register 22 in step S3, and the address "01" of the storage device 24 is generated in step S4.
The content D of "1" is output.
【0081】そして、ステップS6にて第1の線形フィ
ードバックシフトレジスタ20により“I”が生成さ
れ、これがステップS7にて記憶装置24のアドレス
“011”に格納される。このときの記憶装置24の各
アドレスの内容を図6(c)に示す。Then, "I" is generated by the first linear feedback shift register 20 in step S6, and this is stored in the address "011" of the storage device 24 in step S7. FIG. 6C shows the contents of each address of the storage device 24 at this time.
【0082】次に、ステップS3に戻り、第2の線形フ
ィードバックシフトレジスタ22により“001”が生
成され、ステップS4にて記憶装置24のアドレス“0
01”の内容Bが出力される。Next, returning to step S3, "001" is generated by the second linear feedback shift register 22, and at step S4, the address "0" of the storage device 24 is read.
01 "is output.
【0083】そして、ステップS6にて第1の線形フィ
ードバックシフトレジスタ20により“J”が生成さ
れ、これがステップS7にて記憶装置24のアドレス
“001”に格納される。このときの記憶装置24の各
アドレスの内容を図6(d)に示す。Then, "J" is generated by the first linear feedback shift register 20 in step S6, and this is stored in the storage device 24 at the address "001" in step S7. FIG. 6D shows the contents of each address of the storage device 24 at this time.
【0084】さらに同様の処理を4回繰り返すと、乱数
系列“DBIHAC”が得られる。この間の記憶装置2
4の各アドレスの内容の遷移を図7(a)〜(d)に示
す。When the same processing is further repeated four times, a random number sequence “DBIHAC” is obtained. Storage device 2 during this time
7 (a) to 7 (d) show the transition of the contents of each address of FIG.
【0085】以上の処理を必要回数繰り返すことによ
り、所望の長さの乱数系列を得ることができる。ここ
で、図8(a)と(b)に、第1の線形フィードバック
シフトレジスタ20により生成された乱数系列と、本乱
数生成装置により生成された乱数系列を対象する形で示
す。By repeating the above process a required number of times, a random number sequence having a desired length can be obtained. Here, FIGS. 8A and 8B show a random number sequence generated by the first linear feedback shift register 20 and a random number sequence generated by the present random number generation device.
【0086】図8に示されるように、第2の線形フィー
ドバックシフトレジスタ22により生成された乱数系列
に基づいて、第1の線形フィードバックシフトレジスタ
20により生成された乱数系列が、u1ビット単位で順
序変更されて、本乱数生成装置から出力されていること
がわかる。As shown in FIG. 8, on the basis of the random number sequence generated by the second linear feedback shift register 22, the random number sequence generated by the first linear feedback shift register 20 is sequentially ordered in u1 bit units. It can be seen that it has been changed and output from the random number generation device.
【0087】なお、本乱数生成装置は、図2を用いて説
明した暗号装置および復号装置における乱数系列(鍵系
列)を生成するための乱数生成装置として用いると効果
的である。この場合、線形フィードバックシフトレジス
タ20の初期状態および線形フィードバックシフトレジ
スタ22の初期状態の組そのものまたはこれらを特定可
能な識別子が共通鍵として用いられる。The present random number generation device is effective when used as a random number generation device for generating a random number sequence (key sequence) in the encryption device and the decryption device described with reference to FIG. In this case, a set of the initial state of the linear feedback shift register 20 and the initial state of the linear feedback shift register 22 or an identifier capable of specifying these sets is used as a common key.
【0088】このような本実施形態によれば、記憶装置
を緩衝域として用いることで、装置規模に比して線形複
雑度が大きく、暗号的にも安全な乱数生成装置、あるい
はこれを有する加算型ストリーム暗号の暗号装置および
復号装置を実現することができる。According to the present embodiment, by using a storage device as a buffer area, a linearly-complexity-enhanced random number generation device as compared with the device size and a cryptographically secure random number generation device or an addition device having the same are provided. An encryption device and a decryption device of the type stream cipher can be realized.
【0089】また、装置規模に比して線形複雑度が大き
いことは、安価に安全な暗号装置および復号装置を構築
できることを意味する。ここで、本実施形態の第1およ
び第2の線形フィードバックシフトレジスタのレジスタ
長を各々LA,LBとすると、本乱数生成装置での線形
複雑度は、ほぼ LA×2LB である。Further, the fact that the linear complexity is large as compared with the device scale means that secure encryption and decryption devices can be constructed at low cost. Here, assuming that the register lengths of the first and second linear feedback shift registers of this embodiment are LA and LB, respectively, the linear complexity of the random number generation device is approximately LA × 2LB.
【0090】なお、乱数生成装置の他の構成例として、
第1の線形フィードバックシフトレジスタ20および第
2の線形フィードバックシフトレジスタ22の少なくと
も一方を、他の公知の乱数生成装置(例えば、複数の線
形フィードバックシフトレジスタの出力を非線形コンバ
イナで結合するもの、線形フィードバックシフトレジス
タの出力に非線形変換を施すもの、あるいは加算ジェネ
レータ(summation generator)な
ど)に置き換えた構成も考えられる。これを図2の暗号
装置および復号装置に適用する場合にも、もちろん、置
き換えた乱数生成装置の初期状態そのものまたはこれを
特定可能な識別子が共通鍵として用いられる。As another configuration example of the random number generation device,
At least one of the first linear feedback shift register 20 and the second linear feedback shift register 22 is connected to another known random number generation device (for example, a device combining outputs of a plurality of linear feedback shift registers with a nonlinear combiner, a linear feedback shifter). A configuration in which a non-linear conversion is performed on the output of the shift register, or a configuration in which the output is replaced with an addition generator (summation generator or the like) is also conceivable. Even when this is applied to the encryption device and the decryption device of FIG. 2, the initial state itself of the replaced random number generation device or an identifier that can specify this is used as a common key.
【0091】また、図9に示すように、乱数生成装置の
さらに他の構成例として、第1の線形フィードバックシ
フトレジスタ20と第2の線形フィードバックシフトレ
ジスタ22とを1つの線形フィードバックシフトレジス
タ26として共通化しても良い。この場合、第1の線形
フィードバックシフトレジスタ20としてu1ビットの
乱数を生成する動作と、第2の線形フィードバックシフ
トレジスタ22としてu2ビットの乱数を生成する動作
とを交互に行えば良い。さらに、この場合においても、
線形フィードバックシフトレジスタ26を、他の公知の
乱数生成装置に置き換えた構成も考えられる。Further, as shown in FIG. 9, as still another configuration example of the random number generation device, the first linear feedback shift register 20 and the second linear feedback shift register 22 are formed as one linear feedback shift register 26. It may be common. In this case, an operation of generating a u1-bit random number as the first linear feedback shift register 20 and an operation of generating a u2-bit random number as the second linear feedback shift register 22 may be performed alternately. Furthermore, in this case,
A configuration in which the linear feedback shift register 26 is replaced with another known random number generation device is also conceivable.
【0092】また、線形フィードバックシフトレジスタ
から出力される乱数系列を単に並べ変えるだけであれ
ば、例えば、線形フィードバックシフトレジスタから出
力される乱数系列を適当な長さにきって、一旦バッファ
装置に蓄積し、この適当な長さの乱数系列をランダムに
並べ変えて出力する方法も考えられるが、この場合、線
形フィードバックシフトレジスタでの乱数生成と順番の
バッファ装置における並べ変えから出力までの各処理が
バッチ的に行われるので、遅延が生じる欠点がある。こ
れに対して、本実施形態によれば、線形フィードバック
シフトレジスタでの乱数生成とバッファ装置からの出力
が短いサイクルで繰り返し行われるので、遅延が生じな
いという効果を得ることもできる。If the random number sequence output from the linear feedback shift register is simply rearranged, for example, the random number sequence output from the linear feedback shift register is cut into an appropriate length and temporarily stored in the buffer device. Then, a method of randomly rearranging and outputting the random number sequence of an appropriate length is also conceivable, but in this case, the random number generation in the linear feedback shift register and the respective processes from rearrangement to output in the buffer device in order are performed. There is a disadvantage that a delay occurs because the operation is performed in a batch. On the other hand, according to the present embodiment, since the random number generation in the linear feedback shift register and the output from the buffer device are repeatedly performed in a short cycle, it is possible to obtain an effect that no delay occurs.
【0093】図10に、本発明の他の実施形態に係る乱
数生成装置の構成を示す。また、図11に、本乱数生成
装置の動作の流れを示す。本乱数生成装置は、第1の線
形フィードバックシフトレジスタ30、第2の線形フィ
ードバックシフトレジスタ32、第1の記憶装置34、
第1の記憶装置36、非線形コンバイナ38を備えてい
る。FIG. 10 shows the configuration of a random number generation device according to another embodiment of the present invention. FIG. 11 shows a flow of the operation of the random number generation device. The random number generation device includes a first linear feedback shift register 30, a second linear feedback shift register 32, a first storage device 34,
A first storage device 36 and a nonlinear combiner 38 are provided.
【0094】本乱数生成装置は、先の実施形態で図3を
参照しながら説明した乱数生成装置を2組用意し、それ
らから得られる2つの乱数系列に非線形変換処理を施し
たものを出力するものに相当する。ただし、図10で
は、線形フィードバックシフトレジスタを各機能専用に
4個すべて設けず、併用することで2個だけ設けたもの
となっている。This random number generation device prepares two sets of the random number generation devices described in the previous embodiment with reference to FIG. 3, and outputs a result of performing a non-linear conversion process on two random number sequences obtained from them. Equivalent to something. However, in FIG. 10, not all four linear feedback shift registers are provided exclusively for each function, but only two linear feedback shift registers are provided by using them together.
【0095】すなわち、第1の線形フィードバックシフ
トレジスタ30および第2の線形フィードバックシフト
レジスタ32の基本的な構成は、先の実施形態で図3を
参照しながら説明した第1の線形フィードバックシフト
レジスタ20および第2の線形フィードバックシフトレ
ジスタ22と同様である。相違するのは、第1の線形フ
ィードバックシフトレジスタ30を第1の記憶装置34
へのデータ入力と第2の記憶装置36へのアドレス入力
の両方に使用し、第2の線形フィードバックシフトレジ
スタ32を第2の記憶装置36へのデータ入力と第1の
記憶装置34へのアドレス入力の両方に使用する点であ
る。That is, the basic configuration of the first linear feedback shift register 30 and the second linear feedback shift register 32 is the same as that of the first linear feedback shift register 20 described in the previous embodiment with reference to FIG. And the second linear feedback shift register 22. The difference is that the first linear feedback shift register 30 is stored in the first storage device 34.
The second linear feedback shift register 32 is used for both the data input to the second storage device 36 and the address input to the second storage device 36, and the data input to the second storage device 36 and the address to the first storage device 34 are performed. It is used for both inputs.
【0096】本実施形態では、第1の線形フィードバッ
クシフトレジスタ30により生成され第1の記憶装置3
4へのデータ入力となる乱数D1と、第2の線形フィー
ドバックシフトレジスタ32により生成され第2の記憶
装置36へのデータ入力となる乱数D2とは、同じビッ
ト長でも良いし、異なるビット長でも良い。In the present embodiment, the first storage device 3 generated by the first linear feedback shift register 30
4 and the random number D2 generated by the second linear feedback shift register 32 and input to the second storage device 36 may have the same bit length or different bit lengths. good.
【0097】また、第1の線形フィードバックシフトレ
ジスタ30により生成され第2の記憶装置36へのアド
レス入力となる乱数A1と、第2の線形フィードバック
シフトレジスタ32により生成され第1の記憶装置34
へのアドレス入力となる乱数A2とは、同じビット長で
も良いし、異なるビット長でも良い。Further, a random number A1 generated by the first linear feedback shift register 30 and used as an address input to the second storage device 36, and a first storage device 34 generated by the second linear feedback shift register 32.
The random number A2 used as the address input to the address may have the same bit length or a different bit length.
【0098】ようするに、本実施形態では、第1の線形
フィードバックシフトレジスタ30は、初期処理のため
に第1の記憶装置34に格納すべき必要個数の乱数を生
成した後は、第2の記憶装置36へのアドレス入力とな
る乱数A1と、第1の記憶装置34へのデータ入力とな
る乱数D1とを交互に生成し、同様に、第2の線形フィ
ードバックシフトレジスタ32は、初期処理のために第
2の記憶装置36に格納すべき必要個数の乱数を生成し
た後は、第1の記憶装置34へのアドレス入力となる乱
数A2と、第2の記憶装置36へのデータ入力となる乱
数D2とを交互に生成する。As described above, in the present embodiment, after the first linear feedback shift register 30 generates the required number of random numbers to be stored in the first storage device 34 for the initial processing, the first linear feedback shift register 30 A random number A1 serving as an address input to 36 and a random number D1 serving as a data input to the first storage device 34 are alternately generated. Similarly, the second linear feedback shift register 32 After generating the required number of random numbers to be stored in the second storage device 36, a random number A2 serving as an address input to the first storage device 34 and a random number D2 serving as a data input to the second storage device 36 Are generated alternately.
【0099】第1の記憶装置34および第2の記憶装置
36の構成は、先の実施形態で図3を参照しながら説明
した記憶装置24と同様である。非線形コンバイナ38
の機能は、例えば、2入力1出力の非線形関数fであ
る。非線形コンバイナ38としては、公知のものを使用
することができる(例えば文献1参照)。The configuration of the first storage device 34 and the second storage device 36 is the same as that of the storage device 24 described in the above embodiment with reference to FIG. Non-linear combiner 38
Is, for example, a two-input one-output nonlinear function f. As the nonlinear combiner 38, a known combiner can be used (for example, see Document 1).
【0100】また、非線形コンバイナ38は、2つの入
力データの各ビットの値をもとにした組み合わせ回路で
実現しても良い。なお、線形フィードバックシフトレジ
スタの初期状態や、記憶装置のアドレス入力となる乱数
と該乱数により示されるアドレスとの関係についても、
先に説明したものと同様である。The nonlinear combiner 38 may be realized by a combination circuit based on the value of each bit of two input data. Note that the initial state of the linear feedback shift register, and the relationship between a random number to be an address input of the storage device and the address indicated by the random number,
This is the same as that described above.
【0101】次に、図11を参照しながら本乱数生成装
置の動作について説明する。まず、初期処理として、第
1の線形フィードバックシフトレジスタ20および第2
の線形フィードバックシフトレジスタ22夫々を所望の
初期状態にセットする(ステップS11)。Next, the operation of the random number generation device will be described with reference to FIG. First, as an initial process, the first linear feedback shift register 20 and the second
Is set to a desired initial state (step S11).
【0102】そして、第1の線形フィードバックシフト
レジスタ30により所定ビットの乱数を所定個数生成
し、これらを第1の記憶装置34に格納するとともに、
第2の線形フィードバックシフトレジスタ32により所
定ビットの乱数を所定個数生成し、これらを第2の記憶
装置36に格納する(ステップS12)。Then, a predetermined number of random numbers of predetermined bits are generated by the first linear feedback shift register 30 and stored in the first storage device 34.
A predetermined number of random numbers of predetermined bits are generated by the second linear feedback shift register 32, and these are stored in the second storage device 36 (step S12).
【0103】次に、第1の線形フィードバックシフトレ
ジスタ30によりアドレス用の乱数A1を1つ生成する
とともに、第2の線形フィードバックシフトレジスタ3
2によりアドレス用の乱数A2を1つ生成する。(ステ
ップS13)。Next, one random number A1 for the address is generated by the first linear feedback shift register 30, and the second linear feedback shift register 3
2, one random number A2 for the address is generated. (Step S13).
【0104】そして、第1の記憶装置34のアドレスの
うち、ステップS13で生成された乱数A2にて示され
るアドレスの内容を出力するとともに、第2の記憶装置
36のアドレスのうち、ステップS13で生成された乱
数A1にて示されるアドレスの内容を出力する(ステッ
プS14)。Then, among the addresses of the first storage device 34, the contents of the address indicated by the random number A2 generated in step S13 are output, and the addresses of the second storage device 36 are output in step S13. The contents of the address indicated by the generated random number A1 are output (step S14).
【0105】さらに、非線形コンバイナ38により、ス
テップS14にて第1の記憶装置34および第2の記憶
装置36夫々から出力されたデータをもとにした所定の
被線形変換処理を実行して、得られたデータを出力する
(ステップS15)。Further, at step S14, the nonlinear combiner 38 executes a predetermined linear conversion process based on the data output from the first storage device 34 and the data output from the second storage device 36, respectively. The obtained data is output (step S15).
【0106】この時点で、生成すべき乱数系列のうち最
初の所定ビット分のデータが得られたことになる。次
に、第1の線形フィードバックシフトレジスタ30によ
りデータ用の乱数D1を1つ生成するとともに、第2の
線形フィードバックシフトレジスタ32によりデータ用
の乱数D2を1つ生成する(ステップS17)。At this point, data of the first predetermined bits of the random number sequence to be generated has been obtained. Next, one random number D1 for data is generated by the first linear feedback shift register 30, and one random number D2 for data is generated by the second linear feedback shift register 32 (step S17).
【0107】そして、第1の記憶装置34のアドレスの
うち、ステップS14で内容の出力されたアドレスに、
ステップS17で生成された乱数D1を格納するととも
に、第2の記憶装置36のアドレスのうち、ステップS
14で内容の出力されたアドレスに、ステップS17で
生成された乱数D2を格納する(ステップS18)。Then, of the addresses in the first storage device 34, the addresses whose contents have been output in step S14 are
The random number D1 generated in step S17 is stored, and the address in the second storage device 36 is stored in step S17.
The random number D2 generated in step S17 is stored in the address where the content was output in step 14 (step S18).
【0108】次に、ステップS13に戻って上記と同様
に乱数A1とA2を生成し(ステップS13)、各記憶
装置24,26において乱数A2,A1にて示されるア
ドレスの内容を夫々出力し(ステップS14)、この2
つの出力をもとにした所定の被線形変換処理により得ら
れたデータを出力する(ステップS15)。Next, returning to step S13, random numbers A1 and A2 are generated in the same manner as described above (step S13), and the contents of the addresses indicated by the random numbers A2 and A1 are output from the storage devices 24 and 26, respectively ( Step S14), this 2
The data obtained by the predetermined linear conversion process based on the two outputs is output (step S15).
【0109】この時点で、生成すべき乱数系列のうち2
番目の所定ビットのデータが得られたことになる。以
降、ステップS17,S18,S13,S14,S15
の処理ループを1回繰り返すごとに、順次、所定ビット
の乱数が生成されていく。At this point, 2 out of the random number sequence to be generated
This means that the data of the predetermined bit is obtained. Hereinafter, steps S17, S18, S13, S14, S15
Each time this processing loop is repeated once, a random number of predetermined bits is sequentially generated.
【0110】そして、ステップS15で必要な長さの乱
数系列が得られた場合に、ステップS16でループを抜
けて、処理を終了する。なお、本乱数生成装置は、図2
を用いて説明した暗号装置および復号装置における乱数
系列(鍵系列)を生成するための乱数生成装置として用
いると効果的である。この場合、線形フィードバックシ
フトレジスタ30の初期状態および線形フィードバック
シフトレジスタ32の初期状態の組そのものまたはこれ
らを特定可能な識別子が共通鍵として用いられる。When a random number sequence having a required length is obtained in step S15, the process exits the loop in step S16 and ends the processing. Note that the random number generation device is configured as shown in FIG.
It is effective when used as a random number generation device for generating a random number sequence (key sequence) in the encryption device and the decryption device described using. In this case, a set of the initial state of the linear feedback shift register 30 and the initial state of the linear feedback shift register 32 itself or an identifier capable of specifying them is used as a common key.
【0111】このような本実施形態によれば、記憶装置
を緩衝域として用いることで、装置規模に比して線形複
雑度が大きく、暗号的にも安全な乱数生成装置、あるい
はこれを有する加算型ストリーム暗号の暗号装置および
復号装置を実現することができる。According to the present embodiment, by using a storage device as a buffer area, a linearly-complexity-enhanced random number generation device as compared with the device size, and a cryptographically secure random number generation device, or an addition device having the same. An encryption device and a decryption device of the type stream cipher can be realized.
【0112】また、装置規模に比して線形複雑度が大き
いことは、安価に安全な暗号装置および復号装置を構築
できることを意味する。ここで、本実施形態の第1およ
び第2の線形フィードバックシフトレジスタのレジスタ
長を各々LA,LBとすると、本乱数生成装置での線形
複雑度は、ほぼ 2LA×2LB である。Further, the fact that the linear complexity is large as compared with the device scale means that a secure encryption device and decryption device can be constructed at low cost. Here, assuming that the register lengths of the first and second linear feedback shift registers of this embodiment are LA and LB, respectively, the linear complexity of the random number generation device is approximately 2LA × 2LB.
【0113】なお、乱数生成装置のさらに他の構成例と
して、第1の線形フィードバックシフトレジスタ30と
第2の線形フィードバックシフトレジスタ32とを1つ
の線形フィードバックシフトレジスタとして共通化して
も良い。As still another configuration example of the random number generation device, the first linear feedback shift register 30 and the second linear feedback shift register 32 may be shared as one linear feedback shift register.
【0114】あるいは、その逆に、第1の線形フィード
バックシフトレジスタ30および第2の線形フィードバ
ックシフトレジスタ32の少なくとも一方を、データ用
とアドレス用に分離し、装置全体として3つあるいは4
つの線形フィードバックシフトレジスタを設けた構成に
することも可能でる。Alternatively, conversely, at least one of the first linear feedback shift register 30 and the second linear feedback shift register 32 is separated for data and address, and three or four for the entire apparatus.
A configuration in which two linear feedback shift registers are provided is also possible.
【0115】また、上記した線形フィードバックシフト
レジスタを1、2、3、または4個備えた構成におい
て、少なくとも1つの線形フィードバックシフトレジス
タを、他の公知の乱数生成装置(例えば、複数の線形フ
ィードバックシフトレジスタの出力を非線形コンバイナ
で結合するもの、線形フィードバックシフトレジスタの
出力に非線形変換を施すもの、あるいは加算ジェネレー
タ(summationgenerator)など)に
置き換えた構成も考えられる。これを図2の暗号装置お
よび復号装置に適用する場合にも、もちろん、置き換え
た乱数生成装置の初期状態そのものまたはこれを特定可
能な識別子が共通鍵として用いられる。Further, in the configuration having one, two, three or four linear feedback shift registers, at least one linear feedback shift register is replaced with another known random number generation device (for example, a plurality of linear feedback shift registers). A configuration in which the outputs of the registers are combined by a non-linear combiner, a configuration in which the outputs of the linear feedback shift registers are subjected to non-linear conversion, or a configuration in which an addition generator (summation generator) or the like is replaced is also conceivable. Even when this is applied to the encryption device and the decryption device of FIG. 2, the initial state itself of the replaced random number generation device or an identifier that can specify this is used as a common key.
【0116】図12に、本発明のさらに他の実施形態に
係る乱数生成装置の構成を示す。また、図11に、本乱
数生成装置の動作の流れを示す。本実施形態は、図3の
線形フィードバックシフトレジスタの部分を、図3の乱
数生成装置自体で置き換えて、構成を階層化したもので
ある。FIG. 12 shows a configuration of a random number generation device according to still another embodiment of the present invention. FIG. 11 shows a flow of the operation of the random number generation device. In the present embodiment, the linear feedback shift register in FIG. 3 is replaced with the random number generation device itself in FIG. 3, and the configuration is hierarchized.
【0117】図12の他にも、図10の線形フィードバ
ックシフトレジスタの部分を、図10の乱数生成装置自
体で置き換えた構成も考えられる。あるいは、図3の線
形フィードバックシフトレジスタの部分を、図10の乱
数生成装置自体で置き換えた構成や、図10の線形フィ
ードバックシフトレジスタの部分を、図3の乱数生成装
置自体で置き換えた構成も考えられる。In addition to FIG. 12, a configuration in which the linear feedback shift register of FIG. 10 is replaced by the random number generator itself of FIG. 10 can be considered. Alternatively, a configuration in which the linear feedback shift register in FIG. 3 is replaced by the random number generation device itself in FIG. 10 or a configuration in which the linear feedback shift register in FIG. 10 is replaced by the random number generation device itself in FIG. Can be
【0118】その他、種々の構成が考えられる。また、
図12ように2階層の構造にとどまらず、3階層以上に
階層化した乱数生成装置、例えば図12における線形フ
ィードバックシフトレジスタの部分を、さらに図3の乱
数生成装置あるいは図12の乱数生成装置で置き換えた
構成など、種々のものが考えられる。In addition, various configurations are conceivable. Also,
As shown in FIG. 12, the random number generating device is not limited to the two-layer structure but is hierarchized into three or more layers, for example, the linear feedback shift register in FIG. Various configurations such as a replaced configuration are conceivable.
【0119】また、以上の各機能は、ソフトウェアとし
ても実現可能である。また、上記した各手順あるいは手
段をコンピュータに実行させるためのプログラムを記録
した機械読取り可能な媒体として実施することもでき
る。本発明は、上述した実施の形態に限定されるもので
はなく、その技術的範囲において種々変形して実施する
ことができる。Each of the above functions can be realized as software. Further, the present invention can be embodied as a machine-readable medium storing a program for causing a computer to execute the above-described procedures or means. The present invention is not limited to the above-described embodiment, and can be implemented with various modifications within the technical scope.
【0120】[0120]
【発明の効果】本発明に係る乱数生成装置や方法によれ
ば、記憶装置を緩衝域として用いることで、少ない装置
規模で大きな線形複雑度を達成することができる。従っ
て、本発明に係る乱数生成装置や方法を適用することに
より、経済的かつ安全なストリーム暗号を実現すること
ができる。According to the random number generation apparatus and method of the present invention, a large linear complexity can be achieved with a small apparatus scale by using a storage device as a buffer area. Therefore, by applying the random number generation device and method according to the present invention, an economical and secure stream cipher can be realized.
【図1】本発明の実施の形態に係る乱数生成装置の構成
を示す図FIG. 1 is a diagram showing a configuration of a random number generation device according to an embodiment of the present invention.
【図2】本発明の実施の形態に係る乱数生成装置を用い
た暗号システムの一例を示す図FIG. 2 is a diagram showing an example of an encryption system using a random number generation device according to an embodiment of the present invention.
【図3】本発明の一実施形態に係る乱数生成装置の構成
を示す図FIG. 3 is a diagram showing a configuration of a random number generation device according to an embodiment of the present invention.
【図4】同実施形態に係る乱数生成装置の動作を示すフ
ローチャートFIG. 4 is a flowchart showing the operation of the random number generation device according to the embodiment;
【図5】生成されたアドレス系列を示す図FIG. 5 is a diagram showing a generated address sequence;
【図6】記憶装置の内容の遷移を示す図FIG. 6 is a diagram showing transition of contents of a storage device;
【図7】記憶装置の内容の遷移を示す図FIG. 7 is a diagram showing transition of contents of a storage device;
【図8】変換前後の乱数系列を示す図FIG. 8 is a diagram showing a random number sequence before and after conversion.
【図9】同実施形態に係る乱数生成装置の変形例の構成
を示す図FIG. 9 is a diagram showing a configuration of a modification of the random number generation device according to the embodiment;
【図10】本発明の他の実施形態に係る乱数生成装置の
構成を示す図FIG. 10 is a diagram showing a configuration of a random number generation device according to another embodiment of the present invention.
【図11】同実施形態に係る乱数生成装置の動作を示す
フローチャートFIG. 11 is a flowchart showing the operation of the random number generation device according to the embodiment;
【図12】本発明のさらに他の実施形態に係る乱数生成
装置の構成を示す図FIG. 12 is a diagram showing a configuration of a random number generation device according to still another embodiment of the present invention.
【図13】線形フィードバックシフトレジスタの構成例
を示す図FIG. 13 is a diagram illustrating a configuration example of a linear feedback shift register.
【図14】他の乱数生成装置の構成例を示す図FIG. 14 is a diagram illustrating a configuration example of another random number generation device.
2,4,40,42…乱数生成部 6…乱数変換部 10a,10b…乱数生成装置 12a,12b…論理演算処理装置 20,22,26,30,32…線形フィードバックシ
フトレジスタ 24,34,36…記憶装置 38…非線形コンバイナ2, 4, 40, 42 ... random number generator 6 ... random number converter 10a, 10b ... random number generator 12a, 12b ... logical operation processor 20, 22, 26, 30, 32 ... linear feedback shift register 24, 34, 36 … Storage device 38… Nonlinear combiner
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9045954AJPH10240500A (en) | 1997-02-28 | 1997-02-28 | Random number generation device and method, encryption device and method, decryption device and method, and stream encryption system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9045954AJPH10240500A (en) | 1997-02-28 | 1997-02-28 | Random number generation device and method, encryption device and method, decryption device and method, and stream encryption system |
| Publication Number | Publication Date |
|---|---|
| JPH10240500Atrue JPH10240500A (en) | 1998-09-11 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9045954APendingJPH10240500A (en) | 1997-02-28 | 1997-02-28 | Random number generation device and method, encryption device and method, decryption device and method, and stream encryption system |
| Country | Link |
|---|---|
| JP (1) | JPH10240500A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004032098A1 (en)* | 2002-10-07 | 2004-04-15 | Kobayashi, Akira | Pseudo-random number generation method and pseudo-random number generator |
| JP2005110222A (en)* | 2003-09-12 | 2005-04-21 | Victor Co Of Japan Ltd | Information transmission method, transmitter and receiver |
| JP2006285830A (en)* | 2005-04-04 | 2006-10-19 | National Institute Of Information & Communication Technology | Pseudorandom number generator strength evaluation device and encryption device |
| JP2007073012A (en)* | 2005-09-09 | 2007-03-22 | Iwate Univ | Random number generation system |
| US7257607B2 (en) | 2002-04-19 | 2007-08-14 | Nec Corporation | Random number generating apparatus, random number generating method, program for generating random numbers, audio decoder and audio decoding method |
| JP2007215166A (en)* | 2006-01-11 | 2007-08-23 | Matsushita Electric Ind Co Ltd | Data transmitting apparatus and data receiving apparatus |
| JP2007533225A (en)* | 2004-04-14 | 2007-11-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Secure credit card employing pseudo-random bit sequence for authentication and authentication method thereof |
| JP2008165008A (en)* | 2006-12-28 | 2008-07-17 | Megachips Lsi Solutions Inc | Data processor and data processing method |
| WO2008102693A1 (en)* | 2007-02-19 | 2008-08-28 | National Institute Of Advanced Industrial Science And Technology | Authentication system using light-weight authentication protocol |
| JP2008245053A (en)* | 2007-03-28 | 2008-10-09 | Hitachi Information & Communication Engineering Ltd | Method and device for optical-communication quantum cryptographic communication |
| JP2010181789A (en)* | 2009-02-09 | 2010-08-19 | Mitsubishi Electric Corp | Information processing device, information processing method, and program |
| JP2011019219A (en)* | 2004-12-22 | 2011-01-27 | Qualcomm Inc | Method and apparatus for flexible hopping in multiple access communication network |
| WO2012141680A1 (en)* | 2011-04-11 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Mass serialization |
| JP2014516492A (en)* | 2011-04-15 | 2014-07-10 | ハンスキャン・アイピー・ベスローテン・フェンノートシャップ | System and method for remote biometric operation |
| US8798183B2 (en) | 2007-08-13 | 2014-08-05 | Qualcomm Incorporated | Feedback and rate adaptation for MIMO transmission in a time division duplexed (TDD) communication system |
| JP2014186180A (en)* | 2013-03-25 | 2014-10-02 | Mega Chips Corp | Stream cipher device |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7257607B2 (en) | 2002-04-19 | 2007-08-14 | Nec Corporation | Random number generating apparatus, random number generating method, program for generating random numbers, audio decoder and audio decoding method |
| WO2004032098A1 (en)* | 2002-10-07 | 2004-04-15 | Kobayashi, Akira | Pseudo-random number generation method and pseudo-random number generator |
| JP2005110222A (en)* | 2003-09-12 | 2005-04-21 | Victor Co Of Japan Ltd | Information transmission method, transmitter and receiver |
| JP2007533225A (en)* | 2004-04-14 | 2007-11-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Secure credit card employing pseudo-random bit sequence for authentication and authentication method thereof |
| JP2011019219A (en)* | 2004-12-22 | 2011-01-27 | Qualcomm Inc | Method and apparatus for flexible hopping in multiple access communication network |
| JP2006285830A (en)* | 2005-04-04 | 2006-10-19 | National Institute Of Information & Communication Technology | Pseudorandom number generator strength evaluation device and encryption device |
| JP2007073012A (en)* | 2005-09-09 | 2007-03-22 | Iwate Univ | Random number generation system |
| JP2007215166A (en)* | 2006-01-11 | 2007-08-23 | Matsushita Electric Ind Co Ltd | Data transmitting apparatus and data receiving apparatus |
| JP2008165008A (en)* | 2006-12-28 | 2008-07-17 | Megachips Lsi Solutions Inc | Data processor and data processing method |
| WO2008102693A1 (en)* | 2007-02-19 | 2008-08-28 | National Institute Of Advanced Industrial Science And Technology | Authentication system using light-weight authentication protocol |
| JP2008205675A (en)* | 2007-02-19 | 2008-09-04 | National Institute Of Advanced Industrial & Technology | Authentication system with lightweight authentication protocol |
| JP2008245053A (en)* | 2007-03-28 | 2008-10-09 | Hitachi Information & Communication Engineering Ltd | Method and device for optical-communication quantum cryptographic communication |
| US8798183B2 (en) | 2007-08-13 | 2014-08-05 | Qualcomm Incorporated | Feedback and rate adaptation for MIMO transmission in a time division duplexed (TDD) communication system |
| JP2010181789A (en)* | 2009-02-09 | 2010-08-19 | Mitsubishi Electric Corp | Information processing device, information processing method, and program |
| WO2012141680A1 (en)* | 2011-04-11 | 2012-10-18 | Hewlett-Packard Development Company, L.P. | Mass serialization |
| US9344277B2 (en) | 2011-04-11 | 2016-05-17 | Hewlett-Packard Development Company, L.P. | Mass serialization analytics |
| JP2014516492A (en)* | 2011-04-15 | 2014-07-10 | ハンスキャン・アイピー・ベスローテン・フェンノートシャップ | System and method for remote biometric operation |
| JP2014186180A (en)* | 2013-03-25 | 2014-10-02 | Mega Chips Corp | Stream cipher device |
| Publication | Publication Date | Title |
|---|---|---|
| EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
| JP4828068B2 (en) | Computer efficient linear feedback shift register | |
| JP4127472B2 (en) | Data conversion apparatus, data conversion method and program for data conversion apparatus, and computer-readable recording medium | |
| JP4052480B2 (en) | Pseudorandom number generation method, pseudorandom number generator, and pseudorandom number generation program | |
| JP5551065B2 (en) | Encryption method and device for pseudo-random generation, data encryption, and message encryption hashing | |
| JP5000365B2 (en) | Hash value generation device, program, and hash value generation method | |
| JP5462636B2 (en) | Method and apparatus for encrypting plaintext messages | |
| JPH0863097A (en) | Method and system for symmetric encoding for encoding of data | |
| KR100800468B1 (en) | Hardware encryption / decryption device and method for low power high speed operation | |
| WO2001082524A1 (en) | Cryptographic system for data encryption standard | |
| KR20110004474A (en) | Galois Lung Cryptography System | |
| JPH10240500A (en) | Random number generation device and method, encryption device and method, decryption device and method, and stream encryption system | |
| JP4025722B2 (en) | Method and apparatus for data encryption | |
| JP2004363739A (en) | Tamper-detectable encryption / decryption device for common key encryption | |
| JP3180836B2 (en) | Cryptographic communication device | |
| JP2000066587A (en) | Data processing device, communication system, and recording medium | |
| JPH11298471A (en) | Method and device for enciphering block | |
| JP2950485B2 (en) | Stream cipher processor | |
| KR101131167B1 (en) | Method and apparatus for generating key stream for stream cipher, s-box for block cipher and method for substituting input vector using the s-box | |
| JP4857230B2 (en) | Pseudorandom number generator and encryption processing device using the same | |
| US20240097880A1 (en) | High-speed circuit combining aes and sm4 encryption and decryption | |
| RU2359415C2 (en) | Method for cryptographic transformation of digital data units | |
| JPS6281145A (en) | Data encryption method | |
| Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
| JP2005529365A (en) | AES mix column conversion |
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal | Free format text:JAPANESE INTERMEDIATE CODE: A02 Effective date:20040608 |