説明

圧縮暗号化装置、復号伸長装置、それらの方法及びプログラム

【課題】秘匿性が高い暗号文を生成可能な圧縮・暗号化技術を提供する。
【解決手段】入力されたデータを、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとに区分する。非秘匿データは圧縮されて非秘匿ブロックが生成される。一方、秘匿データは、圧縮されることなく、当該秘匿データを示す秘匿ブロックとされる。生成された非秘匿ブロックと秘匿ブロックとは連結され、連結データが生成される。その後、当該連結データを暗号化した暗号文を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの圧縮・暗号化技術及びそれによって得られた暗号文の復号・伸長技術に関する。
【背景技術】
【0002】
データの意味を保ったまま、データ量を削減するデータ圧縮処理が知られている(例えば、特許文献1〜3、非特許文献1等参照)。データ圧縮方式は可逆圧縮処理と不可逆圧縮処理とに大別され、それぞれ様々な方式が存在する。多くのデータ圧縮方式では、データの繰り返し回数、出現頻度、データ間の相関などのデータ内容に依存する情報(すなわち、データ内容から特定される情報)を用いてデータ量を削減する手法がとられる。この場合、データ圧縮処理による圧縮率はデータ内容に応じて相違し、圧縮されたデータ(圧縮データ)の長さ(データ長)からデータ内容の情報が得られる場合がある。
【0003】
また、データ(平文)を暗号化し、データを秘匿した暗号文を生成する暗号化処理が知られている(例えば、非特許文献2等参照)。暗号化方式には様々な方式が存在し、暗号化方式によっては、暗号文の長さからデータ(平文)の長さの情報が得られる場合がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第4464650号明細書
【特許文献2】米国特許第4814746号明細書
【特許文献3】米国特許第4558302号明細書
【非特許文献】
【0005】
【非特許文献1】P. Deusch, "RFC1951: DEFLATE Compressed Data Format Specification version 1.3"
【非特許文献2】"ISO/IEC 10116: Information technology - Security techniques - Modes of operation for an n-nit block cipher"
【発明の概要】
【発明が解決しようとする課題】
【0006】
データ量を削減しつつデータを秘匿する方法として、データ(平文)に対するデータ圧縮処理を行って得られた圧縮データに対し、さらに、暗号化処理を行う圧縮・暗号化方法がある。しかし、従来の圧縮・暗号化方法では、暗号化処理によって得られた暗号文の長さからデータ(平文)の内容に関する情報が知られてしまう場合がある。なぜなら、暗号文の長さから圧縮データの長さの情報が得られる場合があり、圧縮データの長さからデータ内容の情報が得られる場合があるからである。
【0007】
本発明はこのような点に鑑みてなされたものであり、秘匿性が高い暗号文を生成可能な圧縮・暗号化技術を提供することを目的とする。
【0008】
また、本発明の他の目的は、本発明の圧縮・暗号化技術によって生成された暗号文を復号及び伸長する復号・伸長技術を提供することである。
【課題を解決するための手段】
【0009】
本発明の圧縮・暗号化処理では、入力されたデータを、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとに区分し、非秘匿データを圧縮した非秘匿ブロックを生成し、秘匿データを圧縮することなく、当該秘匿データを示す秘匿ブロックを生成し、非秘匿ブロックと秘匿ブロックとを連結した連結データを生成し、当該連結データを暗号化した暗号文を生成する。
【0010】
また、本発明の復号・伸長処理では、入力された暗号文を復号して連結データを生成し、当該連結データを非秘匿ブロックと秘匿ブロックとに区分し、非秘匿ブロックを伸長して非秘匿データを生成し、伸長処理を行うことなく、秘匿ブロックを示す秘匿データを生成する。
【発明の効果】
【0011】
本発明の圧縮・暗号化処理では、秘匿データの圧縮処理を行わないため、暗号文の長さから圧縮データの長さの情報が得られても、圧縮データの長さから秘匿データの内容の情報が得られることを抑制できる。これにより、本発明の圧縮・暗号化処理では、秘匿性が高い暗号文を生成できる。
【0012】
また、本発明の復号・伸長処理により、本発明の圧縮・暗号化処理で得られた暗号文からデータを復元できる。
【図面の簡単な説明】
【0013】
【図1】第1実施形態の圧縮暗号化装置の機能構成を説明するためのブロック図。
【図2】第1実施形態の復号伸長装置の機能構成を説明するためのブロック図。
【図3】第1実施形態の圧縮暗号化処理を説明するためのフローチャート。
【図4】第1実施形態の復号伸長処理を説明するためのフローチャート。
【図5】第1実施形態の各処理過程におけるデータ構成を例示するための図。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態を説明する。
【0015】
〔原理〕
まず、本形態の原理を説明する。
【0016】
前述のように、本形態の圧縮・暗号化処理では、入力されたデータを、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとに区分し、非秘匿データを圧縮した非秘匿ブロックを生成し、秘匿データを圧縮することなく、当該秘匿データを示す秘匿ブロックを生成し、非秘匿ブロックと秘匿ブロックとを連結した連結データを生成し、当該連結データを暗号化した暗号文を生成する。本形態では、秘匿データの圧縮処理を行わないため、暗号文の長さから圧縮データの長さの情報が得られても、圧縮データの長さから秘匿データの内容の情報が得られることを抑制できる。これにより、秘匿性が高い暗号文を生成できる。
【0017】
また、この圧縮・暗号化処理において好ましくは、秘匿データから特定される情報を用いることなく非秘匿データを圧縮して非秘匿ブロックを生成する。このように、秘匿データから特定される情報を用いずに非秘匿データを圧縮した場合、圧縮データの長さは、秘匿データの長さや非秘匿データの内容に依存し、秘匿データの内容に依存しない。その結果、暗号文の長さから圧縮データの長さの情報が得られても、圧縮データの長さから秘匿データの内容の情報が得られることを完全に防止でき、より秘匿性の高い暗号文を生成できる。
【0018】
本形態の復号・伸長処理では、入力された暗号文を復号して連結データを生成し、当該連結データを非秘匿ブロックと秘匿ブロックとに区分し、非秘匿ブロックを伸長して非秘匿データを生成し、伸長処理を行うことなく、秘匿ブロックを示す秘匿データを生成する。これにより、上述のように生成された暗号文を復号できる。
【0019】
〔第1実施形態〕
次に、本発明の第1実施形態を説明する。
【0020】
<構成>
図1は、第1実施形態の圧縮暗号化装置の機能構成を説明するためのブロック図である。また、図2は、第1実施形態の復号伸長装置の機能構成を説明するためのブロック図である。
【0021】
図1に例示するように、第1実施形態の圧縮暗号化装置110は、データ入力部111と、秘匿性識別情報入力部112と、区分部113と、非秘匿データ処理部114と、秘匿データ処理部115と、ブロック連結部116と、鍵メモリ117aと、暗号化部117bと、制御部118と、メモリ119とを有する。
【0022】
また、図2に例示するように、第1実施形態の復号伸長装置120は、鍵メモリ121aと、復号部121bと、区分部122と、非秘匿データ処理部124と、秘匿データ処理部125と、連結部126と、制御部128と、メモリ129とを有する。
【0023】
なお、圧縮暗号化装置110や復号伸長装置120は、例えば、CPU(central processing unit)、RAM(random-access memory)、ROM(read-only memory)等からなる公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される装置である。例えば、データ入力部111、秘匿性識別情報入力部112、区分部113、非秘匿データ処理部114、秘匿データ処理部115、ブロック連結部116、暗号化部117b、制御部118、復号部121b、区分部122、非秘匿データ処理部124、秘匿データ処理部125、連結部126、及び制御部128などの処理部は、所定のプログラムを実行するCPUであり、鍵メモリ117a,121a及びメモリ119,129は、補助記憶装置、RAM、キャッシュメモリ、レジスタ若しくは集積回路の一部又はそれらの少なくとも一部を結合した記憶領域である。
【0024】
また、以下では説明を省略するが、圧縮暗号化装置110は、制御部118の制御のもと各処理を実行し、復号伸長装置120は、制御部128の制御のもと各処理を実行する。また、各処理部から出力されたデータは、逐一、メモリ119,129に格納され、必要に応じて他の処理部から読み出されて使用される。
【0025】
<事前処理>
本形態の圧縮暗号化処理や復号伸長処理の前処理として、圧縮暗号化装置110の鍵メモリ117aに暗号化のための鍵が格納され、復号伸長装置120の鍵メモリ121aに復号のための鍵が格納される。例えば、暗号化方式が公開鍵方式である場合には、圧縮暗号化装置110の鍵メモリ117aには公開鍵が格納され、復号伸長装置120の鍵メモリ121aには当該公開鍵に対応する秘密鍵が格納される。また、例えば、暗号化方式が共通鍵方式である場合には、圧縮暗号化装置110の鍵メモリ117aと復号伸長装置120の鍵メモリ121aには同一の共通鍵が格納される。
【0026】
<圧縮暗号化処理>
次に、本形態の圧縮暗号化処理を説明する。
【0027】
図3は、第1実施形態の圧縮暗号化処理を説明するためのフローチャートである。また、図5(A)〜(F)は、第1実施形態の各処理過程におけるデータ構成を例示するための図である。
【0028】
まず、圧縮暗号化装置110(図1)のデータ入力部111に、圧縮暗号化対象のデータMが入力される(ステップS111)。図5(A)に例示するように、データMは複数のバイトからなるシリアルデータである。図5(A)では、データMの先頭位置がSと表現され、末尾位置がEと表現されている。データMは、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとを含む。秘匿データの例は、氏名、電話番号、パスワード等の個人情報である。
【0029】
また、秘匿性識別情報入力部112には、データMが含む秘匿データの位置を特定するための秘匿性識別情報SIDが入力される(ステップS112)。秘匿性識別情報SIDの例は、データMの先頭位置Sから数えた各秘匿データの先頭位置を示す情報と末尾位置を示す情報との組である。図5(B)の例では、データMの先頭位置Sから数えた各秘匿データの先頭位置を示す情報S1〜S3と末尾位置を示す情報E1〜E3との組(S1,E1),(S2,E2),(S3,E3)が秘匿性識別情報SIDとされる。なお、データMの先頭位置Sから数えた各秘匿データの先頭位置や末尾位置の具体例は、データMの先頭位置Sから数えたバイト数である。また、秘匿性識別情報SIDは、データMと独立した情報であってもよいし、データMのヘッダ情報としてデータMと一体化されていてもよい。
【0030】
データMと秘匿性識別情報SIDとは区分部113に入力される。区分部113は、秘匿性識別情報SIDを用い、入力されたデータMを、非秘匿データAと秘匿データBとに区分する。図5(B)の例では、秘匿性識別情報SIDである組(S1,E1),(S2,E2),(S3,E3)を用い、先頭位置S1から末尾位置E1までの領域、先頭位置S2から末尾位置E2までの領域、及び先頭位置S3から末尾位置E3までの領域を、それぞれ、秘匿データBとし、それ以外の領域をそれぞれ非秘匿データAとする。さらに、本形態の区分部113は、データMを、非秘匿データAのみからなるデータ区分と、秘匿データBのみからなるデータ区分とに区分する。例えば、区分部113は、データMの先頭位置Sから順番に固定長ごとのデータ区分ごとに区分していき、その区分が非秘匿データAと秘匿データBとの境界を跨ぐ場合には、その境界でそのデータ区分を終端させ、その境界から新たにデータ区分を開始させる。図5(C)の例では、区分部113は、SからS1までを固定長のデータ区分A1とし、S1からE1までを固定長のデータ区分B1とし、E1からE11までを固定長のデータ区分A2とする。次を固定長で区分した場合には非秘匿データAと秘匿データBとの境界S2を跨ぐため、区分部113は、E11からS2までをデータ区分A3とし、S21からE2までを固定長のデータ区分B3とする。同様に、図5(C)の例では、E2からE21、E21からS3、S3からE3、E3からEまでを、それぞれデータ区分A4,A5,B4,A6に区分する。なお、データ区分A1〜A6は非秘匿データAのみからなり、データ区分B1〜B4は秘匿データBのみからなる。
【0031】
そして、区分部113は、既にステップS114又はS115の処理を行ったデータ区分以外のデータ区分のうち、データMの先頭位置Sに最も近いデータ区分を処理対象とし、当該データ区分が秘匿データか否かを判定する(ステップS113)。なお、データMに対してステップS114又はS115の処理が一度も行われていない場合には、データMの先頭のデータ区分(図5(C)の例ではデータ区分A1)が処理対象とされる。また、ステップS113の処理は、データMをすべてのデータ区分に区分してから処理対象のデータ区分が秘匿データか否かを判定することとしてもよいし、処理対象のデータ区分のみを特定してから当該処理対象のデータ区分が秘匿データか否かを判定することとしてもよい。
【0032】
ここで、処理対象のデータ区分が非秘匿データAであると判定された場合、非秘匿データ処理部114に処理対象のデータ区分の非秘匿データが入力される。非秘匿データ処理部114は、当該データ区分の非秘匿データを圧縮した非秘匿ブロックを生成し、当該非秘匿ブロックを出力する(ステップS114)。なお、非秘匿データ処理部114は、秘匿データBから特定される情報を用いることなく非秘匿データAを圧縮して非秘匿ブロックを生成する。また、非秘匿ブロックは、圧縮方式を特定する情報を含むヘッダ領域を含む。
【0033】
ステップS114で使用される圧縮形式に特に限定はないが、非秘匿データ処理部114は、例えば、非特許文献1に記載されたdeflate圧縮形式を用いて非秘匿ブロックを生成することができる。deflate圧縮形式を用いる場合、非秘匿データ処理部114は、処理対象のデータ区分の非秘匿データをバイト単位で処理し、以下のように圧縮処理(処理1〜3)を行う。
【0034】
(処理1):処理対象のバイト又はそれを含むそれ以降の連続したバイト列が、既にステップS114の処理を行ったデータ区分(非秘匿データ)に含まれていたバイト又はバイト列と一致した場合、一致したバイト又はバイト列の長さと、当該一致したバイト又はバイト列と当該処理対象のバイトとの距離を特定する情報とを、処理対象のバイト又はそれを含むそれ以降の連続したバイト列に対応する符号として処理ブロックの要素に追加する。なお、この例の場合、「処理ブロック」をハフマン符号化したものが「非秘匿ブロック」となる。当該処理対象のバイト又はそれを含むそれ以降の連続したバイト列に続く他のバイトが、次の処理対象のバイトとされる。なお、処理対象のバイト又はそれを含むそれ以降の連続したバイト列が、既にステップS115の処理を行ったデータ区分(秘匿データ)に含まれていたバイト又はバイト列と一致した場合であっても、非秘匿データ処理部114は、当該一致したバイト又はバイト列の長さと、処理対象のバイトに一致したバイト又はバイト列と当該処理対象のバイトとの距離を特定する情報とを、処理ブロックの要素に追加することはしない。すなわち、非秘匿データ処理部114は、秘匿データから特定される情報を用いることなく処理ブロックを生成する。
【0035】
(処理2):一方、処理対象のバイトが、既にステップS114の処理を行ったデータ区分(非秘匿データ)に含まれていたバイトと一致しない場合、当該処理対象のバイトを、処理ブロックの要素に追加する。当該処理対象のバイトに続く他のバイトが、次の処理対象のバイトとされる。
【0036】
(処理3):上記の(処理1)(処理2)の処理が、処理対象のデータ区分の先頭位置から終端位置まで実行され、当該非秘匿データに対応する処理ブロックが生成される。生成された処理ブロックをハフマン符号化して生成されたハフマン符号を非秘匿ブロックとする。なお、非秘匿データ処理部114は、秘匿データから特定される情報を用いることなく処理ブロックを生成するため、非秘匿ブロックは秘匿データに依存しない。
【0037】
一方、ステップS113で、処理対象のデータ区分が秘匿データBであると判定された場合、秘匿データ処理部115に処理対象のデータ区分の秘匿データが入力される。秘匿データ処理部115は、当該データ区分の秘匿データを圧縮することなく、当該秘匿データを示す秘匿ブロックを生成し、当該秘匿ブロックを出力する(ステップS115)。例えば、秘匿データ処理部115は、当該データ区分の秘匿データをそのまま秘匿ブロックの要素とする。なお、秘匿ブロックは、圧縮方式(非圧縮)を特定する情報を含むヘッダ領域を含む。
【0038】
次に、区分部113は、データMのすべてのデータ区分に対し、ステップS114又は115の処理が済んだか否かを判定する(ステップS116)。ここで、データMのすべてのデータ区分に対し、ステップS114又は115の処理が済んでいないと判定された場合、制御部118は、現在の処理対象のデータ区分に続く他のデータ区分を、新たな処理対象のデータ区分とし(ステップS117)、処理をステップS113に戻す。
【0039】
一方、データMのすべてのデータ区分に対し、ステップS114又は115の処理が済んだと判定された場合には、データMのすべてのデータ区分に対してそれぞれ生成された各非秘匿ブロックと秘匿ブロックとがブロック連結部116に入力される。ブロック連結部116は、これらの非秘匿ブロックと秘匿ブロックとを連結した連結データを生成し、当該連結データを出力する(ステップS118)。
【0040】
図5(D)(E)の例では、データ区分A1〜A6にそれぞれ対応する非秘匿ブロックCA1〜CA6と、データ区分B1〜B4に対応する秘匿ブロックUB1〜UB4とがブロック連結部116に入力され、ブロック連結部116が、これらを対応するデータ区分のもともとの配列順で連結した連結データ(図5(E))を生成する。
【0041】
暗号化部117bは、ブロック連結部116から出力された連結データと、鍵メモリから読み出された暗号化のための鍵とを入力とし、当該鍵を用いて連結データの暗号化を行って暗号文C(図5(F))を生成し、当該暗号文Cを出力する(ステップS119)。なお、暗号化方式の一例は、非特許文献2に記載された方式である。
【0042】
<復号伸長処理>
次に、本形態の復号伸長処理を説明する。
【0043】
まず、復号伸長装置(図2)の復号部121bに暗号文C(図5(F))が入力される(ステップS121)。復号部121bは、鍵メモリ121aから復号のための鍵を読み出し、この鍵を用いて暗号文Cを復号して連結データを生成し、当該連結データ(図5(E))を出力する(ステップS122)。
【0044】
次に、区分部122に連結データが入力される。区分部122は、入力された連結データを非秘匿ブロックと秘匿ブロックとに区分する。区分部122は、例えば、前述した非秘匿ブロック及び秘匿ブロックが含むヘッダ領域を参照して、連結データを非秘匿ブロックと秘匿ブロックとに区分する。そして、区分部122は、既にステップS123又はS124の処理を行ったブロック以外のブロック(ブロックとは非秘匿ブロックや秘匿ブロックを意味する)のうち、先頭に最も近いブロックを処理対象とし、当該ブロックが秘匿ブロックか否かを判定する(ステップS123)。なお、連結データに対してステップS123又はS124の処理が一度も行われていない場合には、連結データの先頭のブロック(図5(E)の例ではデータ区分CA1)が処理対象とされる。また、ステップS123の処理は、連結データをすべてのブロック(非秘匿ブロックと秘匿ブロック)に区分してから処理対象のブロックが秘匿データか否かを判定することとしてもよいし、処理対象のブロックのみを特定してから当該処理対象のブロックが秘匿ブロックか否かを判定することとしてもよい。
【0045】
ここで、処理対象のブロックが非秘匿ブロックであると判定された場合、非秘匿データ処理部124に処理対象の非秘匿ブロックが入力される。非秘匿データ処理部124は、当該非秘匿ブロックを伸長して非秘匿データからなるデータ区分を生成し、当該非秘匿データからなるデータ区分を出力する(ステップS124)。この処理は、前述したステップS114の処理の逆処理となる。すなわち、非秘匿データ処理部124は、秘匿データから特定される情報を用いることなく非秘匿ブロックを伸長して非秘匿データからなるデータ区分を生成する。例えば、図5(C)〜(E)の例では、非秘匿データ処理部124は、非秘匿データからなるデータ区分A1〜A6を生成する。
【0046】
一方、処理対象のブロックが秘匿ブロックであると判定された場合、秘匿データ処理部125に処理対象の秘匿ブロックが入力される。秘匿データ処理部125は、伸長処理を行うことなく、当該秘匿ブロックを示す秘匿データからなるデータ区分を生成し、当該秘匿データからなるデータ区分を出力する(ステップS125)。この処理は、前述したステップS115の処理の逆処理となる。例えば、図5(C)〜(E)の例では、秘匿データ処理部125は、秘匿データからなるデータ区分B1〜B4を生成する。
【0047】
次に、区分部122は、連結データのすべてのブロックに対し、ステップS124又は125の処理が済んだか否かを判定する(ステップS126)。ここで、連結データのすべてのブロックに対し、ステップS124又は125の処理が済んでいないと判定された場合、制御部128は、現在の処理対象のブロックに続く他のブロックを新たな処理対象のブロックとし(ステップS127)、処理をステップS123に戻す。
【0048】
一方、連結データのすべてのブロックに対し、ステップS124又は125の処理が済んだと判定された場合、連結データのすべてのブロックに対してそれぞれ生成された非秘匿データと秘匿データとが連結部126に入力される。連結部126は、これらの非秘匿データと秘匿データとを連結した復元データM’を生成し、当該復元データM’を出力する(ステップS128)。
【0049】
図5(C)(D)の例では、非秘匿データからなるデータ区分A1〜A6と、秘匿データからなるデータ区分B1〜B4とが連結部126に入力され、連結部126がこれらを対応する非秘匿ブロックCA1〜CA6と秘匿ブロックUB1〜UB4の配列順で連結した復元データM’(図5(C))を生成する。
【0050】
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。
【0051】
第2実施形態は第1実施形態の変形例であり、圧縮暗号化装置がデータMを秘匿データと非秘匿データとの区分するための手段が相違する。すなわち、第1実施形態では、秘匿性識別情報SIDを用いてデータMの秘匿データの位置と非秘匿データの位置とを特定していた。これに対し、第2実施形態では、秘匿性識別情報SIDの代わりに、秘匿性が要求される部分を表す正規表現の集合を用い、データMの秘匿データの位置と非秘匿データの位置とを特定する。すなわち、この場合の圧縮暗号化装置の区分部は、データMを捜査してこのような正規表現とデータMの部分とがマッチするかを検証し、正規表現にマッチする部分の先頭位置と末尾位置との組を特定し、これを秘匿性識別情報SIDとして第1実施形態の処理を行う。例えば、秘匿性が要求されるパスワード部分が"PASS.....111"と正規表現される場合には、圧縮暗号化装置の区分部は、データMから"PASS.....111"で正規表現される部分(例えば"PASS125475111")を抽出し、その部分を秘匿データとし、その部分の先頭位置と末尾位置との組を特定する。なお、「.」は任意の一文字を意味する。
【0052】
その他、正規表現の代わりに、秘匿性が要求される部分を特定するメタ情報を用い、データMから秘匿データを抽出し、その先頭位置と末尾位置との組を特定してもよい。
【0053】
〔その他の変形例等〕
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各実施形態の圧縮暗号化処理では、データM中の非秘匿データ及び秘匿データをさらに区分したデータ区分を処理対象として圧縮や暗号化を行った。しかし、圧縮や暗号化の方式によっては、非秘匿データ及び秘匿データをさらに区分することなく、圧縮や暗号化を行ってもよい。また、図5のCA1〜CA6をDeflate圧縮形式における圧縮ブロックの形式とし、図5のUCA1〜UCA6をDeflate圧縮形式における非圧縮ブロックの形式としてもよい。
【0054】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0055】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0056】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0057】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
【0058】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0059】
110 圧縮暗号化装置
120 復号伸長装置

【特許請求の範囲】
【請求項1】
入力されたデータを、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとに区分する区分部と、
前記非秘匿データが入力され、当該非秘匿データを圧縮した非秘匿ブロックを生成し、当該非秘匿ブロックを出力する非秘匿データ処理部と、
前記秘匿データが入力され、当該秘匿データを圧縮することなく、当該秘匿データを示す秘匿ブロックを生成し、当該秘匿ブロックを出力する秘匿データ処理部と、
前記非秘匿ブロックと前記秘匿ブロックとが入力され、前記非秘匿ブロックと前記秘匿ブロックとを連結した連結データを生成し、当該連結データを出力するブロック連結部と、
前記連結データが入力され、当該連結データを暗号化した暗号文を生成し、当該暗号文を出力する暗号化部と、
を有する圧縮暗号化装置。
【請求項2】
請求項1の圧縮暗号化装置であって、
前記非秘匿データ処理部は、前記秘匿データから特定される情報を用いることなく前記非秘匿データを圧縮して前記非秘匿ブロックを生成する、
ことを特徴とする圧縮暗号化装置。
【請求項3】
暗号文が入力され、当該暗号文を復号して連結データを生成し、当該連結データを出力する復号部と、
前記連結データが入力され、当該連結データを非秘匿ブロックと秘匿ブロックとに区分する区分する区分部と、
前記非秘匿ブロックが入力され、当該非秘匿ブロックを伸長して非秘匿データを生成し、当該非秘匿データを出力する非秘匿データ処理部と、
前記秘匿ブロックが入力され、伸長処理を行うことなく、当該秘匿ブロックを示す秘匿データを生成し、当該秘匿データを出力する秘匿データ処理部と、
を有する復号伸長装置。
【請求項4】
請求項3の復号伸長装置であって、
前記非秘匿データ処理部は、前記秘匿データから特定される情報を用いることなく前記非秘匿ブロックを伸長して前記非秘匿データを生成する、
ことを特徴とする復号伸長装置。
【請求項5】
入力されたデータを、秘匿化が必要な秘匿データと秘匿化が不要な非秘匿データとに区分するステップと、
前記非秘匿データが入力され、当該非秘匿データを圧縮した非秘匿ブロックを生成し、当該非秘匿ブロックを出力するステップと、
前記秘匿データが入力され、当該秘匿データを圧縮することなく、当該秘匿データを示す秘匿ブロックを生成し、当該秘匿ブロックを出力するステップと、
前記非秘匿ブロックと前記秘匿ブロックとが入力され、前記非秘匿ブロックと前記秘匿ブロックとを連結した連結データを生成し、当該連結データを出力するステップと、
前記連結データが入力され、当該連結データを暗号化した暗号文を生成し、当該暗号文を出力するステップと、
を有する圧縮暗号化方法。
【請求項6】
暗号文が入力され、当該暗号文を復号して連結データを生成し、当該連結データを出力するステップと、
前記連結データが入力され、当該連結データを非秘匿ブロックと秘匿ブロックとに区分する区分するステップと、
前記非秘匿ブロックが入力され、当該非秘匿ブロックを伸長して非秘匿データを生成し、当該非秘匿データを出力するステップと、
前記秘匿ブロックが入力され、伸長処理を行うことなく、当該秘匿ブロックを示す秘匿データを生成し、当該秘匿データを出力するステップと、
を有する復号伸長方法。
【請求項7】
請求項1又は2の圧縮暗号化装置としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項3又は4の復号伸長装置としてコンピュータを機能させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−41102(P2011−41102A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−188044(P2009−188044)
【出願日】平成21年8月14日(2009.8.14)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(504137912)国立大学法人 東京大学 (1,942)
【Fターム(参考)】