説明

鍵系列出力装置、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、鍵系列出力方法、およびプログラム

【課題】内部メモリの効率的な更新が可能なストリーム暗号の鍵系列出力装置を提供すること。
【解決手段】ストリーム暗号処理用の鍵系列を出力する鍵系列出力装置10は、初期鍵および初期ベクトルを初期値としてレジスタに格納する内部メモリ100と、内部メモリ100のレジスタに格納された値を更新する内部メモリ更新部110と、内部メモリ100のレジスタに格納された値から生成した鍵系列を出力する鍵系列出力部120と、内部メモリ100と鍵系列出力部120との接続を制御するスイッチSb210と、を備え、鍵系列出力部120により鍵系列を出力せずに、内部メモリ更新部110により内部メモリ100のレジスタに格納された値の更新を行う場合に、スイッチSb210をオンする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、鍵系列出力方法、およびプログラムに関する。
【背景技術】
【0002】
暗号技術は、インターネット等のデジタル通信網上での電子商取引や電子申請のセキュリティを確保するために必須の技術である。暗号技術には、大きく分けて「公開鍵暗号」と「共通鍵暗号」との2つがある。後者の「共通鍵暗号」には、ブロック暗号とストリーム暗号との2つがあるが、ストリーム暗号はブロック暗号よりも高速処理に優れた暗号であることから、巨大なデータの暗号化/復号化にはブロック暗号よりも優れ、近年の情報の大規模化・通信の高速化に伴い注目を集めている。
【0003】
近年、PCと比べ能力の低い携帯電話上でも動作可能なストリーム暗号としてK2が提案されている。K2は、代表的なブロック暗号のAESと比べ、4〜10倍高速に処理を行うことができる(例えば、非特許文献1参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】S. Kiyomoto,T. Tanaka,K. Sakurai,“K2 Stream Cipher,”ICETE 2007,CCIS 23,pp.214−226,Springer−Verlag,2008.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ストリーム暗号において暗号化/復号に用いる鍵系列は、初期値である初期鍵および初期ベクトルに加え、鍵系列を生成する鍵系列出力装置(擬似乱数生成器やストリーム暗号アルゴリズムともいう)に備えられ、鍵系列が出力される毎に更新される内部メモリの値に依存するため、通常の実装では、データの途中部分からの暗号化/復号を効率的に行うことはできないという問題点があった。このため、早送り・巻き戻し、途中再生が必要となる音楽コンテンツ等の暗号化/復号には、ストリーム暗号は適さないという問題点があった。
【0006】
そこで、本発明は、上述の課題に鑑みてなされたものであり、内部メモリの効率的な更新が可能なストリーム暗号の鍵系列出力装置を提供し、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【0008】
(1) 本発明は、ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置であって、初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段(例えば、図1の内部メモリ100に相当)と、前記格納手段のレジスタに格納された値を更新する更新手段(例えば、図1の内部メモリ更新部110に相当)と、前記格納手段のレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段(例えば、図1の鍵系列出力部120に相当)と、前記格納手段と前記鍵系列出力手段との接続を制御する第1のスイッチ手段(例えば、図1のスイッチSb210に相当)と、を備え、前記鍵系列出力手段により鍵系列を出力せずに、前記更新手段により前記格納手段のレジスタに格納された値の更新を行う場合に、前記第1のスイッチ手段をオンすることを特徴とする鍵系列出力装置を提案している。
【0009】
この発明によれば、格納手段は、初期鍵および初期ベクトルを初期値としてレジスタに格納する。更新手段は、格納手段のレジスタに格納された値を更新する。鍵系列出力手段は、格納手段のレジスタに格納された値から生成した鍵系列を出力する。第1のスイッチ手段は、格納手段と鍵系列出力手段との接続を制御し、鍵系列出力手段により鍵系列を出力せずに、更新手段により格納手段のレジスタに格納された値の更新を行う場合にオンになる。したがって、従来と異なって、鍵系列を出力せずに格納手段(内部メモリ)のレジスタに格納された値を更新できることにより、鍵系列の出力に要していた時間を省き、格納手段(内部メモリ)を効率的に更新できる。その結果、データの任意の部分のストリーム暗号による暗号化/復号が可能となり、さらに、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【0010】
(2) 本発明は、(1)の鍵系列出力装置について、所定の段階において前記格納手段のレジスタに格納されている値を記憶する外部記憶装置(例えば、図1の外部記憶装置130に相当)と、前記格納手段と前記外部記憶装置との接続を制御する第2のスイッチ手段(例えば、図1のスイッチSc220に相当)と、を備え、前記外部記憶装置に記憶されている値を前記格納手段のレジスタに読み込む場合に、前記第2のスイッチ手段をオンすることを特徴とする鍵系列出力装置を提案している。
【0011】
この発明によれば、外部記憶装置は、所定の段階において格納手段のレジスタに格納されている値を記憶する。第2のスイッチ手段は、格納手段と外部記憶装置との接続を制御し、外部記憶装置に記憶されている値を格納手段のレジスタに読み込む場合にオンになる。したがって、所定の段階において格納手段のレジスタに格納されている値を外部記憶装置に記憶しておくことにより、格納手段のレジスタに格納された値を所定の段階まで更新する処理を行わずに、格納手段のレジスタに所定の段階において格納される値を提供することができる。その結果、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生をより高速に実現することができる。
【0012】
(3) 本発明は、(2)の鍵系列出力装置について、前記第2のスイッチ手段は、前記格納手段と前記更新手段との接続も制御し、前記格納手段の接続先を前記更新手段または前記外部記憶装置に切り替えることを特徴とする鍵系列出力装置を提案している。
【0013】
この発明によれば、第2のスイッチ手段は、格納手段と更新手段との接続も制御し、格納手段の接続先を更新手段または外部記憶装置に切り替える。したがって、格納手段には、外部記憶装置または更新手段のいずれか一方が接続されるようにすることができる。
【0014】
(4) 本発明は、(1)から(3)の鍵系列出力装置について、前記格納手段への初期鍵および初期ベクトルの入力を制御する第3のスイッチ手段(例えば、図1のスイッチSa200に相当)を備え、前記第3のスイッチ手段は、前記初期鍵および前記初期ベクトルを前記格納手段に格納する場合に、前記第3のスイッチ手段をオンすることを特徴とする鍵系列出力装置を提案している。
【0015】
この発明によれば、第3のスイッチは、格納手段への初期鍵および初期ベクトルの入力を制御し、初期鍵および初期ベクトルを格納手段に格納する場合に、第3のスイッチ手段はオンになる。したがって、格納手段のレジスタに初期鍵および初期ベクトルの入力しない場合には、格納手段への接続を切断しておくことができる。
【0016】
(5) 本発明は、(1)から(4)のいずれかの鍵系列出力装置と、前記鍵系列生成装置から出力された鍵系列と外部から入力された平文との排他的論理和演算を行なって、暗号文を出力する暗号化手段(例えば、図4の暗号化部20に相当)と、を備えるストリーム暗号の暗号化装置を提案している。
【0017】
この発明によれば、(1)から(4)のいずれかの鍵系列出力装置を用いて、ストリーム暗号の暗号化装置を構成することができる。したがって、従来よりも効率的に格納手段(内部メモリ)を更新できる鍵系列出力装置を備えることにより、平文の任意の部分の暗号化が可能な暗号化装置を構成できる。その結果、データの任意の部分のストリーム暗号による暗号化/復号が可能となる。
【0018】
(6) 本発明は、(1)から(4)のいずれかの鍵系列出力装置と、前記鍵系列出力装置から出力された鍵系列と外部から入力された暗号文との排他的論理和演算を行なって、平文を出力する復号手段(例えば、図5の復号部30に相当)と、を備えるストリーム暗号の復号装置を提案している。
【0019】
この発明によれば、(1)から(4)のいずれかの鍵系列出力装置を用いて、ストリーム暗号の復号装置を構成することができる。したがって、従来よりも効率的に格納手段(内部メモリ)を更新できる鍵系列出力装置を備えることにより、平文の任意の部分の復号が可能な復号装置を構成できる。その結果、ストリーム暗号により暗号化されたコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【0020】
(7) 本発明は、ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置における鍵系列出力方法であって、初期鍵および初期ベクトルを内部メモリのレジスタに格納し、当該内部メモリを初期化する第1のステップ(例えば、図2のステップS2〜S4に相当)と、前記内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、前記内部メモリとの接続を制御する第2のスイッチ手段をオフにする第2のステップ(例えば、図2のステップS5に相当)と、前記内部メモリを所定の段階まで更新する第3のステップ(例えば、図2のステップS6に相当)と、前記第3のステップにおいて、前記内部メモリが所定の段階まで更新されたことに応じて、前記第2のスイッチ手段をオンにする第4のステップ(例えば、図2のステップS7、S8に相当)と、前記所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する第5のステップ(例えば、図2のステップS9に相当)と、前記鍵系列が出力される毎に、前記内部メモリを更新する第6のステップ(例えば、図2のステップS10に相当)と、を含む鍵系列出力方法を提案している。
【0021】
この発明によれば、まず、第1のステップにおいて、初期鍵および初期ベクトルを内部メモリのレジスタに格納し、内部メモリを初期化する。次に、第2のステップにおいて、内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、内部メモリとの接続を制御する第2のスイッチ手段をオフにする。次に、第3のステップにおいて、内部メモリを所定の段階まで更新する。次に、第4のステップにおいて、第3のステップにて、内部メモリが所定の段階まで更新されたことに応じて、第2のスイッチ手段をオンにする。次に、第5のステップにおいて、所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する。次に、第6のステップにおいて、鍵系列が出力される毎に、内部メモリを更新する。したがって、従来と異なって、鍵系列を出力せずに内部メモリのレジスタに格納された値を更新できることにより、鍵系列の出力に要していた時間を省き、内部メモリを効率的に更新できる。その結果、データの任意の部分のストリーム暗号による暗号化/復号が可能となり、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【0022】
(8) 本発明は、ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置における鍵系列出力方法をコンピュータに実行させるためのプログラムであって、初期鍵および初期ベクトルを内部メモリのレジスタに格納し、当該内部メモリを初期化する第1のステップ(例えば、図2のステップS2〜S4に相当)と、前記内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、前記内部メモリとの接続を制御する第2のスイッチ手段をオフにする第2のステップ(例えば、図2のステップS5に相当)と、前記内部メモリを所定の段階まで更新する第3のステップ(例えば、図2のステップS6に相当)と、前記第3のステップにおいて、前記内部メモリが所定の段階まで更新されたことに応じて、前記第2のスイッチ手段をオンにする第4のステップ(例えば、図2のステップS7、S8に相当)と、前記所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する第5のステップ(例えば、図2のステップS9に相当)と、前記鍵系列が出力される毎に、前記内部メモリを更新する第6のステップ(例えば、図2のステップS10に相当)と、をコンピュータに実行させるプログラムを提案している。
【0023】
この発明によれば、まず、第1のステップにおいて、初期鍵および初期ベクトルを内部メモリのレジスタに格納し、内部メモリを初期化する。次に、第2のステップにおいて、内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、内部メモリとの接続を制御する第2のスイッチ手段をオフにする。次に、第3のステップにおいて、内部メモリを所定の段階まで更新する。次に、第4のステップにおいて、第3のステップにおいて、内部メモリが所定の段階まで更新されたことに応じて、第2のスイッチ手段をオンにする。次に、第5のステップにおいて、所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する。次に、第6のステップにおいて、鍵系列が出力される毎に、内部メモリを更新する。したがって、従来と異なって、鍵系列を出力せずに内部メモリのレジスタに格納された値を更新できることにより、鍵系列の出力に要していた時間を省き、内部メモリを効率的に更新できる。その結果、データの任意の部分のストリーム暗号による暗号化/復号が可能となり、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【発明の効果】
【0024】
本発明によれば、内部メモリの効率的な更新が可能なストリーム暗号の鍵系列出力装置を提供することができる。また、データの任意の部分のストリーム暗号による暗号化/復号が可能となり、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【図面の簡単な説明】
【0025】
【図1】本実施形態に係る鍵系列生成装置の機能構成を示す図である。
【図2】本実施形態に係るデータの任意の部分からの第1の鍵系列出力処理フローを示す図である。
【図3】本実施形態に係るデータの任意の部分からの第2の鍵系列出力処理フローを示す図である。
【図4】本応用例に係るストリーム暗号の暗号化装置の機能構成を示す図である。
【図5】本応用例に係るストリーム暗号の復号装置の機能構成を示す図である。
【発明を実施するための形態】
【0026】
以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含むさまざまなバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0027】
<鍵系列出力装置の機能構成>
図1は、本実施形態に係る鍵系列出力装置10の機能構成を示す図である。鍵系列出力装置10は、ストリーム暗号の暗号化および復号に用いる鍵系列を生成する装置であって、内部メモリ100と、内部メモリ更新部110と、鍵系列出力部120と、外部記憶装置130と、スイッチSa200と、スイッチSb210と、スイッチSc220とを備える。
【0028】
内部メモリ100は、後述する鍵系列出力部120で鍵系列を生成するために必要な値を内部のレジスタに格納する。
【0029】
内部メモリ更新部110は、初期鍵と初期ベクトルとを格納した内部メモリ100を撹拌し、内部メモリ100の初期化処理を行う。また、内部メモリ更新部110は、内部メモリ更新関数により内部メモリ100を更新する。
【0030】
鍵系列出力部120は、内部メモリ100に格納されている値を用いて鍵系列を生成し、生成した鍵系列を出力する。具体的には、鍵系列出力部120は、内部メモリの各レジスタの値をスワップ等でランダムに入れ替えて鍵系列を生成してもよいし、内部メモリ100の内部のレジスタとして線形フィードバックレジスタを用いて、線形フィードバックレジスタから得られるビット列を非線形関数に通すことで鍵系列を生成してもよい。
【0031】
外部記憶装置130は、内部メモリ100に格納する値を記憶する。ここで、内部メモリ100に格納する値とは、鍵系列の出力処理の所定の段階において内部メモリに格納されている値であって、予め用意された値であってもよいし、内部メモリ100から定期的に取得した値であってもよい。なお、外部記憶装置130は、内部メモリ100に格納する値を複数記憶してもよい。
【0032】
スイッチSa200は、内部メモリ100への初期鍵および初期ベクトルの入力を制御する。鍵系列出力装置10が処理を開始し、初期鍵および初期ベクトルを内部メモリ100に格納する場合に、スイッチSa200がオンになる。初期鍵および初期ベクトルを内部メモリ100に格納すると、スイッチSa200がオフになり、初期鍵および初期ベクトルを内部メモリ100に入力できなくなる。
【0033】
スイッチSb210は、内部メモリ100と鍵系列出力部120との接続を制御する。鍵系列出力部120にて鍵系列を出力する場合に、スイッチSb210がオンになる。一方、鍵系列出力部120にて鍵系列を出力せず、内部メモリ100の更新のみを行う場合に、スイッチSb210がオフになる。
【0034】
従来の鍵系列出力装置は、鍵系列出力部120と内部メモリ100とは常に接続され、内部メモリ100を更新する毎に鍵系列の出力が行われていた。一方、上述したように、本発明においては、スイッチSb210を設け、内部メモリ100と鍵系列出力部120との接続を制御することにより、鍵系列の出力を行わずに内部メモリ100を更新することができる。それにより、鍵系列の出力に要していた時間を省くことができ、データの任意の部分からの鍵系列を効率的に出力できる。
【0035】
スイッチSc220は、内部メモリ100と外部記憶装置130との接続を制御する。また、スイッチSc220は内部メモリ100と内部メモリ更新部110との接続を制御する。本実施形態において、スイッチSc220は、内部メモリ100の接続先を外部記憶装置130または内部メモリ更新部110に切り替える機能を有するが、内部メモリ100と外部記憶装置130との接続を制御する機能のみを備え、内部メモリ100と内部メモリ更新部110とは常に接続するようにしてもよい。
【0036】
外部記憶装置130に記憶されている値を内部メモリ100に読み込ませる場合に、スイッチSc220が外部記憶装置130側にオンになる。また、外部記憶装置130が内部メモリ100に格納されている値を取得し、記憶する場合に、スイッチSc220が外部記憶装置130側にオンになる。一方、内部メモリ更新部110が内部メモリ100を更新する場合には、スイッチSc220が内部メモリ更新部110側にオンになる。
【0037】
従来の鍵系列出力装置は、内部メモリ100に格納されている値を記憶しておくことはできず、常にデータの最初から鍵系列を生成していた。一方、上述したように、本発明において内部メモリ100に格納されている値を外部記憶装置130に記憶しておくことができるので、データの任意の部分から鍵系列を生成することができる。
【0038】
次に、データの任意の部分からの鍵系列出力処理について、図2および図3を用いて説明する。従来は、データの最初からしか鍵系列を生成できなかったが、データの任意の部分から鍵系列を生成することができることにより、早送り・巻き戻し、途中再生が可能なコンテンツの暗号化/復号をストリーム暗号によって実現することができる。
【0039】
本実施形態において、データの任意の部分からの鍵系列出力処理には2つの処理方法がある。1つは、スイッチSb210により内部メモリ100と鍵系列出力部120との接続を制御することによって、データの任意の部分からの鍵系列を出力する方法(以下、第1の方法とする)である。もう1つは、外部記憶装置130を用いることによって、データの任意の部分からの鍵系列を出力する方法(以下、第2の方法とする)である。
【0040】
図2は、本実施形態に係る第1の方法によるデータの任意の位置からの鍵系列出力処理フローを示す図である。なお、本処理において、スイッチSc220は、内部メモリ更新部110側にオンになっているとする。
【0041】
まず、ステップS1において、鍵系列出力装置10は、鍵系列生成の処理を既に開始しているか否かを判断する。鍵系列生成の処理をまだ開始していない場合には、ステップS2に処理を進める。一方、系列生成の処理を既に開始している場合には、ステップS5に処理を進める。
【0042】
次に、ステップS2において、鍵系列出力装置10は、スイッチSa200をオンにする。
【0043】
次に、ステップS3において、鍵系列出力装置10は、初期鍵と初期ベクトルとを内部メモリ100に格納し、内部メモリ更新部110により内部メモリ100の初期化処理を行う。
【0044】
次に、ステップS4において、鍵系列出力装置10は、スイッチSa200をオフにする。
【0045】
次に、ステップS5において、鍵系列出力装置10は、スイッチSb210をオフにする。
【0046】
次に、ステップS6において、内部メモリ更新部110は、内部メモリ更新関数により内部メモリ100を更新する。
【0047】
次に、ステップS7において、鍵系列出力装置10は、内部メモリ100の値が、データの任意の部分に対応する鍵系列を生成できる値まで更新されたか否かを判断する。内部メモリ100の値がデータの任意の部分に対応する鍵系列を生成できる値まで更新された場合には、ステップS8に処理を進める。一方、内部メモリ100の値がデータの任意の部分に対応する鍵系列を生成できる値まで更新されていない場合には、ステップS6に処理を戻す。
【0048】
次に、ステップS8において、鍵系列出力装置10は、スイッチSb210をオンする。
【0049】
次に、ステップS9において、鍵系列出力部120は、内部メモリ100の値から鍵系列を出力する。
【0050】
次に、ステップS10において、内部メモリ更新部110は、内部メモリ更新関数により内部メモリ100を更新する。
【0051】
このように、第1の方法では、内部メモリ100の値をデータの任意の部分に対応する鍵系列を生成できる値まで、鍵系列を出力せずに更新することにより、鍵系列出力に要する時間を省いて高速にデータの任意の部分に対応する鍵系列を生成できる状態までもっていくことができる。このように、第1の方法では、鍵系列を出力せずに、内部メモリ100の値をデータの任意の部分に対応する鍵系列を生成できる値まで、鍵系列を出力せずに更新するので、コンテンツの早送りに特に適している。
【0052】
図3は、本実施形態に係る第2の方法によるデータの任意の位置からの鍵系列出力処理フローを示す図である。なお、本処理において、スイッチSb210は、オンになっているとする。
【0053】
まず、ステップS21において、鍵系列出力装置10は、スイッチSc220を外部記憶装置130側にオンする。
【0054】
次に、ステップS22において、鍵系列出力装置10は、内部メモリ100に外部記憶装置130に記憶されている値を読み込む。
【0055】
次に、ステップS23において、鍵系列出力装置10は、スイッチSc220を内部メモリ更新部110側にオンする。
【0056】
次に、ステップS24において、鍵系列出力部120は、内部メモリ100の値から鍵系列を出力する。
【0057】
次に、ステップS25において、内部メモリ更新部110は、内部メモリ更新関数により内部メモリ100を更新する。
【0058】
このように、第2の方法では、データの任意の部分の内部メモリ100の値を外部記憶装置130に記憶しておき、データの任意の部分からの鍵系列の生成が指示されたことに応じて、内部メモリ100に外部記憶装置130の値を読み込むことにより、データの任意の部分からの鍵系列の出力を可能にする。このように、第2の方法では、データの任意の部分の鍵系列生成から開始することができることから、特に、コンテンツの途中再生に有効である。また、第2の方法に第1の方法を組み合わせることにより、コンテンツの巻き戻しも可能となる。
【0059】
以上説明したように、本実施形態によれば、スイッチSa200、スイッチSb210、スイッチSc220、外部記憶装置130を備えることにより、内部メモリ100の効率的な更新が可能なストリーム暗号の鍵系列生成装置を提供することができる。また、データの任意の部分のストリーム暗号による暗号化/復号が可能となり、ストリーム暗号によって暗号化/復号されるコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【0060】
<第1の応用例>
本応用例に係るストリーム暗号の暗号化装置1は、図4に示すように、鍵系列出力装置10と、暗号化部20とから構成されている。なお、鍵系列出力装置10については、上記にて説明したため、詳細な説明は省略する。
【0061】
暗号化部20は、鍵系列出力装置10から出力された鍵系列と、外部から入力された平文とを排他的論理和演算することにより、暗号文を出力する。特に、暗号化部20は、平文の任意の部分の暗号化をすることができる。
【0062】
したがって、本応用例のストリームの暗号化装置1は、鍵系列出力装置10を用いて構築されたことから、ストリーム暗号によって、データの任意の部分の暗号化/復号が可能となる。
【0063】
<第2の応用例>
本応用例に係るストリーム暗号の復号装置2は、図5に示すように、鍵系列出力装置10と、復号部30とから構成されている。なお、鍵系列出力装置10については、上記にて説明したため、詳細な説明は省略する。
【0064】
復号部30は、鍵系列出力装置10から出力された鍵系列と、外部から入力された暗号文とを排他的論理和演算することにより、平文を出力する。特に、復号部30は、暗号文の任意の部分の復号をすることができる。
【0065】
したがって、本応用例のストリームの復号装置2は、鍵系列出力装置10を用いて構築されたことから、ストリーム暗号により暗号化されたコンテンツの早送り・巻き戻し、途中再生を可能にすることができる。
【0066】
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを鍵系列出力装置、ストリーム暗号の暗号化装置、ストリーム暗号の復号装置に読み込ませ、実行することによって鍵系列出力装置、本発明のストリーム暗号の暗号化装置、ストリーム暗号の復号装置を実現することができる。
【0067】
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0068】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0069】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0070】
1 暗号化装置
2 復号装置
10 鍵系列出力装置
20 暗号化部
30 復号部
100 内部メモリ
110 内部メモリ更新部
120 鍵系列出力部
130 外部記憶装置
200 スイッチSa
210 スイッチSb
220 スイッチSc

【特許請求の範囲】
【請求項1】
ストリーム暗号処理用の鍵系列を出力する鍵系列出力装置であって、
初期鍵および初期ベクトルを初期値としてレジスタに格納する格納手段と、
前記格納手段のレジスタに格納された値を更新する更新手段と、
前記格納手段のレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、
前記格納手段と前記鍵系列出力手段との接続を制御する第1のスイッチ手段と、
を備え、
前記鍵系列出力手段により鍵系列を出力せずに、前記更新手段により前記格納手段のレジスタに格納された値の更新を行う場合に、前記第1のスイッチ手段をオンすることを特徴とする鍵系列出力装置。
【請求項2】
所定の段階において前記格納手段のレジスタに格納されている値を記憶する外部記憶装置と、
前記格納手段と前記外部記憶装置との接続を制御する第2のスイッチ手段と、
を備え、
前記外部記憶装置に記憶されている値を前記格納手段に読み込む場合に、前記第2のスイッチ手段をオンすることを特徴とする請求項1に記載の鍵系列出力装置。
【請求項3】
前記第2のスイッチ手段は、前記格納手段と前記更新手段との接続も制御し、前記格納手段の接続先を前記更新手段または前記外部記憶装置に切り替えることを特徴とする請求項2に記載の鍵系列出力装置。
【請求項4】
前記格納手段への初期鍵および初期ベクトルの入力を制御する第3のスイッチ手段を備え、
前記第3のスイッチ手段は、前記初期鍵および前記初期ベクトルを前記格納手段に格納する場合に、前記第3のスイッチ手段をオンすることを特徴とする請求項1から請求項3のいずれか1項に記載の鍵系列出力装置。
【請求項5】
請求項1から請求項4のいずれか1項に記載の鍵系列出力装置と、
前記鍵系列出力装置から出力された鍵系列と外部から入力された平文との排他的論理和演算を行なって、暗号文を出力する暗号化手段と、
を備えることを特徴とするストリーム暗号の暗号化装置。
【請求項6】
請求項1から請求項4のいずれか1項に記載の鍵系列出力装置と、
前記鍵系列出力装置から出力された鍵系列と外部から入力された暗号文との排他的論理和演算を行なって、平文を出力する復号手段と、
を備えることを特徴とするストリーム暗号の復号装置。
【請求項7】
ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置における鍵系列出力方法であって、
初期鍵および初期ベクトルを内部メモリのレジスタに格納し、当該内部メモリを初期化する第1のステップと、
前記内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、前記内部メモリとの接続を制御する第2のスイッチ手段をオフにする第2のステップと、
前記内部メモリを所定の段階まで更新する第3のステップと、
前記第3のステップにおいて、前記内部メモリが所定の段階まで更新されたことに応じて、前記第2のスイッチ手段をオンにする第4のステップと、
前記所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する第5のステップと、
前記鍵系列が出力される毎に、前記内部メモリを更新する第6のステップと、
を含む鍵系列出力方法。
【請求項8】
ストリーム暗号処理用の鍵系列を生成する鍵系列出力装置における鍵系列出力方法をコンピュータに実行させるためのプログラムであって、
初期鍵および初期ベクトルを内部メモリのレジスタに格納し、当該内部メモリを初期化する第1のステップと、
前記内部メモリのレジスタに格納された値から生成した鍵系列を出力する鍵系列出力手段と、前記内部メモリとの接続を制御する第2のスイッチ手段をオフにする第2のステップと、
前記内部メモリを所定の段階まで更新する第3のステップと、
前記第3のステップにおいて、前記内部メモリが所定の段階まで更新されたことに応じて、前記第2のスイッチ手段をオンにする第4のステップと、
前記所定の段階まで更新された内部メモリのレジスタに格納された値を用いて生成した鍵系列を出力する第5のステップと、
前記鍵系列が出力される毎に、前記内部メモリを更新する第6のステップと、
をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate