JPH07199808A - 暗号化方法及びシステム - Google Patents

暗号化方法及びシステム

Info

Publication number
JPH07199808A
JPH07199808A JP6297725A JP29772594A JPH07199808A JP H07199808 A JPH07199808 A JP H07199808A JP 6297725 A JP6297725 A JP 6297725A JP 29772594 A JP29772594 A JP 29772594A JP H07199808 A JPH07199808 A JP H07199808A
Authority
JP
Japan
Prior art keywords
register
value
pseudo
values
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.)
Granted
Application number
JP6297725A
Other languages
English (en)
Other versions
JP3320928B2 (ja
Inventor
Don Coppersmith
ドン・コパースミス
Phillip W Rogaway
フィリップ・ダブリュー・ロガウェイ
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】 ソフトウェア的に効率のよい暗号化用の擬似
ランダム機能を提供する。 【構成】 この方法は、暗号化キーを事前処理して擬似
ランダム値のテーブルを作成することから始まる。次に
インデックスとこのテーブルからの1組の値とを使っ
て、レジスタ用の1組の初期値を生成する。レジスタ値
の少なくとも一部は、レジスタの現在値を取り、この現
在値を、現在値とテーブルから検索した値との関数で置
き換えることによって部分的に修正する。修正後、テー
ブルからの他の値を使ってそれらのレジスタ値をマスク
し、次に結果を連結して擬似ランダム・ビット・ストリ
ングを生成する。この修正ステップを繰り返し、レジス
タ値の新しいマスクされた関数を連結して擬似ランダム
・ビット・ストリングを生成する。ストリングが所望の
ある長さに達するまでこの修正ステップと連結ステップ
を繰り返して、擬似ランダム・ビット・ストリングを成
長させ続けることができる。

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である。記号"∧"、"∨"、
【数1】でビットごとのAND、OR、XOR関数を表
す。式A+Bは、符号なしのワードAとBの桁上げを無
視した和を表す。すなわち、ワードAとBのsum m
od32である。記号"‖"は連結演算子を表す。記号o
dd(・)は、その引数が奇数である場合にのみ真とな
る述部を意味する。記号A[i]は、アレイAのi番目
のエントリを表す。さらに、xが実数の場合、
【数2】はxに等しいかあるいはそれより大きい最小の
整数を表し
【数3】はxに等しいかあるいはそれより小さい最大の
整数を表す。
【0011】以下の説明で使用する、いくつかの変数を
「レジスタ」と呼ぶ。本明細書では「レジスタ」はプロ
セッサに関連する物理レジスタに対応するものであるこ
ともそうでないこともある。それは特定の「値」をもつ
と言える構造体(construct)である。あるレジスタ
(n1,n2,n3,n4)は初期設定され、アルゴリズム
の多くのステップでその値を保持する。他のレジスタ
(A、B、C、D)は、より頻繁に変化し得る値をも
つ。あらゆるレジスタは、特定の時間に「現在値」をも
つ。後でわかるように、本発明の方法の一態様によれ
ば、レジスタの「現在値」は通常、その現在値と擬似乱
数値の表から導出された値との関数でその現在値を置き
換えることによって修正される。
【0012】次に具体的に図1を参照すると、キー"a"
から生成された1組の表T、R、Sの制御下で32ビッ
トのインデックス"n"をLビットのストリングy=SE
ALa(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で定義される。ただし、
【数4】。したがって、Γ値の表は、G値の表を左から
右、上から下に読んだものである。次いで表作成手順1
0は、好ましくは下記のように各表を定義する。 0≦i<512であるすべてのiについて、T[i]=
Γa(i) 0≦j<256であるすべてのjについて、S[j]=
Γa(0x1000+j)
【数5】であるすべてのkについて、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は以下のステップを含んでいる。
【数6】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の命令
【数7】は、(第2命令で修正された後の)レジスタB
と(第3命令で回転された後の)レジスタAの排他的O
Rを生成する。第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の値が
【数8】演算子を使って修正される。同様に行9の処理
中に様々なレジスタを横切ってこれらの演算を交互に行
なうことも望ましい。このような演算が好ましいもの
の、図3に示した特定のアルゴリズムは本発明の範囲を
制限するものと見なすべきではない。たとえば、ある種
の応用例では同一の演算子(+または
【数9】)をずっと使用するのが望ましいこともある。
行1〜4のそれぞれの第4の命令(その目的はA、B、
C、Dの高位ビットにおける情報をより速やかに「拡散
(diffuse)」させることである)を省略することすら
望ましいことがある。別法として、各行の第3の命令に
おける回転の度合を変化させ、あるいは異なる行が異な
る回転命令をもつようにすることもできる。このアルゴ
リズムの基本目的に影響を与えずに特定の機能(+、X
OR)の順序を変え、あるいは数多くの方法で変化させ
ることもできる。これらの変形はすべて、長さの増大す
る擬似ランダム機能が表駆動式制御の下でインデックス
を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】既存のLAN通信製品(たとえば、IBM
LAN Distance、IBM LAN Ser
ver、OSI DCE等)は、2つのエンティティ
A'とB'が安全でないチャネルを介して相互に通信を試
みている場合に使用される。図6に、安全でない通信リ
ンク70を介して通信するこのような1対のプロセス
A'とB'を示す。"E"の表現は、リンク70を介したこ
の通信を目撃している敵対者を表す。本発明によれば、
エンティティ間で伝送されるメッセージは、リンクを介
する安全な通信を促進するため、上記の擬似ランダム機
能を使って暗号化される。
【0042】その通信セッションの開始時に、エンティ
ティ確認プロトコルが実行されて、A'とB'に新鮮でラ
ンダムなセッション・キーaを配布する。本発明によれ
ば、このキーはSEAL用のキーaとして使用される。
具体的には、キーaはA'とB'によってT、R、Sにマ
ップされ、これらの表が擬似ランダム機能72に供給さ
れる。機能72は擬似ランダム・ビット・ストリングを
生成し、それが機能74(典型的にはXOR)によって
メッセージ(xiまたはyj)に暗号化される。これまで
に他方に送られたメッセージ数のカウントを維持するこ
とにより、A'とB'はこの3つの表を使って、始まった
ばかりの通信セッションの一部分であるメッセージを暗
号化する。このプロセスの例示的詳細を下記に示す。
【0043】A'からB'に送られるメッセージは、第1
のメッセージにn1、第2のメッセージにn2と、以下同
様に番号を付ける。B'からA'に送られるメッセージ
は、第1のメッセージにm1、第2のメッセージにm
2と、以下同様に番号を付ける。i≠jであるすべての
iについてni≠njであることが重要である。言い換え
れば、どの関係当事者も同じ順序番号を再度使用できな
い。同様に、すべてのi及びjについてni≠mjである
ことが必要である。すなわち、A'が使用したどの順序
番号もB'が使用できない。上記の条件を満たす番号付
け方式は、簡単に構築できる。A'に偶数の順序番号n1
=0、n2=2、n3=4などを使用し、B'に奇数の順
序番号m1=1、m2=3、m3=5などを取っておくと
よい。A'がそのi番目のメッセージxiをB'に送りた
いときは、A'がpadiで表されるSEALa(n1
の最初の|xi|ビットを計算する。次いでA'はそのx
iの暗号化である
【数10】をB'に送る。同様に関係当事者B'がそのj
番目のメッセージyjをA'に送りたいときは、B'は
【数11】を送る。ただしpadj'はSEALa(mj
の最初の|yj|ビットである。一方の関係当事者によ
って使用可能なすべての順序番号が使いつくされるほど
多くのメッセージが送られるという例外事象の場合、セ
ッションの終了を宣告しなければならない。この場合
は、新しいセッションがセットアップされ、新しいラン
ダムなセッション・キーa'の配布で完了する。
【0044】本発明のもう1つの適用例は、すべてのデ
ィスク・アクセスを透過的に暗号化する装置ドライバで
ある。この適用例では、キーaはセッション・キーでは
なく、ユーザuがそのマシンをオンにしたときに入力す
るパスワードpuから導出されるストリングである。一
例として
【数12】を選ぶことができる。ただし、Kuはマシン
のディスクに格納された、ユーザuに関連する160ビ
ットのストリングである。オペレーティング・システム
がハード・ディスクからi番目のセクタの読取りを試み
るとき、そこ(すなわちストリングx)からデータが読
み取られ、それをSEALa(i)とXORすることに
よって非暗号化される。セクタの長さと同様のSEAL
のビットが使用される。同様に、オペレーティング・シ
ステムがi番目のセクタへの書込みを試みるとき、書き
込むべきデータがまずSEALa(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】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0050】(1)インデックスとキーを擬似ランダム
・ビット・ストリングにマップして暗号化する方法であ
って、(a)前記インデックスと、前記キーから事前に
計算された擬似乱数の表からの1組の値とに基づいて、
1組のレジスタ用の初期値を生成するステップと、
(b)レジスタの現在値を取り出して、その現在値を、
該現在値と前記表から検索した値との関数で置き換える
ことによって、レジスタ値の少なくとも一部を混合して
修正するステップと、(c)ステップ(b)で修正した
レジスタ値の関数を連結して、擬似ランダム・ビット・
ストリングを生成するステップと、(d)ステップ
(b)と(c)を所定の回数だけ繰り返して、擬似ラン
ダム・ビット・ストリングを所望の長さまで成長させる
ステップとを含む方法。 (2)ステップ(b)において、表から検索される値
が、他の少なくとも1つのレジスタから導出した値を使
って表中で特定される、上記(1)に記載の方法。 (3)他のレジスタから導出した値を使って、表にアク
セスした後、前記他のレジスタの現在値が、その現在値
をある所定の量だけ循環シフトさせた値で置き換えられ
る、上記(2)に記載の方法。 (4)前記他のレジスタ値の循環シフトの後、ステップ
(b)の前記レジスタの現在値が、その現在値と前記他
のレジスタ中の循環シフトされた値との排他的ORで置
き換えられる、上記(3)に記載の方法。 (5)前記他のレジスタ値の循環シフトの後、前記レジ
スタの現在値がその現在値と前記他のレジスタ中の循環
シフトされた値とのモジュロ和で置き換えられる、上記
(3)に記載の方法。 (6)レジスタの現在値を取り出して、その現在値を、
該現在値と前記表から検索した値との関数で置き換える
ステップを、ステップ(c)の前に繰り返す、上記
(1)に記載の方法。 (7)ステップ(b)の1回目の繰返し中には、前記関
数が排他的ORであり、ステップ(b)の2回目の繰返
し中には、前記関数がモジュロ和である、上記(6)に
記載の方法。 (8)さらに、前記表からの別の1組の値を使ってステ
ップ(a)ないし(d)を繰り返し、擬似ランダム・ビ
ット・ストリングを所望の長さまで成長させるステップ
を含む、上記(1)に記載の方法。 (9)ステップ(c)におけるレジスタ値の関数が、前
記混合されたレジスタ値を、表から検索した値でマスク
することによって導出される、上記(1)に記載の方
法。 (10)インデックスとキーを擬似ランダム・ビット・
ストリングにマップして暗号化する方法であって、
(a)キーを事前処理して、第1、第2及び第3の擬似
乱数値の表を生成するステップと、(b)前記インデッ
クスと、第1の表からの第1組の値とに基づいて、第3
の表からの値を第1及び第2の組のレジスタ値にマップ
するステップと、(c)レジスタの現在値を取り出し
て、その現在値を、該現在値と第3の表から検索した値
との関数で置き換えることによって、第1の組のレジス
タ値を混合して修正するステップと、(d)第2の表か
らの第1の組の値を使って、ステップ(c)で修正した
レジスタ値をマスクするステップと、(e)マスクをし
たレジスタ値の関数を連結して、擬似ランダム・ビット
・ストリングを生成するステップと、(f)第2の表か
らの第2の組の値を使ってステップ(c)ないし(e)
を繰り返し、擬似ランダム・ビット・ストリングを成長
させるステップと、(g)第1の表からの第2の組の値
を使ってステップ(b)ないし(f)を繰り返し、擬似
ランダム・ビット・ストリングをある所望の長さに達す
るまでさらに成長させるステップとを含む方法。 (11)ステップ(f)の前に、第2の組のレジスタ値
を使って、ステップ(c)で生成したレジスタ値を修正
する、上記(10)に記載の方法。 (12)安全ハッシュ・アルゴリズムから導出した擬似
乱数生成機構を使ってキーを事前処理して第1、第2及
び第3の表を生成する、上記(10)に記載の方法。 (13)インデックスと暗号化キーに関連してデータ・
ストリングを暗号化する方法であって、(a)前記イン
デックスと、前記暗号化キーから事前に計算された擬似
乱数の表からの1組の値に基づいて、1組のレジスタ用
の初期値を生成するステップと、(b)レジスタの現在
値を取り出して、その現在値を、該現在値と前記表から
検索した値との関数で置き換えることによって、レジス
タ値の少なくとも一部を混合し修正するステップと、
(c)ステップ(b)で修正したレジスタ値の関数を連
結して、擬似ランダム・ビット・ストリングを生成する
ステップと、(d)ステップ(b)と(c)を所定の回
数だけ繰り返して、擬似ランダム・ビット・ストリング
を所望の長さまで成長させるステップと、(e)擬似ラ
ンダム・ビット・ストリングと前記データ・ストリング
を排他的ORするステップとを含む方法。 (14)前記データ・ストリングが、安全でないチャネ
ルを介して送られるメッセージであり、前記インデック
スが、そのメッセージの識別番号である、上記(13)
に記載の方法。 (15)前記データ・ストリングが、大容量記憶装置に
記憶されるデータ・ブロックであり、前記インデックス
が大容量記憶装置内でのデータ・ブロックの物理位置を
特定する、上記(13)に記載の方法。 (16)前記データ・ストリングがデータ・ファイルで
あり、前記インデックスが、その特定のデータ・ファイ
ルに関連する独自のファイル識別子である、上記(1
3)に記載の方法。 (17)データ・ストリングを暗号化するための暗号シ
ステムであって、暗号化キーを事前処理して、擬似ラン
ダム値の表を生成する手段と、前記表から導出した値に
応答して、1組のワードの初期値を生成する手段と、前
記1組のワードの初期値の少なくとも一部を修正して、
修正ワードを生成する手段と、前記修正手段に応答し
て、擬似ランダム・ビット・ストリングが所望の長さに
達するまで前記修正ワードの関数を繰り返し連結して、
所望の長さの擬似ランダム・ビット・ストリングを生成
する手段と、前記データ・ストリングと前記擬似ランダ
ム・ビット・ストリングとを組み合わせることによっ
て、データ・ストリングを暗号化する手段とを含む暗号
システム。 (18)オペレーティング・システムと物理装置をオペ
レーティング・システムへインターフェースするための
装置ドライバと、装置ドライバ内でサポートされ、暗号
化キーから事前に計算された表の制御下でインデックス
を擬似ランダム・ビット・ストリングにマップする擬似
ランダム機能と、データ・ストリングと擬似ランダム・
ビット・ストリングとを組み合わせることによって、物
理装置に関連するデータ・ストリングを暗号化する手段
とを備えるコンピュータ・システム。
【0051】
【発明の効果】本発明により、所定の繰返し処理により
所望の長さの擬似ランダム・ビット・ストリングを生成
できるようになるので、例えばDES等のハードウェア
効率はよい既存の暗号化手法に比して、よりソフトウェ
ア効率の高い(すなわち、あらゆるアプリケーションに
適合しうる)暗号化が可能になる。
【図面の簡単な説明】
【図1】キー"a"から生成される1組の表T、R、Sの
制御下で32ビットのインデックス"n"を擬似ランダム
Lビット・ストリングSEALa(n)にマップするた
めの本発明の擬似ランダム機能の一部分のプロセス流れ
を示す図である。
【図2】図1の初期設定プロセスを示す図である。
【図3】擬似ランダム・ビット・ストリングSEALa
(n)を生成するための擬似ランダム機能の好ましい実
施例を示す図である。
【図4】擬似ランダム機能を実施する際に使用し、この
関数を暗号化のために使用するための、システム・ユニ
ット、キーボード、マウス及び表示装置を備えるコンピ
ュータを示す図である。
【図5】図4に示したコンピュータのアーキテクチャ構
成図である。
【図6】1対のプロセスA'とB'が、本発明の擬似ラン
ダム機能によって暗号化されたメッセージにより安全で
ない通信リンクを介して通信する様子を示す図である。
【図7】ディスク暗号化を容易にするために装置ドライ
バ中でサポートされる擬似ランダム機能を示す図5のコ
ンピュータの一部分を示す図である。
【図8】ローカル・ファイル暗号化と遠隔ファイル暗号
化の両方を容易にするためにファイル・システム中でサ
ポートされる擬似ランダム機能を示す、図5のコンピュ
ータの一部分を示す図である。
【符号の説明】
10 表作成手順 12 初期設定手順 M 混合機能 B マスク機能 T 表 S 表 R 表
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04L 9/22 (72)発明者 フィリップ・ダブリュー・ロガウェイ アメリカ合衆国78758 テキサス州オース チン クリプル・クリーク・ドライブ1620

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】インデックスとキーを擬似ランダム・ビッ
    ト・ストリングにマップして暗号化する方法であって、 (a)前記インデックスと、前記キーから事前に計算さ
    れた擬似乱数の表からの1組の値とに基づいて、1組の
    レジスタ用の初期値を生成するステップと、 (b)レジスタの現在値を取り出して、その現在値を、
    該現在値と前記表から検索した値との関数で置き換える
    ことによって、レジスタ値の少なくとも一部を混合して
    修正するステップと、 (c)ステップ(b)で修正したレジスタ値の関数を連
    結して、擬似ランダム・ビット・ストリングを生成する
    ステップと、 (d)ステップ(b)と(c)を所定の回数だけ繰り返
    して、擬似ランダム・ビット・ストリングを所望の長さ
    まで成長させるステップとを含む方法。
  2. 【請求項2】ステップ(b)において、表から検索され
    る値が、他の少なくとも1つのレジスタから導出した値
    を使って表中で特定される、請求項1に記載の方法。
  3. 【請求項3】他のレジスタから導出した値を使って、表
    にアクセスした後、前記他のレジスタの現在値が、その
    現在値をある所定の量だけ循環シフトさせた値で置き換
    えられる、請求項2に記載の方法。
  4. 【請求項4】前記他のレジスタ値の循環シフトの後、ス
    テップ(b)の前記レジスタの現在値が、その現在値と
    前記他のレジスタ中の循環シフトされた値との排他的O
    Rで置き換えられる、請求項3に記載の方法。
  5. 【請求項5】前記他のレジスタ値の循環シフトの後、前
    記レジスタの現在値がその現在値と前記他のレジスタ中
    の循環シフトされた値とのモジュロ和で置き換えられ
    る、請求項3に記載の方法。
  6. 【請求項6】レジスタの現在値を取り出して、その現在
    値を、該現在値と前記表から検索した値との関数で置き
    換えるステップを、ステップ(c)の前に繰り返す、請
    求項1に記載の方法。
  7. 【請求項7】ステップ(b)の1回目の繰返し中には、
    前記関数が排他的ORであり、ステップ(b)の2回目
    の繰返し中には、前記関数がモジュロ和である、請求項
    6に記載の方法。
  8. 【請求項8】さらに、前記表からの別の1組の値を使っ
    てステップ(a)ないし(d)を繰り返し、擬似ランダ
    ム・ビット・ストリングを所望の長さまで成長させるス
    テップを含む、請求項1に記載の方法。
  9. 【請求項9】ステップ(c)におけるレジスタ値の関数
    が、前記混合されたレジスタ値を、表から検索した値で
    マスクすることによって導出される、請求項1に記載の
    方法。
  10. 【請求項10】インデックスとキーを擬似ランダム・ビ
    ット・ストリングにマップして暗号化する方法であっ
    て、 (a)キーを事前処理して、第1、第2及び第3の擬似
    乱数値の表を生成するステップと、 (b)前記インデックスと、第1の表からの第1組の値
    とに基づいて、第3の表からの値を第1及び第2の組の
    レジスタ値にマップするステップと、 (c)レジスタの現在値を取り出して、その現在値を、
    該現在値と第3の表から検索した値との関数で置き換え
    ることによって、第1の組のレジスタ値を混合して修正
    するステップと、 (d)第2の表からの第1の組の値を使って、ステップ
    (c)で修正したレジスタ値をマスクするステップと、 (e)マスクをしたレジスタ値の関数を連結して、擬似
    ランダム・ビット・ストリングを生成するステップと、 (f)第2の表からの第2の組の値を使ってステップ
    (c)ないし(e)を繰り返し、擬似ランダム・ビット
    ・ストリングを成長させるステップと、 (g)第1の表からの第2の組の値を使ってステップ
    (b)ないし(f)を繰り返し、擬似ランダム・ビット
    ・ストリングをある所望の長さに達するまでさらに成長
    させるステップとを含む方法。
  11. 【請求項11】ステップ(f)の前に、第2の組のレジ
    スタ値を使って、ステップ(c)で生成したレジスタ値
    を修正する、請求項10に記載の方法。
  12. 【請求項12】安全ハッシュ・アルゴリズムから導出し
    た擬似乱数生成機構を使ってキーを事前処理して第1、
    第2及び第3の表を生成する、請求項10に記載の方
    法。
  13. 【請求項13】インデックスと暗号化キーに関連してデ
    ータ・ストリングを暗号化する方法であって、 (a)前記インデックスと、前記暗号化キーから事前に
    計算された擬似乱数の表からの1組の値に基づいて、1
    組のレジスタ用の初期値を生成するステップと、 (b)レジスタの現在値を取り出して、その現在値を、
    該現在値と前記表から検索した値との関数で置き換える
    ことによって、レジスタ値の少なくとも一部を混合し修
    正するステップと、 (c)ステップ(b)で修正したレジスタ値の関数を連
    結して、擬似ランダム・ビット・ストリングを生成する
    ステップと、 (d)ステップ(b)と(c)を所定の回数だけ繰り返
    して、擬似ランダム・ビット・ストリングを所望の長さ
    まで成長させるステップと、 (e)擬似ランダム・ビット・ストリングと前記データ
    ・ストリングを排他的ORするステップとを含む方法。
  14. 【請求項14】前記データ・ストリングが、安全でない
    チャネルを介して送られるメッセージであり、前記イン
    デックスが、そのメッセージの識別番号である、請求項
    13に記載の方法。
  15. 【請求項15】前記データ・ストリングが、大容量記憶
    装置に記憶されるデータ・ブロックであり、前記インデ
    ックスが大容量記憶装置内でのデータ・ブロックの物理
    位置を特定する、請求項13に記載の方法。
  16. 【請求項16】前記データ・ストリングがデータ・ファ
    イルであり、前記インデックスが、その特定のデータ・
    ファイルに関連する独自のファイル識別子である、請求
    項13に記載の方法。
  17. 【請求項17】データ・ストリングを暗号化するための
    暗号システムであって、 暗号化キーを事前処理して、擬似ランダム値の表を生成
    する手段と、 前記表から導出した値に応答して、1組のワードの初期
    値を生成する手段と、 前記1組のワードの初期値の少なくとも一部を修正し
    て、修正ワードを生成する手段と、 前記修正手段に応答して、擬似ランダム・ビット・スト
    リングが所望の長さに達するまで前記修正ワードの関数
    を繰り返し連結して、所望の長さの擬似ランダム・ビッ
    ト・ストリングを生成する手段と、 前記データ・ストリングと前記擬似ランダム・ビット・
    ストリングとを組み合わせることによって、データ・ス
    トリングを暗号化する手段とを含む暗号システム。
  18. 【請求項18】オペレーティング・システムと物理装置
    をオペレーティング・システムへインターフェースする
    ための装置ドライバと、 装置ドライバ内でサポートされ、暗号化キーから事前に
    計算された表の制御下でインデックスを擬似ランダム・
    ビット・ストリングにマップする擬似ランダム機能と、 データ・ストリングと擬似ランダム・ビット・ストリン
    グとを組み合わせることによって、物理装置に関連する
    データ・ストリングを暗号化する手段とを備えるコンピ
    ュータ・システム。
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 true JPH07199808A (ja) 1995-08-04
JP3320928B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534235A (ja) * 2002-07-19 2005-11-10 サイバーソース コーポレイション 暗号用シード値生成方法およびシステム
JP2006211051A (ja) * 2005-01-25 2006-08-10 Trinity Security Systems Inc 携帯通信装置、バックアップ装置、バックアップ方法、およびバックアッププログラム
WO2007029330A1 (ja) * 2005-09-09 2007-03-15 Mitsubishi Denki Kabushiki Kaisha 擬似乱数生成装置

Families Citing this family (235)

* 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
US5644444A (en) * 1995-03-10 1997-07-01 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
US6724554B1 (en) 1995-03-10 2004-04-20 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
EP0826181A4 (en) 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
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
US7159116B2 (en) 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
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
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
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
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
IL128369A0 (en) * 1996-08-05 2000-01-31 Ttr Technologies Ltd Digital optical media authentication and copy protection method
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
US5983252A (en) * 1997-01-17 1999-11-09 Picturetel Corporation Pseudo-random number generator capable of efficiently 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 三菱電機株式会社 暗号通信システム
US6192358B1 (en) 1997-07-10 2001-02-20 Internatioanal Business Machines Corporation Multiple-stage evaluation of user-defined predicates
US6278994B1 (en) 1997-07-10 2001-08-21 International Business Machines Corporation Fully integrated architecture for user-defined search
US6266663B1 (en) 1997-07-10 2001-07-24 International Business Machines Corporation User-defined search using index exploitation
US6219662B1 (en) 1997-07-10 2001-04-17 International Business Machines Corporation Supporting database indexes based on a generalized B-tree index
US6285996B1 (en) 1997-07-10 2001-09-04 International Business Machines Corp. Run-time support for user-defined index ranges and index filters
US6253196B1 (en) 1997-07-10 2001-06-26 International Business Machines Corporation Generalized model for the exploitation of database indexes
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
EP1062755A2 (en) * 1997-08-08 2000-12-27 Jonathan Stiebel New operation for key insertion with folding
US6032257A (en) * 1997-08-29 2000-02-29 Compaq Computer Corporation Hardware theft-protection architecture
US6182216B1 (en) 1997-09-17 2001-01-30 Frank C. Luyster 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
US6732274B1 (en) * 1997-12-15 2004-05-04 Koninklijke Philips Electronics N.V. Electronic apparatus comprising a memory protection device and method of protecting data in a memory
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
GB9818187D0 (en) * 1998-08-20 1998-10-14 Undershaw Global Limited Improvements in and relating to access control
GB9818186D0 (en) * 1998-08-20 1998-10-14 Undershaw Global Limited Improvements in and relating to data communication
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
WO2001018628A2 (en) 1999-08-04 2001-03-15 Blue Spike, Inc. A secure personal content server
DE69929251T2 (de) * 1999-10-20 2006-07-13 Fujitsu Ltd., Kawasaki Verschlüsselungssystem mit einem schlüssel veränderlicher länge
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
AU2001253034A1 (en) * 2000-03-29 2001-10-08 Vadium Technology, Inc. One-time-pad encryption with central key service and keyable characters
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
AU2001253502A1 (en) 2000-04-14 2001-10-30 American Express Travel Related Services Company, Inc. A system and method for using loyalty points
WO2002002301A1 (en) 2000-06-30 2002-01-10 Verification Technologies Inc. Copy-protected optical media and method of manufacture thereof
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
US6638593B2 (en) 2000-06-30 2003-10-28 Verification Technologies, Inc. Copy-protected optical media and method of manufacture thereof
US20050063256A1 (en) * 2000-06-30 2005-03-24 Selinfreund Richard H. Data storage in optical discs
US7155616B1 (en) 2000-07-31 2006-12-26 Western Digital Ventures, Inc. Computer network comprising network authentication facilities implemented in a disk drive
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
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 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
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
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
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
US7543117B1 (en) 2001-10-31 2009-06-02 Western Digital Ventures, Inc. Method for installing a mailbox file associated with a disk storage medium
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
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 富士通株式会社 データ保護プログラムおよびデータ保護方法
GB2405007A (en) * 2002-07-19 2005-02-16 Ritech Internat Ltd Process of encryption and decryption of data in a portable data storage device with layered memory architecture
US8386797B1 (en) * 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
CA2496664C (en) * 2002-08-23 2015-02-17 Exit-Cube, Inc. Encrypting operating system
AU2003270296A1 (en) * 2002-09-03 2004-03-29 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
US7190791B2 (en) * 2002-11-20 2007-03-13 Stephen Laurence Boren Method of encryption using multi-key process to create a variable-length key
US20040247116A1 (en) * 2002-11-20 2004-12-09 Boren Stephen Laurence Method of generating a stream cipher using multiple keys
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
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
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
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
JP2007506392A (ja) * 2003-09-22 2007-03-15 イムプシス ディジタル セキュリティ アクチボラゲット データ通信機密保護の仕組みおよび方法
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
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
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
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
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
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
US7409587B2 (en) 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
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
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
EP1952236B1 (en) 2005-10-14 2017-06-14 Symantec Operating Corporation Technique for timeline compression in a data store
US20070088770A1 (en) * 2005-10-14 2007-04-19 Ming-Tsung Chiang Structure for re-arranging file allocation index by memory block
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
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
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
US8162209B2 (en) 2006-05-25 2012-04-24 Buchheit Brian K Storefront purchases utilizing non-negotiable credits earned from a game of chance
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
US8171307B1 (en) 2006-05-26 2012-05-01 Netapp, Inc. Background encryption of disks in a large cluster
HUE030535T2 (en) * 2006-06-27 2017-05-29 Waterfall Security Solutions Ltd One-way security connections from a security operating unit to a security operating unit
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
US8239684B2 (en) * 2007-03-28 2012-08-07 Nec Corporation Software IC card system, management server, terminal, service providing server, service providing method, and program
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
US8103844B2 (en) * 2008-02-01 2012-01-24 Donald Rozinak Beaver Secure direct platter access
US20100031057A1 (en) * 2008-02-01 2010-02-04 Seagate Technology Llc Traffic analysis resistant storage encryption using implicit and explicit data
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
US9195388B2 (en) 2013-03-15 2015-11-24 Apple Inc. Specifying applications to share in a shared access mode
RU2619895C1 (ru) 2013-04-18 2017-05-19 Рисофтдев, Инк. Система и способы для шифрования данных
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 (8)

* 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対応乱数表の作成方式
JPS63501044A (ja) * 1985-09-20 1988-04-14 エヌ・シー・アール・インターナショナル・インコーポレイテッド 金融関係用デ−タ処理システム
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 (21)

* 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
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 (8)

* 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
JPS63501044A (ja) * 1985-09-20 1988-04-14 エヌ・シー・アール・インターナショナル・インコーポレイテッド 金融関係用デ−タ処理システム
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 符号化装置および復号化装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005534235A (ja) * 2002-07-19 2005-11-10 サイバーソース コーポレイション 暗号用シード値生成方法およびシステム
JP2006211051A (ja) * 2005-01-25 2006-08-10 Trinity Security Systems Inc 携帯通信装置、バックアップ装置、バックアップ方法、およびバックアッププログラム
JP4518969B2 (ja) * 2005-01-25 2010-08-04 株式会社トリニティーセキュリティーシステムズ 携帯通信装置、バックアップ装置、バックアップ方法、およびバックアッププログラム
WO2007029330A1 (ja) * 2005-09-09 2007-03-15 Mitsubishi Denki Kabushiki Kaisha 擬似乱数生成装置
GB2444567A (en) * 2005-09-09 2008-06-11 Mitsubishi Electric Corp Pseudo random number generation device
GB2444567B (en) * 2005-09-09 2011-01-05 Mitsubishi Electric Corp Pseudo-random number generator
JP4718455B2 (ja) * 2005-09-09 2011-07-06 三菱電機株式会社 擬似乱数生成装置及び擬似乱数生成方法及び擬似乱数生成プログラム
US8443020B2 (en) 2005-09-09 2013-05-14 Mitsubishi Electric Corporation Pseudo random number generator

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3320928B2 (ja) 暗号化システム
US8683218B2 (en) System and method for N-dimensional encryption
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
Andem A cryptanalysis of the tiny encryption algorithm
US5003597A (en) Method and apparatus for data encryption
CA2491702C (en) System and method for generating encryption seed values
US8085933B2 (en) Cipher for disk encryption
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US8503670B2 (en) Parallelizable integrity-aware encryption technique
WO2020188269A1 (en) Cryptography using a cryptographic state
US7451310B2 (en) Parallelizable authentication tree for random access storage
US20090285396A1 (en) Database processing on externally encrypted data
WO2021129470A1 (zh) 基于多项式完全同态的二进制数据加密系统及方法
US11893122B2 (en) Shapeshift data encryption methods and systems
EP4371023A1 (en) Cryptographic system for post-quantum cryptographic operations
US6801625B1 (en) Apparatus and method for stripping parity bits from an input stream
Abubaker et al. DAFA-A Lightweight DES Augmented Finite Automaton Cryptosystem
Shrestha Parallel implementation of AES using XTS mode of operation
US12047490B2 (en) Length-preserving encryption for database tables
Sibert et al. The Multics encipher_Algorithm
Kaminsky CS 4005-705-01 Cryptography I

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