JP4470135B2 - 擬似乱数生成システム - Google Patents
擬似乱数生成システム Download PDFInfo
- Publication number
- JP4470135B2 JP4470135B2 JP2001008527A JP2001008527A JP4470135B2 JP 4470135 B2 JP4470135 B2 JP 4470135B2 JP 2001008527 A JP2001008527 A JP 2001008527A JP 2001008527 A JP2001008527 A JP 2001008527A JP 4470135 B2 JP4470135 B2 JP 4470135B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- random number
- pseudo
- encryption
- generation system
- 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
Links
Images
Description
【発明の属する技術分野】
本発明は、情報セキュリティの分野において、暗号通信やデジタル署名等で利用される擬似乱数を生成する擬似乱数生成システム及び方法に関する。
【0002】
【従来の技術】
従来より、伝送情報を関係者以外の第三者に知られないようにするため、伝送情報を暗号化する暗号化技術や、伝送情報が改ざん、偽造されないことを保証するためにデジタル署名技術が用いられている。また、例えば端末装置からホスト装置にアクセスするユーザの正当性を確認可能とするために、個々のユーザに認証パスワードを割り当てておき、アクセス時にその認証パスワードの入力を要求することが一般的に行われている。これら暗号化技術に使用される暗号鍵、デジタル署名技術に使用される乱数及び認証パスワードは、一般に擬似乱数から生成されることが多い。
【0003】
この擬似乱数には、次のような性質が要求される。
(1)生成される擬似乱数の分布に偏りが少ない。
(2)生成される擬似乱数の周期が大きい。
(3)生成された擬似乱数から次に生成される擬似乱数を推定することが困難である。
【0004】
擬似乱数の生成方法として、ブロック暗号方式を用いた方法がある。ブロック暗号方式は、共通鍵暗号方式の1つであり、平文を固定長のブロックに分解し、ブロック単位で暗号化を行う方式である。代表的なブロック暗号方式としては、例えば、DES(Data Encryption Standard)が知られている。
【0005】
図4に、ブロック暗号方式を用いた代表的な擬似乱数生成方法であるOFB(Output FeedBack)モードを用いた擬似乱数生成システムを示す。同図に示す擬似乱数生成システム400は、nビットの平文をnビットの暗号文に変換するブロック暗号化関数fを用いており、N個のnビットの擬似乱数を生成する。
【0006】
ここで、暗号鍵をK、nビットの擬似乱数のシードをSとすると、nビットの第1の擬似乱数z1は、nビットのシードSを暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部400−1は、nビットのシードSと暗号鍵Kを入力し、nビットの第1の擬似乱数z1を出力する。
【0007】
また、nビットの第2の擬似乱数z2は、nビットの第1の擬似乱数z1を暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部400−2は、nビットの第1の擬似乱数z1と暗号鍵Kを入力し、nビットの第2の擬似乱数z2を出力する。
【0008】
同様に、nビットの第i(3≦i≦N)の擬似乱数ziは、nビットの第i−1の擬似乱数zi-1を暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部400−iは、nビットの第i−1の擬似乱数zi-1と暗号鍵Kを入力し、nビットの第iの擬似乱数ziを出力する。
【0009】
一方、図5に、ブロック暗号方式を用いた他の擬似乱数生成方法であるカウンタモードを用いた擬似乱数生成システムを示す。同図に示す擬似乱数生成システム500は、図4に示した擬似乱数生成システム400と同様にnビットの平文をnビットの暗号文に変換するブロック暗号化関数fを用いており、N個のnビットの擬似乱数を生成する。
【0010】
ここで、暗号鍵をK、nビットの擬似乱数のシードをSとすると、nビットの第1の擬似乱数z1は、nビットのシードSを暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部500−1は、nビットのシードSと暗号鍵Kを入力し、nビットの第1の擬似乱数z1を出力する。
【0011】
また、nビットの第2の擬似乱数z2は、シードSを2進表現された非負の整数とみなし、このシードSに1を加えた値S+1を暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部500−2は、シードSに1を加えた値S+1と暗号鍵Kを入力し、nビットの第2の擬似乱数z2を出力する。但し、S+1が2のn乗になった場合には0とする。
【0012】
同様に、nビットの第i(3≦i≦N)の擬似乱数ziは、シードSを2進表現された非負の整数とみなし、このシードSにi−1を加えた値S+i−1を暗号鍵Kによって暗号化することにより生成される。すなわち、ブロック暗号化部500−iは、シードSにi−1を加えた値S+i−1と暗号鍵Kを入力し、nビットの第iの擬似乱数ziを出力する。但し、S+i−1が2のn乗以上になった場合にはS+i−1を2のn乗で割った余りとして置き換えられる。
【0013】
【発明が解決しようとする課題】
しかしながら、これらの擬似乱数生成方法では、上記3つの性質を満足する擬似乱数を生成することは容易ではない。すなわち、OFBモードを用いた擬似乱数生成方法では、生成される擬似乱数の周期が暗号鍵Kによって変化し、擬似乱数の周期が大きくなることを保証できず、分布に偏りが生じることがある。
【0014】
また、カウンタモードを用いた擬似乱数生成方法では、周期は常に2のn乗となるが、nが十分な大きさでない場合には、擬似乱数の周期が大きくならない。さらに、一度生成された擬似乱数が2のn乗の周期の間は、再び出現しないという性質があるため、生成される擬似乱数が増加するにつれて、次に生成される擬似乱数が限定されることになり、次に生成される擬似乱数を推定する手がかりを与えてしまうという問題があった。
【0015】
本発明は、上記従来の問題点を解決するものであり、その目的は、次に生成される擬似乱数を推定することが困難であり、且つ周期が大きく、分布に偏りの少ない擬似乱数生成システム及び方法を提供することにある。
【0016】
【課題を解決するための手段】
上記目的を達成するため、本発明の擬似乱数生成システムは、原始既約多項式を特性多項式とし、クロック入力に同期して前記原始既約多項式に応じたL個のレジスタ値を出力するレジスタ値出力手段と、前記L個のレジスタ値を線形結合し、互いに線形独立なLより小なるnビットの線形結合ベクトル値を出力する線形変換手段と、前記生成されたnビットの線形結合ベクトル値を入力し、nビットのバイナリベクトル全単射写像を出力するバイナリベクトル全単射写像生成手段とを備える。
【0017】
また、本発明の擬似乱数生成システムは、更に、暗号鍵を保持する暗号鍵保持手段を備えると共に、該暗号鍵保持手段より供給される暗号鍵を用いて前記nビットの線形結合ベクトル値を暗号化して前記nビットのバイナリベクトル全単射写像を得る暗号化手段を前記バイナリベクトル全単射写像生成手段として用いたことを特徴とするものである。
【0018】
前記暗号化手段は、共通鍵暗号アルゴリズムであるDESを暗号方式として用いたものであることを特徴とするものである。
【0019】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。図1に本発明に係る擬似乱数生成システムの概略構成の一例を示す。同図に示す擬似乱数生成システム100は、L段の線形フィードバックシフトレジスタ(LFSR)102、線形変換部104、全単射写像生成部106を備えて構成される。以下、便宜上ベクトル列を整数値とみなせるものとして説明する。例えばnビットの0の連を”0”、nビットの1の連を”2n−1”のように表す。
【0020】
L段の線形フィードバックシフトレジスタ102は、原始既約多項式を特性多項式としており、L個のレジスタ値の全てを0に設定しない限り、外部からのクロック入力に同期して、その状態を遷移させることにより、L個のレジスタ値(Lビットのビット列)を出力する。
【0021】
L個のレジスタ値は、特性多項式が原始既約多項式であるから、周期が2L−1であり、その周期において、1から2L−1の状態を1回ずつとる。
【0022】
線形変換部104は、線形フィードバックレジスタ102からのL個のレジスタ値を線形結合することにより、互いに線形独立なLより小なるnビットの線形結合ベクトル値(ビット列)を出力する。
【0023】
上述の通り、線形フィードバックレジスタ102が出力するL個のレジスタ値は、周期が2L−1であり、その周期において、1から2L−1の状態を1回ずつとるから、線形変換部104が出力するnビットの線形結合ベクトル値は、周期が2L−1であり、その周期において、0となる場合を2L-n−1回、0以外の1から2n−1となる場合を2L-n回とる。
【0024】
全単射写像生成部106は、線形変換部104からのnビットの線形結合ベクトル値を入力し、nビットのバイナリベクトル全単射写像fを擬似乱数として出力する。ここで、nビットの線形結合ベクトル値gと、nビットのバイナリベクトル全単射写像fは、f1 ≠f2であるならばg1 ≠g2となる関係がある。すなわち、バイナリベクトル全単射写像fが異なっていれば、元の線形結合ベクトル値gも異なる値になるという関係がある。また、システム内部において、バイナリベクトル全単射写像fを導出することは容易であるが、システム外部において、バイナリベクトル全単射写像fから元の線形結合ベクトル値gを導出することが困難であるという性質を有する。
【0025】
また、バイナリベクトル全単射写像fは全単射写像であるから、周期は入力される線形結合ベクトル値の周期2L−1に一致し、その1周期において、ある特定値をとる場合が2L-n−1回、それ以外の値となる場合が2L-n回となる。
【0026】
従って、Lを大きくすることにより、擬似乱数の周期を大きくすることができるとともに、その分布の偏りをなくすことができる。また、バイナリベクトル全単射写像fは、システム外部において、バイナリベクトル全単射写像fから元の線形結合ベクトル値を導出することが困難であるという性質を有するから、システム外部において、擬似乱数であるバイナリベクトル全単射写像fから次に生成される擬似乱数を推定することは困難である。
【0027】
図2に本発明に係る擬似乱数生成システムの詳細構成の一例を示す。同図に示す擬似乱数生成システム200は、図1に示した概略構成をより具体化したものであり、127段の線形フィードバックシフトレジスタ(LFSR)202、ビット抽出部204、暗号化部206を備える。
【0028】
ここで、L段の線形フィードバックシフトレジスタは、例えば図3に示すように、L−1個の論理積素子302−1〜302−L−1、L−1個の排他的論理和素子304−1〜304−L−1、L個のDフリップフロップ306−1〜306−Lを備えて構成される。
【0029】
入力端子c1〜cL-1はバイナリ固定値を設定するためのものである。出力端子x1〜xLはDフリップフロップ306−1〜306−Lの値が出力される。本回路においては、L個のDフリップフロップ306−1〜306−Lの初期値として少なくとも1つを1に設定している場合に、クロック端子308にクロックが入力される毎に、その状態を遷移させる。この際、各Dフリップフロップ306−1〜306−Lの値が再び初期値に戻るまでに要したクロック数を周期と呼ぶ。この周期は、入力端子c1〜cLに設定される値を変えることにより変化させることができる。特に、下記のGF(2)上の特性方程式
C(x)=C0+C1x+C2x2+・・・・CL-1xL-1+CLxL,(c0=1)
がGF(2)上既約且つ原始的であるとき、その周期は2L−1であり最大になることが知られている。また、2L−1が素数である場合には、上記特性方程式がGF(2)上既約且つ原始的であれば必ず原始的となり、その周期は2L−1であり最大になる。
【0030】
再び図2に戻って説明する。線形フィードバックシフトレジスタ202から出力される127ビットのビット列は、ビット抽出部204に入力される。ビット抽出部204は、図1に示した線形変換部104に対応するものであり、入力される127ビットのビット列から64ビットを抽出する。この64ビットのビット列は、線形フィードバックシフトレジスタ202の出力の線形結合の一例であり、互いに線形独立になっている。
【0031】
暗号化部206は、図1に示した全単射写像生成部106に対応するものであり、共通鍵暗号アルゴリズムであるDESにより、入力される64ビットのビット列を暗号化する。具体的には、暗号化部206は、56ビットの暗号鍵を用いて、入力される64ビットのビット列を暗号化し、64ビットの擬似乱数を出力する。共通鍵暗号アルゴリズムであるDESを用いることにより、復号の一意性が保証され、また、暗号鍵を知ることなく、暗号化後のデータから暗号化される前のデータを復元することは困難になる。したがって、この暗号化部206は、鍵をシステム内に秘密裏に保持しておけば、システム内部において入力から出力を生成するのは容易で、システム外部において出力から入力を復元するのが困難であるバイナリベクトル全単射写像fを実現するものであるといえる。
【0032】
このように、擬似乱数生成システム200では、線形フィードバックシフトレジスタ202にクロックが入力される毎に該線形フィードバックシフトレジスタ202から127ビットのビット列が出力され、ビット抽出部204により、この127ビットのビット列から64ビットが抽出され、暗号化部206により、64ビットのビット列が暗号化されることにより、64ビットの擬似乱数が生成されることになる。
【0033】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は前記実施形態に示した事項に限定されず、特許請求の範囲の記載に基づいてその変更、改良等が可能であることは明らかである。
【0034】
【発明の効果】
以上の如く本発明によれば、次に生成される擬似乱数を推定することが困難であり、且つ周期が大きく、分布に偏りの少ない擬似乱数を生成することが可能となる。
【図面の簡単な説明】
【図1】本発明に係る擬似乱数生成システムの概略構成の一例を示す図である。
【図2】本発明に係る擬似乱数生成システムの詳細構成の一例を示す図である。
【図3】線形フィードバックシフトレジスタの構成の一例を示す図である。
【図4】ブロック暗号のOFBモードを用いた擬似乱数生成システムの構成の一例を示す図である。
【図5】ブロック暗号のカウンタモードを用いた擬似乱数生成システムのこう製の一例を示す図である。
【符号の説明】
100 擬似乱数生成システム
102 線形フィードバックシフトレジスタ
104 線形変換部
106 全単射写像生成部
200 擬似乱数生成システム
202 線形フィードバックシフトレジスタ
204 ビット抽出部
206 暗号化部
302−1〜302−L−1 論理積素子
304−1〜304−L−1 排他的論理和素子
306−1〜306−L Dフリップフロップ
Claims (3)
- 原始既約多項式を特性多項式とし、クロック入力に同期して前記原始既約多項式に応じたL個のレジスタ値を出力するレジスタ値出力手段と、前記L個のレジスタ値を線形結合し、互いに線形独立なLより小なるnビットの線形結合ベクトル値を出力する線形変換手段と、前記生成されたnビットの線形結合ベクトル値を入力し、nビットのバイナリベクトル全単射写像を出力するバイナリベクトル全単射写像生成手段と、を備えることを特徴とする擬似乱数生成システム。
- 更に、暗号鍵を保持する暗号鍵保持手段を備えると共に、該暗号鍵保持手段より供給される暗号鍵を用いて前記nビットの線形結合ベクトル値を暗号化して前記nビットのバイナリベクトル全単射写像を得る暗号化手段を前記バイナリベクトル全単射写像生成手段として用いたことにより、前記バイナリベクトル全単射写像は、システム内部において入力から出力を生成することが容易で、且つ、システム外部において出力から入力を復元することが困難であることを特徴とする請求項1に記載の擬似乱数生成システム。
- 前記暗号化手段は、共通鍵暗号アルゴリズムであるDESを暗号方式として用いたものであることを特徴とする請求項2に記載の擬似乱数生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001008527A JP4470135B2 (ja) | 2001-01-17 | 2001-01-17 | 擬似乱数生成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001008527A JP4470135B2 (ja) | 2001-01-17 | 2001-01-17 | 擬似乱数生成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002217898A JP2002217898A (ja) | 2002-08-02 |
JP4470135B2 true JP4470135B2 (ja) | 2010-06-02 |
Family
ID=18876139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001008527A Expired - Fee Related JP4470135B2 (ja) | 2001-01-17 | 2001-01-17 | 擬似乱数生成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4470135B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733350A (zh) * | 2017-04-13 | 2018-11-02 | 力旺电子股份有限公司 | 随机数生成装置及其控制方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4640663B2 (ja) * | 2000-06-30 | 2011-03-02 | ネッツエスアイ東洋株式会社 | 秘密情報生成装置及び方法 |
JP2007264147A (ja) * | 2006-03-27 | 2007-10-11 | Fukuoka Institute Of Technology | 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム |
JP2009258683A (ja) * | 2008-03-20 | 2009-11-05 | Semiconductor Energy Lab Co Ltd | 発番方法、発番装置及びレーザ直描装置 |
US8050404B2 (en) * | 2008-12-29 | 2011-11-01 | Nortel Networks Limited | Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel |
DE102011103134A1 (de) * | 2011-05-25 | 2012-11-29 | Beloxx Newtec Gmbh | Verfahren zum Erzeugen eines aktuell gültigen, einmaligen Freigabecodes für ein elektronisches Schloss |
JP6366595B2 (ja) * | 2012-11-12 | 2018-08-01 | クリプトグラフィ リサーチ, インコーポレイテッド | 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム |
JP6208442B2 (ja) * | 2013-03-08 | 2017-10-04 | 株式会社メガチップス | 暗号処理装置 |
BR112017013588A2 (pt) * | 2014-12-24 | 2018-03-06 | Koninklijke Philips Nv | sistema para processamento criptográfico, dois sistemas, unidade de etapa para processamento criptográfico, método de processamento criptográfico, e produto de programa de computador |
-
2001
- 2001-01-17 JP JP2001008527A patent/JP4470135B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733350A (zh) * | 2017-04-13 | 2018-11-02 | 力旺电子股份有限公司 | 随机数生成装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2002217898A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677237B (zh) | 一种具有似混沌特性的文件加密方法 | |
AU702766B2 (en) | A non-deterministic public key encryption system | |
US10320554B1 (en) | Differential power analysis resistant encryption and decryption functions | |
JP4828068B2 (ja) | コンピュータで効率的な線形フィードバック・シフト・レジスタ | |
US5623548A (en) | Transformation pattern generating device and encryption function device | |
EP2148462A1 (en) | A differential side-channel analysis countermeasure | |
JPH08505275A (ja) | 暗号ストリームを発生させるための装置及び方法 | |
US20040096056A1 (en) | Method of encryption using multi-key process to create a variable-length key | |
Lamba | Design and analysis of stream cipher for network security | |
JP4470135B2 (ja) | 擬似乱数生成システム | |
US20040120521A1 (en) | Method and system for data encryption and decryption | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
Kanso | Clock-controlled generators | |
JP2000209195A (ja) | 暗号通信システム | |
US20040096059A1 (en) | Encryption apparatus with parallel Data Encryption Standard (DES) structure | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
JPH1117673A (ja) | 共通鍵暗号通信方法及びその通信ネットワーク | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
KR101076747B1 (ko) | 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치 | |
EP1232603B1 (en) | Methods and apparatus for keystream generation | |
CN112311527A (zh) | 一种主密钥变换为多项式表格子密钥查表的加密方法 | |
JP2001509608A (ja) | デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法 | |
JP4640663B2 (ja) | 秘密情報生成装置及び方法 | |
RU2140714C1 (ru) | Способ итеративного шифрования блоков данных | |
RU2199826C2 (ru) | Способ итеративного шифрования блоков цифровых данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20071120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20071221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090825 |
|
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: 20100209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 3 |
|
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: 20130312 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140312 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |