JP2010531018A - 有限体演算を用いる暗号学的乱数発生器 - Google Patents

有限体演算を用いる暗号学的乱数発生器 Download PDF

Info

Publication number
JP2010531018A
JP2010531018A JP2010513196A JP2010513196A JP2010531018A JP 2010531018 A JP2010531018 A JP 2010531018A JP 2010513196 A JP2010513196 A JP 2010513196A JP 2010513196 A JP2010513196 A JP 2010513196A JP 2010531018 A JP2010531018 A JP 2010531018A
Authority
JP
Japan
Prior art keywords
finite field
random number
number generator
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010513196A
Other languages
English (en)
Other versions
JP5165755B2 (ja
JP2010531018A5 (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.)
LSI Corp
Original Assignee
LSI Logic 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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2010531018A publication Critical patent/JP2010531018A/ja
Publication of JP2010531018A5 publication Critical patent/JP2010531018A5/ja
Application granted granted Critical
Publication of JP5165755B2 publication Critical patent/JP5165755B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/588Random number generators, i.e. based on natural stochastic processes
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

高速でコンパクトであり、かつ暗号化強度の高い乱数発生器を提供する集積回路チップのための多様な実施形態として、装置(100)及び方法(200)が提供される。一実施形態における装置には、イニシャルランダムソース(10、310)及び、該ソースと通信可能に接続される後処理ブロック(20)が備えられる。後処理ブロック(20)はイニシャルランダムソース(10、310)から信号を受信し、1又は複数の有限体演算を信号上に適用して出力を生成し、該出力に基づく出力信号を出力チャネル(22)を介して提供するよう構成される。

Description

本発明は、半導体集積回路等の電子回路に関する。具体的には、真の乱数発生器として機能する電子回路に関する。
半導体集積回路は、何百何千もの半導体素子が単一のチップに一体化されていることが多々ある。このような半導体素子は、所望の機能を実行するために、相互に接続されている。
集積回路チップによって実行される機能の1つが乱数発生である。乱数発生器(RNG)は、要素の配列を生成するよう構成されるデバイスであって、該配列はランダム配列として使用される。ランダム性に関しては、乱数発生器で生成されたランダム配列の暗号化強度を測定するための多様なランダム性テストによって、通常は評価される。乱数発生器として用いられている部品は、実際のところ擬似ランダムか、さもなければ暗号化強度が低いことが多い。なんらかのランダム性を包含しているように見えても、分析してみると程度の差はあれ、実際は予測可能性を有していることが明白となることがある。一方で、暗号化強度が高い乱数発生器は、かなりの分析が行われても予測不可能である乱数配列を生成するので、その完全な仕様書を与えられたとしても、どのようなランダム出力のビットになるかを予測することは、計算的に実行不可能である。
暗号化強度が高いRNGは、キー生成、ストリーム暗号設計等の暗号タスクのための暗号集積回路に用いられる。
高速、コンパクト、且つ暗号化強度が高いユニットを用いて、真の乱数を生成するための方法及び装置の改良が求められている。
上記の記載は、一般的な背景情報として記載されただけであって、請求項に記載の主題の範囲を限定することを意図するものでもない。
本発明の一様態は装置であり、一実施形態によると、該装置には、イニシャルランダムソース及び、イニシャルランダムソースと通信可能に接続されている後処理ブロックが含まれる。この実施形態では、後処理ブロックは、イニシャルランダムソースからの信号を受信するよう構成されており、1又は複数の有限体演算を該信号に適用して出力を生成し、出力に基づく出力信号を出力チャネルを介して提供する。
本発明の別の様態は方法であり、一実施形態によると、該方法には、リングオシレータでイニシャルランダム信号を生成するステップが含まれる。イニシャルランダム信号は、複数の任意の入力信号から選択をするためのコントロール信号として用いられる。1又は複数の有限体演算が入力信号に対して実行される。この実施形態においては、1又は複数の有限体演算の結果が出力信号として提供される。
本発明の別の様態は集積回路デバイスであり、一実施形態によると、集積回路デバイスには、リングオシレータ、マルチプレクサ、有限体乗算部、有限体二乗部、及びアキュムレータが含まれる。マルチプレクサは、2つのデータ信号入力、コントロール信号入力、出力を備えている。コントロール信号入力は、リングオシレータの出力と通信可能に接続されている。有限体乗算部は、第1入力、第2入力、出力を備えている。有限体乗算部の第1入力は、マルチプレクサの出力と通信可能に接続されている。有限体二乗部は、入力及び出力を備えている。有限体二乗部の出力は、有限体乗算部の入力と通信可能に接続されている。アキュムレータは、入力及び出力を備えている。本実施形態では、アキュムレータの入力は有限体乗算部の出力と通信可能に接続されており、アキュムレータの出力は有限体二乗部の入力及び出力チャネルの双方と通信可能に接続されている。
本発明の概要は、以下の詳細な説明でさらに説明される概念をまとめたものを簡単な形で紹介するために設けられている。この概要は、請求項に記載の主題の重要な特徴または本質的な特徴を特定することを意図しておらず、また、請求項に記載の主題の範囲を限定することを意図するものでもない。請求項に記載の主題は、背景技術で記載された任意のまたは全ての問題点を解決する方法に限定されるものではない。
本発明の一実施形態に係る乱数発生器のコアモジュールの構造を示すブロック図である。 本発明の一実施形態に係る乱数を生成するための方法を説明するフロー図である。 本発明の一実施形態に係る乱数発生器のためのイニシャルランダムソースを示すブロック図である。
図1は、本発明の一実施形態に係る、有限体演算を用いて乱数を発生するよう構成された装置100を示すブロック図である。装置100は、例えば集積回路デバイスとして実現され、図示された種々の素子を1又は複数の集積回路チップに具えている。これらの素子は相互に通信可能に接続されており、種々の入出力を介して、1つの素子から別の素子への信号の伝送を可能にしている。この実施形態では、装置100にはイニシャルランダムソース10及び後処理ブロック20が含まれ、後処理ブロック20はイニシャルランダムソース10の出力Bによって、イニシャルランダムソース10から通信可能に接続されている。イニシャルランダムソース10は、例えば1又は複数のリングオシレータとして実現される。イニシャルランダムソースの一実施形態を、図2を参照して以下で説明する。
本実施形態による後処理ブロック20には、マルチプレクサ12、有限体乗算部14、有限体二乗部16、アキュムレータ18及び出力チャネル22が含まれている。有限体乗算部14及び有限体二乗部16は、後処理ブロック20内の構成要素であり、例えば、ガロア体演算(Galois field operation)としても知られる有限体演算を実行するよう構成されている。
マルチプレクサ12には、2つのデータ信号入力C1及びC2、イニシャルランダムソース10の出力Bと接続されているコントロール信号入力、及び、有限体乗算部14の第1入力13と接続されている出力が含まれる。これにより、後処理ブロック20はマルチプレクサ12からの出力信号BMを有限体乗算部14に通信する。有限対乗算部14は、マルチプレクサ12の出力に通信可能に接続されている第1入力13に加えて、第2入力15及びアキュムレータ18と通信可能に接続されている出力を有している。有限体乗算部14は、2つの入力13及び15を介して受信した2つの信号上で有限体乗算を実行し、結果として生じる出力信号を生成するよう構成されており、且つ、本実施形態においては、結果として生じる出力信号Zをアキュムレータ18に通信する。
アキュムレータ18は入力及び出力の両方を備えており、入力は有限体乗算部14の出力と接続されている。アキュムレータ18の出力に接続されるノードを介して、その出力が有限体二乗部16及び出力チャネル22の双方と接続される。有限体二乗部16は、入力に対する有限体二乗等の有限体二乗演算を実行するよう構成される。有限体二乗部16は、アキュムレータ18の出力と接続されている入力、及び、有限体乗算部の第2入力15と接続されている出力を備えている。これにより、有限体乗算部14、有限体二乗部16及びアキュムレータ18は、サイクリックループ(cyclic loop)を形成し、また一方で、アキュムレータ18は、出力チャネル22に出力信号を送出し、該出力チャネルから装置100による最終ランダム出力の反復(iteration)が発生される。出力チャネル22はまた、アキュムレータ18からの出力信号をそのまま送出するか、又は、一実施形態においては、出力信号の中央部等からビットのサブセットを選択するステップ等の追加的なエンド処理ステップを実行してから、ビットのサブセットを提供するか、を実行する。その結果、本実施形態の装置100において、最終ランダム出力信号は、暗号化強度が高くなり、反復が高速かつ小型パッケージで提供される。
有限体乗算部14の第1入力に提供される信号は、マルチプレクサ12への入力から選択されており、その入力がイニシャルランダムソース10によって選択コントロールされていることから、本実施形態において、該信号はイニシャルランダムソースに基づくことになる。有限体乗算部14の入力に提供される信号がイニシャルランダムソース10の出力に基づくようにする方法は、実施形態によって多様であり、イニシャルランダムソース10の出力を直接又は1又は複数の事前変換の後で受け取るステップによるものや、何らかの方法でイニシャルランダムソースの出力によってコントロールされる信号を受け取るステップによるもの等、多様な実施形態が存在する。
このように、後処理ブロック20は、イニシャルランダムソース10に基づく入力信号BMを受信するよう構成され、有限体乗算部14や有限体二乗部16等の構成要素を用いて入力信号BMに有限体演算を適用してランダム化された出力Zを生成し、ランダム化された出力Zを少なくとも部分的に基にして構成される出力信号Aを、出力チャネル22を介して提供するよう構成されている。出力信号Aは、有限体二乗部16にも供給されており、そこで有限体二乗が実行されて、A2=A*Aが出力として提供され、A2が有限体乗算部14の第2入力15へ提供される。これにより、Z(n+1)=BM*〔A(n)〕2に従って生成されたランダム化された出力Zのランダム化信号の各反復nについての、後処理ブロック20における組み合わせ有限体演算が生じることになる。
装置100の機能を、その構成要素のより詳細な説明に先立って、図2のフロー図200を参照しながら説明する。図2は、有限体演算を用いて乱数を生成するための方法200を説明するフロー図であり、この方法は図1の装置100によって実行される。方法200には、イニシャルランダム信号を生成するステップ201が含まれており、このステップは、装置100のイニシャルランダムソース10で実行される。方法200にはさらに、イニシャルランダム信号をコントロール信号として用いて複数の任意の入力信号から選択するステップ203が含まれており、これは装置100のマルチプレクサ12で実行される。複数の任意の入力信号は、図1のマルチプレクサ12への2つの入力で示されるような任意の2つの入力信号であるが、別の実施形態において、3又はそれ以上の任意の入力から選択するとしてもよい。方法200には、1又は複数の有限体演算を入力信号上で実行するためのステップ205も含まれ、装置100の例では、有限体乗算部14及び有限体二乗部16の少なくとも一方で実行される。さらに方法200には、1又は複数の有限体演算による結果の少なくとも一部に基づいた出力信号を提供するためのステップ207が含まれ、装置100においてはアキュムレータ18及び出力チャネル22の少なくとも一方で実行される。装置100では方法200のステップを実行するよう構成される特定のハードウェア素子が示されているが、方法200の別の実施形態を実行するために多種多様な別の形態も採用可能である。
図1においては、有限体乗算部14及び有限体二乗部16が後処理ブロック20の有限体演算素子の例として示されているが、別の実施形態では、後処理ブロックに含まれる有限体演算素子が1つのみであっても、図1で示されたように2つであっても、或はそれ以上の数であってもよい。このような有限体演算素子は、有限体加算、有限体乗算、有限体二乗、又は他の有限体演算等の有限体演算を実行するように構成される。有限体演算素子によって受信された信号及び生成された信号もまた、別の実施形態においては多種多様な構成(コンフィギュレーション)に変形される。図1の実施形態においては、有限体乗算部は有限体二乗部に入力を提供し、有限体二乗部は自身の出力を有限体乗算部の入力の1つとして提供するが、これは一例にすぎない。
例えば、他の構成では、1又は複数の有限体演算素子の出力を、有限体加算部への入力として用いること、又は、有限体乗算部、有限体二乗部や他のタイプの有限体演算部への入力として用いることも可能である。第3、第4、又はそれ以上の有限体演算素子が、図1において示される第1及び第2の有限体演算部と接続されて、第2演算部からの出力が第3演算部への入力として用いられ、第3演算部からの出力が第1演算部又は第4演算部の入力として用いられ、第4演算部の出力が第1演算部又は第5演算部への入力として用いられる等の構成が可能である。任意の上記の有限体演算素子は、有限体加算素子、有限体乗算素子、有限体二乗素子、又は他の任意のタイプの有限体演算素子である。これらの素子を用いることで、後処理ブロック20は、任意の多様な有限体演算を、イニシャルランダムソースに基づいた信号に対して適用できるような構成となる。任意の多種多様な構成を用いて有限体演算素子が相互に接続されることにより、多種多様な実施形態によって暗号化強度の高いランダム出力が生成できる。
有限体演算は、暗号化強度の高いランダム出力を生成するために非常に適している。有限体とは、有限個の元のみからなる体である。全ての有限体は、何らかの素数P及び何らかの正数n>0に対してPの要素(元数)を有するので、有限体はGF(P)で示される(「GF」は有限体と同義の用語であるガロア体を示す)。いくつかの実施形態では、P=2を用いることが実用的であるとされ、有限体はGF(2)と示される。この場合、GF(2)の要素はnビットのバイナリベクトルで表すことができる。
有限体演算は、有限体乗算部14、有限体二乗部16、有限体加算部(図1の実施形態には含まれない)、又は別タイプの有限体演算素子等のハードウェア素子に効果的に実現させることが可能である。実例として、有限体加算部は等価のバイナリベクトルに対するビット単位の加算を用いて実現される。別の実例として、有限体乗算部素子は、およそ7n2のNAND論理ゲートが含まれ、最大数のロジックレベルであるおよそ4log(n)を有する回路を用いて実現される。さらに別の例として、有限体二乗を実行する有限体二乗素子は、入力バイナリベクトルのサイクリックシフト(cyclic shift)を用いて実現される。これとは別の演算が別の有限体演算素子で実現されることもある。
例えば、一実施形態では、有限体演算素子は、nを16〜32の素数とする有限体GF(2)上で有限体演算を実行するよう構成される。その範囲には、17、19、23、29及び31の5つの素数が存在する。すなわち、有限体は各々、217、219、223、229、231という要素を有することになる。これらの有限体上で演算を実行するための有限体演算部は、およそ72のNAND論理ゲートで実現される。7に近い数のNAND論理ゲートで実現される別の有限体演算部が用いられることもあるが、許容されるレンジの有意な変形は、類似の値あるいは場合によってはさらに大きい値から、nが17、19、23、29、31のいずれかの場合の変分までである。さらに別の実施例では、有限体演算素子は別のタイプの論理ゲートでも、NANDゲート及び別のタイプの論理ゲートとの混合でも、論理ゲートではなく別の手段であってもよい。
図3は、イニシャルランダムソース310の一実施形態に関する追加的な説明であり、これは図1の装置100におけるイニシャルランダムソース10として用いられる。本実施形態において、イニシャルランダムソース310は、リングオシレータ301とオシレータコントローラ303を備えている。リングオシレータ301には直列接続されている複数のインバータ305が含まれる。図3では3つのインバータ305が示されているが、これは一例であって、リングオシレータ301は任意数のインバータを含むことができる。またリングオシレータ301には、例えばバッファ、OR論理ゲート、又はAND論理ゲート等、多種多様な別のタイプの直列接続された複数の素子一式が含まれていてもよい。
インバータ一式305は、マルチプレクサ307の一方の入力と接続されている。オシレータコントローラは、マルチプレクサ307のもう一方の入力となるデータ信号出力13及びマルチプレクサ307の制御設定になるコントロール信号出力311の両方を出力する。これにより、本実施形態において、マルチプレクサ307の出力309がイニシャルランダムソース310からのイニシャルランダム信号となる。オシレータコントローラ303はリングオシレータ301の状態をチェックし、イニシャルランダム信号が10〜20サイクル等の複数サイクルにおいてトグルしていなければ、オシレータコントローラ303は、出力311を介してコントロール信号を出力し、かつ出力313を介してデータ信号を出力して、リングオシレータ301に新規の値を設定する。この構造によって、リングオシレータ301は、既知の状態にリセットされる、すなわちオシレータが禁止される中間状態へ推移することを防止することができる。
図1の装置100とは異なる実施形態で用いられるイニシャルランダムソースには、リングオシレータ301等のリングオシレータ、もしくは2以上のリングオシレータが含まれる場合もあり、例えば複数のリングオシレータ及び/又は別のランダムソース発生器の演算を組み合わせることで、イニシャルランダムソースからの最終結果が抽出される。別の実施形態では、イニシャルランダムソースには擬似ランダムソースも含まれており、擬似ランダムソースは単独で含まれる場合もあれば、リングオシレータや別のランダム発生器素子と組み合わされていることもある。例えば、擬似ランダムソースには線形フィードバックシフトレジスタが含まれる場合もある。
また、イニシャルランダムソース及び後処理ブロックの組み合わせは、より大きな装置に対して少数の素子のみで構成することもできる。複数の乱数発生器が並行して、或は別の共同して稼動するコンフィギュレーションで処理をするよう構成される装置であって、1又は複数の乱数発生器の各々が図1の装置100で図示されたような構成要素の組又はそれに匹敵する別の乱数発生器コンフィギュレーションを備えるようにしてもよい。一実施形態では、2又はそれ以上の乱数発生器のサブシステムそれぞれからのランダム出力ビットの組を選択すること等によって、装置全体として、2又はそれ以上の並列乱数発生器からの各ランダム出力を基にした最終的なランダム出力を抽出する。別の装置には、後処理ブロック20と通信するよう接続されている追加的な素子がさらに含まれており、後処理ブロック20からの出力信号を受信し、且つ該出力信号に対して1又は複数の追加的な変換を実行するよう構成される。このようなメカニズムによって、多数の種類の実施形態において、乱数発生装置の最終的な出力信号の暗号化強度がさらに高められる。
本発明を1又は複数の実施形態を参照して説明したが、明細書又は特許請求の範囲から逸脱することなく形式及び詳細な説明に変更を加えることが可能であることは当業者には理解されるであろう。一例をあげると、特定の実施形態で説明された構成要素は、単独の集積回路チップに配置されても、2又はそれ以上の集積回路チップに分配されても、いくつか又は全ての素子が別のタイプの回路に分配された形でも提供され、コンピュータデバイス素子であってもよく、又別のハードウェア及びソフトウェアリソースであってもよいことが理解されるであろう。別の例をあげると、「例として」記述されている要素の任意の例は、本明細書に記載されたものとは異なるコンフィギュレーションを有する多様な実施形態のうちで可能な、ほんの一例に言及しているものであるが、本発明の請求項で規定される主題の範囲内にあることが当業者には理解されるであろう。さらに別の例を挙げると、上述された方法のステップは1又は複数の集積回路チップにおいて実行されてもよく、1又は複数又は全てのステップが別のタイプのハードウェアやソフトウェア素子で実行されてもよい。種々の実施形態における変形もまた、特許請求の範囲において規定される本発明の主題の範囲内である。

Claims (20)

  1. 乱数発生装置であって、
    イニシャルランダムソースと、
    イニシャルランダムソースと通信可能に接続された後処理ブロックであって、イニシャルランダムソースに基づいて入力信号を受信し、1又は複数の有限体演算を入力信号に適用してランダム化された出力を生成し、ランダム化された出力の少なくとも一部に基づいた出力信号を、出力チャネルを介して出力するよう構成される後処理ブロックと
    を備えていることを特徴とする乱数発生装置。
  2. 請求項1記載の乱数発生装置において、後処理ブロックで入力信号に適用される1又は複数の有限体演算は、有限体加算、有限体乗算及び有限体二乗からなるグループの中から選択された少なくとも1つの演算であることを特徴とする乱数発生装置。
  3. 請求項2記載の乱数発生装置において、後処理ブロックで入力信号に適用される1又は複数の有限体演算はさらに、有限体加算、有限体乗算及び有限体二乗からなるグループの中から選択された少なくとも1つの追加的な演算を含んでいることを特徴とする乱数発生装置。
  4. 請求項3記載の乱数発生装置において、後処理ブロックで入力信号に適用される1又は複数の有限体演算は、有限体乗算及び有限体二乗の両方を含んでいることを特徴とする乱数発生装置。
  5. 請求項1記載の乱数発生装置において、後処理ブロックで入力信号に適用される1又は複数の有限体演算は、nを整数として、素数のn乗であるガロア体上の有限体演算であることを特徴とする乱数発生装置。
  6. 請求項5記載の乱数発生装置において、後処理ブロックはさらに、nを17、19、23、29及び31からなるグループから選択するように構成されることを特徴とする乱数発生装置。
  7. 請求項5記載の乱数発生装置において、素数は2であることを特徴とする乱数発生装置。
  8. 請求項1記載の乱数発生装置において、後処理ブロックはさらに、ランダム化された出力からのビットのサブセットとして、出力信号を提供するよう構成されることを特徴とする乱数発生装置。
  9. 請求項1記載の乱数発生装置において、イニシャルランダムソースはリングオシレータを備えていることを特徴とする乱数発生装置。
  10. 請求項9記載の乱数発生装置において、リングオシレータは複数の直列接続された素子を備え、該素子は、インバータ、バッファ、OR論理ゲート及びAND論理ゲートからなるグループから選択された少なくとも1タイプの素子であることを特徴とする乱数発生装置。
  11. 請求項9記載の乱数発生装置において、イニシャルランダムソースは複数のリングオシレータを備えていることを特徴とする乱数発生装置。
  12. 請求項1記載の乱数発生装置において、イニシャルランダムソースは擬似ランダムソースを備えていることを特徴とする乱数発生装置。
  13. 請求項12記載の乱数発生装置において、擬似ランダムソースは線形フィードバックシフトレジスタであることを特徴とする乱数発生装置。
  14. 請求項1記載の乱数発生装置において、イニシャルランダムソース及び後処理ブロックが第1乱数発生器に備えられており、乱数発生装置はさらに、第1乱数発生器と並行して動作する1又は複数の追加の乱数発生器を具え、出力信号が第1乱数発生器及び1又は複数の追加の乱数発生器の各々からのランダムビットであることを特徴とする乱数発生装置。
  15. 請求項1記載の乱数発生装置において、該装置はさらに、後処理ブロックと通信可能に接続される1又は複数の追加的な素子を具え、該素子は、後処理ブロックからの出力信号を受信し、出力信号に対して1又は複数の追加的な変換を実行するよう構成されることを特徴とする乱数発生装置。
  16. 乱数発生方法であって、
    イニシャルランダム信号を生成するステップと、
    イニシャルランダム信号をコントロール信号として用いて、複数の任意の入力信号から選択をするステップと、
    入力信号に1又は複数の有限体演算を実行するステップと、
    1又は複数の有限体演算の結果に少なくとも部分的に基づいている出力信号を提供するステップと
    からなることを特徴とする乱数発生方法。
  17. 請求項16記載の方法において、有限体演算は、有限体加算、有限体乗算及び有限体二乗からなるグループの中から選択された少なくとも1つの演算であることを特徴とする乱数発生方法。
  18. 集積回路デバイスであって、
    リングオシレータと、
    2つのデータ入力信号、コントロール信号入力、及び出力を具えるマルチプレクサであって、コントロール信号入力がリングオシレータの出力と通信可能に接続されるマルチプレクサと、
    第1及び第2入力並びに出力を備えている有限体乗算部であって、有限体乗算部の第1入力がマルチプレクサの出力と通信可能に接続される有限体乗算部と、
    入力及び出力を備えている有限体二乗部であって、有限体二乗部の出力が有限体乗算部の第2入力と通信可能に接続される有限体二乗部と、
    入力及び出力を備えているアキュムレータであって、アキュムレータの入力が有限体乗算部の出力と通信可能に接続されており、アキュムレータの出力が、有限体二乗部の入力及び出力チャネルの両方に通信可能に接続されるアキュムレータと
    を備えていることを特徴とする集積回路デバイス。
  19. 請求項18記載の集積回路デバイスにおいて、有限体乗算部は2のn乗の有限体上で乗算をするよう構成され、有限体乗算部は7n2のNAND論理ゲートを備えていることを特徴とする集積回路デバイス。
  20. 請求項18記載の集積回路デバイスにおいて、有限体二乗部は入力バイナリベクトルのサイクリックシフトを実行するよう構成されることを特徴とする集積回路デバイス。
JP2010513196A 2007-06-22 2008-06-12 有限体演算を用いる暗号学的乱数発生器 Expired - Fee Related JP5165755B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/821,212 US8250129B2 (en) 2007-06-22 2007-06-22 Cryptographic random number generator using finite field operations
US11/821,212 2007-06-22
PCT/US2008/007346 WO2009002404A1 (en) 2007-06-22 2008-06-12 Cryptographic random number generator using finite field operations

Publications (3)

Publication Number Publication Date
JP2010531018A true JP2010531018A (ja) 2010-09-16
JP2010531018A5 JP2010531018A5 (ja) 2012-10-25
JP5165755B2 JP5165755B2 (ja) 2013-03-21

Family

ID=40137619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010513196A Expired - Fee Related JP5165755B2 (ja) 2007-06-22 2008-06-12 有限体演算を用いる暗号学的乱数発生器

Country Status (7)

Country Link
US (2) US8250129B2 (ja)
JP (1) JP5165755B2 (ja)
KR (1) KR101332232B1 (ja)
CN (1) CN101772915B (ja)
DE (1) DE112008001707T5 (ja)
GB (1) GB2464037B (ja)
WO (1) WO2009002404A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744073B2 (en) * 2008-03-04 2014-06-03 Sandisk Il Ltd. Digital random number generator based on digitally-controlled oscillators
US8390311B2 (en) 2011-02-08 2013-03-05 Iucf-Hyu (Industry-University Cooperation Foundation Hanvang University) Apparatus for clocked power logic against power analysis attack
CN104636115B (zh) * 2013-11-14 2017-12-15 国家电网公司 一种真随机数后处理装置及方法
CN106096695A (zh) * 2016-06-07 2016-11-09 无锡键桥电子科技有限公司 一种用于无源标签芯片的随机数发生器
KR102652735B1 (ko) 2016-11-24 2024-04-02 삼성전자주식회사 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법
US10776480B2 (en) 2018-04-02 2020-09-15 International Business Machines Corporation Producing volatile password hashing algorithm salts from hardware random number generators
CN111596892B (zh) * 2020-05-11 2023-06-23 南京西觉硕信息科技有限公司 一种软随机数发生方法及发生器
CN113206735A (zh) * 2020-12-23 2021-08-03 杭州起盈科技有限公司 一种采用32位lfsr生成流密码的存储器及读取方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006077651A1 (ja) * 2005-01-24 2006-07-27 Fujitsu Limited 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890252A (en) * 1987-10-29 1989-12-26 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Long period pseudo random number sequence generator
JPH0250512A (ja) * 1988-08-10 1990-02-20 Clarion Co Ltd 疑似ランダム雑音符号発生装置
EP0529512A3 (en) * 1991-08-23 1993-06-16 Fujitsu Limited Method and system for generating random number sequences
US5706218A (en) 1996-05-15 1998-01-06 Intel Corporation Random number generator
US5910907A (en) * 1997-02-20 1999-06-08 C.K. Chen Shift register based pseudorandom number generator
US6285761B1 (en) * 1998-03-04 2001-09-04 Lucent Technologies, Inc. Method for generating pseudo-random numbers
US6452959B1 (en) * 1999-05-28 2002-09-17 Dot Wireless, Inc. Method of and apparatus for generating data sequences for use in communications
US6480072B1 (en) * 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
US7072927B1 (en) * 2001-08-08 2006-07-04 Stephen Clark Purcell Method and apparatus for generating random numbers for use in a field programmable gate array
JP3525146B2 (ja) * 2001-11-05 2004-05-10 独立行政法人 科学技術振興機構 乱数列出力装置、乱数列出力方法、プログラムならびに、情報記録媒体
US7512645B2 (en) * 2004-03-19 2009-03-31 Texas Instruments Incorporated System and method for generating pseudorandom numbers
DE602004029619D1 (de) 2004-08-09 2010-11-25 Telecom Italia Spa Verfahren und vorrichtung zum erzeugen von zufallsdaten
US20060224647A1 (en) * 2005-03-30 2006-10-05 Impinj, Inc. RFID tag using updatable seed values for generating a random number
US7233212B2 (en) * 2005-03-31 2007-06-19 International Business Machines Corporation Oscillator array with row and column control
US8073631B2 (en) * 2005-07-22 2011-12-06 Psigenics Corporation Device and method for responding to influences of mind
CN1920841A (zh) * 2006-08-21 2007-02-28 北京工业大学 基于有限域GF(2m)的圆锥曲线公钥加密方法和装置
US20080263117A1 (en) * 2007-04-23 2008-10-23 Gregory Gordon Rose Initial seed management for pseudorandom number generator
US7995757B2 (en) 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006077651A1 (ja) * 2005-01-24 2006-07-27 Fujitsu Limited 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置

Also Published As

Publication number Publication date
DE112008001707T5 (de) 2010-09-16
US20120278372A1 (en) 2012-11-01
CN101772915A (zh) 2010-07-07
KR101332232B1 (ko) 2013-11-25
GB2464037B (en) 2012-12-05
GB2464037A (en) 2010-04-07
US8250129B2 (en) 2012-08-21
JP5165755B2 (ja) 2013-03-21
CN101772915B (zh) 2013-05-08
KR20100053507A (ko) 2010-05-20
GB201001005D0 (en) 2010-03-10
WO2009002404A1 (en) 2008-12-31
US20080320066A1 (en) 2008-12-25

Similar Documents

Publication Publication Date Title
JP5165755B2 (ja) 有限体演算を用いる暗号学的乱数発生器
US8130950B2 (en) Configurable random number generator
US8744073B2 (en) Digital random number generator based on digitally-controlled oscillators
Panda et al. Modified dual-CLCG method and its VLSI architecture for pseudorandom bit generation
US9575726B2 (en) Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines
US20050097153A1 (en) Pseudorandom number generator
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
JP2010531018A5 (ja)
KR101389483B1 (ko) 의사난수 스트링을 생성하기 위한 방법 및 장치
US20050120065A1 (en) Pseudorandom number generator for a stream cipher
Anandakumar et al. Efficient and lightweight FPGA-based hybrid PUFs with improved performance
Reddy et al. BHARKS: Built-in hardware authentication using random key sequence
Hobincu et al. FPGA implementation of a chaos based PRNG targetting secret communication
Gupta et al. Coupled variable‐input LCG and clock divider‐based large period pseudo‐random bit generator on FPGA
Paul et al. Efficient PRNG design and implementation for various high throughput cryptographic and low power security applications
Jamal et al. Analysis of test sequence generators for built-in self-test implementation
Erkek et al. The implementation of asg and sg random number generators
CN113268745A (zh) 基于Camellia加密算法的软PUF
Bakiri et al. FPGA Implementation of $\mathbb {F} _2 $-Linear Pseudorandom Number Generators Based on Zynq MPSoC: a Chaotic Iterations Post Processing Case Study
Deshpande et al. Analysis and inner-round pipelined implementation of selected parallelizable CAESAR competition candidates
Gupta et al. Hardware Efficient Hybrid Pseudo-Random Bit Generator Using Coupled-LCG and Multistage LFSR with Clock Gating Network
Sekhar et al. An Efficient Pseudo Random Number Generator for Cryptographic Applications
EP4002748A1 (en) An apparatus
Prasad et al. Survey of Various Techniques for Voice Encryption
Dionísio et al. Real Time Random Number GeneratorTesting

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120604

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121219

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

LAPS Cancellation because of no payment of annual fees