JP2002509389A - データの同時暗号化ならびに圧縮のための方法および装置 - Google Patents

データの同時暗号化ならびに圧縮のための方法および装置

Info

Publication number
JP2002509389A
JP2002509389A JP2000539609A JP2000539609A JP2002509389A JP 2002509389 A JP2002509389 A JP 2002509389A JP 2000539609 A JP2000539609 A JP 2000539609A JP 2000539609 A JP2000539609 A JP 2000539609A JP 2002509389 A JP2002509389 A JP 2002509389A
Authority
JP
Japan
Prior art keywords
data
compression
encryption key
compression algorithms
character
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.)
Granted
Application number
JP2000539609A
Other languages
English (en)
Other versions
JP4739519B2 (ja
JP2002509389A5 (ja
Inventor
クランダル,リチャード・イー
Original Assignee
アプル・コンピュータ・インコーポレーテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アプル・コンピュータ・インコーポレーテッド filed Critical アプル・コンピュータ・インコーポレーテッド
Publication of JP2002509389A publication Critical patent/JP2002509389A/ja
Publication of JP2002509389A5 publication Critical patent/JP2002509389A5/ja
Application granted granted Critical
Publication of JP4739519B2 publication Critical patent/JP4739519B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Abstract

(57)【要約】 コンクリプタ(100)が圧縮器セット(105)および順序変更セット(110)とともに作用する。コンクリプタ100は、入力キー(120)に基づいて入力ソース・データ(115)の圧縮ならびに暗号化を同時に実行する。コンクリプタ(100)の出力は、圧縮され、暗号化された、いわゆるコンクリプト済みデータ(125)になる。圧縮器セット(105)は、コンクリプタ(100)による使用のための、複数の圧縮アルゴリズムを包含している。通常圧縮器セット(105)内には、少なくとも2つの圧縮アルゴリズムが用意されるが、任意数の存在が許容される。圧縮器セット(105)内の使用可能な圧縮アルゴリズムの数が多いほど、しかし任意数の存在が許容される。圧縮器セット(105)内の使用可能な圧縮アルゴリズムの数が多いほど、セキュリティのレベルが高くなる。

Description

【発明の詳細な説明】
【0001】 発明の背景 発明の分野 本発明は、データの暗号化ならびにデータの圧縮に関する。より詳細に述べれ
ば、本発明はデータの暗号化と圧縮を同時に行うことに関する。
【0002】 背景 データの暗号化は、ほとんどものを書くことが始まって以来の個人、ビジネス
、および政府の関心事である。より最近になっては、インターネット等の大衆伝
達経路を介したデータ記憶ならびにデータの転送から、選択グループ以外に認識
できないデータのストアならびに転送への要望が急増している。しかしながら、
永久に発展し続けるコンピュータ・テクノロジによって、コードおよび暗号化ス
キームの解除つまり「解読」できる最新のコンピュータ・システムも高速化し続
けている。つまり暗号化は、ますます難しいものとなっている。
【0003】 それに加えて、世界が「情報化時代」に突入したことによって、データ圧縮と
いう追加の要求が生じた。日常的に大量の情報のストアならびに転送が行われて
いる。しかしながら、特に記憶デバイスおよび通信路は、記憶ならびに転送に対
するユーザの要求に追随し得ないでいる。かくして、各種の圧縮テクニックを使
用して、圧縮しないデータの場合に必要とするよりも小さい記憶デバイス、短い
転送時間でデータがストアされ、あるいはその転送が行われることになる。
【0004】 しかしながら、現在の圧縮ならびに暗号化の方法には、速度という点で1つの
問題が存在する。実行される圧縮および/または暗号化の各追加のステップは、
コンピュータ・システムよる追加の処理時間を必要とする。したがって、所望の
ストアもしくはデータ転送を得るためには、追加の時間が要求される。
【0005】 以上のことから、データの圧縮ならびに暗号化を行う改良された方法が求めら
れている。
【0006】 発明の要約 データの圧縮と暗号化を同時に行うための方法および装置を開示する。本発明
は、暗号化キーを識別し、当該暗号化キーを使用して圧縮アルゴリズムのセット
から1つの圧縮アルゴリズムを識別する。その後、本発明は、当該1つの圧縮ア
ルゴリズムに従ってデータを圧縮する。
【0007】 以下、添付の図面を参照し、例を示して本発明を説明するが、本発明がこれら
の図面によって限定されることはなく、また図面においては、類似の要素に類似
の参照記号を用いるものとする。
【0008】 詳細な説明 以下の説明においては、本発明の各種側面を説明する。しかしながら当業者で
あれば、本発明が、本発明の一部のみ、ないしはすべての側面を用いて実施し得
ることを理解されるであろう。説明目的から、本発明を完全に理解させるため、
具体的な数、材料および構成を示す。しかしながら、これについても当業者であ
れば明らかであろうが、本発明はこれらの特定の詳細から離れて実施できる。
【0009】 以下の詳細な説明の一部は、コンピュータ・メモリ内のデータ・ビットを操作
するアルゴリズムおよび記号表現として示されている。これらのアルゴリズムの
記述ならびに表現は、もっとも効果的にその作用の実体を他の当業者に伝達する
ものとして、データ処理技術の当業者によって使用されている手段である。ここ
において、また一般にアルゴリズムは、所望の結果を導く自己矛盾のない一連の
ステップであると解釈される。これらのステップは、物理量の物理的な操作を必
要とする。通常これらの量は、ストア、転送、結合、比較、およびその他の操作
が可能な電気または磁気信号となるが、それを必須とはしない。しばしば、専ら
共通の用途を理由に、ビット、値、エレメント、記号、文字、項、数等としてこ
れらの信号を参照すると便利であることが立証されている。しかしながら、これ
らの、ならびに類似の用語のすべてが、適切な物理量に関連付けされており、そ
の量に付された便宜上のラベルに過ぎないことを念頭に置く必要がある。特に示
さない限り、以下の議論から明らかように、本発明の全体を通じて、「処理」ま
たは「演算」または「計算」または「判断」または「表示」等々は、コンピュー
タ・システムもしくは類似の電子コンピューティング・デバイスの、コンピュー
タ・システムのレジスタおよびメモリ内における物理的な(電子的な)量として
表されたデータを操作し、物理量として同様に表現される、コンピュータ・シス
テムのメモリまたはレジスタまたはその他の情報記憶デバイス、伝送デバイス、
または表示デバイス内における他のデータに変換するアクションおよびプロセス
を指す。
【0010】 図1は、本発明の一実施形態に従ってデータの暗号化と圧縮を同時に行うため
のデバイスを示したブロック図である。ここには、「コンクリプタ」100、圧
縮器セット105、および任意選択で順序変更セット110が図示されている。
コンクリプタ100は、入力キー120に基づき、入力ソース・データ115に
対する圧縮と暗号化を同時に実行する。コンクリプタ100の出力は、圧縮およ
び暗号化が行われたデータ125であり、これを「コンクリプト済み」データと
呼んでいる。
【0011】 圧縮器セット105は、コンクリプタ100による使用のための複数の圧縮ア
ルゴリズムを包含している。一実施形態によれば、相当数の圧縮アルゴリズムが
圧縮器セット105として使用可能である。実質的に任意数の圧縮アルゴリズム
が圧縮器セット105として使用可能であるが、一般に少なくとも2つの圧縮ア
ルゴリズムが圧縮器セット105として用意される。ここで、概して圧縮器セッ
ト105として使用可能な圧縮アルゴリズムの数が増加するほど、本発明のコン
クリプション(圧縮暗号化)の安全性が高くなる(つまり、キーなしのデータの
解読がより困難になる)ことに注意されたい。
【0012】 複数の圧縮アルゴリズムのうち、いずれがコンクリプタ100によって使用さ
れるかはキー120に依存する。本発明の一実施形態によれば、圧縮器セット1
05内のコンクリプタ100が使用可能な少なくともいくつかの圧縮アルゴリズ
ムは、可変ビット・ストリーム圧縮器である。可変ビット・ストリーム圧縮器は
、異なる入力文字が異なるビット数によって表現される出力を提供する。つまり
、2つの異なる文字を圧縮すると、それぞれが異なるビット数によって表現され
、たとえば文字「e」が「0」により表され、文字「z」が「1011011」
によって表される。
【0013】 順序変更セット110は、コンクリプタ100による使用のための複数の順序
変更アルゴリズムを包含している。詳細は後述するが、順序変更セット110お
よびコンクリプタ100による順序変更の使用はオプションである。一実施形態
によれば、相当数の順序変更アルゴリズムが順序変更セット110として使用可
能である。事実上、任意数の順序変更アルゴリズムが順序変更セット110とし
て用意することができる。複数の順序変更アルゴリズムのうち、いずれがコンク
リプタ100によって使用されるかはキー120に依存する。順序変更セット1
10として、ラビー・ラックオフ順列に基づく順序変更アルゴリズム等の各種広
範な従来の順序変更アルゴリズムのいずれも使用することができる。ラビー・ラ
ックオフ順列の詳細な解説については、SIAM Journal on Co
mputing(SIAMコンピューティング・ジャーナル)v.17、no.
2(1988年)373〜386ページのM. Luby(M.ラビー)および
C. Rackoff(C.ラックオフ)による「How to constr
uct pseudorandom permutations from p
seudorandom functions(疑似ランダム関数から疑似ラン
ダム順列を構成する方法)」を参照されたい。
【0014】 キー120は、任意の複数ビット・キーまたはパスワードとすることができる
。キー120には、数字、アルファベット、もしくは記号形式、またはこれらの
任意の組み合わせが可能である。英数字および記号は、ASCII(アスキー)
コーディング等の広範な各種の従来方法において一連のビットに変換される。つ
まり、ユーザは、長々しい素数ないしはそれに類似した覚えにくいキーの使用を
求められることなく、ユーザが覚えやすいワード、数字、フレーズ等を選択する
ことができる。
【0015】 ソース・データ115は、コンクリプタ100によってコンクリプトされる入
力データである。ソース・データ115は、プレーン・テキスト・データ、別の
圧縮もしくは暗号化アルゴリズムによって圧縮ないしは暗号化されたデータ、イ
メージ・データ等を含む任意タイプのデータとすることができる。図示した例に
おいては、コンクリプタ100がソース・データ115を、文字毎ベースでコン
クリプトする。変形実施形態においては、コンクリプタ100がソース・データ
115を、複数文字毎ベースでコンクリプトする。
【0016】 図2は、本発明の一実施形態に従ってデータの暗号化ならびに圧縮を同時に行
うステップを示したフローチャートである。まずステップ205において、デー
タが受け取られる。図示した例においては、このデータは2文字または3文字ブ
ロック等のような、複数文字からなるデータ・ブロックである。しかしながら、
変形実施形態においては、それぞれのデータをより大きくし、たとえばセンテン
ス、パラグラフ、もしくはその他の文字のグループ、または入力データの任意数
のビット(たとえば8ビットまたは16ビット)の一部とすることも可能であり
、逆に単一文字等のようにより小さくすることも可能である。
【0017】 データを受け取るとコンクリプタ100は、ステップ210において、キーに
基づいて使用する特定の圧縮アルゴリズムを識別する。続いてステップ215に
おいてコンクリプタ100は、当該特定の圧縮アルゴリズムを使用してデータを
圧縮し、オプションとしてそのデータの順序変更を行う。順序変更が行われる場
合には、複数の順序変更アルゴリズムに対するインデックスとしてキー120が
使用され、それによってアルゴリズムの1つが選択される。コンクリプタ100
は、キー120の個別のビットを使用し、あるいはそれに代えてキー120の複
数のビットを使用して、詳細を後述するが、特定の圧縮アルゴリズムの選択と同
様に、特定の順序変更アルゴリズムを識別することができる。キー120に基づ
く圧縮アルゴリズムの選択および、オプションとしての順序変更アルゴリズムの
選択は、本発明の暗号化に関する部分である。コンクリプタ100は、その後ス
テップ220において圧縮済みのデータを出力する。つまり、キーを用いて、使
用する特定の圧縮アルゴリズムを識別することにより、データの圧縮および暗号
化が同時に行われることがわかる。
【0018】 したがって図2からわかるように、ソース・データは、暗号化ならびに圧縮プ
ロセスが一体化された組み合わせを使用して、単一のステップで暗号化および圧
縮が行われる。圧縮および暗号化を同時に行うことによって、本発明は、圧縮と
暗号化を個別に実行する場合より、データを高速に圧縮し、暗号化することがで
きる。さらにコンクリプタ100の選択対象となる圧縮器セット105として使
用可能な圧縮アルゴリズムを多数用意し、データの部分ごとに圧縮アルゴリズム
を変更できるようにすれば、コンクリプタ100は安全な暗号化プロセスを提供
できる。したがって、本発明は、短時間にデータを圧縮し、かつ安全な暗号化を
提供することができる。
【0019】 コンクリプト済みのデータのデコンクリプション(伸張解読)は、データのコ
ンクリプションに使用したステップの逆を実行することによって行われる。キー
およびコンクリプト済みのデータが与えられれば、デコンクリプタが、データの
各部分の圧縮に使用された圧縮アルゴリズムを識別することが可能になり、それ
によって適切な伸張アルゴリズムを使用してデータを伸張することができる。
【0020】 図示した実施形態においては、データの個々の文字ごとに、圧縮アルゴリズム
を識別するためにキー120の各ビットが使用される。本発明の変形実施形態に
よれば、データの複数文字ごとに、単一のビットが使用されて圧縮アルゴリズム
が識別される。例を示せば、キー120は、データのブロック全体、たとえばテ
キスト・ドキュメントの1パラグラフあるいはテキスト・ドキュメント全体に用
いる特定の圧縮アルゴリズムを識別することができる。
【0021】 本発明の一実施形態によれば、さらにキー120またはコンクリプト済みデー
タ125の暗号化によって追加のセキュリティが得られる。たとえば、デコンク
リプトを行う相手に転送する前に、各種存在する従来の暗号化メカニズムのいず
れかを使用してキー120またはコンクリプト済みデータ125を暗号化する。
しかしながら、この種の追加の暗号化はデータ転送のセキュリティを高めるが、
データをコンクリプトし、暗号化するための時間が増加するだけでなく、それを
受け取って解読し、デコンクリプトする時間も増加することを認識する必要があ
る。この種の追加の暗号化方法の例としては、米国特許第5,159,632号
、同第5,271,061号、および同第5,463,690号に見られる方法
をはじめ、よく知られたRSAアルゴリズム等の方法がある。
【0022】 本発明の一実施形態によれば、図1に示した圧縮器セット105が、複数バリ
エーションの「ムーブ・フォワード(move-forward)圧縮アルゴリズムを備えてい
る。ムーブ・フォワード・アルゴリズムは、周知のBSTW圧縮アルゴリズムの
変形である。標準BSTW圧縮においては、入力データに対応する文字のスタッ
クが維持され、文字が入力データ内に現れるごとに、常にスタックの先頭に文字
を移動する。圧縮プロセスの最後におけるスタックの状態が与えられれば、伸張
器は、オリジナルのデータを再計算することができる。通常、BSTW圧縮内の
スタックは、ASCII(アスキー)コーディングにある256文字を含む。B
STW圧縮に関するさらに詳しい議論については、1987年9月のD.A.
Lelewer(D.A.レレワー)およびD.S. Hischberg(D
.S.ヒシュバーグ)によるACM Computing Surveys(A
CMコンピューティング・サーベイ)3、9を参照されたい。
【0023】 ムーブ・フォワード圧縮においては、BSTW圧縮の場合と同様に入力データ
に対応する文字のスタックが維持され、文字が入力データ内に現れるごとに、ス
タック内を前方に、スタック内の現在のポジションより高いポジションまでそれ
を移動するが、必ずしもスタックの先頭まで移動されない。本発明の一実施形態
によれば、スタックが256文字を含む。スタック・サイズの代表的な値は、2
56〜65,536エレメントまでの範囲となるが、変形実施形態においては、
これよりスタック・サイズを大きく、あるいは小さくすることもできる。本発明
の一実施形態によれば、スタック内の各エントリまたはエレメントは、複数文字
からなるデータのブロックであり、たとえば「ed」、「ing」、「the」
等となる。本発明の別の実施形態によれば、スタック内の各エントリまたはエレ
メントは、単一文字からなるデータのブロックであり、たとえば「a」、「b」
、「c」等となる。
【0024】 ムーブ・フォワード圧縮を使用するとき、スタック内における文字の新しいポ
ジションは次式によって決定される。 x=y−z・y これにおいて、スタックの先頭はポジション0であり、xはスタック内におけ
るその文字の新しいポジション、yはその文字のスタック内における現在のポジ
ション、zはゼロから1までの範囲の変数であり、文字を前方に移動させる程度
を示す。この式から、zの値を大きくするほど、文字が前方に移動することがわ
かる。詳細は後述するが、zの値は、キーのビットに応じて動的に割り当てるこ
とができる。ここで、yおよびzの値によっては、xが非整数値となり得ること
に注意する必要がある。xが非整数値の場合は、各種ある丸め規則のいずれかに
従ってxの丸めを行う。たとえば、小数部を切り捨て、整数部のみを使用するx
の整数フロア(integer floor)を使用することが考えられる。1つの実装態様に おいては、xの小数部がカットオフ値0.5より大きければxを切り上げ、そう
でなければ切り捨てを行う。しかしながら、別の実装態様においては、ゼロから
1までの範囲でこれとは異なるカットオフ値を使用することもできる。
【0025】 図3は、ムーブ・フォワード圧縮アルゴリズムの選択および本発明の一実施形
態に従ったデータの圧縮を示したフローチャートである。まずコンクリプタ10
0は、ステップ305において個々のデータの複数文字ブロックを識別する。続
いてコンクリプタ100は、オプションのステップ307においてデータの複数
文字ブロックを入れ替える。つまり、このオプションが選択されているときは、
スタックの操作において、オリジナルのソース・データではなく、入れ替えが行
われた後のデータの複数文字ブロックが使用される。
【0026】 次にコンクリプタ100は、その識別済みの複数文字ブロックがスタック内に
存在するか否かチェックする。その複数文字ブロックがスタック内に存在しなけ
れば、ステップ315においてそのブロックの実際の文字を出力する。しかしな
がら、識別済みの複数文字ブロックがスタック内に存在するときは、ステップ3
20においてスタック内のそのブロックのロケーションを識別し、ステップ32
5において、注目しているデータの複数文字ブロックの、圧縮後の表現としてそ
のロケーションを出力する。
【0027】 図示した実施形態においては、エントロピ・ベースのエンコーダが使用されて
、出力スタックのロケーションが、またスタック内に複数文字ブロックがないと
きはブロックの実際の文字が、それぞれエンコードされる。エントロピ・ベース
のエンコーダは、可変ビット・ストリーム出力を提供し、スタック・ロケーショ
ンの数字が低いほど、ビット数が少なくなる。例を示せば、出力スタック・ロケ
ーション内の値「0」は、スタック・ロケーション内の値「255」よりビット
数が少ない。周知のホフマン・エンコーディング等の、各種ある従来のエントロ
ピ・ベースのエンコーディング・スキームのいずれも使用することができる。
【0028】 その後コンクリプタ100は、ステップ330において識別済みの複数文字ブ
ロックに対応するキー・ビットを識別し、さらにステップ335において、その
キー・ビットがゼロであるか否かをチェックする。このキー・ビットがゼロであ
れば、ステップ340においてコンクリプタ100は、その複数文字ブロックを
上方に向かって1/4だけ移動する。しかしながら、このキー・ビットがゼロで
なければ、ステップ345において、その複数文字ブロックを上方に向かって1
/2だけ移動する。この後ステップ305に戻り、次に複数文字ブロックについ
て以上のプロセスを繰り返す。
【0029】 図示した実施形態においては、ソース・データ115の異なる複数文字ブロッ
クが、キー120の異なるビットに対応する。通常ソース・データ115は、イ
メージまたはテキスト・ドキュメントのように、多数の複数文字ブロックからな
るデータを含んでいる。ソース・データ115は、概してキー120内のビット
数より多くの複数文字ブロックを含んでおり、そのためキー120の単一のビッ
トがソース・データ115の複数のブロックに対応することになる。ソース・デ
ータ115の最初の複数文字ブロックは、キー120内のあらかじめ決定された
ビット、たとえば先頭のビットに対応する。ソース・データ115の2番目の複
数文字ブロックは、キー120内の次のビットに対応し、あらかじめ決定された
ビットが先頭のビットであれば、それが2番目のビットになる。このシーケンス
がキー120の末尾に到達するまで繰り返され、そこに到達すると、キー120
の先頭に戻ってプロセスが繰り返される。したがって例を示せば、キー120を
128ビットのキーであるとすれば、ソース・データ115の129番目の複数
文字ブロックは、キー120の先頭のビットに対応する。
【0030】 本発明の変形実施形態においては、キー120の単一のビットではなく、複数
ビットが使用されて個々の複数文字ブロック用の圧縮アルゴリズムが識別される
。複数のビットを使用する場合、個々の複数文字ブロックの圧縮に使用する圧縮
アルゴリズムの数が増加する。たとえば、キー120から4ビットを使用して特
定の圧縮アルゴリズムを識別する場合には、それぞれの複数文字ブロック用に使
用できる圧縮アルゴリズムが2の4乗、すなわち16になる。これらの異なる圧
縮アルゴリズムの例としては、1/2、1/3、1/4、1/5、1/6等の前
方移動を行うムーブ・フォワード・アルゴリズムが挙げられる。
【0031】 ここで、キー120の複数ビットを使用して個々の複数文字ブロック用の圧縮
アルゴリズムを識別する場合には、これらの複数ビットのセットをオーバーラッ
プできることに注意が必要である。例を示せば、ビット1、2、3、および4を
最初の複数文字ブロック用の圧縮アルゴリズムの識別に使用し、ビット2、3、
4、および5を2番目の複数文字ブロック用の圧縮アルゴリズムの識別に使用す
るといった態様がある。それに代えて、複数ビットのセットをオーバーラップさ
せないことも可能である。その場合は、たとえば、ビット1、2、3、および4
を最初の複数文字ブロック用の圧縮アルゴリズムの識別に使用し、ビット5、6
、7、および8を2番目の複数文字ブロック用の圧縮アルゴリズムの識別に使用
するという態様になる。
【0032】 本発明の別の実施形態においては、出力データに対する入れ替えが、さらにス
テップ325において行われる。たとえば、キーからのバイトおよび識別ロケー
ションからのバイト、もしくはその両方を用いてステップ325からの出力バイ
トの排他的論理和を演算することができる。
【0033】 図4a〜4fおよび図5a〜5fは、複数文字ブロックではなく単一文字のス
タックを使用した圧縮プロセスの例を示している。ただし、これは説明を簡略化
することのみを目的としたものであり、類似の態様でこのプロセスがデータの複
数文字ブロックにも適用されることを認識する必要がある。
【0034】 図4a、4b、4c、4d、4e、および4fは、本発明の一実施形態に従っ
た圧縮プロセスの一例を示している。図示した例においては、ソース・データ・
ストリームが「FACED」であり、キーはビット・ストリーム「0011」で
ある。説明を簡略化するため、図4a、4b、4c、4d、4e、および4fそ
れぞれのスタック400、410、420、430、440、および450を、
各7文字に制限している。ただし、これは説明を容易にするためのみを理由とし
たものであり、スタックは任意数の文字を含むことができる。
【0035】 図示したように、ソース・データ・ストリームの最初の文字は「F」である。
文字「F」は、スタック400内においてロケーション5を有していることから
、コンクリプタ100は値5を出力する。このソース・データ・ストリームの最
初の文字は、キーの先頭のビット、すなわち「0」に対応する。前述の図3に示
した実施形態に従うと、キー・ビットが「0」であるということは、その文字を
上方に向かって1/4だけ移動することを意味する。5の1/4は1.25であ
り、整数値に丸めると1になる。そこでスタック内において文字「F」を上方に
1ロケーション分だけ移動して、図4bのスタック410に示されるようにポジ
ション4とする。
【0036】 ソース・データ・ストリームの次の文字は「A」である。文字「A」は、スタ
ック410内においてロケーション0を有していることから、コンクリプタ10
0は値0を出力する。ソース・データ・ストリームの2番目の文字は、キーの2
番目のビット、すなわち「0」に対応する。キー・ビットが「0」であるという
ことは、その文字を上方に向かって1/4だけ移動することを意味する。0の1
/4は0であり、文字「A」を上方に0ロケーション分だけ移動して、図4cの
スタック420に示されるようにポジション0とする。
【0037】 ソース・データ・ストリームの次の文字は「C」である。文字「C」は、スタ
ック420内においてロケーション2を有していることから、コンクリプタ10
0は値2を出力する。ソース・データ・ストリームの3番目の文字は、キーの3
番目のビット、すなわち「1」に対応する。前述の図3に示した実施形態に従う
と、キー・ビットが「1」であるということは、その文字を上方に向かって1/
2だけ移動することを意味する。2の1/2は1である。そこでスタック内にお
いて文字「C」を上方に2ロケーション分だけ移動して、図4dのスタック43
0に示されるようにポジション1とする。
【0038】 ソース・データ・ストリームの次の文字は「E」である。文字「E」は、スタ
ック430内においてロケーション5を有していることから、コンクリプタ10
0は値5を出力する。ソース・データ・ストリームの4番目の文字は、キーの4
番目のビット、すなわち「1」に対応し、その文字を上方に向かって1/2だけ
移動することになる。5の1/2は2.5であり、整数に丸めると3になること
から、文字「E」を上方に3ロケーション分だけ移動して、図4eのスタック4
40に示されるようにポジション2とする。
【0039】 ソース・データ・ストリームの最後の文字は「D」である。文字「D」は、ス
タック440内においてロケーション4を有していることから、コンクリプタ1
00は値4を出力する。キーは4ビットしか有していないことからソース・デー
タ・ストリームの5番目の文字はキーを「巻き戻す」ことになり、先頭のビット
、すなわち「0」に対応する。「0」はその文字を上方に向かって1/4だけ移
動することを示している。4の1/4は1であり、文字「D」を上方に1ロケー
ション分だけ移動して、図4fのスタック450に示されるようにポジション3
とする。
【0040】 前述したように、出力スタック・ロケーション(5、0、2、5、および4)
は、エントロピ・ベースのエンコーダを使用してエンコーディングされ、可変ビ
ット・ストリームのコンクリプト済みデータ出力となる。
【0041】 図5a、5b、5c、5d、5e、および5fは、本発明の一実施形態に従っ
た圧縮プロセスの別の例を示している。図示した例においては、ソース・データ
・ストリームが「FACED」であり、キーはビット・ストリーム「0011」
である。説明を簡略化するため、図5a、5b、5c、5d、5e、および5f
それぞれのスタック500、510、520、530、540、および550を
、各7文字に制限している。ただし、これは説明を容易にするためのみを理由と
したものであり、スタックは任意数の文字を含むことができる。
【0042】 図示したように、ソース・データ・ストリームの最初の文字は「F」である。
文字「F」は、スタック500内においてロケーション5を有していることから
、コンクリプタ100は値5を出力する。ソース・データ・ストリームの最初の
文字は、キーの先頭のビット、すなわち「1」に対応する。前述の図3に示した
実施形態に従うと、キー・ビットが「1」であるということは、その文字を上方
に向かって1/2だけ移動することを意味する。5の1/2は2.5であり、整
数値に丸めると3になる。そこでスタック内において文字「F」を上方に3ロケ
ーション分だけ移動して、図5bのスタック510に示されるようにポジション
2とする。
【0043】 ソース・データ・ストリームの次の文字は「A」である。文字「A」は、スタ
ック510内においてロケーション0を有していることから、コンクリプタ10
0は値0を出力する。ソース・データ・ストリームの2番目の文字は、キーの2
番目のビット、すなわち「1」に対応する。キー・ビットが「0」であるという
ことは、その文字を上方に向かって1/4だけ移動することを意味する。0の1
/4は0であり、文字「A」を上方に0ロケーション分だけ移動して、図5cの
スタック520に示されるようにポジション0とする。
【0044】 ソース・データ・ストリームの次の文字は「C」である。文字「C」は、スタ
ック520内においてロケーション3を有していることから、コンクリプタ10
0は値3を出力する。ソース・データ・ストリームの3番目の文字は、キーの3
番目のビット、すなわち「0」に対応する。前述の図3に示した実施形態に従う
と、キー・ビットが「0」であるということは、その文字を上方に向かって1/
4だけ移動することを意味する。2の1/4は0.5であり、整数値に丸めると
1になる。そこでスタック内において文字「C」を上方に1ロケーション分だけ
移動して、図5dのスタック530に示されるようにポジション2とする。
【0045】 ソース・データ・ストリームの次の文字は「E」である。文字「E」は、スタ
ック530内においてロケーション5を有していることから、コンクリプタ10
0は値5を出力する。ソース・データ・ストリームの4番目の文字は、キーの4
番目のビット、すなわち「0」に対応し、その文字を上方に向かって1/4だけ
移動することになる。5の1/4は1.25であり、整数に丸めると1になるこ
とから、文字「E」を上方に1ロケーション分だけ移動して、図5eのスタック
540に示されるようにポジション4とする。
【0046】 ソース・データ・ストリームの最後の文字は「D」である。文字「D」は、ス
タック540内においてロケーション5を有していることから、コンクリプタ1
00は値5を出力する。キーは4ビットしか有していないことからソース・デー
タ・ストリームの5番目の文字はキーを「巻き戻す」ことになり、先頭のビット
、すなわち「1」に対応する。「1」はその文字を上方に向かって1/2だけ移
動することを示している。5の1/2は2.5であり、整数に丸めると3になる
ことから、文字「D」を上方に3ロケーション分だけ移動して、図5fのスタッ
ク550に示されるようにポジション2とする。
【0047】 前述したように、出力スタック・ロケーション(5、0、3、5、および5)
は、エントロピ・ベースのエンコーダを使用してエンコーディングされ、可変ビ
ット・ストリームのコンクリプト済みデータ出力となる。
【0048】 このように、図3、4a〜4f、および5a〜5fに示したように、図1に示
したコンクリプタ100は、キー120を使用して圧縮器セット105からソー
ス・データ115の文字用の特定の圧縮アルゴリズムを識別する。図4a〜4f
および5a〜5fの例においては、圧縮器セット105内に用意されている圧縮
アルゴリズムが2つだけである。これらの例は、説明を容易にするために2つの
圧縮アルゴリズムに制限されており、本発明の別の実施形態は、これよりかなり
多くの圧縮アルゴリズムを包含する。
【0049】 さらに図3、4a〜4f、および5a〜5fに示した実施形態においては、キ
ー120のビットの値がムーブ・フォワード圧縮アルゴリズムにおける変数の値
の識別に使用されている。別の実施形態においては、キー全体が使用されて、ソ
ース・データ115のすべてに用いるための特定の1つのアルゴリズムが圧縮器
セット105から識別される。したがって、mビットのキーは、圧縮器セット1
05内の2m個の圧縮アルゴリズムから固有の1つを識別することになる。
【0050】 図6は、本発明の一実施形態に使用することができるハードウエア・システム
またはマシンを示している。図示の実施形態においては、ハードウエア・システ
ム600が、図示のように相互に接続されたプロセッサ602およびキャッシュ
・メモリ604を備える。それに加えてハードウエア・システム600は、高性
能入力/出力(I/O)バス606および標準I/Oバス608を備える。ホス
ト・ブリッジ610は、プロセッサ602を高性能I/Oバス606に接続し、
I/Oバス・ブリッジ612は、2つのバス606および608を互いに接続す
る。バス606には、ネットワーク/通信インターフェース624、システム・
メモリ614、およびビデオ・メモリ616が接続されている。ビデオ・メモリ
616には、表示デバイス618が接続されている。一方、バス608には、大
容量記憶デバイス620、キーボードおよびポインティング・デバイス622、
およびI/Oポート626が接続されている。これらのエレメントは、集合的に
ハードウエア・システムの広いカテゴリを表すことが意図されており、それには
、限定する意図ではないが、イリノイ州ショーンバーグのMotorola,
Inc.(モトローラ・インク)から提供されているPowerPC(登録商標
;パワーPC)プロセッサ・ファミリのプロセッサ、もしくはカリフォルニア州
サンタクララのIntel Corporation(インテル・コーポレーシ
ョン)から提供されているPentium(登録商標;ペンティアム)プロセッ
サ・ファミリのプロセッサをベースにした汎用コンピュータ・システムが含まれ
る。
【0051】 これらのエレメント602〜626は、当分野で周知の従来的な機能を実行す
る。特にネットワーク/通信インターフェース624は、システム600と広範
多岐にわたる従来のネットワーク、たとえばイーサネット、トークン・リング、
インターネット等の間で通信するために使用される。ここでは、インターフェー
ス624の回路が、システム600に接続されるネットワークのタイプに依存す
ることを認識する必要がある。
【0052】 大容量記憶デバイス620は、前述したコンクリプションの機能を実行するた
めのデータおよびプログラミング・インストラクションを恒久的に記憶するため
に使用され、それに対してシステム・メモリ614は、プロセッサ602による
実行時に、データおよびプログラミング・インストラクションを一時的に記憶す
るために使用される。
【0053】 I/Oポート626は、ハードウエア・システム600に接続される追加の周
辺デバイスとの間で通信するために使用される、1ないしは複数のシリアルおよ
び/またはパラレル通信ポートである。
【0054】 ハードウエア・システム600の各種コンポーネントは、構成変更が可能であ
ることを認識する必要がある。たとえばキャッシュ604をオンチップとしてプ
ロセッサ602に備えてもよい。さらに、本発明のある種の実装においては、上
記のコンポーネントのすべてが必要にならないこともあり、また含んでいないこ
ともある。たとえばシステム600が、大容量記憶デバイス620、キーボード
およびポインティング・デバイス622、および/または表示デバイス618な
らびにビデオ・メモリ616を含まないこともある。それに加えて、標準I/O
バス608に接続されるものとして示されている周辺デバイスを高性能I/Oバ
ス606に接続してもよく、また一部の実装においては、単一のバスしかなく、
ハードウエア・システム600のコンポーネントが、単一バスに結合されてもよ
い。さらに、追加のプロセッサ、記憶デバイス、またはメモリといった追加のコ
ンポーネントがシステム600に含められることも考えられる。
【0055】 一実施形態においては、図1に示したコンクリプタ100が、図6に示したハ
ードウエア・システム600によって実行される一連のソフトウエア・ルーチン
として具体化される。これらのソフトウエア・ルーチンは、ハードウエア・シス
テム内のプロセッサ、たとえば図6に示したプロセッサ602によって実行され
る複数の、もしくは一連のインストラクションを包含している。当初、これらの
一連のインストラクションは、大容量記憶デバイス620等の記憶デバイスにス
トアされている。ここで、これらの一連のインストラクションが、ディスケット
、CD−ROM、磁気テープ、DVD(DVDは、現在のところ、ディジタル・
ビデオ・ディスクを表す略語として使用されているが、その用途は、ビデオのほ
かにデータにも使用できるDVDテクノロジの能力を反映してディジタル多目的
ディスクに変わりつつある)、レーザ・ディスク、ROM、フラッシュ・メモリ
等の任意の従来メディア上にストア可能であることを認識する必要がある。さら
に、これらの一連のインストラクションがローカルにストアされている必要はな
く、ネットワーク上のサーバ等のリモート記憶デバイスからネットワーク/通信
インターフェース624経由で受け取ることも可能である点に注意されたい。
【0056】 インストラクションは、大容量記憶デバイス620等の記憶デバイスから、メ
モリ614にコピーされた後、プロセッサ602によってアクセスされ、実行さ
れる。具体化の1つにおいては、これらのソフトウエア・ルーチンが、C++プ
ログラミング言語によって記述される。しかしながら、これらのルーチンが、各
種広範なプログラミング言語のいずれを用いても実装し得ることを認識する必要
がある。
【0057】 変形実施形態においては、本発明が個別のハードウエアまたはファームウエア
に実装される。たとえば、変形実施形態の1つにおいて、特定用途向け集積回路
(ASIC)に、前述した本発明の機能をプログラムすることができる。
【0058】 本発明の一実施形態によれば、図1においてコンクリプタ100による使用の
ために圧縮器セット105内に用意された圧縮アルゴリズムのそれぞれは、可逆
圧縮アルゴリズムである。可逆圧縮においては、圧縮されるデータ・ブロックの
「サイズ」が、データがまったく失われずに縮小される。つまり、データ・ブロ
ックを圧縮し、ストアし、あるいは転送し、その後伸張したとき、伸張後のデー
タ・ブロックがオリジナルのデータ・ブロックとまったく同一になる。別の実施
形態においては、圧縮器セット105が非可逆圧縮アルゴリズムを含む。非可逆
圧縮においては、データ・ブロックのサイズが縮小され、少量のデータが失われ
る。したがって、データ・ブロックを圧縮し、ストアし、あるいは転送し、その
後伸張したとき、オリジナルのデータ・ブロックとわずかな差を生じる。非可逆
圧縮においてはデータの一部が失われるが、イメージ・データ等のある種のデー
タについては、通常、ユーザが明確に認識できるほどデータが失われることはな
い。
【0059】 前述した説明においては、「ムーブ・フォワード」圧縮アルゴリズムを使用す
る実施形態について述べた。しかしながら変形実施形態においては、異なるタイ
プの圧縮アルゴリズムまたは、別のタイプの圧縮アルゴリズムとムーブ・フォワ
ード圧縮アルゴリズムの組み合わせが使用できることに注意する必要がある。
【0060】 以上、データの暗号化ならびに圧縮を同時に行うための方法および装置につい
て述べてきた。当業者においては、以上の説明を読んだ後であれば、本発明に係
る多くの変更ならびに変形に気づかれようが、例証として示し、説明した特定の
実施形態は、限定と見なされることを意図したものでないことを当然に理解され
る必要がある。特定実施形態の詳細に対する参照には、特許請求の範囲を限定す
る意図がない。
【図面の簡単な説明】
【図1】 本発明の一実施形態に従ってデータの暗号化ならびに圧縮を同時に行うための
デバイスを示したブロック図である。
【図2】 本発明の一実施形態に従ってデータの暗号化ならびに圧縮を同時に行うステッ
プを示したフローチャートである。
【図3】 ムーブ・フォワード圧縮アルゴリズムの選択および本発明の一実施形態に従っ
たデータの圧縮を示したフローチャートである。
【図4】 本発明の一実施形態に従った圧縮プロセスの一例を示す。
【図5】 本発明の一実施形態に従った圧縮プロセスの別の例を示す。
【図6】 本発明の一実施形態に使用することができるハードウエア・システムまたはマ
シンを示す。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GD,GE,GH,GM,HR ,HU,ID,IL,IS,JP,KE,KG,KP, KR,KZ,LC,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,SL,TJ,TM,TR,TT,UA,UG,U Z,VN,YU,ZW

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 入力データを同時に暗号化し、圧縮する方法であって: 暗号化キーを識別するステップ; 前記暗号化キーを使用して圧縮アルゴリズムのセットから1つの圧縮アルゴリ
    ズムを識別するステップ;および、 前記入力データの第1のデータを前記1つの圧縮アルゴリズムに従って圧縮す
    るステップ; を包含することを特徴とする方法。
  2. 【請求項2】 前記第1のデータは、単一の文字からなることを特徴とする
    前記請求項1記載の方法。
  3. 【請求項3】 前記第1のデータは、前記入力データのすべてからなること
    を特徴とする前記請求項1記載の方法。
  4. 【請求項4】 前記暗号化キーを使用するステップは、前記暗号化キーの単
    一のビットを使用して、前記圧縮アルゴリズムのセットから前記1つの圧縮アル
    ゴリズムを識別するステップを含むことを特徴とする前記請求項1記載の方法。
  5. 【請求項5】 さらに、 前記暗号化キーを使用して前記圧縮アルゴリズムのセットから第2の圧縮アル
    ゴリズムを識別するステップ;および、 前記入力データの第2のデータを前記第2の圧縮アルゴリズムに従って圧縮す
    るステップ; を包むことを特徴とする前記請求項4記載の方法。
  6. 【請求項6】 前記圧縮アルゴリズムのセットは、複数のムーブ・フォワー
    ド圧縮アルゴリズムからなることを特徴とする前記請求項1記載の方法。
  7. 【請求項7】 前記複数のムーブ・フォワード圧縮アルゴリズムに従って前
    記第1のデータを前方に移動する量は、前記第1のデータに対応する、前記暗号
    化キーの単一のビットに依存することを特徴とする前記請求項6記載の方法。
  8. 【請求項8】 さらに、前記第1のデータを圧縮する前に、前記第1のデー
    タの入れ替えを行うステップを包含することを特徴とする前記請求項1記載の方
    法。
  9. 【請求項9】 入力データを同時に暗号化し、圧縮する装置であって: 複数の圧縮アルゴリズムを含む圧縮器セット;および、 暗号化キーの少なくとも一部に基づいて前記複数の圧縮アルゴリズムから1つ
    の圧縮アルゴリズムを識別し、その1つの圧縮アルゴリズムに従って前記入力デ
    ータの第1のデータを圧縮するコンクリプタ; を備えることを特徴とする装置。
  10. 【請求項10】 前記第1のデータは、単一の文字からなることを特徴とす
    る前記請求項9記載の装置。
  11. 【請求項11】 前記第1のデータは、前記入力データのすべてからなるこ
    とを特徴とする前記請求項9記載の装置。
  12. 【請求項12】 前記コンクリプタは、さらに、前記暗号化キーの単一のビ
    ットを使用して、前記複数の圧縮アルゴリズムから前記1つの圧縮アルゴリズム
    を識別するように機能することを特徴とする前記請求項9記載の装置。
  13. 【請求項13】 前記コンクリプタは、さらに、前記暗号化キーを使用して
    前記複数の圧縮アルゴリズムから第2の圧縮アルゴリズムを識別し、その第2の
    圧縮アルゴリズムに従って前記入力データの第2のデータを圧縮するように機能
    することを特徴とする前記請求項12記載の装置。
  14. 【請求項14】 前記複数の圧縮アルゴリズムは、複数のムーブ・フォワー
    ド圧縮アルゴリズムからなることを特徴とする前記請求項9記載の装置。
  15. 【請求項15】 前記複数のムーブ・フォワード圧縮アルゴリズムに従って
    前記第1のデータを前方に移動する量は、前記第1のデータに対応する、前記暗
    号化キーの単一のビットに依存することを特徴とする前記請求項14記載の装置
  16. 【請求項16】 前記コンクリプタは、さらに、前記第1のデータを圧縮す
    る前に、前記第1のデータの入れ替えを行うべく機能することを特徴とする前記
    請求項9記載の装置。
  17. 【請求項17】 プロセッサによって実行されるべく設計された複数のイン
    ストラクションであって、 暗号化キーを識別する機能; 前記暗号化キーを使用して圧縮アルゴリズムのセットから1つの圧縮アルゴリ
    ズムを識別する機能;および、 第1のデータを前記1つの圧縮アルゴリズムに従って圧縮する機能; を含む機能を具体化するためのインストラクションがストアされたマシン可読
    媒体。
  18. 【請求項18】 前記第1のデータは、単一の文字からなることを特徴とす
    る前記請求項17記載のマシン可読媒体。
  19. 【請求項19】 前記暗号化キーを使用する機能は、前記暗号化キーの単一
    のビットを使用して、前記圧縮アルゴリズムのセットから前記1つの圧縮アルゴ
    リズムを識別する機能を含むことを特徴とする前記請求項17記載のマシン可読
    媒体。
  20. 【請求項20】 前記機能は、さらに、 前記暗号化キーを使用して前記圧縮アルゴリズムのセットから第2の圧縮アル
    ゴリズムを識別する機能;および、 前記入力データの第2のデータを前記第2の圧縮アルゴリズムに従って圧縮す
    る機能; を含むことを特徴とする前記請求項19記載のマシン可読媒体。
  21. 【請求項21】 前記圧縮アルゴリズムのセットは、複数のムーブ・フォワ
    ード圧縮アルゴリズムからなることを特徴とする前記請求項17記載のマシン可
    読媒体。
  22. 【請求項22】 前記複数のムーブ・フォワード圧縮アルゴリズムに従って
    前記第1のデータを前方に移動する量は、前記第1のデータに対応する、前記暗
    号化キーの単一のビットに依存することを特徴とする前記請求項21記載のマシ
    ン可読媒体。
  23. 【請求項23】 前記機能は、さらに、前記第1のデータを圧縮する前に、
    前記第1のデータの入れ替えを行う機能を含むことを特徴とする前記請求項17
    記載のマシン可読媒体。
JP2000539609A 1997-12-17 1998-11-16 データの同時暗号化ならびに圧縮のための方法および装置 Expired - Lifetime JP4739519B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/992,683 1997-12-17
US08/992,683 US6154542A (en) 1997-12-17 1997-12-17 Method and apparatus for simultaneously encrypting and compressing data
PCT/US1998/024461 WO1999031843A1 (en) 1997-12-17 1998-11-16 Method and apparatus for simultaneously encrypting and compressing data

Publications (3)

Publication Number Publication Date
JP2002509389A true JP2002509389A (ja) 2002-03-26
JP2002509389A5 JP2002509389A5 (ja) 2008-04-17
JP4739519B2 JP4739519B2 (ja) 2011-08-03

Family

ID=25538627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000539609A Expired - Lifetime JP4739519B2 (ja) 1997-12-17 1998-11-16 データの同時暗号化ならびに圧縮のための方法および装置

Country Status (7)

Country Link
US (1) US6154542A (ja)
EP (1) EP1040618B1 (ja)
JP (1) JP4739519B2 (ja)
AU (1) AU2197399A (ja)
CA (1) CA2314939C (ja)
DE (1) DE69838074T2 (ja)
WO (1) WO1999031843A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
JP2009533948A (ja) * 2006-04-12 2009-09-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 共有トランザクション(群)を有する複数通信機能

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885749B1 (en) * 1999-10-01 2005-04-26 At&T Corp Scrambling a compression-coded signal
JP2001189718A (ja) * 1999-12-28 2001-07-10 Eiichi Masai 期日指定文書の作製方法及びその作製装置、並びに期日指定文書の作製プログラムを記録した記録媒体
US20020087884A1 (en) * 2000-06-12 2002-07-04 Hovav Shacham Method and apparatus for enhancing network security protection server performance
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US7298849B2 (en) * 2001-06-29 2007-11-20 Intel Corporation Method and apparatus for simultaneous encryption and decryption of publicly distributed media
US7120653B2 (en) * 2002-05-13 2006-10-10 Nvidia Corporation Method and apparatus for providing an integrated file system
US6920484B2 (en) * 2002-05-13 2005-07-19 Nvidia Corporation Method and apparatus for providing an integrated virtual disk subsystem
WO2004019182A2 (en) * 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
AU2003279970A1 (en) * 2002-10-15 2004-05-04 Ingrian Networks, Inc. Compression of secure content
DE10330643A1 (de) * 2003-07-07 2005-02-10 Siemens Ag Verfahren zur verschlüsselten Datenübertragung über ein Kommunikationsnetz
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
JP2005217842A (ja) * 2004-01-30 2005-08-11 Fujitsu Ltd データ圧縮方法、データ復元方法及びそのプログラム
US7519835B2 (en) 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US20060233237A1 (en) * 2005-04-15 2006-10-19 Apple Computer, Inc. Single pass constrained constant bit-rate encoding
US7669130B2 (en) 2005-04-15 2010-02-23 Apple Inc. Dynamic real-time playback
US8437392B2 (en) * 2005-04-15 2013-05-07 Apple Inc. Selective reencoding for GOP conformity
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US8386768B2 (en) 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
US7565339B2 (en) * 2006-03-31 2009-07-21 Agiledelta, Inc. Knowledge based encoding of data
US20070242703A1 (en) * 2006-04-12 2007-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Binding/combining of plural telecommunications functions
US8189586B2 (en) * 2006-04-12 2012-05-29 Telefonaktiebolaget Lm Ericsson (Publ) Plural telecommunications functions having sharing transaction(s)
CN101421973B (zh) * 2006-04-12 2014-01-29 艾利森电话股份有限公司 具有共享事务处理的多个远程通信功能的方法和装置
WO2007138600A2 (en) * 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US8868930B2 (en) 2006-05-31 2014-10-21 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US7730088B2 (en) * 2006-09-14 2010-06-01 International Business Machines Corporation Queriable hierarchical text data
US8661263B2 (en) * 2006-09-29 2014-02-25 Protegrity Corporation Meta-complete data storage
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US7730106B2 (en) * 2006-12-28 2010-06-01 Teradata Us, Inc. Compression of encrypted data in database management systems
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US8225106B2 (en) 2008-04-02 2012-07-17 Protegrity Corporation Differential encryption utilizing trust modes
KR101048661B1 (ko) 2009-01-28 2011-07-14 한국과학기술원 데이터에 대한 압축 및 암호화 연산을 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US10785545B2 (en) * 2012-04-20 2020-09-22 The Board Of Regents Of The University Of Texas System Systems and methods for simultaneous compression and encryption
US8949617B2 (en) * 2013-05-03 2015-02-03 Citrix Systems, Inc. Disrupting password attack using compression
CA2998296A1 (en) * 2015-09-09 2017-03-16 Rodney Smith A method of protecting data using compression algorithms
US9654140B1 (en) * 2016-08-27 2017-05-16 Scured2 Corporation Multi-dimensional run-length encoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
US5367572A (en) * 1984-11-30 1994-11-22 Weiss Kenneth P Method and apparatus for personal identification
US5199069A (en) * 1991-02-25 1993-03-30 Motorola, Inc. Automatic encryption selector
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US5237614A (en) * 1991-06-07 1993-08-17 Security Dynamics Technologies, Inc. Integrated network security system
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5159632A (en) * 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5517614A (en) * 1992-05-29 1996-05-14 Kabushiki Kaisha Toshiba Data compression/encryption processing apparatus
US5315655A (en) * 1992-12-16 1994-05-24 Notable Technologies, Inc. Method and apparatus for encoding data objects on a computer system
JP3746098B2 (ja) * 1996-02-28 2006-02-15 株式会社日立製作所 データの暗号化装置
US5768372A (en) * 1996-03-13 1998-06-16 Altera Corporation Method and apparatus for securing programming data of a programmable logic device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055608A (ja) * 2000-08-10 2002-02-20 Japan Information Technology Co Ltd 暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体
JP2009533948A (ja) * 2006-04-12 2009-09-17 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 共有トランザクション(群)を有する複数通信機能

Also Published As

Publication number Publication date
JP4739519B2 (ja) 2011-08-03
EP1040618A1 (en) 2000-10-04
CA2314939A1 (en) 1999-06-24
CA2314939C (en) 2010-09-21
EP1040618B1 (en) 2007-07-11
US6154542A (en) 2000-11-28
EP1040618A4 (en) 2004-11-03
DE69838074D1 (de) 2007-08-23
WO1999031843A1 (en) 1999-06-24
AU2197399A (en) 1999-07-05
DE69838074T2 (de) 2008-03-13

Similar Documents

Publication Publication Date Title
JP2002509389A (ja) データの同時暗号化ならびに圧縮のための方法および装置
US6122379A (en) Method and apparatus for performing simultaneous data compression and encryption
US6199064B1 (en) Method and apparatus for sorting data blocks
JP4893750B2 (ja) データ圧縮装置およびデータ復元装置
US7616138B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
Kobayashi et al. Bitstream-based JPEG image encryption with file-size preserving
JP5289333B2 (ja) データストリームを生成し、データストリーム内の位置を識別する方法
US20060050873A1 (en) Block cipher apparatus using auxiliary transformation
EP2056462B1 (en) Data processing system and method
US7003111B2 (en) Method, system, and program, for encoding and decoding input data
US8677123B1 (en) Method for accelerating security and management operations on data segments
US20030152220A1 (en) Digital data transforming method
Hua et al. Enabling large-capacity reversible data hiding over encrypted JPEG bitstreams
US6771193B2 (en) System and methods for embedding additional data in compressed data streams
Chen et al. High-capacity reversible data-hiding for LZW codes
Cao et al. Separable reversible data hiding in encrypted VQ-encoded images
US7447263B2 (en) Processing digital data prior to compression
US7424112B2 (en) Ciphertext switching for syntax compliant encryption
EP3365884A1 (en) An efficient encryption method to secure data with reduced number of encryption operations
TW447195B (en) A run-length decoder with error concealment capability
US20080001790A1 (en) Method and system for enhancing data compression
Yongjun et al. Reversible data hiding in encrypted domain based on the error-correction redundancy of encryption process
JPH10294669A (ja) データ圧縮を伴う暗号通信方法
Alsaffar An encryption by using DNA algorithm for hiding a compressed message in Image
US7996899B1 (en) Communication systems and methods for digital content modification and protection

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080226

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080226

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080826

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110428

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term