説明

ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム

【課題】初期化処理を従来よりも効率化し、さらに安全で高速な、ビット単位の演算を行なう。
【解決手段】フィードバックレジスタあるいはフィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。次に、フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行い、動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う。そして、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーム暗号化装置、ストリーム復号化装置の初期化処理回路、初期化処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
【0003】
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びているが、ストリーム暗号方式の場合には、暗号処理と復号処理との同期をとらなければならないという問題があった。そのため、一定サイズ以上の誤りなく受信した暗号文を利用して、同期を自動的に回復する自己同期型のストリーム暗号装置が提案されている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−16197号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ストリーム暗号は、ビット単位の演算にすることにより小型ハードウェアに適用することが可能であるが、初期化処理に時間を要するという問題点があった。また、十分な安全性を有するアルゴリズムとするには、回路規模を大きくする、処理時間を増大させる必要があった。
【0006】
そこで、本発明は、上述の課題に鑑みてなされたものであり、初期化処理を従来よりも効率化し、さらに安全で高速な、ビット単位の演算を行なうストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の事項を提案している。
【0008】
(1)本発明は、ストリーム暗号の初期化処理回路であって、出力ビットを入力にフィードバックするフィードバックレジスタと、前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタと、前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタにクロックビットを出力するクロック制御手段と、前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する演算手段と、を備えたことを特徴とするストリーム暗号の初期化処理回路を提案している。
【0009】
この発明によれば、フィードバックレジスタは、出力ビットを入力にフィードバックする。動的線形フィードバックシフトレジスタは、フィードバックレジスタと並列に設けられている。クロック制御手段は、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタにクロックビットを出力する。演算手段は、フィードバックレジスタと動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する。したがって、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。
【0010】
(2)本発明は、(1)の初期化処理回路について、前記フィードバックレジスタが非線形フィードバックシフトレジスタであることを特徴とするストリーム暗号の初期化処理回路を提案している。
【0011】
この発明によれば、フィードバックレジスタが非線形フィードバックシフトレジスタである。つまり、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタとを組み合わせることにより、さらに安全性を強化することができる。
【0012】
(3)本発明は、(2)の初期化処理回路について、前記演算手段が非線形フィルタであることを特徴とするストリーム暗号の初期化処理回路を提案している。
【0013】
この発明によれば、演算手段が非線形フィルタである。つまり、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタと非線形フィルタの組合せにより安全性を相乗的に向上させることができる。このことにより、非線形フィルタの回路規模を最小化することができ、全体の回路規模削減に寄与する。
【0014】
(4)本発明は、(1)から(3)の初期化処理回路について、前記演算手段から出力される鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替えることを特徴とする初期化処理回路を提案している。
【0015】
この発明によれば、演算手段から出力される鍵系列をフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、演算手段から出力される鍵系列のフィードバック先を切り替える。これにより最適な初期化処理を実現することができる。
【0016】
(5)本発明は、(4)の初期化処理回路について、前記演算手段から出力される鍵系列を用いた前記データの攪拌処理が早く終了する前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかから先にフィードバックすることを特徴とするストリーム暗号の初期化処理回路を提案している。
【0017】
この発明によれば、演算手段から出力される鍵系列を用いたデータの攪拌処理が早く終了するフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかから先にフィードバックする。つまり、データの攪拌処理が早く終了するフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかから先にフィードバックすることにより、切り替え後には、すでに攪拌済みのデータを用いて、初期化処理をすることができる。
【0018】
(6)本発明は、(1)の初期化処理回路について、前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込むことを特徴とするストリーム暗号の初期化処理回路を提案している。
【0019】
この発明によれば、フィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。このことにより、初期ベクトルのみを変更する場合において、事前計算による処理の効率化を実現できる。
【0020】
(7)本発明は、(1)から(6)の初期化処理回路と、鍵系列を生成する鍵系列生成手段と、前記生成した鍵系列と平文との排他的論理和を行う排他的論理和演算手段と、を備えたことを特徴とするストリーム暗号化装置を提案している。
【0021】
この発明によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム暗号化装置を提供することができる。
【0022】
(8)本発明は、(1)から(6)の初期化処理回路と、鍵系列を生成する鍵系列生成手段と、前記生成した鍵系列と暗号文との排他的論理和を行う排他的論理和演算手段と、を備えたことを特徴とするストリーム復号化装置を提案している。
【0023】
この発明によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム復号化装置を提供することができる。
【0024】
(9)本発明は、ストリーム暗号の初期化処理回路における初期化方法であって、フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、を備えたことを特徴とするストリーム暗号の初期化処理方法を提案している。
【0025】
この発明によれば、フィードバックレジスタあるいはフィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。次に、フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行い、動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う。そして、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う。したがって、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。
【0026】
(10)本発明は、ストリーム暗号の初期化処理回路における初期化方法であって、フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する第5のステップと、該鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替える第6のステップと、を備えたことを特徴とするストリーム暗号の初期化処理方法を提案している。
【0027】
この発明によれば、フィードバックレジスタあるいはフィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。次に、フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行い、動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う。そして、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタに出力するクロックビットを用いて動的線形フィードバックシフトレジスタがデータの攪拌処理を行い、フィードバックレジスタと動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する。さらに、その鍵系列をフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、演算手段から出力される鍵系列のフィードバック先を切り替える。したがって、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。また、これにより、最適な初期化処理を実現することができる。
【0028】
(11)本発明は、ストリーム暗号の初期化処理回路における初期化方法をコンピュータに実行させるためのプログラムであって、フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0029】
この発明によれば、フィードバックレジスタあるいはフィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。次に、フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行い、動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う。そして、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う。したがって、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。
【0030】
(12)本発明は、ストリーム暗号の初期化処理回路における初期化方法をコンピュータに実行させるためのプログラムであって、フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する第5のステップと、該鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替える第6のステップと、をコンピュータに実行させるためのプログラムを提案している。
【0031】
この発明によれば、フィードバックレジスタあるいはフィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む。次に、フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行い、動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う。そして、フィードバックレジスタからのビット入力により、動的線形フィードバックシフトレジスタに出力するクロックビットを用いて動的線形フィードバックシフトレジスタがデータの攪拌処理を行い、フィードバックレジスタと動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する。さらに、その鍵系列をフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、演算手段から出力される鍵系列のフィードバック先を切り替える。したがって、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。また、これにより、最適な初期化処理を実現することができる。
【発明の効果】
【0032】
本発明によれば、ビット単位で処理を行うため、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現する
【図面の簡単な説明】
【0033】
【図1】第1の実施形態に係る初期化処理回路の構成を示す図である。
【図2】第1の実施形態に係る初期化処理回路の処理を示すフロー図である。
【図3】第1の実施形態に係る初期化処理回路の構成を示す図である。
【図4】第1の実施形態に係る初期化処理回路の処理を示すフロー図である。
【図5】本発明の初期化処理回路を用いたストリーム暗号化装置の構成を示す図である。
【図6】本発明の初期化処理回路を用いたストリーム暗号化装置の構成を示す図である。
【発明を実施するための形態】
【0034】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0035】
<第1の実施形態>
図1および図2を用いて、本発明の第1の実施形態について説明する。
【0036】
<初期化処理回路の構成>
図1を用いて、本実施形態に係る初期化処理回路の構成について説明する。
本実施形態に係る初期化処理回路100は、図1に示すように、非線形フィードバックシフトレジスタ101と、動的線形フィードバックシフトレジスタ102と、クロック制御部103と、非線形フィルタ104とから構成されている。なお、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102とは、図1に示すように、並列に設けられている。つまり、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタとを組み合わせることにより、さらに安全性を強化することができる。また、図1では、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102とがそれぞれ1個ずつの構成になっているが、これに限らず、対をなせば、複数であってもよい。
【0037】
非線形フィードバックシフトレジスタ101は、フィードバック関数として非線形関数を使用するものである。また、非線形フィードバックシフトレジスタ101は、非線形フィルタ104及びクロック制御部103に必要なビットを出力する。その後、フィードバック関数により各レジスタをアップデートし、再びビットを出力するという処理を繰り返す。非線形関数の例を数1に示す。なお、数1において、x、x、・・・は、非線形フィードバックシフトレジスタ101におけるレジスタのビットである。
【0038】
【数1】

【0039】
動的線形フィードバックシフトレジスタ102は、フィードバック関数として複数の線形フィードバック関数をクロック制御装置の決定に従って選択する動的フィードバック関数を使用するものである。動的線形フィードバックシフトレジスタ102は、非線形フィルタに必要なビットを出力する。その後、フィードバック関数により各レジスタをアップデートし、再びビットを出力するという処理を繰り返す。動的線形関数の例を数2にしめす。なお、数2において、b、bt+14、・・・は、動的線形フィードバックシフトレジスタ102におけるレジスタのビットであり、c、c、・・・は、クロックビットを示し、文字上部にある「−」の記号は、反転を意味する。
【0040】
【数2】

【0041】
クロック制御部103は、非線形フィードバックシフトレジスタ101からの入力ビットに対して、動的線形フィードバックシフトレジスタ102のフィードバック関数を決定する処理を行う。なお、クロック制御部103を設けることにより、更なる攪拌ルートを設けることができるため、初期化処理動作を効率化することができる。
【0042】
非線形フィルタ104は、非線形フィードバックシフトレジスタ101及び動的線形フィードバックシフトレジスタ102から入力されるビットから非線形関数により鍵系列を計算して出力する。なお、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタと非線形フィルタの組合せにより安全性を相乗的に向上させることができる。このことにより、非線形フィルタの回路規模を最小化することができ、全体の回路規模削減に寄与する。
【0043】
<初期化処理回路の処理>
図2を用いて、本実施形態に係る初期化処理回路の処理について説明する。
まず、非線形フィードバックシフトレジスタ101あるいはこれと並列に設けられた動的線形フィードバックシフトレジスタ102のいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む(ステップS101)。
【0044】
非線形フィードバックシフトレジスタ101が出力ビットを入力にフィードバックしてデータの攪拌処理を行う(ステップS102)。
【0045】
一方、動的線形フィードバックシフトレジスタ102が出力ビットを入力にフィードバックしてデータの攪拌処理を行う。一方、非線形フィードバックシフトレジスタ101からのビット入力により、動的線形フィードバックシフトレジスタ102に出力するクロックビットを用いて動的線形フィードバックシフトレジスタ102がデータの攪拌処理を行う(ステップS103)。
【0046】
以上、説明したように、本実施形態によれば、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。
【0047】
<第2の実施形態>
図3および図4を用いて、本発明の第2の実施形態について説明する。
【0048】
<初期化処理回路の構成>
図3を用いて、本実施形態に係る初期化処理回路の構成について説明する。
本実施形態に係る初期化処理回路110は、図3に示すように、非線形フィードバックシフトレジスタ101と、動的線形フィードバックシフトレジスタ102と、クロック制御部103と、非線形フィルタ104とから構成されている。
【0049】
図3に示すように、基本的な構成要素は、第1の実施形態と同様であるが、初期化処理において、非線形フィルタ104から出力される鍵系列を例えば、非線形フィードバックシフトレジスタ101にフィードバックし、非線形フィードバックシフトレジスタ101において、データの攪拌が終了すると、フィードバックを動的線形フィードバックシフトレジスタ102に切り替える。これにより、最適な初期化処理を実現することができる。
【0050】
なお、鍵系列のフィードバックは、鍵系列を用いたデータの攪拌処理が早く終了するフィードバックレジスタから先にフィードバックする。つまり、データの攪拌処理が早く終了するフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかから先にフィードバックすることにより、切り替え後には、すでに攪拌済みのデータを用いて、初期化処理をすることができる。
【0051】
また、例えば、非線形フィードバックシフトレジスタ101が初期鍵を読み込み、動的線形フィードバックシフトレジスタ102が初期ベクトルを読み込む。このことにより、初期ベクトルのみを変更する場合において、事前計算による処理の効率化を実現できる。
【0052】
さらに、初期鍵と初期ベクトルの読み込みにおいて、初期鍵と初期ベクトルとが、それぞれ別々のレジスタに入力されるため、初期ベクトルの変更のみを行う場合、初期鍵に関する処理を事前処理として独立に実施可能であり、初期化処理に要する計算時間を節約することができる。
【0053】
<初期化処理回路の処理>
図4を用いて、本実施形態に係る初期化処理回路の処理について説明する。
まず、非線形フィードバックシフトレジスタ101あるいはこれと並列に設けられた動的線形フィードバックシフトレジスタ102のいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む(ステップS201)。
【0054】
非線形フィードバックシフトレジスタ101が出力ビットを入力にフィードバックしてデータの攪拌処理を行う(ステップS202)。
【0055】
一方、動的線形フィードバックシフトレジスタ102が出力ビットを入力にフィードバックしてデータの攪拌処理を行う。一方、非線形フィードバックシフトレジスタ101からのビット入力により、動的線形フィードバックシフトレジスタ102に出力するクロックビットを用いて動的線形フィードバックシフトレジスタ102がデータの攪拌処理を行う(ステップS203)。
【0056】
次に、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102からのビット入力を演算して鍵系列を出力し(ステップS204)、鍵系列を非線形フィードバックシフトレジスタ101にフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を動的線形フィードバックシフトレジスタ102に切り替える(ステップS205)。
【0057】
以上、説明したように、本実施形態によれば、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。また、これにより、最適な初期化処理を実現することができる。
【0058】
<本発明の初期化処理回路を用いたストリーム暗号化装置>
図5を用いて、本発明の初期化処理回路を用いたストリーム暗号化装置について説明する。
【0059】
<ストリーム暗号化装置の構成>
ストリーム暗号化装置は、図5に示すように、初期化処理回路100と、鍵系列生成部200と、XOR演算器300とから構成されている。ここで、鍵系列生成部200は鍵系列を生成する。XOR演算器300は、平文と鍵系列生成部200が生成した鍵系列のXOR演算を行い、暗号文を生成する。
【0060】
<ストリーム暗号化装置の処理>
まず、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と平文とを排他的論理和することで、暗号化する。
【0061】
したがって、上記のストリーム暗号化装置によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム暗号化装置を提供することができる。
【0062】
<本発明の初期化処理回路を用いたストリーム復号化装置>
図6を用いて、本発明の初期化処理回路を用いたストリーム復号化装置について説明する。
【0063】
<ストリーム復号化装置の構成>
ストリーム復号化装置は、図6に示すように、初期化処理回路100と、鍵系列生成部200と、XOR演算器300とから構成されている。ここで、鍵系列生成部200は鍵系列を生成する。XOR演算器300は、暗号文と鍵系列生成部200が生成した鍵系列のXOR演算を行い、平文を生成する。
【0064】
<ストリーム復号化装置の処理>
まず、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と暗号文とを排他的論理和することで、復号化する。
【0065】
したがって、上記のストリーム復号化装置によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム復号化装置を提供することができる。
【0066】
なお、初期化処理回路の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを初期化処理回路に読み込ませ、実行することによって本発明の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0067】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0068】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0069】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0070】
100;初期化処理回路
101;非線形フィードバックシフトレジスタ
102;動的線形フィードバックシフトレジスタ
103;クロック制御部
104;非線形フィルタ
110;初期化処理回路

【特許請求の範囲】
【請求項1】
ストリーム暗号の初期化処理回路であって、
出力ビットを入力にフィードバックするフィードバックレジスタと、
前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタと、
前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタにクロックビットを出力するクロック制御手段と、
前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する演算手段と、
を備えたことを特徴とするストリーム暗号の初期化処理回路。
【請求項2】
前記フィードバックレジスタが非線形フィードバックシフトレジスタであることを特徴とする請求項1に記載のストリーム暗号の初期化処理回路。
【請求項3】
前記演算手段が非線形フィルタであることを特徴とする請求項2に記載のストリーム暗号の初期化処理回路。
【請求項4】
前記演算手段から出力される鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替えることを特徴とする請求項1から請求項3のいずれかに記載の初期化処理回路。
【請求項5】
前記演算手段から出力される鍵系列を用いた前記データの攪拌処理が早く終了する前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかから先にフィードバックすることを特徴とする請求項4に記載のストリーム暗号の初期化処理回路。
【請求項6】
前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込むことを特徴とする請求項1に記載のストリーム暗号の初期化処理回路。
【請求項7】
請求項1から請求項6の初期化処理回路と、
鍵系列を生成する鍵系列生成手段と、
前記生成した鍵系列と平文との排他的論理和を行う排他的論理和演算手段と、
を備えたことを特徴とするストリーム暗号化装置。
【請求項8】
請求項1から請求項6の初期化処理回路と、
鍵系列を生成する鍵系列生成手段と、
前記生成した鍵系列と暗号文との排他的論理和を行う排他的論理和演算手段と、
を備えたことを特徴とするストリーム復号化装置。
【請求項9】
ストリーム暗号の初期化処理回路における初期化方法であって、
フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、
前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、
前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、
前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、
を備えたことを特徴とするストリーム暗号の初期化処理方法。
【請求項10】
ストリーム暗号の初期化処理回路における初期化方法であって、
フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、
前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、
前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、
前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、
前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する第5のステップと、
該鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替える第6のステップと、
を備えたことを特徴とするストリーム暗号の初期化処理方法。
【請求項11】
ストリーム暗号の初期化処理回路における初期化方法をコンピュータに実行させるためのプログラムであって、
フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、
前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、
前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、
前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、
をコンピュータに実行させるためのプログラム。
【請求項12】
ストリーム暗号の初期化処理回路における初期化方法をコンピュータに実行させるためのプログラムであって、
フィードバックレジスタあるいは前記フィードバックレジスタと並列に設けられた動的線形フィードバックシフトレジスタのいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む第1のステップと、
前記フィードバックレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第2のステップと、
前記動的線形フィードバックシフトレジスタが出力ビットを入力にフィードバックしてデータの攪拌処理を行う第3のステップと、
前記フィードバックレジスタからのビット入力により、前記動的線形フィードバックシフトレジスタに出力するクロックビットを用いて前記動的線形フィードバックシフトレジスタがデータの攪拌処理を行う第4のステップと、
前記フィードバックレジスタと前記動的線形フィードバックシフトレジスタからのビット入力を演算して鍵系列を出力する第5のステップと、
鍵系列を前記フィードバックレジスタあるいは前記動的線形フィードバックシフトレジスタのいずれかにフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を切り替える第6のステップと、
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate