JP2937919B2 - 疑似乱数発生回路 - Google Patents

疑似乱数発生回路

Info

Publication number
JP2937919B2
JP2937919B2 JP9005335A JP533597A JP2937919B2 JP 2937919 B2 JP2937919 B2 JP 2937919B2 JP 9005335 A JP9005335 A JP 9005335A JP 533597 A JP533597 A JP 533597A JP 2937919 B2 JP2937919 B2 JP 2937919B2
Authority
JP
Japan
Prior art keywords
register
random number
circuit
shift
clock
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
JP9005335A
Other languages
English (en)
Other versions
JPH10207695A (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.)
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Original Assignee
NIPPON DENKI AISHII MAIKON SHISUTEMU KK
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 NIPPON DENKI AISHII MAIKON SHISUTEMU KK filed Critical NIPPON DENKI AISHII MAIKON SHISUTEMU KK
Priority to JP9005335A priority Critical patent/JP2937919B2/ja
Priority to US08/975,186 priority patent/US6263082B1/en
Priority to EP97122436A priority patent/EP0855642B1/en
Priority to DE69722367T priority patent/DE69722367T2/de
Priority to KR1019970076810A priority patent/KR100297154B1/ko
Priority to CNB971261016A priority patent/CN1149782C/zh
Publication of JPH10207695A publication Critical patent/JPH10207695A/ja
Application granted granted Critical
Publication of JP2937919B2 publication Critical patent/JP2937919B2/ja
Priority to US09/837,484 priority patent/US6754345B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/586Pseudo-random number generators using an integer algorithm, e.g. using linear congruential method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/583Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、LFSRを用いた
疑似乱数発生回路に係り、特に乱数の周期に不規則性を
持たせて乱数性を高めた疑似乱数発生回路に関するもの
である。
【0002】
【従来の技術】従来より、暗号アルゴリズム等に乱数が
用いられているが、このときの乱数としては、扱いやす
さや処理の簡単さから真性乱数よりも、ソフトウェアで
も容易に作成可能な疑似乱数を用いることが多い。疑似
乱数を発生する疑似乱数発生回路としては、リニアフィ
ードバックシフトレジスタ(Linear Feedback Shift Re
gister、以下、LFSRと略す)が生成する長周期の乱
数列を用いることが一般的となっている。LFSRは、
直列に接続された複数のレジスタの所定の出力が排他的
論理和回路を介して先頭のレジスタにフィードバックさ
れる構造となっており、フィードバック部に排他的論理
和回路を設けることにより、比較的長周期の乱数列を得
ることが可能である。
【0003】例えば、n個のレジスタで構成されるLF
SRから得られる乱数列の周期は、n次の線形最大周期
列(M系列と呼ばれる)2n −1となる。なお、LFS
Rで用いられる周期とは、時間を表すものではなく、生
成される乱数のパターンが何通りあるかを示すパターン
周期(つまり、このパターン周期ごとに同一の乱数が発
生する)であるが、以降では単に周期と記載する。図5
に7段のLFSRを用いた従来の疑似乱数発生回路のブ
ロック図を示す。この疑似乱数発生回路は、直列に接続
された七個のレジスタ12−1〜12−7のうちの2段
目のレジスタ12−2の出力と最後段のレジスタ12−
7の出力を排他的論理和回路14に入力し、この排他的
論理和回路14の出力を先端のレジスタ12−1の入力
にフィードバックする構成となっている。
【0004】LFSRを用いた疑似乱数発生回路の場
合、M系列のビット列を生成するので、図5のような7
段のLFSRの場合は、127(=27 −1)通りの疑
似乱数列を生成することができる。このようなn段の構
造を持つLFSRは、2n −1の周期を有する乱数列が
得られるものであるが、生成される乱数列を暗号回路の
シードとして用いた場合、この暗号回路から生成される
暗号文は比較的容易に解読されてしまう危険性がある。
例えば、畳み込み符号に代表されるストリーム型暗号で
は、平文の2進系列と疑似乱数発生回路から生成した2
進疑似乱数系列の排他的論理和をとることによりストリ
ーム暗号を生成するが、疑似乱数系列又は疑似乱数系列
生成論理が判明してしまった場合、入手した暗号文から
平文を再生することは容易に可能であり、その結果暗号
回路としての機能を失ってしまうことになる。
【0005】暗号回路から出力される暗号文のデータ解
析等を行っても、予測不可能な疑似乱数系列を効率的に
生成することが重要なことは周知の事実である。データ
解析を行っても解析不可能な疑似乱数系列を生成するに
は、次数n(レジスタの個数)を増やせばよいが、回路
規模等の制約から少ないビット数のLFSRしか使用す
ることができない場合がある。したがって、少ないビッ
ト数のLFSRを用いた疑似乱数発生回路から生成され
る乱数列を暗号アルゴリズムのシードとして用いる場合
には、乱数列の予測が困難となるように効率的に乱数列
の周期を乱す工夫が必要となる。
【0006】そこで、少ないビット数のLFSRで乱数
性を高めた疑似乱数発生回路が提案されている(特開平
5−327427号公報)。図6、図7に特開平5−3
27427号公報で提案された従来の疑似乱数発生回路
のブロック図を示す。図6の疑似乱数発生回路では、先
頭のレジスタ12−1の出力と最後段のレジスタ12−
7の出力を排他的論理和回路14aに入力している。そ
して、切替スイッチ15は、この排他的論理和回路14
aの出力とレジスタ12−7の出力のうちの何れかを選
択して、レジスタ12−1の入力にフィードバックする
ように接続されている。この切替スイッチ15は、通
常、排他的論理和回路14aの出力を選択しており、レ
ジスタ12−1〜12−7のビット数に応じた乱数列の
一周期分の回数だけLFSRがシフトした後に、レジス
タ12−7の出力を選択し、この状態で所定の回数のシ
フトが行われた後に、再び排他的論理和回路14aの出
力を選択する。このようにして、乱数列の周期を長くす
ることができる。
【0007】また、図7の疑似乱数発生回路では、先頭
のレジスタ12−1の出力と2段目のレジスタ12−2
の出力を切替スイッチ15aに入力している。そして、
この切替スイッチ15aの出力と最後段のレジスタ12
−7の出力を排他的論理和回路14bに入力し、この排
他的論理和回路14bの出力を先頭のレジスタ12−1
に入力するようにしている。切替スイッチ15aは、初
めレジスタ12−1の出力を選択しており、レジスタ1
2−1〜12−7のビット数に応じた乱数列の一周期分
の回数だけLFSRがシフトした後に、レジスタ12−
2の出力を選択し、この状態で乱数列の一周期分の回数
だけLFSRがシフトした後に、再びレジスタ12−1
の出力を選択する。このようにして、乱数の周期を約2
倍にすることができる。
【0008】
【発明が解決しようとする課題】以上のようにして従来
の疑似乱数発生回路では、乱数性を高めているが、LF
SRで得られる乱数系列を著しく乱すものではないの
で、生成された乱数列とその疑似乱数発生回路を動作さ
せている周辺の回路動作との比較検討により、疑似乱数
発生回路の構成が判明してしまうという問題点があっ
た。その結果、このような疑似乱数発生回路から生成さ
れる乱数列を暗号アルゴリズムのシードとして利用して
いると、暗号生成回路の出力である暗号コードと解析し
た乱数系列とにより、暗号化する前の平文が比較的容易
に解読されてしまうという問題点があった。本発明は、
上記課題を解決するためになされたもので、少ないビッ
ト数のLFSRで高い乱数性が得られ、かつ生成された
乱数列から回路構成を解析することのできない疑似乱数
発生回路を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明の疑似乱数発生回
路は、請求項1に記載のように、生成する乱数のビット
幅分のレジスタと少なくとも1ビットの冗長レジスタか
ら複数のレジスタが構成され、シフトクロックに応じて
シフト動作を行うリニアフィードバックシフトレジスタ
と、冗長レジスタの出力値に応じて複数の内部クロック
から1つを選択し、これをシフトクロックとして出力す
る選択回路とを有するものである。このように、リニア
フィードバックシフトレジスタ中に冗長レジスタを設
け、選択回路が冗長レジスタの出力値に応じて複数の内
部クロックから1つを選択してシフトクロックとして出
力することにより、見かけ上の周期がレジスタ及び冗長
レジスタのビット数で決定される周期よりも長くなる疑
似乱数発生回路を得ることができる。
【0010】また、請求項2に記載のように、生成する
乱数のビット幅分のレジスタと少なくとも1ビットの冗
長レジスタから複数のレジスタが構成され、シフトクロ
ックに応じてシフト動作を行うリニアフィードバックシ
フトレジスタと、冗長レジスタの出力値に応じて複数の
内部クロックから1つを選択する選択回路と、内部クロ
ックよりも高速なクロックと選択回路の出力との論理積
をとり、この結果をシフトクロックとして出力する論理
積回路とを有するものである。このように、リニアフィ
ードバックシフトレジスタ中に冗長レジスタを設け、選
択回路が冗長レジスタの出力値に応じて複数の内部クロ
ックから1つを選択し、論理積回路が内部クロックより
も高速なクロックと選択回路の出力との論理積をとるこ
とにより、見かけ上の周期がレジスタ及び冗長レジスタ
のビット数で決定される周期よりも長くなる疑似乱数発
生回路を得ることができる。
【0011】また、請求項3に記載のように、リニアフ
ィードバックシフトレジスタの代わりに、生成する乱数
のビット幅分のレジスタから複数のレジスタが構成さ
れ、シフトクロックに応じてシフト動作を行う第1のリ
ニアフィードバックシフトレジスタと、複数のレジスタ
中に少なくとも1ビットの冗長レジスタを含み、シフト
クロックに応じてシフト動作を行う第2のリニアフィー
ドバックシフトレジスタとを有するものである。
【0012】
【発明の実施の形態】
実施の形態の1.以下、本発明の実施の形態について図
面を参照して説明する。図1は本発明の第1の実施の形
態を示す疑似乱数発生回路のブロック図、図2はこの疑
似乱数発生回路の動作を説明するためのタイミングチャ
ート図である。図2(a)は後述するレジスタ2−1〜
2−7,3−1,3−2をリセットするためのリセット
信号RST、図2(b)〜図2(e)は内部クロックC
LKa〜CLKd、図2(f)はシフトクロックSC
K、図2(g)は冗長レジスタ3−1,3−2の出力値
d1,d2を示している。
【0013】本実施の形態の疑似乱数発生回路は、シフ
トクロックSCKに応じてシフト動作を行うLFSR1
と、図示しないクロック発生手段から出力された内部ク
ロックCLKa,CLKb,CLKc,CLKdから1
つを選択し、これをシフトクロックSCKとして出力す
る選択回路となるデコーダ/マルチプレクサ5(以下、
MPX5と略す)を有する。
【0014】そして、LFSR1は、生成する乱数列の
ビット幅分(本実施の形態では7個)だけ直列に接続さ
れたレジスタ2−1〜2−7と、このレジスタの上位側
に直列に接続された、その出力が外部に読み出されるこ
とのない冗長レジスタ3−1,3−2と、レジスタ2−
2,2−7の出力を入力とし、その出力をレジスタ3−
1の入力にフィードバックする排他的論理和回路4とか
ら構成されている。なお、レジスタ3−1,3−2,2
−1〜2−6の各出力は、次段のレジスタの入力に接続
されている。
【0015】MPX5は、冗長レジスタ3−1,3−2
の出力値d1,d2をデコードし、このデコード結果に
基づいて内部クロックCLKa,CLKb,CLKc,
CLKdから1つを選択する。本実施の形態では、冗長
レジスタ3−1,3−2の出力値d1,d2がそれぞれ
「0」,「0」のときは内部クロックCLKa、
「0」,「1」のときは内部クロックCLKb、
「1」,「0」のときは内部クロックCLKc、
「1」,「1」のときは内部クロックCLKdを選択す
るものとする。
【0016】また、レジスタ2−1〜2−7,3−1,
3−2は、リセット信号RSTの入力により出力が
「1」に初期設定される。そして、この初期設定後にリ
セットが解除されると、シフトクロックSCKの立ち上
がりエッジのタイミングでシフト動作を行い、入力値を
ラッチする。なお、リセット信号RSTは、ハイ・アク
ティブであり、「1」でイネーブル(リセット)、
「0」でディセーブル(リセット解除)である。
【0017】こうして、レジスタ2−1〜2−7の値b
1〜b7が7ビット幅の乱数列として読み出される。な
お、乱数列の読み出しを連続して行っても、同じ値が読
み出されることのないように、内部クロックCLKa〜
CLKdの周波数は、読み出し周波数の最高値の2倍以
上に設定される。次に、冗長レジスタ3−1,3−2及
びレジスタ2−1〜2−7の出力値の時系列的な変化を
表1に示す。
【0018】
【表1】
【0019】ここで、t0は、図2に示すように、リセ
ット信号RSTがイネーブル時の初期状態のタイミン
グ、t1〜t5は、リセット解除後のシフトクロックS
CKの各立ち上がりタイミングを示す。最初に、「1」
レベルのリセット信号RSTの入力により、レジスタ2
−1〜2−7及び冗長レジスタ3−1,3−2の出力値
は、全て「1」に初期化される(タイミングt0)。
【0020】冗長レジスタ3−1,3−2の出力値d
1,d2が「1」,「1」なので、MPX5は、図2
(f)に示すように、内部クロックCLKdを選択し
て、これをシフトクロックSCKとして出力する。次い
で、リセット信号RSTがディセーブル、すなわち
「0」になった後、シフトクロックSCKの立ち上がり
(タイミングt1)で、冗長レジスタ3−1,3−2及
びレジスタ2−1〜2−7はシフト動作を行う。
【0021】これにより、冗長レジスタ3−1,3−2
の出力値d1,d2が「0」,「1」となるので、MP
X5は、内部クロックCLKbを選択して、これをシフ
トクロックSCKとして出力する。続いて、このクロッ
クSCKの立ち上がり(タイミングt2)で、冗長レジ
スタ3−1,3−2及びレジスタ2−1〜2−7はシフ
ト動作を行う。その結果、冗長レジスタ3−1,3−2
の出力値d1,d2が「0」,「0」となるので、MP
X5は、内部クロックCLKaを選択して、これをシフ
トクロックSCKとして出力する。
【0022】同様の動作が繰り返されてシフトクロック
SCKの立ち上がり(タイミングt5)で、シフト動作
が行われると、冗長レジスタ3−1,3−2の出力値d
1,d2が「1」,「0」となるので、MPX5は、内
部クロックCLKcを選択する。以下、同様の動作が繰
り返される。
【0023】本実施の形態のLFSR1を9ビット構成
のLFSRとして考えると、乱数列の最大周期は29
1であり、冗長レジスタ3−1,3−2の2ビットをマ
スクして考えると、29 −1周期の間にレジスタ2−1
〜2−7がとり得る値の組み合わせは27 ×4−1であ
る。ただし、29 −1周期の間に27 周期が規則的に現
れる訳ではないので、レジスタ2−1〜2−7から読み
出される7ビット幅の乱数列は、ほぼ9次の線形最大周
期29 −1に近い周期を有すると考えることができる。
【0024】そして、シフトクロックSCKが次々と変
化する図1の疑似乱数発生回路から乱数列を読み出す読
み出し回路(例えば、暗号生成回路)は、通常、一定の
読み出しクロックで読み出し動作を行うのであるから、
この読み出し回路から見た乱数列の見かけ上の周期は、
LFSR1のビット数で決定される周期29 −1よりも
長くなる。
【0025】また、本実施の形態では、冗長レジスタ3
−1,3−2の出力値に基づきシフトクロックSCKが
次々と変化するため、生成される7ビット幅の乱数列か
ら疑似乱数発生回路の構成を解明しようと試みるものが
あったとしても、非常に困難である。加えて、シフトク
ロックSCKを選択するための冗長レジスタ3−1,3
−2の出力値を直接読み出すことはできないので、さら
に回路構成の解明を困難なものとしている。
【0026】なお、本実施の形態では、排他的論理和回
路4の一方の入力にレジスタ2−2の出力を接続してい
るが、これに限るものではない。ただし、上記最大周期
が得られるような位置のレジスタ出力を排他的論理和回
路4の入力とすることが望ましい。
【0027】実施の形態の2.図3は本発明の他の実施
の形態を示す疑似乱数発生回路のブロック図、図4はこ
の疑似乱数発生回路の動作を説明するためのタイミング
チャート図であり、図1、図2と同一の構成には同一の
符号を付してある。図4(a)はリセット信号RST、
図4(b)は内部クロックCLKa〜CLKdよりも高
速なクロックCLKe、図4(c)〜図4(f)は内部
クロックCLKa〜CLKd、図2(g)はMPX5の
出力MC、図4(h)は論理積回路6から出力されたシ
フトクロックSCK、図4(i)は冗長レジスタ3−
1,3−2の出力値d1,d2を示している。
【0028】本実施の形態の疑似乱数発生回路は、図1
のMPX5の後に、内部クロックCLKa〜CLKdよ
りも高速なクロックCLKeとMPX5の出力MCとの
論理積をとり、この結果をシフトクロックSCKとして
出力する論理積回路6を設けたものである。クロックC
LKeは、内部クロックCLKa,CLKb,CLK
c,CLKdに比して十分速い周波数(最低でも3〜4
倍)であるとする。なお、クロックCLKeは、内部ク
ロックCLKa〜CLKdと同期していなくてもよい。
非同期の場合には、シフトクロックSCKの不規則性が
より高まることになり、結果として乱数列の不規則性を
より高めることができる。
【0029】レジスタ2−1〜2−7、冗長レジスタ3
−1,3−2、排他的論理和回路4、MPX5の動作
は、実施の形態の1と同様であるが、MPX5によって
選択された内部クロックは、直接LFSR1のシフトク
ロックとはならず、論理積回路6で高速クロックCLK
eと論理積をとられた後、シフトクロックSCKとなる
(図4(h))。すなわち、MPX5が選択した内部ク
ロックCLKa〜CLKdの何れか1つが「1」の間、
クロックCLKeによるLFSR1のシフト動作が行わ
れる。
【0030】クロックCLKeをより高速なクロック源
からとることにより、単位時間あたりのLFSR1のシ
フト回数は増すことになり、これは、周期的に乱数列を
読み出す動作に対して同じ値が読み出される確率が高ま
ることになるので、相対的により乱数性が高まっている
といえる。
【0031】なお、乱数列を出力するレジスタのビット
数、冗長レジスタのビット数およびその位置、クロック
の種類は、必要とする乱数列のビット数、許容される回
路規模、疑似乱数の周期性の長さなどに基づいて任意に
設定可能であり、ここにあげた2つの実施の形態に限定
されるものではない。例えば、冗長レジスタのビット数
は1ビット以上であればよく、冗長レジスタを設ける位
置もLFSR内であればどこに設けてもよい。また、同
一のシフトクロックで動作する第1、第2のLFSRの
2つのLFSRを設けて、第1のLFSRで乱数列を生
成し、第2のLFSR内の冗長レジスタの出力でMPX
を切替制御するようにしてもよい。
【0032】
【発明の効果】本発明によれば、請求項1に記載のよう
に、リニアフィードバックシフトレジスタ中に冗長レジ
スタを設け、選択回路が冗長レジスタの出力値に応じて
複数の内部クロックから1つを選択してシフトクロック
として出力することにより、任意のビット数のリニアフ
ィードバックシフトレジスタで得られる最大の乱数列
(M系列)を時系列的に乱すことができ、乱数列の見か
け上の周期がレジスタ及び冗長レジスタのビット数で決
定される周期よりも長くなる疑似乱数発生回路を得るこ
とができる。さらに、直接読み出すことができない冗長
レジスタの出力値によりクロック選択を行い、シフトク
ロックを次々と変化させるので、小規模な回路の追加
で、疑似乱数発生回路の構成又は乱数列の周期の解明を
困難なものとすることができる。その結果、少ないビッ
ト数のリニアフィードバックシフトレジスタで高い乱数
性が得られ、かつ生成された乱数列から回路構成を解析
することのできない疑似乱数発生回路を実現することが
できる。
【0033】また、請求項2に記載のように、リニアフ
ィードバックシフトレジスタ中に冗長レジスタを設け、
選択回路が冗長レジスタの出力値に応じて複数の内部ク
ロックから1つを選択し、論理積回路が内部クロックよ
りも高速なクロックと選択回路の出力との論理積をとる
ことにより、任意のビット数のリニアフィードバックシ
フトレジスタで得られる最大の乱数列(M系列)を時系
列的に乱すことができ、乱数列の見かけ上の周期がレジ
スタ及び冗長レジスタのビット数で決定される周期より
も長くなる疑似乱数発生回路を得ることができる。さら
に、直接読み出すことができない冗長レジスタの出力値
によりクロック選択を行い、シフトクロックを次々と変
化させるので、小規模な回路の追加で、疑似乱数発生回
路の構成又は乱数列の周期の解明を困難なものとするこ
とができる。その結果、少ないビット数のリニアフィー
ドバックシフトレジスタで高い乱数性が得られ、かつ生
成された乱数列から回路構成を解析することのできない
疑似乱数発生回路を実現することができる。
【0034】また、請求項3に記載のように、第1のリ
ニアフィードバックシフトレジスタと第2のリニアフィ
ードバックシフトレジスタを設けることにより、任意の
ビット数の第1のリニアフィードバックシフトレジスタ
で得られる最大の乱数列(M系列)を時系列的に乱すこ
とができ、乱数列の見かけ上の周期が第1のリニアフィ
ードバックシフトレジスタのビット数で決定される周期
よりも長くなる疑似乱数発生回路を得ることができる。
さらに、直接読み出すことができない冗長レジスタの出
力値によりクロック選択を行い、シフトクロックを次々
と変化させるので、小規模な回路の追加で、疑似乱数発
生回路の構成又は乱数列の周期の解明を困難なものとす
ることができる。その結果、少ないビット数のリニアフ
ィードバックシフトレジスタで高い乱数性が得られ、か
つ生成された乱数列から回路構成を解析することのでき
ない疑似乱数発生回路を実現することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態を示す疑似乱数発
生回路のブロック図である。
【図2】 図1の疑似乱数発生回路の動作を説明するた
めのタイミングチャート図である。
【図3】 本発明の他の実施の形態を示す疑似乱数発生
回路のブロック図である。
【図4】 図3の疑似乱数発生回路の動作を説明するた
めのタイミングチャート図である。
【図5】 従来の疑似乱数発生回路のブロック図であ
る。
【図6】 従来の疑似乱数発生回路のブロック図であ
る。
【図7】 従来の疑似乱数発生回路のブロック図であ
る。
【符号の説明】
1…LFSR、2−1〜2−7…レジスタ、3−1、3
−2…冗長レジスタ、4…排他的論理和回路、5…MP
X、6…論理積回路。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−41036(JP,A) 特開 平4−313119(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 7/58 G09C 1/00 650 H03K 3/84

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 直列に接続された複数のレジスタの所定
    の出力が排他的論理和回路を介して先頭のレジスタにフ
    ィードバックされるリニアフィードバックシフトレジス
    タを用いた疑似乱数発生回路において、 生成する乱数のビット幅分のレジスタと少なくとも1ビ
    ットの冗長レジスタから前記複数のレジスタが構成さ
    れ、シフトクロックに応じてシフト動作を行うリニアフ
    ィードバックシフトレジスタと、 冗長レジスタの出力値に応じて複数の内部クロックから
    1つを選択し、これを前記シフトクロックとして出力す
    る選択回路とを有することを特徴とする疑似乱数発生回
    路。
  2. 【請求項2】 直列に接続された複数のレジスタの所定
    の出力が排他的論理和回路を介して先頭のレジスタにフ
    ィードバックされるリニアフィードバックシフトレジス
    タを用いた疑似乱数発生回路において、 生成する乱数のビット幅分のレジスタと少なくとも1ビ
    ットの冗長レジスタから前記複数のレジスタが構成さ
    れ、シフトクロックに応じてシフト動作を行うリニアフ
    ィードバックシフトレジスタと、 冗長レジスタの出力値に応じて複数の内部クロックから
    1つを選択する選択回路と、 前記内部クロックよりも高速なクロックと選択回路の出
    力との論理積をとり、この結果を前記シフトクロックと
    して出力する論理積回路とを有することを特徴とする疑
    似乱数発生回路。
  3. 【請求項3】 請求項1又は2記載の疑似乱数発生回路
    において、 前記リニアフィードバックシフトレジスタの代わりに、
    生成する乱数のビット幅分のレジスタから前記複数のレ
    ジスタが構成され、シフトクロックに応じてシフト動作
    を行う第1のリニアフィードバックシフトレジスタと、 複数のレジスタ中に少なくとも1ビットの冗長レジスタ
    を含み、シフトクロックに応じてシフト動作を行う第2
    のリニアフィードバックシフトレジスタとを有すること
    を特徴とする疑似乱数発生回路。
JP9005335A 1997-01-16 1997-01-16 疑似乱数発生回路 Expired - Fee Related JP2937919B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP9005335A JP2937919B2 (ja) 1997-01-16 1997-01-16 疑似乱数発生回路
US08/975,186 US6263082B1 (en) 1997-01-16 1997-11-20 Pseudorandom number generation circuit and data communication system employing the same
DE69722367T DE69722367T2 (de) 1997-01-16 1997-12-18 Pseudozufallsgenerator mit Taktauswahl
EP97122436A EP0855642B1 (en) 1997-01-16 1997-12-18 Pseudorandom number generation circuit with clock selection
KR1019970076810A KR100297154B1 (ko) 1997-01-16 1997-12-29 의사난수발생회로및이를채용한데이터통신시스템
CNB971261016A CN1149782C (zh) 1997-01-16 1997-12-30 伪随机数产生电路及其在数据通信系统的应用
US09/837,484 US6754345B2 (en) 1997-01-16 2001-04-19 Pseudorandom number generation circuit and data communication system employing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9005335A JP2937919B2 (ja) 1997-01-16 1997-01-16 疑似乱数発生回路

Publications (2)

Publication Number Publication Date
JPH10207695A JPH10207695A (ja) 1998-08-07
JP2937919B2 true JP2937919B2 (ja) 1999-08-23

Family

ID=11608373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9005335A Expired - Fee Related JP2937919B2 (ja) 1997-01-16 1997-01-16 疑似乱数発生回路

Country Status (6)

Country Link
US (2) US6263082B1 (ja)
EP (1) EP0855642B1 (ja)
JP (1) JP2937919B2 (ja)
KR (1) KR100297154B1 (ja)
CN (1) CN1149782C (ja)
DE (1) DE69722367T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6972609B2 (en) 2003-03-28 2005-12-06 Nec Electronics Corporation Semiconductor integrated circuit device with a plurality of internal circuits operable in synchronism with internal clock
US7376687B2 (en) 2003-03-31 2008-05-20 Nec Electronics Corporation Pseudo-random number generator

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11340799A (ja) * 1998-05-28 1999-12-10 Oki Electric Ind Co Ltd M系列発生回路、m系列の発生方法及びpn系列発生回路
JP2000222176A (ja) * 1999-02-03 2000-08-11 Mitsubishi Electric Corp 乱数生成回路、当該乱数生成回路を内蔵する非接触icカード及びリーダ/ライタ、並びに、当該乱数生成回路を内蔵する装置のテスト方法
US6742129B1 (en) * 1999-12-08 2004-05-25 Carrier Corporation Software security mechanism
JP2001282715A (ja) * 2000-03-31 2001-10-12 Brother Ind Ltd データ転送装置
US7120696B1 (en) * 2000-05-19 2006-10-10 Stealthkey, Inc. Cryptographic communications using pseudo-randomly generated cryptography keys
US6732234B1 (en) * 2000-08-07 2004-05-04 Broadcom Corporation Direct access mode for a cache
US6748492B1 (en) 2000-08-07 2004-06-08 Broadcom Corporation Deterministic setting of replacement policy in a cache through way selection
US6848024B1 (en) * 2000-08-07 2005-01-25 Broadcom Corporation Programmably disabling one or more cache entries
US7424636B1 (en) * 2000-08-10 2008-09-09 Alcatel Lucent Method and apparatus for controlling a clock signal of a line card circuit
US6834291B1 (en) * 2000-10-27 2004-12-21 Intel Corporation Gold code generator design
US6691142B2 (en) * 2001-01-09 2004-02-10 Hewlett-Packard Development Company, L.P. Pseudo random address generator for 0.75M cache
US6993542B1 (en) 2001-03-12 2006-01-31 Cisco Technology, Inc. Efficient random number generation for communication systems
US6748495B2 (en) 2001-05-15 2004-06-08 Broadcom Corporation Random generator
KR20030008859A (ko) * 2001-07-20 2003-01-29 대우전자주식회사 유사난수열을 발생하는 lfsr을 이용한 피포 메모리제어장치
KR100393605B1 (ko) * 2001-08-09 2003-08-02 삼성전자주식회사 피엔 시퀀스 상태 천이 장치
GB0123302D0 (en) * 2001-09-28 2001-11-21 Hw Comm Ltd Cipher apparatus
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
AT412747B (de) * 2002-03-05 2005-06-27 Rene-Michael Mag Cordes Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und endschlüsselung von daten beliebiger länge
JP4491706B2 (ja) 2002-04-19 2010-06-30 ソニー株式会社 暗号化復号化装置およびデータ受信装置
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US20040049525A1 (en) * 2002-09-06 2004-03-11 Koninklijke Philips Electronics N.V. Feedback random number generation method and system
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
GB2454193B (en) * 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
US7194496B2 (en) * 2003-05-02 2007-03-20 Spirent Communications Of Rockville, Inc. System and method for producing functions for generating pseudo-random bit sequences
US7424075B2 (en) 2003-07-31 2008-09-09 Crossroads Systems, Inc. Pseudorandom data pattern verifier with automatic synchronization
US7502468B2 (en) * 2003-09-02 2009-03-10 Ncipher Corporation Ltd. Method and system for generating a cryptographically random number stream
US7340496B2 (en) * 2003-12-17 2008-03-04 International Business Machines Corporation System and method for determining the Nth state of linear feedback shift registers
JP4960877B2 (ja) 2004-11-12 2012-06-27 トムソン ライセンシング 映像再生システムの通常再生及びトリックモード再生に関するフィルムグレインシミュレーション
KR100839177B1 (ko) 2005-01-21 2008-06-23 김월영 암호 알고리즘을 이용한 잠금 장치
US20070168406A1 (en) * 2005-10-18 2007-07-19 Meyer David R Complementary linear feedback shift registers for generating advance timing masks
FR2899352B1 (fr) * 2006-03-29 2008-06-20 Eads Secure Networks Soc Par A Generateur de nombres aleatoires
DE602008000382D1 (de) * 2007-10-30 2010-01-21 Sony Corp Vorrichtung und Verfahren zur Datenverarbeitung
JP5191727B2 (ja) * 2007-12-21 2013-05-08 株式会社ジャパンディスプレイイースト 表示装置
JP5169597B2 (ja) 2008-08-01 2013-03-27 富士通セミコンダクター株式会社 集積回路および試験方法
US9311681B2 (en) 2012-01-24 2016-04-12 Facebook, Inc. Claiming conversations between users and non-users of a social networking system
JP2014164342A (ja) * 2013-02-21 2014-09-08 Fujitsu Semiconductor Ltd 擬似乱数生成回路および擬似乱数生成方法
US10708043B2 (en) 2013-03-07 2020-07-07 David Mayer Hutchinson One pad communications
CN103177956B (zh) 2013-03-14 2015-11-25 上海华力微电子有限公司 一种二氧化硅金属阻挡层的淀积方法
US9331681B2 (en) * 2013-11-05 2016-05-03 STMicroelectronics International N.V System and method for gaussian random noise generation
US9897504B2 (en) * 2015-04-20 2018-02-20 Infineon Technologies Ag System and method for a MEMS sensor
CN105159652A (zh) * 2015-08-12 2015-12-16 中国电子科技集团公司第四十一研究所 一种多通道伪随机信号发生方法
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
KR101881143B1 (ko) * 2016-09-26 2018-07-24 동서대학교산학협력단 무선통신 비트 오류 최소화를 위한 클럭조절형 랜덤 암호 발생기
CN108075877B (zh) * 2016-11-15 2022-04-29 华为技术有限公司 一种安全系统及终端芯片
CN112054942B (zh) * 2020-09-15 2021-12-17 中电科思仪科技股份有限公司 一种用于高位宽成帧误码测试的任意长度随机数据包生成方法
DE202023106573U1 (de) 2023-11-09 2024-01-26 Oculeus Gmbh Kommunikations-Netzwerk mit Datenkanal

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3790768A (en) 1972-09-28 1974-02-05 Prayfel Inc Random number generator
IE54401B1 (en) 1982-05-21 1989-09-27 Marconi Co Ltd Random sequence generators
EP0101636B1 (de) 1982-08-19 1987-04-08 BBC Aktiengesellschaft Brown, Boveri & Cie. Verfahren zum Synchronisieren der Verschlüsselung und Entschlüsselung beim Übertragen digitaler, verschlüsselter Daten und Vorrichtung zum Ausführen dieses Verfahrens
JP3425175B2 (ja) 1992-02-06 2003-07-07 株式会社リコー ランダムパルス生成装置及びランダムパルス生成方法
US5444645A (en) 1992-02-14 1995-08-22 Advantest Corporation Multi-channel pseudo random pattern generating device
JPH06308881A (ja) 1993-04-08 1994-11-04 Internatl Business Mach Corp <Ibm> 暗号化方法及び装置
JP3469294B2 (ja) * 1994-03-10 2003-11-25 株式会社東芝 線型帰還シフトレジスタおよび半導体集積回路装置
JP3636497B2 (ja) * 1995-02-27 2005-04-06 株式会社ルネサステクノロジ 半導体集積回路装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6972609B2 (en) 2003-03-28 2005-12-06 Nec Electronics Corporation Semiconductor integrated circuit device with a plurality of internal circuits operable in synchronism with internal clock
US7376687B2 (en) 2003-03-31 2008-05-20 Nec Electronics Corporation Pseudo-random number generator

Also Published As

Publication number Publication date
US6263082B1 (en) 2001-07-17
EP0855642A3 (en) 1999-01-27
EP0855642A2 (en) 1998-07-29
CN1190830A (zh) 1998-08-19
US6754345B2 (en) 2004-06-22
KR100297154B1 (ko) 2001-08-07
JPH10207695A (ja) 1998-08-07
US20010033663A1 (en) 2001-10-25
DE69722367T2 (de) 2004-04-01
EP0855642B1 (en) 2003-05-28
KR19980070252A (ko) 1998-10-26
DE69722367D1 (de) 2003-07-03
CN1149782C (zh) 2004-05-12

Similar Documents

Publication Publication Date Title
JP2937919B2 (ja) 疑似乱数発生回路
JP3022439B2 (ja) 擬似乱数発生方法および装置
US6954770B1 (en) Random number generator
JP3732188B2 (ja) 擬似乱数発生回路
EP1821196B1 (en) Method and apparatus for seeding a cryptographic random number generator
US7142675B2 (en) Sequence generator and method of generating a pseudo random sequence
US10007488B2 (en) Secured pseudo-random number generator
US7979482B2 (en) Random number generator configured to combine states of memory cells
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
US20050097153A1 (en) Pseudorandom number generator
US9619206B2 (en) Pseudo-random bit sequence generator
JP2003318883A (ja) 鍵生成装置、暗号化復号化装置およびデータ受信装置
JP5171420B2 (ja) 擬似乱数生成装置
JP4417389B2 (ja) デジタルロジックを利用した乱数発生装置及び方法
KR100735953B1 (ko) 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체
JP5119417B2 (ja) 擬似乱数生成装置
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
JP4363273B2 (ja) 乱数発生回路
US20040143614A1 (en) Hiding the internal state of a random number generator
Tan et al. Layered cellular automata for pseudorandom number generation
JPH0769661B2 (ja) スクランブラー装置
JP2000278099A (ja) M系列発生回路及びpn符号発生回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees