JP6093207B2 - Linear feedback shift register - Google Patents

Linear feedback shift register Download PDF

Info

Publication number
JP6093207B2
JP6093207B2 JP2013046479A JP2013046479A JP6093207B2 JP 6093207 B2 JP6093207 B2 JP 6093207B2 JP 2013046479 A JP2013046479 A JP 2013046479A JP 2013046479 A JP2013046479 A JP 2013046479A JP 6093207 B2 JP6093207 B2 JP 6093207B2
Authority
JP
Japan
Prior art keywords
input
exclusive
shift register
output
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013046479A
Other languages
Japanese (ja)
Other versions
JP2014175834A (en
Inventor
大武 油谷
大武 油谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013046479A priority Critical patent/JP6093207B2/en
Publication of JP2014175834A publication Critical patent/JP2014175834A/en
Application granted granted Critical
Publication of JP6093207B2 publication Critical patent/JP6093207B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は線形フィードバックシフトレジスタおよびそれを有したデータ処理装置に関する。   The present invention relates to a linear feedback shift register and a data processing apparatus having the same.

線形フィードバックシフトレジスタ(LFSR:linear feedback shift register)はガロア線形フィードバックシフトレジスタとフィボナッチ線形フィードバックシフトレジスタに分類される。両線形フィードバックシフトレジスタは用途によって使い分けられ、ガロア線形フィードバックシフトレジスタは暗号回路や符号理論(例えば、誤り訂正の符号化)に用いられ、フィボナッチ線形フィードバックシフトレジスタはM系列(maximal length sequence)の擬似乱数生成に用いられる。   Linear feedback shift registers (LFSR) are classified into Galois linear feedback shift registers and Fibonacci linear feedback shift registers. Both linear feedback shift registers are properly used depending on the application, the Galois linear feedback shift register is used for cryptographic circuits and coding theory (for example, error correction coding), and the Fibonacci linear feedback shift register is an M-sequence (maximal length sequence) pseudo. Used for random number generation.

これらの線形フィードバックシフトレジスタをハードウエアで構成する場合、従来的には既約多項式の次数に合わせてハードウエアを設計するため、既約多項式の次数は固定されてしまう。また、両タイプの線形フィードバックシフトレジスタを実装するシステムでは、それぞれの線形フィードバックシフトレジスタをハードウエアで実装することになるが、この場合、暗号の高度化に伴い、既約多項式の次数が大きくなる昨今では、回路規模が増大し、回路コストがますます増加するという問題がある。   When these linear feedback shift registers are configured by hardware, the hardware is conventionally designed in accordance with the degree of the irreducible polynomial, so the degree of the irreducible polynomial is fixed. In addition, in a system that implements both types of linear feedback shift registers, each linear feedback shift register is implemented by hardware. In this case, the degree of the irreducible polynomial increases with the advancement of encryption. Nowadays, there is a problem that the circuit scale increases and the circuit cost further increases.

特許文献1には、Montgomery乗算剰余方式を用いて任意の次数の演算を可能とする構成が開示されているが、Montgomery乗算に特化した構成の線形フィードバックシフトレジスタであり汎用性がない。   Japanese Patent Application Laid-Open No. 2004-228561 discloses a configuration that enables arithmetic operations of an arbitrary order using the Montgomery multiplication residue method, but is a linear feedback shift register specialized for Montgomery multiplication and is not versatile.

特許第4177526号公報Japanese Patent No. 4177526

本発明は上記のような問題点を解消するためになされたもので、符号理論および暗号理論で用いる場合でも、所望の用途に可変できる汎用性のある線形フィードバックシフトレジスタを提供でき、また、ガロアおよびフィボナッチの両タイプの線形フィードバックシフトレジスタを用いるシステムにおいて、低コスト化を図ることができる線形フィードバックシフトレジスタを提供することを目的とする。   The present invention has been made to solve the above problems, and can provide a versatile linear feedback shift register that can be changed to a desired application even when used in coding theory and encryption theory. An object of the present invention is to provide a linear feedback shift register capable of reducing the cost in a system using both types of linear feedback shift registers of Fibonacci type.

本発明に係る線形フィードバックシフトレジスタの第1の態様は、ビット列を構成する一部のビットの排他的論理和を入力ビットとしてフィードバックする線形フィードバックシフトレジスタであって、排他的論理和の対象であって前記入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と、前記ビット列の何れのビットをフィードバックループの始めのビットとするかを選択するフィードバック開始位置選択手段と、を備え、前記タップ選択手段によって前記タップを選択することで、前記線形フィードバックシフトレジスタで実現される多項式の項を規定し、前記フィードバック開始位置選択手段によって前記フィードバックループの開始位置を設定することで、前記多項式の最大次数を決定し、前記線形フィードバックシフトレジスタが、シフトレジスタを構成する複数のフリップフロップのそれぞれの出力信号を受ける複数の排他的論理和素子を有し、前記タップ選択手段は、一方入力に、前記複数の排他的論理和素子のそれぞれを実質的に不活性状態とするか、活性状態を維持するかを設定するタップ選択信号を受け、他方入力に排他的論理和の対象となる信号を受け、その出力を前記複数の排他的論理和素子のそれぞれに与える複数の論理ゲートを有し、前記タップ選択信号によって活性状態を維持する排他的論理和素子に出力を与えるフリップフロップをタップとして選択し、前記フィードバック開始位置選択手段は、前記複数のフリップフロップのそれぞれの出力信号を一方の入力に受け、他方の入力にフィードバック信号を受け、フィードバック開始位置選択信号によりどちらかを選択して出力する複数のセレクタを有し、前記フィードバック開始位置選択信号により選択される所定のフリップフロップの出力信号を、前記フィードバックループの前記始めのビットとし、前記複数の排他的論理和素子は、複数の第1の排他的論理和素子と、複数の第2の排他的論理和素子とを含み、前記線形フィードバックシフトレジスタは、前記複数の第1の排他的論理和素子が、前記複数のフリップフロップのそれぞれの間に介挿されたガロア線形フィードバックシフトレジスタと、前記複数の第2の排他的論理和素子が、前記フィードバックループ中に介挿されたフィボナッチ線形フィードバックシフトレジスタとを有し、前記複数の論理ゲートは、複数の第1のANDゲートと、複数の第2のANDゲートと、を含み、前記タップ選択信号は、前記複数の第1のANDゲートの前記一方入力に与えられる第1のタップ選択信号と、前記複数の第2のANDゲートの前記一方入力に与えられる第2のタップ選択信号とを含み、前記複数の第1のANDゲートのそれぞれの前記他方入力には前記排他的論理和の対象となる信号として前記フィードバック信号を受け、前記複数の第2のANDゲートのそれぞれの前記他方入力には、前記排他的論理和の対象となる信号として、前記複数のフリップフロップのそれぞれの出力信号を受け、前記第1および第2のタップ選択信号の設定により、前記ガロア線形フィードバックシフトレジスタを使用するか、前記フィボナッチ線形フィードバックシフトレジスタを使用するかを切り替える。 A first aspect of the linear feedback shift register according to the present invention is a linear feedback shift register that feeds back an exclusive OR of a part of bits constituting a bit string as an input bit, and is an object of the exclusive OR. Tap selection means for selecting a tap that outputs a bit that affects the input bit, and feedback start position selection means for selecting which bit of the bit string is the first bit of a feedback loop, The polynomial is realized by the linear feedback shift register by selecting the tap by the tap selection means, and the polynomial is realized by setting the start position of the feedback loop by the feedback start position selection means. maximum order to determine the linear Fi of The back-shift register has a plurality of exclusive OR elements that receive respective output signals of the plurality of flip-flops constituting the shift register, and the tap selection means has one input with the plurality of exclusive OR elements Each receives a tap selection signal for setting whether to substantially inactivate or maintain the active state, and the other input receives a signal to be subjected to exclusive OR, and outputs the plurality of exclusive outputs. A flip-flop that has a plurality of logic gates to be applied to each of the logical OR elements, and that provides an output to the exclusive OR element that maintains an active state by the tap selection signal, and the feedback start position selection means includes: Each of the plurality of flip-flops receives the output signal at one input, receives the feedback signal at the other input, A plurality of selectors for selecting and outputting either of them according to a feedback start position selection signal, and an output signal of a predetermined flip-flop selected by the feedback start position selection signal as the first bit of the feedback loop, The plurality of exclusive OR elements include a plurality of first exclusive OR elements and a plurality of second exclusive OR elements, and the linear feedback shift register includes the plurality of first exclusive OR elements. A Galois linear feedback shift register in which a logical OR element is inserted between each of the plurality of flip-flops, and a Fibonacci in which the plurality of second exclusive OR elements are inserted in the feedback loop. A linear feedback shift register, and the plurality of logic gates include a plurality of first AND gates and a plurality of logic gates. A second AND gate, and the tap selection signal is a first tap selection signal applied to the one input of the plurality of first AND gates, and the second AND gate is the second AND gate. A second tap selection signal given to one input, and the other input of each of the plurality of first AND gates receives the feedback signal as a signal to be subjected to the exclusive OR, Each of the second inputs of the second AND gate receives an output signal of each of the plurality of flip-flops as a signal to be subjected to the exclusive OR, and the first and second tap selection signals. by setting, use the Galois linear feedback shift register, switching whether to use the Fibonacci linear feedback shift register .

本発明によれば、タップ選択手段によってタップを選択することで、線形フィードバックシフトレジスタで実現される多項式を任意に設定でき、フィードバック開始位置選択手段によってフィードバックループの開始位置を設定することで、最大次数以下であれば多項式の最大次数を任意に設定し、変更することができる。このように、次数を任意に設定でき、可変できることから、符号理論および暗号理論で用いる場合でも、所望の用途に可変できる汎用性のある線形フィードバックシフトレジスタを得ることができる。   According to the present invention, it is possible to arbitrarily set a polynomial realized by the linear feedback shift register by selecting a tap by the tap selection unit, and by setting the start position of the feedback loop by the feedback start position selection unit, If it is less than the order, the maximum order of the polynomial can be arbitrarily set and changed. Thus, since the order can be arbitrarily set and can be varied, a versatile linear feedback shift register that can be varied for a desired application can be obtained even when used in coding theory and encryption theory.

本発明に係る実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタの構成を示す回路図である。It is a circuit diagram which shows the structure of the dynamic variable type Galois linear feedback shift register of Embodiment 1 which concerns on this invention. 本発明に係る実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Galois linear feedback shift register of Embodiment 1 which concerns on this invention. 本発明に係る実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタの動作を説明する等価回路図である。It is an equivalent circuit diagram explaining operation | movement of the dynamic variable type Galois linear feedback shift register of Embodiment 1 which concerns on this invention. 本発明に係る実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Galois linear feedback shift register of Embodiment 1 which concerns on this invention. 本発明に係る実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタの構成を示す回路図である。It is a circuit diagram which shows the structure of the dynamically variable Fibonacci linear feedback shift register of Embodiment 2 which concerns on this invention. 本発明に係る実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Fibonacci linear feedback shift register of Embodiment 2 which concerns on this invention. 本発明に係る実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタの動作を説明する等価回路図である。It is an equivalent circuit diagram explaining operation | movement of the dynamic variable type Fibonacci linear feedback shift register of Embodiment 2 which concerns on this invention. 本発明に係る実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Fibonacci linear feedback shift register of Embodiment 2 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの構成を示す回路図である。It is a circuit diagram which shows the structure of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの動作を説明する等価回路図である。It is an equivalent circuit diagram explaining operation | movement of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの動作を説明する等価回路図である。It is an equivalent circuit diagram explaining operation | movement of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタの動作を説明する図である。It is a figure explaining operation | movement of the dynamic variable type Galois Fibonacci linear feedback shift register of Embodiment 3 which concerns on this invention. 本発明に係る線形フィードバックシフトレジスタの適用例の構成を示すブロック図である。It is a block diagram which shows the structure of the example of application of the linear feedback shift register which concerns on this invention. 本発明に係る線形フィードバックシフトレジスタの適用例の構成を示すブロック図である。It is a block diagram which shows the structure of the example of application of the linear feedback shift register which concerns on this invention. 本発明に係る線形フィードバックシフトレジスタの適用例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the application example of the linear feedback shift register which concerns on this invention. 本発明に係る線形フィードバックシフトレジスタの適用例の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the application example of the linear feedback shift register which concerns on this invention.

<実施の形態1>
<装置構成>
図1は本発明に係る実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタ100の構成を示す回路図である。
<Embodiment 1>
<Device configuration>
FIG. 1 is a circuit diagram showing a configuration of a dynamically variable Galois linear feedback shift register 100 according to the first embodiment of the present invention.

図1に示す動的可変型ガロア線形フィードバックシフトレジスタ100は最大8次の既約多項式を規定することができ、フリップフロップF1,F2,F3,F4,F5,F6,F7およびF8と、2入力のANDゲートG1,G2,G3,G4,G5,G6,G7およびG8と、2入力のセレクタS1,S2,S3,S4,S5,S6およびS7と、排他的論理和素子A1,A2,A3,A4,A5,A6,A7およびA8を備えている。   The dynamic variable Galois linear feedback shift register 100 shown in FIG. 1 can define an irreducible polynomial of maximum 8th order, and has two inputs, flip-flops F1, F2, F3, F4, F5, F6, F7 and F8. AND gates G1, G2, G3, G4, G5, G6, G7 and G8, two-input selectors S1, S2, S3, S4, S5, S6 and S7, and exclusive OR elements A1, A2, A3 A4, A5, A6, A7 and A8 are provided.

入力データを受ける排他的論理和素子A1の出力は、フリップフロップF1の入力に接続され、フリップフロップF1の出力は排他的論理和素子A2の入力に接続され、排他的論理和素子A2の出力はフリップフロップF2の入力に接続され、フリップフロップF2の出力は排他的論理和素子A3の入力に接続され、排他的論理和素子A3の出力はフリップフロップF3の入力に接続され、フリップフロップF3の出力は排他的論理和素子A4の入力に接続され、排他的論理和素子A4の出力はフリップフロップF4の入力に接続され、フリップフロップF4の出力は排他的論理和素子A5の入力に接続され、排他的論理和素子A5の出力はフリップフロップF5の入力に接続され、フリップフロップF5の出力は排他的論理和素子A6の入力に接続され、排他的論理和素子A6の出力はフリップフロップF6の入力に接続され、フリップフロップF6の出力は排他的論理和素子A7の入力に接続され、排他的論理和素子A7の出力はフリップフロップF7の入力に接続され、フリップフロップF7の出力は排他的論理和素子A8の入力に接続され、排他的論理和素子A8の出力はフリップフロップF8の入力に接続され、フリップフロップF8の出力が出力データとなる。   The output of the exclusive OR element A1 that receives the input data is connected to the input of the flip-flop F1, the output of the flip-flop F1 is connected to the input of the exclusive OR element A2, and the output of the exclusive OR element A2 is The output of the flip-flop F2 is connected to the input of the exclusive OR element A3, the output of the exclusive OR element A3 is connected to the input of the flip-flop F3, and the output of the flip-flop F3. Is connected to the input of the exclusive OR element A4, the output of the exclusive OR element A4 is connected to the input of the flip-flop F4, and the output of the flip-flop F4 is connected to the input of the exclusive OR element A5. The output of the logical OR element A5 is connected to the input of the flip-flop F5, and the output of the flip-flop F5 is the input of the exclusive OR element A6. , The output of the exclusive OR element A6 is connected to the input of the flip-flop F6, the output of the flip-flop F6 is connected to the input of the exclusive OR element A7, and the output of the exclusive OR element A7 is a flip-flop Connected to the input of the flip-flop F7, the output of the flip-flop F7 is connected to the input of the exclusive OR element A8, the output of the exclusive OR element A8 is connected to the input of the flip-flop F8, and the output of the flip-flop F8 is Output data.

フリップフロップF8の出力はANDゲートG8の一方入力に接続されると共に、セレクタS7の「0」入力に接続されている。なお、セレクタS7の「1」入力にはフリップフロップF7の出力が接続され、セレクタS7の選択入力には次数を決める選択信号SEL[6]が与えられる。そして、ANDゲートG8の他方入力にはタップを選択するタップ選択信号PA[7]が与えられ、ANDゲートG8の出力は排他的論理和素子A8の入力に接続されている。   The output of the flip-flop F8 is connected to one input of the AND gate G8 and also connected to the “0” input of the selector S7. Note that the output of the flip-flop F7 is connected to the “1” input of the selector S7, and the selection signal SEL [6] for determining the order is given to the selection input of the selector S7. A tap selection signal PA [7] for selecting a tap is given to the other input of the AND gate G8, and the output of the AND gate G8 is connected to the input of the exclusive OR element A8.

セレクタS7の出力はANDゲートG7の一方入力に接続されると共に、セレクタS6の「0」入力に接続されている。なお、セレクタS6の「1」入力にはフリップフロップF6の出力が接続され、セレクタS6の選択入力には次数を決める選択信号SEL[5]が与えられる。そして、ANDゲートG7の他方入力にはタップを選択するタップ選択信号PA[6]が与えられ、ANDゲートG7の出力は排他的論理和素子A7の入力に接続されている。   The output of the selector S7 is connected to one input of the AND gate G7 and also connected to the “0” input of the selector S6. Note that the output of the flip-flop F6 is connected to the “1” input of the selector S6, and the selection signal SEL [5] for determining the order is given to the selection input of the selector S6. A tap selection signal PA [6] for selecting a tap is given to the other input of the AND gate G7, and the output of the AND gate G7 is connected to the input of the exclusive OR element A7.

セレクタS6の出力はANDゲートG6の一方入力に接続されると共に、セレクタS5の「0」入力に接続されている。なお、セレクタS5の「1」入力にはフリップフロップF5の出力が接続され、セレクタS5の選択入力には次数を決める選択信号SEL[4]が与えられる。そして、ANDゲートG6の他方入力にはタップを選択するタップ選択信号PA[5]が与えられ、ANDゲートG6の出力は排他的論理和素子A6の入力に接続されている。   The output of the selector S6 is connected to one input of the AND gate G6 and also connected to the “0” input of the selector S5. Note that the output of the flip-flop F5 is connected to the “1” input of the selector S5, and the selection signal SEL [4] for determining the order is given to the selection input of the selector S5. A tap selection signal PA [5] for selecting a tap is given to the other input of the AND gate G6, and the output of the AND gate G6 is connected to the input of the exclusive OR element A6.

セレクタS5の出力はANDゲートG5の一方入力に接続されると共に、セレクタS4の「0」入力に接続されている。なお、セレクタS4の「1」入力にはフリップフロップF4の出力が接続され、セレクタS4の選択入力には次数を決める選択信号SEL[3]が与えられる。そして、ANDゲートG5の他方入力にはタップを選択するタップ選択信号PA[4]が与えられ、ANDゲートG5の出力は排他的論理和素子A5の入力に接続されている。   The output of the selector S5 is connected to one input of the AND gate G5 and to the “0” input of the selector S4. Note that the output of the flip-flop F4 is connected to the “1” input of the selector S4, and the selection signal SEL [3] for determining the order is given to the selection input of the selector S4. A tap selection signal PA [4] for selecting a tap is given to the other input of the AND gate G5, and the output of the AND gate G5 is connected to the input of the exclusive OR element A5.

セレクタS4の出力はANDゲートG4の一方入力に接続されると共に、セレクタS3の「0」入力に接続されている。なお、セレクタS3の「1」入力にはフリップフロップF3の出力が接続され、セレクタS3の選択入力には次数を決める選択信号SEL[2]が与えられる。そして、ANDゲートG4の他方入力にはタップを選択するタップ選択信号PA[3]が与えられ、ANDゲートG4の出力は排他的論理和素子A4の入力に接続されている。   The output of the selector S4 is connected to one input of the AND gate G4 and to the “0” input of the selector S3. Note that the output of the flip-flop F3 is connected to the “1” input of the selector S3, and the selection signal SEL [2] for determining the order is given to the selection input of the selector S3. A tap selection signal PA [3] for selecting a tap is given to the other input of the AND gate G4, and the output of the AND gate G4 is connected to the input of the exclusive OR element A4.

セレクタS3の出力はANDゲートG3の一方入力に接続されると共に、セレクタS2の「0」入力に接続されている。なお、セレクタS2の「1」入力にはフリップフロップF2の出力が接続され、セレクタS2の選択入力には次数を決める選択信号SEL[1]が与えられる。そして、ANDゲートG3の他方入力にはタップを選択するタップ選択信号PA[2]が与えられ、ANDゲートG3の出力は排他的論理和素子A3の入力に接続されている。   The output of the selector S3 is connected to one input of the AND gate G3 and also connected to the “0” input of the selector S2. Note that the output of the flip-flop F2 is connected to the “1” input of the selector S2, and the selection signal SEL [1] for determining the order is given to the selection input of the selector S2. A tap selection signal PA [2] for selecting a tap is given to the other input of the AND gate G3, and the output of the AND gate G3 is connected to the input of the exclusive OR element A3.

セレクタS2の出力はANDゲートG2の一方入力に接続されると共に、セレクタS1の「0」入力に接続されている。なお、セレクタS1の「1」入力にはフリップフロップF1の出力が接続され、セレクタS1の選択入力には次数を決める選択信号SEL[0]が与えられる。そして、ANDゲートG2の他方入力にはタップを選択するタップ選択信号PA[1]が与えられ、ANDゲートG2の出力は排他的論理和素子A2の入力に接続されている。   The output of the selector S2 is connected to one input of the AND gate G2, and is also connected to the “0” input of the selector S1. Note that the output of the flip-flop F1 is connected to the “1” input of the selector S1, and the selection signal SEL [0] for determining the order is given to the selection input of the selector S1. A tap selection signal PA [1] for selecting a tap is given to the other input of the AND gate G2, and the output of the AND gate G2 is connected to the input of the exclusive OR element A2.

セレクタS1の出力はANDゲートG1の一方入力に接続され、ANDゲートG1の他方入力にはタップを選択するタップ選択信号PA[0]が与えられ、ANDゲートG1の出力は排他的論理和素子A1の入力に接続されている。   The output of the selector S1 is connected to one input of the AND gate G1, the tap selection signal PA [0] for selecting a tap is given to the other input of the AND gate G1, and the output of the AND gate G1 is the exclusive OR element A1. Connected to the input.

<動作>
このような構成を有する動的可変型ガロア線形フィードバックシフトレジスタ100においては、8ビットのタップ選択信号PAと7ビットの選択信号SELを適宜設定することで、最大8次の既約多項式を規定することができる。
<Operation>
In the dynamic variable Galois linear feedback shift register 100 having such a configuration, an 8-bit tap selection signal PA and a 7-bit selection signal SEL are appropriately set to define a maximum 8-order irreducible polynomial. be able to.

例えば、既約多項式X+X+X+1を規定したい場合には、タップ選択信号PA[7:0]=00001101とすることで、図2に示されるように、排他的論理和素子を不活性状態または活性状態としてタップを選択し、また、選択信号SEL[6:0]=0001000とすることで、図2に示されるように、フィードバックループを何れのフリップフロップの出力から始めるかを選択する。 For example, when it is desired to define the irreducible polynomial X 4 + X 3 + X 2 +1, by setting the tap selection signal PA [7: 0] = 00001011, the exclusive OR element is made non-conductive as shown in FIG. By selecting the tap as the active state or the active state, and selecting the selection signal SEL [6: 0] = 0001000, as shown in FIG. 2, it is selected which flip-flop output the feedback loop starts from To do.

すなわち、図2に示されるように、選択信号SEL[3]=1とすることで、フリップフロップF4の出力が循環する構成となり、フリップフロップF4よりデータの流れで下流側となるフリップフロップF5〜F8はフィードバックシフトレジスタとしては機能しなくなり、フリップフロップF4の出力が出力データとなる。   That is, as shown in FIG. 2, by setting the selection signal SEL [3] = 1, the output of the flip-flop F4 circulates, and the flip-flops F5 to F5 that are downstream in the data flow from the flip-flop F4. F8 does not function as a feedback shift register, and the output of the flip-flop F4 becomes output data.

このように、セレクタS1〜S7は、どのフリップフロップの出力をフィードバックループの始めのビットとするかを選択するので、フィードバック開始位置選択手段と呼称することができ、選択信号SELは、フィードバック開始位置選択信号と呼称することができる。   Thus, since the selectors S1 to S7 select which flip-flop output is the first bit of the feedback loop, they can be referred to as feedback start position selection means, and the selection signal SEL is the feedback start position. It can be called a selection signal.

また、タップ選択信号PA[1]=0とすることでANDゲートG2の出力は0となり、排他的論理和素子A2はフリップフロップF1の出力をそのままフリップフロップF2に送るだけの実質的に不活性な状態となる。一方、排他的論理和素子A3、A4は活性状態を維持する。この結果、動的可変型ガロア線形フィードバックシフトレジスタ100は、図3に示す等価回路のように、フリップフロップF4、F3およびF2がいわゆるタップとなり、既約多項式X+X+X+1が規定されることとなる。 Further, by setting the tap selection signal PA [1] = 0, the output of the AND gate G2 becomes 0, and the exclusive OR element A2 is substantially inactive just to send the output of the flip-flop F1 to the flip-flop F2 as it is. It becomes a state. On the other hand, the exclusive OR elements A3 and A4 maintain the active state. As a result, in the dynamic variable Galois linear feedback shift register 100, the flip-flops F4, F3, and F2 become so-called taps as in the equivalent circuit shown in FIG. 3, and the irreducible polynomial X 4 + X 3 + X 2 +1 is defined. The Rukoto.

このように、ANDゲートG2〜G8は、排他的論理和の対象であって入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と呼称することができる。   As described above, the AND gates G2 to G8 can be referred to as tap selection means for selecting a tap that outputs a bit that is an exclusive OR target and affects the input bit.

また、動的可変型ガロア線形フィードバックシフトレジスタ100においては、全ての排他的論理和素子を実質的に不活性状態とし、8ビットの単純なシフトレジスタとすることも可能である。   Further, in the dynamically variable Galois linear feedback shift register 100, it is possible to make all the exclusive OR elements substantially inactive and form a simple shift register of 8 bits.

すなわち、タップ選択信号PA[7:0]=00000000とし、選択信号SEL[6:0]=0000000とすることで、動的可変型ガロア線形フィードバックシフトレジスタ100は、図4に示されるようにフリップフロップF1〜F8が直列に接続された8ビットのシフトレジスタとなる。   That is, by setting the tap selection signal PA [7: 0] = 00000000 and the selection signal SEL [6: 0] = 0000000, the dynamic variable Galois linear feedback shift register 100 is flip-flops as shown in FIG. This is an 8-bit shift register in which the groups F1 to F8 are connected in series.

以上説明したように、実施の形態1の動的可変型ガロア線形フィードバックシフトレジスタ100によれば、選択信号SELを適宜に設定することで、ハードウエアとして設定された最大次数以下であれば既約多項式の次数を任意に設定し、変更することができる。次数を任意に設定できることから、符号理論で用いる場合には符号長を可変にでき、また、誤り訂正能力を可変にすることができる。また、暗号理論で用いる場合には、異なる次数の剰余乗算に可変することができる。   As described above, according to the dynamically variable Galois linear feedback shift register 100 of the first embodiment, by appropriately setting the selection signal SEL, if the order is less than the maximum order set as hardware, The degree of the polynomial can be arbitrarily set and changed. Since the order can be arbitrarily set, the code length can be made variable and the error correction capability can be made variable when used in code theory. In addition, when used in cryptography, it can be changed to a remainder multiplication of different orders.

また、タップ選択信号PAを適宜に設定することで、タップとなるフリップフロップを任意に設定できるので、ハードウエアとして設定された最大次数以下であれば既約多項式を任意に設定し、また、変更することができる。タップとなるフリップフロップを任意に設定することでタップ位置を可変できることから、符号理論や暗号理論で用いる場合には、所望の既約多項式への対応が可能となる。   In addition, by appropriately setting the tap selection signal PA, it is possible to arbitrarily set the flip-flop to be a tap, so that the irreducible polynomial can be arbitrarily set and changed if it is less than the maximum order set as hardware. can do. Since the tap position can be varied by arbitrarily setting a flip-flop to be a tap, it is possible to cope with a desired irreducible polynomial when used in coding theory or encryption theory.

また、線形フィードバックシフトレジスタとして使用しない場合には、単純なシフトレジスタとして使用することもできるので、汎用性を高めることができる。   Further, when not used as a linear feedback shift register, it can be used as a simple shift register, so that versatility can be improved.

<実施の形態2>
<装置構成>
図5は本発明に係る実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタ200の構成を示す回路図である。
<Embodiment 2>
<Device configuration>
FIG. 5 is a circuit diagram showing a configuration of a dynamically variable Fibonacci linear feedback shift register 200 according to the second embodiment of the present invention.

図5に示す動的可変型フィボナッチ線形フィードバックシフトレジスタ200は最大8次の既約多項式を規定することができ、フリップフロップF11,F12,F13,F14,F15,F16,F17およびF18と、2入力のANDゲートG11,G12,G13,G14,G15,G16,G17およびG18と、2入力のセレクタS11,S12,S13,S14,S15,S16およびS17と、排他的論理和素子A11,A12,A13,A14,A15,A16,A17およびA18を備えている。   The dynamic variable type Fibonacci linear feedback shift register 200 shown in FIG. 5 can define an irreducible polynomial of maximum 8th order, and has two inputs, flip-flops F11, F12, F13, F14, F15, F16, F17 and F18. AND gates G11, G12, G13, G14, G15, G16, G17 and G18, two-input selectors S11, S12, S13, S14, S15, S16 and S17, exclusive OR elements A11, A12, A13, A14, A15, A16, A17 and A18 are provided.

入力データを受ける排他的論理和素子A11の出力は、フリップフロップF11の入力に接続され、フリップフロップF11の出力はフリップフロップF12の入力に接続され、フリップフロップF12の出力はフリップフロップF13の入力に接続され、フリップフロップF13の出力はフリップフロップF14の入力に接続され、フリップフロップF14の出力はフリップフロップF15の入力に接続され、フリップフロップF15の出力はフリップフロップF16の入力に接続され、フリップフロップF16の出力はフリップフロップF17の入力に接続され、フリップフロップF17の出力はフリップフロップF18の入力に接続され、フリップフロップF18の出力が出力データとなる。   The output of the exclusive OR element A11 that receives the input data is connected to the input of the flip-flop F11, the output of the flip-flop F11 is connected to the input of the flip-flop F12, and the output of the flip-flop F12 is connected to the input of the flip-flop F13. The output of the flip-flop F13 is connected to the input of the flip-flop F14, the output of the flip-flop F14 is connected to the input of the flip-flop F15, the output of the flip-flop F15 is connected to the input of the flip-flop F16, The output of F16 is connected to the input of flip-flop F17, the output of flip-flop F17 is connected to the input of flip-flop F18, and the output of flip-flop F18 becomes output data.

フリップフロップF18の出力は排他的論理和素子A18の入力に接続され、フリップフロップF17の出力はANDゲートG18の一方入力に接続されると共に、セレクタS17の「1」入力に接続されている。なお、セレクタS17の選択入力には次数を決める選択信号SEL[6]が与えられる。そして、ANDゲートG18の他方入力にはタップを選択するタップ選択信号PA[7]が与えられ、ANDゲートG18の出力は排他的論理和素子A18の入力に接続され、排他的論理和素子A18の出力はセレクタS17の「0」入力に接続されている。   The output of the flip-flop F18 is connected to the input of the exclusive OR element A18, and the output of the flip-flop F17 is connected to one input of the AND gate G18 and to the “1” input of the selector S17. Note that a selection signal SEL [6] for determining the order is given to the selection input of the selector S17. A tap selection signal PA [7] for selecting a tap is given to the other input of the AND gate G18, and the output of the AND gate G18 is connected to the input of the exclusive OR element A18. The output is connected to the “0” input of the selector S17.

セレクタS17の出力は排他的論理和素子A17の入力に接続され、排他的論理和素子A17の出力はセレクタS16の「0」入力に接続されている。   The output of the selector S17 is connected to the input of the exclusive OR element A17, and the output of the exclusive OR element A17 is connected to the “0” input of the selector S16.

フリップフロップF16の出力はANDゲートG16の一方入力に接続されると共に、セレクタS16の「1」入力に接続されている。なお、セレクタS16の選択入力には次数を決める選択信号SEL[5]が与えられる。そして、ANDゲートG17の他方入力にはタップを選択するタップ選択信号PA[6]が与えられ、ANDゲートG17の出力は排他的論理和素子A17の入力に接続されている。   The output of the flip-flop F16 is connected to one input of the AND gate G16 and also connected to the “1” input of the selector S16. A selection signal SEL [5] for determining the order is given to the selection input of the selector S16. A tap selection signal PA [6] for selecting a tap is given to the other input of the AND gate G17, and the output of the AND gate G17 is connected to the input of the exclusive OR element A17.

セレクタS16の出力は排他的論理和素子A16の入力に接続され、排他的論理和素子A16の出力はセレクタS15の「0」入力に接続されている。   The output of the selector S16 is connected to the input of the exclusive OR element A16, and the output of the exclusive OR element A16 is connected to the “0” input of the selector S15.

フリップフロップF15の出力はANDゲートG16の一方入力に接続されると共に、セレクタS15の「1」入力に接続されている。なお、セレクタS15の選択入力には次数を決める選択信号SEL[4]が与えられる。そして、ANDゲートG16の他方入力にはタップを選択するタップ選択信号PA[5]が与えられ、ANDゲートG16の出力は排他的論理和素子A16の入力に接続されている。   The output of the flip-flop F15 is connected to one input of the AND gate G16 and to the “1” input of the selector S15. A selection signal SEL [4] for determining the order is given to the selection input of the selector S15. A tap selection signal PA [5] for selecting a tap is given to the other input of the AND gate G16, and the output of the AND gate G16 is connected to the input of the exclusive OR element A16.

セレクタS15の出力は排他的論理和素子A15の入力に接続され、排他的論理和素子A15の出力はセレクタS14の「0」入力に接続されている。   The output of the selector S15 is connected to the input of the exclusive OR element A15, and the output of the exclusive OR element A15 is connected to the “0” input of the selector S14.

フリップフロップF14の出力はANDゲートG15の一方入力に接続されると共に、セレクタS14の「1」入力に接続されている。なお、セレクタS14の選択入力には次数を決める選択信号SEL[3]が与えられる。そして、ANDゲートG15の他方入力にはタップを選択するタップ選択信号PA[4]が与えられ、ANDゲートG15の出力は排他的論理和素子A15の入力に接続されている。   The output of the flip-flop F14 is connected to one input of the AND gate G15 and to the “1” input of the selector S14. Note that a selection signal SEL [3] for determining the order is given to the selection input of the selector S14. A tap selection signal PA [4] for selecting a tap is given to the other input of the AND gate G15, and the output of the AND gate G15 is connected to the input of the exclusive OR element A15.

セレクタS14の出力は排他的論理和素子A14の入力に接続され、排他的論理和素子A14の出力はセレクタS13の「0」入力に接続されている。   The output of the selector S14 is connected to the input of the exclusive OR element A14, and the output of the exclusive OR element A14 is connected to the “0” input of the selector S13.

フリップフロップF13の出力はANDゲートG14の一方入力に接続されると共に、セレクタS13の「1」入力に接続されている。なお、セレクタS13の選択入力には次数を決める選択信号SEL[2]が与えられる。そして、ANDゲートG14の他方入力にはタップを選択するタップ選択信号PA[3]が与えられ、ANDゲートG14の出力は排他的論理和素子A14の入力に接続されている。   The output of the flip-flop F13 is connected to one input of the AND gate G14 and to the “1” input of the selector S13. Note that a selection signal SEL [2] for determining the order is given to the selection input of the selector S13. The other input of the AND gate G14 is provided with a tap selection signal PA [3] for selecting a tap, and the output of the AND gate G14 is connected to the input of the exclusive OR element A14.

セレクタS13の出力は排他的論理和素子A13の入力に接続され、排他的論理和素子A13の出力はセレクタS12の「0」入力に接続されている。   The output of the selector S13 is connected to the input of the exclusive OR element A13, and the output of the exclusive OR element A13 is connected to the “0” input of the selector S12.

フリップフロップF12の出力はANDゲートG13の一方入力に接続されると共に、セレクタS12の「1」入力に接続されている。なお、セレクタS12の選択入力には次数を決める選択信号SEL[1]が与えられる。そして、ANDゲートG13の他方入力にはタップを選択するタップ選択信号PA[2]が与えられ、ANDゲートG13の出力は排他的論理和素子A13の入力に接続されている。   The output of the flip-flop F12 is connected to one input of the AND gate G13 and also connected to the “1” input of the selector S12. A selection signal SEL [1] for determining the order is given to the selection input of the selector S12. A tap selection signal PA [2] for selecting a tap is given to the other input of the AND gate G13, and the output of the AND gate G13 is connected to the input of the exclusive OR element A13.

セレクタS12の出力は排他的論理和素子A12の入力に接続され、排他的論理和素子A12の出力はセレクタS11の「0」入力に接続されている。   The output of the selector S12 is connected to the input of the exclusive OR element A12, and the output of the exclusive OR element A12 is connected to the “0” input of the selector S11.

フリップフロップF11の出力はANDゲートG12の一方入力に接続されると共に、セレクタS11の「1」入力に接続されている。なお、セレクタS11の選択入力には次数を決める選択信号SEL[0]が与えられる。そして、ANDゲートG12の他方入力にはタップを選択するタップ選択信号PA[1]が与えられ、ANDゲートG12の出力は排他的論理和素子A12の入力に接続されている。   The output of the flip-flop F11 is connected to one input of the AND gate G12 and to the “1” input of the selector S11. A selection signal SEL [0] for determining the order is given to the selection input of the selector S11. A tap selection signal PA [1] for selecting a tap is given to the other input of the AND gate G12, and the output of the AND gate G12 is connected to the input of the exclusive OR element A12.

セレクタS11の出力はANDゲートG11の一方入力に接続され、ANDゲートG11の他方入力にはタップを選択するタップ選択信号PA[0]が与えられ、ANDゲートG11の出力は排他的論理和素子A11の入力に接続されている。   The output of the selector S11 is connected to one input of the AND gate G11, the tap input signal PA [0] for selecting a tap is given to the other input of the AND gate G11, and the output of the AND gate G11 is the exclusive OR element A11. Connected to the input.

<動作>
このような構成を有する動的可変型フィボナッチ線形フィードバックシフトレジスタ200においては、8ビットのタップ選択信号PAと7ビットの選択信号SELを適宜設定することで、最大8次の既約多項式を規定することができる。
<Operation>
In the dynamically variable Fibonacci linear feedback shift register 200 having such a configuration, an 8-bit tap selection signal PA and a 7-bit selection signal SEL are appropriately set to define a maximum 8-degree irreducible polynomial. be able to.

例えば、既約多項式X+X+1を規定したい場合には、タップ選択信号PA[7:0]=00000101とすることで、図6に示されるように、排他的論理和素子を不活性状態または活性状態としてタップを選択し、また、選択信号SEL[6:0]=0001000とすることで、図6に示されるようにフィードバックループを何れのフリップフロップの出力から始めるかを選択する。 For example, to specify the irreducible polynomial X 4 + X 2 +1, by setting the tap selection signal PA [7: 0] = 00000101, as shown in FIG. 6, the exclusive OR element is in an inactive state. Alternatively, the tap is selected as the active state, and the selection signal SEL [6: 0] = 0001000 is selected to select from which flip-flop the output of the feedback loop starts as shown in FIG.

すなわち、図6に示されるように、選択信号SEL[3]=1とすることで、フリップフロップF14の出力が循環する構成となり、フリップフロップF14よりデータの流れで下流側となるフリップフロップF15〜F18はフィードバックシフトレジスタとしては機能しなくなり、フリップフロップF14の出力が出力データとなる。   That is, as shown in FIG. 6, by setting the selection signal SEL [3] = 1, the output of the flip-flop F14 circulates, and the flip-flops F15˜ F18 does not function as a feedback shift register, and the output of the flip-flop F14 becomes output data.

このように、セレクタS11〜S17は、どのフリップフロップの出力をフィードバックループの始めのビットとするかを選択するので、フィードバック開始位置選択手段と呼称することができ、選択信号SELは、フィードバック開始位置選択信号と呼称することができる。   Thus, since the selectors S11 to S17 select which flip-flop output is the first bit of the feedback loop, they can be referred to as feedback start position selection means, and the selection signal SEL is the feedback start position. It can be called a selection signal.

また、タップ選択信号PA[1]=0およびPA[3]=0とすることでANDゲートG12およびG14の出力は0となり、排他的論理和素子A12およびA14は、それぞれセレクタS12およびS14の出力をそのままセレクタS11およびS13に送るだけの実質的に不活性な状態となる。一方、排他的論理和素子A13は活性状態を維持する。この結果、動的可変型フィボナッチ線形フィードバックシフトレジスタ200は、図7に示す等価回路のように、フリップフロップF14およびF12がいわゆるタップとなり、既約多項式X+X+1が規定されることとなる。 Further, by setting the tap selection signals PA [1] = 0 and PA [3] = 0, the outputs of the AND gates G12 and G14 become 0, and the exclusive OR elements A12 and A14 output the outputs of the selectors S12 and S14, respectively. Is sent to the selectors S11 and S13 as it is, and it becomes a substantially inactive state. On the other hand, the exclusive OR element A13 maintains the active state. As a result, in the dynamically variable Fibonacci linear feedback shift register 200, the flip-flops F14 and F12 become so-called taps as in the equivalent circuit shown in FIG. 7, and the irreducible polynomial X 4 + X 2 +1 is defined. .

このように、ANDゲートG12〜G18は、排他的論理和の対象であって入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と呼称することができる。   As described above, the AND gates G12 to G18 can be referred to as tap selection means for selecting a tap that outputs a bit that is an exclusive OR target and affects the input bit.

また、動的可変型フィボナッチ線形フィードバックシフトレジスタ200においては、全ての排他的論理和素子を実質的に不活性状態とし、8ビットの単純なシフトレジスタとすることも可能である。   Further, in the dynamically variable Fibonacci linear feedback shift register 200, it is possible to make all the exclusive OR elements substantially inactive and form a simple shift register of 8 bits.

すなわち、タップ選択信号PA[7:0]=00000000とし、選択信号SEL[6:0]=0000000とすることで、動的可変型フィボナッチ線形フィードバックシフトレジスタ200は、図8に示されるようにフリップフロップF11〜F18が直列に接続された8ビットのシフトレジスタとなる。   That is, by setting the tap selection signal PA [7: 0] = 00000000 and the selection signal SEL [6: 0] = 0000000, the dynamically variable Fibonacci linear feedback shift register 200 is flip-flops as shown in FIG. This is an 8-bit shift register in which the groups F11 to F18 are connected in series.

以上説明したように、実施の形態2の動的可変型フィボナッチ線形フィードバックシフトレジスタ200によれば、選択信号SELを適宜に設定することで、ハードウエアとして設定された最大次数以下であれば既約多項式の次数を任意に設定し、変更することができる。次数を任意に設定できることから、乱数生成に用いる場合には、乱数生成器の乱数発生の周期を可変することができる。   As described above, according to the dynamically variable Fibonacci linear feedback shift register 200 of the second embodiment, by appropriately setting the selection signal SEL, if the order is less than the maximum order set as hardware, The degree of the polynomial can be arbitrarily set and changed. Since the order can be arbitrarily set, when used for random number generation, the random number generation cycle of the random number generator can be varied.

また、タップ選択信号PAを適宜に設定することで、タップとなるフリップフロップを任意に設定できるので、ハードウエアとして設定された最大次数以下であれば既約多項式を任意に設定し、また、変更することができる。タップとなるフリップフロップを任意に設定することでタップ位置を可変できることから、所望の既約多項式への対応が可能となる。   In addition, by appropriately setting the tap selection signal PA, it is possible to arbitrarily set the flip-flop to be a tap, so that the irreducible polynomial can be arbitrarily set and changed if it is less than the maximum order set as hardware. can do. Since the tap position can be varied by arbitrarily setting the flip-flop to be a tap, it is possible to cope with a desired irreducible polynomial.

また、線形フィードバックシフトレジスタとして使用しない場合には、単純なシフトレジスタとして使用することもできるので、汎用性を高めることができる。   Further, when not used as a linear feedback shift register, it can be used as a simple shift register, so that versatility can be improved.

<実施の形態3>
<装置構成>
図9は本発明に係る実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300の構成を示す回路図である。
<Embodiment 3>
<Device configuration>
FIG. 9 is a circuit diagram showing a configuration of a dynamically variable Galois Fibonacci linear feedback shift register 300 according to the third embodiment of the present invention.

図9に示す動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300は最大5次の既約多項式を規定することができ、フリップフロップF21,F22,F23,F24およびF25と、2入力のORゲートG20と、2入力のANDゲートG21,G22,G23,G24、G25、G31,G32,G33およびG34と、2入力のセレクタS21,S22,S23およびS24と、排他的論理和素子A21,A22,A23,A24,A25,A31,A32,A33およびA34を備えている。   The dynamic variable Galois-Fibonacci linear feedback shift register 300 shown in FIG. 9 can define a maximum fifth degree irreducible polynomial, and includes flip-flops F21, F22, F23, F24 and F25, and a two-input OR gate G20. Two-input AND gates G21, G22, G23, G24, G25, G31, G32, G33 and G34, two-input selectors S21, S22, S23 and S24, and exclusive OR elements A21, A22, A23, A24, A25, A31, A32, A33 and A34 are provided.

入力データを受ける排他的論理和素子A21の出力は、フリップフロップF21の入力に接続され、フリップフロップF21の出力は排他的論理和素子A22の入力に接続され、排他的論理和素子A22の出力はフリップフロップF22の入力に接続され、フリップフロップF22の出力は排他的論理和素子A23の入力に接続され、排他的論理和素子A23の出力はフリップフロップF23の入力に接続され、フリップフロップF23の出力は排他的論理和素子A24の入力に接続され、排他的論理和素子A24の出力はフリップフロップF24の入力に接続され、フリップフロップF24の出力は排他的論理和素子A25の入力に接続され、排他的論理和素子A25の出力はフリップフロップF25の入力に接続され、リップフロップF25の出力が出力データとなる。   The output of the exclusive OR element A21 that receives the input data is connected to the input of the flip-flop F21, the output of the flip-flop F21 is connected to the input of the exclusive OR element A22, and the output of the exclusive OR element A22 is The output of the flip-flop F22 is connected to the input of the exclusive OR element A23, the output of the exclusive OR element A23 is connected to the input of the flip-flop F23, and the output of the flip-flop F23. Is connected to the input of the exclusive OR element A24, the output of the exclusive OR element A24 is connected to the input of the flip-flop F24, and the output of the flip-flop F24 is connected to the input of the exclusive OR element A25. The output of the logical OR element A25 is connected to the input of the flip-flop F25, and the lip-flop F Output of 5 becomes the output data.

フリップフロップF25の出力はANDゲートG25の一方入力に接続されると共に、排他的論理和素子A34の入力に接続されている。そして、ANDゲートG25の他方入力にはタップを選択するタップ選択信号GPA[4]が与えられ、ANDゲートG25の出力は排他的論理和素子A25の入力に接続されている。   The output of the flip-flop F25 is connected to one input of the AND gate G25 and also connected to the input of the exclusive OR element A34. A tap selection signal GPA [4] for selecting a tap is supplied to the other input of the AND gate G25, and an output of the AND gate G25 is connected to an input of the exclusive OR element A25.

フリップフロップF24の出力は排他的論理和素子A25の入力に接続される共に、ANDゲートG34の一方入力およびセレクタS24の「1」入力に接続されている。なお、セレクタS24の選択入力には次数を決める選択信号DSEL[3]が与えられる。そして、ANDゲートG34の他方入力にはタップを選択するタップ選択信号FPA[4]が与えられ、ANDゲートG34の出力は排他的論理和素子A34の入力に接続され、排他的論理和素子A34の出力はセレクタS24の「0」入力に接続されている。   The output of the flip-flop F24 is connected to the input of the exclusive OR element A25, and is also connected to one input of the AND gate G34 and the “1” input of the selector S24. Note that a selection signal DSEL [3] for determining the order is given to the selection input of the selector S24. A tap selection signal FPA [4] for selecting a tap is given to the other input of the AND gate G34, and an output of the AND gate G34 is connected to an input of the exclusive OR element A34. The output is connected to the “0” input of the selector S24.

セレクタS24の出力はANDゲートG24の一方入力に接続されると共に、排他的論理和素子A33の入力に接続されている。そして、ANDゲートG24の他方入力にはタップを選択するタップ選択信号GPA[3]が与えられ、ANDゲートG24の出力は排他的論理和素子A24の入力に接続されている。   The output of the selector S24 is connected to one input of the AND gate G24 and also connected to the input of the exclusive OR element A33. A tap selection signal GPA [3] for selecting a tap is given to the other input of the AND gate G24, and the output of the AND gate G24 is connected to the input of the exclusive OR element A24.

フリップフロップF23の出力は排他的論理和素子A24の入力に接続される共に、ANDゲートG33の一方入力およびセレクタS23の「1」入力に接続されている。なお、セレクタS23の選択入力には次数を決める選択信号DSEL[2]が与えられる。そして、ANDゲートG33の他方入力にはタップを選択するタップ選択信号FPA[3]が与えられ、ANDゲートG33の出力は排他的論理和素子A33の入力に接続され、排他的論理和素子A33の出力はセレクタS23の「0」入力に接続されている。   The output of the flip-flop F23 is connected to the input of the exclusive OR element A24, and is also connected to one input of the AND gate G33 and the “1” input of the selector S23. Note that the selection signal DSEL [2] for determining the order is given to the selection input of the selector S23. A tap selection signal FPA [3] for selecting a tap is given to the other input of the AND gate G33, and an output of the AND gate G33 is connected to an input of the exclusive OR element A33. The output is connected to the “0” input of the selector S23.

セレクタS23の出力はANDゲートG23の一方入力に接続されると共に、排他的論理和素子A32の入力に接続されている。そして、ANDゲートG23の他方入力にはタップを選択するタップ選択信号GPA[2]が与えられ、ANDゲートG23の出力は排他的論理和素子A23の入力に接続されている。   The output of the selector S23 is connected to one input of the AND gate G23 and also connected to the input of the exclusive OR element A32. A tap selection signal GPA [2] for selecting a tap is given to the other input of the AND gate G23, and the output of the AND gate G23 is connected to the input of the exclusive OR element A23.

フリップフロップF22の出力は排他的論理和素子A23の入力に接続される共に、ANDゲートG32の一方入力およびセレクタS22の「1」入力に接続されている。なお、セレクタS22の選択入力には次数を決める選択信号DSEL[1]が与えられる。そして、ANDゲートG32の他方入力にはタップを選択するタップ選択信号FPA[2]が与えられ、ANDゲートG32の出力は排他的論理和素子A32の入力に接続され、排他的論理和素子A32の出力はセレクタS22の「0」入力に接続されている。   The output of the flip-flop F22 is connected to the input of the exclusive OR element A23, and is also connected to one input of the AND gate G32 and the “1” input of the selector S22. Note that a selection signal DSEL [1] for determining the order is given to the selection input of the selector S22. A tap selection signal FPA [2] for selecting a tap is given to the other input of the AND gate G32, and an output of the AND gate G32 is connected to an input of the exclusive OR element A32. The output is connected to the “0” input of the selector S22.

セレクタS22の出力はANDゲートG22の一方入力に接続されると共に、排他的論理和素子A31の入力に接続されている。そして、ANDゲートG22の他方入力にはタップを選択するタップ選択信号GPA[1]が与えられ、ANDゲートG22の出力は排他的論理和素子A22の入力に接続されている。   The output of the selector S22 is connected to one input of the AND gate G22 and also connected to the input of the exclusive OR element A31. A tap selection signal GPA [1] for selecting a tap is given to the other input of the AND gate G22, and an output of the AND gate G22 is connected to an input of the exclusive OR element A22.

フリップフロップF21の出力は排他的論理和素子A22の入力に接続される共に、ANDゲートG31の一方入力およびセレクタS21の「1」入力に接続されている。なお、セレクタS21の選択入力には次数を決める選択信号DSEL[0]が与えられる。そして、ANDゲートG31の他方入力にはタップを選択するタップ選択信号FPA[1]が与えられ、ANDゲートG31の出力は排他的論理和素子A31の入力に接続され、排他的論理和素子A31の出力はセレクタS21の「0」入力に接続されている。   The output of the flip-flop F21 is connected to the input of the exclusive OR element A22, and is also connected to one input of the AND gate G31 and the “1” input of the selector S21. Note that the selection signal DSEL [0] for determining the order is given to the selection input of the selector S21. A tap selection signal FPA [1] for selecting a tap is given to the other input of the AND gate G31, and an output of the AND gate G31 is connected to an input of the exclusive OR element A31. The output is connected to the “0” input of the selector S21.

セレクタS21の出力はANDゲートG21の一方入力に接続され、ANDゲートG21の他方入力にはORゲートG20の出力が与えられる。なお、ORゲートG20の入力にはタップを選択するタップ選択信号FPA[0]およびGPA[0]が与えられる。   The output of the selector S21 is connected to one input of the AND gate G21, and the output of the OR gate G20 is given to the other input of the AND gate G21. Note that tap selection signals FPA [0] and GPA [0] for selecting a tap are applied to the input of the OR gate G20.

<動作>
このような構成を有する動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300においては、5ビットのタップ選択信号GPA(第1のタップ選択信号)、タップ選択信号FPA(第2のタップ選択信号)および4ビットの選択信号DSELを適宜設定することで、ガロア線形フィードバックシフトレジスタまたはフィボナッチ線形フィードバックシフトレジスタとして構成し、最大5次の既約多項式を規定することができる。
<Operation>
In the dynamically variable Galois-Fibonacci linear feedback shift register 300 having such a configuration, a 5-bit tap selection signal GPA (first tap selection signal), a tap selection signal FPA (second tap selection signal), and By appropriately setting the 4-bit selection signal DSEL, it can be configured as a Galois linear feedback shift register or a Fibonacci linear feedback shift register, and a maximum fifth order irreducible polynomial can be defined.

例えば、ガロア線形フィードバックシフトレジスタを構成し、既約多項式X+X+X+1を規定したい場合には、タップ選択信号GPA[4:0]=01101およびタップ選択信号FPA[4:0]=00000とすることで、図10に示されるように、排他的論理和素子を不活性状態または活性状態としてタップを選択し、また、選択信号DSEL[3:0]=1000とすることで、図10に示されるようにフィードバックループを何れのフリップフロップの出力から始めるかを選択する。 For example, when configuring a Galois linear feedback shift register and defining an irreducible polynomial X 4 + X 3 + X 2 +1, tap selection signal GPA [4: 0] = 01011 and tap selection signal FPA [4: 0] = By setting 00000, as shown in FIG. 10, the tap is selected with the exclusive OR element inactive or active, and the selection signal DSEL [3: 0] = 1000. As shown in FIG. 10, select which flip-flop output the feedback loop starts from.

すなわち、図10に示されるように、選択信号DSEL[3]=1とすることで、フリップフロップF24の出力が循環する構成となり、フリップフロップF24よりデータの流れで下流側となるフリップフロップF25はフィードバックシフトレジスタとしては機能しなくなり、フリップフロップF24の出力が出力データとなる。   That is, as shown in FIG. 10, by setting the selection signal DSEL [3] = 1, the output of the flip-flop F24 circulates, and the flip-flop F25 on the downstream side in the data flow from the flip-flop F24 It does not function as a feedback shift register, and the output of the flip-flop F24 becomes output data.

このように、セレクタS21〜S24は、どのフリップフロップの出力をフィードバックループの始めのビットとするかを選択するので、フィードバック開始位置選択手段と呼称することができ、選択信号DSELは、フィードバック開始位置選択信号と呼称することができる。   Thus, since the selectors S21 to S24 select which flip-flop output is the first bit of the feedback loop, they can be referred to as feedback start position selection means. The selection signal DSEL is the feedback start position. It can be called a selection signal.

また、タップ選択信号GPA[1]=0とすることでANDゲートG22の出力は0となり、排他的論理和素子A22はフリップフロップF21の出力をそのままフリップフロップF22に送るだけの実質的に不活性な状態となる。一方、排他的論理和素子A23、A24は活性状態を維持する。また、タップ選択信号FPA[3]、FPA[2]およびFPA[1]は何れも0であるので排他的論理和素子A33、A32およびA31は何れも実質的に不活性な状態となる。この結果、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300は、図11に示す等価回路のように、フリップフロップF24、F23およびF22がいわゆるタップとなり、既約多項式X+X+X+1が規定されることとなる。 Further, by setting the tap selection signal GPA [1] = 0, the output of the AND gate G22 becomes 0, and the exclusive OR element A22 is substantially inactive only by sending the output of the flip-flop F21 to the flip-flop F22 as it is. It becomes a state. On the other hand, the exclusive OR elements A23 and A24 maintain the active state. Further, since the tap selection signals FPA [3], FPA [2], and FPA [1] are all 0, the exclusive OR elements A33, A32, and A31 are substantially inactive. As a result, in the dynamic variable Galois-Fibonacci linear feedback shift register 300, as in the equivalent circuit shown in FIG. 11, the flip-flops F24, F23 and F22 become so-called taps, and the irreducible polynomial X 4 + X 3 + X 2 +1 is It will be specified.

このように、ANDゲートG22〜G25は、排他的論理和の対象であって入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と呼称することができる。   Thus, the AND gates G22 to G25 can be referred to as tap selection means for selecting a tap that outputs a bit that is an exclusive-OR target and affects the input bit.

また、フィボナッチ線形フィードバックシフトレジスタを構成し、既約多項式X+X+1を規定したい場合には、タップ選択信号GPA[4:0]=00000とし、タップ選択信号FPA[4:0]=00101とすることで、図12に示されるように、排他的論理和素子を不活性状態または活性状態としてタップを選択し、また、選択信号DSEL[3:0]=1000とすることで、図12に示されるようにフィードバックループを何れのフリップフロップの出力から始めるかを選択する。 When a Fibonacci linear feedback shift register is configured and the irreducible polynomial X 4 + X 2 +1 is desired to be defined, the tap selection signal GPA [4: 0] = 00000 and the tap selection signal FPA [4: 0] = 00101. Thus, as shown in FIG. 12, the exclusive OR element is inactivated or activated to select the tap, and the selection signal DSEL [3: 0] = 1000 is set, so that FIG. Select which flip-flop output the feedback loop starts from as shown in FIG.

すなわち、図12に示されるように、選択信号DSEL[3]=1とすることで、フリップフロップF24の出力が循環する構成となり、フリップフロップF24よりデータの流れで下流側となるフリップフロップF25はフィードバックシフトレジスタとしては機能しなくなり、フリップフロップF24の出力が出力データとなる。   That is, as shown in FIG. 12, by setting the selection signal DSEL [3] = 1, the output of the flip-flop F24 circulates, and the flip-flop F25 downstream from the flip-flop F24 in the data flow becomes It does not function as a feedback shift register, and the output of the flip-flop F24 becomes output data.

また、タップ選択信号FPA[1]=0およびFPA[3]=0とすることでANDゲートG31およびG33の出力は0となり、排他的論理和素子A31およびA33は、それぞれセレクタS22およびS24の出力をそのままセレクタS21およびS23に送るだけの実質的に不活性な状態となる。一方、排他的論理和素子A32は活性状態を維持する。この結果、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300は、図13に示す等価回路のように、フリップフロップF24およびF22がいわゆるタップとなり、既約多項式X+X+1が規定されることとなる。 Also, by setting the tap selection signals FPA [1] = 0 and FPA [3] = 0, the outputs of the AND gates G31 and G33 become 0, and the exclusive OR elements A31 and A33 output the outputs of the selectors S22 and S24, respectively. Is sent to the selectors S21 and S23 as it is, and it becomes a substantially inactive state. On the other hand, the exclusive OR element A32 maintains the active state. As a result, in the dynamically variable Galois-Fibonacci linear feedback shift register 300, the flip-flops F24 and F22 become so-called taps and the irreducible polynomial X 4 + X 2 +1 is defined as in the equivalent circuit shown in FIG. It becomes.

このように、ANDゲートG31〜G34は、排他的論理和の対象であって入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と呼称することができる。   As described above, the AND gates G31 to G34 can be referred to as tap selection means for selecting a tap that outputs a bit that is an exclusive OR target and affects the input bit.

また、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300においては、全ての排他的論理和素子を実質的に不活性状態とし、5ビットの単純なシフトレジスタとすることも可能である。   Further, in the dynamically variable Galois-Fibonacci linear feedback shift register 300, it is possible to make all the exclusive OR elements substantially inactive and form a simple 5-bit shift register.

すなわち、タップ選択信号GPA[4:0]およびFPA[4:0]を何れも00000とし、選択信号DSEL[3:0]=0000とすることで、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300は、図14に示されるようにフリップフロップF21〜F25が直列に接続された5ビットのシフトレジスタとなる。   That is, the tap selection signals GPA [4: 0] and FPA [4: 0] are both set to 00000, and the selection signal DSEL [3: 0] = 0000, so that the dynamically variable Galois Fibonacci linear feedback shift register is set. Reference numeral 300 denotes a 5-bit shift register in which flip-flops F21 to F25 are connected in series as shown in FIG.

以上説明したように、実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300によれば、タップ選択信号GPAおよびFPAの設定により、ガロア線形フィードバックシフトレジスタまたはフィボナッチ線形フィードバックシフトレジスタとして使用することができるので、例えば、1つのシステムで、ガロア、フィボナッチの両線形フィードバックシフトレジスタを備える必要がある場合に、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタを1つ実装すれば、用途に応じて変形させて使い分けると言った柔軟な使用が可能となる。   As described above, according to the dynamically variable Galois-Fibonacci linear feedback shift register 300 of the third embodiment, it is used as a Galois linear feedback shift register or a Fibonacci linear feedback shift register depending on the settings of the tap selection signals GPA and FPA. For example, if it is necessary to provide both Galois and Fibonacci linear feedback shift registers in one system, if one dynamic variable Galois Fibonacci linear feedback shift register is implemented, It is possible to use it flexibly by changing it accordingly.

また、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタでは、フリップフロップはガロア、フィボナッチの両線形フィードバックシフトレジスタで共用できるので、回路規模の増大を抑制したシステムを構築でき、回路コストの増加を抑制して低コスト化を図ることができる。   In the dynamic variable Galois-Fibonacci linear feedback shift register, the flip-flop can be shared by both the Galois and Fibonacci linear feedback shift registers, so it is possible to construct a system that suppresses the increase in circuit scale and suppresses the increase in circuit cost. Thus, cost reduction can be achieved.

また、選択信号DSELを適宜に設定することで、ハードウエアとして設定された最大次数以下であれば既約多項式の次数を任意に設定し、変更することができる。次数を任意に設定できることから、ガロア線形フィードバックシフトレジスタとして符号理論で用いる場合には、符号長を可変にでき、また誤り訂正能力を可変にすることができる。また、暗号理論で用いる場合には、異なる次数の剰余乗算に可変することができる。また、フィボナッチ線形フィードバックシフトレジスタとして乱数生成に用いる場合には、乱数生成器の乱数発生の周期を可変することができる。   Further, by appropriately setting the selection signal DSEL, the degree of the irreducible polynomial can be arbitrarily set and changed as long as it is less than the maximum degree set as hardware. Since the order can be arbitrarily set, the code length can be made variable and the error correction capability can be made variable when used in the code theory as a Galois linear feedback shift register. In addition, when used in cryptography, it can be changed to a remainder multiplication of different orders. Further, when the Fibonacci linear feedback shift register is used for random number generation, the random number generation cycle of the random number generator can be varied.

また、タップ選択信号GPAおよびFPAを適宜に設定することで、タップとなるフリップフロップを任意に設定できるので、ハードウエアとして設定された最大次数以下であれば既約多項式を任意に設定し、また、変更することができる。タップとなるフリップフロップを任意に設定することでタップ位置を可変できることから、ガロア線形フィードバックシフトレジスタとして符号理論や暗号理論で用いる場合には、所望の既約多項式への対応が可能となる。また、フィボナッチ線形フィードバックシフトレジスタとして用いる場合には、所望の既約多項式への対応が可能となる。   Also, by appropriately setting the tap selection signals GPA and FPA, the flip-flop to be a tap can be arbitrarily set, so that the irreducible polynomial is arbitrarily set if it is less than the maximum order set as hardware, and Can be changed. Since the tap position can be varied by arbitrarily setting a flip-flop as a tap, it is possible to cope with a desired irreducible polynomial when used as a Galois linear feedback shift register in code theory or cryptography. Further, when used as a Fibonacci linear feedback shift register, it is possible to cope with a desired irreducible polynomial.

また、線形フィードバックシフトレジスタとして使用しない場合には、単純なシフトレジスタとして使用することもできるので、汎用性を高めることができる。   Further, when not used as a linear feedback shift register, it can be used as a simple shift register, so that versatility can be improved.

なお、以上説明した実施の形態1および2の動的可変型ガロア線形フィードバックシフトレジスタ100および動的可変型フィボナッチ線形フィードバックシフトレジスタ200においては、最大8次の既約多項式を規定できる構成を示し、実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300においては、最大5次の既約多項式を規定できる構成を示したがこれに限定されるものではなく、フリップフロップ等を増加すれば、規定できる次数は任意に増やすことができる。   In the dynamic variable Galois linear feedback shift register 100 and the dynamic variable Fibonacci linear feedback shift register 200 of the first and second embodiments described above, a configuration that can define a maximum 8th degree irreducible polynomial is shown. In the dynamically variable Galois-Fibonacci linear feedback shift register 300 of the third embodiment, a configuration capable of defining a maximum fifth-order irreducible polynomial is shown, but the present invention is not limited to this, and the number of flip-flops can be increased. For example, the order that can be defined can be arbitrarily increased.

<変形例>
以上説明した実施の形態1および2の動的可変型ガロア線形フィードバックシフトレジスタ100および動的可変型フィボナッチ線形フィードバックシフトレジスタ200、実施の形態3の動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ300は、ハードウエアにより実装されるものとして説明したが、ソフトウェアにより実装することも可能である。
<Modification>
The dynamic variable Galois linear feedback shift register 100 and the dynamic variable Fibonacci linear feedback shift register 200 of the first and second embodiments described above and the dynamic variable Galois-Fibonacci linear feedback shift register 300 of the third embodiment are as follows. Although described as being implemented by hardware, it can also be implemented by software.

<適用例>
次に、以上説明した動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタを適用したシステムの一例について図15〜図18を用いて説明する。
<Application example>
Next, an example of a system to which the above-described dynamic variable Galois Fibonacci linear feedback shift register is applied will be described with reference to FIGS.

図15および図16は、NANDフラッシュメモリ30の制御装置10の構成を示すブロック図であり、図15は書き込み動作を説明する図であり、図16は読み出し動作を説明する図である。   15 and FIG. 16 are block diagrams showing the configuration of the control device 10 of the NAND flash memory 30, FIG. 15 is a diagram for explaining the write operation, and FIG. 16 is a diagram for explaining the read operation.

図15および図16に示すように、制御装置10は、CPU等のホスト装置20との間で信号の授受を行うホストインタフェース1と、ホストインタフェース1に接続されたデータデスクランブル制御部2と、データデスクランブル制御部2との間で信号の授受を行う動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3と、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3およびホストインタフェース1に接続されたデータスクランブル制御部4と、データデスクランブル制御部2に接続されたデコーダ部5および誤り訂正回路6と、NANDフラッシュメモリ30との間で信号の授受を行うメモリインタフェース7と、メモリインタフェース7およびデータスクランブル制御部4に接続された誤り訂正回路8とを備えている。なお、制御装置10は、電子データを処理するので、データ処理装置と呼称することができる。   As shown in FIGS. 15 and 16, the control device 10 includes a host interface 1 that exchanges signals with a host device 20 such as a CPU, a data descrambling control unit 2 connected to the host interface 1, Dynamically variable Galois-Fibonacci linear feedback shift register 3 that exchanges signals with data descrambling control unit 2, data that is connected to dynamic variable Galois-Fibonacci linear feedback shift register 3 and host interface 1 A memory interface 7 for exchanging signals with the NAND flash memory 30, a memory interface 7, and a data scrambler, a scramble control unit 4, a decoder unit 5 and an error correction circuit 6 connected to the data descrambling control unit 2 Error connected to control unit 4 And a positive circuit 8. In addition, since the control apparatus 10 processes electronic data, it can be called a data processing apparatus.

ここで、データデスクランブル制御部2およびデータスクランブル制御部4は、M系列の擬似乱数を扱う部位であり、誤り訂正回路6は誤り訂正に用いるシンドロームを生成する部位であり、誤り訂正回路8は復号化の際の誤り訂正を行う部位である。   Here, the data descrambling control unit 2 and the data scramble control unit 4 are parts for handling M-sequence pseudo-random numbers, the error correction circuit 6 is a part for generating a syndrome used for error correction, and the error correction circuit 8 is This is a part for error correction at the time of decoding.

動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3は、誤り訂正回路6との間でも信号の授受を行うと共に、デコーダ部5からの信号を受ける。また、デコーダ部5および誤り訂正回路6はメモリインタフェース7にも接続されている。   The dynamically variable Galois-Fibonacci linear feedback shift register 3 exchanges signals with the error correction circuit 6 and receives signals from the decoder unit 5. The decoder unit 5 and the error correction circuit 6 are also connected to the memory interface 7.

次に、図15を参照しつつ、図17に示すフローチャートを用いて、NANDフラッシュメモリ30へのデータの書き込み動作を説明する。   Next, a data write operation to the NAND flash memory 30 will be described with reference to FIG. 15 and a flowchart shown in FIG.

書き込み動作の開始にあたって、ホスト装置20に電源が投入されていない場合、ホスト装置20の電源スイッチSWがオンされることで制御装置10も起動し、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3は予め定めた次数とタップを有するフィボナッチ線形フィードバックシフトレジスタ3として初期化される(ステップST1)。   When the host device 20 is not powered on at the start of the write operation, the control device 10 is also activated by turning on the power switch SW of the host device 20, and the dynamically variable Galois-Fibonacci linear feedback shift register 3 Is initialized as a Fibonacci linear feedback shift register 3 having a predetermined order and tap (step ST1).

次に、ホスト装置20はスクランブル済み書き込みコマンドと書き込みデータをホストインタフェース1に送信する(ステップST2)。   Next, the host device 20 transmits a scrambled write command and write data to the host interface 1 (step ST2).

ホストインタフェース1は、ホスト装置20から受信したスクランブル済み書き込みコマンドおよびスクランブル済み書き込みデータを、データデスクランブル制御部2に転送する(ステップST3)。   The host interface 1 transfers the scrambled write command and the scrambled write data received from the host device 20 to the data descrambling controller 2 (step ST3).

次に、データデスクランブル制御部2は、フィボナッチ線形フィードバックシフトレジスタ3にスクランブル済み書き込みコマンドおよびスクランブル済み書き込みデータを転送する(ステップST4)。   Next, the data descrambling control unit 2 transfers the scrambled write command and the scrambled write data to the Fibonacci linear feedback shift register 3 (step ST4).

フィボナッチ線形フィードバックシフトレジスタ3は、受け取ったスクランブル済み書き込みコマンドおよびスクランブル済み書き込みデータをデスクランブルし、デスクランブル済み書き込みコマンドおよびデスクランブル済み書き込みデータとしてデータデスクランブル制御部2に転送する(ステップST5)。なお、デスクランブルにおいては、例えば図12に示したフィボナッチ線形フィードバックシフトレジスタの構成において入力データとしてスクランブル済み書き込みコマンドおよびスクランブル済み書き込みデータを入力することで、デスクランブル済み書き込みコマンドおよびデスクランブル済み書き込みデータが出力データとして出力される。   The Fibonacci linear feedback shift register 3 descrambles the received scrambled write command and scrambled write data, and transfers them to the data descrambling control unit 2 as a descrambled write command and descrambled write data (step ST5). In descrambling, for example, the scrambled write command and the scrambled write data are input as input data in the configuration of the Fibonacci linear feedback shift register shown in FIG. Is output as output data.

次に、データデスクランブル制御部2は、デスクランブル済み書き込みコマンドをデコーダ部5に転送し(ステップST6)、また、デスクランブル済み書き込みデータを誤り訂正回路6に転送する(ステップST7)。   Next, the data descrambling control unit 2 transfers the descrambled write command to the decoder unit 5 (step ST6), and transfers the descrambled write data to the error correction circuit 6 (step ST7).

デコーダ部5は、書き込みコマンドを認識し、それに基づいて動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3を、予め定めた次数とタップを有するガロア線形フィードバックシフトレジスタ3に変更する(ステップST8)。   The decoder unit 5 recognizes the write command, and changes the dynamic variable Galois-Fibonacci linear feedback shift register 3 to the Galois linear feedback shift register 3 having a predetermined order and tap based on the write command (step ST8).

そして、誤り訂正回路6は、デスクランブル済み書き込みデータをガロア線形フィードバックシフトレジスタ3に転送する(ステップST9)。   Then, the error correction circuit 6 transfers the descrambled write data to the Galois linear feedback shift register 3 (step ST9).

ガロア線形フィードバックシフトレジスタ3は、デスクランブル済み書き込みデータからシンドロームを生成し、誤り訂正回路6に転送する(ステップST10)。なお、シンドロームの生成においては、例えば図10に示したガロア線形フィードバックシフトレジスタの構成において入力データとしてデスクランブル済み書き込みデータを入力することで、シンドロームが出力データとして出力される。   The Galois linear feedback shift register 3 generates a syndrome from the descrambled write data and transfers it to the error correction circuit 6 (step ST10). In the generation of the syndrome, for example, when the descrambled write data is input as input data in the configuration of the Galois linear feedback shift register shown in FIG. 10, the syndrome is output as output data.

また、デコーダ部5は、書き込みコマンドから書き込みアドレスを抽出し、書き込み制御信号を生成してメモリインタフェース7に転送する(ステップST11)。   The decoder unit 5 extracts a write address from the write command, generates a write control signal, and transfers it to the memory interface 7 (step ST11).

誤り訂正回路6では、デスクランブル済み書き込みデータとシンドロームをメモリインタフェース7に転送する(ステップST12)。   The error correction circuit 6 transfers the descrambled write data and syndrome to the memory interface 7 (step ST12).

メモリインタフェース7は、書き込み制御信号に基づいてNANDフラッシュメモリ30にデスクランブル済み書き込みデータとシンドロームの書き込み制御を開始する(ステップST13)。   The memory interface 7 starts write control of descrambled write data and syndrome to the NAND flash memory 30 based on the write control signal (step ST13).

デコーダ部5は、書き込み制御が終了すると、動的可変型ガロア・フィボナッチ線形フィードバックシフトレジスタ3を、予め定めた次数とタップを有するフィボナッチ型フィードバックシフトレジスタ3に変更し(ステップST14)、一連の書き込み動作が終了する。   When the write control is completed, the decoder unit 5 changes the dynamic variable Galois-Fibonacci linear feedback shift register 3 to the Fibonacci feedback shift register 3 having a predetermined order and tap (step ST14), and a series of writing The operation ends.

次に、図16を参照しつつ、図18に示すフローチャートを用いて、NANDフラッシュメモリ30からのデータの読み出し動作を説明する。   Next, a data read operation from the NAND flash memory 30 will be described using the flowchart shown in FIG. 18 with reference to FIG.

読み出し動作を開始すると、まず、ホスト装置20はスクランブル済み読み出しコマンドをホストインタフェース1に送信する(ステップST21)。   When the read operation is started, first, the host device 20 transmits a scrambled read command to the host interface 1 (step ST21).

ホストインタフェース1は、ホスト装置20から受信したスクランブル済み読み出しコマンドを、データデスクランブル制御部2に転送する(ステップST22)。   The host interface 1 transfers the scrambled read command received from the host device 20 to the data descrambling control unit 2 (step ST22).

次に、データデスクランブル制御部2は、フィボナッチ線形フィードバックシフトレジスタ3にスクランブル済み読み出しコマンドを転送する(ステップST23)。   Next, the data descrambling controller 2 transfers the scrambled read command to the Fibonacci linear feedback shift register 3 (step ST23).

フィボナッチ線形フィードバックシフトレジスタ3は、受け取ったスクランブル済み読み出しコマンドをデスクランブルし、デスクランブル済み読み出しコマンドとしてデータデスクランブル制御部2に転送する(ステップST24)。なお、デスクランブルにおいては、例えば図12に示したフィボナッチ線形フィードバックシフトレジスタの構成において入力データとしてスクランブル済み読み出しコマンドを入力することで、デスクランブル済み読み出しコマンドが出力データとして出力される。   The Fibonacci linear feedback shift register 3 descrambles the received scrambled read command and transfers it to the data descrambling control unit 2 as a descrambled read command (step ST24). In descrambling, for example, by inputting a scrambled read command as input data in the configuration of the Fibonacci linear feedback shift register shown in FIG. 12, the descrambled read command is output as output data.

次に、データデスクランブル制御部2は、デスクランブル済み読み出しコマンドをデコーダ部5に転送する(ステップST25)。   Next, the data descrambling control unit 2 transfers the descrambled read command to the decoder unit 5 (step ST25).

デコーダ部5は、読み出しコマンドを認識し、読み出しコマンドから読み出しアドレスを抽出し、読み出し制御信号をメモリインタフェース7に転送する(ステップST26)。   The decoder unit 5 recognizes the read command, extracts a read address from the read command, and transfers a read control signal to the memory interface 7 (step ST26).

メモリインタフェース7は、読み出し制御信号に基づいてNANDフラッシュメモリ30からのデータの読み出し制御を開始する(ステップST27)。   The memory interface 7 starts reading data from the NAND flash memory 30 based on the read control signal (step ST27).

NANDフラッシュメモリ30は、読み出したデータとシンドロームをメモリインタフェース7に送信する(ステップST28)。   The NAND flash memory 30 transmits the read data and syndrome to the memory interface 7 (step ST28).

メモリインタフェース7は、NANDフラッシュメモリ30から読み出したデータとシンドロームを誤り訂正回路8に転送する(ステップST29)。   The memory interface 7 transfers the data and syndrome read from the NAND flash memory 30 to the error correction circuit 8 (step ST29).

誤り訂正回路8は、読み出したシンドロームを用い、読み出したデータの誤りを訂正し、誤り訂正済み読み出しデータとしてデータスクランブル制御部4に転送する(ステップST30)。   The error correction circuit 8 corrects the error of the read data using the read syndrome, and transfers it to the data scramble control unit 4 as error corrected read data (step ST30).

データスクランブル制御部4は、フィボナッチ線形フィードバックシフトレジスタ3に誤り訂正済み読み出しデータを転送する(ステップST31)。   The data scramble control unit 4 transfers the error-corrected read data to the Fibonacci linear feedback shift register 3 (step ST31).

フィボナッチ線形フィードバックシフトレジスタ3は、データスクランブル制御部4から受け取った誤り訂正済み読み出しデータをスクランブルし、スクランブル済み読み出しデータとしてデータスクランブル制御部4に転送する(ステップST32)。なお、スクランブルにおいては、例えば図12に示したフィボナッチ線形フィードバックシフトレジスタの構成において入力データとして誤り訂正済み読み出しデータを入力することで、スクランブル済み読み出しデータが出力データとして出力される。   The Fibonacci linear feedback shift register 3 scrambles the error-corrected read data received from the data scramble control unit 4, and transfers the scrambled read data to the data scramble control unit 4 (step ST32). In scramble, for example, by inputting error-corrected read data as input data in the configuration of the Fibonacci linear feedback shift register shown in FIG. 12, the scrambled read data is output as output data.

データスクランブル制御部4は、スクランブル済み読み出しデータをホストインタフェース1に転送する(ステップST33)。   The data scramble control unit 4 transfers the scrambled read data to the host interface 1 (step ST33).

ホストインタフェース1は、スクランブル済み読み出しデータをホスト装置20に送信し(ステップST34)、一連の読み出し動作が終了する。   The host interface 1 transmits the scrambled read data to the host device 20 (step ST34), and the series of read operations ends.

G1〜G8,G11〜G18,G21〜G24,G31〜G34 ANDゲート
S1〜S7,S11〜S17,S21〜S24 セレクタ
A1〜A8,A11〜A18,A21〜A25,A31〜A34 排他的論理和素子
G1 to G8, G11 to G18, G21 to G24, G31 to G34 AND gates S1 to S7, S11 to S17, S21 to S24 selectors A1 to A8, A11 to A18, A21 to A25, A31 to A34 exclusive OR elements

Claims (1)

ビット列を構成する一部のビットの排他的論理和を入力ビットとしてフィードバックする線形フィードバックシフトレジスタであって、
排他的論理和の対象であって前記入力ビットに影響を与えるビットを出力するタップを選択するタップ選択手段と、
前記ビット列の何れのビットをフィードバックループの始めのビットとするかを選択するフィードバック開始位置選択手段と、を備え、
前記タップ選択手段によって前記タップを選択することで、前記線形フィードバックシフトレジスタで実現される多項式の項を規定し、
前記フィードバック開始位置選択手段によって前記フィードバックループの開始位置を設定することで、前記多項式の最大次数を決定し、
前記線形フィードバックシフトレジスタは、
シフトレジスタを構成する複数のフリップフロップのそれぞれの出力信号を受ける複数の排他的論理和素子を有し、
前記タップ選択手段は、
一方入力に、前記複数の排他的論理和素子のそれぞれを実質的に不活性状態とするか、活性状態を維持するかを設定するタップ選択信号を受け、他方入力に排他的論理和の対象となる信号を受け、その出力を前記複数の排他的論理和素子のそれぞれに与える複数の論理ゲートを有し、
前記タップ選択信号によって活性状態を維持する排他的論理和素子に出力を与えるフリップフロップをタップとして選択し、
前記フィードバック開始位置選択手段は、
前記複数のフリップフロップのそれぞれの出力信号を一方の入力に受け、他方の入力にフィードバック信号を受け、フィードバック開始位置選択信号によりどちらかを選択して出力する複数のセレクタを有し、
前記フィードバック開始位置選択信号により選択される所定のフリップフロップの出力信号を、前記フィードバックループの前記始めのビットとし、
前記複数の排他的論理和素子は、複数の第1の排他的論理和素子と、複数の第2の排他的論理和素子とを含み、
前記線形フィードバックシフトレジスタは、
前記複数の第1の排他的論理和素子が、前記複数のフリップフロップのそれぞれの間に介挿されたガロア線形フィードバックシフトレジスタと、
前記複数の第2の排他的論理和素子が、前記フィードバックループ中に介挿されたフィボナッチ線形フィードバックシフトレジスタと、を有し、
前記複数の論理ゲートは、複数の第1のANDゲートと、複数の第2のANDゲートとを含み、
前記タップ選択信号は、前記複数の第1のANDゲートの前記一方入力に与えられる第1のタップ選択信号と、前記複数の第2のANDゲートの前記一方入力に与えられる第2のタップ選択信号とを含み、
前記複数の第1のANDゲートのそれぞれの前記他方入力には前記排他的論理和の対象となる信号として前記フィードバック信号を受け、
前記複数の第2のANDゲートのそれぞれの前記他方入力には、前記排他的論理和の対象となる信号として、前記複数のフリップフロップのそれぞれの出力信号を受け、
前記第1および第2のタップ選択信号の設定により、前記ガロア線形フィードバックシフトレジスタを使用するか、前記フィボナッチ線形フィードバックシフトレジスタを使用するかを切り替える、線形フィードバックシフトレジスタ。
A linear feedback shift register that feeds back an exclusive OR of a part of bits constituting a bit string as an input bit,
Tap selection means for selecting a tap that outputs a bit that is an exclusive-OR target and affects the input bit;
Feedback start position selection means for selecting which bit of the bit string is the first bit of the feedback loop, and
By selecting the tap by the tap selection means, a polynomial term realized by the linear feedback shift register is defined,
By setting the start position of the feedback loop by the feedback start position selection means, the maximum degree of the polynomial is determined ,
The linear feedback shift register is
A plurality of exclusive OR elements for receiving output signals of a plurality of flip-flops constituting the shift register;
The tap selection means is
One input receives a tap selection signal that sets whether each of the plurality of exclusive OR elements is substantially inactive or maintains an active state, and the other input is a target of exclusive OR. A plurality of logic gates for receiving the signal and providing the output to each of the plurality of exclusive OR elements,
A flip-flop that provides an output to an exclusive OR element that maintains an active state by the tap selection signal is selected as a tap,
The feedback start position selection means includes
Each of the plurality of flip-flops receives an output signal at one input, receives a feedback signal at the other input, and has a plurality of selectors that select and output either by a feedback start position selection signal,
The output signal of a predetermined flip-flop selected by the feedback start position selection signal is the first bit of the feedback loop,
The plurality of exclusive OR elements include a plurality of first exclusive OR elements and a plurality of second exclusive OR elements,
The linear feedback shift register is
The plurality of first exclusive OR elements inserted between each of the plurality of flip-flops; a Galois linear feedback shift register;
The plurality of second exclusive OR elements includes a Fibonacci linear feedback shift register interposed in the feedback loop;
The plurality of logic gates include a plurality of first AND gates and a plurality of second AND gates,
The tap selection signal includes a first tap selection signal provided to the one input of the plurality of first AND gates and a second tap selection signal provided to the one input of the plurality of second AND gates. Including
The other input of each of the plurality of first AND gates receives the feedback signal as a signal to be subjected to the exclusive OR,
The other input of each of the plurality of second AND gates receives each output signal of the plurality of flip-flops as a signal to be subjected to the exclusive OR,
Wherein the setting of the first and second tap selection signal, the Galois linear feedback shift register whether to use the Fibonacci you switch whether to use a linear feedback shift register, LFSR.
JP2013046479A 2013-03-08 2013-03-08 Linear feedback shift register Expired - Fee Related JP6093207B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013046479A JP6093207B2 (en) 2013-03-08 2013-03-08 Linear feedback shift register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013046479A JP6093207B2 (en) 2013-03-08 2013-03-08 Linear feedback shift register

Publications (2)

Publication Number Publication Date
JP2014175834A JP2014175834A (en) 2014-09-22
JP6093207B2 true JP6093207B2 (en) 2017-03-08

Family

ID=51696679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013046479A Expired - Fee Related JP6093207B2 (en) 2013-03-08 2013-03-08 Linear feedback shift register

Country Status (1)

Country Link
JP (1) JP6093207B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6208442B2 (en) * 2013-03-08 2017-10-04 株式会社メガチップス Cryptographic processing device
KR102560778B1 (en) 2016-02-22 2023-07-27 삼성전자주식회사 Method and device to extract data
JP6867594B2 (en) * 2017-09-13 2021-04-28 富士通株式会社 Random number generation circuit and control method of random number generation circuit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0748702B2 (en) * 1986-07-11 1995-05-24 クラリオン株式会社 M-sequence code generator
US4734921A (en) * 1986-11-25 1988-03-29 Grumman Aerospace Corporation Fully programmable linear feedback shift register
JPH0438028A (en) * 1990-06-04 1992-02-07 Nippon Telegr & Teleph Corp <Ntt> Block synchronizing circuit
JP4177526B2 (en) * 1999-08-05 2008-11-05 富士通株式会社 Multiplication residue calculation method and multiplication residue circuit
JP2002150698A (en) * 2000-11-06 2002-05-24 Pioneer Electronic Corp Method and device for recording information and method and device for reproducing information
JP4137623B2 (en) * 2002-12-18 2008-08-20 古野電気株式会社 General-purpose PRN code generation circuit and general-purpose positioning receiver

Also Published As

Publication number Publication date
JP2014175834A (en) 2014-09-22

Similar Documents

Publication Publication Date Title
KR101612518B1 (en) Endecryptor enabling parallel processing and en/decryption method thereof
US6587864B2 (en) Galois field linear transformer
US9418246B2 (en) Decryption systems and related methods for on-the-fly decryption within integrated circuits
EP3839788A1 (en) Bit-length parameterizable cipher
CN112422272B (en) AES encryption method and circuit for preventing power consumption attack
JP6093207B2 (en) Linear feedback shift register
US20050097153A1 (en) Pseudorandom number generator
WO2004001701A1 (en) Code calculating device
JP2009528559A (en) Encryption and decryption processing method and system for realizing SMS4 encryption algorithm
KR20010111784A (en) Key Scheduller of encryption device using data encryption standard algorithm
CN107967414B (en) Micro control chip instruction encryption method, decryption method and encryption/decryption system
US9696965B2 (en) Input-dependent random number generation using memory arrays
CN111008407A (en) Encryption circuit for performing virtual encryption operations
KR20180059150A (en) ECC encoder and encoding method capable of encoding during one clock cycle and memory controller having the ECC encoder
US9619206B2 (en) Pseudo-random bit sequence generator
KR20120125790A (en) Memory device and memory system including the same
JP2010245881A (en) Cipher processor
CN114063973A (en) Galois field multiplier and erasure coding and decoding system
KR100864363B1 (en) Coding circuit and digital signal processing circuit
JP2004159333A (en) Configuration for exchanging data using cyclic redundancy check (crc) code, method and apparatus for automatically generating crc code from data exchanged on data bus
US7383295B2 (en) Selective sequence generation method and apparatus
EP1649634B1 (en) Method and apparatus for fast rc4-like encryption
KR20020087331A (en) AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR101007339B1 (en) Scrambler device by generating array of pseudo random binary number
JP6208442B2 (en) Cryptographic processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170112

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170210

R150 Certificate of patent or registration of utility model

Ref document number: 6093207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees