JP2005049898A - 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 - Google Patents
暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 Download PDFInfo
- Publication number
- JP2005049898A JP2005049898A JP2004298279A JP2004298279A JP2005049898A JP 2005049898 A JP2005049898 A JP 2005049898A JP 2004298279 A JP2004298279 A JP 2004298279A JP 2004298279 A JP2004298279 A JP 2004298279A JP 2005049898 A JP2005049898 A JP 2005049898A
- Authority
- JP
- Japan
- Prior art keywords
- function
- mapping function
- value
- mapping
- noise
- 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
Links
Images
Abstract
【解決手段】本発明の暗号生成装置は、カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段13と、平文情報を分割した分割平文情報に対し、発生されたカオスノイズを適用する演算を行って暗号を生成する暗号生成手段22と、写像関数の係数を構成する値として、ステップ毎に値を変化させるm変調の関数可変ベクトルを、暗号化の鍵データ初期値に基づき決定する。最初のmステップまではステップ毎に関数可変ベクトルの値を変化させ写像関数に適用し、以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を写像関数に適用する次関数決定手段3を具備する。
【選択図】 図1
Description
X n+1 =aXn(1-Xn)(0<Xn<1,3.6<a<4(制限あり)) (式a)
のように与えられ、(式a)の反復使用によりカオス乱数列<Xn>を得ることができる。そして、(式a)の反復毎に得たカオス信号Xnを256 段階に量子化し、平文1byeに付加する暗号ノイズとして使用する。この操作を平文がなくなるまで繰り返すことにより1つの平文を暗号化することができる。
接軌道が縮退を起こすことなく、従って発生されるカオスノイズのパターンに周
期性が表れにくく、適切な暗号化を行うことのできる暗号生成装置、暗号生成プ
ログラムを使用する電子機器、記憶媒体を提供することである。
カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段と、暗号文情報を所定の長さに分割した分割暗号文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を復号する復号手段と、前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、復号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段と、最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段とを具備し、前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を用いることを特徴とする。これにより、カオスノイズを発生する写像関数がm×素数である状態総数の異なる関数に変更される。
[整数演算化]
ロジスティック写像関数を示す(式a)は、図4に示すような幾何学的な反復構造を備えている。このロジスティック写像関数を縦、横ともに等倍した2次元空間においても反復構造は保たれる。そこで本実施の形態では、整数演算可能な範囲までロジスティック写像関数を拡大し、整数値への量子化を図る。これが整数演算化の原理である。例えば、本実施の形態において用いる32-bitプロセッサの場合には、2次式を計算する関係上、16-bit範囲:1〜65535までを写像範囲として扱っている。また、64-bitプロセッサの場合では、32-bit範囲:1〜4,294,967,295 までが写像範囲として有効である。このように64-bit演算では32-bit演算より多くのカオス状態数を用いることが可能となるため有利である。
本発明のような整数演算化、少数ビット演算化では、(式a)に示すロジスティック写像関数の係数aを固定した場合には(関数形を固定した場合には)、式(a)のxは「縮退」を起こし、最終的に数個のアトラクターに引き込まれる。つまり、少数パターン化を招くと共に早期周期性が顕著化する。また、整数値量子化過程(小数点以下切り捨て)による不意な周期点発生等が懸念される。従って、整数演算化では、[カオス暗号原理]で述べた手法をそのまま用いた暗号応用は見込めない。
1)〜(A−3)からなる3つの命題を満たすような関数を選択し、整数演算型可変化設計を行う。
「隣接軌道の縮退」は、写像関数の1階微分値が|f’|<1の領域で起こる。図5を参照するとロジスティック写像の場合には、隣接軌道の縮退発生領域は全体の25%以上にまでに及ぶことが概ね理解できる。従って、必ず|f’|≧1を満たすような写像関数の設計を行う必要がある。これよりリアプノフ指数(後述(h1)〜(h3))は反復毎で正となり、隣接軌道は発散関係を維持できる。
f(x)=ax2 +bx+c (式b1)
f´(x)=2a+b (式b2)
(1)上に凸の2次関数の場合
(左側関数)
f(0) =0
f´(p) ≧1
f(p) =h
a<0 (式c1)
(右側関数)
f(p) =h
f´(p) ≦−1
f(2k+1 )=0
a<0 (式c2)
(2)下に凸の2次関数の場合
(左側関数)
f(0) =0
f´(p) ≧1
f(p) =h
a>0 (式c3)
(右側関数)
f(p) =h
f´(2k+1 ) ≦−1
f(2k+1 )=0
a<0 (式c4)
a=−(h−rR/p2 ) (式d1)
b= (2h−rr)/p (式d2)
c=0 (式d3)
rr≧p (r= rr/ p≧1より) (式d4)
h>rr (a<0より) (式d5)
を得る。尚、rrはrとは別の1個のパラメータであり、1次導関数f´(p)=rの2乗等を意味するものではない。
f(x,p,h,rr) =-{(h-rr)/p2 }x2 +{(2h-rr)/p}x (式e1)
h>rr≧p (式e2)
なる関数形(式e1)および条件式(式e2)を得る。
x=2k+1 −x (式f)
の変換後、f(0)=0 となる左側関数形と同様に扱える。
(x<pの場合:左側関数)
f(x,p,h1,rr1,h2,rr2)=-{(h1-rr1 )/p2 }x2 +{(2h1-rr1)/p}x
(x>pの場合:右側関数)
x= xk+1 -1
f(x,p,h1,rr1,h2,rr2)=-{(h2-rr2 )/p2 }x2 +{(2h2-rr2)/p}x
ただし写像範囲は (0<x <2(k+1) ) 以上(式g)
ここで(式g)に係る整数演算型設計関数について考察を与える。分岐図(bifuration Diagram) 、およびリアプノフ指数(Lyapunov Index) より、ロジスティック写像関数との比較を試みる。整数演算化設計を行った(式g)において、写像範囲は16-bit:1〜65535の場合について考える。関数形は、(式g)が特に単純形式を取る場合を考察する。つまり、左右関数の分離点を写像範囲の中心(p=215)に置き、関数の左右で、h,rrを同値にした場合(h1=h2,rr=rr2)のhに対する分岐図を図8に示す。rrは、r=3/2*215に固定した。
f(xn +Δx)−f(xn )=Δxeλ (式h1)
λ=ln|{f(xn +Δx)−f(xn )}/Δx| (式h2)
上記において(式h1)は1回の写像(反復)後に近接する2点、xおよびx+ΔxがΔx−eλ だけ広がったことを意味し、(式h1)を変形した(式h2)におけるλがその広がり具合を表す。
λ<0 (2点は狭まる関係:収束関係)
これを十分大きいステップに対し、(式h3)のように相加平均を取った値がリアプノフ指数であり、図11、図12のグラフのようになる。
n-1
Lyapunov Index=(1/n)Σln|{f(xn +Δx)−f(xn )}/Δx|
n=0
(式h3)
次に本関数の状態数(関数形の数)を見積もることにする。特に、ここでは簡単のため、それぞれ、p,h,rrの条件を与える(式e2)を以下のように割り振って考えることにする。
特にΔw=2k /5とした場合
2k −1×Δw<p<2k +1×Δw (幅2×Δw) (式i1)
2k +1×Δw<rr≦2k +3×Δw (幅2×Δw) (式i2)
2k +3×Δw<h≦2k +5×Δw (幅2×Δw) (式i3)
とし、(式g)にて表される関数のパラメータ(p,h1,rr1,h2,rr2) が取り得る状態数L(関数形の総数)は、最大で
L=(2×Δw)5 (式i4)
である。
特に32-bit演算では、k=15 の場合に相当し、写像範囲は0<x<2k+1 、従って写像範囲が0<x<216の場合には、
L=(2×215) /5)5 >>(213)5 =265[個] (式j1)
におよぶ。
L=(212)5 =260[個] (式j2)
におよぶ。
整数演算型で[カオス暗号原理]をそのまま適用した場合には、少数パターン化、早期周期化を招くことは既に述べた通りである。従って、(式g)に示されるような隣接軌道が縮退を起こさない設計関数と、(式i1)〜(式i3)に示される条件に従って、ある時間間隔で写像関数を変化させ積極的に軌道を交叉し撹乱させる手法が[本発明の原理]と言える。これら関数の可変パターンは鍵より求める。
(x<pの場合:左側関数)
xn+1=-{(h1[n]-rr1[n])/p[n] 2 } xn2 +{(2h1[n]-rr1[n])/p}xn
(x>pの場合:右側関数)
xn=p−xn の変換後
xn+1=-{(h2[n]-rr2[n])/p[n] 2 } xn2 +{(2h2[n]-rr2[n])/p}xn
以上(式k)
と表せられる。
(p[n],h1[n],rr1[n],h2[n],rr2[n])ΞA[n] (式l)
のようにベクトル表記すると、写像関数は
xn+1 =f(xn ,A[n]) (式m)
のように整理される。
A[1],A[2],...,A[n]...A[m] (式n)
上記において、A[i]Ξ(p[i],h1[i],rr1[i],h2[i],rr2[i]))であり、ここではA[ ]のm変調を考えている。そして,A[ ]の可変パターンA[i] (i=1 〜m)を鍵より導く。
A[i]=A[i] +δA(i:1 〜m:A の1周期以降) (式o)
ここに、δA Ξ (δp,δh1, δrr1,δh2, δrr2)である。このようにA に対する変化の与え方は、単純に線形的に変化させても良い。その理由は、写像関数形の微妙な変位はカオス初期条件敏感性に相当するからである。
A[i]=g(A[i])
=fmod(A[i]+δA[i],AMax) (式o´)
上記(式o´)において、AMaxは、A[ ]の取りうる状態総数値を示す。このようにA[i]与え、δA を例えば素数値、かつ、AMax値(A[ ]の取りうる状態総数値)の因数でない値を与えることで、A[ ]の全ての状態値を効率よく走査できる。上記において、fmod(A,B) は、AをBで割った余りを意味する関数で、例えば、fmod(8,3)=2, fmod(13,6)=1 である。
前述の[設計関数例での可変化原理]に従い、δA の変調方式を与える。以下、例を挙げ説明する。ここでは、A[ ]を1次元パラメータと考え(実際には(式g)より、(p,h1,rr1,h2,rr2 )の5つのパラメータが存在)て、
A[1] =1
A[2] =2
A[3] =3
A[4] =4
のように、16階調、m=4可変周期、とした場合、5番目(i=5)以降8番目(i=8)までを、A[i+4]=A[i]+δA (i=1〜4) とさせる。このとき、δA =1とすると、
A[5] =2
A[6] =3
A[7] =4
A[8] =5
となる。
A´[1]=2
A´[2]=3
A´[3]=4
A´[4]=5
とした場合には、上記A[5〜8] と、A´ [1〜4] が一致することになる。このように例え一致しても、(式g)におけるxの値が異なれば別の軌道をたどることになるのであるが、写像範囲1/2k+1 の確率で軌道が一致する。更には、δA=δA´の条件が重なった場合、A[i]軌道とA´[i] 軌道は全く同軌道を歩むことになり、独立性を保てなくなる。
δA[i]ΞA0[i](i=1 〜m ) (A0[i] は初期の変位←鍵より求める)
A[i]=g1(A[i],δA[i])
=fmod(A[i]+δA[i],AMax) AMax: A の取りうる状態総数
以上(式p)
上記において、 fmod は既に説明した関数である。これより初期のA[i]パターンのオリジナリティーを保ちつつ変形できる。
A[i]:1234 2468 369c ・・・
これは、δA[i]が1234であることによっている。
A´[i]:2468 48a0 ・・・・
これはδA´[i] が2468であることによっている。
2→4→ 6→ 8→a→ c→ e→ 0→ 2 (8の周期)
4→ 8→ c→ 0→4 (4の周期)
8→ 0→ 8 (2の周期)
のように、早いうちに元に戻り、周期にムラが生じる。
要請:パラメータの状態総数は素数を起用 (文q)
という要請を満たすように(式g)により示される設計関数の状態総数(関数形の総数)を採用する。斯して、素数はそれ以下の数に因数をもたないために、全てのA[i]が16の周期をもつこととなる。図15に、A[1]とδA[i]による上記の例を示した。このように、関数の可変手法は(式p)に示した如く極めて単純である。これは、カオスのパラメータ及び初期値の推定困難性という初期条件敏感性を利用した結果である。つまり、カオスによれば、単純な関数を可変する手法を推測することが困難となるのである。これにより最小限の計算ステップの増加で処理が可能となる利点を有する。
p Max =4099
h1 Max =4111
rr1 Max =4127
h2 Max=4129
rr2 Max=4133
以上 (式r)
のように確保する。
xadd=fred(x) =x & 255 (& はビットごとのAND 演算) (式s)
d= c(XOR)xadd (c:平文,d:暗号文) (式t)
のように下位8-bit(1byte)を抽出し、平文1byteとXOR (排他的論理和)を取り暗号文とする。暗号ノイズxaddは,元のカオス信号から上位8-bit の情報が落ちているため、平文、暗号文のペアからでも,正しいカオス信号は得られない。
この具体事例2では、左右の関数可変化方式に、それぞれ独立した可変方式を与える。左側関数については[具体事例1]と同様に与える。一方、右側は左側と関連性なしにステップ毎に一様なδright の変位を与える。従って、(式g)、(式k)のパラメータ(p,h1,rr1,h2,rr2) を次に示すように左右側の関数で分ける。
左側関数:f left(x,p,h1[ ],rr1[ ])=f left(x,A[ ]),また、
A[ ]=(p,h1[ ],rr1[ ]) ←鍵より求める。
右側関数:f right(x,p,h2,rr2)= f right(x,B), また、
B=(p,h2,rr2)←左側とは独立。
係る手法によって左側関数の初期パターンA[i]のi(1〜m )に全て同じ値が入った場合、つまり、鍵で同じ値を指定された場合にあっても、単調化、または、不意の周期点発生等を避け、積極的に軌道を交叉、撹乱させる効果がある。
<1>(式g)におけるパラメータ(p,h1[ ],rr1[ ],h2,rr2[ ])
p=215固定
h1[ ],rr1[ ](左側関数パラメータ:初期変調)←鍵より指定
h2,rr2(右側関数パラメータ)←左側とは独立
<2>関数の状態総数Δw/2=4096(12-bit)を想定
h1 max=4099(素数) 範囲:32768+32768*3/5〜上の4099個分
rr1 max=4111(素数) 範囲:32768+32768*1/5〜上の4111個分
h2 max=8192(左側とは独立) 範囲:32768+32768*3/5〜上の8192個分
rr2 max=8192(左側とは独立) 範囲:32768+32768*1/5〜上の8192個分
<3>左側関数パラメータA[ ]は11変調周期とし、各初期変位を次の通りにする。
h1[i](i=1 〜11)δh1[i]=h10 [i] (初期のh1の意味)
rr1[i](i=1〜11) δrr1[i]=rr10 [i] (初期のrr1 の意味)
<4>右側関数パラメータB[ ]は、ここでは、h2=h1[1],rr2=rr1[1] とし、δh2=17 (素数),δrr2=19(素数)とした。
(4099×4111) 11>>(4096×4096) 11=(212×212)11=2264 (式u)
なので、256-bit 以上の暗号化パターンをもつ。また、最低限保証できる乱数周
期は、
4099×4111×10=168,509,890= 約160MByteである。 (式v)
ここでは、(式g)中の2つのパラメータ(h1[ ],rr1[ ])を用いたが、更にpを可変することが可能である。
(p Max ×h1 Max ×rr1 Max )m の暗号化パターン (式w)
および
p Max ×h1 Max ×rr1 Max ×m の乱数周期 (式x)
をもつ。
p Max =4099(>212)
h1 Max =4111(>212)
rr1 Max =4127(>212)
m=10変調周期
の場合、
(式w)の(p Max ×h1 Max ×rr1 Max )m が(236)10となることから、360-bit を超える暗号化パターンとなる。
また、(式x)の p Max ×h1 Max ×rr1 Max ×m が640.0×109 となるから、約640GByteの乱数周期となる。
[具体事例2]の設計例において(式g)の写像関数形は、
f(x,p,h1[ ],rr1[ ], h2,rr2)であり、鍵は
xの初期値 (12-bit段階(4096))
h1[ ] 初期可変パターン (12-bit段階)
rr1[ ]初期可変パターン (12-bit段階)
を与える。ここで(文q)の条件より、h1[ ] は4099個、rr1[ ]は4111個の関数形をもつが、鍵で指定できる最大値は12-bit(4096個)である。
例えば、n変調周期を考える場合、
x,h1[1],rr1[1],h1[2],rr2[2],...,h1[n],rr1[n] (式y)
例示すると、3914,1021,534,1313,3127,...,4001,2731 の如き順に12-bit段階の数値を入れていく。これを例えば0〜9、a〜z、A〜Z、/、+の64段階からなる文字列より鍵を構成し、(式y)のような初期値/可変パターンへの数値変換操作を行う。その際に、既に説明した別途用意されたメモリテーブルからテーブル変換を行うとよい。
3 次関数決定手段 4 復号手段
11 鍵発生部 12 初期関数生成部
13 カオスノイズ生成部 21 平文分割部
22 暗号文生成部 31 同期検出部
32 関数変更制御部 41 暗号分割部
42 復号部
Claims (19)
- カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段と、
平文情報を所定の長さに分割した分割平文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を生成する暗号生成手段と、
前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、暗号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段と、
最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、
mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段とを具備し、
前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を用いることを特徴とする暗号生成装置。 - 第1の写像関数と第2の写像関数とを有し、前記カオスノイズ発生手段により発生されたカオスノイズの値が所定値を超えたか否かを検出する手段と、
前記カオスノイズの値が所定値を超えた場合には、第1の写像関数を採用して前記次関数決定手段による写像関数の変更を行って暗号化を行う一方、
前記カオスノイズの値が所定値を超えていない場合には、前記第2の写像関数を採用して、該第2の写像関数における係数を構成する初期値を、1ステップ毎に所定値増加させ、この増加により得た値を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する手段を備えていることを特徴とする請求項1に記載の暗号生成装置。 - カオスノイズ発生手段は、複数の写像関数と複数の初期値を予め用意し、暗号化を開始するに際して鍵データによって前記複数の写像関数と複数の初期値の中から写像関数と初期値を選択する初期関数生成部を備えることを特徴とする請求項1または請求項2に記載の暗号生成装置。
- カオスノイズ発生手段は、写像関数を用いた整数演算によりカオスノイズを得ることを特徴とする請求項1乃至3のいずれか1項に記載の暗号生成装置。
- カオスノイズ発生手段は、一次微分値が1以上である関数を写像関数として用いることを特徴とする請求項1乃至4のいずれか1項に記載の暗号生成装置。
- プログラムを実行することにより暗号生成を行うコンピュータにより実現され、次の(a)〜(d)に記載の各手段を前記コンピュータが実現することになる暗号生成プログラムを使用する電子機器。
(a)カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段、
(b)平文情報を所定の長さに分割した分割平文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を生成する暗号生成手段、
(c)前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、暗号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段、
(d)最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、
mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段、
前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を前記カオスノイズ発生手段へ与える手段。 - 前記コンピュータが更に次の各手段を実現することになることを特徴とする請求項6に記載の電子機器。
第1の写像関数と第2の写像関数とを有し、前記カオスノイズ発生手段により発生されたカオスノイズの値が所定値を超えたか否かを検出する手段と、
前記カオスノイズの値が所定値を超えた場合には、第1の写像関数を採用して前記次関数決定手段による写像関数の変更を行って暗号化を行う一方、
前記カオスノイズの値が所定値を超えていない場合には、前記第2の写像関数を採用して、該第2の写像関数における係数を構成する初期値を、1ステップ毎に所定値増加させ、この増加により得た値を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する手段。 - カオスノイズ発生手段は、複数の写像関数と複数の初期値を予め用意し、暗号化を開始するに際して鍵データによって前記複数の写像関数と複数の初期値の中から写像関数と初期値を選択する初期関数生成部を備えることを特徴とする請求項6または請求項7に記載の電子機器。
- カオスノイズ発生手段は、写像関数を用いた整数演算によりカオスノイズを得ることを特徴とする請求項6乃至8のいずれか1項に記載の電子機器。
- カオスノイズ発生手段は、一次微分値が1以上である関数を写像関数として用いることを特徴とする請求項6乃至9のいずれか1項に記載の電子機器。
- プログラムを実行することにより暗号生成を行うコンピュータに、次の(a)〜(d)に記載の各手段を実現させることになる暗号生成プログラムを記憶した記憶媒体。
(a)カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段、
(b)平文情報を所定の長さに分割した分割平文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を生成する暗号生成手段、
(c)前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、暗号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段、
(d)最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、
mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段、
前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を前記カオスノイズ発生手段へ与える手段。 - コンピュータに、更に次の各手段を実現させることになることを特徴とする請求項11に記載の記憶媒体。
第1の写像関数と第2の写像関数とを有し、前記カオスノイズ発生手段により発生されたカオスノイズの値が所定値を超えたか否かを検出する手段と、
前記カオスノイズの値が所定値を超えた場合には、第1の写像関数を採用して前記次関数決定手段による写像関数の変更を行って暗号化を行う一方、
前記カオスノイズの値が所定値を超えていない場合には、前記第2の写像関数を採用して、該第2の写像関数における係数を構成する初期値を、1ステップ毎に所定値増加させ、この増加により得た値を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する手段。 - カオスノイズ発生手段は、複数の写像関数と複数の初期値を予め用意し、暗号化を開始するに際して鍵データによって前記複数の写像関数と複数の初期値の中から写像関数と初期値を選択する初期関数生成部を備えることを特徴とする請求項11または請求項12に記載の記憶媒体。
- カオスノイズ発生手段は、写像関数を用いた整数演算によりカオスノイズを得ることを特徴とする請求項11乃至13のいずれか1項に記載の記憶媒体。
- カオスノイズ発生手段は、一次微分値が1以上である関数を写像関数として用いることを特徴とする請求項11乃至14のいずれか1項に記載の記憶媒体。
- カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段と、平文情報を所定の長さに分割した分割平文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を生成する暗号生成手段と、前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、暗号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段と、最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段とを具備し、前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を用いる暗号生成装置により生成された暗号文を復号化する暗号文復号装置において、
カオスノイズを発生する写像関数を用いてカオスノイズを発生するステップを繰り返すカオスノイズ発生手段と、
暗号文情報を所定の長さに分割した分割暗号文情報に対し、前記カオスノイズ発生手段により発生されたカオスノイズを適用する演算を行って暗号を復号する復号手段と、
前記写像関数の係数を構成する値として、前記ステップ毎に値を変化させるm変調の関数可変ベクトルを、復号化の鍵データ初期値に基づき決定する初期関数パラメータ決定手段と、
最初のmステップまでは前記ステップ毎に前記関数可変ベクトルの値を変化させ前記写像関数に適用し、
mステップを超えると、前記関数可変ベクトルに対して所定変位を加えた新たな関数を求め、m+1ステップから2mステップまでは、該新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
2mステップを超えると、前記新たな関数に対して前記所定変位を加えた次の新たな関数を求め、2m+1ステップから3mステップまでは、該次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用し、
以下、mの倍数のステップ毎に順次に次の新たな関数を求めて、求めた次の新たな関数をステップ数により歩進させて得た値を予め設定された素数である状態総数で割って、得られる剰余を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する次関数決定手段とを具備し、
前記カオスノイズ発生手段が用いる写像関数として、前記次関数決定手段により決定された写像関数を用いることを特徴とする暗号文復号装置。 - 第1の写像関数と第2の写像関数とを有し、前記カオスノイズ発生手段により発生されたカオスノイズの値が所定値を超えたか否かを検出する手段と、
前記カオスノイズの値が所定値を超えた場合には、第1の写像関数を採用して前記次関数決定手段による写像関数の変更を行って復号化を行う一方、
前記カオスノイズの値が所定値を超えていない場合には、前記第2の写像関数を採用して、該第2の写像関数における係数を構成する初期値を、1ステップ毎に所定値増加させ、この増加により得た値を前記写像関数に適用するようにして、前記写像関数を別の写像関数へ変更する手段を備えていることを特徴とする請求項16に記載の暗号文復号装置。 - カオスノイズ発生手段は、複数の写像関数と複数の初期値を予め用意し、暗号化を開始するに際して鍵データによって前記複数の写像関数と複数の初期値の中から写像関数と初期値を選択する初期関数生成部を備えることを特徴とする請求項16または請求項17に記載の暗号文復号装置。
- 請求項16乃至請求項18のいずれか1項に記載の暗号文復号装置が行う処理をコンピュータに行わせるプログラムが記憶された記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004298279A JP3966875B2 (ja) | 2004-10-12 | 2004-10-12 | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004298279A JP3966875B2 (ja) | 2004-10-12 | 2004-10-12 | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000101402A Division JP3953253B2 (ja) | 2000-04-03 | 2000-04-03 | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005049898A true JP2005049898A (ja) | 2005-02-24 |
JP3966875B2 JP3966875B2 (ja) | 2007-08-29 |
Family
ID=34270349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004298279A Expired - Lifetime JP3966875B2 (ja) | 2004-10-12 | 2004-10-12 | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3966875B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019021386A1 (ja) * | 2017-07-26 | 2019-01-31 | 日本電気株式会社 | 乱数算出装置、乱数算出方法、暗号装置、及び、乱数算出プログラムが記録された記録媒体 |
-
2004
- 2004-10-12 JP JP2004298279A patent/JP3966875B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019021386A1 (ja) * | 2017-07-26 | 2019-01-31 | 日本電気株式会社 | 乱数算出装置、乱数算出方法、暗号装置、及び、乱数算出プログラムが記録された記録媒体 |
US11579845B2 (en) | 2017-07-26 | 2023-02-14 | Nec Corporation | Random number generation device, random number generation method, encryption device, and non-transitory recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP3966875B2 (ja) | 2007-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alabdulatif et al. | Towards secure big data analytic for cloud-enabled applications with fully homomorphic encryption | |
US11334320B2 (en) | Generating randomness in neural networks | |
Krause et al. | A Dirichlet–Neumann type algorithm for contact problems with friction | |
JP3953253B2 (ja) | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
US20070053506A1 (en) | Elliptic curve encryption processor, processing method of the processor using elliptic curves, and program for causing a computer to execute point scalar multiplication on elliptic curves | |
US7177422B2 (en) | Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program | |
JP3966875B2 (ja) | 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 | |
Raman | Parallel processing of chaos-based image encryption algorithms | |
Martins et al. | Arithmetical improvement of the round-off for cryptosystems in high-dimensional lattices | |
Stehlé | On the randomness of bits generated by sufficiently smooth functions | |
JP4193176B2 (ja) | 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置 | |
CN117196052A (zh) | 多项式模乘运算器、运算方法及相关装置 | |
CN117196053A (zh) | 多项式模平方运算器、运算方法及相关装置 | |
May et al. | Signature Algorithms on Non-commutative Algebras Over Finite Fields of Characteristic Two | |
Oh et al. | Efficient software implementation of homomorphic encryption for addition and multiplication operations | |
JP3332270B2 (ja) | べき乗演算装置 | |
KR100885994B1 (ko) | 비선형 필터링된 t함수에 기반한 스트림 암호화 장치 및방법 | |
Andreev et al. | Effective quaternion and octonion cryptosystems and their FPGA implementation | |
Kiran et al. | A Scalable Approach to Performing Multiplication and Matrix Dot-Products in Unary | |
RU2572423C2 (ru) | Способ формирования s-блоков с минимальным количеством логических элементов | |
Chervyakov et al. | Researches of Algorithm of PRNG on the Basis of Bilinear Pairing on Points of an Elliptic Curve with Use of a Neural Network | |
JP2006309201A (ja) | 楕円曲線暗号における多重スカラー倍計算装置、署名検証装置、及び、それらのプログラム。 | |
JP2023072837A (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP4896076B2 (ja) | 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070427 |
|
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: 20070529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070529 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3966875 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100608 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110608 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120608 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130608 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |