Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3229148B2 - 暗号化方法およびシステム - Google Patents
[go: Go Back, main page]

JP3229148B2 - 暗号化方法およびシステム - Google Patents

暗号化方法およびシステム

Info

Publication number
JP3229148B2
JP3229148B2 JP03321995A JP3321995A JP3229148B2 JP 3229148 B2 JP3229148 B2 JP 3229148B2 JP 03321995 A JP03321995 A JP 03321995A JP 3321995 A JP3321995 A JP 3321995A JP 3229148 B2 JP3229148 B2 JP 3229148B2
Authority
JP
Japan
Prior art keywords
encrypted data
encryption
block
data
data segment
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.)
Expired - Fee Related
Application number
JP03321995A
Other languages
English (en)
Other versions
JPH07281596A (ja
Inventor
イアン・エドワード・ヨークスミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07281596A publication Critical patent/JPH07281596A/ja
Application granted granted Critical
Publication of JP3229148B2 publication Critical patent/JP3229148B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ暗号化方法および
システムに関する。
【0002】
【従来の技術】暗号化システムおよび方法は広い適用範
囲を有している。たとえば、これらは交換されるデータ
が機密のものであり、データの機密性の品質を保存する
ことが望ましいセルラ電話やローカル・エリア・ネット
ワークなどの通信システムに使用される。
【0003】暗号化システムの有効性は部分的には、用
いられる暗号化方法の複雑度によって決定される。単純
な先行技術の暗号化方法は、たとえば、英語のアルファ
ベットの文字が置換アルファベットを形成することを含
んでいる。暗号化対象のデータの各文字が、置換アルフ
ァベットから選択した対応する文字と置き換えられる。
しかしながら、単純な暗号化方法は暗号化されたデータ
の無許可の受信者が簡単に復号しやすいものである。し
たがって、暗号化方法の複雑度は何年にもわたって高い
ものとなってきている。
【0004】暗号化方法の複雑度が高くなるにしたが
い、データを暗号化し、その後復号するのにかかる時間
も長くなる。短い暗号化時間を維持しながら、たとえ
ば、暗号化方法を用いる通信システムの効率を高めると
ともに、暗号化方法の高い複雑度を維持することが望ま
しい。暗号化時間の増加を補うために、しばしば、専用
ハードウェアを使用して、暗号化復号化方法を実施する
ことがある。米国特許第5257282号明細書は代数
的に組み合わされ、多重化されて、高速の複合コード・
シーケンスを発生する複数個の低速シフト・レジスタか
らなる高速コード・シーケンス・コード・ジェネレータ
を開示している。特開平5−102960号明細書は、
暗号規則が各通信の開始時にランダムに選択される暗号
システムを開示している。同じ選択された暗号規則が通
信全体にわたってデータを暗号化するために使用され
る。米国特許第5261003号明細書は、複数個のキ
ーのうちの1個をデータのスクランブルに使用する、デ
ータのスクランブルによるデータ通信システムおよび方
法を開示している。選択されるキーはスクランブル対象
の入力データによって異なる。
【0005】受入れ可能な処理時間を達成するために専
用ハードウェアで実現される、データ暗号化規格(DE
S)などのその他の暗号化方法も存在している。しかし
ながら、DESはセキュリティの制限を伴っており、そ
の配布を制限するものとなっている。
【0006】
【発明が解決しようとする課題】したがって、従来技術
には、無許可の受信者が解読するのが困難であり、暗号
化および解読時間が比較的短い暗号化データをもたらす
簡単な暗号化方法が欠けていた。
【0007】
【課題を解決するための手段】したがって、本発明は複
数個のデータ・セグメントからなるデータを複数個の暗
号化されたデータ・ブロック並びに関連する制御ブロッ
クに暗号化するための方法であって、各データ・セグメ
ントについて、複数個の暗号化関数の1つを選択し、選
択した暗号化関数を使用してデータ・セグメントを暗号
化して、暗号化データ・セグメントを形成し、暗号化デ
ータ・セグメントを含む暗号化データ・ブロックを作成
し、暗号化データ・ブロックに関して、データを暗号化
するために使用された暗号化関数の指示を有する関連し
た制御ブロックを作成することからなる方法を提供す
る。
【0008】同一のデータ・セットに対して複数の暗号
化技法を使用すると、使用する個々の暗号化技法が比較
的単純であって、きわめて簡単かつ迅速に計算できるも
のであっても、無許可の解読がきわめて困難となる。こ
のような暗号化プロセスは、たとえば、安全な通信や機
密資料の格納などに広く適用できる。
【0009】データのセキュリティをさらに向上させる
ために、暗号化データ・ブロックの全長、暗号化データ
・ブロック内の暗号化データ・セグメントの長さ、およ
び暗号化データ・ブロック内の暗号化データ・セグメン
トの開始位置のうちの少なくとも1つの値を選択または
変更できることが望ましい(本実施例において、これら
のうち最初のものは固定されており、2番目および3番
目が選択されるが、任意の組み合わせが選択可能であ
る)。このような選択を所定のパターンまたは何らかの
既知のパラメータ(たとえば、日付)にしたがって行う
ことができるが、好ましい解決策はランダムに生成され
た数(乱数)に基づいてこれらの値を選択することであ
る(暗号化データ・セグメントの長さがこれを含んでい
る暗号化データ・ブロックの長さよりも短いというよう
な制約に、このような選択が合致していることが必要で
あることは明らかであろう)。
【0010】暗号化データの開始位置が暗号化データ・
ブロック内で変化できる場合には、制御ブロックが、暗
号化データ・ブロック内での暗号化データ・セグメント
の開始位置の指示(indication)からなっていることが
好ましい(ただし、この情報を何らかの独立した機構に
よって供給することができる)。同様に、制御ブロック
は、必要に応じ、暗号化データ・ブロックの全長および
データ・セグメントの長さの指示からなることもでき
る。すなわち、データ・セグメントの長さ、暗号化デー
タ・ブロックの長さまたは暗号化データ・ブロック内の
暗号化データ・セグメントの位置に可変値を使用した場
合には、これらの値が制御ブロックに含まれていること
が好ましい。
【0011】ほとんどの暗号化関数は暗号化キーを利用
して、暗号化関数とともにデータを暗号化する。コード
を解読するためには、暗号化関数とキーの両方が既知で
あって、これによってセキュリティを高めるものでなけ
ればならない。したがって、本発明はデータ・セグメン
トを暗号化するために使用される選択した暗号化関数と
ともに使用される複数個の暗号化キーから暗号化キーを
選択するステップをさらに含めることができる。
【0012】暗号化データを解読するために暗号化デー
タの供給者とその受領者との間で暗号化キーが交換され
る必要性をなくすために、制御ブロック内でデータを暗
号化するために使用される暗号化キーの指示を提供する
のが望ましい。
【0013】固定フォーマットを有する制御ブロック
は、暗号化される各データ・セグメントによってフォー
マットが変化する制御ブロックよりも解読しやすい。
【0014】したがって、複数の所定の制御ブロック・
フォーマットの1つを選択するステップをさらに含んで
おり、各制御ブロックの所定位置が制御ブロックの所定
のフォーマットの指示を含むようにすることもできる。
【0015】本発明は複数個のデータ・セグメントから
なるデータを複数個の暗号化データブロックおよび関連
する制御ブロックに暗号化するシステムにおいて、各デ
ータ・セグメントに対して、複数個の暗号化関数の1つ
を選択する手段と、各データ・セグメントに対して、選
択した暗号化関数を使用してデータ・セグメントを暗号
化して、暗号化データ・セグメントを形成する手段と、
各データ・セグメントに対して、暗号化データ・セグメ
ントを含む暗号化データ・ブロックを作成する手段と、
各データ・セグメントに対して、データを暗号化するた
めに使用される暗号化関数の指示からなる暗号化データ
・ブロックと関連した制御ブロックを作成する手段とか
らなるシステムも提供する。
【0016】本発明はさらに、複数個の暗号化関数を使
用して、複数個のデータ・セグメントから複数個の暗号
化データ・ブロック並びに関連する制御ブロックに暗号
化されたデータを解読するための方法において、制御ブ
ロックと関連する暗号化データ・ブロックを読み取り、
関連する暗号化データ・ブロックとともに使用される制
御ブロック内の情報から暗号化関数を判定し、判定した
暗号化関数に基づいて暗号化データ・ブロックからデー
タ・ブロックを解読するステップからなる方法を提供す
る。
【0017】
【実施例】図1には、暗号化されるデータ(D)が示さ
れている。データは複数個のデータ・セグメントに分割
される。各データ・セグメント(DS)の長さは変動
し、各データ・セグメントに対して生成されたそれぞれ
の乱数(L2)によって判定される。暗号化データは各
データ・セグメント(DS)に対する制御ブロック(C
B)と暗号化データ・ブロック(EDB)からなってい
る。暗号化データ・ブロック(EDB)は暗号化データ
・セグメント(EDS)を含んでいる(すなわち、元の
データ・セグメントを実際に含んでいるセグメントは暗
号化されたフォーマットである)。制御ブロック(C
B)は暗号化データ・ブロック(EDB)のデータ・バ
イトのフォーマットに関する情報、特にデータ・セグメ
ント(DS)を暗号化するために使用される暗号化関数
(F)と暗号化キー(K)、およびランダムに選択され
た暗号化データ・ブロック(EDB)内の暗号化データ
・セグメント(EDS)の開始位置(S)の指示の情報
に関する複数個のフィールドを含んでいる。制御ブロッ
ク(CB)および暗号化データ・ブロック(EDB)に
も、乱数(X)が埋め込まれている。
【0018】暗号化データのフィールドは次の通りであ
る。 L1 = 暗号化データ・ブロック(EDB)の長さ S = 暗号化データ・ブロック内の暗号化データ・セ
グメント(EDS)の開始位置 L2 = 暗号化されるデータ・セグメント(DS)の
バイト数 F = データ・セグメントの暗号化に使用される暗号
化関数の指示 K = データ・セグメントの暗号化に使用される暗号
化キーの指示 EDS = 暗号化データ・セグメント X = 乱数
【0019】暗号化キーおよび関連する暗号化関数はデ
ータ・セグメントの各バイトを対応する暗号化バイトに
変換し、一般に、EDS=F(K,D)と表すことがで
きる。ただし、EDSおよびKは上述の値を有してお
り、Dは暗号化されるデータ・セグメントである。ED
Sに対するDのマッピングは任意に選択することがで
き、バイトごとに行う必要はない。
【0020】適当な暗号化関数の例は次の通りである。 1.EDS=K 排他的OR D 2.EDS=Dを左へKビット、シフトする 3.EDS=D内のビット順を再整理する
【0021】図2を参照すると、利用可能な暗号化関数
(F1ないしFi)および暗号化キー(K1ないしKj)の
範囲から選択したさまざまな暗号化関数および暗号化キ
ーが、各データ・セグメント(DS1ないしDSn)を暗
号化するために使用されている。データ・セグメントを
暗号化するために使用される暗号化関数は、所定の範囲
(1ないしi)内の第1の乱数を生成し、この乱数を暗
号化関数(F1ないしFi)の1つにマップすることによ
って決定される。同様に、データ・セグメントを暗号化
するために使用される暗号化キーは、所定の範囲(1な
いしj)から第2の乱数を選択し、この乱数を暗号化キ
ー(K1ないしKj)の1つにマップすることによって決
定される。したがって、各データ・セグメント(DS1
ないしDSn)を暗号化した場合、全暗号化コードは、
図3に示すように、複数個の暗号化データ・ブロック
(EDB1ないしEDBn)および関連する制御ブロック
(CB1ないしCBn)からなる。
【0022】乱数と対応する暗号化関数または暗号化キ
ーの間に1対1のマッピングは必要ない。特定の範囲の
乱数を同一の暗号化関数または暗号化キーにマップし、
これによって本発明の実施例を実現するのに必要な暗号
化関数または暗号化キーの数を、後述の表1に示すよう
に減少させることができる。
【0023】図4を参照すると、本発明による暗号化方
法のステップを説明する流れ図が示されている。ステッ
プ400において、データ・セグメントを暗号化するた
めに使用される暗号化関数(F1ないしFi)を選択する
ための第1の乱数が所定の範囲から生成される。ステッ
プ410は第2の所定範囲から第2の乱数を生成し、デ
ータ・セグメントを暗号化するために選択した暗号化関
数によって使用される暗号化キー(K1ないしKj)を選
択する。暗号化データ・ブロック(EDB)の全長(L
1)を決定するための所定の範囲内の第3の乱数(L1
がステップ420で生成される。ステップ430におい
て、第3の乱数によって決定される範囲内の第4の乱数
(S)が生成され、これは暗号化データ・ブロック(E
DB)における暗号化データ・セグメント(EDS)の
開始位置を識別する。最後に、ステップ440は第3の
乱数(L1)および第4の乱数(S)によって決定され
る範囲内の第5の乱数(L2)を生成し、暗号化される
データ・セグメントのサイズを決定する。
【0024】スペースが限定されている場合には、任意
の適当な範囲を選択できるが、第4の乱数の選択範囲を
0<S<L1/2に、また第5の乱数の選択範囲を(L1
−S)/2<L2<L1−Sに制限するのが望ましい。
【0025】ステップ450は次のL2バイトのデータ
を取得して、データ・セグメントを形成する。データ・
セグメントの各バイトはステップ460において、選択
したそれぞれの暗号化関数と選択した暗号化キーを使用
して暗号化される。暗号化データ・セグメントはステッ
プ470において、対応する第4の乱数によって決定さ
れる開始位置から始まる暗号化データ・ブロックにおか
れる。生成された乱数(L1、S、L2、FおよびK)は
次いで、所定のフォーマットにしたがって制御ブロック
におかれる。制御ブロックおよび暗号化データ・ブロッ
クの他のフィールドには、図1に示すように、乱数
(X)が埋め込まれる。
【0026】本明細書記載の本発明の実施例は各暗号化
データ・ブロックに対して同一フォーマットの制御ブロ
ックを使用しているが、変動するフォーマットも同様に
使用できる。このような場合には、各フォーマットは、
図5に示すように、複数個の使用可能な制御ブロック・
フォーマット(CD1ないしCDl)の1つにマップされ
る所定の範囲から第6の乱数を生成することによって、
複数個の制御ブロック・フォーマット(CB1ないしC
l)から選択できる(L1、S、L2、FおよびKは上
記と同じ意味を有する)。各制御ブロック(CB1ない
しCBl)は使用される制御ブロックの特定のフォーマ
ットに識別を収めるための追加のフィールド(C)を必
要とする。制御ブロックのフォーマットを変えるこのよ
うな技法を使用すると、制御ブロックの内容を解読する
難度がさらに高くなり、それ故、暗号化データ・セグメ
ントを解読する難度もさらに高くなる。あるいは、制御
ブロックのフォーマットの特定の順序が確立され、暗号
化および解読両方の方法がその順序に適合するようにな
っている場合には、制御ブロックに含まれている情報
が、利用されている特定の制御ブロックのフォーマット
についての指示を与えるのを必要とせずに解読できる。
【0027】さらに、いくつかの乱数を生成する必要性
および独立した制御ブロックとデータ・ブロックの必要
性を未然に防ぐために、このような技法を使用すること
もできる。単一の乱数を使用して、暗号化データのフォ
ーマット、上記の制御ブロックのフィールド、および組
み合わされる暗号化データ・ブロックを識別することが
できる。各フィールドは暗号化ブロック全体のフォーマ
ットを表す所定の値を含むこととなる。この技法による
暗号化は対応する暗号化データ・フォーマットと関連す
る値をまず生成するという犠牲を払って、暗号化時間を
短縮する。しかしながら、対応する暗号化データ・フォ
ーマットおよび値は1回生成するだけですむ。
【0028】各暗号化データ(ED)をさらに処理する
ためレコードのファイルとして記憶媒体に書き込んだ
り、あるいはローカル・エリア・ネットワークその他の
伝送媒体を使用して意図している受信者に伝送すること
ができる。
【0029】図6を参照すると、暗号化データがレコー
ドのファイルとして格納されているものとして、解読の
流れ図が示されている。ステップ600において、暗号
化データのレコードを含んでいるファイルがオープンさ
れる。ステップ610はファイルから次のレコードを検
索する。制御ブロックのフォーマットがわかっているの
で、実施例が固定フォーマットの制御ブロックを有して
いるものとして、ステップ620は制御ブロックから値
1、S、L2、FおよびKを抽出する。値SおよびL2
はステップ630で暗号化データ・セグメント(ED
S)を識別するために使用される。FおよびKの値は対
応する暗号化関数の逆関数である解読関数をキー(K)
とともに解読するために値Fをマッピングすることによ
って、ステップ640で暗号化データ・セグメント(E
DS)を解読するために使用される。ステップ600な
いし640はファイル内のすべてのレコードに対して反
復される(L1の値を使用して、以降のデータ・セグメ
ントに対する制御ブロックを見つけだせることに留意さ
れたい)。
【0030】制御ブロックと暗号化データ・ブロックを
同一のレコードに一緒に格納する代わりに、これらを個
別に格納する本発明の実施例を実現することができる。
各制御ブロックはレコードとして記憶され、暗号化デー
タ・ブロックは連続したバイトとして別のファイルに格
納される。したがって、復号データを制御ブロックから
抽出したとき、次のL1バイトが暗号化データ・ブロッ
クを含んでいるファイルから読み出される。L1バイト
は次いで上記のように解読される。
【0031】図7を参照すると、暗号化されるデータ
(D)を含んでいるファイル(FF)を格納するための
ディスク装置(DD)と、値L1、S、L2、FおよびK
に対応した少なくとも5つの乱数を生成するための手段
(RNG)と、暗号化されるデータ・セグメント内のバ
イト数に対応した次に利用可能なL2バイトを、ファイ
ル(FF)から読み取るための手段(I)と、データを
暗号化するために使用される暗号化関数を決定する手段
(EF)と、データを暗号化するために使用される暗号
化キーを決定する手段(EK)と、データ・セグメント
を暗号化し、制御ブロック(CB)および暗号化データ
・ブロック(EDB)からなる暗号化データを作成する
手段(E)と、暗号化データを含んでいるレコードを暗
号化データ・ファイル(EDF)に書き込む手段(O)
とからなる、本発明の実施例による暗号化システム(E
S)が略示されている。
【0032】以下の表1は本発明の実施例を実施するた
めに使用されるC言語のコードを示している。下記のC
言語コードはC言語環境をサポートしているコンピュー
タで実行できる。適切なコンピュータは、たとえば、I
BMパーソナル・コンピュータRS/2である。
【0033】
【表1】 (C) IBM Corporation 1994. All rights reserved. /* レコード構造 */ typedef struct btrec /* レコード */ { ULONG funcnum; /* 関数番号0→なしにコード化する */ ULONG key; /* 関数に対するキー(no funcの場合、該当せず ) −最大キー値=64k-1 */ ULONG length; /* 次のデータの長さ */ ULONG start /* 暗号化データの開始位置 */ ULONG cntrlblock[20] /* 制御ブロック */ UCHAR data[500]; /* データ */ } BTREC; typedef BTREC FAR * PBTREC; /* 暗号化関数および解読関数 */ #define ENCODE1(d,k) (UCHAR)(d ∧ (UCHAR)k) #define ENCODE2(d,k) (UCHAR)((UCHAR)(~d) ∧ (UCHAR)k) #define ENCODE3(d,k) (UCHAR)(d ∧ (UCHAR)~k) #define DECODE1(d,k) (UCHAR)(d ∧ (UCHAR)k) #define DECODE2(d,k) (UCHAR)(~(UCHAR)(d ∧ (UCHAR)k)) #define DECODE3(d,k) (UCHAR)(d ∧ (UCHAR)~k) /* 名称:NewKey */ /* 記述:変換に使用するキーを返す */ USHORT NewKey(VOID) { USHORT key; /* キー */ /* 乱数からキーを解く */ key=(USHORT)rand(); /* 乱数を返す */ return(key); } /* 名称: NewFunc */ /* 記述:変換に使用する関数番号を返す */ ULONG NewFunc(VOID) { ULONG func; /* 関数番号 */ /* 乱数から関数番号を解く */ func=(ULONG)rand(); if (func<10000) func=1; else if (func<20000) func=2; else func=3; /* 関数番号を返す */ return(func); } /* 名称: NewLength */ /* 記述:2つの境界の間のランダムな長さを返す */ /* Input: 下限 */ /* 上限 */ /* Returns: Length */ SHORT NewLength(SHORT lower, SHORT upper) { SHORT len; /* 長さ */ SHORT r; /* 乱数 */ SHORT i; /* 作業変数 */ /* Get a random number */ r=(SHORT)rand(); /* この範囲にマップし、長さを取得する */ j=MAX_RANDOM_NUMER/(upper-lower+1); len=lower+r/j; return(len); } /* 名称: FillStdData */ /* 記述:パターンを回避するための乱数を使用して、データ・レコードの標準 部品を埋め込み、暗号化関数と暗号化キーを選択する */ VOID FillStdData(PBTREC pbtrec) { ULONG i; /* Count */ /* レコードの標準部分に乱数を埋め込む */ for(i=1; i<=500; i++) pbtrec->data[i]=(CHAR)rand(); for(i=1; i<=20; i++) pbtrec->cntrlblock[i]=(ULONG)rand(); pbtrec->start=0; pbtrec->length=NewLength(30,100); /* 30-100の範囲の乱数を割り当てる */ pbtrec->funcnum=NewFunc(); pbtrec->key=NewKey(); return; } /* 名称: StartPos */ /* 記述:data[]内のデータの開始位置を決定する */ VOID StartPos(PBTREC pbtrec) { /* データがアレイdata[]に合うように開始位置を選択する */ while(pbtrec->start>500-pbtrec->length) pbtrec->start=(ULONG)rand(); return; } /* 名称: ApplyFunc */ /* 記述:関数およびキーを適用することによってデータをコード化し、選択し た開始位置でdata[]におく */ /* 入力:レコードに対するポインタ */ VOID ApplyFunc(PBTREC pbtrec) { ULONG i; /* Count */ /* 関数番号による処理 */ if (pbtrec->funcnum==1) { for (i=0; i<pbtrec->length; i++) pbtrec->data[i+pbtrec->start]=ENCODE1(pbtrec->data[i],pbtrec->key) ; } else if (pbtrec->funcnum==2) { for (i=0; i<pbtrec->length; i++) pbtrec->data[i+pbtrec->start]=ENCODE2(pbtrec->data[i],pbtrec->key) ; } else if (pbtrec->funcnum==3 || pbtrec->funcnum != 0) { for (i=0; i<pbtrec->length; i++) pbtrec->data[i+pbtrec->start]=ENCODE3(pbtrec->data[i],pbtrec->key) ; } return; } /* 名称: TxData */ /* 記述:制御データを制御ブロックへ転送する */ VOID TxData((PBTREC pbtrec) { pbtrec->cntrlblock[1]=pbtrec->length; pbtrec->cntrlblock[4]=pbtrec->start; pbtrec->cntrlblock[9]=pbtrec->funcnum; pbtrec->cntrlblock[15]=pbtrec->key; return; }
【0034】レコード構造「btrec」は暗号化データを
含んでいるレコードに含まれている情報のフォーマット
を記述する。制御ブロックcntrlblock[]は、上記のF、
K、L2およびSに対応する後続のフィールド「funcnu
m」、「key」、「length」、「start」からの複数個の
値からなっている。暗号化データ・ブロックはアレイ
「data[500]」によって表され、したがって、L1は50
0に固定されている(したがって、この値を制御ブロッ
クに格納する必要はない)。上記したように、本発明は
固定長の暗号化データ・ブロックに限定されるものでは
なく、可変長暗号化データ・ブロックを有する実施例を
実現するように、上記コードは簡単に修正できる。
【0035】暗号化関数および解読関数は関数「ENCODE
1」、「ENCODE2」、「ENCODE3」および「DECODE1」、
「DECODE2」、「DECODE3」によって定義される。解読関
数が暗号化関数の逆関数であることがわかろう。ENCODE
1はデータのバイトdと暗号化キーkの間のビット単位
の排他的ORを実行する。ENCODE2はデータのバイトd
の1の補数と暗号化キーkの間のビット単位の排他的O
Rを実行し、ENCODE3はデータのバイトdと暗号化キー
kの1の補数の間のビット単位の排他的ORを実行す
る。解読関数「DECODE」は「ENCODE」関数の逆の演算を
実行する。本発明は上記で画定した「ENCODE」および
「DECODE」関数を使用することに限定されるものではな
く、他の暗号化および解読関数を使用する実施例も実現
できる。
【0036】関数「NewKey」は呼び出されるたびに新し
い暗号化キーを生成する。本明細書記載の実施例におい
て、キーは乱数である。
【0037】関数「NewFunc」はデータ・セグメントの
暗号化にどの暗号化関数が使用される かの指示を返
す。3つの関数のうち1つが生成された乱数が属する範
囲にしたが って選択される。
【0038】関数「NewLength」は「lower」および「up
per」によって定義される所与の範囲内の乱数を返す。
この関数はpbtrec->lengthを関数の戻り値に設定するこ
とによって、コード化されるデータ・セグメントの長さ
を決定するために使用される。本実施例において、長さ
が100という最大値に制限されるので、暗号化データ
・ブロックのほとんどは実際には埋込みであることに留
意されたい。スペースや帯域幅がさらに限定されている
場合には、埋込み量は大幅に減らすことができる(さら
には、省略される)。
【0039】関数「FillStdData」はアレイcntrlbloc
k[]およびdata[]を乱数で初期化し、開始位置データを
ゼロに設定し、データ・セグメントの長さを選択し、デ
ータ・セグメントを暗号化するのに使用される暗号化関
数とキーを選択する。
【0040】関数「StartPos」は暗号化データ・セグメ
ントが常にデータ・アレイdata[]に合致するようなもの
であるアレイdata[i]内の暗号化データ・セグメントに
対するランダムな開始位置を生成する。
【0041】関数「ApplyFunc」は選択した暗号化関数
およびキーをデータ・セグメント内の各バイトに適用す
ることによってデータ・セグメントを暗号化する。選択
した暗号化関数によれば、3つの「ENCODE」関数のうち
の1つが呼び出され、暗号化されるデータdata[i]およ
び暗号化キーpbtrec -> keyをこの関数に渡す。暗号化
データはレコードbtrecのデータ・アレイpbtrec -> dat
a [i + pbtrec -> start]に格納される。
【0042】関数「TxData」は制御情報をアレイ「cntr
lblock[]」に転送し、制御ブロックが固定フォーマット
を有するようにする。次いで、制御ブロックおよび暗号
化データ・ブロックを意図している受信者に伝送した
り、あるいは後で適宜処理するために格納することがで
きる。さらに、制御ブロックと暗号化データ・ブロック
を個別に格納したり、伝送したりすることができる。
【0043】したがって、2つのアレイcntrlblock[]お
よびdata[]は、解読を行うことのできる暗号化情報と暗
号化データ・ブロックをそれぞれ含んでいる。
【0044】本明細書記載の本発明の実施例は一時に1
つのバイトで作動する暗号化および解読関数を使用する
が、暗号化および解読関数は一時にいくつかのバイトで
作動することもできる。
【0045】さらに、複数個の個別のデータ・セグメン
トを暗号化し、同一の暗号化データ・ブロックに格納で
きるが、各々が制御ブロックに格納されているそれぞれ
の暗号化関数、キー、開始位置および長さを有してい
る。
【0046】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0047】(1)複数個のデータ・セグメント(DS
1ないしDSn)を含むデータを複数個のデータ・ブロッ
ク(EDB1ないしEDBn)および関連する制御ブロッ
ク(CB1ないしCBn)に暗号化する方法において、複
数個の暗号化関数(F1ないしFi)の1つを選択し、選
択した暗号化関数を使用してデータ・セグメントを暗号
化して、暗号化データ・セグメントを形成し、暗号化デ
ータ・セグメントを含む暗号化データ・ブロックを作成
し、暗号化データ・ブロックに関して、データを暗号化
するのに使用された暗号化関数の指示を有する関連した
制御ブロックを作成するステップからなる前記方法。 (2)各データ・セグメントについての暗号化データ・
ブロックの全長(L1)、各暗号化データ・ブロック内
の各暗号化データ・セグメントの長さ(L2)または暗
号化データ・ブロック内の暗号化データ・セグメントの
開始位置(S)の少なくとも1つを選択するステップを
含む、上記(1)に記載の方法。 (3)制御ブロックが、暗号化データ・ブロックの全長
1、暗号化データ・セグメントの長さL2または暗号化
データ・ブロック内の暗号化データ・セグメントの開始
位置(S)の指示を含んでいる、上記(2)に記載の方
法。 (4)暗号化データ・ブロックの全長(L1)、暗号化
データ・セグメントの長さ(L2)、または暗号化デー
タ・ブロック内の暗号化データ・セグメントの開始位置
(S)がランダムに選択される、上記(2)または
(3)に記載の方法。 (5)暗号化データ・セグメントを含んでいない暗号化
データ・ブロックのフィールドを乱数(X)で埋め込む
ステップを含む、上記(1)ないし(4)のいずれか1
項に記載の方法。 (6)選択した暗号化関数とともに使用するために、複
数個の暗号化キー(K1ないしKj)から暗号化キーを選
択するステップを含む、上記(1)ないし(5)のいず
れか1項に記載の方法。 (7)制御ブロックが、前記選択した暗号化キー(K)
の指示を含む、上記(6)に記載の方法。 (8)制御ブロックが、他の情報によって占められてい
ないフィールドに乱数(X)を含む、上記(1)ないし
(7)のいずれか1項に記載の方法。 (9)複数個の所定の制御ブロック・フォーマット(C
1ないしCBl)から1つを選択するステップをさらに
含んでおり、各制御ブロックの所定の位置が制御ブロッ
クの所定のフォーマットの指示(C)を含む、上記
(1)ないし(8)のいずれか1項に記載の方法。 (10)複数個のデータ・セグメント(DS1ないしD
n)を含むデータを複数個の暗号化データ・ブロック
(EDB1ないしEDBn)および関連する制御ブロック
(CB1ないしCBn)に暗号化するシステムにおいて、
各データ・セグメントに対して、複数個の暗号化関数
(F1ないしFi)の1つを選択する手段と、各データ・
セグメントに対して、選択した暗号化関数を使用してデ
ータ・セグメントを暗号化して、暗号化データ・セグメ
ントを形成する手段と、各データ・セグメントに対し
て、暗号化データ・セグメントを含む暗号化データ・ブ
ロックを作成する手段と、各データ・セグメントに対し
て、データを暗号化するのに使用された暗号化関数の指
示を有する暗号化データ・ブロックに関連した制御ブロ
ックを作成する手段とからなる前記システム。 (11)複数個の暗号化関数(F1ないしFi)を使用し
て複数個のデータ・セグメント(DS1ないしDSn)か
ら、複数個の暗号化データ・ブロック(EDB1ないし
EDBn)および関連する制御ブロック(CB1ないしC
n)に暗号化されたデータを解読する方法において、
制御ブロックおよび関連する暗号化データ・ブロックを
読み取り、関連する暗号化データ・ブロックとともに使
用された制御ブロック内の情報から暗号化関数を決定
し、決定した暗号化関数に基づいて暗号化データ・ブロ
ックからデータ・セグメントを解読するステップからな
る前記方法。 (12)制御ブロックが暗号化関数とともに使用する暗
号化キーも含む、上記(11)に記載の方法。 (13)複数個の暗号化関数(F1ないしFi)を使用し
て複数個のデータ・セグメント(DS1ないしDSn)か
ら、複数個の暗号化データ・ブロック(EDB1ないし
EDBn)および関連する制御ブロック(CB1ないしC
n)に暗号化されたデータを解読するシステムにおい
て、制御ブロックおよび関連する暗号化データ・ブロッ
クを読み取る手段と、関連する暗号化データ・ブロック
とともに使用された制御ブロック内の情報から暗号化関
数を決定する手段と、決定した暗号化関数に基づいて暗
号化データ・ブロックからデータ・セグメントを解読す
る手段とからなる前記システム。
【0048】
【発明の効果】本発明により、比較的暗号化/解読に要
する時間の少ない簡便な暗号化手法で、無許可の受信者
によるデータの解読を阻止することができる。暗号化/
解読に必要な情報は制御ブロックの指示において可変に
制御することができるので、拡張性・柔軟性にも優れて
いる。
【図面の簡単な説明】
【図1】暗号化されるデータと暗号化前および暗号化後
のデータ・セグメントの図である。
【図2】乱数にしたがってさまざまな暗号化関数がどの
ように選択されるかを示す図である。
【図3】複数個の関連する制御ブロックに暗号化される
データと、暗号化データ・ブロックおよび関連する制御
ブロックを示す図である。
【図4】暗号化方法のステップを説明する流れ図であ
る。
【図5】生成された乱数にしたがって制御ブロックのフ
ォーマットがどのように選択されるかを示す図である。
【図6】解読の流れ図である。
【図7】暗号化システムの略図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−2738(JP,A) 特開 平5−95352(JP,A) 特開 平5−333776(JP,A) 特開 平6−62027(JP,A) (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00 - 9/38

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】コンピュータにより実現される方法であっ
    て、複数個のデータ・セグメント(DS1ないしDSn
    を含むデータを複数個の暗号化データ・ブロック(ED
    1ないしEDBn)および関連する制御ブロック(CB
    1ないしCBn)に暗号化する方法において、暗号化関数を決定する手段によって、 複数個の暗号化関
    数(F1ないしFi)の1つを選択し、暗号化手段によって、 選択した暗号化関数を使用してデ
    ータ・セグメントを暗号化して、暗号化データ・セグメ
    ントを形成し、かつ、 暗号化データ・セグメントを含む暗号化データ・ブロッ
    クを作成し、かつ暗号化データ・ブロックに関して、デ
    ータを暗号化するのに使用された暗号化関数の指示を有
    する関連した制御ブロックを作成した際に乱数発生手段によって、 各データ・セグメントについて
    の暗号化データ・ブロックの全長(L1)、各暗号化デ
    ータ・ブロック内の各暗号化データ・セグメントの長さ
    (L2)または暗号化データ・ブロック内の暗号化デー
    タ・セグメントの開始位置(S)の少なくとも1つを
    するステップからなる前記方法。
  2. 【請求項2】制御ブロックが、暗号化データ・ブロック
    の全長L1、暗号化データ・セグメントの長さL2または
    暗号化データ・ブロック内の暗号化データ・セグメント
    の開始位置(S)の指示を含んでいる、請求項1に記載
    の方法。
  3. 【請求項3】前記乱数発生手段によって、暗号化データ
    ・ブロックの全長(L1)、暗号化データ・セグメント
    の長さ(L2)、または暗号化データ・ブロック内の暗
    号化データ・セグメントの開始位置(S)がランダムに
    変更される、請求項1または2に記載の方法。
  4. 【請求項4】暗号化データ・セグメントを含んでいない
    暗号化データ・ブロックのフィールドを乱数(X)で埋
    め込むステップを含む、請求項1ないし3のいずれか1
    項に記載の方法。
  5. 【請求項5】選択した暗号化関数とともに使用するため
    に、前記乱数発生手段が、複数個の暗号化キー(K1
    いしKj)から暗号化キーを選択するステップを含む、
    請求項1ないし4のいずれか1項に記載の方法。
  6. 【請求項6】制御ブロックが、前記選択した暗号化キー
    (K)の指示を含む、請求項5に記載の方法。
  7. 【請求項7】制御ブロックが、他の情報によって占めら
    れていないフィールドに乱数(X)を含む、請求項1な
    いし6のいずれか1項に記載の方法。
  8. 【請求項8】複数個の所定の制御ブロック・フォーマッ
    ト(CB1ないしCBl)から1つを選択するステップを
    さらに含んでおり、各制御ブロックの所定の位置が制御
    ブロックの所定のフォーマットの指示(C)を含む、請
    求項1ないし7のいずれか1項に記載の方法。
  9. 【請求項9】コンピュータにより実現される方法であっ
    て、複数個の暗号化関数(F1ないしFi)を使用して複
    数個のデータ・セグメント(DS1ないしDSn)から、
    複数個の暗号化データ・ブロック(EDB1ないしED
    n)および関連する制御ブロック(CB1ないしC
    n)に、請求項1に記載の方法により暗号化されたデ
    ータを解読する方法において、 制御ブロックおよび関連する暗号化データ・ブロックを
    読み取り、 関連する暗号化データ・ブロックとともに使用された制
    御ブロック内の情報から暗号化関数を決定し、 決定した暗号化関数に基づいて暗号化データ・ブロック
    からデータ・セグメントを解読するステップを含み、 制御ブロックが暗号化関数とともに使用する暗号化キー
    も含む、前記方法。
JP03321995A 1994-04-05 1995-02-22 暗号化方法およびシステム Expired - Fee Related JP3229148B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9406613A GB2288519A (en) 1994-04-05 1994-04-05 Data encryption
GB9406613.1 1994-04-05
US08/276,192 US5548648A (en) 1994-04-05 1994-07-15 Encryption method and system

Publications (2)

Publication Number Publication Date
JPH07281596A JPH07281596A (ja) 1995-10-27
JP3229148B2 true JP3229148B2 (ja) 2001-11-12

Family

ID=26304629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03321995A Expired - Fee Related JP3229148B2 (ja) 1994-04-05 1995-02-22 暗号化方法およびシステム

Country Status (4)

Country Link
US (1) US5548648A (ja)
EP (1) EP0676876A1 (ja)
JP (1) JP3229148B2 (ja)
GB (1) GB2288519A (ja)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1265122A3 (en) * 1994-03-15 2006-01-18 Kabushiki Kaisha Toshiba Shared file editing system with file content secrecy, version management and asynchronous editing
US6760840B1 (en) 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US8639625B1 (en) 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5638442A (en) * 1995-08-23 1997-06-10 Pitney Bowes Inc. Method for remotely inspecting a postage meter
CA2182254C (en) * 1996-07-29 2000-02-15 Weidong Kou Generic file format for multiple security requirements
US5933501A (en) * 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
JP3804132B2 (ja) * 1996-11-29 2006-08-02 ソニー株式会社 データ送信装置、データ暗号化装置、データ送信方法及びデータ暗号化方法
RU2103829C1 (ru) * 1997-04-02 1998-01-27 Государственное унитарное предприятие "Специализированный центр программных систем "Спектр" Способ шифрования информации, представленной двоичным кодом
US6385723B1 (en) * 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
US6236728B1 (en) * 1997-06-19 2001-05-22 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
US6094486A (en) * 1997-06-19 2000-07-25 Marchant; Brian E. Security apparatus for data transmission with dynamic random encryption
US6240183B1 (en) * 1997-06-19 2001-05-29 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
JP3604264B2 (ja) * 1997-10-06 2004-12-22 株式会社東芝 発信者用端末装置及びネットワークシステム並びに発信情報監視方法
RU2141728C1 (ru) * 1998-01-05 1999-11-20 Молдовян Николай Андреевич Способ шифрования информации, представленной в двоичном виде
RU2141729C1 (ru) * 1998-01-19 1999-11-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ криптографического преобразования блоков двоичных данных
US6192129B1 (en) 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block
US6243470B1 (en) 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
RU2140710C1 (ru) * 1998-02-24 1999-10-27 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ блочного шифрования дискретных данных
KR100411912B1 (ko) * 1998-02-24 2003-12-18 오트크리토에 악츠이오네른오에 옵스체스트보 (모스코브스키야 고로즈카야 텔레폰나야 셋) 이산 데이터 블록 암호화 방법
US6189095B1 (en) 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US6178209B1 (en) * 1998-06-19 2001-01-23 Sarnoff Digital Communications Method of estimating trellis encoded symbols utilizing simplified trellis decoding
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体
US6490353B1 (en) 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
US6496808B1 (en) * 1998-12-22 2002-12-17 At&T Corp. Using smartcards to enable probabilistic transaction on an untrusted device
RU2140713C1 (ru) * 1998-12-28 1999-10-27 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ блочного криптографического преобразования двоичной информации
CA2259738C (en) * 1999-01-20 2012-10-16 Certicom Corp. A resilient cryptographic scheme
EP1189663A2 (en) * 1999-03-11 2002-03-27 Du Pont Pharmaceuticals Company Synergy between low molecular weight heparin and platelet aggregation inhibitors, for preventing and treating thromboembolic disorders
EP1161811B1 (en) * 1999-03-22 2007-08-29 Agency for Science, Technology and Research Method and apparatus for encrypting and decrypting data
ATE251365T1 (de) * 1999-05-18 2003-10-15 Herrero Angel Jose Ferre Selbstkorrigierendes verschleierungs-und verschlüsselungssystem und verfahren
US7450717B1 (en) * 1999-06-08 2008-11-11 General Instruments Corporation Self authentication ciphertext chaining
US6971022B1 (en) 1999-06-15 2005-11-29 Matsushita Electric Industrial Co., Ltd. Cryptographic apparatus for performing cryptography on a specified area of content data
WO2001015162A2 (en) * 1999-08-13 2001-03-01 Microsoft Corporation Methods and systems of protecting digital content
US6886098B1 (en) 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
US7065216B1 (en) 1999-08-13 2006-06-20 Microsoft Corporation Methods and systems of protecting digital content
TW546935B (en) * 1999-08-30 2003-08-11 Nagracard Sa Multi-module encryption method
US20010036271A1 (en) * 1999-09-13 2001-11-01 Javed Shoeb M. System and method for securely distributing digital content for short term use
JP4703805B2 (ja) * 1999-11-16 2011-06-15 大日本印刷株式会社 暗号化装置、暗号化方法、復号化装置、復号化方法および通信システム
US6748441B1 (en) * 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US7039189B1 (en) * 2000-03-17 2006-05-02 International Business Machines Corporation Stream continuity enforcement
US7054443B1 (en) * 2000-03-27 2006-05-30 Microsoft Corporation System and method for protecting digital goods using random and automatic code obfuscation
US7080257B1 (en) * 2000-03-27 2006-07-18 Microsoft Corporation Protecting digital goods using oblivious checking
EP1143658A1 (en) * 2000-04-03 2001-10-10 Canal+ Technologies Société Anonyme Authentication of data transmitted in a digital transmission system
JP2001308843A (ja) 2000-04-19 2001-11-02 Nec Commun Syst Ltd 暗号復号化装置
US7362863B2 (en) * 2000-05-01 2008-04-22 International Business Machines Corporation DES hardware throughput for short operations
JP2002009757A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号化装置及びデータ復号化装置
JP2002044135A (ja) * 2000-07-25 2002-02-08 Mitsubishi Electric Corp 暗号装置及び暗号通信システム
US20020136400A1 (en) * 2001-01-08 2002-09-26 Arif Askerov R-conversion encryption method and system
US20020094083A1 (en) * 2001-01-12 2002-07-18 Prabir Bhattacharya Encryption scheme for limiting the maximum number of accesses to a digital file of predetermined content
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7050583B2 (en) * 2001-03-29 2006-05-23 Etreppid Technologies, Llc Method and apparatus for streaming data using rotating cryptographic keys
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
US20030002677A1 (en) * 2001-06-28 2003-01-02 Amit Dagan Software implementations of input independent LFSR-based algorithms
US7558967B2 (en) * 2001-09-13 2009-07-07 Actel Corporation Encryption for a stream file in an FPGA integrated circuit
US7171557B2 (en) * 2001-10-31 2007-01-30 Hewlett-Packard Development Company, L.P. System for optimized key management with file groups
US7203317B2 (en) * 2001-10-31 2007-04-10 Hewlett-Packard Development Company, L.P. System for enabling lazy-revocation through recursive key generation
US7200747B2 (en) * 2001-10-31 2007-04-03 Hewlett-Packard Development Company, L.P. System for ensuring data privacy and user differentiation in a distributed file system
RU2239290C2 (ru) * 2001-12-24 2004-10-27 Воронежский государственный университет Способ поточного шифрования данных
JP4054190B2 (ja) * 2001-12-27 2008-02-27 松下電器産業株式会社 データ転送システム
US7570766B2 (en) * 2002-03-01 2009-08-04 Intel Corporation Transparently embedding non-compliant data in a data stream
US8214655B2 (en) 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
US20040131181A1 (en) * 2002-04-03 2004-07-08 Rhoads Steven Charles Method and apparatus for encrypting content
US7248696B2 (en) * 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding
RU2241314C2 (ru) * 2002-10-14 2004-11-27 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Управляемый операционный блок
US20040083177A1 (en) * 2002-10-29 2004-04-29 General Instrument Corporation Method and apparatus for pre-encrypting VOD material with a changing cryptographic key
US20040111626A1 (en) * 2002-12-09 2004-06-10 Doron Livny Security processing of unlimited data size
US7346160B2 (en) * 2003-04-23 2008-03-18 Michaelsen David L Randomization-based encryption apparatus and method
RU2239955C1 (ru) * 2003-05-05 2004-11-10 Молдовян Николай Андреевич Криптографический преобразователь двоичных данных
US8098817B2 (en) * 2003-12-22 2012-01-17 Intel Corporation Methods and apparatus for mixing encrypted data with unencrypted data
US7539305B2 (en) * 2004-03-05 2009-05-26 International Business Machines Corporation Schryption method and device
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
JP4570381B2 (ja) * 2004-03-23 2010-10-27 京セラミタ株式会社 電子データ伝送システム及び電子データ伝送方法
JP4734906B2 (ja) * 2004-12-07 2011-07-27 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US7536016B2 (en) * 2004-12-17 2009-05-19 Microsoft Corporation Encrypted content data structure package and generation thereof
US8271805B2 (en) * 2005-02-04 2012-09-18 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure buffer
JP4299801B2 (ja) * 2005-03-28 2009-07-22 Necパーソナルプロダクツ株式会社 データ伝送方法および電子機器
RU2291578C1 (ru) * 2005-04-25 2007-01-10 Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю Способ поточного шифрования данных
JP4640083B2 (ja) * 2005-09-29 2011-03-02 セイコーエプソン株式会社 デバイス管理システム
JP4992219B2 (ja) * 2005-10-06 2012-08-08 セイコーエプソン株式会社 送信情報照合装置および送信情報照合方法、並びに、管理対象デバイス
JP5034227B2 (ja) * 2005-11-29 2012-09-26 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US20070143216A1 (en) * 2005-12-16 2007-06-21 Benaloh Josh D Data Signal with a Database and a Compressed Key
US20080066182A1 (en) * 2006-09-12 2008-03-13 Andrew Hickmott Security techniques for cooperative file distribution
US20080084995A1 (en) * 2006-10-06 2008-04-10 Stephane Rodgers Method and system for variable and changing keys in a code encryption system
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
JP4656665B2 (ja) * 2007-07-05 2011-03-23 大日本印刷株式会社 暗号化処理システム
US9154552B2 (en) 2007-09-06 2015-10-06 Microsoft Technology Licensing, Llc Method and apparatus for cooperative file distribution with receiver determined quality of services
EP2096884A1 (en) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telecommunications network and method for time-based network access
JP4952627B2 (ja) * 2008-03-21 2012-06-13 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
US8615492B1 (en) * 2008-07-29 2013-12-24 Symantec Corporation Techniques for providing multiplexed data for backup
DE102011010613B4 (de) * 2011-02-08 2020-09-10 Fujitsu Ltd. Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt
US9778912B2 (en) * 2011-05-27 2017-10-03 Cassy Holdings Llc Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules
US9794230B2 (en) * 2013-07-20 2017-10-17 Ittiam Systems (P) Ltd. Method and system for encrypting multimedia streams
JP5955285B2 (ja) * 2013-08-27 2016-07-20 株式会社 日立産業制御ソリューションズ 暗号化システム、暗号化方法及びコンピュータプログラム
US9363075B2 (en) * 2013-10-18 2016-06-07 International Business Machines Corporation Polymorphic encryption key matrices
US9813232B2 (en) * 2015-03-17 2017-11-07 Cypress Semiconductor Corporation Device and method for resisting non-invasive attacks
US10326588B2 (en) 2015-05-13 2019-06-18 Bank Of America Corporation Ensuring information security in data transfers by dividing and encrypting data blocks
US10613777B2 (en) 2015-05-13 2020-04-07 Bank Of America Corporation Ensuring information security in data transfers by utilizing decoy data
CN105095793B (zh) * 2015-10-08 2018-03-23 浪潮(北京)电子信息产业有限公司 一种安全芯片中数据加解密的方法及系统
JP7162411B2 (ja) * 2016-07-19 2022-10-28 ヤフー株式会社 暗号化装置、暗号化方法および暗号化プログラム
US10984420B2 (en) * 2017-03-15 2021-04-20 Sujay Abhay Phadke Transaction device
GB2563294A (en) * 2017-06-01 2018-12-12 Zwipe As Progressive key encryption Algorithm
US10313315B2 (en) * 2017-08-25 2019-06-04 Bank Of America Corporation Ensuring information security in data transfers by utilizing proximity keys
US10944544B2 (en) * 2018-11-07 2021-03-09 Sony Corporation Reducing variable-length pre-key to fix-length key
US11443016B2 (en) 2018-11-09 2022-09-13 Sony Corporation Pre-key with authentication using logical combinations of pre-key bits with other information
CN110035069B (zh) * 2019-03-15 2021-08-27 三亚好未来投资合伙企业(有限合伙) 一种物联网信息安全保护方法
US11809493B2 (en) * 2021-01-19 2023-11-07 Micro Focus Llc System and method for tokenization of data
IT202200012812A1 (it) * 2022-06-16 2023-12-16 Marco Moscardi Metodo di implementazione di un algoritmo crittografico simmetrico
CN116010991A (zh) * 2023-01-18 2023-04-25 中国长城科技集团股份有限公司 数据加密方法、数据解密方法、电子设备及可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE646982A (ja) * 1963-04-23
US3798360A (en) * 1971-06-30 1974-03-19 Ibm Step code ciphering system
EP0095923A3 (en) * 1982-06-02 1985-08-21 THE PLESSEY COMPANY plc Communications scrambling systems
US5253294A (en) * 1983-02-22 1993-10-12 At&T Bell Laboratories Secure transmission system
GB2155281A (en) * 1983-06-29 1985-09-18 Ma Com Dcc Inc Probabilistic scrambler and method of probabilistic scrambling
US4694491A (en) * 1985-03-11 1987-09-15 General Instrument Corp. Cryptographic system using interchangeable key blocks and selectable key fragments
US4803725A (en) * 1985-03-11 1989-02-07 General Instrument Corp. Cryptographic system using interchangeable key blocks and selectable key fragments
WO1988001817A1 (en) * 1986-09-02 1988-03-10 Unisys Corporation Stations for communicating with encrypted messages via randomly selected circularly stored keys
US4853962A (en) * 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
EP0464562B1 (en) * 1990-06-29 1997-04-23 Digital Equipment Corporation Method and apparatus for decryption of an information packet having a format subject to modification
US5305384A (en) * 1990-12-04 1994-04-19 Chips International, Inc. Apparatus, system and method for transmitting secure signals over narrow spaced channels
JPH05102960A (ja) * 1991-10-04 1993-04-23 Nec Corp 暗号通信方式
US5517614A (en) * 1992-05-29 1996-05-14 Kabushiki Kaisha Toshiba Data compression/encryption processing apparatus

Also Published As

Publication number Publication date
EP0676876A1 (en) 1995-10-11
GB2288519A (en) 1995-10-18
GB9406613D0 (en) 1994-06-08
JPH07281596A (ja) 1995-10-27
US5548648A (en) 1996-08-20

Similar Documents

Publication Publication Date Title
JP3229148B2 (ja) 暗号化方法およびシステム
US8401186B2 (en) Cloud storage data access method, apparatus and system based on OTP
EP1440535B1 (en) Memory encrytion system and method
AU2008327506B2 (en) Method and system for encryption of data
US6125182A (en) Cryptographic engine using logic and base conversions
CN101206815B (zh) 加密装置和加密方法
JP3746098B2 (ja) データの暗号化装置
EP0002579A1 (en) A method of creating a secure data file
US20150169897A1 (en) Efficient and secure data storage utilizing a dispersed data storage system
KR100994841B1 (ko) 다중키를 이용한 스트림 암호 생성 방법 및 기록 매체
CN104579646A (zh) 乱码本有限单向变换及其加解密应用
CN107070649B (zh) 一种减少写入的大文件选择性加密方法
KR100352782B1 (ko) 소프트웨어 암호화 방법, 소프트웨어 암호화 시스템 및 소프트웨어 복호화 시스템
US20010033654A1 (en) W-EC1 encryption and decryption method and system
JP2002042424A (ja) 情報をブロック暗号化して記録する方法およびこれをサポートする記録媒体
WO1999010859A2 (en) Steganographic encryption system for secure data
JP5060079B2 (ja) 暗号処理プログラム
JPH02110491A (ja) 記憶装置
CN115622745B (zh) 加密方法、装置、终端设备及计算机可读存储介质
EP1179243A1 (en) Cryptographic engine using base conversion, logic operations and prng in data arrays to increase dispersion in ciphertext
CN112615816A (zh) 一种云文档传输加解密方法
Dassanayaka Sound Conveyors for Stealthy Data Transmission
JP4612501B2 (ja) ブロック暗号装置、ブロック復号装置、それらの方法及びプログラム
KR20020025343A (ko) 기본키와 일회용키를 이용한 파일 암호 와 복호 방법 및그 장치
Spasova et al. A New Method for Generating Symmetric Keys for Image Encryption Using Blowfish, Twofish and Threefish Algorithms

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees