説明

部分暗号化装置および方法ならびにプログラム

【課題】 配信される動画ストリーム等の特定のコンテンツにおける暗号化処理を高速に実現する。
【解決手段】 部分暗号化装置は、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と伸張関数への入力ビットとに分割し、伸張関数により決定される伸張規則に従い部分暗号化用ビット列を伸張し、当該伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、配信される動画ストリーム等、特定のコンテンツの一部を暗号化する用途に用いて好適な、部分暗号化装置および方法ならびにプログラムに関する。
【背景技術】
【0002】
近年、コンピュータを利用した様々なサービスが提供されている。多くのサービスにおいては、通信内容の秘匿を実現するために、暗号が利用される。暗号化方式として、最も一般的なものは、一つの鍵で暗号化・復号化を行う共通鍵暗号化方式であるが、この共通暗号化方式には、ブロック単位で暗号化していくブロック暗号と、1ビットずつ逐次暗号化していくストリーム暗号がある。
上記したストリーム暗号を生成するための方法および装置の一例が以下の特許文献に開示されている。
【特許文献1】特表2002−536912号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
上記したストリーム暗号方式によれば、平文の全ての領域を暗号化するため高速処理は困難であった。従来は、全てのコンテンツに対し汎用的に使えることを目指しているが、動画配信のストリーム等、特定のコンテンツについては一部分のみ暗号化すれば十分なものもある。
【0004】
本発明は上記事情に基づいてなされたものであり、ストリーム暗号化処理において、平文をランダムに部分暗号化することにより高速暗号化処理を実現する、部分暗号化装置および方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記した課題を解決するために本発明は、特定のコンテンツの一部を暗号化する部分暗号化装置であって、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数入力ビット列とに分割する暗号化用ビット列分割部と、前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張する部分暗号化ビット列伸張部と、前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化する暗号化処理部と、を備えることを特徴とする。
【0006】
また、本発明において、前記部分暗号化ビット列伸張部は、前記伸張関数への入力ビットを、伸張処理ビット列と再利用定義ビット列とに分割し、前記伸張処理ビット列に関して任意のパートに分割して得られる各パートを数値に変換し、定義されたブロックNに対してN×数値の長さを非暗号化領域決定ビット列として伸張する伸張関数生成部と、前記再利用定義ビット列、非暗号化領域決定ビット列、および部分暗号化用ビット列とを入力とし、前記部分暗号化ビット列をブロック単位に分割し、前記再利用定義ビット列に従い、前回利用した部分暗号化用ビット列を再利用、もしくは次の部分暗号化用ビット列を利用して再利用処理を実行する部分暗号化ビット列伸張処理部と、を備えることを特徴とする。
【0007】
また、本発明は、特定のコンテンツの一部を暗号化する部分暗号化方法であって、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数への入力ビットとに分割するステップと、前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張するステップと、前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化するステップと、を有することを特徴とする。
【0008】
また、本発明は、特定のコンテンツの一部を暗号化する部分暗号化装置に用いられるプログラムであって、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数への入力ビットとに分割する処理と、前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張する処理と、前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と伸張関数への入力ビットとに分割し、伸張関数により決定される伸張規則に従い部分暗号化用ビット列を伸張し、当該伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化することにより、特定のコンテンツにおける暗号化処理を高速に実現できる。
また、生成される暗号化列を非常に簡易な処理で伸張するため、CPUにかかる負担も少なくて済む。
【発明を実施するための最良の形態】
【0010】
図1は、本発明の実施形態に係る部分暗号化装置の内部構成を示すブロック図である。
本発明の実施形態に係る部分暗号化装置は、暗号化用ビット列分割部1と、部分暗号化ビット列伸張部2と、暗号化処理部3とで構成される。
【0011】
暗号化用ビット列分割部1は、暗号化処理により生成される暗号化用ビット列、例えば、共通鍵暗号を、部分暗号化用ビット列と、伸張関数入力ビット列とに分割して部分暗号化ビット列伸張部2へ供給する。
部分暗号化ビット列伸張部2は、伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張して暗号化処理部3へ供給するものであり、伸張関数生成部21と、部分暗号化ビット列伸張処理部22とで構成される。
【0012】
伸張関数生成部21は、伸張関数入力ビット列を、伸張処理ビット列と再利用定義ビット列とに分割し、伸張処理ビット列に関して任意のパートに分割して得られる各パートを数値に変換し、定義されたブロックNに対してN×数値の長さ分を非暗号化領域決定ビット列として伸張する。
また、部分暗号化ビット列伸張処理部22は、再利用定義ビット列、非暗号化領域決定ビット列、および部分暗号化用ビット列とを入力とし、部分暗号化ビット列をブロック単位に分割し、再利用定義ビット列に従い、前回利用した部分暗号化列を再利用もしくは次の部分暗号化列を利用して伸張処理を実行する。
なお、暗号化処理部3は、伸張した部分暗号化ビット列と被暗号化用ビット列とを排他的論理和演算(XOR)して暗号化する。
【0013】
図2は、本発明の実施形態に係る部分暗号化方法の各工程を説明するために引用したフローチャートである。
以下、図2に示すフローチャートを参照しながら各工程、および図1に示す本発明実施形態の動作について詳細に説明する。
【0014】
まず、通常のアルゴリズムに従い出力される暗号化用ビット列、ここでは共通鍵を暗号化用ビット列分割部1で受け付け、当該暗号化用ビット列分割部1で部分暗号化用ビット列(A)と、伸張関数入力ビット列(B)に分割する(S21)。
部分暗号化用ビット列(A)は、部分暗号化用ビット列伸張部2の部分暗号化列伸張処理部22へ、伸張関数入力ビット列(B)は、部分暗号化用ビット列伸張部2の伸張関数発生部21へそれぞれ供給される(S22)。
【0015】
伸張関数生成部21では以下のように伸張関数を実行する。すなわち、まずは、伸張関数入力ビット列(B)を、再利用定義ビット列(C)と、入力ビット列(D)とに分割する(S23)。そのうち、入力ビット列(D)をいくつかのパートに分割し、その各パートを数値に変換する。そして、定義されたブロックNに対してN×数値の長さ分について暗号化しない非暗号化領域ビット列として生成する(S24、S25)。
【0016】
一方、部分暗号化列伸張部22では、暗号化用ビット列分割部1を介して入力される部分暗号化用ビット列をブロック単位に分割し、例えば、入力ビット“0101”に従い、“0”であれば、前回利用した部分暗号化列を再利用し、“1”であれば次の部分暗号化列を利用して部分暗号化用ビット列の再利用処理を行う(S24、S26)。
部分暗号化ビット列伸張部2は、以上のようにして伸張関数により定義されたルールに従い部分暗号化用ビット列を伸張する(S27)。
【0017】
最後に、暗号化処理部3は、被暗号化用ビット列と、部分暗号化用ビット列伸張部2から出力される伸張した暗号化ビット列とを排他的論理和演算(XOR)を実行することで部分的な暗号化を実現する(S28)。
【0018】
以上説明のように本発明は、暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と伸張関数への入力ビットとに分割し、伸張関数により決定される伸張規則に従い部分暗号化用ビット列を伸張し、当該伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化することにより、特定のコンテンツにおける暗号化処理を高速に実現するものである。
また、本発明によれば、生成される暗号化列を非常に簡易な処理で伸張するため、CPUにかかる負担も少なくて済むという効果も得られる。
【0019】
なお、図1に示す暗号化用ビット列分割部1、部分暗号化ビット列伸張部2、暗号化処理部3、伸張関数生成部21、部分暗号化ビット列伸張処理部22のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによっても本発明の部分暗号化装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含む。
【0020】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0021】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施形態に係る部分暗号化装置の内部構成を示したブロック図である。
【図2】本発明の実施形態に係る部分暗号化方法の各工程を説明するために引用したフローチャートである。
【符号の説明】
【0023】
1…暗号化用ビット列分割部、2…部分暗号化ビット列伸張部、3…暗号化処理部、21…伸張関数生成部、22…部分暗号化ビット列伸張処理部


【特許請求の範囲】
【請求項1】
特定のコンテンツの一部を暗号化する部分暗号化装置であって、
暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数入力ビット列とに分割する暗号化用ビット列分割部と、
前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張する部分暗号化ビット列伸張部と、
前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化する暗号化処理部と、
を備えることを特徴とする部分暗号化装置。
【請求項2】
前記部分暗号化ビット列伸張部は、
前記伸張関数入力ビット列を、伸張処理ビット列と再利用定義ビット列とに分割し、前記伸張処理ビット列に関して任意のパートに分割して得られる各パートを数値に変換し、定義されたブロックNに対してN×数値の長さを非暗号化領域決定ビット列として伸張する伸張関数生成部と、
前記再利用定義ビット列、非暗号化領域決定ビット列、および部分暗号化用ビット列とを入力とし、前記部分暗号化ビット列をブロック単位に分割し、前記再利用定義ビット列に従い、前回利用した部分暗号化用ビット列を再利用、もしくは次の部分暗号化用ビット列を利用して再利用処理を実行する部分暗号化ビット列伸張処理部と、
を備えることを特徴とする請求項1に記載の部分暗号化装置。
【請求項3】
特定のコンテンツの一部を暗号化する部分暗号化方法であって、
暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数入力ビット列とに分割するステップと、
前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張するステップと、
前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化するステップと、
を有することを特徴とする部分暗号化方法。
【請求項4】
特定のコンテンツの一部を暗号化する部分暗号化装置に用いられるプログラムであって、
暗号化処理により生成される暗号化用ビット列を、部分暗号化用ビット列と、伸張関数入力ビット列とに分割する処理と、
前記伸張関数により決定される伸張規則に従い、前記部分暗号化用ビット列を伸張する処理と、
前記伸張した部分暗号化列と被暗号化用ビット列を排他的論理和演算して暗号化する処理と、
をコンピュータに実行させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate


【公開番号】特開2006−270343(P2006−270343A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−83682(P2005−83682)
【出願日】平成17年3月23日(2005.3.23)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】