JP3816558B2 - 暗号システム - Google Patents

暗号システム Download PDF

Info

Publication number
JP3816558B2
JP3816558B2 JP27429295A JP27429295A JP3816558B2 JP 3816558 B2 JP3816558 B2 JP 3816558B2 JP 27429295 A JP27429295 A JP 27429295A JP 27429295 A JP27429295 A JP 27429295A JP 3816558 B2 JP3816558 B2 JP 3816558B2
Authority
JP
Japan
Prior art keywords
value
common key
sequence
real
bit
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 - Lifetime
Application number
JP27429295A
Other languages
English (en)
Other versions
JPH09116533A (ja
Inventor
徹 香田
明夫 常田
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 Corp
Original Assignee
Toshiba 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 Corp filed Critical Toshiba Corp
Priority to JP27429295A priority Critical patent/JP3816558B2/ja
Priority to US08/734,919 priority patent/US6014445A/en
Publication of JPH09116533A publication Critical patent/JPH09116533A/ja
Application granted granted Critical
Publication of JP3816558B2 publication Critical patent/JP3816558B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ストリーム暗号方式による暗号化装置に関する。
【0002】
【従来の技術】
ストリーム暗号は、例えば平文/暗号文の2値系列と共通鍵から生成した鍵系列(2値系列)との排他的論理和を取ることで暗号文/平文を生成する方式であり、現在の暗号方式の中でも最も重要な方法であると考えられる(文献1〜5;文献の詳細は後にまとめて示してある)。
【0003】
しかし、ストリーム暗号には、ある鍵から、長周期の予測不可能な2値系列(文献6〜12)を生成することが困難であるといった大きな問題点がある。現在、鍵系列として用いる2値系列は線形シフトレジスタ(LFSR)系列を用いて生成することが多いが、線形シフトレジスタは暗号学的に弱いとされている(文献2〜5)。
【0004】
一方、幾つかの非線形エルゴード写像が擬似乱数生成器としての良い候補者であることが知られており(文献19,20)、カオス現象に基づいた暗号システム線形シフトレジスタを用いる暗号システム以外に、カオス現象に基づいた暗号システムが幾つか提案されている(文献13〜16)。しかしながら、そのような暗号システムのほとんどが、カオスの実数値軌道そのものに基づいた方法であって、アナログ信号そのものを取り扱う電子回路を基本とすることから、デジタル情報を通信するシステムへの応用は難しい。また、既にそれらはすべて暗号学的に解読されてしまっているので実用性がない(文献17,18)。さらに、情報信号と暗号化された信号との相関関数等の、通信システムにおいて評価されるべき重要な統計量が、理論的に議論あるいは評価されていなかった。
【0005】
【発明が解決しようとする課題】
以上のように、従来のストリーム暗号方式は、暗号学的安全性の面で問題があり、新しい原理による暗号学的に強いストリーム暗号の提供が望まれている。
【0006】
本発明は、上記事情を考慮してなされたもので、暗号学的安全性について非常に優れた鍵系列によるストリーム暗号を実現可能な暗号化装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明に係る暗号化装置は、所定の非線形写像の初期値または該所定の非線形写像の初期値および該所定の非線形写像の持つパラメータの値を示す第1の共通鍵と、2値化処理の基になる1つ又は互いに異なる複数の閾値を表す値を示す第2の共通鍵とからなる共通鍵を選択するための選択手段と、選択された前記共通鍵、又は該共通鍵に対応する情報を暗号化し、復号化装置へ向けて送信するための第1の送信手段と、前記所定の非線形写像と、前記共通鍵のうちの前記第1の共通鍵により示される前記初期値または前記初期値および前記パラメータの値とに基づいて、カオス軌道に沿った実数値であって予め定められた所定のビット数により表現される実数値からなる実数値系列を生成する第1の生成手段と、生成された前記実数値系列の各実数値に対して、夫々、前記共通鍵のうちの前記第2の共通鍵により示される前記値に基づく所定の2値化処理であって1つの実数値を1つのビットに変換する処理を施し、これによって得られた各ビットの値を、対応する実数値の前記実数値系列における順番と同じ順番で連結した鍵系列を生成する第2の生成手段と、入力された平文の2値系列と生成された前記鍵系列との所定の論理演算をビット単位で行なって暗号文の2値系列を生成する論理演算手段と、生成された前記暗号文の2値系列を前記復号化装置へ向けて送信するための第2の送信手段とを備え、前記第2の生成手段は、前記実数値系列の各実数値について、前記第2の鍵として与えられる複数の値を夫々閾値として複数の2値化データを求め、該複数の2値化データに所定の論理演算を施すものであることを特徴とする。
本発明に係る暗号化装置は、所定の非線形写像の初期値または該所定の非線形写像の初期値および該所定の非線形写像の持つパラメータの値を示す第1の共通鍵と、2値化処理の基になる1つ又は互いに異なる複数の閾値を表す値を示す第2の共通鍵とからなる共通鍵を選択するための選択手段と、選択された前記共通鍵、又は該共通鍵に対応する情報を暗号化し、復号化装置へ向けて送信するための第1の送信手段と、前記所定の非線形写像と、前記共通鍵のうちの前記第1の共通鍵により示される前記初期値または前記初期値および前記パラメータの値とに基づいて、カオス軌道に沿った実数値であって予め定められた所定のビット数により表現される実数値からなる実数値系列を生成する第1の生成手段と、生成された前記実数値系列の各実数値に対して、夫々、前記共通鍵のうちの前記第2の共通鍵により示される前記値に基づく所定の2値化処理であって1つの実数値を1つのビットに変換する処理を施し、これによって得られた各ビットの値を、対応する実数値の前記実数値系列における順番と同じ順番で連結した鍵系列を生成する第2の生成手段と、入力された平文の2値系列と生成された前記鍵系列との所定の論理演算をビット単位で行なって暗号文の2値系列を生成する論理演算手段と、生成された前記暗号文の2値系列を前記復号化装置へ向けて送信するための第2の送信手段とを備え、前記第2の共通鍵として与えられる値は、実数値の2進表現におけるビット位置を示すビット番号であり、前記第2の生成手段は、前記実数値系列の各実数値について、該実数値または該実数値に予め定められた所定の処理を施してなる値の2進表現における、前記第2の共通鍵として与えられる複数の値により夫々示されるビット位置の値を選択し、これら選択された複数の値に所定の論理演算を施すことにより、該実数値を2値化するものであることを特徴とする。
【0026】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0027】
本発明は、平文の2値系列と所定の共通鍵に基づいて生成された鍵系列(2値系列)にビット単位の所定の論理演算(一般的には排他的論理和演算)を施して暗号文を生成するストリーム暗号において、所定の非線形写像に従いカオス軌道に沿った実数値系列を生成し、これに所定の2値化処理を施すことで、鍵系列として用いるカオス2値系列(ここでは、二つのタイプの平衡2値系列、すなわちカオス閾値系列およびカオスビット系列がある)を得るようにしたものである。
【0028】
最初に、本発明の基本原理について説明する。
【0029】
なお、{xn n=0 m という表記は、{x0 ,x1 ,x2 ,…,xm-1 ,xm }を表すものとする。
【0030】
Pは、平文のビット列を表すものとする。
【0031】
Kは、暗号化/復号に用いる所定数の共通鍵を表すものとする。
【0032】
Rは、鍵系列(ビット列)を表すものとする。また、→Kは、共通鍵Kにより生成された鍵系列(ビット列)を表すものとする。
【0033】
Zは、暗号文のビット列を表すものとする。また、→Kは、共通鍵をKとする暗号文のビット列を表すものとする。
【0034】
まず、カオス的な振舞を呈する最も単純な系としては、式(1)で示すような一次元写像のクラスが存在する(文献23,24)。ここで、ωn =τn (ω0 )である。
【0035】
【数1】
Figure 0003816558
【0036】
任意のL1 関数F(ω)に対し、ある初期値ω=ω0 からの軌道{ωn n=0 N-1 に沿った時間平均FN (ω)は、式(2)で定義される。
【0037】
【数2】
Figure 0003816558
【0038】
バーコフの個別エルゴード定理によれば(文献24)、τ(ω)が、区間I上において、f(ω)dωで表される絶対連続な不変測度(ACI測度と呼ぶ)に関してエルゴード的であるとき、式(3)が成立する。
【0039】
【数3】
Figure 0003816558
【0040】
ただし、<F>τは、IにおけるF(ω)の空間平均であり、式(4)で定義される。
【0041】
【数4】
Figure 0003816558
【0042】
利用できる非線形写像としては様々なものが考えられるが、本実施形態では、上記のような非線形写像の一例として、式(5)で示すような、次数k≧2のチェビシェフ写像の差分方程式(文献29,30)を考える。
【0043】
【数5】
Figure 0003816558
【0044】
そのACI測度f(ω)dωは、式(6)で与えられる。
【0045】
【数6】
Figure 0003816558
【0046】
ωn は、常に、kn 次のω=ω0 に関する整係数多項式で表され、ゆれに、±1を除く各々の点ωn は、I上にkn 個の異なった逆像を持つことになる。さらに、チェビシェフ写像は、ほとんど全ての初期値ω=ω0 に対し、自己相関関数がデルタ関数に等しいカオス軌道を有する(文献31)。このことは、チェビシェフ写像から生成されるカオス軌道の統計的性質を議論する動機となっている(文献21)。
【0047】
エルゴード写像τ(・)によるカオス的な実数値系列から2値系列(すなわちストリーム暗号で用いる鍵系列)を得る方法の幾つかの例を以下に示す。後で示されるように、これら方法は、あるエルゴード写像に対して、異なった独立同分布(以下、i.i.d.と記す)の予測不可能な2値系列を同時に生成する有効な手法である。
【0048】
<方法1>
式(7)で定義される閾値関数により、(共通鍵として)与えられた閾値αについて、2値系列{Θα(ωn )}n=0 が得られる。これをカオス閾値系列と呼ぶ。なお、τ(・)がチェビシェフ写像の場合はチェビシェフ閾値系列と呼ぶ。
【0049】
【数7】
Figure 0003816558
【0050】
<方法2>
この方法は、以下に示すように|ω|≦1であるωの絶対値の2進展開に基づいている。
【0051】
式(8)で表すように、ω(ここで|ω|≦1とする)の絶対値をとり、2進表現する。
【0052】
【数8】
Figure 0003816558
【0053】
第i番目のビットAi (ω)は、式(9)で表される。
【0054】
【数9】
Figure 0003816558
【0055】
ここで、“〜”の付されたΘα(ω)(以下、Θα(ω)とも記述する)は、式(10)のとおりである。
【0056】
【数10】
Figure 0003816558
【0057】
よって、ωの2進表現におけるビット位置を示すビット番号iを(共通鍵として)与えることにより、2値系列{Ai (ωn )}n=0 が得られる。これをカオスビット系列と呼ぶ。なお、τ(・)がチェビシェフ写像の場合はチェビシェフビット系列と呼ぶ。また、チェビシェフ閾値系列とチェビシェフビット系列を総称して、チェビシェフ2値系列と呼ぶ。
【0058】
ここで、Θα(ω)は、2値ではなく実数値の変数ωをもつブール関数と見なされるので、Ai (ω)は、式(11)のようにも記述できる。ただし、式(11)中の演算子は、法2(modulo−2)の加算(すなわち排他的論理和)を示す。
【0059】
【数11】
Figure 0003816558
【0060】
<方法3>
区間I=[d,e]上で定義される任意の写像τ(・)に対しては、方法2を一般化した方法として、以下の方法3を与えることが出来る。
【0061】
式(12)で表すように、(ω−d)/(e−d)を2進表現する。
【0062】
【数12】
Figure 0003816558
【0063】
第i番目のビットBi (ω)は、式(13)で表される。
【0064】
【数13】
Figure 0003816558
【0065】
従って、ωの2進表現におけるビット位置を示すビット番号iを(共通鍵として)与えることにより、2値系列{Bi (τn (ω))}n=0 を得ることができる。Bi (ω)もまた、閾値系列の法2の加算の形で書けることになる。もし、区間がI=[0,1]であれば、Ai (ω)=Bi (ω)となるので、{Ai (ωn )}n=0 ,{Bi (ωn )}n=0 ともカオスビット系列と呼ぶことにする。
【0066】
<方法4>
この方法では、ある写像τ(・)により生成された実数値系列の各実数値ωに対し、式(14)により2値化を行なう。閾値の集合{tr r=1 M をTとすると、Tが共通鍵となる。閾値の種類の数Mは任意に設定可能である。
【0067】
【数14】
Figure 0003816558
【0068】
この方法では、(共通鍵として)与えられた閾値{t1 ,t2 ,…,tM }の夫々に従って、式(7)で定義される閾値関数により、実数値系列の各実数値からM個の2値化データを求め、それらの排他的論理和を演算する。
【0069】
ところで、方法1〜3におけるΘα(ω),Ai (ω)およびBi (ω)は、それぞれ閾値系列の法2の加算の形で、式(14)のように表すことが出来る。
したがって、方法4はより一般化した形の方法である。
【0070】
なお、排他的論理和の代わりに、他の論理演算を行うこともできる。
【0071】
また、閾値関数により2値化する代わりに、方法2や方法3で2値化しても良い。この場合、共通鍵は、複数のビット番号となる。
【0072】
次に、上記のようにして得られたカオス2値系列(例えば、チェビシェフ閾値/チェビシェフビット系列)を鍵系列として用いた2進加法ストリーム暗号について説明する。
【0073】
本実施形態では、共通鍵(秘密鍵)K=(s1 ,s2 ,…,sM )は、鍵系列R=(R1 ,R2 ,…)を生成する鍵系列生成器を制御するためにのみ用いられる。
【0074】
本実施形態では、共通鍵は、第1の共通鍵と第2の共通鍵に分類される。第1の共通鍵は実数値系列の生成に用いるものであり、第2の共通鍵は生成した実数値系列の2値化処理のために用いるものである。第1の共通鍵と第2の共通鍵は、それぞれ、1つの場合と複数ある場合が考えられる。
【0075】
前述した式(5)で示されるチェビシェフ写像を用いる場合、第1の共通鍵は、初期値ω0 とパラメータkである。
【0076】
第2の共通鍵は、方法1の場合には閾値αであり、方法2および方法3の場合にはωの2進表現におけるビット位置を示すビット番号iであり、方法1の場合には閾値の集合{tr r=1 M である。
【0077】
このように本実施例では、共通鍵の内容に実数値が含まれる。
【0078】
ここで、Θ={Θα(ωn )}n=0 (あるいはそれぞれ、A ={Ai (ωn )}n=0 およびB ={Bi (ωn )}n=0 )とし、その共通鍵をK(Θα)=(k,ω0 ,α)(あるいはそれぞれ,K(Ai )=(k,ω0 ,i)およびK(Bi )=(k,ω0 ,i)で定義する。
【0079】
なお、上記の2値系列はいずれも、一般的には、式(14)のCT (ω)で表現できるので、閾値の集合をT={tr r=1 M とすると、その秘密鍵K(CT )は、K(CT )=(k,ω0 ,T)と表せる。
【0080】
また、Θ=(z1 ,z2 ,…)(あるいはそれぞれ、A and B )で定義される、対応する暗号文のビットは、2値の平文のビットP=(p1 ,p2 ,…)との単純な法2の加算により、式(15)のように得られる。
【0081】
【数15】
Figure 0003816558
【0082】
一方、復号は、式(16)により実行される。
【0083】
【数16】
Figure 0003816558
【0084】
ところで、これらの2値系列を得るためには、浮動小数点演算が必要である。しかして、浮動小数点環境のIEEE規格754は、以下に示すように、ほとんど全ての計算機で、暗号化および復号化を実現するプログラムの作成は容易である。IEEE規格フォーマットは、以下の単精度および倍精度の浮動小数点フォーマットを指定する。
【0085】
1)IEEE単精度(あるいはC言語のfloat)に対しては、指数部および仮数部はそれぞれ、8ビット,24ビットであり、従って、合計32ビットである。
2)IEEE倍精度(あるいはC言語のdouble)に対しては、指数部11ビット、仮数部53ビット、合計64ビットである。
【0086】
C言語の数学ライブラリではまた、cosωやcos-1ω等の初等関数が利用可能であり、倍精度の引数ωに対し倍精度の浮動小数点演算が実行される。
【0087】
また、ランダムに選んだ2≦k≦220を満たす整数kの場合の64ビット精度の軌道{ωn n=0 に対して、ある実数値α(〜0)(あるいは、8≦i≦50を満たす整数i)を選ぶとすると、160(=32+64+64)ビットのK(Θα)(あるいは、128(=32+64+32)ビットのK(Bi ))から、{Θα(ωn )}n=0 (あるいは、{Bi (ωn )}n=0 )を得ることが出来る。従って、そのような平衡2値系列は、良い擬似乱数生成器を与える。
【0088】
以下では、本実施形態の構成をより具体的に説明する。
【0089】
図1は、本発明を適用したストリーム暗号システムの一実施形態を示す基本構成図である。
【0090】
平文を暗号化して暗号文を作成する装置(送信側装置と呼ぶこととする)は、暗号化/復号に必要な共通鍵K(図中6)を用いて鍵系列(カオス2値系列)→Kを生成するカオス2値系列生成部21 、生成された鍵系列→Kと入力された平文(の2値系列)Pとの排他的論理和をビット単位に行なって暗号文(の2値系列)→Kを生成する排他的論理和部41 を備えている。
【0091】
暗号文を復号して元の平文を生成する装置(受信側装置と呼ぶこととする)は、送信側装置より配送された共通鍵K(図中8)を用いて鍵系列(カオス2値系列)→Kを生成するカオス2値系列生成部22 、生成された鍵系列→Kと送信側装置より配送された暗号文(の2値系列)→Kとの排他的論理和をビット単位に行なって元の平文(の2値系列)Pを生成する排他的論理和部42 を備えている。
【0092】
また、カオス2値系列生成部21 、22 は、第1の共通鍵と予め定められた所定の非線形写像に従いカオス軌道に沿った実数値系列を生成するカオス生成部と、生成された実数値系列の各実数値に対し第2の共通鍵に基づく所定の2値化処理を施して鍵系列を生成するビット生成部を有する。
【0093】
送信側装置のカオス2値系列生成部21 と受信側装置のカオス2値系列生成部22 とは同一の論理構造を持つ。従って、共通鍵Kが同一であれば、生成される鍵系列→Kは、両装置について同一となる。
【0094】
送信側装置の排他的論理和部41と受信側装置の排他的論理和部42は、同時に他の論理演算に置き換えても良い。以下では、排他的論理和を行なうものとして説明する。
【0095】
送信側装置では、平文Pの暗号化に先だって、共通鍵選択部(図示せず)により、使用する共通鍵Kを選択する。共通鍵Kの選択方法としては、基本的には公知の方法を使用することができ、種々の方法が考えられる。例えば、予め用意された鍵に番号を振っておき、その都度発生した乱数に対応する番号の振られた鍵を選択しても良い。鍵が実数値である場合は、その都度発生した乱数の値あるいはこの値を線形変換などして得られた値を、そのまま鍵の値とすることができる。また、本発明では、鍵の個数が個別に変わり得る場合があるが、鍵の個数もランダムに選択しても良い。もちろん、鍵や鍵の個数は、乱数に基づいて選択するのではなく、他の情報に従って選択することも自由である。
【0096】
送信側装置では、暗号文とともに共通鍵を配送するが、配送する情報として、共通鍵の内容をそのまま配送しても良いし、その代わりに共通鍵の内容に対応する情報を配送しても良い。
【0097】
また、共通鍵の配送にあたって、該共通鍵またはこれに対応する情報は暗号化して配送するのが好ましい。ここでは、共通鍵は、公開鍵方式、例えばRSA方式により暗号化するものとする。
【0098】
送信側装置は、生成された暗号文と復号に必要な共通鍵を、出力部(図示せず)により外部に出力する。出力の方法、言い換えると、暗号文と共通鍵を受信側装置に渡す方法には、種々の方法が考えられる。
【0099】
送信側装置と受信側装置をネットワークで接続する場合は、出力部は暗号文と共通鍵を所定のプロトコルに従いネットワークに送り出す機能を有する。送信側装置から受信側装置へ無線通信により暗号文と共通鍵を伝送する場合は、出力部は暗号文と共通鍵を変調し送出する機能を有する。暗号文と共通鍵を可搬できる記憶媒体に格納して受け渡す場合には、出力部は暗号文と共通鍵を記憶媒体に書き込む機能を有する。
【0100】
受信側装置では、送信側装置で生成された暗号文→Kと復号に必要な共通鍵Kを、入力部(図示せず)により入力する。
【0101】
送信側装置とネットワークで接続する場合は、入力部はネットワークを介して転送されてきた情報を受け取り、暗号文と共通鍵を取り出す機能を有する。送信側装置から無線通信により暗号文と共通鍵を受け取る場合は、入力部は伝播されきた信号を受信し復調して暗号文と共通鍵を取り出す機能を有する。暗号文と共通鍵を可搬できる記憶媒体に格納して受け渡す場合には、入力部は暗号文と共通鍵を記憶媒体から読出す機能を有する。
【0102】
なお、共通鍵が暗号化されたものである場合、暗号文を復号するのに先だって、鍵復号部(図示せず)により所定の方式に従い共通鍵の復号を行なう。さらに、復号して得た情報が、共通鍵に対応する情報である場合、この情報から例えばテーブルを参照するなどして実際の共通鍵の内容を求める。
【0103】
図2は、本実施形態の送信側装置における処理の流れの一例を示すフローチャートである。
【0104】
(ステップS1)
まず、暗号化/復号に使用する共通鍵(所定数の第1の共通鍵および所定数の第2の共通鍵)の選択を行なう。選択された共通鍵は、必要に応じてRSA方式などで暗号化し、受信側装置に向けて送信する。
【0105】
また、暗号化する平文(の2値系列)を読み込む。
【0106】
(ステップS2)
カオス2値系列生成部21 (のカオス生成部)では、選択された第1の共通鍵と所定の非線形写像に従い実数値系列を生成する。
【0107】
(ステップS3)
カオス2値系列生成部21 (のビット生成部)では、生成された実数値系列の各実数値に対し、選択された第2の共通鍵に基づく所定の2値化処理を行なって、鍵系列(2値系列)を生成する。
【0108】
(ステップS4)
排他的論理和部41 では、入力された平文の2値系列と生成された鍵系列の排他的論理和を取り、暗号文を生成する。
【0109】
(ステップS5)
生成された暗号文を受信側装置に向けて送信する。
【0110】
図3は、本実施形態の受信側装置における処理の流れの一例を示すフローチャートである。
【0111】
(ステップS11)
まず、所定の伝達形式で送信側より伝えられた暗号文と復号に必要な共通鍵(所定数の第1の共通鍵および所定数の第2の共通鍵)を入力する。選択された共通鍵は、暗号化されている場合は、RSA方式などで復号する。
【0112】
(ステップS2)
カオス2値系列生成部22 (のカオス生成部)では、入手した第1の共通鍵と所定の非線形写像に従い実数値系列を生成する。
【0113】
(ステップS3)
カオス2値系列生成部22 (のビット生成部)では、入手した実数値系列の各実数値に対し、入手した第2の共通鍵に基づく所定の2値化処理を行なって、鍵系列(2値系列)を生成する。
【0114】
(ステップS14)
排他的論理和部42 では、入力された暗号文の2値系列と生成された鍵系列の排他的論理和を取り、元の平文を生成する。
【0115】
なお、実数値の生成と2値化処理と排他的論理和演算をパイプライン処理して、処理の高速化を図っても良い。
【0116】
次に、共通鍵Kを用いて鍵系列(カオス2値系列)→Kを生成するカオス2値系列生成部21 ,22 にいて説明する。
【0117】
図4,図6,図8,図9に、カオス2値系列生成部21 ,22 の構成例を示す。なお、各構成例におけるカオス生成部21,23,25,27は基本的には同様のものである。
【0118】
図4は、カオス2値系列生成部21 ,22 の第1の構成例である。また、図5は、実数値系列ωn の生成と2値化処理を説明するための図である。本構成例は、前述した方法1を実施するものである。
【0119】
このカオス2値系列生成部21 ,22 は、カオス生成部21とビット生成部22を有する。
【0120】
カオス生成部21は、与えられた第1の共通鍵と所定の非線形写像(211)から、実数値系列を生成する。
【0121】
例えば、所定の非線形写像として、式(5)で示すようなチェビシェフ写像の差分方程式を用いる場合、第1の共通鍵は、初期値ω0 とパラメータkである。初期値ω0 =0.3、パラメータk=2とした場合、実数値系列ωn は図5のようになる。
【0122】
なお、用いる非線形写像により、パラメータkの数は0または2以上の場合があり得る。
【0123】
ビット生成部22では、閾値処理部221にて、式(7)で定義される閾値関数により、生成された実数値系列の各実数値に対し、与えられた第2の共通鍵により示される値を閾値tとして、2値化処理を行なう。
【0124】
例えば、カオス生成部21により生成された実数値系列が図5のようである場合には、第2の共通鍵により閾値t=0が与えられたとすると、例えば、実数値ω0 =0.300000からは2値化データΘ0 (ω0 )=1が得られ、実数値ω4 =0.161977からは2値化データΘ0 (ω4 )=1が得られ、結局、鍵系列→KとしてΘ0 (ωn )=(1,0,1,0,1,0,1,1,0,1,…)が生成される。また、第2の共通鍵により閾値t=0.3が与えられたとすると、例えば、実数値ω0 =0.300000からは2値化データΘ0.3 (ω0 )=1が得られ、実数値ω4 =0.161977からは2値化データΘ0.3 (ω4 )=0が得られ、結局、鍵系列→KとしてΘ0.3 (ωn )=(1,0,1,0,0,0,1,0,0,1,…)が生成される。
【0125】
なお、必要に応じて、2値化処理の前に、生成された実数値系列の各実数値について、絶対値を取る処理や、正規化する処理など、所定の処理を行なっても良い。
【0126】
前述したように、カオス生成部21は、所定の言語で記述されたプログラムを浮動小数点演算装置を用いて実行することにより実現できる。
【0127】
図6は、カオス2値系列生成部の第2の構成例である。また、図7は、実数値系列ωn の生成とビット選択処理を説明するための図である。本構成例は、前述した方法2を実施するものである。
【0128】
カオス2値系列生成部は、カオス生成部23とビット生成部24を有する。
【0129】
ビット生成部24は、絶対値処理部241とビット選択部242を有する。
【0130】
カオス生成部23は、前述のカオス生成部21と同様である。ただし、ここでは、−1〜1の実数値系列を生成するものとする。例えば所定の非線形写像として式(5)で示すようなチェビシェフ写像の差分方程式を用い、初期値ω0 =0.3、パラメータk=2とした場合、実数値系列ωn は図7のようになる。
【0131】
第2の共通鍵は、実数値の2進表現におけるビット位置を示すビット番号である。
【0132】
ビット生成部24では、まず、絶対値処理部241により、実数値系列の各実数値について、その絶対値を取る処理を行なう。
【0133】
そして、ビット選択部242では、該実数値の絶対値について、その2進表現における、第2の共通鍵により示されるビット位置の値を選択する。
【0134】
例えば、カオス生成部23により生成された実数値系列が図7のようである場合には、第2の共通鍵によりビット番号1が与えられたとすると、例えば、実数値|ω0 |=0.300000の2進表現は0.01001…であり、2値化データとして(小数第1位の)0が得られ、実数値|ω1 |=0.8200000の2進表現は0.11010…であり、この結果、2値化データとして(小数第1位の)1が得られ、結局、鍵系列→KとしてA1 (ωn )=(0,1,0,1,0,1,1,0,1,0,…)が生成される。同様に、第2の共通鍵によりビット番号5が与えられたとすると、鍵系列→KとしてA5 (ωn )=(1,0,1,0,1,0,1,0,1,1,…)が生成される。
【0135】
図8は、カオス2値系列生成部の第3の構成例である。本構成例は、前述した方法3を実施するものである。
【0136】
カオス2値系列生成部は、カオス生成部25とビット生成部26を有する。
【0137】
ビット生成部26は、正規化処理部241とビット選択部262を有する。ビット選択部262は、図6のビット選択部242と同様のものである。
【0138】
カオス生成部25は、前述のカオス生成部21と同様である。
【0139】
第2の共通鍵は、実数値の2進表現におけるビット位置を示すビット番号である。
【0140】
ビット生成部26では、まず、正規化処理部261により、実数値系列の各実数値を所定の範囲に正規化する。
【0141】
例えば、区間I=[d,e]上で定義される任意の写像τ(・)に対しては、ω´=(ω−d)/(e−d)により正規化を行なうと、ω´は区間I´=[0,1]の範囲の値となる。
【0142】
次に、ビット選択部262では、第2の構成例と同様にして、該実数値の絶対値について、その2進表現における、第2の共通鍵により示されるビット位置の値を選択する。
【0143】
このようにして、鍵系列→KとしてBi (ωn )が生成される。
【0144】
第2の実施形態では、−1〜1の実数値系列を生成し、絶対値を取った後に2値化し、第3の実施形態では、任意の範囲の実数値系列を生成し、正規化した後に2値化したが、その他にも種々の方法が考えられる。
【0145】
図9は、カオス2値系列生成部の第4の構成例である。本構成例は、前述した方法4を実施するものである。前述したように、ある写像τ(・)により生成された実数値系列の各実数値ωに対し、式(14)により2値化を行なう。閾値の集合{tr r=1 M をTとすると、Tが第2の共通鍵となる。閾値の種類の数Mは任意に設定可能である。
【0146】
カオス2値系列生成部は、カオス生成部27とビット生成部27を有する。
【0147】
カオス生成部27は、前述のカオス生成部21と同様であり、例えば所定の非線形写像として式(5)で示すようなチェビシェフ写像の差分方程式を用い、初期値ω0 =0.3、パラメータk=2とした場合、実数値系列ωn は図5のようになる。
【0148】
ビット生成部28は、複数の閾値関数Θt1(ωn),Θt2(ωn),…,ΘtM(ωn)による閾値処理部281,282,283と、閾値処理部281,282,283から出力される複数のビットデータに所定の論理演算処理を施す論理演算処理部284を有する。論理演算処理は、例えば、全入力データの排他的論理和を取る処理である。
【0149】
ビット生成部28の閾値処理部では、生成された実数値系列の各実数値について、複数の第2の鍵により夫々示される値を閾値として複数の2値化データを求める。論理演算処理部284では、該複数の2値化データに所定の論理演算処理、例えば排他的論理和処理を行なう。
【0150】
例えば、カオス生成部27により生成された実数値系列が図5のようであり、2つの第2の共通鍵により閾値t=0とt=0.3が与えられたとすると、ビット生成部28の閾値処理部281,282により、前述したように、第1のカオス2値系としてΘ0 (ωn )=(1,0,1,0,1,0,1,1,0,1,…)と、第2のカオス2値系としてΘ0.3 (ωn )=(1,0,1,0,0,0,1,0,0,1,…)が生成される。
【0151】
次に、ビット生成部28の論理演算処理部284により、例えば、Θ0(ωn)=(1,0,1,0,1,0,1,1,0,1,…)とΘ0.3(ωn)=(1,0,1,0,0,0,1,0,0,1,…)との排他的論理和が演算され、鍵系列→K=(0,0,0,0,1,0,0,1,0,0,…)が得られる。
【0152】
必要な閾値処理部の数は、与えられる第2の共通鍵の数(すなわち、閾値の数M)に応じてその都度変化し得るが、作成したプログラムをCPU上で実行することで本構成を実現すれば、閾値処理部の数の変化には容易に対応することができる。
【0153】
なお、閾値処理を行なう前に、実数値の絶対値を取っても良いし、実数値を正規化しても良いし、その他の所定の処理を行なっても良い。
【0154】
また、通常のストリーム暗号処理はビット単位で行なわれるが、高速並列処理のためにブロック単位の暗号処理を行なう場合には、論理演算処理部284のところで直並列変換を行なっても良い。
【0155】
ところで、上記の閾値処理部の代わりに、複数の第2の鍵によるビット選択部(第2あるいは第3の構成例で示したもの)を使い、得られた複数の2値化データの論理演算処理、例えば排他的論理和処理を行なうようにしても良い。
【0156】
例えば、各閾値処理部を第2の構成例の絶対値処理部241とビット選択部242で置き換え、論理演算処理部284では排他的論理和処理を行なうものとする。カオス生成部により生成された実数値系列が図7のようである場合に、第2の共通鍵によりビット番号1〜5が与えられたとすると、第1のカオス2値系としてA1(ωn)=(0,1,0,1,0,1,1,0,1,0,…)が、第1のカオス2値系としてA2(ωn)=(1,1,1,1,0,1,1,1,1,1,…)が、第1のカオス2値系としてA3(ωn)=(0,0,0,0,1,1,0,0,0,1,…)が、第1のカオス2値系としてA4(ωn)=(0,1,1,0,0,1,0,0,1,1,…)が、第1のカオス2値系としてA5(ωn)=(1,0,1,0,1,0,1,0,1,1,…)がそれぞれ生成される。
【0157】
次に、論理演算処理部284により、A1(ωn)、A2(ωn)、A3(ωn)、A4(ωn)、およびA5(ωn)の排他的論理和が演算され、鍵系列→K=(0,1,1,0,0,0,1,1,0,0,…)が得られる。
【0158】
以下では、本発明の鍵系列の性質について検討を行ない、その有効性を示す。
まず、カオス2値系列(チェビシェフ閾値系列/チェビシェフビット系列)の共分散関数に関する検討を示す。
【0159】
系列{Θα(ωn )}n=0 ,系列{Ai (ωn )}n=0 および系列{Bi (ωn )}n=0 での1の生起確率の経験的測度は、式(17)に示す正規分布で近似することが出来る。
【0160】
【数17】
Figure 0003816558
【0161】
ここで、平均値は式(18)、分散は式(19)でそれぞれ与えられる。
【0162】
【数18】
Figure 0003816558
【0163】
図10は、そのような平均値、分散を示してる。(a)はF(ω)=Θα(ω)の場合、(b)はF(ω)=Ai (ω)の場合、(c)はF(ω)=Bi (ω)の場合である。図10において、pτ(α)=<Θατである。
【0164】
G(ω)およびH(ω)を二つのL1 有界変動関数とし、二つの系列{G(ωn )}n=0 および{H(ωn )}n=0 を考える。ここで、ωn =τn (ω)である。
【0165】
式(20)に示すような関数を定義すると、ρN (l,ω;G,H)および<ρ(l;G,H)>τはある一つの初期値ωから得られるこれら二つの系列の、時間平均形および空間平均形の相互共分散関数をそれぞれ表す。特に、G=Hの場合は、自己共分散関数を表す。
【0166】
【数19】
Figure 0003816558
【0167】
上記の相互共分散関数ρ(l,ω;G,H)は、系列{G(ωn )}n=0 および系列{H(ωn )}n=0 の統計的性質を調べる上で極めて重要である。注意深く計算すると、以下の二つの重要な命題を得ることが出来る(文献22)。
【0168】
[命題1.]
チェビシェフ閾値系列Θα(ωn )}n=0 と{Θβ(ωn )}n=0 との相互共分散関数は、式(21)で与えられる。
【0169】
【数20】
Figure 0003816558
【0170】
ここで、s(ω)、<ρ(0;Θα,Θβ)、pτ(α)は、それぞれ、式(22)、(23)、(24)に示すとおりである。
【0171】
【数21】
Figure 0003816558
【0172】
[命題2.]
チェビシェフビット系列{Ai (ωn )}n=0 と{Aj (ωn )}n=0 との相互共分散関数は、式(25)で与えられる。
【0173】
【数22】
Figure 0003816558
【0174】
また、{Ai (ωn )}n=0 の空間平均は、式(26)のようになる。
【0175】
【数23】
Figure 0003816558
【0176】
さらに、チェビシェフ写像の対称性を用いると、次の興味深い結果を得ることが出来る。
【0177】
[命題3.]
偶数次のチェビシェフ写像から生成されるチェビシェフビット系列{Bi (ωn )}n=0 と{Bj (ωn )}n=0 との相互共分散関数は、式(27)で与えられる。
【0178】
【数24】
Figure 0003816558
【0179】
ここで、Qii、Qijは、それぞれ、式(28)、(29)のとおりである。また、Iijは、式(30)のとおりである。また、Ir (r) は、式(31)のとおりである。
【0180】
【数25】
Figure 0003816558
【0181】
上記の命題は、十分大きいkに対しては、系列{Θα(ωn )}n=0 ,系列{Ai (ωn )}n=0 および系列{Bj (ωn )}n=0 は、良好な自己(相互)共分散特性を有することを示唆している。
【0182】
関数<ρ(0;Θα,Θβ)>τは、鍵の一部であるパラメータαおよびβが適当に選ばれたとしても、一般には小さい値にならないので、系列{Θα(ωn )}n=0 の解読に使われ得る。すなわち、前述した方法1における第1の共通鍵であるα自体は、暗号学的には安全でないといえる。
【0183】
同様に、関数<ρ(0;Bi ,Bj )>τもQij=1/4でなければ、系列{Bj (ωn )}n=0 の解読に使用され得る。しかしながら、図11に示すように、ビット番号iおよびjが大きい場合は、Qij→1/4と最良に近い値を得ることができる。
【0184】
それでもやはり、異なったビット番号iの数はあまり多くないので、前述した方法2あるいは3における第1の共通鍵であるi自体もまた、暗号学的には安全でないといえる。
【0185】
しかしながら、カオス2値系列の元となる第2の共通鍵である、写像の次数kや初期値ω0 のように、暗号学的に安全な鍵が存在する。
【0186】
また、変数αおよびiは、一つの実数値軌道から、容易に、多くの互いに独立な平衡2値系列を得るための調整用パラメータとなっている。
【0187】
なお、本発明者らは、最近、他の写像から生成されるカオス閾値/ビット系列の相互共分散関数を与えた(文献32)。しかしながら、高次のチェビシェフ写像は、他の写像よりも良い相関特性を有し、また、次数k自身が、ストリーム暗号システムにおける暗号学的に安全に秘密鍵となり得る。
【0188】
次に、カオス2値系列の次ビット予測に関する検討を示す。
【0189】
m =U0 1 …Um-1 を任意のmビットからなるビット列とする。ここで、Un (0≦n≦m−1)は{0,1}の確率変数である。よって、2m 種類のビット列が存在する。次に、m (r) =u0 (r) 1 (r) …um-1 (r) を2進要素un (r) を持つ、r番目のビット列とする。さらに、任意のL1 2値関数G(ω)に対し、式(32)で示すような2値確率変数を定義する。
【0190】
【数26】
Figure 0003816558
【0191】
すると、無限長の2値系列{G(τn (ω))}n=0 における、事象m m (r) の確率は、式(33)で与えられる。
【0192】
【数27】
Figure 0003816558
【0193】
ここで、ある系列{G(τn (ω))}n=0 において、ある事象m m (r) を観測した後の1および0の生起する条件付確率を考える。それらは、それぞれ、式(34)、(35)で表される。
【0194】
【数28】
Figure 0003816558
【0195】
ここで、m+1 (r1)およびm+1 (r2)は、それぞれ、長さ(m+1)ビットの事象、m (r) 1およびm (r) 0を表す。また、Pr(m (r) ;G)は、式(36)に示すとおりである。
【0196】
【数29】
Figure 0003816558
【0197】
一般には、これらの条件付確率を評価しなければならない。しかしながら、系列{G(τn (ω))}n=0 が、αが0近傍の値である場合の{Θα(τn (ω))}n=0 や写像の次数が偶数の場合の{Bi (τn (ω))}n=0 等のように、i.i.d. 2値確率変数であれば、そのような条件付確率の計算は必要でなく、ただちに、式(37)を得る。
【0198】
【数30】
Figure 0003816558
【0199】
このことは、チェビシェフビット系列{Bi (ωn )}n=0 が予測不可能であることを示す。ここでは、チェビシェフ閾値系列{Θα(τn (ω))}n=0 およびチェビシェフビット系列{Bi (τn (ω))}n=0 がi.i.d. の2値系列になる条件およびその数学的証明は省略する(文献33)。
【0200】
次に、数値実験に関する検討を示す。
【0201】
初めに、本暗号システムの暗号学的安全性を測るため、本実施形態の鍵系列の線形複雑度を調べる。
【0202】
図12(a),(b)に示すように、閾値系列{Θα(ωn )}n=0 N-1 およびビット系列{Ai (ωn )}n=0 N-1 とも、その線形複雑度は、ほとんどN/2に等しい。
【0203】
次に、カオス2値系列の次ビット予測を考える。
【0204】
ある有限長系列{G(τn (ω))}n=0 N-1 において、それぞれの事象m (r) (r=1,…,2m )を観測した後の1あるいは0が生起する条件付確率を計算することは可能であるが、大きいmに対しては、計算すべき事象の種類が極めて膨大になる。よって、事象の数を少なくするために、事象m (r) (r=1,…,2m )を、次のように幾つかの集合にクラス分けする。Sm (p) を、p個の1およびm−p個の0からなる事象m (r) の集合とする(p=0,1,…,m)。系列{G(τn (ω))}n=0 がi.i.d.であれば、式(38)に示す事象の生起確率は、式(39)で与えられる。
【0205】
【数31】
Figure 0003816558
【0206】
【数32】
Figure 0003816558
【0207】
ここでは、4000個の異なった初期値ω0iに対し、系列{Bi (τn (ω0i))}n=0 N-1 (ここでN=10,000)での8 (r) および8 (r) 1を観測し、式(40)に示す事象の相対頻度および式(40)に示す事象を観測した後の1の生起する条件付確率の経験測度を計算することが出来る。
【0208】
【数33】
Figure 0003816558
【0209】
図13(a),(b)に示すように、これらの経験測度はほとんどガウス分布に近いことがわかる。図13は、式(40)に示す事象の生起確率の経験測度を示している。従って、図14,図15に示すように、これらの経験測度の平均値および分散を計算することが重要となる。なお、図14(a)は相対頻度の経験測度の平均値を、(b)は相対頻度の経験測度の分散を、図15(a)は条件付き確率の経験測度の平均値を、(b)は条件付き確率の経験測度の分散を、それぞれ示している。これらの図から、{Bi (τn (ω))}n=0 N-1 がi.i.d.の2値系列であり、よって、予測不可能であることがわかる。
【0210】
次に、初期値ω0 から得られる系列{G(ωn )}n=0 と初期値ω0 ′から得られる系列{H(ωn ′)}n=0 との相互相関関数を式(41)のように定義する。
【0211】
【数34】
Figure 0003816558
【0212】
図16(a)、(b)、および(c)は、それぞれ、自己相関関数ρ64(l,ω0 ,ω0 ;Θ0 ,Θ0 )、ρ64(l,ω0 ,ω0 ;A2 ,A2 τは、およびρ64(l,ω0 ,ω0 ;B2 ,B2 )を示す。ここで、k=16である。これらの自己相関関数がl=0でのみピークを持つことがわかる。
【0213】
図17(a),(b)、図18(a),(b)は、鍵K(Θα)=(16,ω0 ,0.0)をもつ閾値系列{Θα(ωn )}n=0 の鍵の一部である、10ビットの初期値ω0 =(0.0110100101)2 =0.4113281…を捜すために、統計量ρ64(0,ω0 ,ω0 ′;Θα,Θβ)を用いて、鍵K(Θβ)=(16,ω0 ′,0.01)のω0 ′を変化させて行なう解読を示している。ここでは、図17(a)では7ビット精度、(b)では8ビット精度、(c)では9ビット精度、および(d)では10ビット精度により、あらゆるω0 ′に対して計算したものである。
【0214】
これらの図から、たとえ次数kが事前にわかったとしても、初期値ω0 を捜すためには、莫大な計算量が必要であることがわかる。このことは、この方法が、初期値ω0 の大きい鍵空間のため、計算量的に実行不可能であることを示している。さらに、l≧1および十分大きなkに対する、ρT (l,ω0 ,ω0 ′;Θα,Θβ)、ρT (l,ω0 ,ω0 ′;Ai ,Aj )、およびρT (l,ω0 ,ω0 ′;Bi ,Bj )は、極めて小さい値しか持たないものとなっている。従って、そのような統計量は、たとえ他の全てのパラメータがわかったとしても、上記のような解読法には用いることが出来ない。
【0215】
次に、64ビットのカオスの鍵系列Θ(あるいはそれぞれ、A B )と対応する64ビットの暗号文Θ(あるいはそれぞれ、A B )を、DESやFEAL等のブロック暗号の性質と比較することを考える。簡単のため、→K(あるいは、→K)は、Θ(あるいは、Θ)、A (あるいは、A )、またはB (あるいは、B )のいずれかを表すものとする。→K={1 2 ,…,L }をL個の64ビットの鍵系列の集合とし、その鍵は、K(θα ,m)=(k,ω0m,α)、K(Ai,m )=(k,ω0m,i)、あるいはK(Bi,m )=(k,ω0m,i)のいずれかによって与えられるものとする。
【0216】
ここで、1≦m≦L−1に対し、ω0,m+1 =τ64(ω0,m )である。すなわち、この集合は、初期値ω0 =ω01から得られる実数値のカオス軌道{ωn n=0 64 ×Lにより生成される、相続いた鍵系列の集合である。ここで、本実施形態のストリーム暗号に対してはL=8,000、従来のブロック暗号に対してはL=4,000とした。よって、→K={1 2 ,…,L }は、対応するL個の64ビットの暗号文の集合を意味する。
【0217】
ここで、長さ64×Lのランダムな平文Pに対するL個の暗号文の自己共分散関数C64(16;→K→K)の4つの経験測度を調べた。
【0218】
ただし、(a)→KαK(Θα)=(12,0.332,−0.95)、(b)→KΘK(Θα)=(12,0.332,0.0),(c)→KDES 、DESの64ビットの秘密鍵DES =(0123456789ABCDEF)、および(d)→KFEAL,FEALの64ビットの秘密鍵FEAL=(0123456789ABCDEF)である。また、DES (あるいは、FEAL)は、DES(あるいはFEAL)のL個の64ビットの暗号文を示す。
【0219】
この数値実験からわかるように、これらの秘密関数の平均値および分散とも、ほとんど互いに等しい。よって、カオス的な方法および標準的な方法は、互いに、経験的振舞に関しては、あまり変わらない。
【0220】
ここで、2値系列の平均パワー(クロス)スペクトルを以下のように導入する。{ρN (l,ω0m,ω′0m;G,H)}m=1 L を、二つの系列{G(ωn )}n=0 と{H(ω′n )}n=0 の間の、L個の時間平均形の相互共分散関数とする。ここで初期値の集合は、{ω0m)}m=1 L および{ω′0mm=1 L で表される。
【0221】
式(42)に示す関数を定義すると、|SN,L (ν;G,H)|はL個の異なった初期値に対する時間平均形の平均パワー(あるいは、クロス)スペクトルを示す。
【0222】
【数35】
Figure 0003816558
【0223】
図19(a),(b)は、それぞれ、チェビシェフ閾値系列およびチェビシェフビット系列を用いたストリーム暗号による暗号文の平均パワースペクトル|S64,L(ν;ΘΘ)|を示す。図20(a),(b)は、それぞれ、従来のDESおよびFEALにより生成した暗号文の平均パワースペクトル|S64,L(ν;ΘΘ)|を示す。
【0224】
そのパラメータは、ρ64(16;→K→K)の経験測度のものと同じである。
【0225】
この図から、図19(b)、(c)、および(d)のパワースペクトルは、周波数νと独立、すなわち白色スペクトルであり、従って、これらの暗号文はランダムであるといえる。図19(a)で示されるα=−0.95の場合のように、悪いパラメータを選ぶと、そのパワースペクトルは幾分非白色となるが、この場合でも、それほどひどくはないものとなっている。
【0226】
最後に、図21に、SunのワークステーションSS5を用いた場合の、暗号化および復号化に要する計算時間を示す。ここでは、ANSI Cで書かれたプログラムを実行した。
【0227】
以下、上記したような暗号システムの持つ特性・特徴のいくつかを示す。
【0228】
カオス2値系列は、以下の点において、性質の良い2値擬似乱数生成器として有望である。
【0229】
1)少ないビットで表現可能なパラメータが複数個ある。
【0230】
2)予測不可能な、独立同分布(i.i.d.)の2値の確率変数を容易に多数個同時に生成できる。
【0231】
3)これらの予測不可能な系列の周期は、ほとんどの初期値に対して十分長い。
【0232】
また、数値実験により、チェビシェフ閾値系列/チェビシェフビット系列が以下の統計的性質を持つことが示される。
【0233】
a)周期Nの鍵系列の線形複雑度は、ほぼN/2;
b)チェビシェフビット系列は、i.i.d.の性質をもつため、次ビット予測はほとんど不可能である;
c)暗号文の相関特性は、少なくとも、標準的なブロック暗号のDESやFEALと同等である。
【0234】
本ストリーム暗号システムの暗号学的安全性は、従来のブロック暗号システムより優れていると考えられる。
【0235】
また、図21で示されるように、このストリーム暗号方式での暗号化は、ブロック暗号方式のそれよりも速く実行される。従って、このストリーム暗号方式は、浮動小数点マイクロプロセッサで容易に実現可能である。
【0236】
さらに、このような暗号システムは、浮動小数点演算の可能な汎用のプログラミング言語ANSI C等を用いることで容易に実行できるとともに、通信システムの送受信側で、同一の浮動小数点環境、例えばIEEE規格754を用いれば、実数値軌道の再現性を容易に保証することができる。
【0237】
このように、カオス2値系列は、ストリーム暗号システムにおける鍵系列として、優れた特性・特徴を有するものである。
【0238】
なお、このようなストリーム暗号システムの秘密鍵を更新し、受信側へ配送するための幾つかの暗号技術の利用も容易に可能である。
【0239】
以下に、本明細書にて示した参考文献の詳細を列挙する。
【0240】
[文献1] C.E.Shannon, “Communication Theory of Secrecy Systems ”, Bell Syst.Tech.J., 28, 656-715, 1945.
[文献2] H.J.Beker F.C.Piper, “Communications security A survey of cryptography, IEE Proc., 129, Pt.A, No.6, 357-376, 1982.
[文献3] D.E.R.Denning, Cryptography and Data Security, Addison-Wesley.Publishing, 1982.
[文献4] James L.Massey,“An Introduction to Contemporary Cryptology”, Proc.IEEE, 76-5, pp.533-549, 1988.
[文献5] K.Zeng, C.H.Yang, D.Y.Wei, and T.R.N.Rao,“Pseudorandom Bit Generators in Stream-Cipher Cryptography ”, IEEE Computer, -2, 8-17, 1991.
[文献6] H.Niederreiter,“Quasi-Monte Carlo methods and pseudo-random numbers,”Bull.Am.Math.Soc., 84, 957-1041 1978.
[文献7] D.Knuth, The art of Computer Programming, Vol.2 Seminumerical Algorithms, 2nd ed.(Addison-Wesley, Reading, Mass., 1981).
[文献8] A.Yao, “Theory and applications of trapdoor functions ”, Proc.the 23th Annual Sympo.Foundations of Computer Science, 80-91, 1982.
[文献9] M.Blum and S.Micali, “How to generate cryptographically strong sequences of pseudo-random bits”, SIAM J.Comput., 13, 850-864, 1984.
[文献10] L.Blum, M.Blum and M.Shub, “A simple unpredictable pseudo-random number generator ”, SIAM J.Comput., 15, 364-383, 1984.
[文献11] L.Levin“One-way functions and pseudorandom generators ”.Proc.the 17th Annual ACM Sympo.on Theory of Computing, 363-365, 1985.
[文献12] O.Goldreich, S.Goldwasser, and S.Micali, “How to construct random functions ”, J.ACM, 33, 792-807, 1986.
[文献13] T.Habutsu, Y.Nishio, I.Sasase, and S.Mori, “A Secret Key Cryptosystem by Iterating a Chaotic Map. ”Proc.Eurocrypt'91, 127-140, 1991.
[文献14] L.M.Pecora and T.L.Carroll,“Synchronization in Chaotic Systems,”Physical Review Letters.64, 821-824, 1990.
[文献15] K.M.Cuomo and A.V.Oppenheim, “Circuit Implementation of Synchronized Chaos with Applications to Communications, ”Physical Review Letters.71, 65-68, 1993.
[文献16] U.Parlitz and S.Ergezinger,“Robust Communication based on Chaotic Spreading Sequences,”Physics Letters A, 188, 146-150, 1994.
[文献17] E.Biham, “Cryptanalysis of the Chaotic Map Cryptosystem Suggested at EUROCRYPT'91,”Proc.Eurocrypt'91, 532-534, 1991.
[文献18] Th.Beth, D.E.Lazic, and A.Mathias, “Cryptanalysis of Cryptosystems based on Remote Chaos Replication. ”Proc.Crypt'94, 318-331, 1994.
[文献19] S.L.Ulam and J.von Neumann,“On combination of stochastic and deterministic processes”, Bull.Math.Soc., 53, pp.1120, 1947.
[文献20] D.S.Ornstein,“Ergodic Theory, Randomness. and “Chaos ”, ”Science 243, pp.182-186, 1989.
[文献21] T.Kohda and A.Tsuneda, “Pseudonoise Sequence by Chaotic Nonlinear Maps and Their Correlation Properties,”IEICE Trans.on Communications, E76-B, 855-862, 1993.
[文献22] T.Kohda and A.Tsuneda, “Explicit Evaluation of Correlation Functions of Chebyshev Binary and Bit Sequences Based on Perron-Frobenius Operator,”IEICE Trans.on Fundamentals of Electronics, Communications and Computer Sciences, E77-A, 1794-1800, 1994.
[文献23] Jackson, E.Atlee, Perspective nonlinear dynamics, Cambridge Univ.Press, 1989.
[文献24] A.Lasota and M.C.Mackey, Chaos, Fractals, and Noise, Springer-Verlag, 1994.
[文献25] S.Oishi H.Inoue, “Pseudo-random number generators and chaos ”, Trans.IEICE Japan, E65, pp.534-541, 1982.
[文献26] L.O.Chua, Y.Yao and Q.Yang,“Generating randomness from chaos and constructing chaos with desired randomness ”,Int.J.Circuit and Applications, 18, pp.215-240, 1990.
[文献27] A.R.Murch and R.H.T.Bates, “Colored noise generation through deterministic chaos”, IEEE Trans.on Circuit Systems, 37, 5, pp.608-613, 1990.
[文献28] G.M.Bernstein and M.A.Lieberman, “Secure Random Generation Using Chaotic Circuits ”, IEEE Trans.Circuits and Systems, 37-9, pp.1157-1164, 1990.
[文献29] R.L.Adler and T.J.Rivlin,“Ergodic and mixing properties of Chebyshev polynomials, ”Proc.Amer.Math.Soc., 15, pp.794-796, 1964.
[文献30] T.J.Rivlin, Chebyshev polynomials-From Approximation Theory to Algebra and Number Theory, A Wiley-Interscience Publication, (1990).
[文献31] Grossmann S., and Thomae, S.,“Invariant distributions and stationary correlation functions of one-dimensional discrete processes, ”Z.Naturforsch.32a, pp.1353-1363, 1977.
[文献32] T.Kohda and A.Tsuneda, “Auto-/Cross-Correlation Functions of Chaotic Binary/Bit Sequences ”, Proc.of International Conference on Dynamical Sysyems and Chaos, Vol.1, pp.331-334, 1994.
[文献33] T.Kohda and A.Tsuneda, “Statistics of Chaotic Binary Sequences”, submitted to IEEE Trans.Information Theory.
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0241】
【発明の効果】
本発明によれば、非線形写像に従いカオス軌道に沿った実数値系列を生成し、これをもとに、ストリーム暗号の鍵系列として用いるカオス2値系列を生成することにより、暗号学的安全性に非常に優れたストリーム暗号システムを得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る暗号システムの基本構成を示す図
【図2】同実施形態の送信側装置における処理の流れの一例を示すフローチャート
【図3】同実施形態の受信側装置における処理の流れの一例を示すフローチャート
【図4】同実施形態のカオス2値系列生成部の第1の構成例を示す図
【図5】実数値系列の生成と2値化処理を説明するための図
【図6】同実施形態のカオス2値系列生成部の第2の構成例を示す図
【図7】実数値系列の生成とビット選択処理を説明するための図
【図8】同実施形態のカオス2値系列生成部の第3の構成例を示す図
【図9】同実施形態のカオス2値系列生成部の第4の構成例を示す図
【図10】各カオス2値系列における1の生起確率の経験的測度の平均値および分散を示す図
【図11】幾つかのビット番号i、jに対するQの値を示す図
【図12】周期Nの系列の線形複雑度を示す図
【図13】相対頻度の経験測度を示す図
【図14】相対頻度の経験測度の平均値および分散を示す図
【図15】条件付き確率の経験測度の平均値および分散を示す図
【図16】自己相関関数を示す図
【図17】相互相関関数を用いた暗号解読について説明するための図
【図18】相互相関関数を用いた暗号解読について説明するための図
【図19】本実施形態による暗号文の平均パワースペクトルを示す図
【図20】従来の方法による暗号文の平均パワースペクトルを示す図
【図21】各方法による暗号化および復号化に要する計算時間の比較を示す図
【符号の説明】
1,22…カオス2値系列生成部
1,42…排他的論理和部
21,23,25,27…カオス生成部
22,24,26,28…ビット生成部
211,231,251,271…非線形写像
221、281,282,283…閾値処理部
241…絶対値処理部
242…ビット選択部
261,262…正規化処理部
284…論理演算処理部

Claims (3)

  1. 所定の非線形写像の初期値または該所定の非線形写像の初期値および該所定の非線形写像の持つパラメータの値を示す第1の共通鍵と、2値化処理の基になる1つ又は互いに異なる複数の閾値を表す値を示す第2の共通鍵とからなる共通鍵を選択するための選択手段と、
    選択された前記共通鍵、又は該共通鍵に対応する情報を暗号化し、復号化装置へ向けて送信するための第1の送信手段と、
    前記所定の非線形写像と、前記共通鍵のうちの前記第1の共通鍵により示される前記初期値または前記初期値および前記パラメータの値とに基づいて、カオス軌道に沿った実数値であって予め定められた所定のビット数により表現される実数値からなる実数値系列を生成する第1の生成手段と、
    生成された前記実数値系列の各実数値に対して、夫々、前記共通鍵のうちの前記第2の共通鍵により示される前記値に基づく所定の2値化処理であって1つの実数値を1つのビットに変換する処理を施し、これによって得られた各ビットの値を、対応する実数値の前記実数値系列における順番と同じ順番で連結した鍵系列を生成する第2の生成手段と、
    入力された平文の2値系列と生成された前記鍵系列との所定の論理演算をビット単位で行なって暗号文の2値系列を生成する論理演算手段と、
    生成された前記暗号文の2値系列を前記復号化装置へ向けて送信するための第2の送信手段とを備え、
    記第2の生成手段は、前記実数値系列の各実数値について、前記第2の鍵として与えられる複数の値を夫々閾値として複数の2値化データを求め、該複数の2値化データに所定の論理演算を施すものであることを特徴とする暗号化装置。
  2. 所定の非線形写像の初期値または該所定の非線形写像の初期値および該所定の非線形写像の持つパラメータの値を示す第1の共通鍵と、2値化処理の基になる1つ又は互いに異なる複数の閾値を表す値を示す第2の共通鍵とからなる共通鍵を選択するための選択手段と、
    選択された前記共通鍵、又は該共通鍵に対応する情報を暗号化し、復号化装置へ向けて送信するための第1の送信手段と、
    前記所定の非線形写像と、前記共通鍵のうちの前記第1の共通鍵により示される前記初期値または前記初期値および前記パラメータの値とに基づいて、カオス軌道に沿った実数値であって予め定められた所定のビット数により表現される実数値からなる実数値系列を生成する第1の生成手段と、
    生成された前記実数値系列の各実数値に対して、夫々、前記共通鍵のうちの前記第2の共通鍵により示される前記値に基づく所定の2値化処理であって1つの実数値を1つのビットに変換する処理を施し、これによって得られた各ビットの値を、対応する実数値の前記実数値系列における順番と同じ順番で連結した鍵系列を生成する第2の生成手段と、
    入力された平文の2値系列と生成された前記鍵系列との所定の論理演算をビット単位で行なって暗号文の2値系列を生成する論理演算手段と、
    生成された前記暗号文の2値系列を前記復号化装置へ向けて送信するための第2の送信手段とを備え、
    記第2の共通鍵として与えられる値は、実数値の2進表現におけるビット位置を示すビット番号であり、
    前記第2の生成手段は、前記実数値系列の各実数値について、該実数値または該実数値に予め定められた所定の処理を施してなる値の2進表現における、前記第2の共通鍵として与えられる複数の値により夫々示されるビット位置の値を選択し、これら選択された複数の値に所定の論理演算を施すことにより、該実数値を2値化するものであることを特徴とする暗号化装置。
  3. 前記論理演算は、排他的論理和であることを特徴とする請求項またはに記載の暗号化装置。
JP27429295A 1995-10-23 1995-10-23 暗号システム Expired - Lifetime JP3816558B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27429295A JP3816558B2 (ja) 1995-10-23 1995-10-23 暗号システム
US08/734,919 US6014445A (en) 1995-10-23 1996-10-22 Enciphering/deciphering apparatus and method incorporating random variable and keystream generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27429295A JP3816558B2 (ja) 1995-10-23 1995-10-23 暗号システム

Publications (2)

Publication Number Publication Date
JPH09116533A JPH09116533A (ja) 1997-05-02
JP3816558B2 true JP3816558B2 (ja) 2006-08-30

Family

ID=17539620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27429295A Expired - Lifetime JP3816558B2 (ja) 1995-10-23 1995-10-23 暗号システム

Country Status (1)

Country Link
JP (1) JP3816558B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
JP3976218B2 (ja) * 2000-03-10 2007-09-12 関西ティー・エル・オー株式会社 暗号システム
US11438135B2 (en) * 2017-01-13 2022-09-06 Koninklijke Philips N.V. Chaos coding based communications for MRI coils
KR102491902B1 (ko) * 2019-11-29 2023-01-27 고려대학교 산학협력단 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법

Also Published As

Publication number Publication date
JPH09116533A (ja) 1997-05-02

Similar Documents

Publication Publication Date Title
US5751811A (en) 32N +D bit key encryption-decryption system using chaos
US6014445A (en) Enciphering/deciphering apparatus and method incorporating random variable and keystream generation
Schmitz Use of chaotic dynamical systems in cryptography
Kocarev et al. Pseudorandom bits generated by chaotic maps
CN106941407B (zh) 一种平台数据动态加密的方法和装置
US8184808B2 (en) Chaotic asymmetric encryption process for data security
Kanso Self-shrinking chaotic stream ciphers
Gnanajeyaraman et al. Audio encryption using higher dimensional chaotic map
Li et al. Maximal correlation secrecy
US6463150B1 (en) Encryption device for information in binary code
Deepthi et al. Design, implementation and analysis of hardware efficient stream ciphers using LFSR based hash functions
Ghazi et al. Robust and Efficient Dynamic Stream Cipher Cryptosystem
Sudeepa et al. Generation of maximum length non-binary key sequence and its application for stream cipher based on residue number system
JP3816558B2 (ja) 暗号システム
JP3557037B2 (ja) 乱数生成装置及び方法、鍵系列生成装置及び方法、暗号化装置及び方法、並びに復号装置及び方法
Reyad et al. Pseudo-random sequence generation from elliptic curves over a finite field of characteristic 2
Mihalkovich et al. MPF based symmetric cipher performance comparison to AES and TDES
Cardell et al. Recovering the MSS-sequence via CA
Yang et al. A new block cipher based on chaotic map and group theory
Sosa-Gómez et al. Using Hadamard transform for cryptanalysis of pseudo-random generators in stream ciphers
Naskar et al. A Key Based Secure Threshold Cryptography for Secret Image.
Bajaj et al. Enhancement of RC5 for image encryption
RU2239290C2 (ru) Способ поточного шифрования данных
Moulood New Address Shift Linear Feedback Shift Register Generator
Yerukala et al. Alternating step generator using FCSR and LFSRs: A new stream cipher

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040927

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041008

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060608

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

EXPY Cancellation because of completion of term