(57)【要約】【課題】平文と暗号文の１ペアから、他の暗号文の解読を不可能にする。【解決手段】鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段１０２と、生成されたパラメータ列を用いてカオス演算を行いカオスノイズを得るカオスノイズ発生手段１０３と、カオスノイズを用いてパラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段１０４Ａと、カオスノイズを平文情報に対して適用する演算を行って暗号文を得る排他的論理和回路１０５と、排他的論理和回路１０５により得られる暗号文を前記スケジューリング手段１０４Ａへフィードバックするフィードバック経路とを具備し、前記スケジューリング手段１０４Ａにおいてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行う。【選択図】  図１７
2004266495.tif 000002
【特許請求の範囲】
【請求項１】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置において、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、
このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、
この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路と
を具備し、
前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする暗号生成装置。
【請求項２】
前記パラメータ列を前記カオスノイズ発生手段へ提供する順序である初期位相を決定する初期位相決定手段を具備することを特徴とする請求項１記載の暗号生成装置。
【請求項３】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置において、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、
このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行う演算部と、
この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路と
を具備し、
前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする暗号生成装置。
【請求項４】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行う暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置において、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、
このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算部と、
この演算部へ与える暗号文を前記スケジューリング手段へフィードバックするフィードバック経路と
を具備し、
前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする暗号復号装置。
【請求項５】
前記パラメータ列を前記カオスノイズ発生手段へ提供する順序である初期位相を決定する初期位相決定手段を具備することを特徴とする請求項３記載の暗号復号装置。
【請求項６】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得る暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置において、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、
このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、
前記カオスノイズ発生手段により発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算部と、
この演算部へ与える暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路と
を具備し、
前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする暗号復号装置。
【請求項７】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置に用いられる暗号生成プログラムにおいて、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、
このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、
前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリングステップと、
前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算ステップと、
を具備し、
この演算ステップにより得られる暗号文を前記スケジューリングステップへフィードバックし、前記スケジューリングステップにおいてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする暗号生成プログラム。
【請求項８】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置に用いられる暗号生成プログラムにおいて、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、
このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、
前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算ステップと、
を具備し、
この演算ステップにより得られる暗号文を前記カオスノイズ発生ステップへフィードバックし、前記カオスノイズ発生ステップにおいてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする暗号生成プログラム。
【請求項９】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行う暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置に用いられる暗号復号プログラムにおいて、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、
このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、
前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリングステップと、
前記カオスノイズ発生ステップにより発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算ステップとを具備し、
この演算ステップへ与える暗号文を前記スケジューリングステップへフィードバックし、前記スケジューリングステップにおいてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする暗号復号プログラム。
【請求項１０】
暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得る暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置に用いられる暗号復号プログラムにおいて、
前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、
このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、
前記カオスノイズ発生ステップにより発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算ステップとを具備し、
この演算ステップへ与える暗号文を前記カオスノイズ発生ステップへフィードバックし、前記カオスノイズ発生ステップにおいてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする暗号復号プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はカオス演算を伴う演算にて暗号を生成する暗号生成装置、その逆のプロセスにて復号化を行う暗号復号装置、上記暗号生成装置において用いられる暗号生成プログラム、上記暗号復号装置に用いられる暗号復号プログラムに関するものである。
【０００２】
【従来の技術】
従来、カオスを用いた暗号化の場合には浮動小数点演算が用いられるのが通例である。しかしながら、浮動小数点演算を用いると、暗号化を行う装置と暗号の復号化を行う装置との夫々に搭載されるプロセッサの演算特性に差があることから、適切な復号化を行い得ないなどの不具合があった。
【０００３】
これに対応するために異機種プロセッサのエミュレーションが考えられるが、これは開発環境の整ったプラットホームのみで実現可能であり、モバイル装置に用いられているＣＰＵや各種電子機器に搭載されているＣＰＵにおいては、係る開発環境が整っているとは言いがたい。
【０００４】
そこで、本願発明者は先に整数演算及びビット演算によりカオス演算を行い、浮動小数点コプロセッサに依存しない暗号生成装置等を提案した。
【０００５】
【特許文献１】特開２００１−２８５２７７号公報（全般）
【０００６】
【発明が解決しようとする課題】
本発明は上記の提案に係る手法を更に進化させるべくなされたもので、その目的は、整数演算及びビット演算によるカオス演算にて十分な秘匿性のある暗号化を行い得る暗号生成装置と暗号生成プログラムを提供し、またこの暗号化された暗号を適切に復号化することのできる暗号復号装置と暗号復号プログラムを提供することである。
【０００７】
【課題を解決するための手段】
本発明に係る暗号生成装置は、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置において、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする。
【０００８】
また本発明に係る暗号生成装置は、前記パラメータ列を前記カオスノイズ発生手段へ提供する順序である初期位相を決定する初期位相決定手段を具備することを特徴とする。
【０００９】
本発明に係る暗号生成装置は、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置において、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行う演算部と、この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする。
【００１０】
本発明に係る暗号復号装置は、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行う暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置において、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、前記カオスノイズ発生手段により発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算部と、この演算部へ与える暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴とする。
【００１１】
また本発明に係る暗号復号装置は、前記パラメータ列を前記カオスノイズ発生手段へ提供する順序である初期位相を決定する初期位相決定手段を具備することを特徴とする。
【００１２】
本発明に係る暗号復号装置は、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得る暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置において、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算部と、この演算部へ与える暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする。
【００１３】
本発明に係る暗号生成プログラムは、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置に用いられる暗号生成プログラムにおいて、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリングステップと、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算ステップとを具備し、この演算ステップにより得られる暗号文を前記スケジューリングステップへフィードバックし、前記スケジューリングステップにおいてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴としている。
【００１４】
本発明に係る暗号生成プログラムは、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置に用いられる暗号生成プログラムにおいて、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算ステップとを具備し、この演算ステップにより得られる暗号文を前記カオスノイズ発生ステップへフィードバックし、前記カオスノイズ発生ステップにおいてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴とする。
【００１５】
本発明に係る暗号復号プログラムは、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記スケジューリング手段へフィードバックするフィードバック経路とを具備し、前記スケジューリング手段においてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行う暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置に用いられる暗号復号プログラムにおいて、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、前記カオスノイズ発生手段により発生されたカオスノイズを用いて前記パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリングステップと前記カオスノイズ発生ステップにより発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算ステップと、この演算ステップへ与える暗号文を前記スケジューリングステップへフィードバックし、前記スケジューリングステップにおいてはフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行うことを特徴としている。
【００１６】
本発明に係る暗号復号プログラムは、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報に対して適用する演算を行って暗号を生成する暗号生成装置であって、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成手段と、このパラメータ生成手段により生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生手段と、前記カオスノイズ発生手段により発生されたカオスノイズを平文情報に対して適用する演算を行って暗号文を得る演算部と、この演算部により得られる暗号文を前記カオスノイズ発生手段へフィードバックするフィードバック経路とを具備し、前記カオスノイズ発生手段においてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得る暗号生成装置を用いて生成した暗号文を復号化して元の平文に戻す暗号復号装置に用いられる暗号復号プログラムにおいて、前記鍵データに基づいてカオス演算に用いるパラメータ列を生成するパラメータ生成ステップと、このパラメータ生成ステップにより生成されたパラメータ列を用いてカオス演算を行い前記カオスノイズを得るカオスノイズ発生ステップと、前記カオスノイズ発生ステップにより発生されたカオスノイズを暗号文情報に対して適用する演算を行って平文を得る演算ステップとを具備し、この演算ステップへ与える暗号文を前記カオスノイズ発生ステップへフィードバックし、前記カオスノイズ発生ステップにおいてはフィードバックされた暗号文に基づきカオス演算を行い前記カオスノイズを得ることを特徴としている。
【００１７】
【発明の実施の形態】
以下添付図面を参照して本発明に係る暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラムを説明する。各図において同一の構成要素には同一の符号を付して重複する説明を省略する。まず、本発明の前提となる発明（以下、前提発明）について説明する。図１には、前提発明の暗号生成装置１００Ａと暗号復号装置１００Ｂとの構成例が示されている。この暗号生成装置１００Ａと暗号復号装置１００Ｂとは、同一構成であるので、暗号生成装置１００Ａについて説明を行う。
【００１８】
暗号生成装置１００Ａは、暗号化の鍵データに基づきカオスノイズを発生する写像関数を用いて得たカオスノイズを平文情報２０７に対して適用する演算を行って暗号を生成するもので、鍵供給手段１０１、パラメータ生成手段１０２、カオスノイズ発生手段１０３及びスケジューリング手段１０４を備えている。
【００１９】
鍵供給手段１０１は、カオスノイズ生成の源となる鍵データ２０１を供給するものである。パラメータ生成手段１０２は、上記鍵データ２０１に基づいてカオス演算に用いるパラメータ列（初期位相を持ったもの）２０２を生成するものである。このパラメータ生成手段１０２は、上記鍵データ２０１に基づいて鍵固有パラメータ２０３をも生成する。
【００２０】
カオスノイズ発生手段１０３は、上記パラメータ列２０２を用いてカオス演算を行い、カオスノイズであるカオス乱数列２０６を得るものである。このときカオスノイズ発生手段１０３は整数演算型カオス関数２０４を用いる。スケジューリング手段１０４は、カオスノイズ発生手段１０３におけるカオス演算においてパラメータ列２０２が用いられる所定周期毎（この実施例では１周期毎）に当該パラメータ列２０２に変更を生じさせるようにパラメータ列２０２のスケジューリングを行うものであり、このスケジューリングにおいてパラメータスケジューリング関数２０５を用いる。
【００２１】
上記のカオスノイズ発生手段１０３により発生されたカオス乱数列２０６と平文２０７とは排他的論理和回路１０５により排他的論理和演算されて暗号文２０８が得られる。この暗号文２０８は暗号復号装置１００Ｂに送られ、暗号復号装置１００Ｂにおいて上記暗号生成装置１００Ａと同様にして生成されたカオス乱数列２０６と上記暗号文２０８とは排他的論理和回路１０５により排他的論理和演算されて平文２０７へ戻される。
【００２２】
上記暗号生成装置１００Ａと暗号復号装置１００Ｂにおけるカオスノイズ生成の過程においては、整数演算化により対応する。ここでいう整数演算化とは，Ｃ言語におけるｉｎｔ  型，ｌｏｎｇ型など整数演算型のみで記述することで、ｆｌｏａｔ  型やｄｏｕｂｌｅ型など浮動小数点演算型を一切使用しないことである。また、整数演算による浮動小数点演算のソフトウェア的なエミュレーションという意味ではなく、カオス発生構造乃至写像関数自体の整数演算化拡大設計を行うということであり、根本的な処理の整数化を意味する。
【００２３】
ここに、整数演算によるカオス発生の根拠は次のとおりである。整数演算化によるカオス発生の根拠および写像関数の整数演算化設計とは、特にロジスティック写像、テント写像、ベルヌーイシフト写像など、写像系のカオスは２次元幾何学的な発生構造を持つことより、これら写像範囲を整数演算可能な範囲に拡大しても幾何学的発生構造は保たれる。これを図２により説明する。図２に示す写像においてｘ０を出発点とし、そこでの写像関数値ｙ＝ａ  ｘ（１−ｘ）からｙ＝ｘ  に反射（写像）される。このような単純操作の繰り返し（反復）課程でカオスが発生する。この幾何学構造は、縦横共に拡大しても原理的に保たれる（拡大コピーと同じ）。
【００２４】
上記の整数演算化における問題点を説明する。上記カオスの整数演算化において、浮動小数点演算型と比較し、扱える情報量が極端に減少し、計算精度、分解能が落ちる結果となる。これより、カオス状態総数の減少、過去の自己軌道への縮退、これに伴う短周期性が顕著となる。同時に、鍵値として使用可能なカオスパラメータ、初期値の範囲が減少し、十分な鍵長維持には対策が必要となる。
【００２５】
係る整数演算化問題点の解決手法は次の通りである。整数演算化では、カオス状態数の減少ないし短周期性が顕著となるが、カオス拡散度数を示すＬｙａｐｕｎｏｖ（リアプノフ）指数は浮動小数点演算型と同等の領域において同等の正の値を示し、初期条件敏感性、軌道の乱雑性などカオス諸性質は保たれている。図３にロジスティック写像浮動小数点演算での分岐図、図４に整数演算での分岐図を示す。また、図５は浮動小数点演算でのＬｙａｐｕｎｏｖ指数、図６は整数演算でのＬｙａｐｕｎｏｖ指数を示す図である。これら図３〜図６から、それぞれ同等のパラメータ領域において同等のカオス性が覗える。
【００２６】
そこで、本前提発明では、新たにカオスパラメータを定期的に変動させ、擬似的に長周期化を図る方針を与える。つまり、新たに初期のパラメータ変動パターンを鍵値として起用する。尚、ここではパラメータを定期変動させる関数をパラメータスケジューリング関数（２段部関数）と呼ぶ。
【００２７】
本前提発明における暗号生成のための基本構造と暗号復号のための構成は、基本的に既存の同期式カオス暗号方式と同等の構造であるが、既に図１に示されるように、カオス関数が整数演算化設計された独自関数である点と、新たにカオス関数へ渡すパラメータに定期変動を加えるパラメータスケジューリング関数が付加された構造である点が特徴である。
【００２８】
次に、上記において用いる整数演算化カオス関数を例示する。
１次の写像関数（変形テント写像型）の設計例
テント写像は、
2004266495.tif 000003
で定義される。ただし写像範囲は  ０＜ｘ  ＜１．０  である。
ここで（１−Ａ），（１−Ｂ）  式のｙ  値（出力）は、次のサイクル計算のｘ  値（入力）である。  （１−Ａ），（１−Ｂ）式に従い、順次ｙ  値列（カオス乱数列）を生成するという単純フィードバック構造である。
テント写像は写像中心軸  ｘ＝０．５  を境に対称な直線なので、
2004266495.tif 000004
と記述できる。
ここでは，パラメータパターンを増加するため、以下のようにテント写像を変形する。また、同じくｘ＝０．５  を写像の境目とすると、
2004266495.tif 000005
を考える。係る写像関数を図７に示す。
【００２９】
次に整数演算化を考える。ここでは写像範囲
2004266495.tif 000006
のように拡大写像を考え、軸の位置は写像の中心ｘ  ＝Ｍとする。また、ａ＝Ａ／Ｍ  ，
ｂ＝Ｂ／Ｍ  とし、写像関数をｆ（ｘ）とすると、
2004266495.tif 000007
である。係る写像関数を図８に示す。
【００３０】
ここで、Ｍ  を２  のべき乗（Ｍ＝２  Ｋ  ）とした場合、（５−Ａ）  式と（５−Ｂ）  式演算部は、
2004266495.tif 000008
のようにビットシフトで表現できる。
具体的にＭ  値を与えると、例えば３２−ｂｉｔ  ＣＰＵにおいて  ｌｏｎｇ  ｉｎｔ  型（倍精度整数演算型）を用いる場合、Ｍ＝３２７６８  まで指定可能である。この場合Ｋ＝１５である（Ｍ＝２  Ｋ  ）。
【００３１】
ここではＡ，  Ｂが本前提発明でのカオスパラメータであり、これらに割り当て可能な領域は以下である。
ここでＡ  の範囲は、軌道拡散の条件より、概ね
2004266495.tif 000009
を満たす必要がある。
軌道拡散の条件（※１）
軌道拡散の条件は、写像範囲内の全領域で、写像関数の傾きの絶対値が１以上（｜ｆ´（ｘ）  ｜＞１  ）を満たすことである。これより、反復計算毎にリアプノフ指数は常に正（λ＞０）となる。
また、関数（６）  式の取りうる最大値は  ｘ＝Ｍの時で、最大値が写像範囲  ２Ｍ  以下でなくてはならないので、
2004266495.tif 000010
である。
これより、Ａ，Ｂ  を概ね同程度の範囲とし、並びにＡ  値は大きいほうが望ましいので、
2004266495.tif 000011
の関係を得る。
【００３２】
３２−ｂｉｔプロセッサ直接演算（多段分割なし）ではＭ＝３２７６８  なので、
2004266495.tif 000012
程度である。
なお，Ａ  値はできるだけ大きい値がカオスの拡散度の向上につながるため、（９）  式、（１０）式よりΔＡ  ，ΔＢ  値を小さく取れば良いが、それでは取りうるパラメータ総数が小さくなってしまう。そこで、ここでは、
2004266495.tif 000013
程度を考える。
【００３３】
また、後述のパラメータ可変方式と関連し、
2004266495.tif 000014
とした。
（９）  ，（１０），（１４），（１５）式より、本例でのパラメータ指定可能範囲は
2004266495.tif 000015
である。
これらＡ  ，Ｂ  のパラメータ範囲が、後述のパラメータスケジューリング関数で使用可能な可変範囲である。
【００３４】
次に（６）  式演算部において精度向上に関する考察を述べる。ここではＭ＝３２７６８＝２  １５（Ｋ＝１５）なので、（６）  式は
2004266495.tif 000016
である。（１８）式では，Ａ  ×ｘ  の拡大演算後，１５−ｂｉｔ右シフトで縮小を行うので下位１５−ｂｉｔの情報が消える。
一方、Ａ  の範囲は（１６）のように、２  １５以上２  １６以下のため、１５−ｂｉｔの消し去られた情報が次サイクルの拡大演算課程で１  以上の差につながる場合がある。そこで，１５−ｂｉｔ右シフト演算前の下位１５−ｂｉｔ情報を記憶しておき，次サイクルの拡大演算課程に有効となるように考慮する。この場合、１  回目のループでは、
ｘｂ  ＝  ０を代入し、
2004266495.tif 000017
のように書き下す。（（１９−Ｃ）式の出力ｆ（ｘ）が、次サイクルの（１９−Ａ）式の入力ｘ  である）
【００３５】
ここで、（５−Ａ）  ，（５−Ｂ）  に示した整数演算化設計１次の写像関数（変形テント写像）において、（１４），（１５）で示すパラメータ可変幅、および（１６），（１７）で示すパラメータ可変範囲におけるカオス発生の様子を図９の分岐図と図１０におけるＬｙａｐｕｎｏｖ指数の図に示した。尚、図９、図１０は、パラメータ固定（パラメータ可変させる前の原のカオス）である。
図９、図１０より、整数演算化設計１次の写像関数は、考えるパラメータ範囲内全体にわたって連続したカオス領域を確認できる。
たとえば，図４、図６で示すロジスティック写像は、考えるパラメータ範囲内でカオス領域は不連続であるに対し、設計関数の連続カオス領域はパラメータ可変方式を考える上でもｉｆ分岐等が不要など容易な方式が期待できる。
【００３６】
２次の写像関数（変形ロジスティック写像型）の設計例
ロジスティック写像の場合、写像範囲の中心（ｘ＝０．５）  で傾きが１以下の縮小領域が存在する。本方式のような整数演算化において、縮退発生は周期早期化を招く理由より、ロジスティック写像の縮退領域を省き、新たに写像範囲の中心（ｘ＝０．５）  での傾きが１以上を保つ（写像範囲の中心で１階微分値が不連続になる）関数を設計する。
【００３７】
ここで設計する２次関数を
2004266495.tif 000018
とする。
尚、整数演算化拡大した写像範囲を０  ＜ｘ  ＜２  Ｍ  とし、ロジスティック写像同様の上に凸（２階微分値が負）の関数を考える。またここでは、特に写像の対称軸をｘ＝Ｍ  （写像範囲の真ん中）とする。この場合、右側関数（Ｍ＜ｘ  ＜２Ｍ）は、ｘ＝２Ｍ−ｘ  の操作後、左側関数（０  ＜ｘ  ＜Ｍ  ）と同等になるため、以下では右側関数について述べる。
【００３８】
さらに隣接軌道が縮退を起こさない条件（※１）を考慮することより、（２０）で与えた関数形は、以下の条件が付されることとなる。
2004266495.tif 000019
これらａ，  ｂ，  ｃ  についての一般解および条件を整理すると、
2004266495.tif 000020
となり、
ｘ  ＞Ｍ  の場合は  ｘ  ＝  ２Ｍ−ｘ    変換する
2004266495.tif 000021
と整理される。係る写像関数を図１２に示す。
【００３９】
尚、ここで、ｒ  ＝  Ｒ  ／  Ｍ  （Ｒ  は整数値）  とおき、特にｒ  ＜２  であること、および（２３）の条件より、
ｘ  ＞Ｍ  の場合は  ｘ  ＝  ２Ｍ−ｘ    変換する
2004266495.tif 000022
を得る（図１１参照）。
【００４０】
ここでＭ＝２  Ｋ  とした場合，一部ビット演算で記述できる。
また、２次関数の場合、Ｍ＝３２７６８  （Ｋ＝１５）  とした場合、３２−ｂｉｔ（ｕｎｓｉｇｎｅｄ  ｌｏｎｇ  型）では多段処理が必要な点、および精度補正を考えると、以下の様に整理される。（ただし１回目のループはｘｂ  ＝  ０）
2004266495.tif 000023
尚、特に精度補正をしない場合（強制的な切り捨て）、
2004266495.tif 000024
である。
ここで、ｈ，  Ｒがカオスパラメータであり、後述パラメータスケジューリング関数と連結されている。
【００４１】
ｈ  とＲ  の取り得る範囲は、（３３）式の拘束条件を満たす範囲で設定する。また、それぞれの取りうる値の総数Δｈ  ，ΔＲ  はほぼ同数なので
2004266495.tif 000025
とし，Δｈ  ≒ΔＲ  ，および素数を起用（後述）する条件より，
2004266495.tif 000026
のように与えた。
【００４２】
ここで、（３２）に示した整数演算化設計２次の写像関数（変形ロジスティック写像）において、（３６）、（３７）で示すパラメータ可変幅、パラメータ可変範囲におけるカオス発生の様子を図１５の分岐図と図１６のＬｙａｐｕｎｏｖ指数の図に示した。尚、図１５、図１６は、パラメータ固定（パラメータ可変させる前の素のカオス）である。
これら図１５、図１６より整数演算化設計２次の写像関数は、考えるパラメータ範囲内全体にわたって連続したカオス領域を確認できる。たとえば，図４、図６で示すロジスティック写像は、考えるパラメータ範囲内でカオス領域は不連続であるに対し、設計関数の連続カオス領域はパラメータ可変方式を考える上でもｉｆ分岐等が不要など容易な方式が期待できる。
【００４３】
その他関数系（パラメータ数増加）
２次関数型で１次関数型同様ｙ  切片変位を加える方法
２  次関数型では、１次関数型と同様に、写像範囲の両端（ｘ＝０，  ｘ＝２  Ｍ）にｙ  切片を与えても良い。係る例の写像関数を図１２に示す。この場合、新たにｙ  切片の変位を与えるパラメータが１つ増加し長周期化に寄与する。
【００４４】
左右の写像関数を異なる関数型とする方法
ここでは写像範囲の真ん中を対称軸として左右の関数型は同一の関数について説明してきたが、左右で異なる関数型を採用することより、パラメータ数が２倍になる。これより。莫大な長周期化を図ることができる。係る写像関数を図１３に示す。
【００４５】
写像の軸の変位
ここでは写像範囲の真ん中を対称軸のモデルについて説明してきた。これはビット演算化を意識した理由であるが、例えば図１４のように軸を写像中心からずらして与える方法も考えられる。この場合、軸のｘ  方向の変位を新たなパラメータとして与えることができ長周期化に寄与する。
【００４６】
2004266495.tif 000027
ｈ  −  Ｒ  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ  のパラメータ変域は、最大値２Ｍに近いほうからΔｈ  とる。
◎Ｒ  のパラメータ変域は、最小値  Ｍに近いほうからΔＲ  とる。
パラメータスケジューリング関数からの要請として、
◎ただし，Δｈ  ≠ΔＲ  かつ，互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし、ｈ  ＞  Ｒの規則は、いつでも保存されることが必要。
Δｈ  ＞  ΔＲ  とすると，
ΔＲ  ＜  Δｈ  ＜  Ｍ／２（＝１６３８４）程度の変域を持つ。
周期ポテンシャル：    この場合，最大（２１６  ）２    ×（  鍵長／１６）    程度の周期ポテンシャルを持つ。
（例示）
周  期  ：仮にΔｈ  ＝  ４１１１，ΔＲ  ＝  ４０９９とした場合、
４０９９×４１１１×（  鍵長／１６）  であり、
鍵長１２８−ｂｉｔ  で１２８Ｍ、また鍵長１０２４−ｂｉｔで１０２４Ｍ  （１Ｇ）
このとき、
2004266495.tif 000028
【００４７】
2004266495.tif 000029
ｈ１  −  Ｒ１  ，ｈ２  −  Ｒ２  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ１のパラメータ変域は、最大値２Ｍに近いほうからΔｈ１とる。
◎ｈ２のパラメータ変域は、最大値２Ｍに近いほうからΔｈ２とる。
◎Ｒ１のパラメータ変域は、最小値  Ｍに近いほうからΔＲ１とる。
◎Ｒ２のパラメータ変域は、最小値  Ｍに近いほうからΔＲ２とる。
パラメータスケジューリング関数からの要請として、
◎ただし、Δｈ１≠Δｈ２≠ΔＲ１≠ΔＲ２  かつ、互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし、ｈ１  ＞  Ｒ１  、ｈ２  ＞  Ｒ２  の規則は常に保存されることが必要。
2004266495.tif 000030
周期ポテンシャル：    この場合，最大（２１６  ）４  ×（  鍵長／１６）    程度の周期ポテンシャルを持つ。
2004266495.tif 000031
【００４８】
2004266495.tif 000032
ｈ  −  Ｒ  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ  のパラメータ変域は、最大値２Ｍ−  ΔＣ−Ｃ０に近いほうからΔｈ  とる。
◎Ｒ  のパラメータ変域は、最小値  Ｍに近いほうからΔＲ  とる。
◎Ｃ  のパラメータ変域は、最小値  １に近いほうからΔＣ  とる。
パラメータスケジューリング関数からの要請として、
◎ただし、Δｈ  ≠ΔＲ  ≠ΔＣ  かつ，互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし，ｈ  ＞  Ｒの規則は，いつでも保存されることが必要。
◎ただし，ｈ  最大値は２Ｍ−  ΔＣ  以下であることが必要。
Δｈ  ＞  ΔＲ  ＞  ΔＣ  とすると、
ΔＣ  ＜  ΔＲ  ＜  Δｈ  ＜  Ｍ／３（＝５４６１  ）程度の変域を持つ。
周期ポテンシャル：    この場合、最大（５４６１）３  ×（  鍵長／２４）  程度の周期ポテンシャルを持つ。
（例示）
周  期：    仮にΔｈ  ＝  ４１２７，ΔＲ  ＝  ４１１１，ΔＣ＝４０９９とした場合、
４０９９×４１１１×４１２７×（  鍵長／２４）  で，鍵長１２８−ｂｉｔ  で３４１Ｇ、また、鍵長１０２４−ｂｉｔで２７３０Ｇ  （２．６７Ｔ）。
2004266495.tif 000033
【００４９】
2004266495.tif 000034
ｈ  −  Ｒ  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ１のパラメータ変域は、最大値２Ｍ−  ΔＣ１−Ｃ１０に近いほうからΔｈ１とる。
◎ｈ２  のパラメータ変域は、最大値２Ｍ−  ΔＣ２−Ｃ２０に近いほうからΔｈ２とる。
◎Ｒ１のパラメータ変域は、最小値  Ｍに近いほうからΔＲ１とる。
◎Ｒ２のパラメータ変域は、最小値  Ｍに近いほうからΔＲ２とる。
◎Ｃ１のパラメータ変域は、最小値  １に近いほうからΔＣ１とる。
◎Ｃ２のパラメータ変域は、最小値  １に近いほうからΔＣ２とる。
パラメータスケジューリング関数からの要請として、
◎  ただし、Δｈ１≠Δｈ２≠ΔＲ１≠ΔＲ２≠ΔＣ１≠ΔＣ２かつ，互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし，ｈ  ＞  Ｒの規則は，いつでも保存されることが必要。
◎ただし，ｈ  最大値は２Ｍ−  ΔＣ  以下であることが必要。
Δｈ  ＞  ΔＲ  ＞  ΔＣ  とすると、
ΔＣ  ＜  ΔＲ  ＜  Δｈ  ＜  Ｍ／３（＝５４６１  ）程度の変域を持つ。
周期ポテンシャル：        この場合、最大（５４６１）６    ×（  鍵長／４８）  程度の周期ポテンシャルを持つ。
2004266495.tif 000035
【００５０】
2004266495.tif 000036
ｈ，  Ｒ，  Ｌ  は，ほぼ同程度のパラメータ幅（Δｈ，  ΔＲ，  ΔＬ  ）とすると、
2004266495.tif 000037
ｈ１  −  Ｒ１  ，ｈ２  −  Ｒ２  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ１のパラメータ変域は、最大値２Ｍに近いほうからΔｈ１とる。
◎ｈ２のパラメータ変域は、最大値２Ｍに近いほうからΔｈ２とる。
◎Ｒ１のパラメータ変域は、最小値  ６Ｍ／５  に近いほうからΔＲ１とる。
◎Ｒ２  のパラメータ変域は、最小値  ６Ｍ／５  に近いほうからΔＲ２とる。
◎Ｌ  は，Ｍ  を中心に，前後±ΔＬ／２  （計ΔＬ  ）とる。
パラメータスケジューリング関数からの要請として、
◎ただし、Δｈ１≠Δｈ２≠ΔＲ１≠ΔＲ２≠ΔＬ  かつ、互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし，Ｌ  ＜  Ｒ１  ＜  ｈ１  ，Ｌ  ＜  Ｒ２  ＜  ｈ２  の規則はいつでも保存されることが必要。
周期ポテンシャル：      この場合，最大（２１３  ）５    ×（  鍵長／６０）    を超える周期ポテンシャルを持つ。
2004266495.tif 000038
【００５１】
2004266495.tif 000039
ｈ１  −  Ｒ１  ，ｈ２  −  Ｒ２  が大きいほうが設計関数の２  次の効果（非線形）が大きくなるため、また、同時にカオス拡散度（Ｌｙａｐｕｎｏｖ指数）が大きいほうが望ましい点を考慮し、
◎ｈ１のパラメータ変域は、最大値２Ｍ  −ΔＣ  −Ｃ０  に近いほうからΔｈ１とる。
◎ｈ２のパラメータ変域は、最大値２Ｍ  −ΔＣ  −Ｃ０  に近いほうからΔｈ２とる。
◎Ｒ１のパラメータ変域は、最小値  ８Ｍ／７  に近いほうからΔＲ１とる。
◎Ｒ２  のパラメータ変域は、最小値  ８Ｍ／７  に近いほうからΔＲ２とる。
◎Ｌ  は、Ｍ  を中心に、前後±ΔＬ／２  （計ΔＬ  ）とる。
パラメータスケジューリング関数からの要請として、
◎ただし、Δｈ１≠Δｈ２≠ΔＲ１≠ΔＲ２≠ΔＣ１≠ΔＣ２≠ΔＬ    かつ、互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし，Ｌ  ＜  Ｒ１  ＜  ｈ１  ，Ｌ  ＜  Ｒ２  ＜  ｈ２  の規則はいつでも保存されることが必要。
周期ポテンシャル：    この場合，最大（２１５  ）５    ×（  鍵長／６０）    を超える周期ポテンシャルを持つ。
2004266495.tif 000040
【００５２】
2004266495.tif 000041
Ａ  が大きいほうが設計関数の拡散度は高いため、
◎Ａ  のパラメータ変域は、最大値２Ｍ−  ΔＢ−Ｂ０に近いほうからΔＡ  とる。
◎Ｂ  のパラメータ変域は、最小値  １に近いほうからΔＢ  とる。
パラメータスケジューリング関数からの要請として、
◎ただし、ΔＡ  ≠ΔＢ  かつ、互いに素数が要請される。
写像関数設計上の限界条件として、
◎ただし、Ａ  ＞  Ｂの規則は、いつでも保存されることが必要。
Δｈ  ＞  ΔＲ  ＞  ΔＣ  とすると，
ΔＣ  ＜  ΔＲ  ＜  Δｈ  ＜  Ｍ／３（＝５４６１  ）程度の変域を持つ。
周期ポテンシャル：      この場合，最大（５４６１）３    ×（  鍵長／２４）  程度の周期ポテンシャルを持つ。
2004266495.tif 000042
【００５３】
１  次の写像関数  ＜その２＞
識別：    ４パラメータモード・写像中心軸対象型・左右関数独立操作
基本関数型：      ｙ＝ａ  ｘ  ＋  ｂ
（以下省略）
１  次の写像関数  ＜その３＞
識別：    ５パラメータモード・写像軸変動非対称型・左右関数独立操作
基本関数型：    ｙ＝ａ  ｘ＋  ｂ
（以下省略）
などを例示することができる。
【００５４】
次に、カオスノイズ発生手段１０３から出力されるカオス乱数列（乱数値抽出）２０６の抽出について説明する。ここで、（１８）式（精度補正無し）および（１９−Ａ），（１９−Ｂ）式の精度補正対策後のｙ  値は本件整数演算化カオス関数が１サイクル毎に生成する１６−ｂｉｔカオス信号である。この１６−ｂｉｔ信号を元に、１−ｂｉｔ  乱数値抽出、８−ｂｉｔ  乱数値抽出する方法について述べる。この処理は、単なる１−ｂｉｔ  と  ８−ｂｉｔ乱数値の抽出のみでなく、抽出前のカオス信号値自体の情報隠蔽に寄与するものである。
【００５５】
ストリーム暗号の原理は、平文情報の１−ｂｉｔ  単位で暗号化処理（平文とＸＯＲ  処理）するものであり、また、１−ｂｉｔ  乱数値抽出の場合は８−ｂｉｔ  乱数値抽出の場合と比較し、系に関するより多くの情報を隠蔽可能であるが、１−ｂｉｔ  乱数値の場合は、８−ｂｉｔ  乱数値の処理の８倍の処理を要する。このため１−ｂｉｔ  単位型か８−ｂｉｔ  単位型かは、別途、処理能力、乱数性度、情報理論的安全性の観点から議論が必要である。ここでは両方式の説明を行う。
【００５６】
１−ｂｉｔ乱数値抽出の場合
（その１）
１サイクル毎でのｙ  値  ＜  Ｍの場合        ：  乱数値＝０
１サイクル毎でのｙ  値  ＞  Ｍの場合      ：  乱数値＝１              （３８）
とする方法。
（その２）
１サイクル毎のｙ  値が偶数の場合  ：  乱数値＝０
１サイクル毎のｙ  値が奇数の場合  ：  乱数値＝１                      （３９）
とする方法。この２つが挙げられる。
【００５７】
８−ｂｉｔ乱数値抽出の場合
１サイクル毎でのｙ  値（１６−ｂｉｔ  信号）  の下位８−ｂｉｔ  信号を８−ｂｉｔ  乱数値とする。情報論的に考えると上位８−ｂｉｔ  の欠如、下位８−ｂｉｔ  の欠如のいずれの場合であっても、８−ｂｉｔ  情報が落ちているに変わりないが、物理学的に考えると、上位８−ｂｉｔ  が欠如されているということは、有効数値上位８−ｂｉｔ  情報が欠如していることを意味し、大まかな位置の推定情報さえ隠蔽していることを意味する。これに対し、下位ビットの欠如の場合は、上位８−ｂｉｔ  のおおまかな位置情報を与えてしまう。これより上位８−ｂｉｔ  を故意に情報落ちさせ、下位８−ｂｉｔ  を乱数値として採用するのが妥当であると考える。尚、上記に対し、さらにテーブル変換を行う方法も考えられる。テーブル値は鍵値によって異なるものが望ましい。
【００５８】
次に、排他的論理和回路１０５において行われる暗号化処理／復号化処理について説明する。既述の通り、暗号化は、上記より生成した乱数列を平文の８−ｂｉｔ（１−ｂｉｔ）ごとにＸＯＲ  処理（排他的論理和）を行い暗号文を得ることにより実現され、また、復号化は、上記より生成した乱数列を暗号文の８−ｂｉｔ（１−ｂｉｔ）ごとにＸＯＲ  処理（排他的論理和）を行い平文を得ることにより実現される。暗号化と復号化で対称の構造を持つものである。
【００５９】
スケジューリング手段１０４が用いるパラメータスケジューリング関数２０５の説明を行う。写像系カオスの２次元幾何学的発生構造は、整数演算範囲に拡大しても、その構造は原理的に保たれる。一方、整数演算型では、扱える数値幅が比較的小さい点、大幅な切捨てが行われる点、縮退発生頻度が高い点、早期周期性が現れる点が問題である。本構成例では、これらをパラメータの定期変動にて解決しようとするもので、その役割を担うのがパラメータスケジューリング関数（カオス関数が１段部関数と言えるのに対し、２段部関数と言える）２０５である。
【００６０】
パラメータスケジューリング関数２０５の使命は、整数演算化カオス関数の短周期性をパラメータの可変により擬似的に長周期化を図る目的で導入されており、鍵値で与えられたパラメータ列に対し、鍵値パラメータ列の固有性（ユニーク）を維持しつつ可変化させる。従って、整数演算化カオス関数を補助する役割であるため、可能な限りシンプルな構成としたい。ここでは、以下のような可変方式を考える。
【００６１】
パラメータ範囲を０  〜６  の７段階とすると、
2004266495.tif 000043
のように変化させる。
【００６２】
上記においては６  回目の反復で、どの初期パラメータから出発しても０となるので、予め初期位相を設けておくなど工夫する。そして、初期位相は鍵値により変動させる。まとめると次のようである。
2004266495.tif 000044
ここで、Ｐａｒａｍ［  ］は、１次の写像関数（変形テント写像）２パラメータモードでのＡ［  ］，Ｂ［  ］（（１６），（１７））に相当する。同様に、  ＫＥＹ＿Ｐａｒａｍ［  ］は、  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］に相当する。また、２次の写像関数（変形ロジステック写像）２パラメータモードでのｈ［  ］，Ｒ［  ］（（３６），（３７））に相当する。同様に、  ＫＥＹ＿Ｐａｒａｍ［  ］  は、  ＫＥＹ＿ｈ［  ］，ＫＥＹ＿Ｒ［  ］に相当する。
【００６３】
次にパラメータスケジューリング関数の設計例を示す。
１次の写像関数におけるパラメータスケジューリング関数の設計例
整数演算化１次の写像関数設計例で示したカオス関数、具体的には（５−Ａ）  、（５−Ｂ）  で示す１次の写像関数、（１４），（１５）で示すパラメータ幅、および（１６）、（１７）で示すパラメータ範囲を用いる場合において、パラメータ可変関数の一例を以下に挙げる。尚、ここでは、パラメータ数は（１４）〜（１７）で記されるＡ，Ｂ  の２つのパラメータを使用する場合である。
可変可能なパラメータ情報は、
2004266495.tif 000045
である。
2004266495.tif 000046
とする。
ここで、鍵より鍵固有パラメータ列  ＫＥＹ＿Ａ［  ］、  ＫＥＹ＿Ｂ［  ］、およびパラメータ列Ａ［  ］、Ｂ［  ］の初期位相が与えられているとし、それぞれの配列数（配列の要素数）をｍ  とすると、
／／／  初期処理〜各配列要素決定  ／／／
ＫＥＹ＿Ａ［ｉ］  ←  鍵値より算出                                      （４６）
ＫＥＹ＿Ｂ［ｉ］  ←  鍵値より算出                                      （４７）
Ａ［ｉ］  ←  初期位相（鍵値を元に算出）                              （４８）
Ｂ［ｉ］  ←  初期位相（鍵値を元に算出）                              （４９）
2004266495.tif 000047
である。ここで、  ＭＡＸ＿Ａ  は、パラメータＡ［  ］の最大値（ＭＡＸ＿Ａ＝Ａ０＋ΔＡ−１）、  ＭＡＸ＿Ｂ  は、パラメータＢ［  ］の最大値（ＭＡＸ＿Ｂ＝Ｂ０＋ΔＢ−１）である。
尚、鍵値固有パラメータ列  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］の範囲は以下である。
2004266495.tif 000048
【００６４】
２次の写像関数におけるパラメータスケジューリング関数の設計例
整数演算化２次の写像関数設計例で示したカオス関数、具体的には（３２）で示す２次の写像関数、（３６），（３７）で示すパラメータ幅、パラメータ範囲を用いる場合において、パラメータ可変関数の一例を以下に挙げる。尚、この例では、パラメータ数は、（３６），（３７）で記されるｈ  、Ｒ  の２つのパラメータを使用する場合である。
【００６５】
可変可能なパラメータ情報は，
2004266495.tif 000049
である。
また、それぞれｈ  ，Ｒ  の最小値をｈ０，Ｒ０と表し、
2004266495.tif 000050
とする。
以下は１  次関数でのパラメータスケジューリング関数例と同様である。
鍵より鍵固有パラメータ列  ＫＥＹ＿ｈ［  ］，ＫＥＹ＿Ｒ［  ］，およびパラメータ列ｈ［  ］，Ｒ［  ］の初期位相が与えられているとし，それぞれの配列数（配列の要素数）をｍ  とすると、
／／／  初期処理〜各配列要素決定  ／／／
ＫＥＹ＿ｈ［ｉ］  ←  鍵値より算出                                  （５７）
ＫＥＹ＿Ｒ［ｉ］  ←  鍵値より算出                                  （５８）
ｈ［ｉ］  ←  初期位相（鍵値を元に算出）                          （５９）
Ｒ［ｉ］  ←  初期位相（鍵値を元に算出）                          （６０）
2004266495.tif 000051
である。ここで、  ＭＡＸ＿ｈ  は、パラメータｈ［  ］の最大値（ＭＡＸ＿ｈ＝ｈ０＋Δｈ−１）、  ＭＡＸ＿Ｒ  は、パラメータＲ［  ］の最大値（ＭＡＸ＿Ｒ＝Ｒ０＋ΔＲ−１）である。
尚，鍵値固有パラメータ列  ＫＥＹ＿ｈ［  ］，  ＫＥＹ＿Ｒ［  ］の範囲は以下である。
2004266495.tif 000052
【００６６】
次に、上記の如き整数演算型カオス関数２０４とパラメータスケジューリング関数２０５を採用した場合における鍵データの設計及び鍵データ２０１から初期情報であるパラメータ列２０２及び鍵固有パラメータ２０３への変換について説明を行う。本前提発明は、カオス暗号を実現する上で、カオス算出に必要となるパラメータを定期的に変動させる手法を採用するものあり、鍵データ２０１に基づき鍵固有パラメータ２０３およびパラメータ列（初期位相）２０２を提供する。従って、鍵データ２０１は、採用されるパラメータスケジューリング関数２０５と密接に関係を有する。
【００６７】
既述した１  次の写像関数およびパラメータスケジューリング関数を例に挙げて具体的に説明すると、鍵は鍵固有パラメータ列（  ＫＥＹ＿Ａ［  ］，  ＫＥＹ＿Ｂ［  ］）およびパラメータ列（Ａ［  ］，Ｂ［  ］）を決定する。即ち、鍵固有パラメータ列（  ＫＥＹ＿Ａ［  ］，  ＫＥＹ＿Ｂ［  ］）は鍵値固有のパラメータ列であり、入力以降変更されることはない。一方、パラメータ列（Ａ［  ］，Ｂ［  ］）は，実際にカオス算出に寄与するパラメータ列であり、パラメータスケジューリング関数２０５にて随時更新される。また、更新方法は既に述べたように鍵固有パラメータ列（  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］）２０３を参照し、随時更新される（（４３）〜（５３））。
【００６８】
鍵設計例を説明する。鍵は、鍵供給手段１０１の鍵ファイルから供給されることを前提とした場合、例えば鍵ファイル中には´０´  〜´９´  ，´Ａ´  〜´Ｆ´  の１６階調の１−ｂｙｔｅ文字列より構成するなどとする。これより、鍵値固有パラメータ（  ＫＥＹ＿Ａ［  ］，  ＫＥＹ＿Ｂ［  ］）２０３は鍵ファイル中に記述された文字列より求めるが、その  ＫＥＹ＿Ａ［  ］，  ＫＥＹ＿Ｂ［  ］の範囲は（５２），（５３）より
2004266495.tif 000053
としたため、
１６階調×１６階調＝２５６階調より、鍵ファイル中記述の２  文字で  ＫＥＹ＿Ａ［  ］，もしくは  ＫＥＹ＿Ｂ［  ］に入力される１つの配列要素を決定する。
【００６９】
ここでは、パラメータはＡ  ，Ｂ  の２つ（２パラメータモード）を考えている。従って４  文字で  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］にそれぞれ１つの要素が決定される。また、これは１６−ｂｉｔ暗号に相当する。１２８−ｂｉｔ  暗号では、１２８（ｂｉｔ）／８（ｂｉｔ  ／ｐａｒａｍ）／２（ｐａｒａｍ  ｍｏｄｅ）  ＝  ８  より、  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］はそれぞれ８個の要素数となり、および鍵ファイル中には８  ×２＝１６文字を必要とする。同様に１０２４−ｂｉｔ暗号では、１０２４（ｂｉｔ）  ／８（ｂｉｔ  ／ｐａｒａｍ）／２（ｐａｒａｍ  ｍｏｄｅ）  ＝  ６４より、それぞれ６４個の配列要素数、および鍵ファイル中には６４×２＝１２８  文字を必要とする。
【００７０】
鍵データ２０１から鍵固有パラメータ２０３への変換規則の例を説明する。鍵ファイルの文字から鍵固有パラメータ列（  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］）２０３の変換規則は、あらかじめ決められた方法であればいかなる規則でも構わない。例えば、´ＡＢ´→´２９０１´，´９Ｆ´→´３０４１´など変換規則を決定しておく。
【００７１】
次にパラメータ列（Ａ［  ］，Ｂ［  ］）２０２の初期位相決定に関する例を説明する。鍵データ２０１は鍵固有パラメータ列（  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］）２０３の他に、パラメータスケジューリング関数２０５にて随時変更されるパラメータ列（Ａ［  ］，Ｂ［  ］）２０３の初期位相を与える。特に、Ａ［  ］＝ＫＥＹ＿Ａ［  ］、Ｂ［  ］＝ＫＥＹ＿Ｂ［  ］と与えても構わないが、この構成例ではカオスを利用する。
【００７２】
カオスを利用する場合、既に鍵設計例の欄において記した手法により鍵より  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］を決定した後、まずＡ［  ］＝ＫＥＹ＿Ａ［  ］，Ｂ［  ］＝ＫＥＹ＿Ｂ［  ］を代入し、この状態で通常通りカオスを算出する。このカオス算出における反復数をｚ  回とすると、ｚ  回反復の最後から２  ×ｍ  個分（ｚ  −（２×ｍ）＋１番目からｚ  番目まで）のカオス乱数値をＡ［  ］，Ｂ［  ］の初期パラメータ列として利用する方法を採用する。これは，後述する「関数の初期助走期間」を兼ねることが可能なことを考慮すると、効率良くランダムな初期位相を生成可能となる。
【００７３】
上記初期位相決定の課程では、特にパラメータスケジューリングは行わなくても良い。また、反復数ｚ  の値はできるだけ大きいほうが望ましいが、経験上ｎ−ｂｉｔ  暗号の場合ではｎ  ／８  〜ｎ  ／２  程度が妥当である。
【００７４】
「カオス関数の初期助走期間」の説明。全ての初期情報（鍵固有パラメータ列２０３およびパラメータ２０２（初期位相））が与えられた後、コア部関数は正常に動作可能状態となり、本発明に係るパラメータ可変の方式によるカオス擬似乱数の算出が可能となるが、ここで鍵情報拡散のため、初期のｚ  回の反復で生成される擬似乱数は捨て、ｚ  回目以降の反復より得られる擬似乱数列を有効とする。ｚ  の値はできるだけ大きいほうが望ましいが、前述の通り経験上ｎ−ｂｉｔ  暗号の場合ではｎ  ／８  〜ｎ  ／２  程度が妥当である。この値は本例において、カオス初期条件敏感性により隣接する近傍が写像範囲全体に拡散されるまでの反復回数の試算である。また、パラメータ列（  ＫＥＹ＿Ａ［  ］，ＫＥＹ＿Ｂ［  ］）の初期位相決定に関し、後半部説明のカオスを利用する場合、この操作過程中において関数初期助走を兼ねている。
【００７５】
上記のようにパラメータスケジューリング関数２０５を用いる暗号化及び復号化の手法により、十分な秘匿性のある暗号化が可能となった。上記の前提発明は、カオス擬似乱数列を利用した擬似乱数式ストリーム暗号方式ではあるが、ストリーム暗号の定義通りの構造を有したものであるため、暗号鍵を知らない場合でも、暗号文と平文とのペアからカオス擬似乱数列の抽出が可能である。
【００７６】
例えば、同一鍵により暗号化された暗号文が複数存在し、そのうちの１つのケースについて平文と暗号文のペアが判明した場合を考える。このような判明は、例えば平文と暗号文のデータ長が同じである場合など、両者の組み合わせを絞り得る場合に起きる。
【００７７】
ここで、平文をＰｉ  、暗号文をＣｉ  、カオス関数から生じるカオスノイズをＸｉ  、鍵をＫ、排他的論理和演算を（ＸＯＲ）  とすると、暗号文Ｃｉ  は、Ｃｉ  ＝Ｐｉ  （ＸＯＲ）  Ｘｉ（Ｋ）と表すことができる。そして、例えば平文Ｐ１  と暗号文Ｃ１  のペアが判明すると、暗号文Ｃ１  については、Ｃ１  ＝Ｐ１  （ＸＯＲ）  Ｘ１（Ｋ）であるから、Ｘ１（Ｋ）＝Ｐ１  （ＸＯＲ）  Ｃ１  が成立し、Ｘ１（Ｋ）が判明する。
【００７８】
上記Ｘｉ（Ｋ）は、全ての平文Ｐｉ  と暗号文Ｃｉ  について共通であり、全てのｉについて、Ｐｉ  ＝Ｃｉ  （ＸＯＲ）  Ｘｉ（Ｋ）が成立し、暗号解読が可能となる。これに対応するためには、暗号処理毎に異なる暗号鍵を用いることが必要となり、別途にワンタイム鍵発行システムを用意し、これとの連携を図るシステムが考えられる。
【００７９】
しかしながら、同一ユーザが同一ディレクトリ以下の情報を暗号化して保持する場合などには、使い易さの観点から同一鍵を用いることが便利であり、上記個別の鍵を用いるシステムは現実的でない。また、個別の鍵を用いた場合には鍵の管理が繁雑になる問題点がある。
【００８０】
本発明は、上記のような前提発明と従来の同期式カオス・ストリーム暗号方式における問題点を解決する。本発明は、カオス算出時に１つ前の暗号文を乱数生成の種としてフィードバックさせ、以降のカオス算出時に１つ前の暗号文を乱数生成の種として用いる連鎖を与える。これにより、同一の暗号鍵を用いた場合でも暗号文（平文）が異なれば、異なるカオス乱数列を生成可能とする。
【００８１】
ここで、平文をＰｉ、暗号文をＣｉ  、カオス関数から生じるカオスノイズをＸｉ  、鍵をＫ、排他的論理和演算を（ＸＯＲ）  とすると、暗号文Ｃｉ  は、Ｃｉ  ＝Ｐｉ  （ＸＯＲ）  Ｘｉ（Ｋ，Ｃｉ−１  ）と表すことができる。そして、例えば平文Ｐ１  と暗号文Ｃ１  のペアが判明すると、暗号文Ｃ１  については、Ｃ１  ＝Ｐ１  （ＸＯＲ）  Ｘ１（Ｋ，Ｃ０  ）であるから、Ｘ１（Ｋ，Ｃ０  ）＝Ｐ１  （ＸＯＲ）  Ｃ１  が成立し、Ｘ１（Ｋ，Ｃ０  ）が判明するのみである。つまり、ｉ＝０以外のＸｉ（Ｋ，Ｃｉ  ）は、平文Ｐｉ  のパターンによりＣｉ  が異なる理由から不明であり、ｉ＝０以外の平文Ｐｉ  を得ることは不可能である。
【００８２】
上記の問題点は、初歩的なブロック暗号（ＥＣＢモード）においても共通するものであるが、ブロック暗号においては、これをＣＢＣモード、ＣＦＢモード、ＯＦＢモード等の利用により克服する。本発明は、このブロック暗号におけるＣＦＢモード利用と類似するが、フィードバックされた暗号文をパラメータ変動方式のカオス暗号化におけるパラメータ変動に用いている。また、フィードバックされた暗号文をカオスノイズ算出自体に用いている。
【００８３】
図１７には、本発明に係る暗号生成装置１００ＡＡと暗号復号装置１００ＢＢとが示されている。暗号生成装置１００ＡＡと暗号復号装置１００ＢＢとは、同一構成であるので、暗号生成装置１００ＡＡについて説明を行う。暗号生成装置１００ＡＡは前提発明における暗号生成装置１００Ａを改良したものであり、演算部である排他的論理和回路１０５により得られる暗号文をスケジューリング手段１０４へフィードバックするフィードバック経路を設け、フィードバックされた暗号文に基づいてパラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うように構成されている。
【００８４】
本実施例における暗号化関数をＥｎｃ、復号化関数をＤｅｃ、暗号鍵をＫｅｙ、平文長をＮとし、第ｉ番目の平文をＰｉ  、暗号文をＣｉ  （１≦ｉ≦Ｎ）とすると、暗号化処理は次の式により表すことができる。
Ｃｉ  ＝Ｅｎｃ（Ｐｉ  ，Ｋｅｙ，Ｃｉ−１  ）                  （２０１）
但し、Ｃ０  は暗号化側と復号化側において予め取り決めた所定値とする。
【００８５】
また、復号化処理は次の式により表すことができる。
Ｃｉ  ＝Ｄｅｃ（Ｐｉ  ，Ｋｅｙ，Ｃｉ−１  ）                  （２０２）
但し、Ｃ０  は暗号化側と復号化側において予め取り決めた所定値とする。
【００８６】
上記の２０１式及び２０２式に示される関数Ｅｎｃと関数Ｄｅｃにおける第３引数が本発明の効果を与えるものであり、各関数においてはＣｉ−１  がカオスノイズ算出に影響を与えるように関数設計をする。
【００８７】
具体的設計例を次に示す。カオスパラメータが２つの場合においては、情報の第ｉ番目のパラメータ列をＡｉ、Ｂｉとし、１サイクル前の暗号文をＣｉ−１、鍵により与えられるパラメータ可変情報を  ＫＥＹ＿Ａ  、  ＫＥＹ＿Ｂ  、パラメータ最大値を  ＭＡＸ＿Ａ  、  ＭＡＸ＿Ｂ  、パラメータ基底値をＡ０、Ｂ０とすると、例えば、次のようになる。
【００８８】
2004266495.tif 000054
【００８９】
2004266495.tif 000055
【００９０】
上記においては、平文、暗号文の第１番目（先頭）の処理にＡ０  、Ｂ０  、Ｃ０  が必要となる。これに対しては、これらの値を、予め暗号鍵より算出する、或いは所定の値としておくなど、いずれにしても暗号化側と復号化側とにおいて予め取り決めておくものとする。
【００９１】
上記のようにして暗号文をフィードバックし、これを用いて変動を加えたパラメータＡｉ  、Ｂｉ  は、カオス関数ｆｕｎｃに供与され、以降においてはフィードバックされる暗号文を用いて連続的な暗号化処理がなされる。カオスパラメータが２つの場合において、カオス信号Ｘｉ  に対し、
カオスノイズ発生：Ｘｉ  ＝ｆｕｎｃ（Ｘｉ  ，Ａｉ  ，Ｂｉ  ）    （２０５）
下位ビット抽出：Ｒｉ  ＝Ｘｉ  の下位ビット抽出              （２０６）
暗号化処理：Ｃｉ  ＝ＸＯＲ（Ｐｉ  ，Ｒｉ  ）                  （２０７）
復号化処理：Ｐｉ  ＝ＸＯＲ（Ｃｉ  ，Ｒｉ  ）                  （２０８）
が行われる。
【００９２】
図１８には、本実施例による暗号化処理のフローチャートが示されている。暗号化処理では、まず、暗号供給手段１０１が供給する暗号鍵からパラメータ生成手段１０２がカオスパラメータを得てカオスノイズ発生手段１０３へ送る（Ｓ５１）。
【００９３】
次に、１つ前の処理において得られた暗号文に基づき上記の２０３式または２０４式によりカオスパラメータを得て、この得られたカオスパラメータと、ステップＳ５１において得られたカオスパラメータとを変数としてカオス軌道を算出し、所定長のカオスノイズ値を求める（Ｓ５２）。
【００９４】
上記ステップＳ５２において、第１回目の処理では、１つ前の処理において得られた暗号文が存在しない。そこで、予め定めた暗号文（初期値）或いは暗号鍵から所定の関数により算出された暗号文（初期値）を用いる。
【００９５】
ステップＳ５２の次に、上記ステップＳ５２において得られた所定長のカオスノイズ値と同一長の平文とを１単位として、これらについて、１ビット毎のＸＯＲ（排他的論理和演算）を行って暗号文を得る（Ｓ５３）。
【００９６】
図１９には、本実施例による復号化処理のフローチャートが示されている。復号化処理では、まず、暗号供給手段１０１が供給する暗号鍵からパラメータ生成手段１０２がカオスパラメータを得てカオスノイズ発生手段１０３へ送る（Ｓ６１）。
【００９７】
次に、１つ前の処理において得られた暗号文に基づき上記の２０３式または２０４式により得て、この得られたカオスパラメータと、ステップＳ６１において得られたカオスパラメータとを変数としてカオス軌道を算出し、所定長のカオスノイズ値を求める（Ｓ６２）。
【００９８】
上記ステップＳ６２において、第１回目の処理では、１つ前の処理において得られた暗号文が存在しない。そこで、予め定めた暗号文（初期値）或いは暗号鍵から所定の関数により算出された暗号文（初期値）を用いる。
【００９９】
ステップＳ６２の次に、上記ステップＳ６２において得られた所定長のカオスノイズ値と同一長の暗号文とを１単位として、これらについて、１ビット毎のＸＯＲ（排他的論理和演算）を行って平文を得る（Ｓ６３）。
【０１００】
このように、本実施例では、カオス演算において、パラメータ生成手段１０２が生成したパラメータ列が用いられる所定周期毎に当該パラメータ列に変更を生じさせるようにパラメータ列のスケジューリングを行うスケジューリング手段１０４Ａに対し、暗号文をフィードバックしている。そして、スケジューリング手段１０４Ａがフィードバックされた暗号文に基づきパラメータ列のスケジューリングを行っている。
【０１０１】
これによって、１ビット処理（ＸＯＲを１バイトで行えば、１バイト処理）の高速なストリーム暗号化と、多大鍵長を扱うことが可能であるというカオス暗号系の特徴を活かしつつ、暗号化毎に異なる暗号鍵を用意することなく、平文と暗号文の１ペアが同定されたとしても、全体の暗号解読がなされない暗号化・復号化を実現できる。
【０１０２】
図２０に本発明の第２の実施例に係る暗号生成装置１００ＡＡＡと暗号復号装置１００ＢＢＢとが示されている。この実施例においては、スケジューリング手段１０４Ａが用いられていない。また、暗号文はカオスノイズ発生手段１０３へフィードバックされている。カオスノイズ発生手段１０３においては、フィードバックされた暗号文に基づきカオス演算を行いカオスノイズを得る。
【０１０３】
カオスノイズ発生手段１０３においては、フィードバックされた暗号文に基づきカオス演算を行いカオスノイズを得る。暗号化処理は既に示した２０１式により行われ、復号化処理は既に示した２０２式により行われる。
【０１０４】
具体的設計例を次に示す。カオスパラメータが１つの場合においては、情報の第ｉ番目のパラメータ列をＡｉとし、１サイクル前の暗号文をＣｉ−１、鍵により与えられるパラメータ可変情報を  ＫＥＹ＿Ａ  、とすると、カオスノイズの算出式Ｆｕｎｃに与えるパラメータは例えば、次式から得る。
ＸＯＲ（  ＫＥＹ＿Ａ  ，Ｃｉ−１）                            （３０１）
【０１０５】
つまり、３０１式は、  ＫＥＹ＿Ａ  とＣｉ−１との排他的論理和演算を行った結果をパラメータとしている。これ以外に、  ＫＥＹ＿Ａ  とＣｉ−１との論理和など適当な関数による処理が考えられる。
【０１０６】
図２１には、本実施例による暗号化処理のフローチャートが示されている。暗号化処理では、まず、暗号供給手段１０１が供給する暗号鍵からパラメータ生成手段１０２がカオスパラメータを得てカオスノイズ発生手段１０３へ送る（Ｓ７１）。
【０１０７】
次に、１つ前の処理において得られた暗号文に基づき上記の３０１式によりカオスパラメータを得て、この得られたカオスパラメータを変数としてカオス軌道を算出し、所定長のカオスノイズ値を求める（Ｓ７２）。
【０１０８】
上記ステップＳ７２において、第１回目の処理では、１つ前の処理において得られた暗号文が存在しない。そこで、予め定めた暗号文（初期値）或いは暗号鍵から所定の関数により算出された暗号文（初期値）を用いる。
【０１０９】
ステップＳ７２の次に、上記ステップＳ７２において得られた所定長のカオスノイズ値と同一長の平文とを１単位として、これらについて、１ビット毎のＸＯＲ（排他的論理和演算）を行って暗号文を得る（Ｓ７３）。
【０１１０】
図２２には、本実施例による復号化処理のフローチャートが示されている。復号化処理では、まず、暗号供給手段１０１が供給する暗号鍵からパラメータ生成手段１０２がカオスパラメータを得てカオスノイズ発生手段１０３へ送る（Ｓ８１）。
【０１１１】
次に、１つ前の処理において得られた暗号文に基づき上記の３０１式によりカオスパラメータを得て、この得られたカオスパラメータを変数としてカオス軌道を算出し、所定長のカオスノイズ値を求める（Ｓ８２）。
【０１１２】
上記ステップＳ８２において、第１回目の処理では、１つ前の処理において得られた暗号文が存在しない。そこで、予め定めた暗号文（初期値）或いは暗号鍵から所定の関数により算出された暗号文（初期値）を用いる。
【０１１３】
ステップＳ８２の次に、上記ステップＳ８２において得られた所定長のカオスノイズ値と同一長の暗号文とを１単位として、これらについて、１ビット毎のＸＯＲ（排他的論理和演算）を行って平文を得る（Ｓ８３）。
【０１１４】
これによっても、１ビット処理（ＸＯＲを１バイトで行えば、１バイト処理）の高速なストリーム暗号化と、多大鍵長を扱うことが可能であるというカオス暗号系の特徴を活かしつつ、暗号化毎に異なる暗号鍵を用意することなく、平文と暗号文の１ペアが同定されたとしても、全体の暗号解読がなされない暗号化・復号化を実現できる。
【０１１５】
【発明の効果】
以上説明したように本発明によれば、暗号鍵を１つとして暗号化・復号化を行った場合にでも、暗号文をフィードバックしてカオスノイズの生成に用いるので、暗号化毎・復号化毎に異なった暗号鍵によりカオスパラメータを生成してカオスノイズを生成したようになり、秘匿性の高い暗号化・復号化を実現できる効果を有する。
【図面の簡単な説明】
【図１】本発明の前提発明に係る暗号生成装置及び暗号復号装置の構成を示す図。
【図２】写像系カオスの幾何学的発生構造を示す図。
【図３】浮動小数点演算による分岐図。
【図４】整数演算による分岐図。
【図５】浮動小数点演算によるリアプノフ指数を示す図。
【図６】整数演算によるリアプノフ指数を示す図。
【図７】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図８】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図９】図８のカオス関数を用いた整数演算による分岐図。
【図１０】図８のカオス関数を用いた整数演算によるリアプノフ指数を示す図。
【図１１】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図１２】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図１３】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図１４】本発明及び前提発明に係る暗号生成、暗号復号及び認証子作成に用いるカオス関数の一例を示す図。
【図１５】図１１のカオス関数を用いた整数演算による分岐図。
【図１６】図１１のカオス関数を用いた整数演算によるリアプノフ指数を示す図。
【図１７】本発明に係る暗号生成装置及び暗号復号装置の第１実施例の構成を示す図。
【図１８】本発明に係る暗号生成装置及び暗号復号装置における暗号化処理を説明するためのフローチャート。
【図１９】本発明に係る暗号生成装置及び暗号復号装置における復号化処理を説明するためのフローチャート。
【図２０】本発明に係る暗号生成装置及び暗号復号装置の第２実施例の構成を示す図。
【図２１】本発明に係る暗号生成装置及び暗号復号装置における暗号化処理を説明するためのフローチャート。
【図２２】本発明に係る暗号生成装置及び暗号復号装置における暗号化処理を説明するためのフローチャート。
【符号の説明】
１０１Ａ、１０１ＡＡ、１０１ＡＡＡ  暗号生成装置
１０１Ｂ、１０１ＢＢ、１０１ＢＢＢ  暗号復号装置
１０２  パラメータ生成手段
１０３  カオスノイズ発生手段
１０４、１０４Ａ  スケジューリング手段
１０５  排他的論理和回路
【図１】
2004266495.tif 000056
【図２】
2004266495.tif 000057
【図３】
2004266495.tif 000058
【図４】
2004266495.tif 000059
【図５】
2004266495.tif 000060
【図６】
2004266495.tif 000061
【図７】
2004266495.tif 000062
【図８】
2004266495.tif 000063
【図９】
2004266495.tif 000064
【図１０】
2004266495.tif 000065
【図１１】
2004266495.tif 000066
【図１２】
2004266495.tif 000067
【図１３】
2004266495.tif 000068
【図１４】
2004266495.tif 000069
【図１５】
2004266495.tif 000070
【図１６】
2004266495.tif 000071
【図１７】
2004266495.tif 000072
【図１８】
2004266495.tif 000073
【図１９】
2004266495.tif 000074
【図２０】
2004266495.tif 000075
【図２１】
2004266495.tif 000076
【図２２】
2004266495.tif 000077