クロック制御型ストリーム暗号の暗号化装置であって、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する事前処理手段と、第1のシフトレジスタと、該第1のシフトレジスタの出力ビットを入力にフィードバックする第1のフィードバック関数と、前記第1のシフトレジスタと並列に設けられた第2のシフトレジスタと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力するクロック制御手段と、前記クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、前記第2のシフトレジスタの出力ビットを入力にフィードバックする第2のフィードバック関数と、前記第1のシフトレジスタからのビット入力と前記第2のシフトレジスタからのビット入力とを演算して鍵系列を出力する演算手段と、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する排他的論理和演算手段と、を備えたことを特徴とするクロック制御型ストリーム暗号の暗号化装置。前記事前処理手段が、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する定義手段と、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数1に示す関係式から新たなすべての参照テーブルT ́を生成する生成手段とを備えたことを特徴とする請求項1に記載のクロック制御型ストリーム暗号の暗号化装置。クロック制御型ストリーム暗号の復号化装置であって、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する事前処理手段と、第1のシフトレジスタと、該第1のシフトレジスタの出力ビットを入力にフィードバックする第1のフィードバック関数と、前記第1のシフトレジスタと並列に設けられた第2のシフトレジスタと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力するクロック制御手段と、前記クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、前記第2のシフトレジスタの出力ビットを入力にフィードバックする第2のフィードバック関数と、前記第1のシフトレジスタからのビット入力と前記第2のシフトレジスタからのビット入力とを演算して鍵系列を出力する演算手段と、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する排他的論理和演算手段と、を備えたことを特徴とするクロック制御型ストリーム暗号の復号化装置。前記事前処理手段が、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する定義手段と、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数2に示す関係式から新たなすべての参照テーブルT ́を生成する生成手段とを備えたことを特徴とする請求項3に記載のクロック制御型ストリーム暗号の復号化装置。クロック制御型ストリーム暗号の暗号化方法であって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップと、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップと、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップと、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップと、前記事前に作成された参照テーブルT ́に対して前記定義された入力ビットc ́を入力する第6のステップと、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップと、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する第8のステップと、を備えたことを特徴とするクロック制御型ストリーム暗号の暗号化方法。クロック制御型ストリーム暗号の復号化方法であって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数4に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップと、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップと、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップと、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップと、前記事前に作成された参照テーブルT ́に対して、前記定義された入力ビットc ́を入力する第6のステップと、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップと、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する第8のステップと、を備えたことを特徴とするクロック制御型ストリーム暗号の復号化方法。クロック制御型ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数5に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップと、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップと、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップと、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップと、前記事前に作成された参照テーブルT ́に対して、前記定義された入力ビットc ́を入力する第6のステップと、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップと、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する第8のステップと、をコンピュータに実行させるためのプログラム。クロック制御型ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数6に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップと、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップと、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップと、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップと、前記事前に作成された参照テーブルT ́に対して、前記定義された入力ビットc ́を入力する第6のステップと、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップと、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する第8のステップと、をコンピュータに実行させるためのプログラム。しかしながら、クロック制御型ストリーム暗号は、上述のように、複数の参照テーブルがあり、このテーブルを参照することにより、処理量を削減できるものの、テーブルの参照回数が増えるたびに、メモリへのアクセスに伴う待ち時間が発生することにより、高速性の点において問題があった。そこで、本発明は、上述の課題に鑑みてなされたものであり、クロック制御型ストリーム暗号において、テーブルの参照回数を減らして実効性能を向上させるクロック制御型ストリーム暗号の暗号化装置、クロック制御型ストリーム暗号の復号化装置、クロック制御型ストリーム暗号の暗号化方法、クロック制御型ストリーム暗号の復号化方法およびプログラムを提供することを目的とする。本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。1本発明は、クロック制御型ストリーム暗号の暗号化装置であって、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する事前処理手段例えば、図1の事前処理部100に相当と、第1のシフトレジスタ例えば、図1のシフトレジスタ120に相当と、該第1のシフトレジスタの出力ビットを入力にフィードバックする第1のフィードバック関数例えば、図1のフィードバック関数110に相当と、前記第1のシフトレジスタと並列に設けられた第2のシフトレジスタ例えば、図1のシフトレジスタ160に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力するクロック制御手段例えば、図1のクロック制御部130に相当と、前記クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、前記第2のシフトレジスタの出力ビットを入力にフィードバックする第2のフィードバック関数例えば、図1のフィードバック関数150に相当と、前記第1のシフトレジスタからのビット入力と前記第2のシフトレジスタからのビット入力とを演算して鍵系列を出力する演算手段例えば、図1の演算部170に相当と、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する排他的論理和演算手段例えば、図1の排他的論理和演算器180に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の暗号化装置を提案している。この発明によれば、事前処理手段は、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する。第1のフィードバック関数は、第1のシフトレジスタの出力ビットを入力にフィードバックする。第2のシフトレジスタは、第1のシフトレジスタと並列に設けられており、第2のフィードバック関数は、クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、第2のシフトレジスタの出力ビットを入力にフィードバックする。クロック制御手段は、第1のシフトレジスタからのビット入力により、クロックビットを出力する。演算手段は、第2のフィードバック関数からのビット入力と第1のフィードバック関数からのビット入力とを演算して鍵系列を出力する。排他的論理和演算手段は、鍵系列と平文との排他的論理和演算を行って暗号文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。2本発明は、1のクロック制御型ストリーム暗号の暗号化装置について、前記事前処理手段が、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する定義手段例えば、図2の定義部101に相当と、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数1に示す関係式から新たなすべての参照テーブルT ́を生成する生成手段例えば、図2の生成部102に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の暗号化装置を提案している。この発明によれば、定義手段は、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する。生成手段は、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと参照テーブルに入力するデータをCとからなる数1に示す関係式から新たなすべての参照テーブルT ́を生成する。これにより、参照すべきテーブルを新たに作成できるため、このテーブルのみにアクセスを行えば、適正な処理が行えるとともに、テーブルの参照回数を低減することができる。3本発明は、クロック制御型ストリーム暗号の復号化装置であって、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する事前処理手段例えば、図4の事前処理部100に相当と、第1のシフトレジスタ例えば、図4のシフトレジスタ120に相当と、該第1のシフトレジスタの出力ビットを入力にフィードバックする第1のフィードバック関数例えば、図4のフィードバック関数110に相当と、前記第1のシフトレジスタと並列に設けられた第2のシフトレジスタ例えば、図4のシフトレジスタ160に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力するクロック制御手段例えば、図4のクロック制御部130に相当と、前記クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、前記第2のシフトレジスタの出力ビットを入力にフィードバックする第2のフィードバック関数例えば、図4のフィードバック関数150に相当と、前記第1のシフトレジスタからのビット入力と前記第2のシフトレジスタからのビット入力とを演算して鍵系列を出力する演算手段例えば、図4の演算部170に相当と、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する排他的論理和演算手段例えば、図4の排他的論理和演算器190に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の復号化装置を提案している。この発明によれば、事前処理手段は、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成する。第1のフィードバック関数は、第1のシフトレジスタの出力ビットを入力にフィードバックする。第2のシフトレジスタは、第1のシフトレジスタと並列に設けられており、第2のフィードバック関数は、クロックビットに対応付けられ、事前に作成されたテーブルを参照することにより制御され、第2のシフトレジスタの出力ビットを入力にフィードバックする。クロック制御手段は、第1のシフトレジスタからのビット入力により、クロックビットを出力する。演算手段は、第2のフィードバック関数からのビット入力と第1のフィードバック関数からのビット入力とを演算して鍵系列を出力する。排他的論理和演算手段は、鍵系列と暗号文との排他的論理和演算を行って平文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。4本発明は、3のクロック制御型ストリーム暗号の復号化装置について、前記事前処理手段が、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する定義手段例えば、図2の定義部101に相当と、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数2に示す関係式から新たなすべての参照テーブルT ́を生成する生成手段例えば、図2の生成部102に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の復号化装置を提案している。この発明によれば、定義手段は、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する。生成手段は、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと参照テーブルに入力するデータをCとからなる数1に示す関係式から新たなすべての参照テーブルT ́を生成する。これにより、参照すべきテーブルを新たに作成できるため、このテーブルのみにアクセスを行えば、適正な処理が行えるとともに、テーブルの参照回数を低減することができる。5本発明は、クロック制御型ストリーム暗号の暗号化方法であって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップ例えば、図3のステップS101に相当と、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップ例えば、図3のステップS102に相当と、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップ例えば、図3のステップS103に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップ例えば、図3のステップS104に相当と、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップ例えば、図3のステップS105に相当と、前記事前に作成された参照テーブルT ́に対して前記定義された入力ビットc ́を入力する第6のステップ例えば、図3のステップS106に相当と、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップ例えば、図3のステップS107に相当と、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する第8のステップ例えば、図3のステップS108に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の暗号化方法を提案している。この発明によれば、まず、事前処理によって、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する。次に、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込み、第1のフィードバック関数が出力ビットを第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う。さらに、第1のシフトレジスタからのビット入力により、クロックビットを出力し、クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する。そして、事前に作成された参照テーブルT ́に対して定義された入力ビットc ́を入力して、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力し、鍵系列と平文との排他的論理和演算を行って暗号文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。6本発明は、クロック制御型ストリーム暗号の復号化方法であって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップ例えば、図5のステップS201に相当と、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップ例えば、図5のステップS202に相当と、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップ例えば、図5のステップS203に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップ例えば、図5のステップS204に相当と、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップ例えば、図5のステップS205に相当と、前記事前に作成された参照テーブルT ́に対して、前記定義された入力ビットc ́を入力する第6のステップ例えば、図5のステップS206に相当と、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップ例えば、図5のステップS207に相当と、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する第8のステップ例えば、図5のステップS208に相当と、を備えたことを特徴とするクロック制御型ストリーム暗号の復号化方法を提案している。この発明によれば、まず、事前処理によって、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する。次に、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込み、第1のフィードバック関数が出力ビットを第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う。さらに、第1のシフトレジスタからのビット入力により、クロックビットを出力し、クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する。そして、事前に作成された参照テーブルT ́に対して、定義された入力ビットc ́を入力して、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力し、鍵系列と暗号文との排他的論理和演算を行って平文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。7本発明は、クロック制御型ストリーム暗号の暗号化方法をコンピュータに実行させるためのプログラムであって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップ例えば、図3のステップS101に相当と、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップ例えば、図3のステップS102に相当と、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップ例えば、図3のステップS103に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップ例えば、図3のステップS104に相当と、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップ例えば、図3のステップS105に相当と、前記事前に作成された参照テーブルT ́に対して、前記定義された入力ビットc ́を入力する第6のステップ例えば、図3のステップS106に相当と、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップ例えば、図3のステップS107に相当と、該鍵系列と平文との排他的論理和演算を行って暗号文を出力する第8のステップ例えば、図3のステップS108に相当と、をコンピュータに実行させるためのプログラムを提案している。この発明によれば、まず、事前処理によって、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する。次に、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込み、第1のフィードバック関数が出力ビットを第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う。さらに、第1のシフトレジスタからのビット入力により、クロックビットを出力し、クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する。そして、事前に作成された参照テーブルT ́に対して、定義された入力ビットc ́を入力して、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力し、鍵系列と平文との排他的論理和演算を行って暗号文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。8本発明は、クロック制御型ストリーム暗号の復号化方法をコンピュータに実行させるためのプログラムであって、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́と前記クロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行う第1のステップ例えば、図5のステップS201に相当と、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込む第2のステップ例えば、図5のステップS202に相当と、第1のフィードバック関数が出力ビットを前記第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う第3のステップ例えば、図5のステップS203に相当と、前記第1のシフトレジスタからのビット入力により、クロックビットを出力する第4のステップ例えば、図5のステップS204に相当と、前記クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する第5のステップ例えば、図5のステップS205に相当と、前記事前に作成された参照テーブルT ́に対して前記定義された入力ビットc ́を入力する第6のステップ例えば、図5のステップS206に相当と、前記事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と前記第1のシフトレジスタからのビット入力とを演算して鍵系列を出力する第7のステップ例えば、図5のステップS207に相当と、該鍵系列と暗号文との排他的論理和演算を行って平文を出力する第8のステップ例えば、図5のステップS208に相当と、をコンピュータに実行させるためのプログラムを提案している。まず、事前処理によって、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する。次に、第1のシフトレジスタが初期鍵と初期ベクトルとを読み込み、第1のフィードバック関数が出力ビットを第1のシフトレジスタの入力にフィードバックしてデータの攪拌処理を行う。さらに、第1のシフトレジスタからのビット入力により、クロックビットを出力し、クロックビットに対応した参照テーブル番号をq、該参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義する。そして、事前に作成された参照テーブルT ́に対して、定義された入力ビットc ́を入力して、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力し、鍵系列と暗号文との排他的論理和演算を行って平文を出力する。したがって、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。本発明によれば、テーブルを参照する回数が大幅に削減されるため、暗号あるいは復号の実行時間を大幅に短縮することが出来るという効果がある。特に、メモリの速度が遅いデバイスに対しては大きな効果が期待できる。以下、本発明の実施形態について、図面を用いて、詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。<第1の実施形態>図1から図3を用いて、本発明の第1の実施形態について説明する。<暗号化装置の構成>図1を用いて、本実施形態に係る暗号化装置の構成について説明する。本実施形態に係る暗号化装置は、図1に示すように、事前処理部100と、フィードバック関数110と、シフトレジスタ120と、クロック制御部130と、テーブル格納部140と、フィードバック関数150と、シフトレジスタ160と、演算部170と、排他的論理和演算器180とから構成されており、演算部170は非線形関数171と、排他的論理和演算器172とを備えている。なお、フィードバック関数110とシフトレジスタ120は、非線形フィードバックシフトレジスタで構成されてもよく、フィードバック関数150とシフトレジスタ160とは、動的線形フィードバックシフトレジスタで構成されてもよい。また、図1では、フィードバック関数110とシフトレジスタ120、フィードバック関数150とシフトレジスタ160とがそれぞれ1個ずつの構成になっているが、これに限らず、対をなせば、複数であってもよい。事前処理部100は、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成し、これをテーブル格納部140に格納しておく。フィードバック関数110は、シフトレジスタ120の出力ビットを入力にフィードバックする。なお、フィードバック関数110は、非線形関数を用いてもよい。シフトレジスタ120は、演算部170及びクロック制御部130に必要なビットを出力する。クロック制御部130は、シフトレジスタ120からの入力ビットにより、クロックビットを出力する。テーブル格納部140は、事前処理部100において生成されたすべての参照テーブルをクロックビットに対応付けて格納する。フィードバック関数150は、クロックビットに対応付けられ、事前処理部100において作成されたテーブルを参照することにより制御され、シフトレジスタ160の出力ビットを入力にフィードバックする。シフトレジスタ160は、演算部170に必要なビットを出力する。演算部170は、シフトレジスタ160からのビット入力とシフトレジスタ120からのビット入力とを演算して鍵系列を出力する。排他的論理和演算器180は、鍵系列と平文との排他的論理和演算を行って暗号文を出力する。<事前処理部の構成>図2を用いて、事前処理部の構成について説明する。本実施形態に係る事前処理部は、定義部101と、生成部102とから構成されている。定義部101は、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義する。生成部102は、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと参照テーブルに入力するデータをCとからなる数1に示す関係式から新たなすべての参照テーブルT ́を生成する。なお、これらの詳細については、後述する実施例の中で、説明する。<暗号化装置の処理>図3を用いて、本実施形態に係る暗号化装置の処理について説明する。まず、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数2に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行うステップS101。次いで、シフトレジスタ120が初期鍵と初期ベクトルとを読み込みステップS102、フィードバック関数110が出力ビットをシフトレジスタ120の入力にフィードバックしてデータの攪拌処理を行うステップS103。シフトレジスタ120からのビット入力により、クロックビットを出力しステップS104、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義するステップS105。そして、事前に作成された参照テーブルT ́に対して、定義された入力ビットc ́を入力しステップS106、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力しステップS107、この鍵系列と平文との排他的論理和演算を行って暗号文を出力するステップS108。以上、説明したように、本実施形態によれば、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。<第2の実施形態>図4および図5を用いて、本発明の第2の実施形態について説明する。<復号化装置の構成>図4を用いて、本実施形態に係る復号化装置の構成について説明する。本実施形態に係る復号化装置は、図4に示すように、事前処理部100と、フィードバック関数110と、シフトレジスタ120と、クロック制御部130と、テーブル格納部140と、フィードバック関数150と、シフトレジスタ160と、演算部170と、排他的論理和演算器190とから構成されており、演算部170は非線形関数171と、排他的論理和演算器172とを備えている。なお、フィードバック関数110とシフトレジスタ120は、非線形フィードバックシフトレジスタで構成されてもよく、フィードバック関数150とシフトレジスタ160とは、動的線形フィードバックシフトレジスタで構成されてもよい。また、図1では、フィードバック関数110とシフトレジスタ120、フィードバック関数150とシフトレジスタ160とがそれぞれ1個ずつの構成になっているが、これに限らず、対をなせば、複数であってもよい。事前処理部100は、クロックビットおよびすべての入力ビットの組み合わせに対応した新たな参照テーブルを事前に作成し、これをテーブル格納部140に格納しておく。フィードバック関数110は、シフトレジスタ120の出力ビットを入力にフィードバックする。なお、フィードバック関数110は、非線形関数を用いてもよい。シフトレジスタ120は、演算部170及びクロック制御部130に必要なビットを出力する。クロック制御部130は、シフトレジスタ120からの入力ビットにより、クロックビットを出力する。テーブル格納部140は、事前処理部100において生成されたすべての参照テーブルをクロックビットに対応付けて格納する。フィードバック関数150は、クロックビットに対応付けられ、事前処理部100において作成されたテーブルを参照することにより制御され、シフトレジスタ160の出力ビットを入力にフィードバックする。シフトレジスタ160は、演算部170に必要なビットを出力する。演算部170は、シフトレジスタ160からのビット入力とシフトレジスタ120からのビット入力とを演算して鍵系列を出力する。排他的論理和演算器190は、鍵系列と暗号文との排他的論理和演算を行って平文を出力する。<復号化装置の処理>図5を用いて、本実施形態に係る復号化装置の処理について説明する。まず、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するすべてのデータをCとしたときに、qのあとにCをつけた入力ビットC ́を定義し、新たな参照テーブルT ́と定義された入力ビットC ́とクロックビットに対応した参照テーブルTqと該参照テーブルに入力するデータをCとからなる数3に示す関係式から新たなすべての参照テーブルT ́を生成する事前処理を行うステップS201。次いで、シフトレジスタ120が初期鍵と初期ベクトルとを読み込みステップS202、フィードバック関数110が出力ビットをシフトレジスタ120の入力にフィードバックしてデータの攪拌処理を行うステップS203。シフトレジスタ120からのビット入力により、クロックビットを出力しステップS204、クロックビットに対応した参照テーブル番号をq、参照テーブルに入力するデータをcとしたときに、qのあとにcをつけた入力ビットc ́を定義するステップS205。そして、事前に作成された参照テーブルT ́に対して、定義された入力ビットc ́を入力しステップS206、事前に作成された参照テーブルからの出力により制御される第2のフィードバック関数に接続された第2のシフトレジスタからのビット入力と第1のシフトレジスタからのビット入力とを演算して鍵系列を出力しステップS207、この鍵系列と暗号文との排他的論理和演算を行って平文を出力するステップS208。以上、説明したように、本実施形態によれば、クロックビットに対応付けられた新たな参照テーブルを作成することにより、従来、複数回、行っていた参照テーブルへのアクセスを軽減することができる。<本発明の実施例>以下、本発明の実施例について説明する。なお、本実施例では、図6に示すクロック制御型ストリーム暗号を例示して説明を行う。図6のクロック制御型ストリーム暗号では、従来、フィードバック関数310とシフトレジスタ320とからなる、例えば、線形フィードバックシフトレジスタの処理として、F28xの元ω次数4とcl∈{0、1を用いて、数4を計算する必要がある。ここで、α1、α2をそれぞれ数5、数6とし、γ、σは、ある原子多項式の根を表す。ここで、ωは、数7のように、一意に表され、このとき、α1ω1は、数8となる。同様に、α2ω2は、数9となる。ここで、F28を4次拡大した体Y∈F232をY3、Y2、Y1、Y0、Yi∈F28と表す。ここで、テーブルMulα1c=T1、Mulα2c=T2を数10のように、定義する。つまり、このテーブルは、入力cとして8ビットすべての値を計算し、32ビットの値を出力するテーブルである。このテーブルを用いて、32ビットの値ωに対して、数11を求め、その結果を用いて、数12を求める。ここで、<<は左シフト、>>は右シフトを示す。そのため、図6に示すクロック制御型ストリーム暗号では、テーブルが2つ必要となり、テーブルの参照も2回必要となる。一方で、本実施例では、新たなテーブルMulnewc ́=T ́を構成する。ここで、c ́は、新たなテーブルMulnewc ́=T ́に入力する入力ビットである。この例では、c ́は、9ビットであり、下位の8ビットが所望の参照テーブルの入力ビットであって、最上位のclは、所望の参照テーブルを示すデータであり、本実施例の場合、参照テーブルが2つであるため、0または1の値となる。つまり、c ́は、数13のように表される。また、Mulnewc ́=T ́は、最上位のclが0の時は、数14のようになり、1の時は、数15のようになる。このテーブルを用いると、数4は、数16を入力として、テーブルMulα2c ́=T ́を一度参照するだけで、計算できるようになる。なお、暗号化装置および復号化装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを暗号化装置および復号化装置に読み込ませ、実行することによって本発明の暗号化装置および復号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。また、コンピュータシステムは、WWWWorldWideWebシステムを利用している場合であれば、ホームページ提供環境あるいは表示環境も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。