JP2007264147A - 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム - Google Patents
疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム Download PDFInfo
- Publication number
- JP2007264147A JP2007264147A JP2006086764A JP2006086764A JP2007264147A JP 2007264147 A JP2007264147 A JP 2007264147A JP 2006086764 A JP2006086764 A JP 2006086764A JP 2006086764 A JP2006086764 A JP 2006086764A JP 2007264147 A JP2007264147 A JP 2007264147A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional vector
- bit
- random number
- sequence
- dimensional
- 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.)
- Pending
Links
Abstract
【解決手段】種受付部10により受け付けたwビットの整数のn次元ベクトルの列S(1),S(2),・・・,S(K)を初期化部11に与えてwビットの整数のn次元ベクトルの列X(1),X(2),・・・,X(K)とし、変換部12によりn次元ベクトルの列X(1),X(2),・・・,X(K)から決定される変換行列を用いた写像変換を施した後、回転部13によりその一部または全部に対して所定の回転ビット数の回転演算を行い、この結果を更新部14により更新して、変換部12および回転部13によりそれぞれ写像変換および回転演算を所定回数繰り返し行うことにより、乱数性の高い多次元疑似乱数列を生成する。
【選択図】図1
Description
(1)128ビットの共通鍵を32ビットの4つの変数に格納。
(2)128ビットの初期ベクトルを32ビットの4つの変数に格納。
(3)変数変換(VSC128の制御パラメータの生成と写像)。
(4)256ビット(8個の変数)のビット列を5ビット左にシフト回転。
(5)手順(3)、(4)を8回繰り返す。
まず、以下の説明において使用する変数および関数について説明する。
本発明の実施の形態における疑似乱数列生成装置は、K(2以上の整数)個のn次元ベクトルの列X(1),X(2),・・・,X(K)から決定される変換行列A(k)(k=1,2,・・・,K)を用いた写像変換により、m個のK×wビット疑似乱数列を生成するものである(但し、1≦m≦n)。
X(k),Y(k),Z(k),S(k),R(k)を行列で表すと、
次に、n次元体積保存写像変換として2次元面積保存写像変換である2次元キャットマップ変換を用いた128ビット疑似乱数列生成の例を説明する。
次に、n次元体積保存写像変換として3次元体積保存写像変換を用いた256ビット疑似乱数生成の例を説明する。
ストリーム暗号方式の安全性は、一般的に疑似乱数生成器によるものとされる。そこで、疑似乱数生成器に求められる要件として次の二つがあげられる。
(1)異なる初期値を与えた場合に出力列が大きく変わること。
(2)出力列が十分な乱数性を持つこと。
ランダムな初期値と差分を加えた初期値により生成した疑似乱数列のハミング距離を計測した。なお、差分を加えた初期値は、最上位からnビット目を反転したものを用いた。これを1万サンプル試行し、統計的な解析を行った。
NIST SP800−22では、0と1からなる系列に対して16種類の検定を行う。なお、今回の実験では、NISTで公開されている評価ツールSTS(Statical Test Suite)のバージョン1.7を用いた。このNISTの検定については、一般的な検定であるため、詳細な説明は省略するが、バージョン1.7では、15種類の検定となっている。
2 暗号化復号化装置
2a 暗号化装置
2b 復号化装置
10 種受付部
11 初期化部
12 変換部
13 回転部
14 更新部
15 射影部
16 出力部
21a,21b 疑似乱数列生成部
22a,22b データ受付部
23a,23b XOR部
Claims (9)
- m次元wビットの疑似乱数の列を生成する疑似乱数列生成装置であって、
wビットの整数si (k)(但し、2以上の整数Kに対して、k=1,2,・・・,Kとする。以下同じ。)のn次元ベクトルS(k)=(s1 (k),s2 (k),・・・,sn (k))の列S(1),S(2),・・・,S(K)を種として受け付ける種受付部と、
前記n次元ベクトルの列S(1),S(2),・・・,S(K)を、wビットの整数xi (k)のn次元ベクトルX(k)=(x1 (k),x2 (k),・・・,xn (k))の列X(1),X(2),・・・,X(K)として与える初期化部と、
前記n次元ベクトルの列X(1),X(2),・・・,X(K)のそれぞれに対して前記n次元ベクトルの列X(1),X(2),・・・,X(K)から決定される変換行列を用いた写像変換を施してwビットの整数yi (k)のn次元ベクトルY(k)=(y1 (k),y2 (k),・・・,yn (k))の列Y(1),Y(2),・・・,Y(K)を得る変換部と、
前記n次元ベクトルの列Y(1),Y(2),・・・,Y(K)をw×K×nビットのビット列y1 (1),y1 (2),・・・,y1 (K),y2 (1),y2 (2),・・・,y2 (K),・・・,yn (1),yn (2),・・・,yn (K)とみて、その一部または全部に対して所定の回転ビット数の回転演算を行って得られたw×K×nビットのビット列を、wビットの整数zi (k)の列z1 (1),z1 (2),・・・,z1 (K),z2 (1),z2 (2),・・・,z2 (K),・・・,zn (1),zn (2),・・・,zn (K)とみて、n次元ベクトルZ(k)=(z1 (k),z2 (k),・・・,zn (k))の列Z(1),Z(2),・・・,Z(K)を得る回転部と、
前記n次元ベクトルの列Z(1),Z(2),・・・,Z(K)をn次元ベクトルの列X(1),X(2),・・・,X(K)として前記変換部に与える更新部と、
前記変換部、回転部および更新部による処理が所定回数繰り返された後、最後に得られたn次元ベクトルの列Z(1),Z(2),・・・,Z(K)のそれぞれに対してn次元ベクトルからm次元ベクトルへの射影変換を行い、wビットの整数ri (k)のm次元ベクトルR(k)=(r1 (k),r2 (k),・・・,rm (k))の列R(1),R(2),・・・,R(K)を得る射影部と、
前記m次元ベクトルの列R(1),R(2),・・・,R(K)をm次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)として出力する出力部と
を備える疑似乱数列生成装置。 - 前記写像変換は、次式により行うものである請求項1記載の疑似乱数列生成装置。
- 前記変換行列A(k)は、
- 前記写像変換が、2次元キャットマップ変換である請求項1から3のいずれかに記載の疑似乱数列生成装置。
- 請求項1から4のいずれかに記載の疑似乱数列生成装置から構成され、m次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)を出力する疑似乱数列生成部と、
m次元wビットの整数列p1 (1),p1 (2),・・・,p1 (K),p2 (1),p2 (2),・・・,p2 (K),・・・,pm (1),pm (2),・・・,pm (K)を暗号化または復号化対象のデータとして受け付けるデータ受付部と、
前記疑似乱数列と前記暗号化または復号化対象のデータの排他的論理和p1 (1) xor r1 (1),p1 (2) xor r1 (2),・・・,p1 (K) xor r1 (K),p2 (1) xor r2 (1),p2 (2) xor r2 (2),・・・,p2 (K) xor r2 (K),・・・,pm (1) xor rm (1),pm (2) xor rm (2),・・・,pm (K) xor rm (K)を暗号化または復号化の結果として出力する暗号化復号化部と
を備えた暗号化復号化装置。 - コンピュータによりm次元wビットの疑似乱数の列を生成する疑似乱数列生成方法であって、
前記コンピュータが、wビットの整数si (k)(但し、2以上の整数Kに対して、k=1,2,・・・,Kとする。以下同じ。)のn次元ベクトルS(k)=(s1 (k),s2 (k),・・・,sn (k))の列S(1),S(2),・・・,S(K)を種として受け付ける種受付ステップと、
前記コンピュータが、前記n次元ベクトルの列S(1),S(2),・・・,S(K)を、wビットの整数xi (k)のn次元ベクトルX(k)=(x1 (k),x2 (k),・・・,xn (k))の列X(1),X(2),・・・,X(K)として与える初期化ステップと、
前記コンピュータが、前記n次元ベクトルの列X(1),X(2),・・・,X(K)のそれぞれに対して前記n次元ベクトルの列X(1),X(2),・・・,X(K)から決定される変換行列を用いた写像変換を施してwビットの整数yi (k)のn次元ベクトルY(k)=(y1 (k),y2 (k),・・・,yn (k))の列Y(1),Y(2),・・・,Y(K)を得る変換ステップと、
前記コンピュータが、前記n次元ベクトルの列Y(1),Y(2),・・・,Y(K)をw×K×nビットのビット列y1 (1),y1 (2),・・・,y1 (K),y2 (1),y2 (2),・・・,y2 (K),・・・,yn (1),yn (2),・・・,yn (K)とみて、その一部または全部に対して所定の回転ビット数の回転演算を行って得られたw×K×nビットのビット列を、wビットの整数zi (k)の列z1 (1),z1 (2),・・・,z1 (K),z2 (1),z2 (2),・・・,z2 (K),・・・,zn (1),zn (2),・・・,zn (K)とみて、n次元ベクトルZ(k)=(z1 (k),z2 (k),・・・,zn (k))の列Z(1),Z(2),・・・,Z(K)を得る回転ステップと、
前記コンピュータが、前記n次元ベクトルの列Z(1),Z(2),・・・,Z(K)をn次元ベクトルの列X(1),X(2),・・・,X(K)として前記変換ステップに与える更新ステップと、
前記変換ステップ、回転ステップおよび更新ステップによる処理が所定回数繰り返された後、前記コンピュータが、最後に得られたn次元ベクトルの列Z(1),Z(2),・・・,Z(K)のそれぞれに対してn次元ベクトルからm次元ベクトルへの射影変換を行い、wビットの整数ri (k)のm次元ベクトルR(k)=(r1 (k),r2 (k),・・・,rm (k))の列R(1),R(2),・・・,R(K)を得る射影ステップと、
前記コンピュータが、前記m次元ベクトルの列R(1),R(2),・・・,R(K)をm次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)として出力する出力ステップと
を含む疑似乱数列生成方法。 - 請求項6記載の疑似乱数列生成方法により、前記コンピュータが、m次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)を出力する疑似乱数列生成ステップと、
前記コンピュータが、m次元wビットの整数列p1 (1),p1 (2),・・・,p1 (K),p2 (1),p2 (2),・・・,p2 (K),・・・,pm (1),pm (2),・・・,pm (K)を暗号化または復号化対象のデータとして受け付けるデータ受付ステップと、
前記コンピュータが、前記疑似乱数列と前記暗号化または復号化対象のデータの排他的論理和p1 (1) xor r1 (1),p1 (2) xor r1 (2),・・・,p1 (K) xor r1 (K),p2 (1) xor r2 (1),p2 (2) xor r2 (2),・・・,p2 (K) xor r2 (K),・・・,pm (1) xor rm (1),pm (2) xor rm (2),・・・,pm (K) xor rm (K)を暗号化または復号化の結果として出力する暗号化復号化ステップと
を含む暗号化復号化方法。 - コンピュータに、
wビットの整数si (k)(但し、2以上の整数Kに対して、k=1,2,・・・,Kとする。以下同じ。)のn次元ベクトルS(k)=(s1 (k),s2 (k),・・・,sn (k))の列S(1),S(2),・・・,S(K)を種として受け付ける種受付ステップと、
前記n次元ベクトルの列S(1),S(2),・・・,S(K)を、wビットの整数xi (k)のn次元ベクトルX(k)=(x1 (k),x2 (k),・・・,xn (k))の列X(1),X(2),・・・,X(K)として与える初期化ステップと、
前記n次元ベクトルの列X(1),X(2),・・・,X(K)のそれぞれに対して前記n次元ベクトルの列X(1),X(2),・・・,X(K)から決定される変換行列を用いた写像変換を施してwビットの整数yi (k)のn次元ベクトルY(k)=(y1 (k),y2 (k),・・・,yn (k))の列Y(1),Y(2),・・・,Y(K)を得る変換ステップと、
前記n次元ベクトルの列Y(1),Y(2),・・・,Y(K)をw×K×nビットのビット列y1 (1),y1 (2),・・・,y1 (K),y2 (1),y2 (2),・・・,y2 (K),・・・,yn (1),yn (2),・・・,yn (K)とみて、その一部または全部に対して所定の回転ビット数の回転演算を行って得られたw×K×nビットのビット列を、wビットの整数zi (k)の列z1 (1),z1 (2),・・・,z1 (K),z2 (1),z2 (2),・・・,z2 (K),・・・,zn (1),zn (2),・・・,zn (K)とみて、n次元ベクトルZ(k)=(z1 (k),z2 (k),・・・,zn (k))の列Z(1),Z(2),・・・,Z(K)を得る回転ステップと、
前記n次元ベクトルの列Z(1),Z(2),・・・,Z(K)をn次元ベクトルの列X(1),X(2),・・・,X(K)として前記変換ステップに与える更新ステップと、
前記変換ステップ、回転ステップおよび更新ステップによる処理が所定回数繰り返された後、最後に得られたn次元ベクトルの列Z(1),Z(2),・・・,Z(K)のそれぞれに対してn次元ベクトルからm次元ベクトルへの射影変換を行い、wビットの整数ri (k)のm次元ベクトルR(k)=(r1 (k),r2 (k),・・・,rm (k))の列R(1),R(2),・・・,R(K)を得る射影ステップと、
前記m次元ベクトルの列R(1),R(2),・・・,R(K)をm次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)として出力する出力ステップと
を実行させるための疑似乱数列生成プログラム。 - 請求項8記載の疑似乱数列生成プログラムを実行するコンピュータに、
m次元wビットの疑似乱数列r1 (1),r1 (2),・・・,r1 (K),r2 (1),r2 (2),・・・,r2 (K),・・・,rm (1),rm (2),・・・,rm (K)を出力する疑似乱数列生成ステップと、
m次元wビットの整数列p1 (1),p1 (2),・・・,p1 (K),p2 (1),p2 (2),・・・,p2 (K),・・・,pm (1),pm (2),・・・,pm (K)を暗号化または復号化対象のデータとして受け付けるデータ受付ステップと、
前記疑似乱数列と前記暗号化または復号化対象のデータの排他的論理和p1 (1) xor r1 (1),p1 (2) xor r1 (2),・・・,p1 (K) xor r1 (K),p2 (1) xor r2 (1),p2 (2) xor r2 (2),・・・,p2 (K) xor r2 (K),・・・,pm (1) xor rm (1),pm (2) xor rm (2),・・・,pm (K) xor rm (K)を暗号化または復号化の結果として出力する暗号化復号化ステップと
を実行させるための暗号化復号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006086764A JP2007264147A (ja) | 2006-03-27 | 2006-03-27 | 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006086764A JP2007264147A (ja) | 2006-03-27 | 2006-03-27 | 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007264147A true JP2007264147A (ja) | 2007-10-11 |
Family
ID=38637220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006086764A Pending JP2007264147A (ja) | 2006-03-27 | 2006-03-27 | 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007264147A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013150880A1 (ja) * | 2012-04-02 | 2013-10-10 | 学校法人東京理科大学 | 暗号化装置、復号化装置、暗号化方法、復号化方法、及びプログラム |
JP2014017556A (ja) * | 2012-07-05 | 2014-01-30 | Tokyo Univ Of Science | 共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラム |
CN105760136A (zh) * | 2016-02-03 | 2016-07-13 | 江苏熟店宝科技有限公司 | 基于伪随机数的多维度可控算法 |
CN109361830A (zh) * | 2018-08-08 | 2019-02-19 | 西安电子科技大学 | 一种基于明文的图像加密方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002217898A (ja) * | 2001-01-17 | 2002-08-02 | Toyo Commun Equip Co Ltd | 擬似乱数生成システム |
-
2006
- 2006-03-27 JP JP2006086764A patent/JP2007264147A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002217898A (ja) * | 2001-01-17 | 2002-08-02 | Toyo Commun Equip Co Ltd | 擬似乱数生成システム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013150880A1 (ja) * | 2012-04-02 | 2013-10-10 | 学校法人東京理科大学 | 暗号化装置、復号化装置、暗号化方法、復号化方法、及びプログラム |
JP2013213930A (ja) * | 2012-04-02 | 2013-10-17 | Tokyo Univ Of Science | 暗号化装置、復号化装置、及びプログラム |
US9467286B2 (en) | 2012-04-02 | 2016-10-11 | Crypto Basic Corporation | Encryption device, decryption device, encryption method, decryption method, and program |
JP2014017556A (ja) * | 2012-07-05 | 2014-01-30 | Tokyo Univ Of Science | 共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラム |
CN105760136A (zh) * | 2016-02-03 | 2016-07-13 | 江苏熟店宝科技有限公司 | 基于伪随机数的多维度可控算法 |
CN105760136B (zh) * | 2016-02-03 | 2019-04-09 | 江苏易润信息技术有限公司 | 基于伪随机数的多维度可控方法 |
CN109361830A (zh) * | 2018-08-08 | 2019-02-19 | 西安电子科技大学 | 一种基于明文的图像加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1583278B1 (en) | Stream Cipher Design with Revolving Buffers | |
US20160335450A1 (en) | Searchable encryption processing system and searchable encryption processing method | |
JP6178142B2 (ja) | 生成装置、方法およびプログラム | |
Rathod et al. | Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm) | |
Ye et al. | Spatial image encryption algorithm based on chaotic map and pixel frequency | |
JP6305638B2 (ja) | 暗号システム及び鍵生成装置 | |
Faraoun | A genetic strategy to design cellular automata based block ciphers | |
JP2007264147A (ja) | 疑似乱数列生成装置、暗号化復号化装置、疑似乱数列生成方法、暗号化復号化方法、疑似乱数列生成プログラムおよび暗号化復号化プログラム | |
Krishnamoorthi et al. | A modernistic approach for chaotic based pseudo random number generator secured with gene dominance | |
Dalai et al. | Some conditional cube testers for grain-128a of reduced rounds | |
JP2004361969A (ja) | 暗号化方法 | |
Maqableh et al. | New hash function based on chaos theory (CHA-1) | |
US11070354B2 (en) | System and method for generating a symmetrically balanced output | |
Alsaedi et al. | Retrieving encrypted images using convolution neural network and fully homomorphic encryption | |
JP2004286788A (ja) | 乱数列生成装置、暗号化復号化装置、乱数列生成方法、暗号化復号化方法、ならびに、プログラム | |
Loidreau | Analysis of a public-key encryption scheme based on distorted Gabidulin codes | |
Bansal et al. | A comparison of image encryption techniques based on chaotic maps | |
John et al. | 6D Hyperchaotic Encryption Model for Ensuring Security to 3D Printed Models and Medical Images | |
Waheed et al. | S-box design based on logistic skewed chaotic map and modified Rabin-Karp algorithm: applications to multimedia security | |
Al-Mhadawi et al. | Hybrid method as pseudo-random bits generator | |
JP2006517036A (ja) | マスクされたデータを操作する装置及び方法 | |
Das et al. | A metamorphic cryptography approach towards securing medical data using chaotic sequences and Ramanujan conjecture | |
US20100128870A1 (en) | Pseudo-random number generation device, program, and method for stream encoding | |
Perez et al. | A Modified Key Generation Scheme of Vigenère Cipher Algorithm using Pseudo-Random Number and Alphabet Extension | |
Albahrani et al. | A chaos-based encryption algorithm for database system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090629 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110913 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120124 |