JP2008542805A - Method, system and apparatus for generating pseudo-random data sequence - Google Patents

Method, system and apparatus for generating pseudo-random data sequence Download PDF

Info

Publication number
JP2008542805A
JP2008542805A JP2008512889A JP2008512889A JP2008542805A JP 2008542805 A JP2008542805 A JP 2008542805A JP 2008512889 A JP2008512889 A JP 2008512889A JP 2008512889 A JP2008512889 A JP 2008512889A JP 2008542805 A JP2008542805 A JP 2008542805A
Authority
JP
Japan
Prior art keywords
word
output
prefix code
words
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008512889A
Other languages
Japanese (ja)
Inventor
アリーヌ・グージェ
エルヴェ・シヴェール
コム・ベルバーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of JP2008542805A publication Critical patent/JP2008542805A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本発明は、初期データフロー(3)から擬似乱数データ列(1)を生成するための装置及び方法において、完全プレフィクス符号(5)を構成する符号語集合を定義する段階と、出力語集合(7)を定義する段階と、前記出力語集合(7)の出力語に、前記完全プレフィクス符号(5)の符号語を関連付ける非同期化関数(f)を定義する段階と、初期データフロー(3)を、前記完全プレフィクス符号(5)に従って符号化された語の列(11)に分解する段階と、前記擬似乱数データ列(1)を構成するために、前記符号化された語の列(11)の語に、前記非同期化関数(f)に従って対応する出力語を関連付ける段階とを具備することを特徴とする装置及び方法に関する。  The present invention provides an apparatus and method for generating a pseudo-random data sequence (1) from an initial data flow (3), defining a codeword set constituting a complete prefix code (5), and an output word set Defining (7), defining an desynchronization function (f) for associating a codeword of the complete prefix code (5) with an output word of the output word set (7), and an initial data flow ( 3) decomposing into a sequence (11) of words encoded according to the complete prefix code (5), and for constructing the pseudorandom data sequence (1), Associating a corresponding output word with the word in column (11) according to the desynchronization function (f).

Description

本発明は、暗号化/暗号解除の分野に関するとともに、本発明は、擬似乱数データ列を生成するシステム及び方法に関する。   The present invention relates to the field of encryption / decryption, and the present invention relates to a system and method for generating a pseudo-random number data sequence.

本発明は、暗号化及び暗号解除で同一の秘密鍵を使用する暗号化処理である、対称暗号化を目的としたビット列の生成に非常に好ましい応用を見出す。本発明の背景は、第1に、同一の長さの擬似乱数データ列にメッセージを1ビットずつ加算するフロー暗号化(flow encryption)方法であり、第2に、暗号化動作及び暗号解除動作が同一である方法である。対称暗号化は、携帯通信(GSM,UMTS等)や、インターネット(SSL等)や、マイクロチップカード(銀行カード)等の全タイプの通信に、等しく採用されている。   The present invention finds a very favorable application for generating a bit string for the purpose of symmetric encryption, which is an encryption process using the same secret key for encryption and decryption. The background of the present invention is firstly a flow encryption method in which a message is added bit by bit to a pseudo-random data sequence having the same length, and secondly, an encryption operation and a decryption operation are performed. It is the same method. Symmetric encryption is equally employed in all types of communications such as mobile communications (GSM, UMTS, etc.), the Internet (SSL, etc.), microchip cards (bank cards), etc.

最も基本的な対称暗号化技術は、フロー暗号化として公知である、同一の長さの乱数列に1ビットずつ平文メッセージを加算することである。この技術は、長い擬似乱数列を生成するという本質的かつ困難な問題を提起する。   The most basic symmetric encryption technique is known as flow encryption, which adds a plaintext message bit by bit to a random number sequence of the same length. This technique raises the essential and difficult problem of generating a long pseudorandom sequence.

最も良く用いられるフロー暗号化方法では、ハードウェアを節約するために、線形フィードバックシフトレジスタを採用して、暗号化すべきメッセージと独立に生成した擬似乱数列を使用する。   In the most frequently used flow encryption method, in order to save hardware, a linear feedback shift register is employed, and a pseudo-random number sequence generated independently of a message to be encrypted is used.

線形フィードバックシフトレジスタの重大な欠点は、それらが線形であることである。実際に、レジスタの長さに等しい数の前記レジスタの出力ビットと、前記レジスタに関連付けたフィードバック多項式とを知ると、出力ビット及び前記レジスタの全ての後続状態が決定可能である。   A significant drawback of linear feedback shift registers is that they are linear. Indeed, knowing the number of register output bits equal to the register length and the feedback polynomial associated with the register, the output bits and all subsequent states of the register can be determined.

それ故に、線形フィードバックシフトレジスタの線形性を「破る」ために、例えば非線形ブール関数を使用して、複数のレジスタからの出力と、おそらくは前記レジスタの内部状態とを組み合わせるのが標準的な慣習である。   Therefore, to “break” the linearity of a linear feedback shift register, it is standard practice to combine outputs from multiple registers and possibly the internal state of the registers, for example using a non-linear Boolean function. is there.

図5は、この種の生成器121を示している。これはヨーロッパ特許公開公報0 619 659で説明されているとともに、第1線形フィードバックシフトレジスタ123aと、第2線形フィードバックシフトレジスタ123bと、生成器121の出力を選択する手段125とを具備する縮小暗号生成器(shrinking generator)として公知である。   FIG. 5 shows a generator 121 of this kind. This is described in EP 0 619 659 and is a reduced cipher comprising a first linear feedback shift register 123a, a second linear feedback shift register 123b, and means 125 for selecting the output of the generator 121. It is known as a generator.

それぞれのシフトでは、2つのレジスタ123a及び123bは同時にシフトされるとともに、もし第1レジスタ123aの出力が「1」ならば、装置121の出力は、第2レジスタ123bの出力と等しく、そうでなければ、ビットを出力しない。   At each shift, the two registers 123a and 123b are shifted simultaneously, and if the output of the first register 123a is “1”, the output of the device 121 is equal to the output of the second register 123b, and so on. If so, no bits are output.

縮小暗号生成器では、2つの線形フィードバックシフトレジスタの出力だけでなく、より一般的に、ビット列の任意の組を結合可能である。縮小暗号生成器は、1つの線形フィードバックシフトレジスタが、他のレジスタを制御するストリーム暗号化システムのクラスに属する。種々の利用レジスタの間と、2つの連続するビットの間との両方でシフト数を変化させることでレジスタの線形性を破るのが着想である。   In a reduced cipher generator, not only the outputs of the two linear feedback shift registers, but more generally any set of bit strings can be combined. The reduced cipher generator belongs to the class of stream encryption systems where one linear feedback shift register controls the other registers. The idea is to break the linearity of the register by changing the number of shifts both between the various utilization registers and between two consecutive bits.

自己縮小暗号生成器(self−shrinking generator)として公知である縮小暗号生成器の変形例は、同一の原理をベースとするが、ただ1つのレジスタを使用する。前記レジスタの出力ビットを2つずつ読み込むとともに、もし第1ビットが「1」であればシステムの出力は第2ビットであり、そうでなければビットを出力しないように、第1ビットが第2ビットの出力を制御する。   A variation of the reduced cipher generator, known as a self-reducing cipher generator, is based on the same principle but uses only one register. The output bit of the register is read two by two, and if the first bit is “1”, the output of the system is the second bit, otherwise the first bit is the second so that no bit is output. Controls the output of bits.

線形フィードバックレジスタをただ1つ使用することは、多くの欠点を有する。重大な欠点は、装置の線形性から生ずる脆弱性である。もしブール関数を利用してレジスタを結合するならば、同様に不都合が生ずる。ハードウェアレベルでは、これらの不都合は関数実装の複雑度から生ずる。さらに、関数は固定されるとともに、攻撃に対して無防備である。   Using only one linear feedback resistor has many drawbacks. A significant drawback is the vulnerability resulting from the linearity of the device. A similar disadvantage arises if registers are combined using Boolean functions. At the hardware level, these disadvantages arise from the complexity of the function implementation. In addition, the function is fixed and vulnerable to attack.

さらに、もし擬似乱数生成器で使用するシフトレジスタのフィードバックが通常のもの又は容易に予想可能なものであるならば、前記生成器は、代数的攻撃に対して脆弱である。   Further, if the shift register feedback used in the pseudo-random number generator is normal or easily predictable, the generator is vulnerable to algebraic attacks.

さらに、統計的な方法によって、縮小乱数生成器の特定の弱点が示されている。特に、縮小乱数生成器では、2つのレジスタによって行うシフトの数は2つの出力ビット間で変化するが、両レジスタでは同一の値を有する。   In addition, statistical methods show certain weaknesses of the reduced random number generator. In particular, in the reduced random number generator, the number of shifts performed by two registers varies between two output bits, but both registers have the same value.

本発明は、初期データフローから擬似乱数データ列を生成する方法であり、
・完全プレフィクス符号を構成する符号語集合を定義する段階と、
・出力語集合を定義する段階と、
・前記出力語集合からの出力語に、前記完全プレフィクス符号の任意の符号語を関連付ける非同期化関数を定義する段階と、
・初期データフローを、前記完全プレフィクス符号に従って符号化した語の列に分解する段階と、
・前記擬似乱数データ列を構成するために、前記符号化した語の列の語を、前記非同期化関数に従って対応する出力語に関連付ける段階と、
を具備する方法を構成する。
The present invention is a method for generating a pseudo-random data sequence from an initial data flow,
Defining a set of codewords that make up a complete prefix code;
Defining the output word set;
Defining an desynchronization function that associates an arbitrary codeword of the complete prefix code with an output word from the output word set;
Decomposing an initial data flow into a sequence of words encoded according to the complete prefix code;
Associating words in the encoded word sequence with corresponding output words according to the desynchronization function to construct the pseudo-random data sequence;
A method comprising:

このようにして、完全プレフィクス符号によって、初期データフローが一意的に分解可能となるとともに、有限オートマトンによって簡単に生成可能となる。さらに、この方法は実施が簡単であるとともに、擬似乱数データ列を生成する初期データフロー非同期化関数を使用する。実際に、完全プレフィクス符号及び「非同期化成分」を使用することにより、保証された最小ビット数を生成するので、代数的攻撃を防止し、また同時に代数的攻撃を事実上無力化する。
対照的に、たとえ擬似乱数列生成器内で非同期化成分として縮小乱数生成器を使用したとしても、最小の保証レートは事実上0となる。
In this way, the initial data flow can be uniquely decomposed by the complete prefix code and can be easily generated by the finite automaton. Furthermore, this method is simple to implement and uses an initial data flow desynchronization function that generates a pseudo-random data sequence. In fact, the use of a perfect prefix code and an “asynchronization component” generates a guaranteed minimum number of bits, thus preventing algebraic attacks and at the same time effectively disabling algebraic attacks.
In contrast, even if the reduced random number generator is used as the desynchronization component in the pseudo random number sequence generator, the minimum guaranteed rate is effectively zero.

前記非同期化関数は、擬似乱数データ列の生成の間に値が修正可能である所定パラメータに依存するパラメータ化された関数であるのが好ましい。   The desynchronization function is preferably a parameterized function that depends on predetermined parameters whose values can be modified during the generation of the pseudorandom data sequence.

非同期化が修正可能な初期化パラメータに依存することにより、初期データフローと擬似乱数データ列との間の関係の複雑度が増加し、擬似乱数データ列を予測するのがより困難になる。   Relying on initialization parameters that can be modified for desynchronization increases the complexity of the relationship between the initial data flow and the pseudorandom data sequence, making it more difficult to predict the pseudorandom data sequence.

本発明の特徴によると、前記出力語集合は、各出力語に対して、相補的な出力語を具備する。   According to a feature of the invention, the output word set comprises complementary output words for each output word.

例えば、これによって、所与の出力語の長さに対して、出力語集合中の「0」と「1」との数がバランスされる。   For example, this balances the number of “0” s and “1” s in the output word set for a given output word length.

前記完全プレフィクス符号の符号語は、上限hで制限された長さを具備するとともに、前記符号は、もし出力語xが他の出力語yと同一の長さであれば、前記非同期化関数による出力語xの逆像の数は、前記非同期化関数による出力語yの逆像の数と同一であるようなものが好ましい。   The code word of the complete prefix code has a length limited by an upper limit h, and the code has the desynchronization function if the output word x is the same length as other output words y. The number of inverse images of the output word x by is preferably the same as the number of inverse images of the output word y by the desynchronization function.

このことは、擬似乱数データ列に統計学的に良い性質を与える一方で、初期データフローの特定の性質に依存しない最小レートが保証される。特に、このことにより、生成された出力擬似乱数データ列のハミング重さは、初期データ列に関していかなる情報も提供しないことが確実になる。換言すると、出力列内の値「0」を有するビットと値「1」を有するビットとは、初期データ列に関する同一の情報量を具備する。   This gives a statistically good property to the pseudo-random data sequence, while guaranteeing a minimum rate that does not depend on the specific properties of the initial data flow. In particular, this ensures that the Hamming weight of the generated output pseudorandom data sequence does not provide any information about the initial data sequence. In other words, the bit having the value “0” and the bit having the value “1” in the output sequence have the same amount of information regarding the initial data sequence.

前記完全プレフィクス符号の語は、下限mによって制限された長さを具備するのが好ましいとともに、前記完全プレフィクス符号の語に対して上限長さlがあり、前記上限長さlより小さいまたは等しい任意の長さkに対して、前記完全プレフィクス符号は、2m−1個の長さkの語を具備するのが好ましい。 The word of the complete prefix code preferably has a length limited by a lower limit m and has an upper limit length l for the word of the complete prefix code and is smaller than the upper limit length l or For any equal length k, the complete prefix code preferably comprises 2 m-1 words of length k.

このことは、前記擬似乱数データ列の確率分布を最適化することによって、上記の統計学的性質をさらに向上する。   This further improves the statistical properties described above by optimizing the probability distribution of the pseudorandom data sequence.

前記方法の第1構成は、
・h≧2として、完全プレフィクス符号を、次の形

Figure 2008542805
を具備する符号語集合Cで定義することと、
・出力語集合を、2進集合E={0,1}からの語で定義することと、
・パラメータ化された非同期化関数の所定パラメータuは、ベクトル
Figure 2008542805
であり、ここで前記ベクトルの成分は、集合{0,1}に属することと、
・前記パラメータ化された非同期化関数fを、次の
Figure 2008542805
で定義することと、
を特徴とする。 The first configuration of the method is:
・ If h ≧ 2, complete prefix code is of the form
Figure 2008542805
A codeword set C 1 comprising:
Defining an output word set with words from the binary set E 1 = {0, 1};
The predetermined parameter u of the parameterized desynchronization function is a vector
Figure 2008542805
Where the components of the vector belong to the set {0, 1};
The parameterized desynchronization function f u is
Figure 2008542805
And defining
It is characterized by.

この構成は、実施が比較的安価であるとともに、ハードウェア型暗号化を構成するのに使用可能であるのが好ましい。さらに、出力ビット数(即ち擬似乱数データ列のビット数)と、入力ビット数(即ち初期データフローのビット数)との間の比率が1/3より厳密に大きいとともに、長さhの入力に対する出力ビット数の保証最小値は1である。   This configuration is preferably relatively inexpensive to implement and can be used to configure hardware encryption. Furthermore, the ratio between the number of output bits (ie, the number of bits in the pseudo-random data sequence) and the number of input bits (ie, the number of bits in the initial data flow) is strictly greater than 1/3, and the length h The guaranteed minimum value of the number of output bits is 1.

前記方法の他の実施構成は、
・完全プレフィクス符号を、次の形

Figure 2008542805
の2バイトから生成する符号語集合Cで定義することと、
・出力語集合を、集合
Figure 2008542805
からの語で定義することと、
・前記パラメータ化された非同期化関数の所定パラメータνは、成分が集合{0,1}に属するベクトル
Figure 2008542805
であり、最初の8個の成分の値
Figure 2008542805
は不変であるとともに、最後の成分の値
Figure 2008542805
は可変であることと、
・前記パラメータ化された非同期化関数
Figure 2008542805
は、wの形の任意の語に、
・もし、次の条件
Figure 2008542805
の1つが満たされるならば、語wを、
・もし、次の条件
Figure 2008542805
の1つが満たされるならば、語wを、
・もし、
Figure 2008542805
ならば空語εを、
関連付けることと、
を特徴とする。 Other implementations of the method include:
・ Complete prefix codes are of the form
Figure 2008542805
A codeword set C 2 generated from 2 bytes of
・ Output word set is set
Figure 2008542805
Defining with the words from
The predetermined parameter ν of the parameterized desynchronization function is a vector whose components belong to the set {0, 1}
Figure 2008542805
And the value of the first 8 components
Figure 2008542805
Is invariant and the value of the last component
Figure 2008542805
Is variable,
The parameterized desynchronization function
Figure 2008542805
Is an arbitrary word of the form w 1 w 2 ,
・ If the following conditions
Figure 2008542805
If one of the following is satisfied, the word w 1 is
・ If the following conditions
Figure 2008542805
If one of the following is satisfied, the word w 2 is
·if,
Figure 2008542805
Then the empty word ε,
Associating,
It is characterized by.

この実施は、ソフトウェア型暗号化に使用しうるのが好ましい。さらに、出力バイト数と、入力バイト数との間の比率が1/3より厳密に大きいとともに、長さhバイトの入力に対する出力バイト数の保証最小値は1である。   This implementation can preferably be used for software-type encryption. Further, the ratio between the number of output bytes and the number of input bytes is strictly larger than 1/3, and the guaranteed minimum value of the number of output bytes for an input of length h bytes is 1.

本発明は、初期データフローから擬似乱数データ列を生成する生成器において、メモリと処理ユニットとを具備し、前記メモリは完全プレフィクス符号を構成する符号語集合及び出力語集合を格納し、前記処理ユニットは、初期データフローを読み込むとともに、前記初期データフローを前記完全プレフィクス符号に従って符号化された語の列に分解するとともに、前記擬似乱数データ列を生成するために、非同期化関数に従って前記符号化された語の列の語を対応する出力語に関連付けることが可能であることを特徴とする生成器を構成する。   The present invention provides a generator for generating a pseudo-random data sequence from an initial data flow, comprising a memory and a processing unit, wherein the memory stores a codeword set and an output word set constituting a complete prefix code, The processing unit reads the initial data flow, decomposes the initial data flow into a sequence of words encoded according to the complete prefix code, and generates the pseudo-random data sequence according to an desynchronization function. A generator is characterized in that it is possible to associate a word in the sequence of encoded words with a corresponding output word.

このようにして、この生成器は、初期データフローの特定の性質に依存しない、最小レートを具備する擬似乱数データ列を生成する。さらに、この生成器は、効果的であるのと同様、実施が容易であるとともに、コストが比較的少ない。   In this way, the generator generates a pseudo-random data sequence with a minimum rate that does not depend on the specific nature of the initial data flow. Moreover, this generator is easy to implement and relatively inexpensive, as it is effective.

前記生成器は、前記非同期化関数を所定パラメータに依存させるとともに、擬似乱数データ列の生成の間に前記所定パラメータの値を修正するパラメータ化手段をさらに具備するのが好ましい。   The generator preferably further includes parameterization means for making the desynchronization function dependent on a predetermined parameter and correcting the value of the predetermined parameter during generation of the pseudo-random number data sequence.

このようにすると、前記初期化パラメータの値又は前記初期化パラメータが変更された時刻を知らなければ、前記擬似乱数データ列を予測するのがより困難になる。   In this way, it becomes more difficult to predict the pseudo-random number data sequence without knowing the value of the initialization parameter or the time when the initialization parameter was changed.

本発明はまた、排他的論理和論理ゲートと、上記の特徴を具備する生成器とを具備する暗号化/暗号解除装置を構成する。   The present invention also constitutes an encryption / decryption device comprising an exclusive OR gate and a generator having the above characteristics.

この装置は、線形複雑度の高い暗号化データ列を構成するために、擬似乱数データ列の各ビットを、2を法とする加法によって、暗号化すべきメッセージのデータ列の対応するビットに結合する簡単な方法を構成する。   This apparatus combines each bit of a pseudo-random number data sequence with a corresponding bit of the data sequence of a message to be encrypted by addition modulo 2 to construct an encrypted data sequence having a high linear complexity. Configure a simple way.

本発明はまた、ネットワーク経由で接続された少なくとも2つの構成要素を具備し、前記少なくとも2つの構成要素は、それぞれ上記の特徴を有する暗号化/暗号解除装置を具備することを特徴とするセキュアなシステムを構成する。   The present invention also includes at least two components connected via a network, and each of the at least two components includes an encryption / decryption device having the above characteristics. Configure the system.

このように、前記セキュアなシステムは、実施が簡単であると同時に、本質的に複雑な機構を有する構造を具備している。   Thus, the secure system has a structure that is simple to implement and at the same time has an inherently complex mechanism.

本発明の他の特徴及び利点は、添付図面を参照するとともに、非限定的な実施例を通して以下で与えられる説明を読めば明らかになる。   Other features and advantages of the present invention will become apparent upon reading the description given below through non-limiting examples and with reference to the accompanying drawings.

図1は、本発明による初期データフロー3から擬似乱数データ列1を生成する方法の図式化された実施例を図示している。   FIG. 1 illustrates a schematic embodiment of a method for generating a pseudo-random data sequence 1 from an initial data flow 3 according to the present invention.

用語「語」(又はパターン)は、以下では、任意のアルファベット、例えば0及び1のみを具備する2進集合のアルファベットからの文字の有限列をいう。次いで、各語は、所与の長さを具備する。例えば、0,11,000,1010,00111は、それぞれ長さ1,2,3,4及び5を有する語である。さらに、「空」語εは、0の長さを有する語(即ちいかなる文字も具備しない語)である。   The term “word” (or pattern) refers hereinafter to a finite sequence of characters from any alphabet, for example a binary set of alphabets comprising only 0 and 1. Each word then has a given length. For example, 0,11,000,1010,00111 are words having lengths 1, 2, 3, 4, and 5, respectively. Further, the “empty” word ε is a word having a length of 0 (ie, a word that does not have any characters).

初期データフロー3は、高い「線形複雑度」を具備するデータ列に対応する。例えば、初期データフロー3は、最長周期線形フィードバックシフトレジスタを具備する初期生成手段23(図3Aを参照)で生成しても良い。   The initial data flow 3 corresponds to a data string having a high “linear complexity”. For example, the initial data flow 3 may be generated by the initial generation means 23 (see FIG. 3A) including the longest periodic linear feedback shift register.

実際に、無限個の線形フィードバックシフトレジスタによって、任意の周期列を生成可能である。これらのレジスタの1つは、他の全てより短い。この最短レジスタの長さを、フローの「線形複雑度」と呼ぶ。もし、初期データ列の線形複雑度がLならば、長さ2Lの初期データ列の部分列からレジスタの初期状態(及び、実際には全ての列)を再構成するために、Berlekamp−Masseyアルゴリズムを使用可能である。   Actually, an arbitrary periodic sequence can be generated by an infinite number of linear feedback shift registers. One of these registers is shorter than all others. This shortest register length is called the “linear complexity” of the flow. If the linear complexity of the initial data sequence is L, the Berlekamp-Massey algorithm is used to reconstruct the initial state of the register (and actually all the columns) from the partial sequence of the initial data sequence of length 2L. Can be used.

このように、セキュアな擬似乱数データ列を生成するために、初期データフロー3は、高い線形複雑度を具備することを推奨する。実際に、現時点では、公知の最良アルゴリズムは、もし初期データフロー3の線形複雑度Lが160よりも小さいならば、初期データフロー3を280よりも少ない操作で再構成可能である。従って、160よりも大きいか又は等しい線形複雑度Lを具備するように、初期データフロー3を取るのが好ましい。 Thus, in order to generate a secure pseudorandom data sequence, it is recommended that the initial data flow 3 has a high linear complexity. In fact, at present, known best algorithm and, if the initial data flow 3 of linear complexity L is less than 160, it is the initial data flow 3 reconfigurable operation less than 2 80. It is therefore preferable to take the initial data flow 3 so as to have a linear complexity L greater than or equal to 160.

本発明によると、符号語集合5aは、「完全プレフィクス符号」5を構成するように定義する。   According to the present invention, the codeword set 5 a is defined to constitute a “complete prefix code” 5.

一般的な用語「符号」は、特定のアルファベット上の語の集合をいう。次いで、符号の性質を、問題のアルファベットと関連付けて考察する。   The general term “code” refers to a set of words on a particular alphabet. The nature of the code is then considered in relation to the alphabet in question.

Aを任意の固定したアルファベットとする。Aからの文字で構成される語を考察するとともに、CでA上の符号を表すものとする。すると、
1)語xは、もしw=xy(この表記は、xがyと連結されていることを表す)となるようなyが存在するならば、語wの「プレフィクス」と呼ばれる。もし、符号C内に、前記符号の他の語のプレフィクスとなる前期符号の語が存在しないならば、Cは「プレフィクス符号(prefix code)」と呼ばれる。
2)もし語wがCの語の連結である、換言すると、もしC内の語w,w,…、wでw=w…wと書くことが可能ならば、語wはCによって符号化されたという。次いで、もし任意の語wに対して、語w’が存在してww’がCで符号化されるならば、Cは「完全(complete)」という。任意の語wに対して、語w’及びCに属する符号語uが存在し、uが語ww’のプレフィクスとなる、即ち語w’及びCに属する符号語u及び語u’が存在し、ww’がuu’に等しくなる場合に限って、符号Cは完全であることを示すことが可能である。
Let A be any fixed alphabet. Consider a word composed of letters from A, and let C denote the sign on A. Then
1) The word x is called the “prefix” of the word w if there is a y such that w = xy (this notation indicates that x is connected to y). If there is no previous code word in code C that is a prefix of another word of the code, C is called a “prefix code”.
2) If connecting word w is the word and C, in other words, if the word w 1, w 2 in C, ..., if possible be written as w = w 1 w 2 ... w n with w n, The word w is said to have been encoded by C. Then, for any word w, if word w 'exists and ww' is encoded with C, C is said to be "complete". For any word w, there is a codeword u belonging to words w ′ and C, and u is a prefix of word ww ′, ie there are codeword u and word u ′ belonging to words w ′ and C Only if ww ′ is equal to uu ′, it is possible to indicate that the code C is complete.

もしCがプレフィクス符号及び完全符号の両方であるならば、Cは完全プレフィクス符号であるという。   If C is both a prefix code and a complete code, then C is said to be a complete prefix code.

さらに、Eで表す出力語7aの集合7は、Eが{0,1}及び{ε}の和集合に含まれるように定義するとともに、非同期化関数fは、完全プレフィクス符号5の任意の符号語5aを、出力語集合7からの出力語7aに関連付けるように定義する。 Further, a set 7 of output words 7 a represented by E is defined so that E is included in the union of {0, 1} k and {ε}, and the desynchronization function f is an arbitrary prefix code 5 Are associated with the output word 7 a from the output word set 7.

例えば、出力語集合7は、集合E={ε,0,1}又は、E={0,1}又は、E={ε}と{0,1}8k(k≧1、即ち複数バイト)との和集合である。特に、所与の出力語の長さに対して、出力語集合内の「0」と「1」との数をバランスさせるために、sで記す任意の出力語7aに対して、

Figure 2008542805
で記す相補的な出力語7aを具備する出力語集合7を選択するのが好ましい。 For example, the output word set 7 includes the set E = {ε, 0,1} or E = {0,1} or E = {ε} and {0,1} 8k (k ≧ 1, that is, a plurality of bytes). And the union. In particular, for any given output word 7a, denoted by s, to balance the number of “0” s and “1” s in the output word set for a given output word length,
Figure 2008542805
It is preferable to select an output word set 7 having a complementary output word 7a as described below.

さらに、非同期化関数fは、評価が比較的低いコストで実施可能である(例えば2を法とするビット毎の加法のような)基本的な動作である。   Furthermore, the desynchronization function f is a basic operation that can be implemented at a relatively low cost (such as bitwise addition modulo 2).

このように、本発明の方法は、入力として、完全プレフィクス符号5 Cと、出力語集合7 Eと、非同期化関数fとを採用する。   Thus, the method of the present invention employs the complete prefix code 5 C, the output word set 7 E, and the desynchronization function f as inputs.

さらに、本発明による方法は、初期データフロー3を、前記完全プレフィクス符号5に従って符号化された語の列11に分解する分解動作10を具備する。実際に、完全プレフィクス符号5の使用は、初期データフロー3の一意的な分解を構成する。   Furthermore, the method according to the invention comprises a decomposition operation 10 which decomposes the initial data flow 3 into a sequence of words 11 encoded according to the complete prefix code 5. Indeed, the use of the full prefix code 5 constitutes a unique decomposition of the initial data flow 3.

完全プレフィクス符号5は、所与の語wに対し、語wが完全プレフィクス符号5内にあるか否かを判定する有限オートマトンで認識可能であるのが好ましい。   The complete prefix code 5 is preferably recognizable by a finite automaton that determines whether the word w is in the complete prefix code 5 for a given word w.

実際に、図2A,2Bは、初期データフロー3を、符号化された語の列11に分解するための有限オートマトン13a,13bの2つの実施例を図式的に示している。有限オートマトンは、完全プレフィクス符号5の各語が、Iと記された初期状態15と、Fと記された終了状態15との間で、パス集合17によって定義可能となるような、パス又は矢印17で接続されたノード又は状態の集合15を具備する。このようにすると、ビットを読み込むと、前記ビットの値に対応するパス17を取るとともに、終了状態Fに到達すると、完全プレフィクス符号5の語の読み込みが丁度終了したことを知るとともに、初期状態Iに戻ることによって、次の語を読み込み可能となる。   In fact, FIGS. 2A and 2B schematically show two embodiments of finite automata 13a and 13b for decomposing the initial data flow 3 into a sequence 11 of encoded words. A finite automaton is a path or word such that each word of the complete prefix code 5 can be defined by a path set 17 between an initial state 15 labeled I and an end state 15 labeled F. It comprises a set of nodes or states 15 connected by arrows 17. In this way, when the bit is read, the path 17 corresponding to the value of the bit is taken, and when the end state F is reached, it is known that the reading of the word of the complete prefix code 5 has just ended, and the initial state By returning to I, the next word can be read.

図2Aの実施例では、C={101,010}で定義する完全プレフィクス符号5の符号語を認識する。ここで、101(又は010)は、kを整数として101(又は010)の形の語の集合を表す。101は、語11に対応するとともに、010は、語00に対応することに留意されたい。このように、この有限オートマトン13aは、初期データフロー3を、10…01,01…10,11及び00の形の語を具備する符号化された語の列11に分解する。 In the embodiment of FIG. 2A, the code word of the complete prefix code 5 defined by C = {10 * 1,01 * 0} is recognized. Here, 10 * 1 (or 01 * 0) represents a set of words in the form of 10 k1 (or 01 k0 ), where k is an integer. Note that 10 0 1 corresponds to word 11 and 01 0 0 corresponds to word 00. Thus, this finite automaton 13a breaks down the initial data flow 3 into a sequence of encoded words 11 comprising words of the form 10 ... 01, 01 ... 10, 11 and 00.

さらに、図2Bの実施例では、符号C={10h+1,01h+1,101,010,k≦h}によって定義する完全プレフィクス符号5の上限hによって制限された長さを有する符号語を認識する。 2B has a length limited by the upper limit h of the complete prefix code 5 defined by the codes C = {10 h + 1 , 01 h + 1 , 10 k 1,01 k 0, k ≦ h}. Recognize codewords.

さらに、本発明による方法は、符号化された語の列11の語に、擬似乱数データ列1を構成するために非同期化関数fに従って対応する出力語7aを関連付ける関連付け動作20を具備する。   Furthermore, the method according to the invention comprises an associating operation 20 for associating the words of the encoded word sequence 11 with the corresponding output word 7a according to the desynchronization function f in order to construct the pseudorandom data sequence 1.

このように、本発明の機構の応用は、入力列(即ち初期データフロー3)の、迅速な完全プレフィクス符号5の語の列11への分解10に関する。完全プレフィクス符号5の語を認識する毎に、非同期化関数fによる当該語の像が出力語を生成する。この機構は、初期データフロー3の入力列の最後のビットに到達するまで、又は、ユーザーが決定した停止条件が満たされるまで、繰り返される。   Thus, the application of the mechanism of the present invention relates to the decomposition 10 of the input sequence (ie, the initial data flow 3) into the rapid complete prefix code 5 word sequence 11. Each time a word of the complete prefix code 5 is recognized, an image of the word by the desynchronization function f generates an output word. This mechanism is repeated until the last bit of the input string of the initial data flow 3 is reached or until a stop condition determined by the user is met.

暗号化アプリケーションの環境では、機構(符号5、関数f)のデータのいくつか又は全てを、暗号化システムの秘密データとしておくことが可能であるのが好ましいことに留意する。   Note that in the environment of encryption applications, it is preferable that some or all of the data of the mechanism (reference 5, function f) can be kept secret data of the encryption system.

非同期化関数fは、擬似乱数データ列1の生成の間に修正可能な所定パラメータの値に依存するパラメータ化された関数であるのが好ましい。次いで、このパラメータ化された関数は、出力語7の集合Eからの元を、長さmの任意の2進ベクトルν、即ち{0,1}の任意の元νと、完全プレフィクス符号5 Cの任意の語xとに関連付ける

Figure 2008542805
の形である。 The desynchronization function f is preferably a parameterized function that depends on the value of a predetermined parameter that can be modified during the generation of the pseudorandom data sequence 1. This parameterized function then replaces the elements from the set E of output words 7 with any binary vector ν of length m, i.e. any element ν of {0,1} m , and a complete prefix code. 5 Associate with any C word x
Figure 2008542805
It is the form.

本発明の方法は、次いで、初期データフロー3と2進ベクトルνとを入力として受け取る。ベクトルνの選択は、初期化ベクトルに(非線形)操作を適用した結果でも良い。もちろん、ベクトルνは、所定値(例えばνがヌルベクトル)を取っても良い。ベクトルνは、処理の間に修正可能であるとともに、従って擬似乱数データ列1の生成に依存可能であるのが好ましい。   The method of the invention then receives as input the initial data flow 3 and the binary vector ν. The selection of the vector ν may be the result of applying a (non-linear) operation to the initialization vector. Of course, the vector ν may take a predetermined value (for example, ν is a null vector). The vector ν can be modified during processing and therefore preferably dependent on the generation of the pseudorandom data sequence 1.

このようにすると、このパラメータによって、初期データフロー3と擬似乱数データ列1との間の関係の複雑度が向上し、擬似乱数データ列1を予測するのがより困難になる。   In this way, this parameter increases the complexity of the relationship between the initial data flow 3 and the pseudorandom data sequence 1, making it more difficult to predict the pseudorandom data sequence 1.

さらに、初期データフロー3の特定の性質に依存しない最小レートを保証するために、完全プレフィクス符号5の符号語は、上限hによって制限される長さを具備するとともに、もし出力語sと他の出力語sとが同一の長さであるならば、非同期化関数fによる出力語sの逆像の数は、同一の関数fによる出力語sの逆像の数と同一であるのが好ましい。 Furthermore, in order to guarantee a minimum rate independent of the specific nature of the initial data flow 3, the code word of the full prefix code 5 has a length limited by the upper limit h and if it is the output word s 1 If the other output word s 2 has the same length, the number of inverse images of the output word s 1 by the desynchronization function f is the same as the number of inverse images of the output word s 2 by the same function f. Preferably there is.

換言すると、完全プレフィクス符号5は、次の好ましい性質を具備する。
・ある整数hが存在して、完全プレフィクス符号5 Cの語全てがhよりも小さい又は等しい長さを具備する。
・任意の整数kに対し、任意の集合

Figure 2008542805
からの任意の組(s,s)に対して、集合
Figure 2008542805
及び
Figure 2008542805
内の長さkの元の数は、それぞれ等しい。 In other words, the complete prefix code 5 has the following preferable properties.
There is an integer h and all words of the full prefix code 5 C have a length less than or equal to h.
・ Any set for any integer k
Figure 2008542805
For any pair (s 1 , s 2 ) from
Figure 2008542805
as well as
Figure 2008542805
The original number of length k is equal to each other.

さらに、このことによって、生成された出力擬似乱数データ列1のハミング重さ(即ち値「1」のビットの数)が、初期データ列3のいかなる情報も供給しないことが確実となる。換言すれば、前記出力擬似乱数データ列1内の値「0」を有するビットと値「1」を有するビットとが、初期データ列3の同一の情報量を具備する。   Furthermore, this ensures that the Hamming weight of the generated output pseudorandom data sequence 1 (ie the number of bits of value “1”) does not supply any information in the initial data sequence 3. In other words, the bit having the value “0” and the bit having the value “1” in the output pseudorandom data sequence 1 have the same information amount as the initial data sequence 3.

完全プレフィクス符号5の語は、下限mによって制限された長さを具備するのが好ましいとともに、前記完全プレフィクス符号の語のより大きな長さlが存在して、前記より大きな長さlよりも小さい又は等しい任意の長さkに対して、完全プレフィクス符号は、2m−1個の長さkの語を具備するのが好ましい。換言すると、関連付け関数fνは、次の性質を満たす。ある整数mが存在して、符号Cの考えうる全ての語が、mより大きい又は等しい長さを有するとともに、さらに、ある整数l≧mが存在して、mより大きい又は等しく、かつlより小さい又は等しい任意の整数kに対し、符号

Figure 2008542805
は、丁度2m−1個の長さkの語を具備する。 The word of the complete prefix code 5 preferably has a length limited by a lower limit m, and there is a greater length l of the word of the complete prefix code than the larger length l. For any length k that is also smaller or equal, the complete prefix code preferably comprises 2 m−1 words of length k. In other words, the association function f ν satisfies the following property. There is an integer m, all possible words of code C have a length greater than or equal to m, and there is also an integer l ≧ m, greater than or equal to m, and from l For any integer k that is small or equal, the sign
Figure 2008542805
Comprises exactly 2 m−1 words of length k.

このようにすると、初期データフロー3の一様な分布に伴い、中間レートは、オーダー1/(m+1)となる。特に、擬似乱数データ列の所与のビットに対して、前記所与のビットが何(0又は1)であろうが、当該ビットを生成した符号語が長さkとなる確率は、kの逆数に比例する。この確率分布の選択は、擬似乱数データ列1が満たさなければならない統計的性質に関して最適である。   In this way, with the uniform distribution of the initial data flow 3, the intermediate rate is of the order 1 / (m + 1). In particular, for a given bit of a pseudo-random data sequence, whatever the given bit is (0 or 1), the probability that the codeword that generated the bit has length k is k Proportional to inverse. The selection of this probability distribution is optimal with respect to the statistical properties that the pseudorandom data sequence 1 must satisfy.

本発明の特定の第1実施形態で、集合

Figure 2008542805
によって定義する完全プレフィクス符号を考察する。ここで、
Figure 2008542805
は、和集合記号を表す。hは固定された整数(h≧2)であるとともに、例えば、出力語集合は、2進集合E={0,1}の語によって定義する。 In a specific first embodiment of the invention,
Figure 2008542805
Consider the complete prefix code defined by here,
Figure 2008542805
Represents a union symbol. h is a fixed integer (h ≧ 2) and, for example, the output word set is defined by the words of the binary set E 1 = {0, 1}.

さらに、成分が集合{0,1}に属するベクトル

Figure 2008542805
を定義する。前記パラメータ化された関数fを次のように定義する。 Furthermore, a vector whose components belong to the set {0, 1}
Figure 2008542805
Define The parameterized function f u is defined as follows.

Figure 2008542805
Figure 2008542805

この実施形態では、初期データフロー3は、1ビットずつ読み込むとともに、符号Cの任意の語xに対して、語xの第1ビットと、値n(

Figure 2008542805
の形の語に対して)、又は固定された値h−1(
Figure 2008542805
の形の語に対して)とを知って、値f(x)を計算する。 In this embodiment, the initial data flow 3 reads bit by bit, and for any word x with code C 1 , the first bit of word x and the value n (
Figure 2008542805
Or a fixed value h−1 (for words of the form
Figure 2008542805
For a word of the form) and calculate the value f u (x).

この第1実施形態の機構を説明するために、

Figure 2008542805
とし、
Figure 2008542805
とする。さらに、フラグは値0で初期化するとともに、符号Cの語を認識した後のみ値1を取る。前記フラグの値は、各語の認識後にリセットする。各語の認識に対して、現在の語の第1ビットを変数cに一時的に格納するとともに、前記語の長さを変数「length」内で更新する。出力ビットの値は、変数sに格納する。 In order to explain the mechanism of the first embodiment,
Figure 2008542805
age,
Figure 2008542805
And Further, flag is initialized with the value 0, it takes a look at the value 1 after recognizing the words of the code C 1. The value of the flag is reset after each word is recognized. For each word recognition, the first bit of the current word is temporarily stored in the variable c, and the length of the word is updated in the variable “length”. The value of the output bit is stored in the variable s.

例えば、この第1実施形態は、次の機構の反復を具備する。

Figure 2008542805
For example, this first embodiment comprises the following mechanism iterations.
Figure 2008542805

この実施形態は、実施が比較的安価であるとともに、ハードウェア内の電子回路で暗号化を実施するのに使用可能であるのが好ましい。さらに、中間レート、即ち出力ビット数(擬似乱数データ列1のビット数)と入力ビット数(初期データフロー3のビット数)との比率が1/3より厳密に大きい。さらに、長さhの入力に対する、出力ビットの保証最小数が1である。   This embodiment is preferably inexpensive to implement and can be used to implement encryption with electronic circuitry in hardware. Furthermore, the ratio between the intermediate rate, that is, the number of output bits (the number of bits of the pseudo random number data string 1) and the number of input bits (the number of bits of the initial data flow 3) is strictly larger than 1/3. Furthermore, the guaranteed minimum number of output bits for an input of length h is 1.

本発明の特定の第2実施形態では、次の形

Figure 2008542805
の2バイトからなる符号語集合Cによって、完全プレフィクス符号5を定義するとともに、出力語集合は、集合
Figure 2008542805
からの語によって定義する。 In a specific second embodiment of the present invention, the following form
Figure 2008542805
A complete prefix code 5 is defined by a codeword set C 2 composed of 2 bytes of
Figure 2008542805
Defined by words from

さらに、成分が集合{0,1}に属するベクトル

Figure 2008542805
を、最初の8個の成分の値
Figure 2008542805
が不変になるとともに、最後の成分の値
Figure 2008542805
が可変になるように定義する。 Furthermore, a vector whose components belong to the set {0, 1}
Figure 2008542805
Is the value of the first 8 components
Figure 2008542805
The value of the last component as
Figure 2008542805
Is defined to be variable.

さらに、前記パラメータ化された関数

Figure 2008542805
は、wの形の任意の語に、
・もし、次の条件
Figure 2008542805
の1つが満たされるならばwを、
・もし、次の条件
Figure 2008542805
の1つが満たされるならばwを、
・もし、
Figure 2008542805
ならば空語εを、
関連付ける。 Further, the parameterized function
Figure 2008542805
Is an arbitrary word of the form w 1 w 2 ,
・ If the following conditions
Figure 2008542805
W 1 if one of
・ If the following conditions
Figure 2008542805
W 2 if one of
·if,
Figure 2008542805
Then the empty word ε,
Associate.

この第2実施形態の機構を説明するために、整数hをh≧1となるように設定するとともに、フラグを値0で初期化するとともに符号Cの語を認識した後にのみ値1をとるようにする。各語の認識に対して、読み込んだ最後のバイトを一時的に変数cに格納するとともに、語の長さを変数「length」内で更新する。出力バイトの値は、変数sに格納する。2つのバイトw及びwの連結を、

Figure 2008542805
と記す。 In order to explain the mechanism of the second embodiment, the integer h is set so that h ≧ 1, the flag is initialized with the value 0, and the value 1 is taken only after the word C 2 is recognized. Like that. For the recognition of each word, the last byte read is temporarily stored in the variable c, and the length of the word is updated in the variable “length”. The value of the output byte is stored in the variable s. Concatenation of two bytes w 1 and w 2
Figure 2008542805
.

例えば、この第2実施形態は、次の機構の反復を具備する。   For example, this second embodiment comprises the following mechanism iterations.

Figure 2008542805
Figure 2008542805

第2実施形態では、ソフトウェア型の暗号化を使用可能であるのが好ましい。さらに、中間レート、即ち出力バイト数と入力バイト数との比率は、1/3より厳密に大きいとともに、長さhバイトの入力に対する出力バイトの保証最小数は1である。   In the second embodiment, it is preferable that software-type encryption can be used. Furthermore, the intermediate rate, ie the ratio between the number of output bytes and the number of input bytes, is strictly greater than 大 き い, and the minimum guaranteed number of output bytes for an input of length h bytes is 1.

図3Aは、擬似乱数データ列1を生成する生成器21の実施例を非常に図式的に図示している。   FIG. 3A very schematically illustrates an embodiment of the generator 21 that generates the pseudorandom data sequence 1.

生成器21は、初期データフロー3を生成する少なくとも1つの最長周期線形フィードバックシフトレジスタを具備する初期生成手段23を具備する。最長周期Tの列内では、長さk(ただしT=2−1)の全ての語又はパターンが少なくとも1度現れることは公知である。線形フィードバックシフトレジスタは、フィードバック多項式と呼ばれる多項式で表される線形組み合わせ(linear conbination)を具備する有限長のビット(レジスタ)の表である。各シフトでは、最大添字を有するビットをシフトアウトするとともに、他の全ビットを1添字分だけシフトするとともに、最小添え字を有するビットはシフト前の線形組み合わせの値を取る。 The generator 21 comprises initial generating means 23 comprising at least one longest period linear feedback shift register for generating the initial data flow 3. It is known that all words or patterns of length k (where T = 2 k −1) appear at least once in the longest period T sequence. The linear feedback shift register is a table of finite length bits (registers) having a linear combination represented by a polynomial called a feedback polynomial. In each shift, the bit having the largest subscript is shifted out, all the other bits are shifted by one subscript, and the bit having the smallest subscript takes the value of the linear combination before the shift.

フィードバック多項式は、例えば、最長周期列を生成する線形フィードバックシフトレジスタに対応する原始多項式、又は、Pを原始多項式として、Q=(x+1)Pの形の多項式であるのが好ましい。 The feedback polynomial is preferably, for example, a primitive polynomial corresponding to a linear feedback shift register that generates the longest periodic sequence, or a polynomial in the form of Q = (x 2 +1) P, where P is a primitive polynomial.

さらに、生成器21は、メモリ25と処理ユニット27とを具備する。メモリ25は、完全プレフィクス符号5と出力語集合7とを構成する符号語集合を格納する。   Furthermore, the generator 21 includes a memory 25 and a processing unit 27. The memory 25 stores codeword sets that constitute the complete prefix code 5 and the output word set 7.

処理ユニット27は、初期データフロー3を読み込むとともに、初期データフロー3を、完全プレフィクス符号5に従って符号化された語の列11に分解するとともに、当該符号化された語の列11の語を、擬似乱数データ列を生成するために、非同期化関数fに従って対応する出力語に関連付ける。非同期化関数fは、出力語集合7からの出力語を、完全プレフィクス符号5の任意の符号語に関連付ける。   The processing unit 27 reads the initial data flow 3 and decomposes the initial data flow 3 into a sequence 11 of words encoded according to the complete prefix code 5 and also converts the words in the sequence 11 of the encoded words. In order to generate a pseudo-random number data string, it is associated with the corresponding output word according to the desynchronization function f. The desynchronization function f associates an output word from the output word set 7 with an arbitrary code word of the complete prefix code 5.

処理ユニット27は、分解動作10及び関連付け動作20を同時に実行可能であることに留意する。このように、処理ユニット27は、初期データフロー3を1ビットずつ読み込むとともに、完全プレフィクス符号5の語が発見される度に、非同期化関数9によって当該語の像を計算する。   Note that the processing unit 27 can perform the disassembly operation 10 and the association operation 20 simultaneously. In this way, the processing unit 27 reads the initial data flow 3 bit by bit and calculates an image of the word by the desynchronization function 9 each time a word of the complete prefix code 5 is found.

それゆえ、生成器は、実施が簡単であるとともに、入力初期データフロー3を一意的な方法で分解する分解手段(メモリ25及び処理ユニット27)と、初期データフロー3の特定の性質に依存しないような、最小レートを具備する擬似乱数データ列を生成する非同期化手段(メモリ25及び処理ユニット27)とを具備する。   Therefore, the generator is simple to implement and does not depend on the decomposing means (memory 25 and processing unit 27) for decomposing the input initial data flow 3 in a unique way and the specific nature of the initial data flow 3 Asynchronous means (memory 25 and processing unit 27) for generating a pseudo-random number data sequence having the minimum rate.

図3Bは、擬似乱数データ列1を生成する生成器21の他の実施例を図示している。前記実施例は、パラメータ設定手段29をさらに具備するという理由で、図3Aの実施例とは異なる。パラメータ設定手段29は、非同期化関数fを、所定パラメータに依存させるとともに、擬似乱数データ列1を生成する間に、当該パラメータの値を修正する。   FIG. 3B illustrates another embodiment of the generator 21 that generates the pseudorandom data sequence 1. The embodiment differs from the embodiment of FIG. 3A because it further comprises parameter setting means 29. The parameter setting means 29 makes the desynchronization function f dependent on a predetermined parameter and corrects the value of the parameter while generating the pseudo random number data sequence 1.

図4は、インターネット,GSM,UMTS,WiFi,UltraWideBand等のタイプの通信ネットワーク35を経由して相互接続された少なくとも2つの構成要素を具備するセキュアなシステム30を示している。   FIG. 4 shows a secure system 30 comprising at least two components interconnected via a communication network 35 of a type such as the Internet, GSM, UMTS, WiFi, UltraWideBand.

この図は、通信ネットワーク35を経由して第2構成要素33bに接続した第1構成要素33aを示している。   This figure shows the first component 33 a connected to the second component 33 b via the communication network 35.

第1構成要素33a(又は第2構成要素33b)は、第1端末37a(又は第2端末37b)と、第1暗号化/暗号解除装置39a(又は第2暗号化/暗号解除装置39b)と、第1モデム41a(又は第2モデム41b)とを具備し、モデム41a及び41bは、通信ネットワーク35とのインターフェースになることが可能である任意の装置である。   The first component 33a (or second component 33b) includes a first terminal 37a (or second terminal 37b), a first encryption / decryption device 39a (or second encryption / decryption device 39b), The first modem 41a (or the second modem 41b), and the modems 41a and 41b are any devices that can interface with the communication network 35.

第1及び第2暗号化/暗号解除装置39a,39bは、それぞれ、上記で説明したような擬似乱数データ列1を生成する生成器21と、排他的論理和論理ゲート43とを具備する。   Each of the first and second encryption / decryption devices 39a and 39b includes a generator 21 that generates the pseudo-random data sequence 1 as described above, and an exclusive OR gate 43.

各暗号化/暗号解除装置39a,39bは、メッセージを1ビットずつ暗号化又は暗号解除することでフロー暗号化又は暗号解除を行う。   Each encryption / decryption device 39a, 39b performs flow encryption or decryption by encrypting or decrypting a message bit by bit.

この実施例によると、第1暗号化/暗号解除装置39aは、暗号化動作を行う。このように、暗号化列と呼ばれる擬似乱数データ列1は、排他的論理和ゲート43で、第1端末37aによって送信される平文メッセージ45の対応する箇所の各ビットと結合する。これによって、第1モデム41aが次いで第2構成要素33bに送信する暗号化テキスト47を生成する。このようにして、暗号化動作は、メッセージ45の平文テキストに1ビットずつ暗号化列を加算することによって、暗号化テキスト47を取得する。   According to this embodiment, the first encryption / decryption device 39a performs an encryption operation. In this way, the pseudo random number data sequence 1 called an encrypted sequence is combined with each bit of the corresponding portion of the plaintext message 45 transmitted by the first terminal 37a by the exclusive OR gate 43. This generates encrypted text 47 that the first modem 41a then transmits to the second component 33b. In this way, the encryption operation obtains the encrypted text 47 by adding the encrypted string bit by bit to the plain text of the message 45.

第2暗号化/暗号解除装置39bは、メッセージ45の平文テキストを取得するために、第1構成要素33aによって送信された暗号化テキスト47に、同一の暗号化列1を1ビットずつ加算することにより暗号解除動作を行う。従って、暗号化及び暗号解除動作は、同一である。   The second encryption / decryption device 39b adds the same encrypted string 1 bit by bit to the encrypted text 47 transmitted by the first component 33a in order to obtain the plain text of the message 45. The descrambling operation is performed. Therefore, the encryption and decryption operations are the same.

図1は、擬似乱数データ列を生成するための本発明の方法を高度に図式化した説明図である。FIG. 1 is a highly schematic illustration of the method of the present invention for generating a pseudorandom data sequence. 図2Aは、本発明に従って初期データフローを符号化された語の列に分解するための有限オートマトンの実施例を図式的に示している。FIG. 2A schematically illustrates an embodiment of a finite automaton for decomposing an initial data flow into a sequence of encoded words in accordance with the present invention. 図2Bは、本発明に従って初期データフローを符号化された語の列に分解するための有限オートマトンの実施例を図式的に示している。FIG. 2B schematically illustrates an embodiment of a finite automaton for decomposing an initial data flow into a sequence of encoded words in accordance with the present invention. 図3Aは、本発明の擬似乱数データ列生成器の実施例を図式化して説明している。FIG. 3A schematically illustrates an embodiment of the pseudorandom data sequence generator of the present invention. 図3Bは、本発明の擬似乱数データ列生成器の実施例を図式化して説明している。FIG. 3B schematically illustrates an embodiment of the pseudorandom data sequence generator of the present invention. 図4は、図3A又は図3Bの生成器を具備するセキュアなシステムを示している。FIG. 4 shows a secure system comprising the generator of FIG. 3A or 3B. 図5は、従来技術の生成器を図式化した図である。FIG. 5 is a diagrammatic representation of a prior art generator.

符号の説明Explanation of symbols

1 出力擬似乱数データ列
3 初期データフロー
5 完全プレフィクス符号
5a 符号語集合
7 出力語集合
7a 出力語
10 分解動作
11 符号化列
20 関連付け動作
DESCRIPTION OF SYMBOLS 1 Output pseudorandom data sequence 3 Initial data flow 5 Complete prefix code 5a Codeword set 7 Output word set 7a Output word 10 Decomposition operation 11 Encoded sequence 20 Association operation

Claims (11)

初期データフロー(3)から擬似乱数データ列(1)を生成するための方法において、
・完全プレフィクス符号(5)を構成する符号語集合を定義する段階と、
・出力語集合(7)を定義する段階と、
・前記出力語集合(7)からの出力語に、前記完全プレフィクス符号(5)の符号語を関連付ける非同期化関数(f)を定義する段階と、
・初期データフロー(3)を、前記完全プレフィクス符号(5)に従って符号化された語の列(11)に分解する段階と、
・前記擬似乱数データ列(1)を構成するために、前記符号化された語の列(11)の語に、前記非同期化関数(f)に従って対応する出力語を関連付ける段階と、
を具備することを特徴とする方法。
In a method for generating a pseudo random number data sequence (1) from an initial data flow (3),
Defining a set of codewords that constitute the complete prefix code (5);
Defining the output word set (7);
Defining an desynchronization function (f) for associating a code word of the complete prefix code (5) with an output word from the output word set (7);
Decomposing the initial data flow (3) into a sequence of words (11) encoded according to the complete prefix code (5);
Associating a corresponding output word according to the desynchronization function (f) with a word of the encoded word sequence (11) to construct the pseudo-random data sequence (1);
A method comprising the steps of:
前記非同期化関数(f)は、擬似乱数データ列(1)の生成の間に値を修正可能である所定パラメータに依存するパラメータ化された関数であることを特徴とする請求項1に記載の方法。   The de-synchronization function (f) is a parameterized function that depends on a predetermined parameter whose value can be modified during generation of the pseudo-random data sequence (1). Method. 前記出力語集合(7)は、各出力語に対して相補的な出力語を具備することを特徴とする請求項1に記載の方法。   The method of claim 1, wherein the output word set (7) comprises complementary output words for each output word. 前記完全プレフィクス符号(5)の符号語は、上限hによって制限された長さを具備するとともに、もし、出力語xと他の出力語yとが同一の長さを具備するならば、前記関数による出力語xの逆像の数は、前記関数による出力語yの逆像の数と等しいことを特徴とする請求項1〜3の何れか1項に記載の方法。   The code word of the complete prefix code (5) has a length limited by the upper limit h, and if the output word x and another output word y have the same length, The method according to claim 1, wherein the number of inverse images of the output word x by the function is equal to the number of inverse images of the output word y by the function. 前記完全プレフィクス符号(5)の語は、下限mによって制限された長さを具備するとともに、前記完全プレフィクス符号(5)の語の上限長さlがあって、前記上限長さlより小さい又は等しい任意の長さkに対して、前記完全プレフィクス符号は2m−1個の長さkの語を具備することを特徴とする請求項4に記載の方法。 The word of the complete prefix code (5) has a length limited by a lower limit m, and has an upper limit length l of the word of the complete prefix code (5). 5. The method of claim 4, wherein for any length k that is small or equal, the complete prefix code comprises 2 m-1 words of length k. ・完全プレフィクス符号(5)は、h≧2として次の形
Figure 2008542805
を有する符号語集合Cで定義し、
・出力語集合(7)は、2進集合E={0,1}からの語で定義し、
・パラメータ化された非同期化関数(f)の所定パラメータuは、成分が集合{0,1}に属するベクトル
Figure 2008542805
であり、
・パラメータ化された非同期化関数fは、次の
Figure 2008542805
のように定義することを特徴とする請求項4又は請求項5に記載の方法。
・ The complete prefix code (5) has the following form with h ≧ 2.
Figure 2008542805
Is defined by a codeword set C 1 having
The output word set (7) is defined by words from the binary set E 1 = {0, 1}
The predetermined parameter u of the parameterized desynchronization function (f) is a vector whose components belong to the set {0, 1}
Figure 2008542805
And
The parameterized desynchronization function f u is
Figure 2008542805
6. The method according to claim 4, wherein the method is defined as follows.
・完全プレフィクス符号(5)は、次の形
Figure 2008542805
の2バイトから構成される符号語集合Cで定義し、
・出力語集合(7)は、集合
Figure 2008542805
からの語で定義し、
・パラメータ化された非同期化関数(f)の所定パラメータνは、成分が集合{0,1}に属するベクトル
Figure 2008542805
であり、最初の8個の成分の値
Figure 2008542805
は不変であるとともに、最後の成分の値
Figure 2008542805
は変化するとともに、
・パラメータ化された非同期化関数
Figure 2008542805
は、wの形の任意の語に、
・もし、次の条件
Figure 2008542805
の1つが満たされるならばwを、
・もし、次の条件
Figure 2008542805
の1つが満たされるならばwを、
・もし、
Figure 2008542805
ならば空語εを、
関連付けることを特徴とする請求項4に記載の方法。
・ The complete prefix code (5) has the following form:
Figure 2008542805
Defined by a codeword set C 2 composed of 2 bytes of
・ Output word set (7) is set
Figure 2008542805
Defined by the words from
The predetermined parameter ν of the parameterized desynchronization function (f) is a vector whose components belong to the set {0, 1}
Figure 2008542805
And the value of the first 8 components
Figure 2008542805
Is invariant and the value of the last component
Figure 2008542805
Change,
Parameterized desynchronization function
Figure 2008542805
Is an arbitrary word of the form w 1 w 2 ,
・ If the following conditions
Figure 2008542805
W 1 if one of
・ If the following conditions
Figure 2008542805
W 2 if one of
·if,
Figure 2008542805
Then the empty word ε,
The method of claim 4, comprising associating.
初期データフロー(3)から擬似乱数データ列(1)を生成する生成器において、
メモリ(25)と処理ユニット(27)とを具備し、
前記メモリは完全プレフィクス符号(5)を構成する符号語集合と出力語集合(7)とを格納し、
前記処理ユニット(27)は、初期データフロー(3)を読み込み可能であるとともに、前記初期データフローを前記完全プレフィクス符号(5)に従って符号化された語の列(11)に分解可能であるとともに、前記擬似乱数データ列(1)を生成するために、非同期化関数(f)に従って、前記符号化された語の列(11)の語に対応する出力語を関連付け可能であることを特徴とする生成器。
In the generator for generating the pseudo random number data sequence (1) from the initial data flow (3),
A memory (25) and a processing unit (27);
The memory stores a code word set and an output word set (7) constituting a complete prefix code (5),
The processing unit (27) can read the initial data flow (3) and can decompose the initial data flow into a sequence of words (11) encoded according to the complete prefix code (5). In addition, in order to generate the pseudo random number data sequence (1), output words corresponding to the words of the encoded word sequence (11) can be associated according to the desynchronization function (f). Generator.
前記非同期化関数(9)を所定パラメータに依存させるとともに、擬似乱数データ列(1)の生成の間に前記所定パラメータ値を修正するパラメータ手段(29)をさらに具備することを特徴とする請求項8に記載の生成器。   A parameter means (29) for making the desynchronization function (9) dependent on a predetermined parameter and correcting the predetermined parameter value during generation of the pseudo-random number data sequence (1) is further provided. 9. The generator according to 8. 排他的論理和論理ゲート(43)を具備する暗号化/暗号解除装置において、
請求項9又は請求項10に記載の生成器(21)をさらに具備することを特徴とする暗号化/暗号解除装置。
In an encryption / decryption device comprising an exclusive OR gate (43),
11. An encryption / decryption device further comprising a generator (21) according to claim 9 or 10.
ネットワーク(35)経由で接続された少なくとも2つの構成要素(37a,37b)を具備するセキュアなシステムにおいて、
前記少なくとも2つの構成要素は、それぞれ請求項10に記載の暗号化/暗号解除装置(39a,39b)を具備することを特徴とするセキュアなシステム。
In a secure system comprising at least two components (37a, 37b) connected via a network (35),
Secure system, characterized in that said at least two components each comprise an encryption / decryption device (39a, 39b) according to claim 10.
JP2008512889A 2005-05-26 2006-05-23 Method, system and apparatus for generating pseudo-random data sequence Pending JP2008542805A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0505296 2005-05-26
PCT/FR2006/050472 WO2007000549A2 (en) 2005-05-26 2006-05-23 Method, system and device for generating a pseudorandom data sequence

Publications (1)

Publication Number Publication Date
JP2008542805A true JP2008542805A (en) 2008-11-27

Family

ID=35241190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008512889A Pending JP2008542805A (en) 2005-05-26 2006-05-23 Method, system and apparatus for generating pseudo-random data sequence

Country Status (6)

Country Link
EP (1) EP1886436A2 (en)
JP (1) JP2008542805A (en)
KR (1) KR20080019631A (en)
CN (1) CN101208902A (en)
BR (1) BRPI0610323A2 (en)
WO (1) WO2007000549A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731124B2 (en) * 2012-03-28 2014-05-20 Telefonaktiebolaget Lm Ericsson (Publ) Signaling of sequence generator initialization parameters for uplink reference signal generation
DE102013205168A1 (en) * 2013-03-22 2014-09-25 Robert Bosch Gmbh Method for generating a random output bit sequence

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3866029A (en) * 1973-09-18 1975-02-11 Prayfel Inc Two level random number generator having a controllable expected value
US20040086117A1 (en) * 2002-06-06 2004-05-06 Petersen Mette Vesterager Methods for improving unpredictability of output of pseudo-random number generators

Also Published As

Publication number Publication date
EP1886436A2 (en) 2008-02-13
WO2007000549A3 (en) 2007-04-19
BRPI0610323A2 (en) 2016-11-29
KR20080019631A (en) 2008-03-04
CN101208902A (en) 2008-06-25
WO2007000549A2 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
JP4866389B2 (en) Closed Galois field combination
KR101246490B1 (en) A closed galois field cryptographic system
EP1800432B1 (en) Cryptographic primitives, error coding, and pseudo-random number improvement methods using quasigroups
Johansson et al. Improved fast correlation attacks on stream ciphers via convolutional codes
US20070028088A1 (en) Polymorphic encryption method and system
Gaborit et al. Polynomial-time key recovery attack on the Faure–Loidreau scheme based on Gabidulin codes
Ruth Simpson et al. LILI keystream generator
Jönsson et al. A fast correlation attack on LILI-128
CN108141352B (en) Cryptographic apparatus, method, apparatus and computer readable medium, and encoding apparatus, method, apparatus and computer readable medium
Wagner The laws of cryptography with java code
Mi et al. A novel chaotic encryption scheme based on arithmetic coding
US10666437B2 (en) Customizable encryption/decryption algorithm
Donnet et al. Security of Y-00 under heterodyne measurement and fast correlation attack
Biryukov et al. Cryptanalysis of the “kindle” cipher
Matsumoto et al. Cryptographic Mersenne Twister and Fubuki stream/block cipher
JP2008542805A (en) Method, system and apparatus for generating pseudo-random data sequence
Mukesh et al. Enhancing AES algorithm with arithmetic coding
Cardell et al. Recovering the MSS-sequence via CA
Shahapure et al. Variation and security enhancement of block ciphers by embedding
Deepthi et al. Hardware stream cipher based on LFSR and modular division circuit
Carlson et al. Key space reduction using isomorphs
JP4509184B2 (en) Generation of pseudo-random data sequences
JP2006133380A (en) Decoding system, decoding program, and cipher communication system
Usama et al. Chaos-based secure data compression (CSDC)
Chandkavathe et al. Optimized Full Parallelism AES Encryption/Decryption