JP3320928B2 - 暗号化システム - Google Patents

暗号化システム

Info

Publication number
JP3320928B2
JP3320928B2 JP29772594A JP29772594A JP3320928B2 JP 3320928 B2 JP3320928 B2 JP 3320928B2 JP 29772594 A JP29772594 A JP 29772594A JP 29772594 A JP29772594 A JP 29772594A JP 3320928 B2 JP3320928 B2 JP 3320928B2
Authority
JP
Japan
Prior art keywords
value
values
pseudo
register
function
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
JP29772594A
Other languages
English (en)
Other versions
JPH07199808A (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 JPH07199808A publication Critical patent/JPH07199808A/ja
Application granted granted Critical
Publication of JP3320928B2 publication Critical patent/JP3320928B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/06Cryptographic 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
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にデータ暗号化
の方法に関し、さらに詳細には従来のプロセッサ・プラ
ットホームにおいて高速でかつ計算効率の高い、ソフト
ウェアにより最適化された暗号化技法に関する。
【0002】
【従来の技術】暗号システムは、安全でないチャネル上
を通信されるメッセージのプライバシーと真正さを保証
するために広く使用されている。多くの応用分野では、
暗号化を高いデータ伝送速度で実行することが必要であ
るが、この要件は、通常は、これをサポートする暗号ハ
ードウェアの助けで達成される。しかしこのようなハー
ドウェアは、大部分の従来のコンピュータ・システム上
で使用可能ではない。その上、暗号ハードウェアが利用
可能な場合でも、ハードウェア中でよく走るように設計
されたアルゴリズムが、ソフトウェア実行に最適化され
たアルゴリズムほど、そのソフトウェアでうまく働かな
いことが判明している。データ暗号化規格(DES)の
ハードウェアで効率のよいアルゴリズムも例外ではな
い。
【0003】ソフトウェアでの効率的な実行のための暗
号化方法を設計しようというこれまでの試みが従来技術
で知られている。これらの機能のいくつかは、米国特許
第5003597号明細書、及びR.マークル(Merkl
e)の論文"Fast Software Encryption Functions", Adv
ances in Cryptology, CRYPTO '90 Proceedings, Sprin
ger-Verlag に記載されている。一般に、マークルの技
法は、左半分と右半分の2つの半体を有するデータ入力
に作用することにより、固定長暗号または「ブロック」
暗号を構築するというものである。左半分は、擬似乱数
表にアクセスして表値を取り出すためのインデックスと
して使用される。次にその値がデータ入力の右半分と排
他的OR(XOR)され、結果が左半分として再ラベル
される。次に元の左半分が所定の量だけ回転され、右半
分と再ラベルされる。その後同様にして、データ入力が
完全にランダム化されるまでこの反復過程が継続され
る。高速を達成するため、一実施例では、擬似乱数表が
予め計算される。
【0004】
【発明が解決しようとする課題】マークルの技法及び他
の既知のソフトウェア指向のブロック暗号は、従来技術
のハードウェア技術の暗号化技法に勝る利点を提供す
る。とはいえ、従来のプロセッサ・プラットホームにお
いて高速で計算効率の高い、改善されたソフトウェアで
効率のよい(Software-efficient)暗号化技法を提供す
ることが依然必要とされている。
【0005】本発明の一目的は、インデックス値とキー
から擬似ランダム・ビット・シーケンスを生成する、ソ
フトウェアで効率のよい擬似ランダム機能を提供するこ
とである。インデックスは短い(例えば32ビット)
が、出力ビット・シーケンスは潜在的に非常に長い。擬
似ランダム・ビット・ストリングはストリーム暗号の構
築に有用である。
【0006】
【課題を解決するための手段】上述の擬似ランダム機能
は、好ましくはインデックス値"n"と暗号化キーから擬
似ランダム・ビット・シーケンスを生成する、暗号「オ
ブジェクト」である。この方法は、暗号化キーを事前処
理して擬似乱数値の表にすることから始まる。次にこの
インデックスと表からの1組の値を使って、複数のレジ
スタの初期値を生成する。次に所定の混合関数を使っ
て、レジスタの現在値を取り、この現在値と表から取り
出した1つまたは複数の他のレジスタの部分によって決
定される値との関数でこの現在値を置き換えることによ
り、若干のレジスタの初期値が部分的に修正される。こ
うしてレジスタを修正した後、その結果得られる値を、
表から導かれた他の擬似乱数値と所定のマスク関数とを
使ってマスクする。マスクされたレジスタ値を次に連結
して、擬似ランダム・ビット・ストリングにすると1つ
の繰返し処理が完了する。その後の繰返し処理は、擬似
ランダム・ビット・ストリングを所望の長さまで成長さ
せるために行われる。
【0007】こうして生成されたストリームは、たとえ
ば、平文の「ストリング」を特定の「位置」に関して暗
号化するのに有用な、擬似ランダム・ビット・シーケン
スである。擬似ランダム・ビット・シーケンスの長さ
は、平文ストリングのビット数と同じ長さである。した
がって、本発明の暗号化方法は、様々なタイプのソフト
ウェア暗号に使用できるように独特の方法で適合され
る。たとえば、安全でない通信チャネル上でのメッセー
ジの暗号化に関する応用例では、「ストリング」は特定
のメッセージであり、「位置」はデータ・ストリームに
おけるメッセージの位置を識別する連続番号である。こ
の応用例では、暗号化キーは、その通信セッションを保
護するキーである。別の応用例であるディスクの暗号化
では、「ストリング」は、ディスクに書き込まれるある
いはディスクから読み取られるデータの特定のセクタを
表し、「位置」は、大容量記憶装置上でのそのセクタの
位置を識別するインデックスである。ディスク暗号化の
応用例では、表の生成に使用されるキーは、ユーザが入
力したパスワードから導出することが好ましい。通常
は、各応用例において、特定の「ストリング」がそのス
トリングと本発明の擬似ランダム機能から出力される擬
似ランダム・ビット・ストリームとのXORによって暗
号化される。
【0008】以上、本発明のより重要な目的のいくつか
の概要を示した。これらの目的は、本発明のより顕著な
特徴及び応用例の一部を例示するものにすぎないと解釈
されたい。ここに開示する本発明を異なる形で適用し、
あるいは後述のように本発明を修正することにより、他
の多くの有益な結果が達成できる。したがって、好まし
い実施例に関する下記の詳細な説明を参照すれば、本発
明の他の目的がわかり、本発明がより完全に理解されよ
う。
【0009】
【実施例】本発明の擬似ランダム機能は、ソフトウェア
で効率的に実行されるように最適化されており、従来型
設計の32ビット・プロセッサで実施することが好まし
い。そのようなプロセッサには、たとえばIntel3
86TM、Intel 486TM、PentiumTMプロ
セッサならびに32ビットの縮小命令セット・コンピュ
ータ(RISC)プロセッサが含まれる。これらの実行
ビークルが好ましいが、以下に詳記する好ましい実施例
における本発明は、任意のバイト・アドレスおよび汎用
32ビット・プロセッサに適している。
【0010】本明細書では便宜上下記の表記法を使用す
る。32ビット・ストリングを「ワード」で表し、8ビ
ット・ストリングを「バイト」で表す。空のストリング
はλで表す。長さtのストリングの各ビットをx
01...xt-1と番号を付ける。16進数はその前に"
0x"を付け、10進数10−15をそれぞれ記号"a"
−"f"で表す。ワードyをtビットずつ右循環シフトす
ることをy>>>tで表す。言い換えれば、y>>>t
のビットiはy(i-t)mod32である。記号"∧"、"∨"でビ
ットごとのAND、ORを表す。式A+Bは、符号なし
のワードAとBの桁上げを無視した和を表す。すなわ
ち、ワードAとBのsum mod32である。記号"
‖"は連結演算子を表す。記号odd(・)は、その引
数が奇数である場合にのみ真となる述部を意味する。記
号A[i]は、アレイAのi番目のエントリを表す。
【0011】以下の説明で使用する、いくつかの変数を
「レジスタ」と呼ぶ。本明細書では「レジスタ」はプロ
セッサに関連する物理レジスタに対応するものであるこ
ともそうでないこともある。それは特定の「値」をもつ
と言える構造体(construct)である。あるレジスタ
(n1,n2,n3,n4)は初期設定され、アルゴリズム
の多くのステップでその値を保持する。他のレジスタ
(A、B、C、D)は、より頻繁に変化し得る値をも
つ。あらゆるレジスタは、特定の時間に「現在値」をも
つ。後でわかるように、本発明の方法の一態様によれ
ば、レジスタの「現在値」は通常、その現在値と擬似乱
数値の表から導出された値との関数でその現在値を置き
換えることによって修正される。
【0012】次に具体的に図1を参照すると、キー"a"
から生成された1組の表T、R、Sの制御下で32ビッ
トのインデックス"n"からLビットのストリングy=S
EAL a (n)を生成する方法を詳述したプロセス流れ
図が示されている。この方法は、キー"a"を事前処理し
て好ましくは3つの表T、R、Sに入力することにより
開始する。このステップは、キー"a"を入力として受け
取る表作成手順10を使って実行される。この特定の例
では、キーは160ビット・ストリングであり、これを
下記の関数Gと一緒に使って3つの表を定義する。3つ
の表を使用することが好ましいが、3つの表を、3つの
異なる部分をもつ単に1つの表あるいはアレイと考える
こともできる。したがって3つの異なる表という記述は
単に例示的なものであって制限と見なすべきではなく、
本発明を実施するのに他の表のグループまたは構造も有
用である。
【0013】表中の擬似乱数値は、当技術分野で既知の
任意の1つまたは複数のアルゴリズムを使って指定され
る。どのアルゴリズムを使用するかは本発明にとって重
要ではなく、この目的にどんな安全な擬似乱数生成機構
も有用であると考えられる。すなわち、擬似乱数生成機
構は、安全ハッシュ・アルゴリズム、ブロック暗号、ス
トリーム暗号などから導出することができる。たとえ
ば、表の生成に使用されるアルゴリズムは、DES、M
D5、安全ハッシュ・アルゴリズム(SHA)あるいは
それらの任意の組合せに基づくものでよい。ここに例示
する実施例では、関数Gは米国標準機構「デジタル署名
規格」、連邦情報処理標準刊行物XX草案−1993年
2月に記載されている。関数Gは、米国標準機構「安全
ハッシュ規格」、連邦情報処理標準刊行物180に記載
の安全ハッシュ・アルゴリズム(SHA)に基づいてい
る。SHA及びこの特定の関数Gの詳細は、これらの参
照文献に出ている(これらの参照文献では、表記G
(a,i)の代わりに表記Ga(i)が使用されてい
る)。
【0014】キー"a"が160ビット・ストリングであ
り、iが0≦i<232の整数であるとすると、G
a(i)は160ビットの値である。表構築のため、G
を表作成手順10によって再インデックスし、そのイメ
ージが160ビット・ワードではなく32ビット・ワー
ドである関数を構築する。関数ΓはΓa(i)=Hi
imod5で定義される。Γ値の表は、G値の表を左から
右、上から下に読んだものである。次いで表作成手順1
0は、好ましくは下記のように各表を定義する。 0≦i<512であるすべてのiについて、T[i]=Γa(i) 0≦j<256であるすべてのjについて、S[j]=Γa(0x1000+ j) R[k]=Γa(0x2000+k) したがって表Tは512ワード・エントリを有し、各エ
ントリは長さ32ビットである。表SとRのエントリも
32ビット・ワードである。表Sは256エントリを有
し、表Rは可変長である。
【0015】図1に戻ると、表TとRは初期設定手順1
2で使用され、初期設定手順12にはインデックス"n"
と長さ制御変数"l"も入力として受け取る。変数"l"は
最初"0"に設定され、その上限は出力ストリームの所望
の最終長さに依存する。初期設定手順12はレジスタ
(A、B、C、D、n1、n2、n3、n4)に対する1組
の初期値を生成する。第1のレジスタ群(A、B、C、
D)は、後述のアルゴリズムの特定の「繰返し(iterat
ion)」処理中にその値が変更される。第2のレジスタ
群(n1、n2、n3、n4)は、「繰返し」処理中ずっと
その値が一定のままである。この方法はさらに、1組の
混合機能(mixing function)M1...MNと1組のマ
スク機能(masking function)B1...BNを実施す
る。ただし、Nは64であることが好ましい。各混合機
能Miは対応するマスク機能Biを有し、1回の「繰返
し」処理に一般に1対のこうした機能が含まれる。すな
わち混合機能M1とマスク機能B1がこの方法の1回目の
繰返し処理中に実施され、以下同様である。64回の繰
返し全体でアルゴリズムの「フェーズ」が定義され、各
フェーズは初期設定手順12の呼出しによって開始す
る。特定のフェーズが完了すると、"l"の値が増分され
る。
【0016】第1群のレジスタ(A、B、C、D)の初
期値は、第1の繰返し処理中に線15aを介して第1の
混合機能M1に送られる。混合機能M1はまた線17を介
して第2群のレジスタ(n1、n2、n3、n4)の初期値
をも受け取る。後でわかるように、機能M1は1組の修
正命令を含み、これらの命令は、これらのレジスタのた
めに線15b上に1組の「事前出力」値を生成するため
に、レジスタ(A、B、C、D)の値を乱数化する働き
をする。対応するマスク機能B1は、これらの事前出力
値と、線19を介して表Sからの1組の値とを受け取
る。マスク機能B1は、表Sからのこの1組の値を使っ
て、対応する混合機能からの事前出力レジスタ値を「マ
スク」して、擬似ランダム・ビットy1のデータ・スト
リングを生成する。
【0017】線15b上のレジスタ(A、B、C、D)
の事前出力値は、マスク機能B1に供給される他に、次
の繰返しの混合機能、この場合はM2にも入力として与
えられることが好ましい。混合機能はまた、線17を介
して第2のレジスタ群(n1、n2、n3、n4)の初期値
を受け取る。前述のように、これらの値は初期設定プロ
セス12で初期設定され、そのフェーズ中一定である。
第2のレジスタ群の初期値は第1群のレジスタの(前回
の繰返しからの)事前出力値(場合によっては初期値)
を修正するのに使用され、混合機能(この場合はM2
が、インデックスnに結合された情報に対してより直接
的に依存することを許容する。線15c上の混合機能M
2の出力はマスク機能B2に供給され、マスク機能B2
これらの事前出力値と線19を介した表Sからの新しい
1組の値とを受け取る。マスク機能B2は、この表Sか
らの1組の値を使って、対応する混合機能からの事前出
力レジスタ値を「マスク」して、擬似ランダム・ビット
のデータ・ストリングy2を生成する。
【0018】このようにして繰返し処理が続く。各繰返
し処理から出力された特定のデータ・ストリングが連結
されて、出力データ・ストリームが成長する。本発明に
よれば、表Sは、S表値の1回の通過が64回の繰返し
に相当するのに十分なサイズにフォーマットされる。先
に指摘したように、このサイクルが「フェーズ」であ
る。あるフェーズで十分な長さの出力ストリームが生成
されなかった場合、"l"を1だけ増分した後、初期設定
プロセス12を新たに呼び出すことによって新しいフェ
ーズを開始する。このプロセスは新しいR値を使用し、
再度サイクルを開始して各レジスタ(A、B、C、D、
1、n2、n3、n4)の新しい初期値を生成する。その
後再度フェーズの繰返しを始める。出力ストリームの長
さが所望の値になると、このプロセス全体が停止する。
【0019】初期設定プロセス12の1つの特定の実施
例を図2に示す。このルーチンは、"n"と"l"を(T、
R)に依存する形で第1のレジスタ群(A、B、C、
D)及び第2のレジスタ群(n1、n2、n3、n4)にマ
ップする。初期設定プロセスの最初の実行または呼出し
は、第1フェーズのレジスタ値を形成するためにnとR
[0]、R[1]、R[2]、R[3]の値を用いて行
われる。先に指摘したように、必要ならばこの手順を再
度(すなわち、R[4]...R[7],R
[8]...R[11],など)実行して、追加のレジ
スタ値の組を生成し、出力データ・ストリームの成長を
続けさせる。
【0020】図2の最初の4行を見るとわかるように、
第1フェーズ中にこの手順はインデックスnと表Rから
の第1組の値R[0]...R[3]とを使用して、レ
ジスタA、B、C、Dの値を生成する。次の4行では、
このルーチンはいくつかの機能を実行してレジスタA、
B、C、Dをさらにランダム化する。すなわち、たとえ
ば行5は以下のステップを含んでいる。 P←A&0x7fc; B←B+T[P/4]; A←A>>>9
【0021】この表記法を説明すると次のようになる。
同行中の第1の命令で、ルーチンはレジスタAの0x7
fcにある値の一部分として中間変数Pを指定する。次
にレジスタAのこの部分を表Tに対するインデックスと
して使う("T[P/4]"の表現で示す)。P/4とい
う表記法は、形式的には4による割算であるが、本実施
においては、この命令がP/4ワードの単位ではなくP
バイトの単位でアレイTをインデックスすることを意味
するにすぎない。次に表Tの位置T[P/4]にある擬
似ランダム値が検索され、桁上げを無視してレジスタB
中のワードと加算される。この和がレジスタBに置き換
わる。これは第2の命令の効果である。一般化すると、
表現"B←B+T[P/4]"は、レジスタBの現在値を
とり、その現在値をその現在値と表Tから取り出した値
との関数で置き換える。後者の値は、別のレジスタ値、
すなわちレジスタAのビット21...29(0x7f
c)で表される値によって決まる。第2ステップでレジ
スタ値Bが修正された後、レジスタAの値が所定の量だ
け回転され、レジスタAに戻される。これは、命令"A
←A>>>9."の効果である。これでルーチンの行5
が完了する。
【0022】このルーチンの行6〜8は類似の機能を提
供する。行8の後、レジスタD、B、A、Cに残ってい
る値は、行9の命令(n1、n2、n3、n4)←(D、
B、A、C)で示されるように、値n1、n2、n3、n4
として定義される。次いで、ルーチンの最後の4行で示
されるように、レジスタ値A、B、C、Dに対して追加
の処理が行われ、ランダム化プロセスが完了する。第1
組の値R[0]...R[4]について手順が実行され
た後、このルーチンは4つのレジスタA、B、C、Dの
それぞれ、及び4つのレジスタn1、n2、n3、n4のそ
れぞれについて1組の初期値を生成したわけである。
【0023】次に図3を参照すると、レジスタ(A、
B、C、D)の値をどのように使用して、32ビットの
インデックス値nをLビットのストリングSEAL
a(n)に展開するかが示されている。特定の"i"値に
ついて、行1〜8及び11は混合機能Miに対応し、こ
の機能は、表Tから取り出した追加の値と他の回転命令
及び動作命令を使用して、レジスタ(A、B、C、D)
の値に対してさらにランダム化機能を実行する。
【0024】次に混合機能の好ましい実施例について述
べる。すなわち、たとえばこの機能の行1は別々の4つ
の命令を実行する。第1の命令"P←A&0x7fc"
は、指定された位置にあるレジスタAの断片を取り出
す。第2の命令"B←B+T[P/4]"は、今はP中に
あるレジスタAの断片を表Tへのインデックスとして使
用し、次いで表Tから取り出した値を桁上げは無視して
レジスタBの現在値と加算し、結果をレジスタBに戻
す。第3の命令"A←A>>>9."はレジスタAの値を
回転する。第4の命令は、(第2命令で修正された後
の)レジスタBと(第3命令で回転された後の)レジス
タAの排他的ORを生成する。第4の命令の結果はレジ
スタBに戻される。次にレジスタB中の新たに定義され
た値を、行2の命令"Q←B&0x7fc"により、ルー
チンの次の行(行2)のインデックスとして使用し、図
のようにプロセスが継続される。
【0025】一般化すると、各行の第2の命令は特定の
レジスタの現在値を取り、その現在値をその現在値と表
Tから取り出した値との関数(たとえば+、XORな
ど)で置き換えることがわかる。さらに、表Tから取り
出されこの機能で使用される値は、他のレジスタから導
出された1つまたは複数の値によって、すなわち各行の
第1の命令によって決定される。すなわち、たとえばレ
ジスタAの値の一部分が、行1で命令"P←A&0x7
fc"のための(レジスタBを修正するための)インデ
ックスとして使用され、行3ではレジスタCとレジスタ
Aが(Pにより)表インデックス値を生成する。後者の
インデックスは命令"P←(P+C)&0x7fc"によ
って生成される。
【0026】行1〜8に示されている命令の特定のシー
ケンスは、特にハードウェアで実施するように設計され
た暗号化アルゴリズムと比較して、計算上効率のよいこ
とがわかっており、従来のプロセッサ・プラットフォー
ムで十分にランダム化されたレジスタ値を非常に高速に
生成する。
【0027】行1〜8の処理が実行された後、ルーチン
は行9に進んでマスク処理を実行する。具体的には、行
9は図1のマスク処理Biの1つに対応する。この処理
では、1組の値(たとえば順次ワードであるS
[0]...S[3])が表Sから得られ、当該のマス
ク処理の実行後に存在するレジスタ(A、B、C、D)
の事前出力値を「マスク」するのに使用される。この
「マスク」処理を、(第1組のレジスタ(A、B、C、
D)の)各レジスタ値について実行して、マスクされた
レジスタ値を生成することが好ましい。例示した命令を
見るとわかるように、レジスタB中の事前出力値のマス
ク処理は命令"B+S[4i−4]"の一部分によって実
行される。表Sから取り出した順次ワードを使って、命
令が示すように他のレジスタC、D、Aに対しても類似
のマスク動作が行われる。
【0028】マスクされたレジスタ値が連結されて、混
合機能Miとそれに対応するマスク機能Biによって定義
される機能(関数)SEALa(n)の特定の繰返し用
のデータ・ストリングyiが形成される。特定の繰返し
用のデータ・ストリングyiを形成した後、このアルゴ
リズムはステップ11の命令を実行して、レジスタ値
(n1、n2、n3、n4)を使ってマスクされていないレ
ジスタ値(A、B、C、D)を修正し、その後に次の繰
返し処理に入る。
【0029】先に指摘したように、表Sから4つ組(Tu
ple)がなくなると、機能は図2に戻って、R表からの
次の1組の値について初期設定プロセスを再実行する。
新しいレジスタ値が決定されると、図3の"for i"
ループが再始動される。
【0030】本発明の擬似ランダム機能を使用して特定
のアプリケーションについて十分な出力ビットが収集さ
れると、図2の外側ループが行10の命令によって破ら
れる。先に指摘したように、変数Lは所望の出力ストリ
ームの長さであり、Lは大きな限界をもつ、たとえばL
≦64x1024x8ビットと仮定する。本発明の機能
はL'個のビットを生成するとビットの生成を停止す
る。L'は128の最小倍数であり、少なくともLであ
る。メッセージ暗号化の応用例では、Lが4096x8
ビットより小さいことがしばしばあるが、パーソナル・
コンピュータ上でのディスク暗号化の場合はLは通常5
12x8ビットである。
【0031】図3を見るとわかるように、一般に特定の
レジスタが修正されたとき、+演算とXOR演算を交互
に行なうことが望ましいことが判明している。すなわ
ち、行1でレジスタBの値が+演算子を使って修正さ
れ、行5でBの値がXOR演算子を使って修正される。
同様に行9の処理中に様々なレジスタを横切ってこれら
の演算を交互に行なうことも望ましい。このような演算
が好ましいものの、図3に示した特定のアルゴリズムは
本発明の範囲を制限するものと見なすべきではない。た
とえば、ある種の応用例では同一の演算子(+またはX
OR)をずっと使用するのが望ましいこともある。行1
〜4のそれぞれの第4の命令(その目的はA、B、C、
Dの高位ビットにおける情報をより速やかに「拡散(di
ffuse)」させることである)を省略することすら望ま
しいことがある。別法として、各行の第3の命令におけ
る回転の度合を変化させ、あるいは異なる行が異なる回
転命令をもつようにすることもできる。このアルゴリズ
ムの基本目的に影響を与えずに特定の機能(+、XO
R)の順序を変え、あるいは数多くの方法で変化させる
こともできる。これらの変形はすべて、長さの増大する
擬似ランダム機能が表駆動式制御の下でインデックス値
をLビットのストリングに展開するという、本発明の発
明に十分に含まれるものと見なすべきである。
【0032】このソフトウェア効率のよい(software-e
fficient)擬似ランダム機能およびその暗号化への使用
は、多数の異なるオペレーティング・システムの下で多
数の異なるコンピュータで実施することができる。たと
えば、パーソナル・コンピュータ、ミニコンピュータ、
メインフレーム・コンピュータ、あるいは他のコンピュ
ータの分散ネットワーク中で走るコンピュータがこれら
の目的に有用である。コンピュータの具体的選択はディ
スク及びディスク記憶要件によってのみ制限されるが、
本発明ではIBM PS/2TMシリーズのコンピュータ
が使用できる。IBMのPS/2シリーズのコンピュー
タに関する詳細は、「技術解説書パーソナル・システム
/2モデル50、60システム」IBM社、部品番号6
8x2224、注文番号S68X−2224、及び「技
術解説書パーソナル・システム/2(モデル80)」I
BM社、部品番号68x2256、注文番号S68X−
2254を参照されたい。IBMPS/2パーソナル・
コンピュータが走行できる1つのオペレーティング・シ
ステムは、IBMのOS/2 2.0TMである。IBM
OS/2 2.0オペレーティング・システムに関す
る詳細は、「OS/2 2.0技術ライブラリ・プログ
ラミングの手引」、Vol.1、2、3バージョン2.
00、注文番号10G6261、10G6495、10
G6494を参照されたい。
【0033】あるいは、コンピュータ・システムは、A
IXTMオペレーティング・システム上で走行するIBM
RISCシステム/6000TM系列のコンピュータで
もよい。RISCシステム/6000の様々なモデル
が、IBM社の多くの刊行物、たとえば「RISCシス
テム/6000、7073および7016パワーステー
ション及びパワーサーバ・ハードウェア技術解説書」、
注文番号SA23−2644−00に記載されている。
AIXオペレーティング・システムは、「一般概念及び
手順−RISCシステム/6000用AIXバージョン
3」、注文番号SC23−2202−00ならびにIB
Mコーポレーションの他の刊行物に記載されている。
【0034】そのような1つのコンピュータを図4に示
す。図のコンピュータ20は、システム・ユニット21
とキーボード22とマウス23と表示装置24を備えて
いる。表示装置24の画面26は、グラフィカル・ユー
ザ・インターフェース(GUI)を提示するために使用
される。オペレーティング・システムによってサポート
されるグラフィカル・ユーザ・インターフェースを使用
すると、ユーザは、ポイント・アンド・シュート入力方
法、すなわち画面26の特定の位置にあるデータ・オブ
ジェクトを表すアイコンにマウス・ポインタ25を移動
し、マウス・ボタンを押してユーザ・コマンドまたは選
択を実行する方法を使用することができる。
【0035】図5は、図4に示したパーソナル・コンピ
ュータの構成要素の構成図を示す。システム・ユニット
21は、1本または複数のシステム・バス31を含み、
このバスに様々な構成要素が結合され、このバスによっ
て様々な構成要素間の通信が実現される。マイクロプロ
セッサ32がシステム・バス31に接続され、やはりシ
ステム・バス31に接続された読取り専用メモリ(RO
M)33とランダム・アクセス・メモリ(RAM)34
によってサポートされる。IBMマルチメディアPS/
2シリーズのコンピュータ中のマイクロプロセッサは、
386型または486型マイクロプロセッサを含むIn
telマイクロプロセッサ・ファミリの1つである。た
だし、上記のように、68000、68020または6
8030マイクロプロセッサなどMotorola社の
マイクロプロセッサ・ファミリや、IBM、Hewle
tt Packard、Sun、Intel、Moto
rola及びその他製の様々なRISCマイクロプロセ
ッサを含むが、それだけには限定されないその他のマイ
クロプロセッサを特定のコンピュータ中で使用すること
もできる。
【0036】ROM33は、他のコードの他に、とりわ
け対話などの基本ハードウェア動作やディスク・ドライ
ブ及びキーボードを制御する基本入出力システム(BI
OS)を格納している。RAM34は主メモリであり、
それにオペレーティング・システムやアプリケーション
・プログラムがロードされる。メモリ管理チップ35は
システム・バス31に接続され、RAM34とハード・
ディスク・ドライブ36とフロッピー・ディスク・ドラ
イブ37の間でのデータのやり取りを含めて直接メモリ
・アクセス動作を制御する。CD ROM42もシステ
ム・バス31に結合され、大量のデータ、たとえばマル
チメディア・プログラムや大型データベースの格納に使
用される。
【0037】このシステム・バス31には、キーボード
制御装置38、マウス制御装置39、ビデオ制御装置4
0、オーディオ制御装置41など様々な入出力制御装置
も接続されている。キーボード制御装置38はキーボー
ド22用のハードウェア・インターフェースを提供し、
マウス制御装置39はマウス23用のハードウェア・イ
ンターフェースを提供し、ビデオ制御装置40は表示装
置24用のハードウェア・インターフェースであり、オ
ーディオ制御装置41はスピーカ25aと25b用のハ
ードウェア・インターフェースである。トークンリング
・アダプタなどの入出力制御装置50は、ネットワーク
56を介した同様の構成の他のデータ処理システムとの
通信を可能にする。
【0038】本発明の1つの好ましい実施態様は、ラン
ダム・アクセス・メモリ34に常駐するコード・モジュ
ール中の1組の命令としてのものである。コンピュータ
・システムが必要とするまで、この1組の命令は、別の
コンピュータ・メモリ、たとえばハード・ディスク・ド
ライブ36に、あるいは最終的にCD ROM42で使
用するために光ディスクに、あるいは最終的にフロッピ
ー・ディスク・ドライブ37で使用するためにフロッピ
ー・ディスクに格納しておくことができる。図に示すよ
うに、オペレーティング・システム60及びプレゼンテ
ーション・マネージャ62は、RAM34に常駐する。
【0039】本明細書で述べる擬似ランダム機能のクラ
スの様々な適用例は極めて多様であるが、ここでいくつ
かの適用例について説明する。ただし、これらの例は例
示にすぎず、本発明の機能の用途を制限するものではな
い。これらの適用例には、ローカル・エリア・ネットワ
ーク(LAN)メッセージ暗号化、ディスク暗号化、フ
ァイル暗号化、擬似乱数生成が含まれる。
【0040】高速ソフトウェア暗号を必要とする典型的
な適用例では、遠隔パートナへの通信セッションの間中
または特定の機械へのログイン・セッション中ずっとデ
ータ暗号化が必要である。どちらの場合も、セッション
を保護するキー"a"が、セッションのセットアップ時に
決定される。通常は、このセッションのセットアップに
は少なくとも数ミリ秒かかり、したがって時間がクリテ
ィカルな動作ではない。したがって、このとき、比較的
短いキー"a"を(それより簡潔でない)このキー専用の
暗号変換の表現に変換するのに数ミリ秒を要してもかま
わない。したがって、本発明はこの適用例に非常に有用
である。
【0041】
【0042】
【0043】
【0044】本発明のもう1つの適用例は、すべてのデ
ィスク・アクセスを透過的に暗号化する装置ドライバで
ある。この適用例では、キーaはセッション・キーでは
なく、ユーザuがそのマシンをオンにしたときに入力す
るパスワードpuから導出されるストリングである。オ
ペレーティング・システムがハード・ディスクからi番
目のセクタの読取りを試みるとき、そこ(すなわちスト
リングx)からデータが読み取られ、それをSEALa
(i)とXORすることによって非暗号化される。セク
タの長さと同様のSEALのビットが使用される。同様
に、オペレーティング・システムがi番目のセクタへの
書込みを試みるとき、書き込むべきデータがまずSEA
a(i)とXORすることによって暗号化される。そ
の内容を暗号化すべきディスクが複数ある場合、2つの
セクタが同じインデックスを受け取らないように、各デ
ィスクごとにインデックスが選択される。
【0045】図7は、装置ドライバ内でサポートされ
る、このようなディスクの暗号化を容易にするための擬
似ランダム機能を示す、図5のコンピュータの一部分を
示す。ここでは、装置ドライバの語は、終了・現在常駐
プログラムも含む。この例では、コンピュータは、大容
量記憶装置、この場合は図5のコンピュータのハード・
ディスク36向けの読取りコールまたは書込みコールを
インターセプトする装置ドライバ76をサポートする。
この読取りまたは書込みコールは、オペレーティング・
システム78から装置ドライバ76に送られる。オペレ
ーティング・システムは、ユーザがコンピュータをオン
するときに入力するパスワードpuを受け取る、ログイ
ン機能80をサポートする。ログイン機能は、そのパス
ワードをキー処理機能82に渡し、キー処理機能は表
T、R、Sを生成する。これらの表が擬似ランダム機能
84に供給され、擬似ランダム機能は暗号化機能86に
よってディスク・データを暗号化する。
【0046】擬似ランダム機能のもう1つの適用例はフ
ァイル暗号化である。この場合はストリングはデータ・
ファイルであり、インデックスはその特定のファイルに
関連する独自のファイル識別子である。図8に、ファイ
ル・システム中でローカル及び遠隔のファイル暗号化を
容易にするためにサポートされる擬似ランダム機能を示
す、図5のコンピュータの一部分を示す。この代表例で
は、適用業務がアクセスしたファイルは、ローカル・フ
ァイル・システム88内に常駐することもあり、通信リ
ンク92を介してローカル・ファイル・システム88か
らアクセス可能なリモート・ファイル・システム90内
に常駐することもある。図7の場合と同様に、ログイン
機能80がユーザの名前とパスワードを決め、それらを
キー処理機能82に渡し、このキー処理機能が表T、
R、Sを生成する。これらの表が擬似ランダム機能84
に供給され、擬似ランダム機能は、擬似ランダム・ビッ
ト・ストリングを生成し、暗号化機能86がそれを使っ
てデータ・ファイルを暗号化する。ファイル・システム
は、読取り要求及び書込み要求を送るための適切なイン
ターフェースを含んでいる。
【0047】もう1つの適用例は、予見不能なビットの
供給源を必要とするソフトウェア適用業務に有用な、高
速擬似乱数生成である。この場合、ランダム・キー"a"
は、SEALa(i1)‖SEALa(i2)‖...によ
って定義されるずっと長い擬似ランダム・ストリングに
拡張される。ただし、(i1、i2...)はインデック
スの簡単なシーケンス(たとえば0、1、2、...)
である。
【0048】上記に開示した特定の実施例を基礎として
利用して、本発明と同じ目的を実施するための他のルー
チンを適当に修正または設計できることが当事者には理
解できよう。たとえば、好ましい実施例では本発明を3
2ビット・プロセッサで実施するが、この方法は64ビ
ット・マシンを含む他の実行ビークルにも適用できるこ
とが容易に理解できよう。"n"の長さなど他のパラメー
タも容易に増大しあるいはその他の形で変更することが
できる。
【0049】
【発明の効果】本発明により、所定の繰返し処理により
所望の長さの擬似ランダム・ビット・ストリングを生成
できるようになるので、例えばDES等のハードウェア
効率はよい既存の暗号化手法に比して、よりソフトウェ
ア効率の高い(すなわち、あらゆるアプリケーションに
適合しうる)暗号化が可能になる。
【図面の簡単な説明】
【図1】キー"a"から生成される1組の表T、R、Sの
制御下で32ビットのインデックス"n"を擬似ランダム
Lビット・ストリングSEAL(n)にマップするた
めの本発明の擬似ランダム機能の一部分のプロセス流れ
を示す図である。
【図2】図1の初期設定プロセスを示す図である。
【図3】擬似ランダム・ビット・ストリングSEAL
(n)を生成するための擬似ランダム機能の好ましい実
施例を示す図である。
【図4】擬似ランダム機能を実施する際に使用し、この
関数を暗号化のために使用するための、システム・ユニ
ット、キーボード、マウス及び表示装置を備えるコンピ
ュータを示す図である。
【図5】図4に示したコンピュータのアーキテクチャ構
成図である。
【図6】ディスク暗号化を容易にするために装置ドライ
バ中でサポートされる擬似ランダム機能を示す図5のコ
ンピュータの一部分を示す図である。
【図7】ローカル・ファイル暗号化と遠隔ファイル暗号
化の両方を容易にするためにファイル・システム中でサ
ポートされる擬似ランダム機能を示す、図5のコンピュ
ータの一部分を示す図である。
フロントページの続き (72)発明者 ドン・コパースミス アメリカ合衆国10562 ニューヨーク州 オシニング フェリス56 ピー1 (72)発明者 フィリップ・ダブリュー・ロガウェイ アメリカ合衆国78758 テキサス州オー スチン クリプル・クリーク・ドライブ 1620

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】キーからあらかじめ計算された擬似ランダ
    ムな数の表をデータ暗号化に有用な擬似ランダム・ビッ
    ト・ストリングに変換する暗号化システムであって、 (a)インデックス値および前記表からの1組の値を用
    いて1組のレジスタのための初期値を生成する手段と、 (b)前記レジスタの現在値を取り、この現在値と前記
    表から取り出した値の関数でこの現在値を置換えること
    により前記レジスタの少なくともいくつかを混合する手
    段と、 (c)手段(b)で修正されたレジスタ値を連結して、
    擬似ランダム・ビット・ストリングを生成する手段と、 (d)擬似ランダム・ビット・ストリングが所望の長さ
    になるまで前記手段(b)と(c)の動作を所定回数反
    復させる手段と、 を含む暗号化システム。
  2. 【請求項2】インデックス値およびキーに関してデータ
    ・ストリングを暗号化する暗号化システムであって、 (a)前記キーを予め処理して擬似ランダム値の第1、
    第2、および第3の表を生成する手段と、 (b)インデックス値および前記第1の表からの第1の
    組の値を用いて前記第3の表からの値を第1および第2
    の組のレジスタ値にマップする手段と、 (c)レジスタの現在値を取り、この現在値と前記第3
    の表から取り出した値の関数でこの現在値を置換えるこ
    とにより前記レジスタの少なくともいくつかを混合する
    手段と、 (d)前記第2の表からの第1の組の値を用いて、前記
    手段(c)で混合されたレジスタ値をマスクする手段
    と、 (e)マスクされたレジスタ値を連結して擬似ランダム
    ・ビット・ストリングを生成する手段と、 (f)第2の表からの第2の組の値に対して前記手段
    (c)ないし(e)を動作させる手段と、 (g)擬似ランダム・ビット・ストリングが所望の長さ
    になるまで第1の表からの第2の組の値に対して前記手
    段(b)ないし(f)を動作させる手段と、 を含む暗号化システム。
  3. 【請求項3】インデックス値および暗号化キーに関して
    データ・ストリングを暗号化する暗号化システムであっ
    て、 (a)インデックス値および前記暗号化キーから予め計
    算された擬似ランダム数の表からの1組の値を用いて1
    組のレジスタのための初期値を生成する手段と、 (b)前記レジスタの現在値を取り、この現在値と前記
    表から取り出した値の関数でこの現在値を置換えること
    により前記レジスタの少なくともいくつかを混合する手
    段と、 (c)手段(b)で修正されたレジスタ値を連結して、
    擬似ランダム・ビット・ストリングを生成する手段と、 (d)擬似ランダム・ビット・ストリングが所望の長さ
    になるまで前記手段(b)と(c)の動作を所定回数反
    復させる手段と、 (e)擬似ランダム・ビット・ストリングとデータ・ス
    トリングとを組み合わせることによりデータ・ストリン
    グを暗号化する手段と、 を含む暗号化システム。
JP29772594A 1993-12-06 1994-12-01 暗号化システム Expired - Fee Related JP3320928B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/163,054 US5454039A (en) 1993-12-06 1993-12-06 Software-efficient pseudorandom function and the use thereof for encryption
US163054 1993-12-06

Publications (2)

Publication Number Publication Date
JPH07199808A JPH07199808A (ja) 1995-08-04
JP3320928B2 true JP3320928B2 (ja) 2002-09-03

Family

ID=22588290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29772594A Expired - Fee Related JP3320928B2 (ja) 1993-12-06 1994-12-01 暗号化システム

Country Status (5)

Country Link
US (4) US5454039A (ja)
EP (1) EP0658022B1 (ja)
JP (1) JP3320928B2 (ja)
DE (1) DE69431390T2 (ja)
SG (1) SG44363A1 (ja)

Families Citing this family (238)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
US5652868A (en) * 1994-09-27 1997-07-29 International Business Machines Corporation Data processor having BIOS decryption of emulated media images
US7362775B1 (en) 1996-07-02 2008-04-22 Wistaria Trading, Inc. Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management
US6724554B1 (en) 1995-03-10 2004-04-20 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
US5644444A (en) * 1995-03-10 1997-07-01 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
JP3865775B2 (ja) * 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
US5613004A (en) 1995-06-07 1997-03-18 The Dice Company Steganographic method and device
KR100281869B1 (ko) * 1995-07-28 2001-02-15 윤종용 보안 기능을 갖는 개인용 컴퓨터, 그의 보안 방법 및 그 보안 장치의 설치 및 제거방법
US6070198A (en) * 1995-10-19 2000-05-30 Hewlett-Packard Company Encryption with a streams-based protocol stack
US6014445A (en) * 1995-10-23 2000-01-11 Kabushiki Kaisha Toshiba Enciphering/deciphering apparatus and method incorporating random variable and keystream generation
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US6205249B1 (en) 1998-04-02 2001-03-20 Scott A. Moskowitz Multiple transform utilization and applications for secure digital watermarking
US7664263B2 (en) 1998-03-24 2010-02-16 Moskowitz Scott A Method for combining transfer functions with predetermined key creation
FI102235B1 (fi) * 1996-01-24 1998-10-30 Nokia Telecommunications Oy Autentikointiavainten hallinta matkaviestinjärjestelmässä
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US6122379A (en) * 1996-05-30 2000-09-19 Deloitte & Touche Inc. Method and apparatus for performing simultaneous data compression and encryption
US6530019B1 (en) * 1996-06-12 2003-03-04 Dell U.S.A., L.P. Disk boot sector for software contract enforcement
US7177429B2 (en) 2000-12-07 2007-02-13 Blue Spike, Inc. System and methods for permitting open access to data objects and for securing data within the data objects
US7457962B2 (en) 1996-07-02 2008-11-25 Wistaria Trading, Inc Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7346472B1 (en) 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US7095874B2 (en) 1996-07-02 2006-08-22 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US5889868A (en) 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
EP1076902A4 (en) * 1996-08-05 2001-05-23 Ttr Technologies Ltd DIGITAL OPTICAL MEDIA AUTHENTICATION AND COPY PROTECTION PROCEDURE
US5751812A (en) * 1996-08-27 1998-05-12 Bell Communications Research, Inc. Re-initialization of an iterated hash function secure password system over an insecure network connection
US5793869A (en) * 1996-10-11 1998-08-11 Claflin, Jr.; Raymond E. Method and apparatus for encoding and data compressing text information
US8225089B2 (en) 1996-12-04 2012-07-17 Otomaku Properties Ltd., L.L.C. Electronic transaction systems utilizing a PEAD and a private key
US7730317B2 (en) * 1996-12-20 2010-06-01 Wistaria Trading, Inc. Linear predictive coding implementation of digital watermarks
WO1998032070A1 (en) * 1997-01-17 1998-07-23 Picturetel Corporation Pseudo-random number generator exploiting processors having instruction-level parallelism and the use thereof for encryption
US6125185A (en) * 1997-05-27 2000-09-26 Cybercash, Inc. System and method for encryption key generation
JP3595145B2 (ja) * 1997-06-02 2004-12-02 三菱電機株式会社 暗号通信システム
US6219662B1 (en) 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6253196B1 (en) 1997-07-10 2001-06-26 International Business Machines Corporation Generalized model for the exploitation of database indexes
US6266663B1 (en) 1997-07-10 2001-07-24 International Business Machines Corporation User-defined search using index exploitation
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
US6192358B1 (en) 1997-07-10 2001-02-20 Internatioanal Business Machines Corporation Multiple-stage evaluation of user-defined predicates
US6285996B1 (en) 1997-07-10 2001-09-04 International Business Machines Corp. Run-time support for user-defined index ranges and index filters
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
WO1999008411A2 (en) * 1997-08-08 1999-02-18 Jonathan Stiebel New operation for key insertion with folding
US6032257A (en) * 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
CA2302784A1 (en) 1997-09-17 1999-03-25 Frank C. Luyster Improved block cipher method
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers
US6510228B2 (en) * 1997-09-22 2003-01-21 Qualcomm, Incorporated Method and apparatus for generating encryption stream ciphers
JPH11161552A (ja) * 1997-11-28 1999-06-18 Fujitsu Ltd 可換記憶媒体のデータ保護方法及び、これを適用した記憶装置
IL122393A0 (en) 1997-12-01 1998-06-15 Ttr Technologies Ltd A code word for use in digital optical media and a method of generation thereof
US6259789B1 (en) * 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
DE69812564T2 (de) * 1997-12-15 2003-12-11 Koninkl Philips Electronics Nv Elektronische Vorrichtung mit einem Speicherschutzgerät und Verfahren zum Datenschuts in einem Speicher
US6055316A (en) * 1997-12-26 2000-04-25 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
US6513111B2 (en) 1998-02-09 2003-01-28 Reuters, Ltd Method of controlling software applications specific to a group of users
US6363487B1 (en) * 1998-03-16 2002-03-26 Roxio, Inc. Apparatus and method of creating a firewall data protection
US6732293B1 (en) 1998-03-16 2004-05-04 Symantec Corporation Method, software and apparatus for recovering and recycling data in conjunction with an operating system
JP4169822B2 (ja) * 1998-03-18 2008-10-22 富士通株式会社 記憶媒体のデータ保護方法、その装置及びその記憶媒体
US7246246B2 (en) * 1998-04-17 2007-07-17 Iomega Corporation System for keying protected electronic data to particular media to prevent unauthorized copying using a compound key
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
US6269163B1 (en) 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
US6131165A (en) * 1998-06-18 2000-10-10 Sun Microsystems, Inc. Permit for controlling access to services in protected memory systems
US6138235A (en) * 1998-06-29 2000-10-24 Sun Microsystems, Inc. Controlling access to services between modular applications
US6075865A (en) 1998-07-01 2000-06-13 Tecsec Incorporated Cryptographic communication process and apparatus
US6389425B1 (en) 1998-07-09 2002-05-14 International Business Machines Corporation Embedded storage mechanism for structured data types
GB9818186D0 (en) * 1998-08-20 1998-10-14 Undershaw Global Limited Improvements in and relating to data communication
GB9818187D0 (en) * 1998-08-20 1998-10-14 Undershaw Global Limited Improvements in and relating to access control
JP3679936B2 (ja) * 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
US6473861B1 (en) 1998-12-03 2002-10-29 Joseph Forte Magnetic optical encryption/decryption disk drive arrangement
US6463537B1 (en) * 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
EP1169806A1 (en) * 1999-03-16 2002-01-09 Valentin Alexandrovich Mischenko Method and apparatus for encoding and decoding information
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US7055055B1 (en) 1999-04-23 2006-05-30 Symantec Corporation Write cache flushing method for reducing data corruption
US6792108B1 (en) 1999-06-08 2004-09-14 Universite de Montrëal Aperiodic encryption for digital data
US6367010B1 (en) 1999-07-02 2002-04-02 Postx Corporation Method for generating secure symmetric encryption and decryption
US7051055B1 (en) 1999-07-09 2006-05-23 Symantec Corporation Optimized disk storage defragmentation with swapping capabilities
WO2001004801A1 (en) * 1999-07-09 2001-01-18 Wild File, Inc. Optimized disk storage defragmentation with swapping capabilities
DE19932769A1 (de) * 1999-07-14 2001-03-08 Roellgen Bernd Während der Laufzeit veränderbare kryptographische Methode
US7475246B1 (en) 1999-08-04 2009-01-06 Blue Spike, Inc. Secure personal content server
JP3782351B2 (ja) * 1999-10-20 2006-06-07 富士通株式会社 可変長鍵暗号システム
US7278016B1 (en) * 1999-10-26 2007-10-02 International Business Machines Corporation Encryption/decryption of stored data using non-accessible, unique encryption key
US6928551B1 (en) 1999-10-29 2005-08-09 Lockheed Martin Corporation Method and apparatus for selectively denying access to encoded data
US6792113B1 (en) * 1999-12-20 2004-09-14 Microsoft Corporation Adaptable security mechanism for preventing unauthorized access of digital data
US6748536B1 (en) * 2000-01-13 2004-06-08 Visteon Global Technologies, Inc. Key security system for vehicle-based information node
JP3587751B2 (ja) * 2000-01-25 2004-11-10 村田機械株式会社 共通鍵生成器,暗号通信方法,暗号通信システム及び記録媒体
WO2001063383A1 (en) * 2000-02-24 2001-08-30 Mischenko Valentin Alexandrovi Method for providing authorized access to personal computer data resources
DE60129682T2 (de) * 2000-03-29 2008-04-30 Vadium Technology Inc., Seattle Einmalige pad-verschlüsselung mit zentralschlüsseldienst und schlüsselfähigen zeichen
US20070129955A1 (en) * 2000-04-14 2007-06-07 American Express Travel Related Services Company, Inc. System and method for issuing and using a loyalty point advance
US8046256B2 (en) 2000-04-14 2011-10-25 American Express Travel Related Services Company, Inc. System and method for using loyalty rewards as currency
US7215771B1 (en) 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
US20050063256A1 (en) * 2000-06-30 2005-03-24 Selinfreund Richard H. Data storage in optical discs
US6638593B2 (en) 2000-06-30 2003-10-28 Verification Technologies, Inc. Copy-protected optical media and method of manufacture thereof
WO2002002301A1 (en) 2000-06-30 2002-01-10 Verification Technologies Inc. Copy-protected optical media and method of manufacture thereof
US7003674B1 (en) * 2000-07-31 2006-02-21 Western Digital Ventures, Inc. Disk drive employing a disk with a pristine area for storing encrypted data accessible only by trusted devices or clients to facilitate secure network communications
US7155616B1 (en) 2000-07-31 2006-12-26 Western Digital Ventures, Inc. Computer network comprising network authentication facilities implemented in a disk drive
US7660415B2 (en) 2000-08-03 2010-02-09 Selinfreund Richard H Method and apparatus for controlling access to storage media
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US6862354B1 (en) 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US7900057B2 (en) * 2000-11-03 2011-03-01 Enova Technology Corporation Cryptographic serial ATA apparatus and method
US7398225B2 (en) * 2001-03-29 2008-07-08 American Express Travel Related Services Company, Inc. System and method for networked loyalty program
US7398226B2 (en) 2000-11-06 2008-07-08 American Express Travel Related Services Company, Inc. System and method for networked loyalty program
FR2817067B1 (fr) * 2000-11-21 2003-02-21 Cyber Comm Procede et dispositif d'authentification de documents electroniques au moyen d'une signature numerique
US20020095604A1 (en) * 2001-01-18 2002-07-18 Hausler Jean-Philippe D. Encryption system and method
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
US7222101B2 (en) 2001-02-26 2007-05-22 American Express Travel Related Services Company, Inc. System and method for securing data through a PDA portal
US7584149B1 (en) * 2001-02-26 2009-09-01 American Express Travel Related Services Company, Inc. System and method for securing data through a PDA portal
GB0116016D0 (en) * 2001-06-29 2001-08-22 Simoco Digital Systems Ltd Communications systems
US6973571B2 (en) * 2001-07-03 2005-12-06 Bank Of America Corporation System, apparatus, and method for performing cryptographic validity services
JP3695581B2 (ja) * 2001-08-08 2005-09-14 ソニー株式会社 記録装置および記録方法、記録媒体、並びに、電子カメラ
US7197142B2 (en) * 2001-08-24 2007-03-27 Alten Alexander I System and methods for a vernam stream cipher
US6986050B2 (en) * 2001-10-12 2006-01-10 F-Secure Oyj Computer security method and apparatus
US7415571B1 (en) 2001-10-31 2008-08-19 Western Digital Ventures, Inc. Disk drive and method for using a mailbox file associated with a disk storage medium for performing a function characterized by contents of the mailbox file
US7543117B1 (en) 2001-10-31 2009-06-02 Western Digital Ventures, Inc. Method for installing a mailbox file associated with a disk storage medium
US8935297B2 (en) 2001-12-10 2015-01-13 Patrick J. Coyne Method and system for the management of professional services project information
JP4408601B2 (ja) * 2001-12-27 2010-02-03 富士通株式会社 情報再生装置およびセキュアモジュール
US7242768B2 (en) 2002-01-14 2007-07-10 Lenovo (Singapore) Pte. Ltd. Super secure migratable keys in TCPA
JP4122777B2 (ja) * 2002-01-18 2008-07-23 日本ビクター株式会社 コンテンツ記録再生装置
US7236592B2 (en) * 2002-02-01 2007-06-26 International Business Machines Corporation Efficient stream cipher system and method
JP3730926B2 (ja) * 2002-03-14 2006-01-05 京セラ株式会社 ヘリカル型アンテナの設計方法
US6845908B2 (en) * 2002-03-18 2005-01-25 Hitachi Semiconductor (America) Inc. Storage card with integral file system, access control and cryptographic support
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
US7464265B2 (en) * 2002-05-03 2008-12-09 Microsoft Corporation Methods for iteratively deriving security keys for communications sessions
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
JP4007873B2 (ja) * 2002-07-09 2007-11-14 富士通株式会社 データ保護プログラムおよびデータ保護方法
GB2391082B (en) * 2002-07-19 2005-08-03 Ritech Internat Ltd Portable data storage device with layered memory architecture
US7209561B1 (en) * 2002-07-19 2007-04-24 Cybersource Corporation System and method for generating encryption seed values
US8386797B1 (en) * 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
AU2003298560A1 (en) * 2002-08-23 2004-05-04 Exit-Cube, Inc. Encrypting operating system
US20040131182A1 (en) * 2002-09-03 2004-07-08 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US7146499B2 (en) * 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US7076666B2 (en) * 2002-10-17 2006-07-11 Sony Corporation Hard disk drive authentication for personal video recorder
US20040247116A1 (en) * 2002-11-20 2004-12-09 Boren Stephen Laurence Method of generating a stream cipher using multiple keys
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
JP4655452B2 (ja) * 2003-03-24 2011-03-23 富士ゼロックス株式会社 情報処理装置
US7097107B1 (en) 2003-04-09 2006-08-29 Mobile-Mind, Inc. Pseudo-random number sequence file for an integrated circuit card
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
US7346160B2 (en) * 2003-04-23 2008-03-18 Michaelsen David L Randomization-based encryption apparatus and method
US7480798B2 (en) * 2003-06-05 2009-01-20 International Business Machines Corporation System and method for representing multiple security groups as a single data object
US7430671B2 (en) * 2004-03-31 2008-09-30 Nortel Networks Limited Systems and methods for preserving confidentiality of sensitive information in a point-of-care communications environment
US20050086079A1 (en) * 2003-09-19 2005-04-21 Graves Alan F. Integrated and secure architecture for delivery of communications services in a hospital
US7376836B2 (en) * 2003-09-19 2008-05-20 Nortel Networks Limited Systems and methods for preventing an attack on healthcare data processing resources in a hospital information system
US20080209513A1 (en) * 2003-09-19 2008-08-28 Nortel Networks Limited Systems and methods for preventing an attack on healthcare data processing resources in a hospital information system
JP2007506392A (ja) * 2003-09-22 2007-03-15 イムプシス ディジタル セキュリティ アクチボラゲット データ通信機密保護の仕組みおよび方法
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7296008B2 (en) 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7366299B2 (en) * 2003-09-26 2008-04-29 International Business Machines Corporation Method for encrypting and decrypting data using derivative equations and factors
GB0402909D0 (en) * 2004-02-10 2004-03-17 Stegostik Ltd Data storage
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
US8300824B1 (en) * 2004-04-08 2012-10-30 Cisco Technology, Inc. System and method for encrypting data using a cipher text in a communications environment
US7593532B2 (en) * 2004-04-22 2009-09-22 Netapp, Inc. Management of the retention and/or discarding of stored data
US7085561B1 (en) * 2004-05-03 2006-08-01 Itt Manufacturing Enterprises, Inc. Embedded channel analysis for RF data modem
DE102004032894A1 (de) * 2004-07-07 2006-02-09 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
DE102004032893B4 (de) * 2004-07-07 2015-02-05 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
US7421589B2 (en) * 2004-07-21 2008-09-02 Beachhead Solutions, Inc. System and method for lost data destruction of electronic data stored on a portable electronic device using a security interval
WO2006048703A1 (en) * 2004-11-05 2006-05-11 Synaptic Laboratories Limited Process of and apparatus for encoding a signal
US7949665B1 (en) 2004-11-19 2011-05-24 Symantec Corporation Rapidly traversing disc volumes during file content examination
US8155306B2 (en) * 2004-12-09 2012-04-10 Intel Corporation Method and apparatus for increasing the speed of cryptographic processing
JP4518969B2 (ja) * 2005-01-25 2010-08-04 株式会社トリニティーセキュリティーシステムズ 携帯通信装置、バックアップ装置、バックアップ方法、およびバックアッププログラム
US7330965B2 (en) * 2005-02-09 2008-02-12 International Business Machines Corporation Multi-tiered boot list
US20060198515A1 (en) * 2005-03-03 2006-09-07 Seagate Technology Llc Secure disc drive electronics implementation
US8219823B2 (en) 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
CN100421090C (zh) * 2005-04-29 2008-09-24 英华达股份有限公司 储存元件的资料保护方法及系统
US8898452B2 (en) 2005-09-08 2014-11-25 Netapp, Inc. Protocol translation
US7886158B2 (en) * 2005-09-08 2011-02-08 Hitachi, Ltd. System and method for remote copy of encrypted data
WO2007029330A1 (ja) * 2005-09-09 2007-03-15 Mitsubishi Denki Kabushiki Kaisha 擬似乱数生成装置
US20070088770A1 (en) * 2005-10-14 2007-04-19 Ming-Tsung Chiang Structure for re-arranging file allocation index by memory block
WO2007047346A2 (en) 2005-10-14 2007-04-26 Symantec Operating Corporation Technique for timeline compression in a data store
GB0521664D0 (en) * 2005-10-25 2005-11-30 Cryptara Ltd A method of generating a random key
US7886161B2 (en) * 2005-11-11 2011-02-08 Computer Associates Think, Inc. Method and system for intercepting transactions for encryption
US8230487B2 (en) * 2005-12-21 2012-07-24 International Business Machines Corporation Method and system for controlling access to a secondary system
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8668146B1 (en) 2006-05-25 2014-03-11 Sean I. Mcghie Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds
US8684265B1 (en) 2006-05-25 2014-04-01 Sean I. Mcghie Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds
US9704174B1 (en) 2006-05-25 2017-07-11 Sean I. Mcghie Conversion of loyalty program points to commerce partner points per terms of a mutual agreement
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
US8376224B2 (en) 2006-05-25 2013-02-19 Sean I. Mcghie Self-service stations for utilizing non-negotiable credits earned from a game of chance
US8342399B1 (en) 2006-05-25 2013-01-01 Mcghie Sean I Conversion of credits to funds
US7703673B2 (en) 2006-05-25 2010-04-27 Buchheit Brian K Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds
US8162209B2 (en) 2006-05-25 2012-04-24 Buchheit Brian K Storefront purchases utilizing non-negotiable credits earned from a game of chance
US8171307B1 (en) 2006-05-26 2012-05-01 Netapp, Inc. Background encryption of disks in a large cluster
US9762536B2 (en) * 2006-06-27 2017-09-12 Waterfall Security Solutions Ltd. One way secure link
US8687800B2 (en) 2006-08-15 2014-04-01 Alcatel Lucent Encryption method for message authentication
US8397083B1 (en) 2006-08-23 2013-03-12 Netapp, Inc. System and method for efficiently deleting a file from secure storage served by a storage system
US8181011B1 (en) 2006-08-23 2012-05-15 Netapp, Inc. iSCSI name forwarding technique
IL177756A (en) * 2006-08-29 2014-11-30 Lior Frenkel Encryption-based protection against attacks
US7971234B1 (en) 2006-09-15 2011-06-28 Netapp, Inc. Method and apparatus for offline cryptographic key establishment
US7995759B1 (en) 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
US8042155B1 (en) 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US8190905B1 (en) 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US7853019B1 (en) 2006-11-30 2010-12-14 Netapp, Inc. Tape failover across a cluster
IL180020A (en) * 2006-12-12 2013-03-24 Waterfall Security Solutions Ltd Encryption -and decryption-enabled interfaces
IL180748A (en) * 2007-01-16 2013-03-24 Waterfall Security Solutions Ltd Secure archive
JP5365512B2 (ja) * 2007-03-28 2013-12-11 日本電気株式会社 ソフトウェアicカードシステム、管理サーバ、端末、サービス提供サーバ、サービス提供方法及びプログラム
CN101286338B (zh) * 2007-04-12 2010-06-02 鸿富锦精密工业(深圳)有限公司 电子设备及其数据加密方法与数据解密方法
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8037524B1 (en) 2007-06-19 2011-10-11 Netapp, Inc. System and method for differentiated cross-licensing for services across heterogeneous systems using transient keys
US20100005317A1 (en) * 2007-07-11 2010-01-07 Memory Experts International Inc. Securing temporary data stored in non-volatile memory using volatile memory
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US8223205B2 (en) 2007-10-24 2012-07-17 Waterfall Solutions Ltd. Secure implementation of network-based sensors
US7983423B1 (en) 2007-10-29 2011-07-19 Netapp, Inc. Re-keying based on pre-generated keys
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
US20100031057A1 (en) * 2008-02-01 2010-02-04 Seagate Technology Llc Traffic analysis resistant storage encryption using implicit and explicit data
US8103844B2 (en) * 2008-02-01 2012-01-24 Donald Rozinak Beaver Secure direct platter access
US9152636B2 (en) * 2008-03-07 2015-10-06 Leadcom Technology Co., Ltd. Content protection system in storage media and method of the same
US8738531B1 (en) * 2008-07-08 2014-05-27 InfoWatch Cryptographic distributed storage system and method
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US20100217977A1 (en) * 2009-02-23 2010-08-26 William Preston Goodwill Systems and methods of security for an object based storage device
CN101859306B (zh) * 2009-04-07 2013-01-23 日电(中国)有限公司 盲化索引表产生方法和设备、联合关键字搜索方法和设备
CN101957902B (zh) * 2009-07-20 2014-03-26 日电(中国)有限公司 扩展盲化倒排索引表产生方法和设备、联合关键字搜索方法和设备
US8499359B1 (en) * 2010-12-14 2013-07-30 Symantec Corporation Data loss prevention using an ephemeral key
TW201243643A (en) * 2011-04-22 2012-11-01 Inst Information Industry Hierarchical encryption/decryption device and method thereof
US8837720B2 (en) 2012-03-16 2014-09-16 Paul de Roulet Cryptographically secure pseudorandom number generator
US9635037B2 (en) 2012-09-06 2017-04-25 Waterfall Security Solutions Ltd. Remote control of secure installations
TWI601063B (zh) * 2012-09-19 2017-10-01 聯想企業解決方案(新加坡)有限公司 使用亂數產生器的電腦系統與資料處理方法
US9083510B1 (en) * 2013-03-13 2015-07-14 Emc Corporation Generation and management of crypto key for cloud data
US20140283141A1 (en) * 2013-03-15 2014-09-18 Apple Inc. Switching a Mobile Device from Operating in a Primary Access Mode to a Secondary Access Mode
CA2914785C (en) 2013-04-18 2019-12-17 RISOFTDEV, Inc. System and methods for encrypting data
US9419975B2 (en) 2013-04-22 2016-08-16 Waterfall Security Solutions Ltd. Bi-directional communication over a one-way link
CN103530581A (zh) * 2013-10-09 2014-01-22 中国联合网络通信集团有限公司 硬盘加密方法和操作系统
IL235175A (en) 2014-10-19 2017-08-31 Frenkel Lior Secure desktop remote control
US10372695B2 (en) * 2014-12-27 2019-08-06 Intel Corporation Technologies for computing rolling hashes
US9904803B2 (en) * 2015-03-25 2018-02-27 Intel Corporation Technologies for hardening data encryption with secure enclaves
US9843592B2 (en) 2015-10-14 2017-12-12 Sony Interactive Entertainment America Llc Fast multicast messaging encryption and authentication
IL250010B (en) 2016-02-14 2020-04-30 Waterfall Security Solutions Ltd Secure connection with protected facilities
US10515226B2 (en) * 2016-11-21 2019-12-24 Dell Products, L.P. Systems and methods for protected local backup
US10360391B2 (en) 2017-04-03 2019-07-23 International Business Machines Corporation Verifiable keyed all-or-nothing transform
EP3454502B1 (en) * 2017-09-07 2020-08-05 Nxp B.V. Transceiver system
KR102019362B1 (ko) * 2018-11-26 2019-09-09 제주대학교 산학협력단 Cctv 영상 데이터 분산 처리 장치 및 그 방법
CN112887079B (zh) * 2021-03-11 2022-10-04 中国石油大学(华东) 基于一段随机比特序列生成的变换加密算法
KR102292526B1 (ko) * 2021-03-23 2021-08-24 주식회사 두두아이티 네트워크 비디오 레코더를 위한 보안 인증 장치 및 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS516628A (ja) * 1974-07-08 1976-01-20 Hitachi Ltd
JPS6273331A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 1対1対応乱数表の作成方式
JPS63285578A (ja) * 1987-05-01 1988-11-22 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ディジタル信号暗号化の方法と装置
JPH03162119A (ja) * 1989-11-21 1991-07-12 Sony Corp 符号発生装置
JPH05257679A (ja) * 1992-03-13 1993-10-08 Toshiba Corp 盗用防止機能付きコンピュータシステム
JPH05316104A (ja) * 1992-05-13 1993-11-26 Mega Chips:Kk 符号化装置および復号化装置
JPH0675524A (ja) * 1992-02-17 1994-03-18 Fujitsu F I P Kk ストリーム暗号処理装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3639690A (en) * 1969-09-10 1972-02-01 Motorola Inc Digital privacy system
CH530742A (de) * 1970-08-24 1972-11-15 Ciba Geigy Ag Vorrichtung zur Erzeugung von Schlüsselimpulsfolgen
SE380696B (sv) * 1974-03-20 1975-11-10 Philips Svenska Ab Sett att alstra en pseudoslumpbitfoljd och anordning for utforande av settet.
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
US4319079A (en) * 1979-09-13 1982-03-09 Best Robert M Crypto microprocessor using block cipher
FR2467515A1 (fr) * 1979-10-10 1981-04-17 Telediffusion Fse Systeme de chiffrement et de dechiffrement d'un signal numerique
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
US4520232A (en) * 1982-04-30 1985-05-28 Wilson William J Polygraphic encryption-decryption system
US4668103A (en) * 1982-04-30 1987-05-26 Wilson William J Polygraphic encryption-decryption communications system
US4734796A (en) * 1983-04-14 1988-03-29 Amiram Grynberg Technique for preventing unauthorized copying of information recorded on a recording medium and a protected recording medium
US4596898A (en) * 1984-03-14 1986-06-24 Computer Security Systems, Inc. Method and apparatus for protecting stored and transmitted data from compromise or interception
US4888798A (en) * 1985-04-19 1989-12-19 Oms, Inc. Modular software security
US4787027A (en) * 1985-09-20 1988-11-22 Ncr Corporation System using an adapter board to couple a personal computer to a plurality of peripherals in a financial environment
JP2558682B2 (ja) * 1987-03-13 1996-11-27 株式会社東芝 知的ワ−クステ−シヨン
US4944009A (en) * 1988-02-25 1990-07-24 Massachusetts Institute Of Technology Pseudo-random sequence generator
US5003598A (en) * 1989-01-23 1991-03-26 Kunstadt George H Secure communication system
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5060265A (en) * 1990-07-23 1991-10-22 Motorola, Inc. Method of protecting a linear feedback shift register (LFSR) output signal
JPH0522281A (ja) * 1991-07-15 1993-01-29 Mitsubishi Electric Corp 秘話装置
US5212729A (en) * 1992-01-22 1993-05-18 Schafer Randy J Computer data security device and method
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS516628A (ja) * 1974-07-08 1976-01-20 Hitachi Ltd
JPS6273331A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 1対1対応乱数表の作成方式
JPS63285578A (ja) * 1987-05-01 1988-11-22 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ディジタル信号暗号化の方法と装置
JPH03162119A (ja) * 1989-11-21 1991-07-12 Sony Corp 符号発生装置
JPH0675524A (ja) * 1992-02-17 1994-03-18 Fujitsu F I P Kk ストリーム暗号処理装置
JPH05257679A (ja) * 1992-03-13 1993-10-08 Toshiba Corp 盗用防止機能付きコンピュータシステム
JPH05316104A (ja) * 1992-05-13 1993-11-26 Mega Chips:Kk 符号化装置および復号化装置

Also Published As

Publication number Publication date
DE69431390T2 (de) 2003-06-05
EP0658022B1 (en) 2002-09-18
DE69431390D1 (de) 2002-10-24
US5675652A (en) 1997-10-07
SG44363A1 (en) 1997-12-19
US5454039A (en) 1995-09-26
US5835597A (en) 1998-11-10
EP0658022A3 (en) 2000-06-14
JPH07199808A (ja) 1995-08-04
EP0658022A2 (en) 1995-06-14
US5677952A (en) 1997-10-14

Similar Documents

Publication Publication Date Title
JP3320928B2 (ja) 暗号化システム
US8683218B2 (en) System and method for N-dimensional encryption
US5651069A (en) Software-efficient message authentication
US5673319A (en) Block cipher mode of operation for secure, length-preserving encryption
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
US5003597A (en) Method and apparatus for data encryption
CA2491702C (en) System and method for generating encryption seed values
US6185679B1 (en) Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
US8085933B2 (en) Cipher for disk encryption
US8050401B2 (en) High speed configurable cryptographic architecture
Andem A cryptanalysis of the tiny encryption algorithm
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
JPH1173101A (ja) 高速ブロック暗号化方法,及び,コンピュータで使用可能な媒体
US20040120518A1 (en) Matrix multiplication for cryptographic processing
CN111756520A (zh) 超低时延高级加密标准
JP3012732B2 (ja) ブロック暗号処理装置
CN110034918B (zh) 一种sm4加速方法和装置
US7505586B2 (en) Method for computer-based encryption and decryption of data
JP2004004784A (ja) ハッシュ・アルゴリズムを実装するためのシステム及び方法
Abubaker et al. DAFA-A Lightweight DES Augmented Finite Automaton Cryptosystem
CN117891432A (zh) 一种随机数生成方法、装置及电子设备
TW202248913A (zh) 機器學習模型檔案解密方法及用戶裝置
Kaminsky CS 4005-705-01 Cryptography I
KR20030083292A (ko) 해시 함수를 사용하는 암호화 가속 장치 및 방법

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080621

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees