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

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

Info

Publication number
JP5495754B2
JP5495754B2 JP2009284219A JP2009284219A JP5495754B2 JP 5495754 B2 JP5495754 B2 JP 5495754B2 JP 2009284219 A JP2009284219 A JP 2009284219A JP 2009284219 A JP2009284219 A JP 2009284219A JP 5495754 B2 JP5495754 B2 JP 5495754B2
Authority
JP
Japan
Prior art keywords
register
feedback
shift register
dynamic linear
feedback shift
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.)
Active
Application number
JP2009284219A
Other languages
English (en)
Other versions
JP2011130011A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2009284219A priority Critical patent/JP5495754B2/ja
Publication of JP2011130011A publication Critical patent/JP2011130011A/ja
Application granted granted Critical
Publication of JP5495754B2 publication Critical patent/JP5495754B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ストリーム暗号化装置、ストリーム復号化装置の初期化処理回路、初期化処理方法およびプログラムに関する。
近年、インターネットの目覚しい普及により、コンピュータを利用した様々なサービスが提供されている。こうして提供されるサービスの多くは、その通信内容を秘匿化するために暗号が利用されている。ここで、暗号方式としては、1つの鍵で暗号化と復号化とを行う共通鍵暗号方式が一般的であるが、この共通鍵暗号方式は、大きくブロック暗号方式とストリーム暗号方式とに大別される。
ストリーム暗号方式は、ブロック暗号方式よりも高速な処理が期待できるため、例えば、映画等の大容量データを伝送するための方式として、近年、注目を浴びているが、ストリーム暗号方式の場合には、暗号処理と復号処理との同期をとらなければならないという問題があった。そのため、一定サイズ以上の誤りなく受信した暗号文を利用して、同期を自動的に回復する自己同期型のストリーム暗号装置が提案されている(例えば、特許文献1参照。)。
特開2001−16197号公報
しかしながら、ストリーム暗号は、ビット単位の演算にすることにより小型ハードウェアに適用することが可能であるが、初期化処理に時間を要するという問題点があった。また、十分な安全性を有するアルゴリズムとするには、回路規模を大きくする、処理時間を増大させる必要があった。
そこで、本発明は、上述の課題に鑑みてなされたものであり、初期化処理を従来よりも効率化し、さらに安全で高速な、ビット単位の演算を行なうストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。
(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の実施形態に係る初期化処理回路の構成を示す図である。 第1の実施形態に係る初期化処理回路の処理を示すフロー図である。 第1の実施形態に係る初期化処理回路の構成を示す図である。 第1の実施形態に係る初期化処理回路の処理を示すフロー図である。 本発明の初期化処理回路を用いたストリーム暗号化装置の構成を示す図である。 本発明の初期化処理回路を用いたストリーム暗号化装置の構成を示す図である。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
図1および図2を用いて、本発明の第1の実施形態について説明する。
<初期化処理回路の構成>
図1を用いて、本実施形態に係る初期化処理回路の構成について説明する。
本実施形態に係る初期化処理回路100は、図1に示すように、非線形フィードバックシフトレジスタ101と、動的線形フィードバックシフトレジスタ102と、クロック制御部103と、非線形フィルタ104とから構成されている。なお、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102とは、図1に示すように、並列に設けられている。つまり、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタとを組み合わせることにより、さらに安全性を強化することができる。また、図1では、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102とがそれぞれ1個ずつの構成になっているが、これに限らず、対をなせば、複数であってもよい。
非線形フィードバックシフトレジスタ101は、フィードバック関数として非線形関数を使用するものである。また、非線形フィードバックシフトレジスタ101は、非線形フィルタ104及びクロック制御部103に必要なビットを出力する。その後、フィードバック関数により各レジスタをアップデートし、再びビットを出力するという処理を繰り返す。非線形関数の例を数1に示す。なお、数1において、x、x、・・・は、非線形フィードバックシフトレジスタ101におけるレジスタのビットである。
Figure 0005495754
動的線形フィードバックシフトレジスタ102は、フィードバック関数として複数の線形フィードバック関数をクロック制御装置の決定に従って選択する動的フィードバック関数を使用するものである。動的線形フィードバックシフトレジスタ102は、非線形フィルタに必要なビットを出力する。その後、フィードバック関数により各レジスタをアップデートし、再びビットを出力するという処理を繰り返す。動的線形関数の例を数2にしめす。なお、数2において、b、bt+14、・・・は、動的線形フィードバックシフトレジスタ102におけるレジスタのビットであり、c、c、・・・は、クロックビットを示し、文字上部にある「−」の記号は、反転を意味する。
Figure 0005495754
クロック制御部103は、非線形フィードバックシフトレジスタ101からの入力ビットに対して、動的線形フィードバックシフトレジスタ102のフィードバック関数を決定する処理を行う。なお、クロック制御部103を設けることにより、更なる攪拌ルートを設けることができるため、初期化処理動作を効率化することができる。
非線形フィルタ104は、非線形フィードバックシフトレジスタ101及び動的線形フィードバックシフトレジスタ102から入力されるビットから非線形関数により鍵系列を計算して出力する。なお、動的線形フィードバックシフトレジスタと非線形フィードバックシフトレジスタと非線形フィルタの組合せにより安全性を相乗的に向上させることができる。このことにより、非線形フィルタの回路規模を最小化することができ、全体の回路規模削減に寄与する。
<初期化処理回路の処理>
図2を用いて、本実施形態に係る初期化処理回路の処理について説明する。
まず、非線形フィードバックシフトレジスタ101あるいはこれと並列に設けられた動的線形フィードバックシフトレジスタ102のいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む(ステップS101)。
非線形フィードバックシフトレジスタ101が出力ビットを入力にフィードバックしてデータの攪拌処理を行う(ステップS102)。
一方、動的線形フィードバックシフトレジスタ102が出力ビットを入力にフィードバックしてデータの攪拌処理を行う。一方、非線形フィードバックシフトレジスタ101からのビット入力により、動的線形フィードバックシフトレジスタ102に出力するクロックビットを用いて動的線形フィードバックシフトレジスタ102がデータの攪拌処理を行う(ステップS103)。
以上、説明したように、本実施形態によれば、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。
<第2の実施形態>
図3および図4を用いて、本発明の第2の実施形態について説明する。
<初期化処理回路の構成>
図3を用いて、本実施形態に係る初期化処理回路の構成について説明する。
本実施形態に係る初期化処理回路110は、図3に示すように、非線形フィードバックシフトレジスタ101と、動的線形フィードバックシフトレジスタ102と、クロック制御部103と、非線形フィルタ104とから構成されている。
図3に示すように、基本的な構成要素は、第1の実施形態と同様であるが、初期化処理において、非線形フィルタ104から出力される鍵系列を例えば、非線形フィードバックシフトレジスタ101にフィードバックし、非線形フィードバックシフトレジスタ101において、データの攪拌が終了すると、フィードバックを動的線形フィードバックシフトレジスタ102に切り替える。これにより、最適な初期化処理を実現することができる。
なお、鍵系列のフィードバックは、鍵系列を用いたデータの攪拌処理が早く終了するフィードバックレジスタから先にフィードバックする。つまり、データの攪拌処理が早く終了するフィードバックレジスタあるいは動的線形フィードバックシフトレジスタのいずれかから先にフィードバックすることにより、切り替え後には、すでに攪拌済みのデータを用いて、初期化処理をすることができる。
また、例えば、非線形フィードバックシフトレジスタ101が初期鍵を読み込み、動的線形フィードバックシフトレジスタ102が初期ベクトルを読み込む。このことにより、初期ベクトルのみを変更する場合において、事前計算による処理の効率化を実現できる。
さらに、初期鍵と初期ベクトルの読み込みにおいて、初期鍵と初期ベクトルとが、それぞれ別々のレジスタに入力されるため、初期ベクトルの変更のみを行う場合、初期鍵に関する処理を事前処理として独立に実施可能であり、初期化処理に要する計算時間を節約することができる。
<初期化処理回路の処理>
図4を用いて、本実施形態に係る初期化処理回路の処理について説明する。
まず、非線形フィードバックシフトレジスタ101あるいはこれと並列に設けられた動的線形フィードバックシフトレジスタ102のいずれかが初期鍵を読み込み、他方が初期ベクトルを読み込む(ステップS201)。
非線形フィードバックシフトレジスタ101が出力ビットを入力にフィードバックしてデータの攪拌処理を行う(ステップS202)。
一方、動的線形フィードバックシフトレジスタ102が出力ビットを入力にフィードバックしてデータの攪拌処理を行う。一方、非線形フィードバックシフトレジスタ101からのビット入力により、動的線形フィードバックシフトレジスタ102に出力するクロックビットを用いて動的線形フィードバックシフトレジスタ102がデータの攪拌処理を行う(ステップS203)。
次に、非線形フィードバックシフトレジスタ101と動的線形フィードバックシフトレジスタ102からのビット入力を演算して鍵系列を出力し(ステップS204)、鍵系列を非線形フィードバックシフトレジスタ101にフィードバックし、データの攪拌処理が終了した時点で、前記演算手段から出力される鍵系列のフィードバック先を動的線形フィードバックシフトレジスタ102に切り替える(ステップS205)。
以上、説明したように、本実施形態によれば、フィードバックレジスタを並列に設けることにより、初期化処理を効率化できる。また、一方に、動的線形フィードバックシフトレジスタを使用することにより、周期性を保証するとともに、安全性を向上させることができる。また、これにより、最適な初期化処理を実現することができる。
<本発明の初期化処理回路を用いたストリーム暗号化装置>
図5を用いて、本発明の初期化処理回路を用いたストリーム暗号化装置について説明する。
<ストリーム暗号化装置の構成>
ストリーム暗号化装置は、図5に示すように、初期化処理回路100と、鍵系列生成部200と、XOR演算器300とから構成されている。ここで、鍵系列生成部200は鍵系列を生成する。XOR演算器300は、平文と鍵系列生成部200が生成した鍵系列のXOR演算を行い、暗号文を生成する。
<ストリーム暗号化装置の処理>
まず、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と平文とを排他的論理和することで、暗号化する。
したがって、上記のストリーム暗号化装置によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム暗号化装置を提供することができる。
<本発明の初期化処理回路を用いたストリーム復号化装置>
図6を用いて、本発明の初期化処理回路を用いたストリーム復号化装置について説明する。
<ストリーム復号化装置の構成>
ストリーム復号化装置は、図6に示すように、初期化処理回路100と、鍵系列生成部200と、XOR演算器300とから構成されている。ここで、鍵系列生成部200は鍵系列を生成する。XOR演算器300は、暗号文と鍵系列生成部200が生成した鍵系列のXOR演算を行い、平文を生成する。
<ストリーム復号化装置の処理>
まず、初期鍵、初期ベクトルを読み込み、初期化処理を実施する。次に、鍵系列生成処理を実行し、鍵系列を生成し、生成した鍵系列と暗号文とを排他的論理和することで、復号化する。
したがって、上記のストリーム復号化装置によれば、初期化処理が効率的でかつ、回路規模を抑えることができるアルゴリズムを実現できるため、小型デバイスでも用いることのできる軽量なストリーム復号化装置を提供することができる。
なお、初期化処理回路の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを初期化処理回路に読み込ませ、実行することによって本発明の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100;初期化処理回路
101;非線形フィードバックシフトレジスタ
102;動的線形フィードバックシフトレジスタ
103;クロック制御部
104;非線形フィルタ
110;初期化処理回路

Claims (7)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009284219A JP5495754B2 (ja) 2009-12-15 2009-12-15 ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009284219A JP5495754B2 (ja) 2009-12-15 2009-12-15 ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2011130011A JP2011130011A (ja) 2011-06-30
JP5495754B2 true JP5495754B2 (ja) 2014-05-21

Family

ID=44292157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284219A Active JP5495754B2 (ja) 2009-12-15 2009-12-15 ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5495754B2 (ja)

Also Published As

Publication number Publication date
JP2011130011A (ja) 2011-06-30

Similar Documents

Publication Publication Date Title
US7978851B2 (en) Keystream encryption device, method, and program
US7623660B1 (en) Method and system for pipelined decryption
Rahimunnisa et al. FPGA implementation of AES algorithm for high throughput using folded parallel architecture
US8958548B2 (en) Generation of relative prime numbers for use in cryptography
JP7047838B2 (ja) 秘密計算装置、比較方法、比較プログラム、および秘密計算システム
JP5495754B2 (ja) ストリーム暗号の初期化処理回路、ストリーム暗号化装置、ストリーム復号化装置、ストリーム暗号の初期化処理方法およびプログラム
KR20100029871A (ko) Aes 라인달 알고리즘을 이용하는 암호화 및 복호화 장치와 그 방법
JP5102536B2 (ja) ストリーム暗号の暗号化装置、復号化装置、暗号化方法、復号化方法およびプログラム
JP4938430B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5489696B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2010256749A (ja) ハッシュ値生成装置、ハッシュ値生成方法およびプログラム
JP4819576B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP5415020B2 (ja) ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
JP5822757B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2011160229A (ja) 認証付きストリーム暗号の暗号化装置、認証付きストリーム暗号の復号化装置、暗号化方法、復号化方法およびプログラム
JP5084224B2 (ja) 自己同期型ストリーム暗号の暗号化装置、復号化装置、自己同期型ストリーム暗号システム、mac生成装置、暗号化方法、復号化方法、mac生成方法およびプログラム
JP4842694B2 (ja) ハッシュ関数処理装置、同装置におけるハッシュ関数生成方法およびプログラム
JP5559011B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の暗号化方法およびプログラム
JP5726394B2 (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置
JP2009037095A (ja) データスクランブル装置、データデスクランブル装置、データスクランブル方法、データデスクランブル方法およびプログラム
JP5096794B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、自己同期型ストリーム暗号の暗号化装置、自己同期型ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、自己同期型ストリーム暗号の暗号化方法およびプログラム
JP2013205437A (ja) 非線形関数S−boxの計算方法及び装置
JP2011130340A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2012235287A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム
JP2008203306A (ja) 暗号処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140304

R150 Certificate of patent or registration of utility model

Ref document number: 5495754

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150