JP2004198760A - 圧縮暗号化装置及び伸長復号化装置 - Google Patents
圧縮暗号化装置及び伸長復号化装置 Download PDFInfo
- Publication number
- JP2004198760A JP2004198760A JP2002367671A JP2002367671A JP2004198760A JP 2004198760 A JP2004198760 A JP 2004198760A JP 2002367671 A JP2002367671 A JP 2002367671A JP 2002367671 A JP2002367671 A JP 2002367671A JP 2004198760 A JP2004198760 A JP 2004198760A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- encryption
- compressed
- reference table
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】データの圧縮及び暗号化に必要な処理負荷又は処理時間を低減する。
【解決手段】画像データ等の圧縮対象データは、ブロック分割部10により所定のブロックサイズに分割される。それら各ブロックのデータを、量子化部12が量子化テーブル14を参照して量子化する。この量子化結果を、エントロピー符号化部16が符号化テーブル18を参照して符号化することで、圧縮データが得られる。暗号化部20は、以上の量子化、符号化に用いた量子化テーブル14及び符号化テーブル18を所定の暗号方式で暗号化する。多重化部24は、この結果得られた暗号化データを、圧縮データとともに所定のフォーマットにまとめる。
【選択図】 図1
【解決手段】画像データ等の圧縮対象データは、ブロック分割部10により所定のブロックサイズに分割される。それら各ブロックのデータを、量子化部12が量子化テーブル14を参照して量子化する。この量子化結果を、エントロピー符号化部16が符号化テーブル18を参照して符号化することで、圧縮データが得られる。暗号化部20は、以上の量子化、符号化に用いた量子化テーブル14及び符号化テーブル18を所定の暗号方式で暗号化する。多重化部24は、この結果得られた暗号化データを、圧縮データとともに所定のフォーマットにまとめる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、データ圧縮とともに暗号化を行う圧縮暗号化装置、及びこれに対応する復号化装置に関する。
【0002】
【従来の技術】
近年、デジタルカメラの普及、スキャナによるドキュメントの電子化等、画像データの利用はますます増大している。また、画像データは高精細化の傾向にあり、1画像データのデータサイズが増大する傾向にある。
【0003】
その一方で、画像データはインターネット上の盗聴や権限の無い人に参照される等のデータ漏洩の危険が伴う。この対処方法として、画像データを暗号化する方法が有効である。例えば、トリプルDESやAES等の暗号方式で暗号すれば、データの安全性は保障されると考えられている。
【0004】
ところが、これら安全な暗号化方法の処理量はデータサイズに比例して処理時間(あるいはCPU負荷)が増大するという問題がある。復号化方法も同様である。データ数が増えればさらに処理時間が増大するのは言うまでも無い。
【0005】
このような問題に対して、例えば特許文献1には、1画像を複数のブロックに分割し、一部のブロックのみを暗号化し、残りのブロックは暗号化したブロックとの差分を演算することによって暗号化処理量を軽減した暗号化方法が開示されている。
【0006】
また、特許文献2には、画像データに対してDCT変換(離散コサイン変換)を行った際の直流成分のみを暗号化することによって暗号化処理量を軽減する暗号化方法が開示されている。
【0007】
また、特許文献3には、あらかじめ設定した解析ルールに基づきデータの中の重要度が高い部分を強固な暗号手段で暗号化しそれ以外の部分については暗号強度の弱い暗号化処理を施すことによって全体の暗号化負荷を軽減する暗号化方法が開示されている。
【0008】
【特許文献1】
特開2000−115551公報
【特許文献2】
特開平6−125553号公報
【特許文献3】
特開2002−190798公報
【0009】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示される方法は、たしかに暗号化処理を施すのは暗号化対象のデータの一部分のみであるが、それ以外の部分についても暗号化した部分との差分をとる演算を行わなくてはならないため、データサイズが大きいデータに対しては必ずしも全体の処理量が軽減されない。
【0010】
また、特許文献2に開示される方法では、直流成分は全体のデータ量の一定量(通常1/64)を占めるため、データサイズに比例して暗号処理量も増加してしまうという問題がある。
【0011】
また、特許文献3に開示される方法は、画像の各部分にあらかじめ重要度を定義してあるデータにしか適用できないため、適用できるデータが限定されてしまうという問題がある。
【0012】
このように従来技術では、データサイズが増大すると依然として暗号処理にかかる処理量の負荷(あるいは処理時間)が増大するという問題や、未知なるフォーマットに対しては効果が無いなどの問題がある。
【0013】
以上、画像データの暗号化を例にとったが、画像データ以外のデータについても同様の問題がある。
【0014】
本発明は上記従来の事情に鑑みなされたものであり、膨大な量のデータを圧縮及び暗号化する場合において、低いCPU負荷又は短い所要時間で圧縮・暗号化の処理ができるようにすることを目的とする。
【0015】
【課題を解決するための手段】
本発明では、ハフマン符号化やJPEG、MPEGなど、ある種の圧縮符号化方式が、符号化テーブルや量子化テーブルなど、データ圧縮処理に必要なパラメータを記憶したテーブルを用い、そのテーブルの情報を圧縮データとともに1つのファイルにまとめるという点に着目した。すなわち本発明では、圧縮及び暗号化したいデータそのもの(圧縮対象データと呼ぶ)を暗号化する代わりに、そのようなデータ圧縮の際に用いるデータ変換用の参照テーブルを暗号化することとした。
【0016】
【発明の実施の形態】
以下、本発明の好適な実施の形態(以下、「実施形態」と呼ぶ)を、図面を参照して説明する。以下では、画像データを圧縮暗号化する場合を主たる例として説明する。
【0017】
図1は、本発明の実施形態に係る圧縮暗号化装置の構成を示すブロック図である。例示する装置は、画像データを圧縮暗号化する装置である。
【0018】
ブロック分割部10は、圧縮対象データ(ここでは画像データ)をn画素×n画素のデータで構成されるブロック単位に分割する。例えばJPEG圧縮の場合、n=8である。分割された各ブロックのデータは、所定の二次元直交変換処理により、n×n個の周波数成分の組に変換される(図示省略)。例えばJPEG圧縮の場合、直交変換処理としてDCT(離散コサイン変換)処理が行われる。これらn×n個の周波数成分の組が量子化部12に入力される。
【0019】
量子化部12は、入力されるn×n個の各周波数成分の値を、量子化テーブル14に基づいて量子化する。量子化テーブル14は、n×n個の量子化閾値を含んだテーブルであり、個々のテーブルエントリ(すなわち量子化閾値)は量子化処理に先立ってあらかじめ設定されている。量子化テーブル14としては、圧縮対象データの全ブロックに対してただ一つの量子化テーブル14を用いてもよいし、複数の量子化テーブル14を用い、複数ブロック毎に量子化テーブル14を変えてもよい。なお、量子化テーブル14を参照して行う量子化処理は、JPEG圧縮等で行われている一般的な処理でよい。例えば量子化処理としては、周波数成分(u,v)(u,vは0〜n−1の整数)の値をS_uvとし、量子化テーブル14においてこの周波数成分に対応する閾値をQ_uvとしたとき、次式で定義される式をn×n個のデータ全てに適用し、出力データr_uvを求める処理でよい。
【0020】
r_uv = round(S_uv / Q_uv)
ただしroundとはもっとも近い整数への整数化を意味する。
【0021】
この量子化処理は、非可逆の処理であるが、圧縮対象データのデータサイズを大幅に削減することができる。画像データの場合、このような非可逆の圧縮により多少情報が失われても、人間の目にはその影響がわかりにくい場合が多い。
【0022】
この処理により得られたn×n個の量子化データが、エントロピー符号化部16に入力される。エントロピー符号化部16は、それら量子化データに対し、符号化テーブル18を参照して符号化処理を施す。この符号化処理は、符号化テーブルを利用するエントロピー符号化処理であれば、基本的に何でもよい。例えばJPEG圧縮の場合、エントロピー符号化としてハフマン符号化処理が用いられる。また、エントロピー符号化部16では、量子化データを複数の種別に区分し、種別毎に異なるエントロピー符号化処理を施すこともできる。例えばJPEGの場合は、量子化データの直流成分と交流成分とに対し、異なる符号化処理が施される。
【0023】
符号化テーブル18は、量子化データの値と符号語との対応関係を示すテーブルであり、符号化処理に先立って設定されている。符号化テーブル18としては、1つのテーブルをすべてのデータに対して適用してもよいが、データの種別毎に、その種別の性質に応じたテーブルを用意してもよい。例えばJPEGの場合、直流成分用と交流成分用とにそれぞれ符号化テーブル18が用意される。
【0024】
エントロピー符号化部16は、量子化データの値に対応する符号語をこの符号化テーブル18から求め、これを符号化結果として出力する。n×nの1ブロックに含まれる各量子化データに対してこの符号化処理が行われる。
【0025】
以上の量子化及びエントロピー符号化により、ブロックの圧縮データが得られる。この処理が、圧縮対象データのすべてのブロックに対して繰り返される。
【0026】
以上の量子化及びエントロピー符号化と並行して、暗号化部20において、量子化テーブル及び符号化テーブルの暗号化処理が行われる。この暗号化は、テーブル自体を暗号化するものでももちろんよいが、テーブルを再構成するのに必要な情報を暗号化するものでもよい。例えばJPEGの符号化テーブルの場合、周知のように、各符号長の符号語の数を示すテーブルと発生頻度順に並べた符号化要素とが分かれば、復号側で符号化テーブルを再構成できるので、それら符号語数のテーブルと発生頻度順の符号化要素のデータを暗号化しても、符号化テーブル自体を暗号化するのと同じ効果が得られる。
【0027】
暗号化部20で用いる暗号方式は、暗号強度が十分強い暗号方式であれば、既存の標準的な暗号方式のどれを用いてもよい。例えば公開鍵暗号方式を用いることもできるし、共通鍵暗号方式と公開鍵暗号方式を組み合わせた暗号方式を用いることもできる。
【0028】
多重化部24は、エントロピー符号化部16から出力される圧縮データと、暗号化部20から出力される量子化テーブル等の暗号化データと、復号したデータを意味あるデータとして解釈するのに必要な各種パラメータ22とを1つに結合して、一つの多重化データにまとめる。JPEGの場合、この多重化処理により1つのJPEGファイルができあがる。ここで圧縮対象データが画像データの場合、パラメータ22には、例えば該画像データの全画素数、1ラインの画素数、ブロックサイズ、データ精度、コンポーネント数など、復号により得た画素データを画像情報として出力・表示するために必要となる情報が含まれる。また、このパラメータ群には、多重化データ内から暗号化データ及び圧縮データを切り分けて取り出すために必要な情報が含まれる。このような情報としては、例えば暗号化データのサイズ及び多重化データ内で暗号化データの位置(例えば、何番目のデータセグメントが暗号化データか)などを挙げることができる。この場合、暗号化データのサイズの情報は暗号化部20から、暗号化データの位置の情報は多重化部24から得ることができる。
【0029】
例えばJPEG規格のファイルフォーマットの1つであるJFIFは、大まかに言えば、パラメータ22、量子化テーブル14、符号化テーブル18、及び圧縮データの各々のフィールドがこの順に並べられ、各フィールドにはそのフィールドのデータサイズ(すなわちデータ長)の情報が含まれている。これに対し、本実施形態にて、量子化テーブル14及び符号化テーブル18のフィールドを暗号化してしまうと、復号側ではこれら各フィールドのデータ長の情報が見えなくなるので、どこまでが暗号化データであり、どこから先が圧縮データのフィールドなのかが分からなくなる。そこで、本実施形態では、前述のごとく、多重化データ内から暗号化データ及び圧縮データを切り分けて取り出すために必要な情報をパラメータ22に含めることで、復号側で暗号化データと圧縮データとが抽出できるようにしている。なお、JPEG圧縮に本実施形態の方式を適用した場合、パラメータ22のフィールド長は、JPEG規格のフォーマットの記述から分かるので、後は暗号化データのデータサイズが分かれば、圧縮データの先頭位置を求めることができ、多重化したファイルからパラメータ22,暗号化データ,圧縮データを抽出することができる。したがって、パラメータ22には暗号化データのサイズを組み込んでおけばよい。
【0030】
以上、本実施形態の圧縮暗号化装置について説明した。この装置によれば、暗号化するのは量子化テーブル14と符号化テーブル18だけであり、JPEG圧縮の場合、これらテーブルは両者合わせても400バイトにも満たない小さいデータであり、圧縮対象の画像データに比べて遙かに小さい。さらに、圧縮対象データのデータサイズが大きくなってもそれらテーブルのサイズは不変である。したがって、量子化テーブル14及び符号化テーブル18の暗号化処理に必要なCPU能力や時間はきわめて小さい。例えば画像のJPEG圧縮の場合、本実施形態の手法によれば、データサイズが1Mbyteの画像データであれば約1/2000、10Mbyteのデータであれば約1/20000に暗号化処理量を減らすことができる。
【0031】
そして、量子化テーブル14や符号化テーブル18がなければ圧縮データを正しく復号することができないので、仮に多重化データが漏洩したとしても、それらテーブルが暗号化されていれば、圧縮対象データを秘匿することができる。
【0032】
このように、本実施形態の圧縮暗号化装置によれば、従来より少ないCPU負荷又は時間でデータの圧縮及び暗号化が可能になる。
【0033】
この圧縮暗号化装置で作成された多重化データを伸長し復号する伸長復号化装置の構成の一例を図2に示す。
【0034】
伸長復号化装置において、多重分離部30は、入力される多重化データを、復号結果を意味あるデータとして解釈するために必要なパラメータ22と、圧縮対象データを圧縮符号化した圧縮データと、量子化テーブル14及び符号化テーブル18を暗号化した暗号化データとに分離する。パラメータ22は多重化データのヘッダ部分に含まれるので、このヘッダ部分から取り出すことができる。取り出したパラメータ22には、暗号化データのサイズや位置を示す情報が含まれているので、多重分離部30は、このパラメータに基づいて多重化データから暗号化データを取り出すことができる。多重化データからパラメータ22と暗号化データを取り除いた残りが圧縮データである。
【0035】
暗号復号化部32は、抽出された暗号化データを復号して量子化テーブル14及び符号化テーブル18を復元する。テーブル自体が暗号化されている場合は、単に復号化するだけでそれらテーブルが復元できる。一方、暗号化データがテーブルを再構成するのに必要な情報を暗号化したものである場合、暗号復号化部32は、暗号化データの復号結果に基づき符号化テーブル等を作成する。
【0036】
エントロピー復号化部34は、復元された符号化テーブル18を参照して、圧縮データを1ブロックずつエントロピー復号化する。この復号処理は符号化処理と逆過程の処理でよく、公知の復号処理を用いればよい。
【0037】
逆量子化部36は、エントロピー復号化されたブロックデータに対し、復元された量子化テーブル14を用いて逆量子化を行う。この逆量子化処理も公知の処理を用いることができる。
【0038】
これらエントロピー復号化部34及び逆量子化部36で1ブロック分の圧縮データを処理することにより、圧縮対象データ1ブロック分が再生される。ブロック合成部38は、再生された各ブロックのデータを、パラメータ22を参照して合成することで、圧縮対象データを再生する。
【0039】
以上、本実施形態の圧縮暗号化装置及びこれに対応する伸長復号化装置について説明した。以上に例示した装置では、量子化テーブル14及び符号化テーブル18の両方を暗号化したが、いずれか一方を暗号化する構成でも、同様の効果が期待できる。
【0040】
次に、上記実施形態の圧縮暗号化装置の第1の変形例を、図3を参照して説明する。図3において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0041】
図3に示したように、この第1の変形例では、暗号化部20aが、量子化テーブル14及び符号化テーブル18に加え、復号したデータを意味あるものとして解釈するために必要なパラメータ22をも暗号化する。これにより、パラメータ22も秘匿されるので、暗号化の強度をより高めることができる。
【0042】
ただし、この変形例では、多重化データから暗号化データと圧縮データを分別して取り出すのに必要な情報(例えば暗号化データのデータサイズ)だけは、暗号化せずに復号側に渡す必要がある。逆に言えば、この変形例では、この情報以外のパラメータ22の全項目又は一部の項目を暗号化することができる。
【0043】
第1の変形例に対応する伸長復号化装置(図示省略)は、暗号復号化部32の復号化結果からパラメータ22を抽出する以外は、図2に示した装置構成と同様でよい。
【0044】
次に図4及び図5を参照して、第2の変形例を説明する。図4はこの変形例に係る圧縮暗号化装置の構成を示す図である。図4において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0045】
この第2変形例の圧縮暗号化装置は、図1の実施形態の構成に加え、エントロピー符号化部16から出力される圧縮データから一部を抽出するデータ抽出部28を更に備える。データ抽出部28は、圧縮データからその一部のデータを取り除き、後段の多重化部24に入力する。また、暗号化部20bは、量子化テーブル14及び符号化テーブル18に加え、パラメータ22とデータ抽出部28で抽出した圧縮データの一部を暗号化し、暗号化データを生成する。そして、多重化部24は、この暗号化データと、一部が欠落した圧縮データとを多重化する。ただし、この変形例でも、多重化データから暗号化データと圧縮データを分別して取り出すのに必要な情報(例えば暗号化データのデータサイズ)だけは、暗号化せずに多重化データに含める。
【0046】
この変形例によれば、圧縮データの一部も秘匿されるため、暗号化の強度が向上する。例えば、仮に攻撃者が多重化データから圧縮データのみを抽出し、その圧縮データのパターンを解析して復号しようとしても、その圧縮データには欠落部分があり、しかもその欠落部分がどの部分なのかが分からないので、そのような解析はきわめて困難である。
【0047】
この変形例では、圧縮データから欠落させる部分のデータサイズを圧縮対象データのデータサイズに応じて変えなくても、上述の暗号強度向上の効果は得られる。
【0048】
また、この変形例では、圧縮データから欠落させる部分の位置やサイズを圧縮対象データごとに変えるようにすることもできる。これにより、暗号強度をより高めることができる。これには、例えば、圧縮暗号化処理全体を制御する制御部(図示省略)が、圧縮対象データの圧縮暗号化処理を開始する際に例えば乱数を発生させ、この乱数に従って欠落部分の位置やサイズを決定し、データ抽出部28にこれらを指示すればよい。このとき、欠落部分の位置やサイズの情報をパラメータの一つとして暗号化し、暗号化データに組み込む。
【0049】
なお、欠落部分の位置とサイズのどちらか一方のみを変化させる方式でも効果がある。
【0050】
また、この変形例において、圧縮データ中の互いに離れた複数の場所からそれぞれデータを欠落させることももちろん可能である。
【0051】
図4の圧縮暗号化装置に対応する伸長復号化装置の構成例を図5に示す。図5において、図2に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0052】
図5の伸長復号化装置では、暗号復号化部32aが多重化データの中の暗号化データを復号化し、量子化テーブル14,符号化テーブル18,パラメータ22,及び圧縮データから欠落させたデータ部分を求める。データ合成部39は、その欠落部分のデータを、多重分離部30から出力される圧縮データ(欠落あり)と合成して、元の圧縮データを復元する。このとき、データ合成部39は、暗号復号化部32aで復号化されたパラメータに含まれる欠落部分の位置やサイズの情報に基づき、一部欠落した圧縮データのしかるべき位置にその欠落部分を組み込むことで、圧縮データを復元する。圧縮データが復元された後は、図2の装置と同様の処理を行えばよい。
【0053】
なお、第2変形例では、暗号化部20bは、量子化テーブル14,符号化テーブル18,パラメータ22,及び圧縮データから欠落させたデータ部分を暗号化したが、量子化テーブル14及び符号化テーブル18の少なくとも一方と、圧縮データから欠落させたデータ部分とを暗号化する構成も可能である。
【0054】
次に、図6を参照して、第3の変形例を説明する。図6は、この変形例に係る圧縮暗号化装置の構成を示す図である。図6において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0055】
この第3変形例は、図1の装置構成に加え、テーブル管理部40を更に備える。テーブル管理部40は、量子化テーブル14及び符号化テーブル18の少なくとも一方の内容を変更する機能を備える。
【0056】
例えばデジタルスチルカメラでは、基礎となる量子化テーブルを備え、この基礎テーブルの各量子化閾値の値を、ユーザの圧縮率指定に応じたQ値(品質係数)で除することで、圧縮処理の際に参照する量子化テーブルを作成することが一般的である。また、このような基礎テーブルを圧縮対象の画像データのシーンごとに個別に備え、そのシーンに応じた基礎テーブルを用いるものも知られている。しかし、いずれにしても、カメラが圧縮に用いる量子化テーブルの種類はさほど多くない。
【0057】
したがって、暗号化データが解読できなくても、例えば使用される可能性の高い量子化テーブルの候補を総当たりで適用すれば、良好な復号結果が得られる可能性もある。
【0058】
これに対し、この第3変形例では、圧縮率の指定やシーンの性質のなどに基づいて作成された量子化テーブル内の量子化閾値の一部又は全部の値を、テーブル管理部40により変更することで、使用される量子化テーブルの範囲を広げることができ、総当たり攻撃の成功率を減らすことができる。
【0059】
ここで量子化テーブル内の閾値を大きくする方向に変更すると画質劣化を招くので、画質劣化を避けたい構成では、閾値を小さくする方向に変更することが必要である。この場合、データの圧縮率は劣化するが、暗号の安全性は高まる。
【0060】
また、テーブル管理部40が、量子化テーブルの変更処理を行う際、そのテーブル内の閾値のうち値を変更するものやその数をランダムに決定するようにすれば、使用される量子化テーブルのバリエーションが多くなって好ましい。また、閾値の変更量や変更割合などをその都度ランダムに変えることも好適である。
【0061】
テーブル管理部40による量子化テーブルの変更処理は、毎回の圧縮暗号化処理ごとや、圧縮暗号化処理を複数回行うごとなど、所定の規則に従って定まるタイミング毎に行えばよい。
【0062】
以上、テーブル管理部40により量子化テーブル14の内容を動的に変更する例を説明したが、同様の方法で符号化テーブル18を動的に変更することも可能である。
【0063】
次に、図7を参照して、第4の変形例を説明する。図7は、この変形例に係る圧縮暗号化装置の構成を示す図である。図7において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0064】
この第4変形例の圧縮暗号化装置は、図1の装置構成に加え、テーブル管理部40aを更に備える。このテーブル管理部40aは、量子化テーブル14及び符号化テーブル18の少なくとも一方のテーブルサイズを変更する機能を備える。
【0065】
ここで、テーブルサイズとは、テーブルのエントリ(項目欄)の数のことである。例えば量子化テーブル14には、ブロック分割部10における圧縮対象データのブロックのサイズ、すなわち「n×n」に対応して、n×nのエントリが存在する。すなわち、量子化テーブル14のサイズはnの値で決まる。同様に、符号化テーブルの場合、テーブルサイズは、例えば使用する符号語長の幅や、各語長で用いる符号語の数で決まる。
【0066】
また、テーブルサイズの変更は、例えばあらかじめ各サイズのテーブルをそれぞれ用意しておき、それらテーブルの中から使用するものを選択することにより実現できる。例えば、量子化テーブル14のサイズを変更する場合、8×8ブロック用のテーブル、9×9ブロック用のテーブル、10×10ブロック用のテーブル、・・・と言った具合に、テーブルサイズ毎に1つ又は複数の量子化テーブルをそれぞれ用意しておけばよい。そして、所定の規則に基づき決定されるテーブル変更タイミング毎に、それらの用意した複数のテーブルの中から圧縮処理に用いるテーブルを選択することで、「テーブルサイズの変更」を実現できる。符号化テーブルのサイズ変更も、同様に、あらかじめサイズの異なる符号化テーブルを複数用意しておき、その中から使用するものを動的に決定することで、実現できる。
【0067】
テーブル変更タイミングは、例えば、圧縮対象データの圧縮処理ごとや、圧縮処理を所定数回行うごとなど、所定の規則に基づき自動決定すればよい。
【0068】
テーブル管理部40aは、このようなテーブル変更タイミングごとに、量子化テーブル14及び符号化テーブル18のサイズを、ランダムに又は所定のサイズ変更規則に従って決定する。そして保持している各サイズのテーブルの中からそのサイズのものを選んで量子化部12及びエントロピー符号化部16に提供する。また、テーブル管理部40aは、量子化テーブル14のテーブルサイズ、すなわちnの値をブロック分割部10に提供する。ブロック分割部10は、このnの値に応じてブロックサイズを設定し、圧縮対象データをn×n画素のブロックに分割する。ここで、必要に応じて、各テーブル14及び18のテーブルサイズを示す情報をパラメータ22の一部として多重化データに組み込むことも可能である。これにより、復号側でそれらテーブルを正しく復元することができる。このテーブルサイズの情報を暗号化した上で多重化データに組み込めば、データ漏洩時の安全性を高めることができる。
【0069】
ここでは、量子化テーブル14と符号化テーブル18の両方のサイズを変更する場合を例示したが、一方のみをサイズ変更する構成でも効果がある。また、テーブルサイズの変更に加え、前記第3変形例と同様に、選択したテーブルの中の一部又は全部のエントリの値を動的に変更することも可能である。これにより、更に暗号強度を高めることができる。
【0070】
第4変形例の圧縮暗号化装置によれば、量子化テーブル14及び符号化テーブル18のうち少なくとも一方のテーブルサイズを動的に変更するので、攻撃者がそれらテーブルを推定することが困難となる。これにより暗号強度が向上する。
【0071】
なお、第4変形例の圧縮暗号化装置に対応する伸長復号化装置は、復号化により復元した量子化テーブル14のテーブルサイズに合わせて、ブロック合成におけるブロックサイズを設定する構成とすればよい。
【0072】
【発明の効果】
以上説明してきたように、上記実施形態及び各変形例によれば、例えば価格や携帯性などの理由からCPU性能やメモリ量などに制約がある場合でも、暗号化に必要となる処理量(処理時間)が少なくなるので、セキュアかつ実用的なサービスが実現可能となる。
【0073】
以上に説明した実施形態及び各変形例の圧縮暗号化装置及び伸長復号化装置は、プログラムを用いてソフトウエア的に実現することもできるし、その一部又は全部をハードウエア回路化することも可能である。
【0074】
以上、画像データの圧縮を例にとって説明したが、本発明の手法は、動画像データやテキストデータなどの各種データに適用可能である。また、本発明の手法は、JPEG圧縮以外にも、MPEG圧縮やハフマン符号化など、圧縮処理のために符号化テーブル等の変換テーブルを用いる各種圧縮方式に適用可能である。
【図面の簡単な説明】
【図1】実施形態の圧縮暗号化装置の構成を示す機能ブロック図である。
【図2】実施形態の伸長復号化装置の構成を示す機能ブロック図である。
【図3】第1変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図4】第2変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図5】第2変形例の伸長復号化装置の構成を示す機能ブロック図である。
【図6】第3変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図7】第4変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【符号の説明】
10 ブロック分割部、12 量子化部、14 量子化テーブル、16 エントロピー符号化部、18 符号化テーブル、20 暗号化部、22 パラメータ、24 多重化部。
【発明の属する技術分野】
本発明は、データ圧縮とともに暗号化を行う圧縮暗号化装置、及びこれに対応する復号化装置に関する。
【0002】
【従来の技術】
近年、デジタルカメラの普及、スキャナによるドキュメントの電子化等、画像データの利用はますます増大している。また、画像データは高精細化の傾向にあり、1画像データのデータサイズが増大する傾向にある。
【0003】
その一方で、画像データはインターネット上の盗聴や権限の無い人に参照される等のデータ漏洩の危険が伴う。この対処方法として、画像データを暗号化する方法が有効である。例えば、トリプルDESやAES等の暗号方式で暗号すれば、データの安全性は保障されると考えられている。
【0004】
ところが、これら安全な暗号化方法の処理量はデータサイズに比例して処理時間(あるいはCPU負荷)が増大するという問題がある。復号化方法も同様である。データ数が増えればさらに処理時間が増大するのは言うまでも無い。
【0005】
このような問題に対して、例えば特許文献1には、1画像を複数のブロックに分割し、一部のブロックのみを暗号化し、残りのブロックは暗号化したブロックとの差分を演算することによって暗号化処理量を軽減した暗号化方法が開示されている。
【0006】
また、特許文献2には、画像データに対してDCT変換(離散コサイン変換)を行った際の直流成分のみを暗号化することによって暗号化処理量を軽減する暗号化方法が開示されている。
【0007】
また、特許文献3には、あらかじめ設定した解析ルールに基づきデータの中の重要度が高い部分を強固な暗号手段で暗号化しそれ以外の部分については暗号強度の弱い暗号化処理を施すことによって全体の暗号化負荷を軽減する暗号化方法が開示されている。
【0008】
【特許文献1】
特開2000−115551公報
【特許文献2】
特開平6−125553号公報
【特許文献3】
特開2002−190798公報
【0009】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示される方法は、たしかに暗号化処理を施すのは暗号化対象のデータの一部分のみであるが、それ以外の部分についても暗号化した部分との差分をとる演算を行わなくてはならないため、データサイズが大きいデータに対しては必ずしも全体の処理量が軽減されない。
【0010】
また、特許文献2に開示される方法では、直流成分は全体のデータ量の一定量(通常1/64)を占めるため、データサイズに比例して暗号処理量も増加してしまうという問題がある。
【0011】
また、特許文献3に開示される方法は、画像の各部分にあらかじめ重要度を定義してあるデータにしか適用できないため、適用できるデータが限定されてしまうという問題がある。
【0012】
このように従来技術では、データサイズが増大すると依然として暗号処理にかかる処理量の負荷(あるいは処理時間)が増大するという問題や、未知なるフォーマットに対しては効果が無いなどの問題がある。
【0013】
以上、画像データの暗号化を例にとったが、画像データ以外のデータについても同様の問題がある。
【0014】
本発明は上記従来の事情に鑑みなされたものであり、膨大な量のデータを圧縮及び暗号化する場合において、低いCPU負荷又は短い所要時間で圧縮・暗号化の処理ができるようにすることを目的とする。
【0015】
【課題を解決するための手段】
本発明では、ハフマン符号化やJPEG、MPEGなど、ある種の圧縮符号化方式が、符号化テーブルや量子化テーブルなど、データ圧縮処理に必要なパラメータを記憶したテーブルを用い、そのテーブルの情報を圧縮データとともに1つのファイルにまとめるという点に着目した。すなわち本発明では、圧縮及び暗号化したいデータそのもの(圧縮対象データと呼ぶ)を暗号化する代わりに、そのようなデータ圧縮の際に用いるデータ変換用の参照テーブルを暗号化することとした。
【0016】
【発明の実施の形態】
以下、本発明の好適な実施の形態(以下、「実施形態」と呼ぶ)を、図面を参照して説明する。以下では、画像データを圧縮暗号化する場合を主たる例として説明する。
【0017】
図1は、本発明の実施形態に係る圧縮暗号化装置の構成を示すブロック図である。例示する装置は、画像データを圧縮暗号化する装置である。
【0018】
ブロック分割部10は、圧縮対象データ(ここでは画像データ)をn画素×n画素のデータで構成されるブロック単位に分割する。例えばJPEG圧縮の場合、n=8である。分割された各ブロックのデータは、所定の二次元直交変換処理により、n×n個の周波数成分の組に変換される(図示省略)。例えばJPEG圧縮の場合、直交変換処理としてDCT(離散コサイン変換)処理が行われる。これらn×n個の周波数成分の組が量子化部12に入力される。
【0019】
量子化部12は、入力されるn×n個の各周波数成分の値を、量子化テーブル14に基づいて量子化する。量子化テーブル14は、n×n個の量子化閾値を含んだテーブルであり、個々のテーブルエントリ(すなわち量子化閾値)は量子化処理に先立ってあらかじめ設定されている。量子化テーブル14としては、圧縮対象データの全ブロックに対してただ一つの量子化テーブル14を用いてもよいし、複数の量子化テーブル14を用い、複数ブロック毎に量子化テーブル14を変えてもよい。なお、量子化テーブル14を参照して行う量子化処理は、JPEG圧縮等で行われている一般的な処理でよい。例えば量子化処理としては、周波数成分(u,v)(u,vは0〜n−1の整数)の値をS_uvとし、量子化テーブル14においてこの周波数成分に対応する閾値をQ_uvとしたとき、次式で定義される式をn×n個のデータ全てに適用し、出力データr_uvを求める処理でよい。
【0020】
r_uv = round(S_uv / Q_uv)
ただしroundとはもっとも近い整数への整数化を意味する。
【0021】
この量子化処理は、非可逆の処理であるが、圧縮対象データのデータサイズを大幅に削減することができる。画像データの場合、このような非可逆の圧縮により多少情報が失われても、人間の目にはその影響がわかりにくい場合が多い。
【0022】
この処理により得られたn×n個の量子化データが、エントロピー符号化部16に入力される。エントロピー符号化部16は、それら量子化データに対し、符号化テーブル18を参照して符号化処理を施す。この符号化処理は、符号化テーブルを利用するエントロピー符号化処理であれば、基本的に何でもよい。例えばJPEG圧縮の場合、エントロピー符号化としてハフマン符号化処理が用いられる。また、エントロピー符号化部16では、量子化データを複数の種別に区分し、種別毎に異なるエントロピー符号化処理を施すこともできる。例えばJPEGの場合は、量子化データの直流成分と交流成分とに対し、異なる符号化処理が施される。
【0023】
符号化テーブル18は、量子化データの値と符号語との対応関係を示すテーブルであり、符号化処理に先立って設定されている。符号化テーブル18としては、1つのテーブルをすべてのデータに対して適用してもよいが、データの種別毎に、その種別の性質に応じたテーブルを用意してもよい。例えばJPEGの場合、直流成分用と交流成分用とにそれぞれ符号化テーブル18が用意される。
【0024】
エントロピー符号化部16は、量子化データの値に対応する符号語をこの符号化テーブル18から求め、これを符号化結果として出力する。n×nの1ブロックに含まれる各量子化データに対してこの符号化処理が行われる。
【0025】
以上の量子化及びエントロピー符号化により、ブロックの圧縮データが得られる。この処理が、圧縮対象データのすべてのブロックに対して繰り返される。
【0026】
以上の量子化及びエントロピー符号化と並行して、暗号化部20において、量子化テーブル及び符号化テーブルの暗号化処理が行われる。この暗号化は、テーブル自体を暗号化するものでももちろんよいが、テーブルを再構成するのに必要な情報を暗号化するものでもよい。例えばJPEGの符号化テーブルの場合、周知のように、各符号長の符号語の数を示すテーブルと発生頻度順に並べた符号化要素とが分かれば、復号側で符号化テーブルを再構成できるので、それら符号語数のテーブルと発生頻度順の符号化要素のデータを暗号化しても、符号化テーブル自体を暗号化するのと同じ効果が得られる。
【0027】
暗号化部20で用いる暗号方式は、暗号強度が十分強い暗号方式であれば、既存の標準的な暗号方式のどれを用いてもよい。例えば公開鍵暗号方式を用いることもできるし、共通鍵暗号方式と公開鍵暗号方式を組み合わせた暗号方式を用いることもできる。
【0028】
多重化部24は、エントロピー符号化部16から出力される圧縮データと、暗号化部20から出力される量子化テーブル等の暗号化データと、復号したデータを意味あるデータとして解釈するのに必要な各種パラメータ22とを1つに結合して、一つの多重化データにまとめる。JPEGの場合、この多重化処理により1つのJPEGファイルができあがる。ここで圧縮対象データが画像データの場合、パラメータ22には、例えば該画像データの全画素数、1ラインの画素数、ブロックサイズ、データ精度、コンポーネント数など、復号により得た画素データを画像情報として出力・表示するために必要となる情報が含まれる。また、このパラメータ群には、多重化データ内から暗号化データ及び圧縮データを切り分けて取り出すために必要な情報が含まれる。このような情報としては、例えば暗号化データのサイズ及び多重化データ内で暗号化データの位置(例えば、何番目のデータセグメントが暗号化データか)などを挙げることができる。この場合、暗号化データのサイズの情報は暗号化部20から、暗号化データの位置の情報は多重化部24から得ることができる。
【0029】
例えばJPEG規格のファイルフォーマットの1つであるJFIFは、大まかに言えば、パラメータ22、量子化テーブル14、符号化テーブル18、及び圧縮データの各々のフィールドがこの順に並べられ、各フィールドにはそのフィールドのデータサイズ(すなわちデータ長)の情報が含まれている。これに対し、本実施形態にて、量子化テーブル14及び符号化テーブル18のフィールドを暗号化してしまうと、復号側ではこれら各フィールドのデータ長の情報が見えなくなるので、どこまでが暗号化データであり、どこから先が圧縮データのフィールドなのかが分からなくなる。そこで、本実施形態では、前述のごとく、多重化データ内から暗号化データ及び圧縮データを切り分けて取り出すために必要な情報をパラメータ22に含めることで、復号側で暗号化データと圧縮データとが抽出できるようにしている。なお、JPEG圧縮に本実施形態の方式を適用した場合、パラメータ22のフィールド長は、JPEG規格のフォーマットの記述から分かるので、後は暗号化データのデータサイズが分かれば、圧縮データの先頭位置を求めることができ、多重化したファイルからパラメータ22,暗号化データ,圧縮データを抽出することができる。したがって、パラメータ22には暗号化データのサイズを組み込んでおけばよい。
【0030】
以上、本実施形態の圧縮暗号化装置について説明した。この装置によれば、暗号化するのは量子化テーブル14と符号化テーブル18だけであり、JPEG圧縮の場合、これらテーブルは両者合わせても400バイトにも満たない小さいデータであり、圧縮対象の画像データに比べて遙かに小さい。さらに、圧縮対象データのデータサイズが大きくなってもそれらテーブルのサイズは不変である。したがって、量子化テーブル14及び符号化テーブル18の暗号化処理に必要なCPU能力や時間はきわめて小さい。例えば画像のJPEG圧縮の場合、本実施形態の手法によれば、データサイズが1Mbyteの画像データであれば約1/2000、10Mbyteのデータであれば約1/20000に暗号化処理量を減らすことができる。
【0031】
そして、量子化テーブル14や符号化テーブル18がなければ圧縮データを正しく復号することができないので、仮に多重化データが漏洩したとしても、それらテーブルが暗号化されていれば、圧縮対象データを秘匿することができる。
【0032】
このように、本実施形態の圧縮暗号化装置によれば、従来より少ないCPU負荷又は時間でデータの圧縮及び暗号化が可能になる。
【0033】
この圧縮暗号化装置で作成された多重化データを伸長し復号する伸長復号化装置の構成の一例を図2に示す。
【0034】
伸長復号化装置において、多重分離部30は、入力される多重化データを、復号結果を意味あるデータとして解釈するために必要なパラメータ22と、圧縮対象データを圧縮符号化した圧縮データと、量子化テーブル14及び符号化テーブル18を暗号化した暗号化データとに分離する。パラメータ22は多重化データのヘッダ部分に含まれるので、このヘッダ部分から取り出すことができる。取り出したパラメータ22には、暗号化データのサイズや位置を示す情報が含まれているので、多重分離部30は、このパラメータに基づいて多重化データから暗号化データを取り出すことができる。多重化データからパラメータ22と暗号化データを取り除いた残りが圧縮データである。
【0035】
暗号復号化部32は、抽出された暗号化データを復号して量子化テーブル14及び符号化テーブル18を復元する。テーブル自体が暗号化されている場合は、単に復号化するだけでそれらテーブルが復元できる。一方、暗号化データがテーブルを再構成するのに必要な情報を暗号化したものである場合、暗号復号化部32は、暗号化データの復号結果に基づき符号化テーブル等を作成する。
【0036】
エントロピー復号化部34は、復元された符号化テーブル18を参照して、圧縮データを1ブロックずつエントロピー復号化する。この復号処理は符号化処理と逆過程の処理でよく、公知の復号処理を用いればよい。
【0037】
逆量子化部36は、エントロピー復号化されたブロックデータに対し、復元された量子化テーブル14を用いて逆量子化を行う。この逆量子化処理も公知の処理を用いることができる。
【0038】
これらエントロピー復号化部34及び逆量子化部36で1ブロック分の圧縮データを処理することにより、圧縮対象データ1ブロック分が再生される。ブロック合成部38は、再生された各ブロックのデータを、パラメータ22を参照して合成することで、圧縮対象データを再生する。
【0039】
以上、本実施形態の圧縮暗号化装置及びこれに対応する伸長復号化装置について説明した。以上に例示した装置では、量子化テーブル14及び符号化テーブル18の両方を暗号化したが、いずれか一方を暗号化する構成でも、同様の効果が期待できる。
【0040】
次に、上記実施形態の圧縮暗号化装置の第1の変形例を、図3を参照して説明する。図3において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0041】
図3に示したように、この第1の変形例では、暗号化部20aが、量子化テーブル14及び符号化テーブル18に加え、復号したデータを意味あるものとして解釈するために必要なパラメータ22をも暗号化する。これにより、パラメータ22も秘匿されるので、暗号化の強度をより高めることができる。
【0042】
ただし、この変形例では、多重化データから暗号化データと圧縮データを分別して取り出すのに必要な情報(例えば暗号化データのデータサイズ)だけは、暗号化せずに復号側に渡す必要がある。逆に言えば、この変形例では、この情報以外のパラメータ22の全項目又は一部の項目を暗号化することができる。
【0043】
第1の変形例に対応する伸長復号化装置(図示省略)は、暗号復号化部32の復号化結果からパラメータ22を抽出する以外は、図2に示した装置構成と同様でよい。
【0044】
次に図4及び図5を参照して、第2の変形例を説明する。図4はこの変形例に係る圧縮暗号化装置の構成を示す図である。図4において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0045】
この第2変形例の圧縮暗号化装置は、図1の実施形態の構成に加え、エントロピー符号化部16から出力される圧縮データから一部を抽出するデータ抽出部28を更に備える。データ抽出部28は、圧縮データからその一部のデータを取り除き、後段の多重化部24に入力する。また、暗号化部20bは、量子化テーブル14及び符号化テーブル18に加え、パラメータ22とデータ抽出部28で抽出した圧縮データの一部を暗号化し、暗号化データを生成する。そして、多重化部24は、この暗号化データと、一部が欠落した圧縮データとを多重化する。ただし、この変形例でも、多重化データから暗号化データと圧縮データを分別して取り出すのに必要な情報(例えば暗号化データのデータサイズ)だけは、暗号化せずに多重化データに含める。
【0046】
この変形例によれば、圧縮データの一部も秘匿されるため、暗号化の強度が向上する。例えば、仮に攻撃者が多重化データから圧縮データのみを抽出し、その圧縮データのパターンを解析して復号しようとしても、その圧縮データには欠落部分があり、しかもその欠落部分がどの部分なのかが分からないので、そのような解析はきわめて困難である。
【0047】
この変形例では、圧縮データから欠落させる部分のデータサイズを圧縮対象データのデータサイズに応じて変えなくても、上述の暗号強度向上の効果は得られる。
【0048】
また、この変形例では、圧縮データから欠落させる部分の位置やサイズを圧縮対象データごとに変えるようにすることもできる。これにより、暗号強度をより高めることができる。これには、例えば、圧縮暗号化処理全体を制御する制御部(図示省略)が、圧縮対象データの圧縮暗号化処理を開始する際に例えば乱数を発生させ、この乱数に従って欠落部分の位置やサイズを決定し、データ抽出部28にこれらを指示すればよい。このとき、欠落部分の位置やサイズの情報をパラメータの一つとして暗号化し、暗号化データに組み込む。
【0049】
なお、欠落部分の位置とサイズのどちらか一方のみを変化させる方式でも効果がある。
【0050】
また、この変形例において、圧縮データ中の互いに離れた複数の場所からそれぞれデータを欠落させることももちろん可能である。
【0051】
図4の圧縮暗号化装置に対応する伸長復号化装置の構成例を図5に示す。図5において、図2に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0052】
図5の伸長復号化装置では、暗号復号化部32aが多重化データの中の暗号化データを復号化し、量子化テーブル14,符号化テーブル18,パラメータ22,及び圧縮データから欠落させたデータ部分を求める。データ合成部39は、その欠落部分のデータを、多重分離部30から出力される圧縮データ(欠落あり)と合成して、元の圧縮データを復元する。このとき、データ合成部39は、暗号復号化部32aで復号化されたパラメータに含まれる欠落部分の位置やサイズの情報に基づき、一部欠落した圧縮データのしかるべき位置にその欠落部分を組み込むことで、圧縮データを復元する。圧縮データが復元された後は、図2の装置と同様の処理を行えばよい。
【0053】
なお、第2変形例では、暗号化部20bは、量子化テーブル14,符号化テーブル18,パラメータ22,及び圧縮データから欠落させたデータ部分を暗号化したが、量子化テーブル14及び符号化テーブル18の少なくとも一方と、圧縮データから欠落させたデータ部分とを暗号化する構成も可能である。
【0054】
次に、図6を参照して、第3の変形例を説明する。図6は、この変形例に係る圧縮暗号化装置の構成を示す図である。図6において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0055】
この第3変形例は、図1の装置構成に加え、テーブル管理部40を更に備える。テーブル管理部40は、量子化テーブル14及び符号化テーブル18の少なくとも一方の内容を変更する機能を備える。
【0056】
例えばデジタルスチルカメラでは、基礎となる量子化テーブルを備え、この基礎テーブルの各量子化閾値の値を、ユーザの圧縮率指定に応じたQ値(品質係数)で除することで、圧縮処理の際に参照する量子化テーブルを作成することが一般的である。また、このような基礎テーブルを圧縮対象の画像データのシーンごとに個別に備え、そのシーンに応じた基礎テーブルを用いるものも知られている。しかし、いずれにしても、カメラが圧縮に用いる量子化テーブルの種類はさほど多くない。
【0057】
したがって、暗号化データが解読できなくても、例えば使用される可能性の高い量子化テーブルの候補を総当たりで適用すれば、良好な復号結果が得られる可能性もある。
【0058】
これに対し、この第3変形例では、圧縮率の指定やシーンの性質のなどに基づいて作成された量子化テーブル内の量子化閾値の一部又は全部の値を、テーブル管理部40により変更することで、使用される量子化テーブルの範囲を広げることができ、総当たり攻撃の成功率を減らすことができる。
【0059】
ここで量子化テーブル内の閾値を大きくする方向に変更すると画質劣化を招くので、画質劣化を避けたい構成では、閾値を小さくする方向に変更することが必要である。この場合、データの圧縮率は劣化するが、暗号の安全性は高まる。
【0060】
また、テーブル管理部40が、量子化テーブルの変更処理を行う際、そのテーブル内の閾値のうち値を変更するものやその数をランダムに決定するようにすれば、使用される量子化テーブルのバリエーションが多くなって好ましい。また、閾値の変更量や変更割合などをその都度ランダムに変えることも好適である。
【0061】
テーブル管理部40による量子化テーブルの変更処理は、毎回の圧縮暗号化処理ごとや、圧縮暗号化処理を複数回行うごとなど、所定の規則に従って定まるタイミング毎に行えばよい。
【0062】
以上、テーブル管理部40により量子化テーブル14の内容を動的に変更する例を説明したが、同様の方法で符号化テーブル18を動的に変更することも可能である。
【0063】
次に、図7を参照して、第4の変形例を説明する。図7は、この変形例に係る圧縮暗号化装置の構成を示す図である。図7において、図1に示した装置の構成要素と同一又は類似の構成要素には、同一符号を付してその説明を省略する。
【0064】
この第4変形例の圧縮暗号化装置は、図1の装置構成に加え、テーブル管理部40aを更に備える。このテーブル管理部40aは、量子化テーブル14及び符号化テーブル18の少なくとも一方のテーブルサイズを変更する機能を備える。
【0065】
ここで、テーブルサイズとは、テーブルのエントリ(項目欄)の数のことである。例えば量子化テーブル14には、ブロック分割部10における圧縮対象データのブロックのサイズ、すなわち「n×n」に対応して、n×nのエントリが存在する。すなわち、量子化テーブル14のサイズはnの値で決まる。同様に、符号化テーブルの場合、テーブルサイズは、例えば使用する符号語長の幅や、各語長で用いる符号語の数で決まる。
【0066】
また、テーブルサイズの変更は、例えばあらかじめ各サイズのテーブルをそれぞれ用意しておき、それらテーブルの中から使用するものを選択することにより実現できる。例えば、量子化テーブル14のサイズを変更する場合、8×8ブロック用のテーブル、9×9ブロック用のテーブル、10×10ブロック用のテーブル、・・・と言った具合に、テーブルサイズ毎に1つ又は複数の量子化テーブルをそれぞれ用意しておけばよい。そして、所定の規則に基づき決定されるテーブル変更タイミング毎に、それらの用意した複数のテーブルの中から圧縮処理に用いるテーブルを選択することで、「テーブルサイズの変更」を実現できる。符号化テーブルのサイズ変更も、同様に、あらかじめサイズの異なる符号化テーブルを複数用意しておき、その中から使用するものを動的に決定することで、実現できる。
【0067】
テーブル変更タイミングは、例えば、圧縮対象データの圧縮処理ごとや、圧縮処理を所定数回行うごとなど、所定の規則に基づき自動決定すればよい。
【0068】
テーブル管理部40aは、このようなテーブル変更タイミングごとに、量子化テーブル14及び符号化テーブル18のサイズを、ランダムに又は所定のサイズ変更規則に従って決定する。そして保持している各サイズのテーブルの中からそのサイズのものを選んで量子化部12及びエントロピー符号化部16に提供する。また、テーブル管理部40aは、量子化テーブル14のテーブルサイズ、すなわちnの値をブロック分割部10に提供する。ブロック分割部10は、このnの値に応じてブロックサイズを設定し、圧縮対象データをn×n画素のブロックに分割する。ここで、必要に応じて、各テーブル14及び18のテーブルサイズを示す情報をパラメータ22の一部として多重化データに組み込むことも可能である。これにより、復号側でそれらテーブルを正しく復元することができる。このテーブルサイズの情報を暗号化した上で多重化データに組み込めば、データ漏洩時の安全性を高めることができる。
【0069】
ここでは、量子化テーブル14と符号化テーブル18の両方のサイズを変更する場合を例示したが、一方のみをサイズ変更する構成でも効果がある。また、テーブルサイズの変更に加え、前記第3変形例と同様に、選択したテーブルの中の一部又は全部のエントリの値を動的に変更することも可能である。これにより、更に暗号強度を高めることができる。
【0070】
第4変形例の圧縮暗号化装置によれば、量子化テーブル14及び符号化テーブル18のうち少なくとも一方のテーブルサイズを動的に変更するので、攻撃者がそれらテーブルを推定することが困難となる。これにより暗号強度が向上する。
【0071】
なお、第4変形例の圧縮暗号化装置に対応する伸長復号化装置は、復号化により復元した量子化テーブル14のテーブルサイズに合わせて、ブロック合成におけるブロックサイズを設定する構成とすればよい。
【0072】
【発明の効果】
以上説明してきたように、上記実施形態及び各変形例によれば、例えば価格や携帯性などの理由からCPU性能やメモリ量などに制約がある場合でも、暗号化に必要となる処理量(処理時間)が少なくなるので、セキュアかつ実用的なサービスが実現可能となる。
【0073】
以上に説明した実施形態及び各変形例の圧縮暗号化装置及び伸長復号化装置は、プログラムを用いてソフトウエア的に実現することもできるし、その一部又は全部をハードウエア回路化することも可能である。
【0074】
以上、画像データの圧縮を例にとって説明したが、本発明の手法は、動画像データやテキストデータなどの各種データに適用可能である。また、本発明の手法は、JPEG圧縮以外にも、MPEG圧縮やハフマン符号化など、圧縮処理のために符号化テーブル等の変換テーブルを用いる各種圧縮方式に適用可能である。
【図面の簡単な説明】
【図1】実施形態の圧縮暗号化装置の構成を示す機能ブロック図である。
【図2】実施形態の伸長復号化装置の構成を示す機能ブロック図である。
【図3】第1変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図4】第2変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図5】第2変形例の伸長復号化装置の構成を示す機能ブロック図である。
【図6】第3変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【図7】第4変形例の圧縮暗号化装置の構成を示す機能ブロック図である。
【符号の説明】
10 ブロック分割部、12 量子化部、14 量子化テーブル、16 エントロピー符号化部、18 符号化テーブル、20 暗号化部、22 パラメータ、24 多重化部。
Claims (12)
- 所定の参照テーブルを参照して圧縮対象データをデータ圧縮する圧縮手段と、
前記参照テーブル自体又はその参照テーブルを再構成するのに必要な情報を暗号化する暗号化手段と、
前記圧縮手段により得られた圧縮データと、前記テーブル暗号化手段により得られた暗号化データとをまとめて多重化データを作成する多重化手段と、
を備え、前記多重化データを暗号化結果として出力する圧縮暗号化装置。 - 前記参照テーブルは、前記圧縮対象データの各周波数成分の値を量子化する際の量子化ステップサイズを定めた量子化テーブルであることを特徴とする請求項1記載の圧縮暗号化装置。
- 前記参照テーブルは、データをエントロピー符号化する際のデータ値と符号語との関係を定めた符号化テーブルであることを特徴とする請求項1記載の圧縮暗号化装置。
- 前記暗号化手段は、更に前記圧縮データをデータ伸長することにより得られるデータを意味あるデータとして解釈するために必要となるパラメータを暗号化することを特徴とする請求項1記載の圧縮暗号化装置。
- 前記圧縮データから一部のデータを取り除くデータ抽出手段を更に備え、
前記暗号化手段は、更に前記データ抽出手段により前記圧縮データから取り除かれた一部のデータを暗号化し、
前記多重化手段は、前記データ抽出手段により前記一部のデータを取り除いた残りの圧縮データと、前記暗号化手段の暗号化結果とをまとめて前記多重化データを作成する、
ことを特徴とする請求項1記載の圧縮暗号化装置。 - 前記圧縮対象データの性質及び前記データ圧縮の圧縮条件の少なくとも一方に応じて作成された参照テーブルのうち、少なくとも1つのテーブルエントリの値を変更する参照テーブル変更手段を更に備え、前記圧縮手段は前記参照テーブル変更手段で変更された前記参照テーブルを用いてデータ圧縮を行うことを特徴とする請求項1記載の圧縮暗号化装置。
- 前記参照テーブルのテーブルサイズを変更する参照テーブル変更手段を更に備え、前記圧縮手段は前記参照テーブル変更手段でサイズ変更された前記参照テーブルを用いてデータ圧縮を行うことを特徴とする請求項1記載の圧縮暗号化装置。
- 入力された多重化データから、圧縮データと暗号化データとを抽出するデータ抽出手段と、
前記暗号化データを復号することにより、データ伸長の際に参照すべき参照テーブルを求める復号化手段と、
前記参照テーブルを参照して前記圧縮データを伸長する伸長手段と、
を備え、前記伸長手段により伸長されたデータを復号結果として出力する伸長復号化装置。 - 所定の参照テーブルを参照して圧縮対象データをデータ圧縮する圧縮ステップと、
前記参照テーブル自体又はその参照テーブルを再構成するのに必要な情報を暗号化する暗号化ステップと、
前記圧縮手段により得られた圧縮データと、前記テーブル暗号化手段により得られた暗号化データとをまとめて多重化データを作成し、出力する多重化ステップと、
を含む圧縮暗号化方法。 - 入力された多重化データから、圧縮データと暗号化データとを抽出するデータ抽出ステップと、
前記暗号化データを復号することにより、データ伸長の際に参照すべき参照テーブルを求める復号化ステップと、
前記参照テーブルを参照して前記圧縮データを伸長し、その伸長結果を出力する伸長ステップと、
を含む伸長復号化方法。 - コンピュータシステムに、
所定の参照テーブルを参照して圧縮対象データをデータ圧縮する圧縮ステップと、
前記参照テーブル自体又はその参照テーブルを再構成するのに必要な情報を暗号化する暗号化ステップと、
前記圧縮手段により得られた圧縮データと、前記テーブル暗号化手段により得られた暗号化データとをまとめて多重化データを作成し、出力する多重化ステップと、
を実行させるためのプログラム。 - コンピュータシステムに、
入力された多重化データから、圧縮データと暗号化データとを抽出するデータ抽出ステップと、
前記暗号化データを復号することにより、データ伸長の際に参照すべき参照テーブルを求める復号化ステップと、
前記参照テーブルを参照して前記圧縮データを伸長し、その伸長結果を出力する伸長ステップと、
を実行させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002367671A JP2004198760A (ja) | 2002-12-19 | 2002-12-19 | 圧縮暗号化装置及び伸長復号化装置 |
| US10/624,681 US7372963B2 (en) | 2002-12-19 | 2003-07-23 | Device for compression and encryption, and device for decompression and decryption |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002367671A JP2004198760A (ja) | 2002-12-19 | 2002-12-19 | 圧縮暗号化装置及び伸長復号化装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004198760A true JP2004198760A (ja) | 2004-07-15 |
Family
ID=32588348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002367671A Pending JP2004198760A (ja) | 2002-12-19 | 2002-12-19 | 圧縮暗号化装置及び伸長復号化装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7372963B2 (ja) |
| JP (1) | JP2004198760A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006148251A (ja) * | 2004-11-16 | 2006-06-08 | Nec Corp | スクランブル処理装置、スクランブル解除装置 |
| JP2014131197A (ja) * | 2012-12-28 | 2014-07-10 | Axell Corp | コンテンツデータ処理方法、コンテンツサーバ、クライアント端末、及びコンテンツ配信システム |
| JP2017535123A (ja) * | 2014-09-19 | 2017-11-24 | グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy | エンコーダ、デコーダ、及び部分的データ暗号化を用いる方法 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI227628B (en) * | 2003-11-26 | 2005-02-01 | Inst Information Industry | System and method for image protection |
| US20070189578A1 (en) * | 2005-05-25 | 2007-08-16 | Macrovision Corporation | Computer-implemented method and system for perceptual cryptography in file-sharing environments |
| US7809820B2 (en) * | 2007-07-17 | 2010-10-05 | Microsoft Corporation | Optimizing encrypted wide area network traffic |
| US20090169001A1 (en) * | 2007-12-28 | 2009-07-02 | Cisco Technology, Inc. | System and Method for Encryption and Secure Transmission of Compressed Media |
| US20110191587A1 (en) * | 2010-02-02 | 2011-08-04 | Futurewei Technologies, Inc. | Media Processing Devices With Joint Encryption-Compression, Joint Decryption-Decompression, And Methods Thereof |
| CN104041056B (zh) * | 2011-09-07 | 2019-04-02 | 爱迪德技术有限公司 | 用于增强内容安全性的方法和系统 |
| JP2016513825A (ja) * | 2013-03-14 | 2016-05-16 | マサチューセッツ インスティテュート オブ テクノロジー | 安全通信方法および装置 |
| RU198678U1 (ru) * | 2019-12-31 | 2020-07-22 | Федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М.Штеменко" Министерства обороны Российской Федерации | Устройство адаптивного сжатия и выборочного шифрования данных цифрового изображения |
| GB2593523B (en) * | 2020-03-26 | 2023-06-14 | Imagination Tech Ltd | Image data compression |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4646061A (en) * | 1985-03-13 | 1987-02-24 | Racal Data Communications Inc. | Data communication with modified Huffman coding |
| JPH04294684A (ja) * | 1991-03-22 | 1992-10-19 | Sony Corp | 画像データのエンコード方法、デコード方法及び記録媒体 |
| JPH06125553A (ja) | 1992-10-12 | 1994-05-06 | Oki Electric Ind Co Ltd | 画像データ暗号化方法 |
| US6122379A (en) * | 1996-05-30 | 2000-09-19 | Deloitte & Touche Inc. | Method and apparatus for performing simultaneous data compression and encryption |
| JP2000115551A (ja) | 1998-09-30 | 2000-04-21 | Fuji Photo Film Co Ltd | 暗号化方法、復号化方法、暗号化装置、復号化装置及び記録媒体 |
| JP2002190798A (ja) | 2000-12-20 | 2002-07-05 | Nec Corp | 暗号化装置および復号化装置 |
-
2002
- 2002-12-19 JP JP2002367671A patent/JP2004198760A/ja active Pending
-
2003
- 2003-07-23 US US10/624,681 patent/US7372963B2/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006148251A (ja) * | 2004-11-16 | 2006-06-08 | Nec Corp | スクランブル処理装置、スクランブル解除装置 |
| JP2014131197A (ja) * | 2012-12-28 | 2014-07-10 | Axell Corp | コンテンツデータ処理方法、コンテンツサーバ、クライアント端末、及びコンテンツ配信システム |
| JP2017535123A (ja) * | 2014-09-19 | 2017-11-24 | グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy | エンコーダ、デコーダ、及び部分的データ暗号化を用いる方法 |
| US10320557B2 (en) | 2014-09-19 | 2019-06-11 | Gurulogic Microsystems Oy | Encoder, decoder and methods employing partial data encryption |
Also Published As
| Publication number | Publication date |
|---|---|
| US20040120517A1 (en) | 2004-06-24 |
| US7372963B2 (en) | 2008-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zhang | Separable reversible data hiding in encrypted image | |
| Qian et al. | Separable reversible data hiding in encrypted JPEG bitstreams | |
| Qian et al. | New framework of reversible data hiding in encrypted JPEG bitstreams | |
| US10785545B2 (en) | Systems and methods for simultaneous compression and encryption | |
| He et al. | A novel high-capacity reversible data hiding scheme for encrypted JPEG bitstreams | |
| Itier et al. | Recompression of JPEG crypto-compressed images without a key | |
| JP6608436B2 (ja) | エンコーダ、デコーダ、及び部分的データ暗号化を用いる方法 | |
| AU2009265724B2 (en) | Methods and apparatuses for selective data encryption | |
| Karim et al. | Universal data embedding in encrypted domain | |
| Van Droogenbroeck et al. | Techniques for a selective encryption of uncompressed and compressed images | |
| Chen et al. | Compression-unimpaired batch-image encryption combining vector quantization and index compression | |
| Bourbakis et al. | SCAN-based compression-encryption-hiding for video on demand | |
| JP2004198760A (ja) | 圧縮暗号化装置及び伸長復号化装置 | |
| US8971532B1 (en) | System and methods for protecting video content | |
| JP5393886B2 (ja) | メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法 | |
| US20070217607A1 (en) | Repetition Coded Compression For Encrypting Highly Correlated Data | |
| Obaida | Combining audio samples and image frames for enhancing video security | |
| Ahmed et al. | A perceptually scalable and jpeg compression tolerant image encryption scheme | |
| Rashid et al. | Deduplication practices for multimedia data in the cloud | |
| Mohamed et al. | Joint compression-encryption technique based on arithmetic coding for jpeg images | |
| JP2010021931A (ja) | 映像送信装置及び映像受信装置 | |
| Mashkour et al. | A Secure Data Hiding For H. 264 Video Based on Chaotic Map Methods and RC4 Algorithm | |
| Itier et al. | How to recompress a JPEG crypto-compressed image? | |
| Albawi et al. | Text Hiding in MPEG-l Video File Using Header Location | |
| Suguna | An Efficient Encryption-Then-Compression System using Asymmetric Numeral Method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051124 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090716 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090811 |