説明

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

【課題】早送り、巻き戻し、途中再生が必要なコンテンツに、ストリーム暗号を利用すること。
【解決手段】ストリーム暗号の暗号化装置100であって、初期鍵および初期ベクトルを格納する内部メモリ110と、平文を所定のサイズのブロックに分割する分割部120と、分割部120で分割された各ブロックを識別する数値と、内部メモリ110に格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する生成部130と、各ブロック用に生成部130で生成された初期ベクトルと、内部メモリ110に格納された初期鍵とに基づいて、分割部120で分割された各ブロックを暗号化する暗号化部140と、暗号化部140で暗号化された各ブロックを連結して、暗号文を生成する連結部150と、を備える。

【発明の詳細な説明】
【技術分野】
【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の内部メモリ110に相当)と、平文を所定のサイズのブロックに分割する分割手段(例えば、図1の分割部120に相当)と、前記分割手段で分割された各ブロックを識別する数値と、前記格納手段に格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する生成手段(例えば、図1の生成部130に相当)と、前記生成手段で生成された各ブロック用の初期ベクトルと、前記格納手段に格納された初期鍵とに基づいて、前記分割手段で分割された各ブロックを暗号化する暗号化手段(例えば、図1の暗号化部140に相当)と、前記暗号化手段で暗号化された各ブロックを連結して、暗号文を生成する連結手段(例えば、図1の連結部150に相当)と、を備えることを特徴とするストリーム暗号の暗号化装置を提案している。
【0009】
この発明によれば、格納手段は、初期鍵および初期ベクトルを格納する。分割手段は、平文を所定のサイズのブロックに分割する。生成手段は、分割手段で分割された各ブロックを識別する数値と、格納手段に格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する。暗号化手段は、生成手段で生成された各ブロック用の初期ベクトルと、格納手段に格納された初期鍵とに基づいて、分割手段で分割された各ブロックを暗号化する。連結手段は、暗号化手段で暗号化された各ブロックを連結して、暗号文を生成する。したがって、平文を複数のブロックに分割し、異なった初期ベクトルを用いて暗号化したブロックを連結して暗号文を生成することにより、データの途中部分からの暗号化/復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0010】
(2) 本発明は、(1)のストリーム暗号の暗号化装置について、前記分割手段は、前記所定のサイズに満たないブロックを、当該所定のサイズに達するまでパディングすることを特徴とするストリーム暗号の暗号化装置を提案している。
【0011】
この発明によれば、分割手段は、所定のサイズに満たないブロックを、所定のサイズに達するまでパディングする。したがって、平文を固定長のブロックに分割することができる。
【0012】
(3) 本発明は、(1)または(2)のストリーム暗号の暗号化装置について、前記所定のサイズが、前記ストリーム暗号の暗号化装置におけるスループットと、当該ストリーム暗号の暗号化装置と同環境のブロック暗号化装置におけるスループットとの差分に、ストリーム暗号の初期化処理に要するサイクル数をかけて得られる値より大きいことを特徴とする暗号化装置を提案している。
【0013】
この発明によれば、ブロックの所定のサイズは、ストリーム暗号の暗号化装置におけるスループットと、ストリーム暗号の暗号化装置と同環境のブロック暗号化装置におけるスループットとの差分に、ストリーム暗号の初期化処理に要するサイクル数をかけて得られる値より大きい。したがって、代表的なブロック暗号のAESよりも高速に処理を行うことができる。
【0014】
(4) 本発明は、(1)から(3)のストリーム暗号の暗号化装置について、前記各ブロックを識別する数値は、当該各ブロックのインデックスであることを特徴とするストリーム暗号の暗号化装置を提案している。
【0015】
この発明によれば、各ブロックを識別する数値として、各ブロックのインデックスを用いることができる。したがって、他のブロックとの位置関係と他のブロックの初期ベクトルから、自己の初期ベクトルを生成することが可能になる。
【0016】
(5) 本発明は、ストリーム暗号の復号装置であって、初期鍵および初期ベクトルを格納する格納手段(例えば、図3の内部メモリ210に相当)と、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する抽出手段(例えば、図3の抽出部220に相当)と、前記抽出手段で抽出されたブロックを識別する数値と、前記格納手段に格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する生成手段(例えば、図3の生成部230に相当)と、前記抽出手段で抽出されたブロックを、前記生成手段で生成されたブロック用の初期ベクトルと前記格納手段に格納された初期鍵とに基づいて復号する復号手段(例えば、図3の復号部240に相当)と、を備えることを特徴とするストリーム暗号の復号装置を提案している。
【0017】
この発明によれば、格納手段は、初期鍵および初期ベクトルを格納する。抽出手段は、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する。生成手段は、抽出手段で抽出されたブロックを識別する数値と、格納手段に格納された初期ベクトルとに基づいて、抽出されたブロック用の初期ベクトルを生成する。復号手段は、抽出手段で抽出されたブロックを、生成手段で生成されたブロック用の初期ベクトルと格納手段に格納された初期鍵とに基づいて復号する。したがって、暗号化されたブロックを連結して生成された暗号文の任意のブロックを復号できることにより、暗号文の途中部分からの復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0018】
(6) 本発明は、格納手段と、分割手段と、生成手段と、暗号化手段と、連結手段とを備えたストリーム暗号の暗号化装置における暗号化方法であって、前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップ(例えば、図2のステップS1に相当)と、前記分割手段が、平文を所定のサイズのブロックに分割する第2のステップ(例えば、図2のステップS2に相当)と、前記生成手段が、前記第2のステップで分割された各ブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する第3のステップ(例えば、図2のステップS3に相当)と、前記暗号化手段が、前記第2のステップで分割された各ブロックを、前記第3のステップで生成された各ブロック用の初期ベクトルと、前記内部メモリに格納された初期鍵とに基づいて暗号化する第4のステップと、(例えば、図2のステップS4に相当)と、前記連結手段が、前記第4のステップで暗号化された各ブロックを連結して、暗号文を生成する第5のステップ(例えば、図2のステップS5に相当)と、を含むことを特徴とする暗号化方法を提案している。
【0019】
この発明によれば、まず、第1のステップにおいて、格納手段は、初期鍵および初期ベクトルを内部メモリに格納する。次に、第2のステップにおいて、分割手段は、平文を所定のサイズのブロックに分割する。次に、第3のステップにおいて、生成手段が、第2のステップで分割された各ブロックを識別する数値と、内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する。次に、第4のステップにおいて、暗号化手段は、第2のステップで分割された各ブロックを、第3のステップで生成された各ブロック用の初期ベクトルと、内部メモリに格納された初期鍵とに基づいて暗号化する。次に、第5のステップにおいて、連結手段は、第4のステップで暗号化された各ブロックを連結して、暗号文を生成する。したがって、平文を複数のブロックに分割し、異なった初期ベクトルを用いて暗号化したブロックを連結して暗号文を生成することにより、データの途中部分からの暗号化/復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0020】
(7) 本発明は、格納手段と、抽出手段と、生成手段と、復号手段とを備えたストリーム暗号の復号装置における復号方法であって、前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップ(例えば、図4のステップS11)と、前記抽出手段が、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する第2のステップ(例えば、図4のステップS12)と、前記生成手段が、前記第2のステップで抽出されたブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する第3のステップ(例えば、図4のステップS13)と、前記復号手段が、前記第2のステップで抽出されたブロックを、前記第3のステップで生成されたブロック用の初期ベクトルと前記内部メモリに格納された初期鍵とに基づいて復号する第4のステップ(例えば、図4のステップS14)と、を含むことを特徴とする復号方法を提案している。
【0021】
この発明によれば、まず、第1のステップにおいて、格納手段は、初期鍵および初期ベクトルを内部メモリに格納する。次に、第2のステップにおいて、抽出手段は、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する。次に、第3のステップにおいて、生成手段は、第2のステップで抽出されたブロックを識別する数値と、内部メモリに格納された初期ベクトルとに基づいて、抽出されたブロック用の初期ベクトルを生成する。次に、第4のステップにおいて、復号手段は、第2のステップで抽出されたブロックを、第3のステップで生成された抽出されたブロック用の初期ベクトルと内部メモリに格納された初期鍵とに基づいて復号する。したがって、暗号化されたブロックを連結して生成された暗号文の任意のブロックを復号できることにより、暗号文の途中部分からの復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0022】
(8) 本発明は、格納手段と、分割手段と、生成手段と、暗号化手段と、連結手段とを備えたストリーム暗号の暗号化装置における暗号化方法をコンピュータの実行させるプログラムであって、前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップ(例えば、図2のステップS1に相当)と、前記分割手段が、平文を所定のサイズのブロックに分割する第2のステップ(例えば、図2のステップS2に相当)と、前記生成手段が、前記第2のステップで分割された各ブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する第3のステップ(例えば、図2のステップS3に相当)と、前記暗号化手段が、前記第2のステップで分割された各ブロックを、前記第3のステップで生成された各ブロック用の初期ベクトルと、前記内部メモリに格納された初期鍵とに基づいて暗号化する第4のステップと、(例えば、図2のステップS4に相当)と、前記連結手段が、前記第4のステップで暗号化された各ブロックを連結して、暗号文を生成する第5のステップ(例えば、図2のステップS5に相当)と、をコンピュータに実行させるプログラムを提案している。
【0023】
この発明によれば、まず、第1のステップにおいて、格納手段は、初期鍵および初期ベクトルを内部メモリに格納する。次に、第2のステップにおいて、分割手段は、平文を所定のサイズのブロックに分割する。次に、第3のステップにおいて、生成手段が、第2のステップで分割された各ブロックを識別する数値と、内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する。次に、第4のステップにおいて、暗号化手段は、第2のステップで分割された各ブロックを、第3のステップで生成された各ブロック用の初期ベクトルと、内部メモリに格納された初期鍵とに基づいて暗号化する。次に、第5のステップにおいて、連結手段は、第4のステップで暗号化された各ブロックを連結して、暗号文を生成する。したがって、平文を複数のブロックに分割し、異なった初期ベクトルを用いて暗号化したブロックを連結して暗号文を生成することにより、データの途中部分からの暗号化/復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0024】
(9) 本発明は、ストリーム暗号の復号装置における復号方法をコンピュータの実行させるプログラムであって、前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップ(例えば、図4のステップS11)と、前記抽出手段が、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する第2のステップ(例えば、図4のステップS12)と、前記生成手段が、前記第2のステップで抽出されたブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する第3のステップ(例えば、図4のステップS13)と、前記復号手段が、前記第2のステップで抽出されたブロックを、前記第3のステップで生成されたブロック用の初期ベクトルと前記内部メモリに格納された初期鍵とに基づいて復号する第4のステップ(例えば、図4のステップS14)と、をコンピュータに実行させるプログラムを提案している。
【0025】
この発明によれば、まず、第1のステップにおいて、格納手段は、初期鍵および初期ベクトルを内部メモリに格納する。次に、第2のステップにおいて、抽出手段は、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する。次に、第3のステップにおいて、生成手段は、第2のステップで抽出されたブロックを識別する数値と、内部メモリに格納された初期ベクトルとに基づいて、抽出されたブロック用の初期ベクトルを生成する。次に、第4のステップにおいて、復号手段は、第2のステップで抽出されたブロックを、第3のステップで生成された抽出されたブロック用の初期ベクトルと内部メモリに格納された初期鍵とに基づいて復号する。したがって、暗号化されたブロックを連結して生成された暗号文の任意のブロックを復号できることにより、暗号文の途中部分からの復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【発明の効果】
【0026】
本発明によれば、暗号化対象のデータ(平文)を複数のブロックに分割し、異なった初期ベクトルを用いて暗号化したブロックを連結して暗号文を生成することにより、暗号化対象のデータ(平文)の途中部分からの暗号化および暗号文の途中部分からの復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【図面の簡単な説明】
【0027】
【図1】本実施形態に係るストリーム暗号の暗号化装置の機能構成を示す図である。
【図2】本実施形態に係るストリーム暗号の暗号化処理フローを示す図である。
【図3】本実施形態に係るストリーム暗号の復号装置の機能構成を示す図である。
【図4】本実施形態に係るストリーム暗号の復号処理フローを示す図である。
【発明を実施するための形態】
【0028】
以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含むさまざまなバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0029】
<ストリーム暗号の暗号化装置>
図1は、本実施形態に係るストリーム暗号の暗号化装置100の機能構成を示す図である。図1の示すように、暗号化装置100は、内部メモリ110と、分割部120と、生成部130と、暗号化部140と、連結部150とを備える。
【0030】
内部メモリ110は、初期鍵および初期ベクトルを格納する。なお、初期鍵および初期ベクトルは、暗号化処理が終わるまで内部メモリ110に格納される。
【0031】
分割部120は、暗号化対象のデータ(平文)を、所定のサイズのブロックに分割する。なお、所定のサイズに満たないブロックについては、所定のサイズになるまで「0」でパディングを行う。分割されるブロックのサイズは予め設定されているが、処理速度や暗号化/復号を開始できる途中部分をどの程度設定するかによって決定される。
【0032】
次に、分割されるブロックのサイズの決定方法について説明する。分割されたブロックのサイズを小さくするほど、データを暗号化/復号を開始できる途中部分を増やすことができるが、平文をブロックに分割しなかった場合に比べ処理が遅くなり、ストリーム暗号の特徴である高速処理が実現できなくなってしまう。なぜなら、各ブロックを暗号化/復号する度に初期化処理が必要となり、この処理に時間を要するからである。
【0033】
そこで、本実施形態においては、暗号化装置100および後述する復号装置200を、AESに代表されるブロック暗号よりも高速に動作させるために、分割されたブロックのサイズbを、ストリーム暗号の初期化処理に要するサイクル数n[サイクル]と、暗号化装置100におけるスループットt[サイクル/バイト]と、暗号化装置100と同環境におけるAESのスループットtAES[サイクル/バイト]とを用いて決定する。具体的には、以下に示す(1)式を満たすようにブロックのサイズbを決定する。
【0034】
【数1】

【0035】
したがって、(1)式を満たすようにブロックのサイズを選択することにより、本実施形態に係る暗号化装置100および後述する復号装置200は、データを暗号化/復号を開始できる途中部分を適度に設定でき、ASEを用いた暗号化装置および復号装置よりも高速に動作することができる。
【0036】
生成部130は、分割部120で分割された各ブロック用の初期ベクトルを生成する。ブロック毎に異なる初期ベクトルを用いることにより、後述する暗号化部140に備えられる鍵系列生成部(図示せず)の内部レジスタを初期鍵と初期ベクトルとにより初期化する初期化処理を、従来の平文単位ではなく、ブロック単位に行うことができるので、平文の途中部分の暗号化が可能になる。生成部130は、内部メモリ110に格納されている初期ベクトルと各ブロックのインデックスとから、各ブロック用の初期ベクトルを生成する。なお、各ブロックを識別できる数値であれば、インデックスでなくともよい。
【0037】
具体的には、初期ベクトルをIV、インデックスをi、i番目のブロックの初期ベクトルをIVとして、初期鍵および初期ベクトルIVがλビットである場合に、i番目のブロックの初期ベクトルIVを生成する関数は(2)式のよう表わすことができる。
【0038】
【数2】

【0039】
暗号化部140は、生成部130で生成された各ブロック用の初期ベクトルIViと、内部メモリ110に格納されている初期鍵とにより、各ブロックを暗号化する。具体的には、暗号化部140は、初期ベクトルIViと初期鍵とから鍵系列を生成する鍵系列生成部(図示せず)を備え、鍵系列生成部で生成された鍵系列を用いて、各ブロックを暗号化する。
【0040】
連結部150は、暗号化部140で暗号化されたブロックを連結し、暗号文を生成する。なお、暗号文のブロックは、平文のブロックの配列と同じである。
【0041】
<ストリーム暗号の暗号化処理>
図2を用いて、本実施形態に係る暗号化装置100におけるストリーム暗号の暗号化処理について説明する。
【0042】
まず、ステップS1において、内部メモリ110は、初期鍵と初期ベクトルIVとを格納する。
【0043】
次に、ステップS2において、分割部120は、所定のサイズのブロックに平文を分割する。
【0044】
次に、ステップS3において、生成部130は、ステップS2で分割された各ブロックのブロック用の初期ベクトルIVを生成する。
【0045】
次に、ステップS4において、暗号化部140は、各ブロックを、ステップS1で内部メモリ110に格納した初期鍵と、ステップS3で生成した各ブロック用の初期ベクトルIVとを用いて暗号化する。なお、ステップS2でブロック用の初期ベクトルIVを生成する毎に、逐次ブロックを暗号化してもよい。
【0046】
次に、ステップS5において、連結部150は、ステップS4で暗号化されたブロックを連結し、暗号文を出力する。
【0047】
<ストリーム暗号の復号装置>
本実施形態に係る復号装置200について図3を用いて説明する。復号装置200は、図3に示すように、内部メモリ210と、抽出部220と、生成部230と、復号部240とを備える。
【0048】
内部メモリ210は、初期鍵および初期ベクトルIVを格納する。暗号化装置100の内部メモリ110同様に、復号処理が終わるまで初期鍵および初期ベクトルIVは、内部メモリ210に格納される。
【0049】
抽出部220は、暗号化されたブロックを連結して生成された暗号文、すなわち、上述した暗号化装置100で生成された暗号文から、ユーザからの復号の指示があったブロックを抽出する。抽出部220は、ユーザから復号の指示があったブロックだけでなく、ユーザから復号の指示があったブロック以降のブロックも併せて抽出してもよい。
【0050】
生成部230は、復号するブロック用の初期ベクトルIViを生成する。復号するブロック用の初期ベクトルIViの生成方法については、暗号化装置100の生成部130における初期ベクトルIViの生成方法と同様である。
【0051】
復号部は、内部メモリ210の格納されている初期鍵と、生成部230で生成された初期ベクトルIViとを用いて、抽出部220で抽出された暗号化されたブロックを復号する。
【0052】
<ストリーム暗号の復号装置>
図4は、本実施形態に係る復号装置200における復号処理フローを示す図である。
【0053】
まず、ステップS11において、内部メモリ210は、初期鍵と初期ベクトルIVとを格納する。
【0054】
次に、ステップS12において、抽出部220は、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する。
【0055】
次に、ステップS13において、生成部230は、ステップS12で抽出されたブロックのブロック用の初期ベクトルIVを生成する。
【0056】
次に、ステップS14において、復号部は、ステップS12で抽出されたブロックを、ステップS11で内部メモリ210に格納した初期鍵とステップS13で生成された初期ベクトルIVとを用いて復号する。
【0057】
以上説明したように、本実施形態において、平文を複数のブロックに分割し、異なった初期ベクトルIVを用いて暗号化したブロックを連結して暗号文を生成することにより、平文の途中部分からの暗号化/復号を効率的に行うことができる。それにより、早送り、巻き戻し、途中再生が必要なコンテンツにも、ストリーム暗号を利用することができる。
【0058】
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをストリーム暗号の暗号化装置、ストリーム暗号の復号装置に読み込ませ、実行することによって本発明のストリーム暗号の暗号化装置、ストリーム暗号の復号装置を実現することができる。
【0059】
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0060】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0061】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0062】
100 暗号化装置
110 内部メモリ
120 分割部
130 生成部
140 暗号化部
150 連結部
200 復号装置
210 内部メモリ
220 抽出部
230 生成部
240 復号部

【特許請求の範囲】
【請求項1】
ストリーム暗号の暗号化装置であって、
初期鍵および初期ベクトルを格納する格納手段と、
平文を所定のサイズのブロックに分割する分割手段と、
前記分割手段で分割された各ブロックを識別する数値と、前記格納手段に格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する生成手段と、
前記生成手段で生成された各ブロック用の初期ベクトルと、前記格納手段に格納された初期鍵とに基づいて、前記分割手段で分割された各ブロックを暗号化する暗号化手段と、
前記暗号化手段で暗号化された各ブロックを連結して、暗号文を生成する連結手段と、
を備えることを特徴とするストリーム暗号の暗号化装置。
【請求項2】
前記分割手段は、前記所定のサイズに満たないブロックを、当該所定のサイズに達するまでパディングすることを特徴とする請求項1に記載のストリーム暗号の暗号化装置。
【請求項3】
前記所定のサイズが、前記ストリーム暗号の暗号化装置におけるスループットと、当該ストリーム暗号の暗号化装置と同環境のブロック暗号化装置におけるスループットとの差分に、ストリーム暗号の初期化処理に要するサイクル数をかけて得られる値より大きいことを特徴とする請求項1または2に記載のストリーム暗号の暗号化装置。
【請求項4】
前記各ブロックを識別する数値は、当該各ブロックのインデックスであることを特徴とする請求項1から3のいずれか1項に記載のストリーム暗号の暗号化装置。
【請求項5】
ストリーム暗号の復号装置であって、
初期鍵および初期ベクトルを格納する格納手段と、
暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する抽出手段と、
前記抽出手段で抽出されたブロックを識別する数値と、前記格納手段に格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する生成手段と、
前記抽出手段で抽出されたブロックを、前記生成手段で生成されたブロック用の初期ベクトルと前記格納手段に格納された初期鍵とに基づいて復号する復号手段と、
を備えることを特徴とするストリーム暗号の復号装置。
【請求項6】
格納手段と、分割手段と、生成手段と、暗号化手段と、連結手段とを備えたストリーム暗号の暗号化装置における暗号化方法であって、
前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップと、
前記分割手段が、平文を所定のサイズのブロックに分割する第2のステップと、
前記生成手段が、前記第2のステップで分割された各ブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する第3のステップと、
前記暗号化手段が、前記第2のステップで分割された各ブロックを、前記第3のステップで生成された各ブロック用の初期ベクトルと、前記内部メモリに格納された初期鍵とに基づいて暗号化する第4のステップと、
前記連結手段が、前記第4のステップで暗号化された各ブロックを連結して、暗号文を生成する第5のステップと、
を含むことを特徴とする暗号化方法。
【請求項7】
格納手段と、抽出手段と、生成手段と、復号手段とを備えたストリーム暗号の復号装置における復号方法であって、
前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップと、
前記抽出手段が、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する第2のステップと、
前記生成手段が、前記第2のステップで抽出されたブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する第3のステップと、
前記復号手段が、前記第2のステップで抽出されたブロックを、前記第3のステップで生成されたブロック用の初期ベクトルと前記内部メモリに格納された初期鍵とに基づいて復号する第4のステップと、
を含むことを特徴とする復号方法。
【請求項8】
格納手段と、分割手段と、生成手段と、暗号化手段と、連結手段とを備えたストリーム暗号の暗号化装置における暗号化方法をコンピュータの実行させるプログラムであって、
前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップと、
前記分割手段が、平文を所定のサイズのブロックに分割する第2のステップと、
前記生成手段が、前記第2のステップで分割された各ブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、各ブロック用の初期ベクトルを生成する第3のステップと、
前記暗号化手段が、前記第2のステップで分割された各ブロックを、前記第3のステップで生成された各ブロック用の初期ベクトルと、前記内部メモリに格納された初期鍵とに基づいて暗号化する第4のステップと、
前記連結手段が、前記第4のステップで暗号化された各ブロックを連結して、暗号文を生成する第5のステップと、
をコンピュータに実行させるプログラム。
【請求項9】
格納手段と、抽出手段と、生成手段と、復号手段とを備えたストリーム暗号の復号装置における復号方法をコンピュータの実行させるプログラムであって、
前記格納手段が、初期鍵および初期ベクトルを内部メモリに格納する第1のステップと、
前記抽出手段が、暗号化されたブロックを連結して生成された暗号文から、ユーザから復号の指示があったブロックを抽出する第2のステップと、
前記生成手段が、前記第2のステップで抽出されたブロックを識別する数値と、前記内部メモリに格納された初期ベクトルとに基づいて、当該抽出されたブロック用の初期ベクトルを生成する第3のステップと、
前記復号手段が、前記第2のステップで抽出されたブロックを、前記第3のステップで生成されたブロック用の初期ベクトルと前記内部メモリに格納された初期鍵とに基づいて復号する第4のステップと、
をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−98722(P2013−98722A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−239228(P2011−239228)
【出願日】平成23年10月31日(2011.10.31)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】