JP4709685B2 - 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 - Google Patents
擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 Download PDFInfo
- Publication number
- JP4709685B2 JP4709685B2 JP2006116557A JP2006116557A JP4709685B2 JP 4709685 B2 JP4709685 B2 JP 4709685B2 JP 2006116557 A JP2006116557 A JP 2006116557A JP 2006116557 A JP2006116557 A JP 2006116557A JP 4709685 B2 JP4709685 B2 JP 4709685B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- address
- pseudo
- remainder
- given
- 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.)
- Active
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
Xn=(aXn−1+b) mod m (1)
初期値として与えられるX0は、例えば送信側および受信側で共有される共通鍵により与えられる。全状態数がmであるので、最大周期(最長周期)はmとなる。この擬似乱数生成方法は、生成アルゴリズムが単純であり、高速に乱数を生成可能であるとともに、統計的にもよい振る舞いを示すことが知られている。
Im=I mod 10 (2)
すなわち、循環順序番号Imは、順序番号Iを10で除した剰余として与えられ、周期10で循環する。順序番号Iを除する数値10は、レジスタ2を構成する記憶要素の数と同数である。これにより、擬似乱数生成器1から出力される1次乱数R1および循環順序番号Imにより、レジスタ2を構成するすべての記憶要素のアドレスを選定することが可能となる。
図2は、この発明の実施の形態1による擬似乱数生成装置の構成の一例を示す図である。ここでは、コンピュータで扱い易い1バイト(8ビット)の乱数を出力する擬似乱数生成装置について説明する。8ビットで与えられる乱数は、256種類の異なる乱数パターンを有する。図2において、11は例えば線形合同生成器や線形フィードバックシフトレジスタ等として与えられ比較的周期の短い1次乱数(第1の乱数)R1を生成する擬似乱数生成器(擬似乱数生成手段)、12は2次乱数(第2の乱数)R2の乱数パターンの種類数と同数の記憶要素から構成されてそれぞれの記憶要素には異なる乱数パターンが記憶されるレジスタ(配列)、13は選定された第1のアドレスおよび第2のアドレスにより特定されるレジスタ12内の2つの記憶要素を対象としてレジスタ12を撹拌するとともに選定された第3のアドレスにより特定されるレジスタ12内の記憶要素に記憶される数値を2次乱数R2として出力する制御部(制御手段)である。
Ri+1=(3*Ri+1) mod 256 (3)
生成された乱数Riを3倍して1を加えた数値を256で除した剰余を、新たに生成される乱数Ri+1とする。式(3)に基づいて乱数を生成する線形合同生成器は、初期値R0=0として乱数を生成すると、周期128の乱数系列を出力する。すなわち、この線形合同生成器は、8ビットで表される乱数の256種類の乱数パターンのなかで、半分の128種類の乱数パターンを出力する。
Im=I mod 256 (4)
256は2次乱数の乱数パターンの種類数を表すものである。これにより、Imは0〜255の数値範囲の数値を順番に与えるので、循環順序番号Imまたは循環順序番号Imを基にした演算値により、レジスタ12内の記憶要素のアドレスを均等に選定することが可能になる。
Ri+1=3*Ri mod 256 (5)
この線形合同生成器を用いても、乱数生成テストを実行した。式(5)に基づいて1次乱数を生成する線形合同生成器は、周期64の乱数系列を出力する。この線形合同生成器を擬似乱数生成器11として採用した擬似乱数生成装置から出力される2次乱数は、65,536の周期を有することが判明した。1次乱数の周期が64であるから、2次乱数は1次乱数の1,024倍(65,536/64)の周期を有することになる。
R1’={R1−mod(R1,2)}/2 (6)
この変換により得られる乱数R1’は、0から255の数値範囲の数値をとるから、この乱数R1’を用いてレジスタ12内の記憶要素のアドレスを選定する。
図4は、この発明の実施の形態2による擬似乱数生成装置の構成の一例を示す図である。図4において、21は例えば線形合同生成器や線形フィードバックシフトレジスタ等として与えられ比較的周期の短い1次乱数R1(第1の乱数)を生成する擬似乱数生成器(第1の擬似乱数生成手段)、22は例えば線形合同生成器や線形フィードバックシフトレジスタ等として与えられ比較的周期の短い撹拌用乱数RS(第3の乱数)を生成する擬似乱数生成器(第2の擬似乱数制御手段)、23は2次乱数R2(第2の乱数)の乱数パターンの種類数と同数の記憶要素から構成されてそれぞれの記憶要素には異なる乱数パターンが記憶されるレジスタ(配列)、24は選定された第1のアドレスおよび第2のアドレスにより特定されるレジスタ23内の2つの記憶要素を対象としてレジスタ23を撹拌するとともに選定された第3のアドレスにより特定されるレジスタ23内の記憶要素に記憶される数値を2次乱数R2として出力する制御部(制御手段)である。
Ri+1=(5*Ri+1)mod 256 (7)
さらに、レジスタ23として、0〜255の数値範囲のアドレスを有する256個の記憶要素から構成されて、それぞれの記憶要素が8ビットの記憶容量を有するレジスタを採用する。
図6は、本願発明に係る擬似乱数生成装置を適用した暗号システムの構成の一例を示す図である。図6において、31,32は本願発明に係る擬似乱数生成装置、33,34は論理演算処理装置、35は通信路である。擬似乱数生成装置31と擬似乱数生成装置32とは、同一に構成されるか、あるいは同一の論理構造を有するように構成される。論理演算処理装置33と論理演算処理装置34とは、同一に構成されるか、同一の論理構造を有するように構成される。論理演算処理装置33,34は、一般的には排他的論理和演算を実行する演算回路として与えられる。この暗号システムにおいて、擬似乱数生成装置31,32から出力される乱数系列は、ストリーム暗号を生成するためのキーストリームとして使用される。
Claims (10)
- 第1の乱数を生成する擬似乱数生成手段と、
第2の乱数の乱数パターンの種類数と同数の記憶要素から構成されて、それぞれの記憶要素には他のすべての記憶要素に記憶される乱数パターンとは異なる乱数パターンがそれぞれ記憶される配列と、
少なくとも選定された第1のアドレスおよび第2のアドレスにより特定される2以上の記憶要素を対象として配列を撹拌するとともに、選定された第3のアドレスにより特定される記憶要素に記憶される数値を第2の乱数として出力する制御手段とを有して構成され、
第1のアドレス、第2のアドレスおよび第3のアドレスのなかの少なくとも1つのアドレスが、第1の乱数または第1の乱数に基づく演算値として与えられることを特徴とする擬似乱数生成装置。 - 制御手段が、第1の乱数の生成回数を第2の乱数の乱数パターンの種類数で除した剰余を算出し、
第1のアドレスまたは第2のアドレスの少なくとも一方のアドレスが、前記剰余または前記剰余に基づく演算値として与えられることを特徴とする請求項1記載の擬似乱数生成装置。 - 第1のアドレスおよび第3のアドレスが、第1の乱数または第1の乱数に基づく演算値として与えられ、
第2のアドレスが前記剰余または前記剰余に基づく演算値として与えられることを特徴とする請求項2記載の擬似乱数生成装置。 - 第1のアドレスおよび第3のアドレスが、前記剰余または前記剰余に基づく演算値として与えられ、
第2のアドレスが第1の乱数または第1の乱数に基づく演算値として与えられることを特徴とする請求項2記載の擬似乱数生成装置。 - 擬似乱数生成手段が、線形合同生成器または線形フィードバックシフトレジスタとして与えられることを特徴とする請求項1記載の擬似乱数生成装置。
- 第1の乱数を生成する第1の擬似乱数生成手段と、
第3の乱数を生成する第2の擬似乱数生成手段と、
第2の乱数の乱数パターンの種類数と同数の記憶要素から構成されて、それぞれの記憶要素には他のすべての記憶要素に記憶される乱数パターンとは異なる乱数パターンがそれぞれ記憶される配列と、
少なくとも選定された第1のアドレスおよび第2のアドレスにより特定される2以上の記憶要素を対象として配列を撹拌するとともに、選定された第3のアドレスにより特定される記憶要素に記憶される数値を第2の乱数として出力する制御手段とを有して構成され、
第1のアドレス、第2のアドレスおよび第3のアドレスのなかの少なくとも1つのアドレスが、第1の乱数または第1の乱数に基づく演算値として与えられ、
第1のアドレスまたは第2のアドレスの少なくとも一方のアドレスが、第3の乱数または第3の乱数に基づく演算値として与えられることを特徴とする擬似乱数生成装置。 - 制御手段が、第1の乱数の生成回数を第2の乱数の乱数パターンの種類数で除した剰余を算出し、
第1のアドレスが第3の乱数または第3の乱数に基づく演算値として与えられ、
第2のアドレスが前記剰余または前記剰余に基づく演算値として与えられ、
第3のアドレスが第1の乱数または第1の乱数に基づく演算値として与えられることを特徴とする請求項6記載の擬似乱数生成装置。 - 請求項1記載の擬似乱数生成装置を有して構成され、
擬似乱数生成装置から出力される乱数系列と、平文を構成するデータ系列とに対して、ビット毎または所定数のビット列毎に、所定の論理演算を実行して、暗号文を構成するデータ系列を生成することを特徴とする暗号化装置。 - 第1の乱数を生成する工程と、
第1の乱数の生成回数を第2の乱数の乱数パターンの種類数で除した剰余を算出する工程と、
第1のアドレスおよび第2のアドレスを選定する工程と、
第2の乱数の乱数パターンの種類数と同数の記憶要素から構成されて、それぞれの記憶要素には他のすべての記憶要素に記憶される乱数パターンとは異なる乱数パターンがそれぞれ記憶される配列において、第1のアドレスにより特定される記憶要素に記憶される数値と第2のアドレスにより特定される記憶要素に記憶される数値とを交換する工程と、
第3のアドレスを選定する工程と、
配列において第3のアドレスにより特定される記憶要素に記憶される数値を第2の乱数として出力する工程とを有し、
第1のアドレス、第2のアドレスおよび第3のアドレスのなかの少なくとも1つのアドレスが、第1の乱数または第1の乱数の演算値として与えられ、
第1のアドレスまたは第2のアドレスの少なくとも一方のアドレスが、前記剰余または前記剰余の演算値として与えられることを特徴とする擬似乱数生成方法。 - 第1の乱数を生成するステップと、
第1の乱数の生成回数を第2の乱数の乱数パターンの種類数で除した剰余を算出するステップと、
第1のアドレスおよび第2のアドレスを、それぞれ第1の乱数または第1の乱数に基づく演算値あるいは前記剰余または前記剰余に基づく演算値として与えるステップと、
第2の乱数の乱数パターンの種類数と同数の記憶要素から構成されて、それぞれの記憶要素には他のすべての記憶要素に記憶される乱数パターンとは異なる乱数パターンがそれぞれ記憶される配列において、第1のアドレスにより特定される記憶要素に記憶される数値と第2のアドレスにより特定される記憶要素に記憶される数値とを交換するステップと、
第3のアドレスを、第1の乱数または第1の乱数に基づく演算値あるいは前記剰余または前記剰余に基づく演算値として与えるステップと、
配列において第3のアドレスにより特定される記憶要素に記憶される数値を第2の乱数として出力するステップとを有することを特徴とする擬似乱数生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006116557A JP4709685B2 (ja) | 2006-04-20 | 2006-04-20 | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006116557A JP4709685B2 (ja) | 2006-04-20 | 2006-04-20 | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007287079A JP2007287079A (ja) | 2007-11-01 |
JP4709685B2 true JP4709685B2 (ja) | 2011-06-22 |
Family
ID=38758767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006116557A Active JP4709685B2 (ja) | 2006-04-20 | 2006-04-20 | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4709685B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4997982B2 (ja) * | 2007-01-16 | 2012-08-15 | ソニー株式会社 | データ処理装置、およびデータ処理方法、並びにコンピュータ・プログラム |
US9269418B2 (en) * | 2012-02-06 | 2016-02-23 | Arm Limited | Apparatus and method for controlling refreshing of data in a DRAM |
KR101630791B1 (ko) * | 2015-03-27 | 2016-06-16 | 황순영 | 의사 난수로부터 진성 난수를 생성하는 방법 및 이 방법을 컴퓨터상에서 실행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
JP6991025B2 (ja) * | 2017-09-15 | 2022-01-12 | 株式会社エヌ・ティ・ティ・データ | データ生成装置、データ生成方法、及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005149412A (ja) * | 2003-11-19 | 2005-06-09 | Toshiba Corp | メモリシャッフル装置、メモリシャッフル方法及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62296183A (ja) * | 1986-06-17 | 1987-12-23 | 松下電器産業株式会社 | デ−タ撹乱装置 |
JPH10303882A (ja) * | 1997-04-24 | 1998-11-13 | Fuji Xerox Co Ltd | 暗号化方法 |
-
2006
- 2006-04-20 JP JP2006116557A patent/JP4709685B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005149412A (ja) * | 2003-11-19 | 2005-06-09 | Toshiba Corp | メモリシャッフル装置、メモリシャッフル方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2007287079A (ja) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kocarev et al. | Pseudorandom bits generated by chaotic maps | |
JP4774509B2 (ja) | 擬似乱数発生システム | |
EP2962185B1 (en) | Random number generator and stream cipher | |
US7280659B2 (en) | Pseudorandom number generating apparatus or encryption or decryption apparatus using the same | |
JP4052480B2 (ja) | 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム | |
US20050097153A1 (en) | Pseudorandom number generator | |
WO2009100104A1 (en) | Cryptographic system incorporating a digitally generated chaotic numerical sequence | |
JP2005215688A (ja) | S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法 | |
JP2004505289A (ja) | コンピュータで効率的な線形フィードバック・シフト・レジスタ | |
JPH04250490A (ja) | ケーオス論に基づく暗号化システム | |
US7480687B2 (en) | Pseudorandom number generator for a stream cipher | |
US20130129088A1 (en) | Method and system for generating unpredictable pseudo-random numbers | |
KR101389483B1 (ko) | 의사난수 스트링을 생성하기 위한 방법 및 장치 | |
JP4709685B2 (ja) | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 | |
JP5188414B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP5207153B2 (ja) | 擬似乱数発生システム | |
Moghadam et al. | Designing a random number generator with novel parallel LFSR substructure for key stream ciphers | |
JP4857230B2 (ja) | 疑似乱数生成装置及びそれを用いた暗号化処理装置 | |
Hars et al. | Pseudorandom recursions: small and fast pseudorandom number generators for embedded applications | |
RU2246129C2 (ru) | Способ генерации случайных чисел | |
JP5268011B2 (ja) | 暗号化システム及び復号化システム | |
Lee et al. | Uniform random number generator using leap-ahead LFSR architecture | |
JP5268010B2 (ja) | 暗号化システム及び復号化システム | |
Ziani et al. | Research Article CFA: A New Family of Hybrid CA-Based PRNGs | |
JP3806762B2 (ja) | 乱数発生装置、乱数発生方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101101 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110318 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |