JP2001285277A - 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 - Google Patents

暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

Info

Publication number
JP2001285277A
JP2001285277A JP2000101402A JP2000101402A JP2001285277A JP 2001285277 A JP2001285277 A JP 2001285277A JP 2000101402 A JP2000101402 A JP 2000101402A JP 2000101402 A JP2000101402 A JP 2000101402A JP 2001285277 A JP2001285277 A JP 2001285277A
Authority
JP
Japan
Prior art keywords
function
noise
encryption
chaos
mapping function
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
JP2000101402A
Other languages
English (en)
Other versions
JP3953253B2 (ja
Inventor
Hidetoshi Okutomi
秀俊 奥富
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.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan 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 Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2000101402A priority Critical patent/JP3953253B2/ja
Publication of JP2001285277A publication Critical patent/JP2001285277A/ja
Application granted granted Critical
Publication of JP3953253B2 publication Critical patent/JP3953253B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 適切な暗号化を行うことのできる暗号生成装
置を提供する。 【解決手段】 カオスノイズを発生する写像関数を用い
て暗号化の鍵データに基づきカオスノイズを発生するカ
オスノイズ発生手段1と、平文情報を所定の長さに分割
した分割平文情報に対し、前記カオスノイズ発生手段1
により発生されたカオスノイズを適用する演算を行って
暗号を生成する暗号生成手段2と、前記分割平文情報に
適用するカオスノイズを発生する写像関数を第1の周期
毎に変更する次関数決定手段3とを具備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はカオス信号を用い
て暗号化を行う暗号生成装置、同暗号化を行う暗号生成
プログラムを使用する電子機器、同プログラムを記憶し
た記憶媒体に関するものである。
【0002】
【従来の技術】近年、デジタルデータの安全性確保の理
由より、暗号化技術は飛躍的に発展してきた。これと共
に、暗号化処理が複雑化する傾向がある。例えば、DE
S(Data Encryption Standard)に代表されるブロック
型暗号では、一般的に鍵長の増加により関数処理の増加
及び複雑化が生じ、処理の低速化を招来する。また、R
SA(Riverst Shamir Adleman)や楕円曲線暗号のよう
に、自然原理的に難解であることを応用した優れた暗号
方式もあるが、暗号化処理の高速化がなされているとは
言い難い。暗号により実現される安全面と暗号化処理の
高速化は、一般的に相反する要素と考えられるが、通信
データの暗号化等、高速性と安全性の両方を求められる
ようになってきたこともまた事実である。
【0003】ところで、カオスは初期値のわずかな違い
で全くでたらめな軌道を描くことから、暗号作成の分野
への応用が期待されている。従来の代表的な暗号方式に
は、カオスのような「偶然性」が備えるある意味無責任
な振るまいがもたらす根本的な「複雑さ」を暗号化へ応
用するという発想はなかったと言える。また、カオス
は、未来へは決定論的であるが過去へは予測困難という
一方向性を持ち、データからの逆解析やカオスパラメー
タの推測を困難にしている。更に、写像関数系のカオス
は、非常に高速なストリーム性を呈し、ブロック型のよ
うな多段処理の必要性がないという特徴を有する。カオ
スは安全面と高速面から、暗号応用には最適のメカニズ
ムを持ち合わせていると考えられる。
【0004】ロジスティック写像を例に挙げると、写像
関数(カオス関数)は、 X n+1 =aXn(1-Xn)(0<Xn<1,3.6<a<4(制限あり)) (式a) のように与えられ、(式a)の反復使用によりカオス乱
数列<Xn>を得ることができる。そして、(式a)の反復
毎に得たカオス信号Xnを256 段階に量子化し、平文1bye
に付加する暗号ノイズとして使用する。この操作を平文
がなくなるまで繰り返すことにより1つの平文を暗号化
することができる。
【0005】(式a)は、係数aの微小な差異、例え
ば、倍精度実数型(浮動小数点演算)においては、表現
しうる最小〜1.0E-15 の差異で、全く異なる乱数列を生
成する。例えば、図3に示されるように初期値の僅かな
差によってそれぞれ異なる軌跡を描き、これがカオスの
初期条件敏感性などと称されている。ここで生成される
パターンと係数aの関連性はつかめないこと、X の初期
値X0の推測が困難なことがカオスの性質であり、係るカ
オスの性質こそが暗号応用の着眼点であり、係数aおよ
びX0を鍵で与える手法が採られる。
【0006】
【発明が解決しようとする課題】以上の通りカオスは初
期条件に非常に敏感であり、倍精度実数型演算では、仮
数部が表現し得る限界、つまり 1.OE-15( 1.0 ×10-15
(以下同様の表記を用いる。)程度の誤差が計算を反復
する毎に指数関数的に広がっていくものである。係る点
がカオスの暗号応用の着眼点となっている。一方、異な
るプロセッサ間の演算特性差にも非常に敏感に反応し、
誤差発生以降、全く異なる軌道を歩むことになる。例え
ば、SPARC (Scalable Process Architecture )で暗号
化したデータがAlpha,Intel x86 では復号できないとい
う現象が生じる。このため汎用性をもたせるには、何ら
かのイコライズ操作が必要となる。
【0007】そこでソフトウェア的に最も簡単に実現す
る方法として、例えば、ステップ毎に(倍精度実数型)
から(単精度実数型)への型変換操作を行うことが考え
られる。しかし、単精度実数型では 1.0E-7 が表現の限
界であるため、倍精度実数型に比べ8桁分(10進表
記)の精度が失われる。従って、状態数は大幅に減少す
るという問題点がある。
【0008】このような少数ビット量子化表現において
は、カオスの縮退問題を考慮に入れる必要性が生じる。
「縮退」は、以前算出した値に偶然に戻ることで周期性
を生じる原因となる。また、大幅な桁落し操作により、
理論解では与えられない個所に周期点が発生する可能性
がある。確率的にも「縮退」の頻度は大きくなり、特に
早い周期性を与えてしまう。
【0009】カオスの本質はアナログ量である。このた
め、デジタルでの正確な再現には無限ビット演算装置が
必要となる。しかし現実的に無限ビット演算は不可能な
ため、カオス信号の量子化過程が必須となる。特に整数
演算化、少数ビット量子化表現を行う場合には、カオス
の歩む軌道数を大きく減少させ、パターン数の減少ばか
りでなく、「縮退」発生によるパターンの単一化、少数
化、およびこれに起因する周期の現れの早期化等、暗号
応用には致命的になり兼ねない問題が顕著化する。
【0010】本発明は上記のような問題を解決せんとし
てなされたもので、その目的は、隣接軌道が縮退を起こ
すことなく、従って発生されるカオスノイズのパターン
に周期性が表れにくく、適切な暗号化を行うことのでき
る暗号生成装置、暗号生成プログラムを使用する電子機
器、記憶媒体を提供することである。
【0011】
【課題を解決するための手段】本発明に係る暗号生成装
置や暗号生成プログラムを使用する電子機器は、平文情
報を所定の長さに分割した分割平文情報に、暗号化の鍵
データに基づきカオスノイズを発生する写像関数を用い
て得たカオスノイズを適用する演算を行って暗号を生成
する暗号生成装置や暗号生成プログラムを使用する電子
機器において、前記分割平文情報に適用するカオスノイ
ズを発生する写像関数を第1の周期毎に変更することを
特徴とする。これにより、カオスノイズを発生する写像
関数が第1の周期毎に変更される。
【0012】本発明に係る暗号生成装置や暗号生成プロ
グラムを使用する電子機器、記憶媒体は、前記第1の周
期毎に変更した写像関数のパラメータについて、前記第
1の周期よりも短い第2の周期にて変更を行うことを特
徴とする。これによって、写像関数のパラメータが変更
される。
【0013】本発明に係る暗号生成装置や暗号生成プロ
グラムを使用する電子機器、記憶媒体は、複数の写像関
数と複数の初期値を予め用意し、暗号化を開始するに際
して鍵データによって前記複数の写像関数と複数の初期
値の中から写像関数と初期値を選択することを特徴とす
る。これにより、複数の写像関数と複数の初期値の中か
ら写像関数と初期値が選択される。
【0014】本発明に係る暗号生成装置や暗号生成プロ
グラムを使用する電子機器、記憶媒体は、写像関数を用
いた整数演算によりカオスノイズを得ることを特徴とす
る。これにより、整数演算においてカオスノイズが得ら
れる。
【0015】本発明に係る暗号生成装置や暗号生成プロ
グラムを使用する電子機器、記憶媒体は、一次微分値が
1以上である関数を写像関数として用いることを特徴と
する。これにより、隣接軌道が縮退を起こさない写像関
数によりカオスノイズが得られる。
【0016】本発明に係る暗号生成装置は、カオスノイ
ズを発生する写像関数を用いて暗号化の鍵データに基づ
きカオスノイズを発生するカオスノイズ発生手段と、平
文情報を所定の長さに分割した分割平文情報に対し、前
記カオスノイズ発生手段により発生されたカオスノイズ
を適用する演算を行って暗号を生成する暗号生成手段
と、前記分割平文情報に適用するカオスノイズを発生す
る写像関数を第1の周期毎に変更する次関数決定手段と
を具備することを特徴とする。これにより、カオスノイ
ズを発生する写像関数が第1の周期毎に変更される。
【0017】本発明に係る記憶媒体は、平文情報を所定
の長さに分割した分割平文情報に、暗号化の鍵データに
基づきカオスノイズを発生する写像関数を用いて得たカ
オスノイズを適用する演算を行って暗号を生成する処理
をコンピュータに行わせるプログラムが記憶された記憶
媒体において、前記プログラムは、前記分割平文情報に
適用するカオスノイズを発生する写像関数を第1の周期
毎に変更する処理を行うことを特徴とする。これによ
り、カオスノイズを発生する写像関数が第1の周期毎に
変更される。
【0018】
【発明の実施の形態】以下本発明の実施の形態に係る暗
号生成装置、暗号生成プログラムを使用する電子機器、
記憶媒体を説明する。本実施の形態では、整数演算によ
りカオスノイズを発生する。 [整数演算化]ロジスティック写像関数を示す(式a)
は、図4に示すような幾何学的な反復構造を備えてい
る。このロジスティック写像関数を縦、横ともに等倍し
た2次元空間においても反復構造は保たれる。そこで本
実施の形態では、整数演算可能な範囲までロジスティッ
ク写像関数を拡大し、整数値への量子化を図る。これが
整数演算化の原理である。例えば、本実施の形態におい
て用いる32-bitプロセッサの場合には、2次式を計算す
る関係上、16-bit範囲:1〜65535までを写像範囲として
扱っている。また、64-bitプロセッサの場合では、32-b
it範囲:1〜4,294,967,295 までが写像範囲として有効で
ある。このように64-bit演算では32-bit演算より多くの
カオス状態数を用いることが可能となるため有利であ
る。
【0019】整数演算化の利点は、異なるプロセッサ間
の浮動小数点演算特性差を意識しなくてよい点にある。
従って、イコライズ操作過程が不要となり、汎用性が保
てるなどの利点もある。また、整数演算による暗号生成
装置(ディバイス)はLSI化が容易であり、比較的低
コストでありながらセキュリティのレベルが高いチップ
へ応用すること等が見込めるものである。
【0020】[原理]本発明のような整数演算化、少数
ビット演算化では、(式a)に示すロジスティック写像
関数の係数aを固定した場合には(関数形を固定した場
合には)、式(a)のxは「縮退」を起こし、最終的に
数個のアトラクターに引き込まれる。つまり、少数パタ
ーン化を招くと共に早期周期性が顕著化する。また、整
数値量子化過程(小数点以下切り捨て)による不意な周
期点発生等が懸念される。従って、整数演算化では、
[カオス暗号原理]で述べた手法をそのまま用いた暗号
応用は見込めない。
【0021】そこで、写像関数形をある時間間隔で変化
させ、カオス軌道を積極的に交叉、撹乱する手法を本発
明において採用する。つまり、写像関数の可変パターン
を鍵より求めるという手法を用いる。カオス発生は、領
域の「引き延ばし」と領域内への「折り畳み」の繰り返
しを原理としている。一般に、「引き延ばし」過程では
隣接間距離が離れ、一方「折り畳み」過程において離れ
た場所からの「縮退」を生じる。特にロジスティック写
像では、「折り畳み縮退」以外に「隣接軌道の縮退」を
起こす領域が存在する。
【0022】「引き延ばし」過程での縮退は免れ得ない
が、「隣接軌道の縮退」は、関数形を選ぶことより回避
できる。従って、本実施の形態に係る整数演算型の暗号
化処理では、縮退や早期周期性の発生を極力避ける意味
でロジスティック写像関数の利用を避ける。また、ロジ
スティック写像には周期窓が多く存在するため、関数可
変化にあたり、カオスコントロールパラメータ(ロジス
ティック写像の場合では(式a)における係数aの値)
を連続的に配置できないため、関数を可変する場合のパ
ラメータの配置(設定)が複雑になる。
【0023】更に整数演算型では、写像範囲内において
X が取りうる状態数が極めて少ない。例えば、32-bitC
PUを用いた演算の場合を考察すると、一般的に上記C
PUを用いて数段の演算を行うことによって写像範囲を
広げることができるのであるが、演算の段数を増やすこ
とは処理ステップ数の増加を意味し、処理速度の低下を
招くことになる。そこで本例では、できるだけ写像範囲
を広くとるという要請と処理速度の低下をもたらさない
という要請に鑑み、2段の演算によって16-bit範囲であ
る1〜65535 までを考えることにより、処理速度の大き
な低下がなく、且つできる限り広いカオス領域を持つ関
数を採用する。上記の留意点を元に、(A−1)隣接軌
道が縮退を起こさない、(A−2)可変化パラメータの
配置(alloction) が容易である、(A−3)カオス領域
ができるだけ広い、という(A−1)〜(A−3)から
なる3つの命題を満たすような関数を選択し、整数演算
型可変化設計を行う。
【0024】[関数設計例]「隣接軌道の縮退」は、写
像関数の1階微分値が|f’|<1の領域で起こる。図
5を参照するとロジスティック写像の場合には、隣接軌
道の縮退発生領域は全体の25%以上にまでに及ぶこと
が概ね理解できる。従って、必ず|f’|≧1を満たす
ような写像関数の設計を行う必要がある。これよりリア
プノフ指数(後述(h1)〜(h3))は反復毎で正となり、隣
接軌道は発散関係を維持できる。
【0025】設計関数において|f’|<1の領域を省
くと、例えば図6に示すように頂点を境に1次導関数が
不連続となる。ここで本実施の形態では、頂点を境に左
側関数(左側)、右側関数(右側)と呼ぶことにする。
次に具体的に一般解を求める。ここでは簡単のため、
(式b1)のような2次の写像関数を考える。(式b
1)の1次導関数は(式b2)に示される通りである。 f(x)=ax2 +bx+c (式b1) f´(x)=2a+b (式b2)
【0026】有効写像区間を0<x<2k+1 とし、頂点
座標を(p,h)に取り、1次導関数f´(p)=rとする
と、|f’|≧1を満たす条件は以下のようである。 (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)
【0027】上記(式c1〜c4)それぞれの連立方程
式の解(不等式)が、係数a,b,cの取りうる範囲で
ある。特に、上に凸の左側関数では、r=rr/pとした場合
には、(r≧1より、rr≧p) が成り立ち、 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乗等を意味するものでは
ない。
【0028】上記(式d1)〜(式d5)を用いて関数
fを表現すると、 f(x,p,h,rr) =-{(h-rr)/p2 }x2 +{(2h-rr)/p}x (式e1) h>rr≧p (式e2) なる関数形(式e1)および条件式(式e2)を得る。
【0029】この解を満たす全ての(p,h,rr)の組み合わ
せ(整数格子点の組)が有効関数形である。(式e2)
(式d4)(|関数の傾き|≧1)により、p、hの取
り得る範囲を示すと図7の網かけ表示の部分となる。
【0030】上記に対応した右側関数は、左側関数と幾
何学的に線対称を成すという理由によって x=2k+1 −x (式f) の変換後、f(0)=0 となる左側関数形と同様に扱える。
【0031】ここに、左側関数と右側関数は、共にパラ
メータpは共通であるが、h,rrはそれぞれ左側(h1,rr
1)、右側(h2,rr2)のように個別の値を採っても構わな
い。従って、以上をまとめて、関数形は以下の(式g)
により表されるf(x,p,h1,rrl、h2,rr2)のように整理す
ることができる。 (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)
【0032】[設計関数例の評価]ここで(式g)に係
る整数演算型設計関数について考察を与える。分岐図(b
ifuration Diagram) 、およびリアプノフ指数(Lyapuno
v Index) より、ロジスティック写像関数との比較を試
みる。整数演算化設計を行った(式g)において、写像
範囲は16-bit:1〜65535の場合について考える。関数形
は、(式g)が特に単純形式を取る場合を考察する。つ
まり、左右関数の分離点を写像範囲の中心(p=215
に置き、関数の左右で、h,rrを同値にした場合(h1=h2,r
r=rr2)のhに対する分岐図を図8に示す。rrは、r=3
/2*215に固定した。
【0033】図9には、図8に対応した整数演算型ロジ
スティック写像の分岐図を示す。整数演算型設計関数の
rrに対する分岐図(h=216に固定)を図10に示
す。範囲は、(式e2)を考慮に入れ、215<rr<(3
/2)*215としてある。分岐図の横軸は、本設計関数で
は可変パラメータh(図8)およびr(図10)であ
り、図9のロジスティック関数では(式a)の係数aを
意味し、複数点プロットされ黒く表されている個所がカ
オス領域を示す。図8、図9を参照することにより、本
整数演算化設計関数はロジスティック写像関数と比較
し、カオス領域が広くなっており、周期窓の存在も見ら
れないことが判る。よって、本整数演算化設計関数にお
いては、可変化パラメータの再配置がより容易である。
従って命題(A−2)を満たしていることが理解でき
る。
【0034】次にリアプノフ指数について考える。本整
数演算型設計関数(式g)のリアプノフ指数は図11に
示される通りであり、これに対応する整数演算型ロジス
ティック写像関数でのリアプノフ指数は図12に示され
る通りである。これら、図11、図12のリアプノフ指
数グラフは、分岐図と同じ範囲について算出し、示して
ある。
【0035】リアプノフ指数は、近接する2点間の広が
り具合(発散関係または収束関係)を示したもので、分
岐図と同様にカオス状態を裏付ける指標である。 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)にお
けるλがその広がり具合を表す。
【0036】λ>0 (2点は広がる関係:発散関係) λ<0 (2点は狭まる関係:収束関係) これを十分大きいステップに対し、(式h3)のように
相加平均を取った値がリアプノフ指数であり、図11、
図12のグラフのようになる。 n-1 Lyapunov Index=(1/n)Σln|{f(xn +Δx)−f(xn )}/Δx| n=0 (式h3)
【0037】上記図8、図9、図10の分岐図、及び図
11、図12のリアプノフ指数グラフより、分岐図での
カオス領域ではリアプノフ指数は正であり、非カオス領
域では負となる様子がわかる。図11と図12より、本
設計関数は写像範囲内で常に正となる。これは、初期の
隣接2点は必ず広がっていく(発散する)ことを意味
し、カオスの特徴を裏付ける重要な指標である。これよ
り、隣接軌道は常に発散関係を維持するため、命題(A
−1)を満たしていることが理解できる。更に、上記分
岐図とリアプノフ指数より、本設計関数は、ロジスティ
ック写像関数に比べカオス領域は非常に広く、整数演算
化(少数状態数)には特に貴重なパターン数の確保が可
能となることが理解できる。この点は命題(A−3)を
満たしていることを示す。
【0038】[設計関数例の状態数]次に本関数の状態
数(関数形の数)を見積もることにする。特に、ここで
は簡単のため、それぞれ、p,h,rrの条件を与える(式e
2)を以下のように割り振って考えることにする。特に
Δ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,rr
1,h2,rr2) が取り得る状態数L(関数形の総数)は、最
大で L=(2×Δw)5 (式i4) である。特に32-bit演算では、k=15 の場合に相当し、
写像範囲は0<x<2k+1 、従って写像範囲が0<x<
16の場合には、 L=(2×215) /5)5 >>(2135 =265[個] (式j1) におよぶ。
【0039】鍵より213の生成が困難な場合において、
12( =28+4 )に範囲を制限した場合にあっても、 L=(2125 =260[個] (式j2) におよぶ。
【0040】(式j1)、(式j2)は、本整数演算型
の設計関数の総数(状態総数)である。暗号生成の過程
における時間方向には、これら設計関数の組み合わせパ
ターンは無限であり、これら設計関数というリソースを
効率よく再配置(Re-Allocation )していけば常に適切
な暗号化を図ることができる。また、鍵より(式j1)
による数の設計関数を算出することが困難な場合には、
(式j2)のように設計関数の算出が容易な範囲内に制
限しても同様の効果を得ることができる。
【0041】[設計関数例での可変化原理]整数演算型
で[カオス暗号原理]をそのまま適用した場合には、少
数パターン化、早期周期化を招くことは既に述べた通り
である。従って、(式g)に示されるような隣接軌道が
縮退を起こさない設計関数と、(式i1)〜(式i3)
に示される条件に従って、ある時間間隔で写像関数を変
化させ積極的に軌道を交叉し撹乱させる手法が[本発明
の原理]と言える。これら関数の可変パターンは鍵より
求める。
【0042】本整数演算型の設計関数の遷移は、(式
g)により与えられる設計関数についてパラメータ(p,h
1,rr1,h2,rr2) の組を変位することにより実現される。
ここにそれぞれの可変範囲は(式i1)〜(式i3)に
示される通りである。特にステップ毎に関数形を変化さ
せる場合、nステツプ目の関数は f(xn,p[n],h1[n],rr1[n],h2[n],rr2[n] )と表され、(式g)より、 (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) と表せられる。
【0043】特に,nステップ目の関数パラメータを (p[n],h1[n],rr1[n],h2[n],rr2[n])ΞA[n] (式l) のようにベクトル表記すると、写像関数は xn+1 =f(xn ,A[n]) (式m) のように整理される。
【0044】関数可変化は、ステップ毎(またはある時
間間隔)で写像関数を以下の(式n)のように変化させ
る。 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)を鍵より導
く。
【0045】本実施の形態では1ステップで、1byte 毎
の平文を暗号化する。平文は通常においてA[ ]の最大周
期mよりも多いバイト数を有するであろう。従って、関
数可変化パターンAが最大のmに達したとき、A[i](i=
1〜m)の基本変調形を保持しつつ、A[i]+δAの変化を
与えて単一パターンに陥らないよう対策を施すものであ
る。つまり、 A[i]=A[i] +δA(i:1 〜m:A の1周期以降) (式o) ここに、δA Ξ (δp,δh1, δrr1,δh2, δrr2)であ
る。このようにA に対する変化の与え方は、単純に線形
的に変化させても良い。その理由は、写像関数形の微妙
な変位はカオス初期条件敏感性に相当するからである。
【0046】また,A[i]の採り得る状態総数値を超えた
場合を考えて、A[i]を以下のようにする。 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, f
mod(13,6)=1 である。
【0047】次に上記の原理に基づく暗号生成装置、暗
号生成プログラムを使用する電子機器の実施の形態を説
明する。この暗号生成装置、暗号生成プログラムを使用
する電子機器は、例えば、パーソナルコンピュータ、ワ
ークステーション等の各種電子計算機やLSI或いはネ
ットワークによるシステムなどとして実現され、図1に
示される機能ブロック図にて表すことができる。
【0048】暗号生成装置または暗号生成プログラムを
使用する電子機器は、カオスノイズ発生手段1、暗号生
成手段2、次関数決定手段3を具備する。カオスノイズ
発生手段1は、カオスノイズを発生する写像関数を用い
て暗号化の鍵データに基づきカオスノイズを発生するも
のであり、鍵発生部11、初期関数生成部12、カオス
ノイズ発生部13を備える。暗号生成手段2は、平文情
報を所定の長さに分割した分割平文情報に対し、カオス
ノイズ発生手段1により発生されたカオスノイズを適用
する演算を行って暗号を生成するものであり、平文分割
部21と暗号文生成部22とを具備する。次関数決定手
段3は、分割平文情報に適用するカオスノイズを発生す
る写像関数を第1の周期毎に変更するものであり、周期
検出部31と関数変更制御部32とを具備する。
【0049】鍵発生部11は、鍵発生指示入力を受けて
鍵情報を発生するものである。初期関数生成部12は、
鍵発生部11により発生された鍵情報を用いて(式g)
に係る関数の初期関数を生成してカオスノイズ発生部1
3へ送るものである。カオスノイズ発生部13は、上記
初期関数を用いてカオスノイズを発生して出力するもの
である。
【0050】平文分割部21は、平文(暗号化される以
前の文)データを入力し1バイト単位に分割して出力す
る。暗号文生成部22は、分割された平文を平文分割部
21から得ると共に、カオスノイズをカオスノイズ発生
部13から受け取り、これらを演算により暗号化して出
力する。
【0051】周期検出部31は、A[i]のm変調分の周期
を検出するものであり、関数変更制御部32は、周期検
出部31がm変調分の周期を検出する毎に(式o´)に
よる処理によりA[i]に変更を加えて写像関数自体を変更
し、カオスノイズ発生部13へ提供するものである。カ
オスノイズ発生部13は、次の1サイクルについて変更
された写像関数を用いてカオスノイズを発生することに
なる。
【0052】以上のように構成される暗号生成装置、暗
号生成プログラムを使用する電子機器は、実際には図2
に示されているフローチャートに対応するプログラムに
より動作するので、このフローチャートを用いて動作を
説明する。尚、このプログラムは、ROM等のメモリ、
CD−ROMやフロッピーディスク、その他の記憶媒体
に記憶されてプロセッサに供される。
【0053】さて、図2の処理が起動されると、鍵より
xの初期値及びA[i]の初期関数パターンを決定する(S
1)。例えば、xが採り得る全ての値とA[i]が採り得る
全てのパラメータを組み合わせて初期値候補(M個の候
補)を用意する。一方、0〜9の数字、大小の英字、
#,+,=等の記号により64キャラクタを定めて、こ
の64キャラクタをいくつか組み合わせてMパターンの
キャラクタ組み合わせを作り、Mパターンのキャラクタ
組み合わせのいずれかと上記M個の候補のいずれかとを
1対1に対応させたメモリテーブルを用意し、鍵発生部
11とする。暗号作成に当たり、オペレータが64キャ
ラクタのいくつかのキャラクタを選択入力すると、鍵発
生部11はこれを受けて上記メモリテーブルから対応す
る1つの初期値候補を出力する。
【0054】次に、iを1とすると共にxを初期値とし
(式g)に適用して初期関数を生成する(S2)。さら
に、平文の1バイトを読み込みレジスタcへセットし
(S3)、ステップS2にて生成した(式g)の初期関
数を用いてカオスノイズ値Xの算出を行い(S4)、算
出したカオスノイズ値Xの下位1バイトを得て情報落ち
1バイトノイズ(xadd)を生成する(S5)。この
ステップS5における演算をxadd=fred(x)
と表記している。
【0055】次に、レジスタcにセットした平文の1バ
イトと、情報落ち1バイトノイズ(xadd)との排他
的論理和演算を行って1バイトの暗号文を生成する(S
6)。更に、A[i]におけるiがA[i]の周期mより小さい
かを検出し(S7)、小さい場合には、iを1インクリ
メントして写像関数を変調し(S8)、暗号化すべき平
文が終了したか否かを検出する(S9)。ここで未終了
であることが検出されると、ステップS3へ戻って平文
の次の1バイトを読み出してレジスタcへセットし、以
下ステップS4〜S9を繰り返す。このように動作を継
続するうちに、A[i]におけるiがA[i]の周期m以上とな
り、ステップS7においてNOへ分岐して、(式o´)
であるA[i]=g(A[i])より、次の関数パターンを生成する
(S10)。そして、iを1として(S11)、ステッ
プS9へ進み以降の動作を続けることにより平文の全て
を暗号化してステップS9にてYESへ分岐して処理を
終了する。
【0056】以上のようにして作成された暗号文は受側
において復号され元の平文へ戻される。この復号装置の
構成例を図13に示す。図1と同一構成要素には同一符
号を付して示すように、暗号生成装置に用いられたと同
一構成のカオスノイズ発生手段1、次関数決定手段2が
用いられる。復号化装置においては、復号化手段4が備
えられる。
【0057】復号化手段4は、暗号文分割部41と復号
部42とを具備する。暗号文分割部41は暗号化された
暗号文データを入力し1バイト単位に分割して出力す
る。復号部42は、分割された暗号文を暗号文分割部4
1から得ると共に、カオスノイズをカオスノイズ発生部
13から受け取り、これらを演算して暗号文を復号化し
て出力する。
【0058】以上のように構成される暗号文の復号装置
は、実際には図14に示されているフローチャートに対
応するプログラムにより動作するので、このフローチャ
ートを用いて動作を説明する。尚、このプログラムは、
ROM等のメモリ、CD−ROMやフロッピー(登録商
標)ディスク、その他の記憶媒体に記憶されてプロセッ
サに供される。
【0059】図14の処理が起動されると、鍵よりxの
初期値及びA[i]の初期関数パターンを決定する(S2
1)。この場合、鍵は暗号化の際の鍵が選択される。鍵
発生の構成は暗号生成装置等の構成と同様である。次
に、iを1とすると共にxを初期値とし(式g)に適用
して初期関数を生成する(S22)。さらに、暗号文の
1バイトを読み込みレジスタdへセットし(S23)、
ステップS22にて生成した(式g)の初期関数を用い
てカオスノイズ値Xの算出を行い(S24)、算出した
カオスノイズ値Xの下位1バイトを得て情報落ち1バイ
トノイズ(xadd)を生成する(S25)。
【0060】次に、レジスタdにセットした暗号文の1
バイトと、情報落ち1バイトノイズ(xadd)との排
他的論理和演算を行って1バイトの平文を生成する(S
26)。更に、A[i]におけるiがA[i]の周期mより小さ
いかを検出し(S27)、小さい場合には、iを1イン
クリメントして写像関数を変調し(S28)、復号化す
べき暗号文が終了したか否かを検出する(S29)。こ
こで未終了であることが検出されると、ステップS3へ
戻って暗号文の次の1バイトを読み出してレジスタdへ
セットし、以下ステップS24〜S29を繰り返す。こ
のように動作を継続するうちに、A[i]におけるiがA[i]
の周期m以上となり、ステップS27においてNOへ分
岐して、(式o´)であるA[i]=g(A[i])より、次の関数
パターンを生成する(S30)。そして、iを1として
(S31)、ステップS9へ進み以降の動作を続けるこ
とにより暗号文の全てを複号化してステップS29にて
YESへ分岐して処理を終了する。
【0061】上記暗号化及び復号化において、(式g)
の設計関数式および(式i1)〜(式i3)のパラメー
タ割り当て条件下において、関数形総数(状態総数)
は、k=15 、つまり写像範囲が0<x<216の場合に
は、(式j1)、(式j2)より、最大でL=265個と
なる。特に(式j2)の場合には、関数の総数はL=2
60である。従って、単純に関数可変べクトルA[ ]のm変
調では、(260m の暗号化パターンを有し、m=17変調
では1024bit を超える暗号化パターンを有することにな
る。このように、暗号化と復号化において処理が進行す
るにつれて所定周期毎にに関数の可変パターンを与える
方式では、mを大きく取ることで、原理的に莫大数乃至
無限の暗号化パターンを発生できるポテンシャルを有し
ている。実際にはA[ ]のm=9変調で512bit暗号化パタ
ーン、m=5変調で256bit暗号化パターンなど、強度を
調整し使用する。また、本アルゴリズムの構成上、mの
値を多くとっても(鍵長を増加させても)処理の低速化
を生じることはない。
【0062】しかし、同じA[ ]の状態を連続して与える
ことは、(式a)の係数aを固定する場合と変わらない
ので、左右の関数を独立した変位方式を与えるなどの対
策が必要となる。またδAの与え方にも工夫が必要とな
る。具体的なパラメータ変動手法を次に示す。
【0063】[具体事例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 となる。
【0064】しかし、別途指定のA´[i] 系列のi=1〜
4を 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] 軌道は全く同軌道を歩むことになり、
独立性を保てなくなる。
【0065】そこで,新たにδA を次に示す(式p)に
より与え、A[i]の初期のパターンA0[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]パターンのオリジナリティーを保ちつつ
変形できる。
【0066】つまり、A[i]、A´[i] は以下のように変
位し、しだいに離れていく。 A[i]:1234 2468 369c ・・・ これは、δA[i]が1234であることによっている。 A´[i]:2468 48a0 ・・・・ これはδA´[i] が2468であることによっている。
【0067】しかし,δA が 1,3,5など,状態総
数 (ここでは16) の因数でない場合、最大の16の周期
をもつが、例えばδA が16の因数である2、4、8を
指定した場合には、 2→4→ 6→ 8→a→ c→ e→ 0→ 2 (8の周期) 4→ 8→ c→ 0→4 (4の周期) 8→ 0→ 8 (2の周期) のように、早いうちに元に戻り、周期にムラが生じる。
【0068】従って、(式g)により示される設計関数
(式g)の状態総数(関数形の総数)には素数値を与え
ることとする。つまり、(式g)により示される設計関
数(式g)の状態総数(関数形の総数)の最大値を全て
鍵として割り当てずに、(式j2)に示されるようにパ
ラメータ配置範囲に余裕を持たせておき、例えば、変調
数mが16より上の素数を用い、関数の最大可変周期を
変調数mが17である場合とする。尚、この拡張領域
は、直接鍵で指定することは不可能とする。
【0069】従って、 要請:パラメータの状態総数は素数を起用 (文q) という要請を満たすように(式g)により示される設計
関数の状態総数(関数形の総数)を採用する。斯して、
素数はそれ以下の数に因数をもたないために、全てのA
[i]が16の周期をもつこととなる。図15に、A[1]と
δA[i]による上記の例を示した。このように、関数の可
変手法は(式p)に示した如く極めて単純である。これ
は、カオスのパラメータ及び初期値の推定困難性という
初期条件敏感性を利用した結果である。つまり、カオス
によれば、単純な関数を可変する手法を推測することが
困難となるのである。これにより最小限の計算ステップ
の増加で処理が可能となる利点を有する。
【0070】これよりベクトルA に関する16階調、つ
まり全て16の周期(17番目は使わない)を持つベク
トルA を得ることができ、効率よくパラメータ配置範囲
内を走査できるようになる。上記では例として1次元パ
ラメータで考えたが、実際に(式g)では可変パラメー
タは(p,h1,rr1,h2,rr2という) 5つが存在する。従って
個々のパラメータについて上記をあてはめる。
【0071】より具体的には、(式i1)〜(式i4)
より、2×Δw=212程度としたとき、パラメータ(p,h
1,rr1,h2,rr2) のそれぞれ個々の状態総数は2×Δw=
12個ということである。212=4096以上の素数は順に
4099,4111,4127,4129,4133であり、上述(文q)に示さ
れた「パラメータ状態総数は素数であること」という要
請に従って、上記各パラメータを p Max =4099 h1 Max =4111 rr1 Max =4127 h2 Max=4129 rr2 Max=4133 以上 (式r) のように確保する。
【0072】これら組み合わせより、初期変調(鍵)の
オリジナリティーを保ちつつ莫大周期の乱数列を確保で
きる。(式r)の場合には、概算でp Max ×h1 Max
×rr1 Max ×h2 Max ×rr2 Max ×mが1.18E+18と
いう長周期を確保できることになる。
【0073】ところで、32−bit 演算の場合には、写
像関数はステップ毎に16-bitのカオス乱数(ノイズ)x
を生成する。 xadd=fred(x) =x & 255 (& はビットごとのAND 演算) (式s) d= c(XOR)xadd (c:平文,d:暗号文) (式t) のように下位8-bit(1byte)を抽出し、平文1byteとXOR
(排他的論理和)を取り暗号文とする。暗号ノイズxadd
は,元のカオス信号から上位8-bit の情報が落ちている
ため、平文、暗号文のペアからでも,正しいカオス信号
は得られない。
【0074】上記の [具体事例1] において説明した処
理を盛り込んで、図2に示した暗号化のフローチャート
及び図14に示した復号化のフローチャートを変更する
と、それぞれ図16と図17に示されるようになる。図
2、図14と異なる部分を説明する。まず、ステップS
1−A(S21−A)では、鍵よりxの初期値及びA[i]
の初期関数パターンを決定するのであるが、ここで決定
した初期関数パターンの各パラメータの値を、後のステ
ップS10−A(S30−A)におけるfmodによる計算
のために、p[i],h1[i],rr1[i],h2[i],rr2[i]として保持
する。
【0075】次に、ステップS2−A(S22−A)で
は、iを1としxを初期値とし(式g)に適用して初期
関数を生成し、後のステップS10−A(S30−A)
におけるfmodによる計算のために、上記ステップS1−
A(S21−A)で求めたパラメータ値p[i],h1[i],rr1
[i],h2[i],rr2[i]を、δp[i], δh1[i],δrr1[i], δh2
[i],δrr2[i]として保持する。
【0076】そして、次の関数パターン生成するステッ
プS10−A(S30−A)においては、各パラメータ
状態数を素数として(式r)に示されるように確保し、
(式p)による計算を行ってパラメータを得て、これを
用いて次の関数パターンを生成する。
【0077】[具体事例2]この具体事例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 )に全て同じ値が入った場合、つまり、鍵で同じ値
を指定された場合にあっても、単調化、または、不意の
周期点発生等を避け、積極的に軌道を交叉、撹乱させる
効果がある。
【0078】右側関数のδright=δB の与え方として
は、素数かつ右側の各パラメータ状態総数の因数でない
値を与えることとする。これより右側関数の取りうる関
数変調領域全体を効率的に走査できる。
【0079】[具体事例2]での関数設計例を以下に示
す。 <1>(式g)におけるパラメータ(p,h1[ ],rr1[ ],h
2,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
(素数)とした。
【0080】以上のように設計した場合における暗号化
ノイズ((式s)、(式t)におけるxadd)のデータを
図18、図19に示す。両者は、鍵値(初期変位パター
ン)を1だけずらした場合(h1[10]成分のみ、わずかに
1だけずらしたものを使用した場合)の例である。
【0081】次に、上記[具体事例2]における関数設
計例の評価を行う。上記[具体事例2]での関数設計例
の場合、h1 max=4099、rr1 max=4111、初期の変調:
11変調/周期より、 (4099×4111) 11>>(4096×4096) 11=(212×21211=2264 (式u) なので、256-bit 以上の暗号化パターンをもつ。また、
最低限保証できる乱数周期は、 4099×4111×10=168,509,890= 約160MByteである。 (式v) ここでは、(式g)中の2つのパラメータ(h1[ ],rr1
[ ])を用いたが、更にpを可変することが可能であ
る。
【0082】pを可変する場合には、 (p Max ×h1 Max ×rr1 Max )m の暗号化パターン (式w) および p Max ×h1 Max ×rr1 Max ×m の乱数周期 (式x) をもつ。
【0083】具体的には、 p Max =4099(>212) h1 Max =4111(>212) rr1 Max =4127(>212) m=10変調周期 の場合、(式w)の(p Max ×h1 Max ×rr1 Max )
m が(23610となることから、360-bit を超える暗号
化パターンとなる。また、(式x)の p Max ×h1 Ma
x ×rr1 Max ×m が640.0×109 となるから、約640GB
yteの乱数周期となる。
【0084】そして、m=29変調周期で1024-bitを超
える暗号化パターン、m=114変調周期で4096-bitを
超える暗号化パターンとなり、本方式は初期の大きな変
調パターンmを与えることで、暗号化を進める場合に莫
大な暗号化パターンを発生できるポテンシャルを持つと
共に、パラメータの最大変動範囲(関数状態総数)内を
効率よく変化させることで、同時に長周期化を図り得る
構成を有している。また、本アルゴリズムの構成上、m
の値を多くとっても(鍵長を増加させても)処理の低速
化を生じることはない。
【0085】[具体事例2]による暗号化のフローチャ
ートを図20に示し、復号化のフローチャートを図21
に示した。ここでは簡略表記のため、左側関数について
具体事例1と同様に5つのパラメータをA[ ]とべクト
ル表記した。また、右側関数のパラメータをBとべクト
ル表記した。左右関数とも、(式g)及び(式k)に基
づいている。
【0086】さて、図20の処理が起動されると、鍵よ
りxの初期値及びA[i]の初期関数パターンを決定する
(S41)。ここで[具体事例2]についての鍵設計例
を示す。[具体事例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)のような初期値/可変
パターンへの数値変換操作を行う。その際に、既に説明
した別途用意されたメモリテーブルからテーブル変換を
行うとよい。
【0087】次に、図20の処理においては、iを1と
すると共にxを初期値とし(式g)に適用して初期関数
を生成すると共に、δA[i]と右側関数のためBを用意す
る(S42)。さらに、平文の1バイトを読み込みレジ
スタcへセットし(S43)、xの範囲が215より小さ
いか否かを検出し(S44)、xの範囲が215より小さ
い場合には、ステップS42にて生成した(式g)の初
期関数の内の左関数を用いてカオスノイズ値xの算出を
行い(S45)、更に、A[i]におけるiがA[i]の周期m
より小さいかを検出し(S46)、小さい場合には、i
を1インクリメントして写像関数を変調し(S47)、
算出したカオスノイズ値xの下位1バイトを得て情報落
ち1バイトノイズ(xadd)を生成する(S48)。
【0088】次に、レジスタcにセットした平文の1バ
イトと、情報落ち1バイトノイズ(xadd)との排他
的論理和演算を行って1バイトの暗号文を生成する(S
49)。更に、暗号化すべき平文が終了したか否かを検
出する(S50)。ここで未終了であることが検出され
ると、ステップS43へ戻って平文の次の1バイトを読
み出してレジスタcへセットし、以下ステップS44〜
S50を繰り返す。このように動作を継続するうちに、
A[i]におけるiがA[i]の周期m以上となり、ステップS
46においてNOへ分岐して、(式o´)であるA[i]=g
(A[i])より、次の関数パターンを生成する(S51)。
そして、iを1として(S52)、ステップS48へ進
み以降の動作を続ける。
【0089】また、上記ステップS44においてxの範
囲が215以上であることが検出された場合には、ステッ
プS42にて生成した(式g)の初期関数の内の右側関
数を用いてカオスノイズ値xの算出を行い(S53)、
BにδB(既述のδright)の変位を与えて(S54)ス
テップS48へ進む。このような処理を継続することに
より平文の全てを暗号化してステップS50にてYES
へ分岐して処理を終了する。
【0090】また、図21に示す復号化の処理が起動さ
れると、鍵よりxの初期値及びA[i]の初期関数パターン
を決定する(S61)。この場合、鍵は暗号化の際の鍵
が選択される。鍵発生の構成は図20のステップS41
にて説明の構成と同様である。次に、iを1とすると共
にxを初期値とし(式g)に適用して初期関数を生成す
ると共に、δA[i]と右側関数のためBを用意する(S6
2)。さらに、暗号文の1バイトを読み込みレジスタd
へセットし(S63)、xの範囲が215より小さいか否
かを検出し(S64)、xの範囲が215より小さい場合
には、ステップS62にて生成した(式g)の初期関数
の内の左側関数を用いてカオスノイズ値xの算出を行い
(S65)、更に、A[i]におけるiがA[i]の周期mより
小さいかを検出し(S66)、小さい場合には、iを1
インクリメントして写像関数を変調し(S67)、算出
したカオスノイズ値xの下位1バイトを得て情報落ち1
バイトノイズ(xadd)を生成する(S68)。
【0091】次に、レジスタdにセットした平文の1バ
イトと、情報落ち1バイトノイズ(xadd)との排他
的論理和演算を行って1バイトの暗号文を復号化する
(S69)。更に、復号化すべき暗号文が終了したか否
かを検出する(S70)。ここで未終了であることが検
出されると、ステップS63へ戻って暗号文の次の1バ
イトを読み出してレジスタdへセットし、以下ステップ
S64〜S70を繰り返す。このように動作を継続する
うちに、A[i]におけるiがA[i]の周期m以上となり、ス
テップS66においてNOへ分岐して、(式o´)であ
るA[i]=g(A[i])より、次の関数パターンを生成する(S
71)。そして、iを1として(S72)、ステップS
48へ進み以降の動作を続ける。
【0092】また、上記ステップS64においてxの範
囲が215以上であることが検出された場合には、ステッ
プS62にて生成した(式g)の初期関数の内の右側関
数を用いてカオスノイズ値xの算出を行い(S73)、
BにδB(既述のδright)の変位を与えて(S74)ス
テップS48へ進む。このような処理を継続することに
より暗号文の全てを復号化してステップS70にてYE
Sへ分岐して処理を終了する。
【0093】
【発明の効果】以上説明した通り本発明によれば、平文
情報を所定の長さに分割した分割平文情報に、暗号化の
鍵データに基づきカオスノイズを発生する写像関数を用
いて得たカオスノイズを適用する演算を行って暗号を生
成する場合に、前記分割平文情報に適用するカオスノイ
ズを発生する写像関数を第1の周期毎に変更するので、
発生されるカオスノイズのパターンに周期性が表れにく
く、また、隣接軌道が縮退を起こすことのない関数を設
計することにより、連続的なカオス領域が確保でき写像
関数の周期毎の変更が可能となり、適切な暗号化を行う
ことができる。
【0094】また、本発明によれば一次微分値が1以上
である関数を写像関数として用いるので、隣接軌道が縮
退を起こさない写像関数によりカオスノイズが得られ、
適切な暗号化を行うことができる。
【図面の簡単な説明】
【図1】本発明に係る暗号生成装置のブロック図。
【図2】本発明に係る暗号生成装置が採用する基本アル
ゴリズムを示すフローチャート。
【図3】カオスの初期条件敏感性を説明するための図で
あり、初期のごく微少のずれから出発した2つの軌道差
を示した図。
【図4】ロジスティック写像の反復の幾何学的構造を説
明するための図。
【図5】ロジスティック写像の隣接軌道縮退領域を示す
図。
【図6】隣接軌道が縮退を起こさないような写像関数の
例を示した図。
【図7】本発明による設計関数例における整数演算型関
数での(p,h)の取りうる範囲を示す図。
【図8】関数設計例における整数演算型関数での分岐
図。
【図9】ロジスティック写像関数(整数演算)の分岐
図。
【図10】関数設計例における整数演算型関数でのrr
分岐図。
【図11】関数設計例における整数演算型関数のリアプ
ノフ指数を示す図。
【図12】ロジスティック写像関数(整数演算)のリア
プノフ指数を示す図。
【図13】本発明に係る暗号文の復号装置のブロック
図。
【図14】本発明に係る復号装置の基本アルゴリズムを
示すフローチャート。
【図15】本発明の暗号生成装置において用いられる関
数のパラメータの状態数の時間遷移を示す図。
【図16】具体事例1における暗号化のフローチャー
ト。
【図17】具体事例1における復号化のフローチャー
ト。
【図18】具体事例2の暗号化ノイズ発生例Aを示す
図。
【図19】具体事例2の暗号化ノイズ発生例Bを示す
図。
【図20】具体事例2における暗号化のフローチャー
ト。
【図21】具体事例2における復号化のフローチャー
ト。
【符号の説明】
1 カオスノイズ発生手段 2 暗号生成
手段 3 次関数決定手段 4 復号手段 11 鍵発生部 12 初期関
数生成部 13 カオスノイズ生成部 21 平文分
割部 22 暗号文生成部 31 同期検
出部 32 関数変更制御部 41 暗号分
割部 42 復号部

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 平文情報を所定の長さに分割した分割平
    文情報に、暗号化の鍵データに基づきカオスノイズを発
    生する写像関数を用いて得たカオスノイズを適用する演
    算を行って暗号を生成する暗号生成装置において、 前記分割平文情報に適用するカオスノイズを発生する写
    像関数を第1の周期毎に変更することを特徴とする暗号
    生成装置。
  2. 【請求項2】 前記第1の周期毎に変更した写像関数の
    パラメータについて、前記第1の周期よりも短い第2の
    周期にて変更を行うことを特徴とする請求項1に記載の
    暗号生成装置。
  3. 【請求項3】 複数の写像関数と複数の初期値を予め用
    意し、暗号化を開始するに際して鍵データによって前記
    複数の写像関数と複数の初期値の中から写像関数と初期
    値を選択することを特徴とする請求項1または請求項2
    に記載の暗号生成装置。
  4. 【請求項4】 写像関数を用いた整数演算によりカオス
    ノイズを得ることを特徴とする請求項1乃至3のいずれ
    か1項に記載の暗号生成装置。
  5. 【請求項5】 一次微分値が1以上である関数を写像関
    数として用いることを特徴とする請求項1乃至4のいず
    れか1項に記載の暗号生成装置。
  6. 【請求項6】 カオスノイズを発生する写像関数を用い
    て暗号化の鍵データに基づきカオスノイズを発生するカ
    オスノイズ発生手段と、 平文情報を所定の長さに分割した分割平文情報に対し、
    前記カオスノイズ発生手段により発生されたカオスノイ
    ズを適用する演算を行って暗号を生成する暗号生成手段
    と、 前記分割平文情報に適用するカオスノイズを発生する写
    像関数を第1の周期毎に変更する次関数決定手段とを具
    備することを特徴とする暗号生成装置。
  7. 【請求項7】 平文情報を所定の長さに分割した分割平
    文情報に、暗号化の鍵データに基づきカオスノイズを発
    生する写像関数を用いて得たカオスノイズを適用する演
    算を行って暗号を生成する暗号生成プログラムを使用す
    る電子機器において、 前記暗号生成プログラムは、前記分割平文情報に適用す
    るカオスノイズを発生する写像関数を第1の周期毎に変
    更する処理を行うことを特徴とする暗号生成プログラム
    を使用する電子機器。
  8. 【請求項8】 前記暗号生成プログラムは、前記第1の
    周期毎に変更した写像関数のパラメータについて、前記
    第1の周期よりも短い第2の周期にて変更を行うことを
    特徴とする請求項7に記載の暗号生成プログラムを使用
    する電子機器。
  9. 【請求項9】 前記暗号生成プログラムでは、複数の写
    像関数と複数の初期値を予め用意し、暗号化を開始する
    に際して鍵データによって前記複数の写像関数と複数の
    初期値の中から写像関数と初期値を選択することを特徴
    とする請求項7または請求項8に記載の暗号生成プログ
    ラムを使用する電子機器。
  10. 【請求項10】 前記暗号生成プログラムでは、写像関
    数を用いた整数演算によりカオスノイズを得ることを特
    徴とする請求項7乃至9のいずれか1項に記載の暗号生
    成プログラムを使用する電子機器。
  11. 【請求項11】 前記暗号生成プログラムでは、一次微
    分値が1以上である関数を写像関数として用いることを
    特徴とする請求項7乃至10のいずれか1項に記載の暗
    号生成プログラムを使用する電子機器。
  12. 【請求項12】 平文情報を所定の長さに分割した分割
    平文情報に、暗号化の鍵データに基づきカオスノイズを
    発生する写像関数を用いて得たカオスノイズを適用する
    演算を行って暗号を生成する処理をコンピュータに行わ
    せるプログラムが記憶された記憶媒体において、 前記プログラムは、前記分割平文情報に適用するカオス
    ノイズを発生する写像関数を第1の周期毎に変更する処
    理を行うことを特徴とする記憶媒体。
  13. 【請求項13】 前記プログラムは、前記第1の周期毎
    に変更した写像関数のパラメータについて、前記第1の
    周期よりも短い第2の周期にて変更を行うことを特徴と
    する請求項12に記載の記憶媒体。
  14. 【請求項14】 前記暗号生成プログラムでは、複数の
    写像関数と複数の初期値を予め用意し、暗号化を開始す
    るに際して鍵データによって前記複数の写像関数と複数
    の初期値の中から写像関数と初期値を選択することを特
    徴とする請求項12または請求項13に記載の記憶媒
    体。
  15. 【請求項15】 前記暗号生成プログラムでは、写像関
    数を用いた整数演算によりカオスノイズを得ることを特
    徴とする請求項12乃至14のいずれか1項に記載の記
    憶媒体。
  16. 【請求項16】 前記暗号生成プログラムでは、一次微
    分値が1以上である関数を写像関数として用いることを
    特徴とする請求項12乃至15のいずれか1項に記載の
    記憶媒体。
  17. 【請求項17】 カオスノイズを発生する写像関数を用
    いて暗号化の鍵データに基づきカオスノイズを発生する
    カオスノイズ発生手段と、平文情報を所定の長さに分割
    した分割平文情報に対し、前記カオスノイズ発生手段に
    より発生されたカオスノイズを適用する演算を行って暗
    号を生成する暗号生成手段と、前記分割平文情報に適用
    するカオスノイズを発生する写像関数を第1の周期毎に
    変更する次関数決定手段とを具備する暗号生成装置によ
    り生成された暗号文を復号化する暗号文復号装置におい
    て、 カオスノイズを発生する写像関数を用いて暗号化の鍵デ
    ータに基づきカオスノイズを発生するカオスノイズ発生
    手段と、 暗号文情報を所定の長さに分割した分割暗号文情報に対
    し、前記カオスノイズ発生手段により発生されたカオス
    ノイズを適用する演算を行って暗号を復号する復号手段
    と、 前記分割暗号文情報に適用するカオスノイズを発生する
    写像関数を第1の周期毎に変更する次関数決定手段とを
    具備することを特徴とする暗号文復号装置。
  18. 【請求項18】カオスノイズを発生する写像関数を用い
    て暗号化の鍵データに基づきカオスノイズを発生するカ
    オスノイズ発生手段と、平文情報を所定の長さに分割し
    た分割平文情報に対し、前記カオスノイズ発生手段によ
    り発生されたカオスノイズを適用する演算を行って暗号
    を生成する暗号生成手段と、前記分割平文情報に適用す
    るカオスノイズを発生する写像関数を第1の周期毎に変
    更する次関数決定手段とを具備する暗号生成装置により
    生成された暗号文を復号化する暗号文復号装置におい
    て、 前記暗号文情報を所定の長さに分割した分割暗号文情報
    に、暗号化の鍵データに基づきカオスノイズを発生する
    写像関数を用いて得たカオスノイズを適用する演算を行
    って暗号を平文とするに際し、 前記分割暗号文情報に適用するカオスノイズを発生する
    写像関数を第1の周期毎に変更することを特徴とする暗
    号文復号装置。
  19. 【請求項19】請求項17または請求項18に記載の暗
    号文復号装置が行う処理をコンピュータに行わせるプロ
    グラムが記憶された記憶媒体。
JP2000101402A 2000-04-03 2000-04-03 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置 Expired - Lifetime JP3953253B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000101402A JP3953253B2 (ja) 2000-04-03 2000-04-03 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000101402A JP3953253B2 (ja) 2000-04-03 2000-04-03 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004298279A Division JP3966875B2 (ja) 2004-10-12 2004-10-12 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

Publications (2)

Publication Number Publication Date
JP2001285277A true JP2001285277A (ja) 2001-10-12
JP3953253B2 JP3953253B2 (ja) 2007-08-08

Family

ID=18615460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000101402A Expired - Lifetime JP3953253B2 (ja) 2000-04-03 2000-04-03 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置

Country Status (1)

Country Link
JP (1) JP3953253B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006186871A (ja) * 2004-12-28 2006-07-13 Kobe Univ ブロードキャスト型コンテンツ配信システム、及び同システムに適用されるユーザ鍵管理方法
KR100605481B1 (ko) 2004-10-22 2006-08-09 한국과학기술원 디지털 카오스 시퀀스 발생기
JP2007028552A (ja) * 2005-07-21 2007-02-01 Sony Corp 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US7174019B2 (en) 2001-11-12 2007-02-06 Toshiba Information Systems (Japan) Corporation Cipher generating device, cipher decoding device, cipher generating program, cipher decoding program, authentication system and electronic device
JP2008197685A (ja) * 2008-05-19 2008-08-28 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム
JP2009288758A (ja) * 2008-05-30 2009-12-10 Hironori Wakayama 使い捨て変数を用い、処理過程における変数を情報理論的に不確定にすることよって暗号化と秘密鍵の秘匿に関し完全秘匿が成立するようにした暗号処理の装置および方法
JP2013102526A (ja) * 2003-04-15 2013-05-23 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
JP2020017834A (ja) * 2018-07-25 2020-01-30 富士通株式会社 通信装置、光伝送装置、光伝送方法、および通信システム
CN112084523A (zh) * 2020-09-29 2020-12-15 深圳壹账通智能科技有限公司 文本加密方法及装置、终端设备、存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174019B2 (en) 2001-11-12 2007-02-06 Toshiba Information Systems (Japan) Corporation Cipher generating device, cipher decoding device, cipher generating program, cipher decoding program, authentication system and electronic device
JP2013102526A (ja) * 2003-04-15 2013-05-23 Ntt Communications Kk データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
JP2014142651A (ja) * 2003-04-15 2014-08-07 Ntt Communications Corp データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
KR100605481B1 (ko) 2004-10-22 2006-08-09 한국과학기술원 디지털 카오스 시퀀스 발생기
JP2006186871A (ja) * 2004-12-28 2006-07-13 Kobe Univ ブロードキャスト型コンテンツ配信システム、及び同システムに適用されるユーザ鍵管理方法
JP4644799B2 (ja) * 2004-12-28 2011-03-02 国立大学法人神戸大学 ブロードキャスト型コンテンツ配信システム、及び同システムに適用されるユーザ鍵管理方法
JP2007028552A (ja) * 2005-07-21 2007-02-01 Sony Corp 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2008197685A (ja) * 2008-05-19 2008-08-28 Toshiba Information Systems (Japan) Corp 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム
JP2009288758A (ja) * 2008-05-30 2009-12-10 Hironori Wakayama 使い捨て変数を用い、処理過程における変数を情報理論的に不確定にすることよって暗号化と秘密鍵の秘匿に関し完全秘匿が成立するようにした暗号処理の装置および方法
JP2020017834A (ja) * 2018-07-25 2020-01-30 富士通株式会社 通信装置、光伝送装置、光伝送方法、および通信システム
JP7067338B2 (ja) 2018-07-25 2022-05-16 富士通株式会社 通信装置、光伝送装置、光伝送方法、および通信システム
CN112084523A (zh) * 2020-09-29 2020-12-15 深圳壹账通智能科技有限公司 文本加密方法及装置、终端设备、存储介质

Also Published As

Publication number Publication date
JP3953253B2 (ja) 2007-08-08

Similar Documents

Publication Publication Date Title
Kotulski et al. Application of discrete chaotic dynamical systems in cryptography—DCC method
JPH04250490A (ja) ケーオス論に基づく暗号化システム
WO2004055756A1 (ja) 秘密鍵を用いた耐タンパ楕円曲線暗号処理
JP2007139895A (ja) 暗号装置、復号装置、プログラム及び方法
JP2009540394A (ja) フォールディングを用いるモジュール削減
US5828752A (en) Pseudo-random number generator and communication system employing the same
JP3953253B2 (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
Das et al. A new modified version of standard RSA cryptography algorithm
CN117155572A (zh) 一种基于gpu并行实现密码技术中大整数乘法的方法
CN117118588A (zh) 一种半同态加密的固定底数预计算优化方法及系统
JP3966875B2 (ja) 暗号生成装置、暗号生成プログラムを使用する電子機器、記憶媒体、暗号文復号装置
JP2004163687A (ja) 楕円曲線暗号装置、楕円曲線暗号プログラム
Raman Parallel processing of chaos-based image encryption algorithms
Mono et al. Implementing and Optimizing Matrix Triples with Homomorphic Encryption
Martins et al. Arithmetical improvement of the round-off for cryptosystems in high-dimensional lattices
Borghoff Mixed-integer linear programming in the analysis of trivium and ktantan
JP2021081591A (ja) 安全性評価装置、安全性評価方法及び安全性評価プログラム
Stehlé On the randomness of bits generated by sufficiently smooth functions
JP7228287B1 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
CN117196053A (zh) 多项式模平方运算器、运算方法及相关装置
Cheng et al. Improved Herrmann-May’s Attack with Merging Variables and Lower LLL Bound
Accardi et al. The Qp-Dyn Algorithms
JP4193176B2 (ja) 楕円曲線整数倍演算装置、ならびにその装置を利用可能な鍵生成装置、暗号化装置および復号装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041012

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041124

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070424

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3953253

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

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

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

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