JP3901909B2 - 暗号化装置およびプログラムを記録した記録媒体 - Google Patents
暗号化装置およびプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3901909B2 JP3901909B2 JP2000108334A JP2000108334A JP3901909B2 JP 3901909 B2 JP3901909 B2 JP 3901909B2 JP 2000108334 A JP2000108334 A JP 2000108334A JP 2000108334 A JP2000108334 A JP 2000108334A JP 3901909 B2 JP3901909 B2 JP 3901909B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- key
- encryption
- plaintext
- bits
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
Description
【発明の属する技術分野】
本発明は、特に(但し限定する意味ではなく)、通信システムやコンピュータネットワーク上での用途のための、例えば、インターネット取引のための安全なチャネルを提供するための暗号化装置および方法、並びに対応する復号装置および方法に関する。
【0002】
【従来の技術】
近年の暗号は、インターネットのようなネットワーク上での安全な取引用にデータを暗号化する、サイファー(ciphers)として知られているような、暗号化アルゴリズムの使用に依存している。データの秘匿性を保持する主機能に加えて、暗号化システムは、データ保全性(data integrity)の保持を含む幾つかの他の機能を提供することができる。そのために、メッセージの受信者は、そのメッセージが暗号化された後に第三者によって改竄されていないことを検証しうる必要がある。
【0003】
暗号化アルゴリズムを秘密に保つ必要をなくすために(これは、そのアルゴリズムが市販の商品内に組み込まれている場合には困難な場合がある)、最近のアルゴリズムは、膨大な個数の取りうる値が想定される暗号キーKを用いる。よって、この暗号化システムの安全性は、そのアルゴリズムの細部ではなく、このキーに依存することになる。
【0004】
キーに基づくアルゴリズムには、対称すなわち秘密キーアルゴリズムと、非対称すなわち公開キーアルゴリズムの二つの汎用タイプがある。本発明は対称アルゴリズムの方に関する。暗号方式に基づいた対称アルゴリズムの殆どにおいて、暗号キーと復号キーとは同一であり、送信者と受信者は、互いに秘密に通信することができる前提として、キーについての合意しなければならない。また、両者は、そのキーが秘密の状態におかれているということを確かめなければならない。なぜなら、そのシステムの安全性は、第三者がそのキーを知っていることにより、低下するからである。
【0005】
図1は、暗号化通信の基本原理を示す。平文Pとして既知の非暗号化データは、送信者により暗号化アルゴリズムEと暗号キーKとを用いて暗号化され、暗号文(ciphertext)Cとして知られる暗号データが生成される。数学的には、この演算はEk(P)=Cと表せる。暗号文は通信路(チャネル)を介して受信者へ送られ、そこで、復号アルゴリズムDが適用されて、暗号文から平文が復元される。この演算は、Dk(C)=Pと表せる。機能DおよびEは、Dk(Ek(P))=Pという性質を有し、ここではDをEの逆変換(inverse)と呼ぶ。互いに異なるが暗号的に関連したキーK1,K2がそれぞれ暗号化と復号に用いられる場合、適当な式表現は、Ek1(P)=C、Dk2(C)=P、かつ、Dk2(Ek1(P))=Pとなる。
【0006】
対称アルゴリズムは、ブロックサイファーおよびストリームサイファーと総称される二つのカテゴリに分類することができる。一般に、ストリームサイファーは、一度に1ビットずつ平文を処理し、ブロックサイファーよりかなり高速である。例えば、簡単なストリームサイファーでは、平文の各ビットは、キーストリーム生成器により生成された疑似ランダムビットストリームのうちの対応するビットとの間で排他的論理和(XOR)がとられる。
【0007】
ストリームサイファーは、メッセージの秘匿性を保持する主暗号機能を有するが、データ保全性の保持には独立した機能を追加する必要がある。さもなければ、平文における1ビット位置の変更がそのまま暗号文の対応する位置における変更となるからである。したがって、独立した保全性保持機能を実現するためには、回路および/またはメモリの追加が必要となる。
【0008】
ブロックサイファーは、ブロックとして知られる平文ビットのグループに対して作用する。例えば、典型的なブロックのサイズは64ビットである。ブロックサイファーが利用されるのは、それが秘密保持性とデータ保全性の両方を与える能力をもつがためである。しかし、ブロックサイファーは、概して、ストリームサイファーに比べて相当速度が遅い。例えば、既知のDESブロックサイファーは、56ビットのキーを用いて、64ビットブロック単位にデータを暗号化する。このキーを用いて、そのキーの16個の異なる48ビットのサブセットからなるキースケジュールが生成される。このキースケジュールの全出力を用いて、高度な非線形データランダム化アルゴリズムで各平文ブロックが暗号化される。
【0009】
ブロックサイファーおよびストリームサイファー並びにそれらの動作モードの概要については、ブルース・シュナイアー(Bruce Shneier)による”アプライド・クリプトグラフィー(Applied Cryptography)”、第2版、第9章、第189−211頁を参照されたい。
【0010】
【発明が解決しようとする課題】
本発明は、ブロックサイファーおよびストリームサイファーの利点を組み合わせることを目的としている。
【0011】
【課題を解決するための手段】
本発明によれば、対称暗号化を実行するための暗号化装置であって、暗号キーに応答して複数ビットの疑似ランダム数シーケンスからなるキーストリームブロックを生成する生成手段と、暗号文ブロックを生成するために、このキーストリームブロックを、複数ビットからなる平文ブロックと結合する結合手段とを備え、前記キーストリームブロック内のビット数は平文ブロック内のビット数より大きい暗号化装置が提供される。
【0012】
より短いキー列から生成された疑似ランダムシーケンスのブロック単位の使用により、データ秘匿性およびデータ保全性の点でブロックサイファーの利点を保持することができるとともに、ストリームサイファーの速度上の利点をも享受することができる。なぜなら、疑似ランダム数シーケンスの生成は、一般に、ブロックサイファーの動作より高速であり、かつ、前記結合手段がより簡単かつ迅速に実現できるからである。
【0013】
前記生成手段は、各々、暗号化対象の平文データの対応する平文ブロックと結合されるべき、連続したキーストリームブロックを前記疑似ランダム数シーケンスから選択する選択手段を有することができる。さらに、前記結合手段は、与えられたキーの基で、与えられた平文データの暗号化の際に1回のみ、前記連続したキーストリームブロックの各々を使用するように構成することができる。これによって、もし当該疑似ランダム数生成器が安全と仮定されるならば、無条件にワンタイムパッド(one-time-pad:一度しか使わない暗号表)的な安全性が得られる。換言すれば、当該生成手段は、各平文ブロックを暗号化するための新鮮なキーストリームブロック群を生成することができる。そのキーストリームビットシーケンスは、暗号化対象のデータの長さに依存する。このキーストリームデータの新鮮度によって、前記結合手段を、ブロックサイファーでの対応するデータランダム化手段より簡単かつ高速となしうる。なぜなら、結合手段は、非線形機能であることを必要としないからである。
【0014】
本装置は、1つのキーストリームブロックを複数のサブブロックに分割する手段を有することができる。このサブブロックは、前記疑似ランダムビットシーケンスの個別のまたは重複した部分を含むことができる。
【0015】
前記結合手段は、第1の組み合わせを得るために前記キーストリームブロックの第1の部分を平文ブロックと結合する第1の手段と、暗号文ブロックを生成するために前記第1の結合手段の結果を前記キーストリームブロックの第2の部分と結合する第2の手段とを有しうる。sビットのキーストリームブロックをbビットのサブブロック(これは付加的なパディングビット(padding bits)を含んでもよい)に分割することによって、前記結合手段は、例えば、GF(2b )の数学的演算により、平文の等長シーケンスをキーストリームサブブロックと結合することができる。
【0016】
前記生成手段は、暗号キーの入力を受ける疑似ランダム数生成器、または、キーおよびナンス(nonce)の入力を受けるハッシュ関数を有し得る。ナンスとは、32ビットあるいは64ビット程度の時系列に変化するバイナリデータであり、過去に一度も現れていない値を示すものである。乱数やカウンタの値などがこれに用いることができる。
【0017】
本暗号化装置は、中間キーを生成する複数のキーストリーム生成器と、暗号化対象の平文ブロックに応じて前記キーストリーム生成器を切り替える手段とを備え、中間キーシーケンスの並列計算により速度向上を可能とする。
【0018】
本暗号化装置は、代替的に、ナンス入力を有する前記第1のキーストリーム生成器により生成された第1の中間キーに応答して第2の中間キーを生成する第2のキーストリームを有しうる。ファイルやレコードのような個々の要素に基づいてナンスを生成することにより、第1の中間キーは個々の要素の暗号化を行う。これによって、データベースやディスク暗号化のような用途において個々の要素の暗号化を行うとともに、中間キーのみを共用し、当該秘密キーは暗号化サイトに保持することが可能となる。
【0019】
本発明によれば、さらに、暗号キーに応じて疑似ランダム数シーケンスを生成するキーストリーム生成器と、前記疑似ランダム数シーケンスから選択されたビットパターンからなるキーストリームブロックを、ビットシーケンスからなる平文ブロックと結合するよう構成された処理回路とを備え、前記キーストリームブロックビットパターンは、平文ブロックビットシーケンスより多いビット数からなる暗号化装置が提供される。
【0020】
本発明によれば、また、対称復号化を実行する復号装置であって、復号キーに応じて、複数のビットの疑似ランダム数シーケンスからなるキーストリームブロックを生成する生成手段と、平文ブロックを復元するために前記キーストリームブロックを暗号文ブロックと結合する結合手段とを備え、前記キーストリームブロック内のビット数は前記暗号文ブロック内のビット数より多い復号装置が提供される。
【0021】
本発明は、さらに、対称暗号化を行う方法であって、暗号キーに応じて、複数ビットの疑似ランダム数シーケンスからなるキーストリームブロックを生成し、このキーストリームブロックを、複数のビットの平文ブロックと結合することにより暗号文ブロックを生成し、前記キーストリームブロック内のビット数は前記平文ブロック内のビット数より多い方法を提供する。
【0022】
本発明は、さらに、対称的に暗号化された暗号文メッセージを復号する方法であって、復号キーに応じて、複数ビットの疑似ランダム数シーケンスからなるキーストリームブロックを生成し、このキーストリームブロックを、複数ビットの暗号文ブロックと結合することにより平文ブロックを生成し、前記キーストリームブロック内のビット数は前記暗号文ブロック内のビット数より多い方法を提供する。
【0023】
本発明によれば、さらに、対称暗号化を行うためのコンピュータプログラムであって、暗号キーに応じて、複数ビットの疑似ランダム数シーケンスからなるキーストリームを生成する生成手段と、暗号文ブロックを生成するためにこのキーストリームブロックを複数ビットの平文ブロックと結合する結合手段とを備え、前記キーストリームブロック内のビット数は前記平文ブロック内のビット数より多いコンピュータプログラムが提供される。
【0024】
本発明によれば、また、対称的に暗号化された暗号文メッセージを復号するためのコンピュータプログラムであって、復号キーに応じて、複数ビットの疑似ランダム数シーケンスからなるキーストリームブロックを生成する生成手段と、平文ブロックを生成するためにこのキーストリームブロックを、複数ビットの暗号文ブロックと結合する結合手段とを備え、前記キーストリームブロック内のビット数は前記暗号文ブロック内のビット数より多いコンピュータプログラムが提供される。
【0025】
【発明の実施の形態】
以下、本発明の実施の形態について、添付の図面を参照して例示説明する。
【0026】
図2において、本発明による暗号化装置は、中間キーストリーム生成器KSと、混合関数MXto
を有する。
【0027】
キーストリーム生成器KS
KSは、暗号キーKに応じて、疑似ランダム数シーケンスSの形式で中間キーを生成するよう設計される。KSは、例えば、既知の暗号疑似ランダム数生成器、または、理想的な暗号ハッシュ関数、または、同一入力が与えられたとき常に、予言できない同一のシーケンスを生成するよう保証された任意のデバイスである。例えば、WAKE,SEALまたはRC4のような、既知のストリームサイファー用に使用される疑似ランダム数生成器である。KSはまた、カウンタモードのブロックサイファーまたはカウンタ付きのハッシュ関数であってもよい。疑似ランダム数生成器は非常に長い平文シーケンス(例えばSEALアルゴリズムでは64KB)を生成することができるが、ハッシュ関数は比較的短いシーケンス(例えば160ビット)を生成する。しかし、以下に詳述するように、ハッシュ関数に対して異なる連続した入力を用いることにより、このハッシュ関数は、長い疑似ランダムシーケンスを生成する疑似ランダム数生成器として動作する。
【0028】
図2に示すように、KSはまた、データのシーケンスとして定義されたナンスNを受信することができる。この場合、ある特定のキーに対して、特定の値が2度現れる確率が無視できるほど小さい。例えば、ナンスは、特定のキーの基で単一のメッセージの暗号化中に常時カウントアップするカウンタから導出することができる。したがって、メッセージの暗号化中に用いられるナンスの各値は一意である。ナンスの他の例については後述する。
【0029】
KSの他の実現例として、図3に示すように、キーKの基で既知のブロックサイファーを用いてナンスNを暗号化することにより、疑似ランダム数ストリングからなる暗号文Sを生成する。代替的に、図4に示すように、キーK、ナンスNおよびパディングビットを連結してハッシュ関数へ入力することにより、中間キーSとして使用すべきハッシュ値を生成する。いずれの場合も、一旦、現在のストリングが暗号化に利用されたら、他のナンス、例えば前のナンス値を1だけ増加させたものを用いて次の疑似ランダム数ストリングを生成する。
【0030】
混合関数MX
再度図2に戻り、中間キーSは混合関数MXへ入力される。混合関数MXは、平文メッセージPを受けて、これと疑似ランダム数シーケンスSとを結合し、暗号文Cを生成する。この混合関数MXは、また、前の暗号文出力に依存するフィードバック(帰還)入力Fを受けることができる。
【0031】
図5における、混合関数MXは可逆関数であり、暗号文Cと疑似ランダムシーケンスSとを逆混合関数MX-1に与えることにより復号が行われ、平文Pが復元される。
【0032】
混合関数MXは、次のような基準に従って、データ秘匿性およびデータ保全性を保持するように設計することができる。
【0033】
秘匿性:平文の暗号文は、任意のキーの基で、実質的に均一な分布ですべての可能なストリングでありうる。
【0034】
保全性:変更された平文の暗号文は、任意のキーの基で、すべての取りうる暗号文ストリングの間に実質的に均一に分布する。その結果、Sを知らない攻撃者は、その暗号文が何らかの変更を受けた後に平文がどのように変わったかを予言することができない。
【0035】
これらの条件は数学的には次のように表せる。
【0036】
秘匿性:Probs(MX(P,S)=C)<ec, for any P and C
保全性:Probs(MX(P,S)^MX(P',S)=D) <ei, for any (P,P',D)
ここに、Proby(X)は、Yの均一な分布に対するXの確率を表し、演算子”∧”は、ビット単位の排他的論理和(XOR)を表す。また、ecおよびeiは、攻撃者がこれらの確率を利用してこの暗号を破ることが計算上不可能なほど小さい。
【0037】
図6において、データ保全性の検証は、平文メッセージに既知の冗長データを付加しておき、暗号化および対応する復号化の後に当該既知のデータが復元されたことを確認することにより行える。
【0038】
図7は、平文メッセージPのi番目のブロックを表すbビット長の汎用化されたブロックP(i)を参照して、ナンスまたはフィードバック入力を持たない、図2の装置の動作を説明するためのフロー図である。C(i)は、bビット長の暗号文の対応するブロックを表す。S(i)は、sビット長の疑似ランダム数シーケンスSのi番目のブロックを表す。ステップs1において、KSはキーKに対応する疑似ランダム数シーケンスSを生成する。一般にこのシーケンスSのトータル長はキーKの長さ(kビット)より長い。ステップs2において、Sのi番目のブロックは、混合アルゴリズムMXにより平文Pのi番目のブロックと結合され、暗号文Cのi番目のブロックが生成される。このステップはPのn個の全ブロックに対して繰り返される。例えば、図7及び図8を参照し、平文データのトータル長が6400ビットであり、b=64,k=64,かつs=2b=128とすると、n=100となり、iは1から100の値をとる。このとき、シーケンスSは少なくとも12800ビットの長さだけなければならない。ステップs2はiの各値について繰り返される。その最初のステップでは、P(1)すなわちPの最初の64ビットをS(1)すなわちSの最初の128ビットと結合して、C(1)すなわち暗号文Cの最初の64ビットブロックを生成する。
【0039】
bビットの平文メッセージより長いsビットの中間キーを用いることにより、完全なデータ秘匿性が実現できることが情報理論により説明される。データの保全性については、平文と暗号文の各対に対して平均して2の(s−b)乗のキー候補がある。その結果、暗号解読者が平文と暗号文の両方を知っていたとしても、彼は、暗号文に対する何らかの修正に対して平文がどのように変わるかは予言することができない(そうすることの確率である2の(s−b)乗分の1が非常に小さいとして)。例えば、s=2b、b=64ビットの場合、キー候補の個数は2の64乗となる。
【0040】
図9は、図5の復号装置の動作を説明するためのフロー図である。
【0041】
ステップs3において、KSはkビットのキーKに対応する疑似ランダム数シーケンスSを生成する。ステップs4において、Sのi番目のブロックは、逆混合アルゴリズムMX-1により、暗号文Cのi番目のブロックと結合され、平文Pのi番目のブロックを生成する。このステップは、Cのn個のブロック全てについて繰り返され、元の平文が復元される。
【0042】
図10において、MX関数の一例は2つの演算関数からなる。その各々は、疑似ランダム入力ブロックS(i)の別々の部分に対して動作する。例えば、平文P(i)の1ブロックはbビットからなる。S(i)は2bビットのブロックである。S(i)の最初のbビットはA(i)と表され、最終のbビットはB(i)と表される。よって、S(i)は、A(i)とB(i)の連結(concatenation)すなわちA(i)||B(i)として表すこともできる。A(i)はGF(2b )内の乗算によりbビットブロックP(i)と結合され、その結果はGF(2b )内の加算によりB(i)と結合される。ここにGF(2b )内の乗算と加算はガロア体(Galois Field)における計算を示す。このような計算は、リニアフィードバックシフトレジスタを用いてハードウェアで容易に実現できる。ガロア体計算の詳細については、Bruce Schneierによる"Applied Cryptography"、第2版、254〜255頁を参照されたい。
【0043】
GF(2b )における乗算と除算のためには、値が0である各疑似ランダムシーケンスブロックに対して、当該機能が可逆的であることを保証するために、修正を行う必要がある。この問題は、a*c=bならば、c=0である場合以外b/c=aが成り立つという整数の乗算を例として説明できる。ゼロ値を回避するように乗算器を修正することにより、この問題は解決できる。
【0044】
この必要な修正は、幾つかの既知の方法によって行うことができる。例えば、ブロックA(i)をテストする。もしこれが0であれば、これを既知の数値、例えば1にリセットする。あるいは、そのブロック全体を捨てて、次のブロックを選ぶ。この手順は、キーシーケンス生成器KSで行える。例えば、キーシーケンスブロックS(i)が複数のサブブロックT(i)・・・Z(i)に分割される場合、各ブロックをGF(2b )内の乗算/除算を用いた混合関数MXで処理し、ついでサブブロックをチェックしてその値が0であれば1にリセットしなければならないことが知られている。あるいは、サブブロックT(i)・・・Z(i)のいずれかが0値を有する場合、ブロックS(i)全体を捨てて、疑似ランダム数生成器からの疑似ランダム数シーケンスから次のブロックを選択する。
【0045】
図10に示したMX関数は、次式で表すこともできる。
【0046】
C(i)=MX(P(i),S(i))=(A(i)*P(i))∧B(i)
S(i)=A(i)||B(i);
X∧Yは、ビット単位の排他的論理和(XOR)と等価な、GF(2b )内の加算を表し、X*YはGF(2b )内の乗算を表す。
【0047】
図11に、図10の暗号機能のより詳細な実現例を示す。WAKEストリームサイファーに用いられる疑似ランダム数生成器の入力として64ビットのキーを用い、これにより32ビットワードのワード列を生成する。4つのこのようなワードは128ビットバッファBUF128に格納され、キーストリームブロックS(i)となる。この128ビットブロックS(i)は2つの64ビットブロックA(i)とB(i)とに分割される。平文Pは、64ビットの平文バッファPBUF内に一度に64ビットずつ格納される。図10で説明したように、MX関数はGF(264)内の乗算および加算に依存する。
【0048】
生成された暗号文ブロックC(i)は64ビットの暗号文バッファCBUF内に一度に64ビットずつ格納され、全体の暗号文は、生成された暗号文ブロックの連結すなわち、C(1)||C(2)||C(3)・・・||C(n)により生成される。ここに、nは平文ブロックの総数である。WAKEアルゴリズムの詳細およびその参照のためには、Bruce Schneierによる"Applied Cryptography"、第2版、400〜402頁を参照されたい。
【0049】
図10及び図11の暗号化装置への用途に適した、上述の技術を用いた混合関数の他の例は、次式で表すことができる。
【0050】
MX(P(i),S(i))=A(i)∧(P(i)*B(i))
必要な共通の情報、特にブロック長bおよびGF(2b )の既約多項式の定義に対して暗号化装置および復号装置が共通にアクセスする限り、ブロック長bは動的に変わりうる。しかし、メモリ消費および性能上の制約によっては、大サイズのブロック、例えば1MBを超えるブロックに対する本技術の使用が制限される場合がある。
【0051】
キーストリームブロックS(i)は別個のサブブロックに分割される必要はなく、重なり合うビットシーケンスを含むサブブロックに分割してもよい。例えば、128ビットキーストリームブロックS(i)は各々48ビットの16個のサブブロックに分割される。各サブブロックは、平文ブロックを暗号化するためにDESアルゴリズムの1ラウンドへの入力として用いることができる。DESアルゴリズムについては、Bruce Schneierによる"Applied Cryptography"、第2版、270〜278頁を参照されたい。
【0052】
上述した技術を用いる、フィードバック入力を有する混合関数MXの例を図12〜図15に示す。前述したように、疑似ランダムシーケンスSの各ブロックS(i)は2つのbビットブロックに分割され、S(i)=A(i)||B(i)となる。ここに、A(i)とB(i)の長さは各々bビットである。暗号文C(i)の各ブロックは、平文ブロックS(i)と直前の暗号文ブロックC(i−1)との結合であり、C(i)=MX(P(i),S(i),C(i−1))と表される。あらゆる場合、C(0)は、同一の先頭部を有するメッセージ、例えば標準的電子メールアドレスに基づく暗号への攻撃を防止するために与えられる初期ベクタIVである。IVはランダムデータ、例えば時刻スタンプである。
【0053】
図12は、次のような混合関数を示す。
【0054】
C(i)=MX(P(i),S(i),C(i-1))=((C(i-1)*A(i))∧P(i))*B(i)
図13は、次のような混合関数を示す。
【0055】
C(i)=MX(P(i),S(i),C(i-1))=((C(i-1)∧A(i))*P(i))∧B(i)
図14は、次のような混合関数を示す。
【0056】
C(i)=MX(P(i),S(i),C(i-1))=((C(i-1)*A(i))∧P(i)*B(i))
図15は、次のような混合関数を示す。
【0057】
C(i)=MX(P(i),S(i),C(i-1))=(C(i-1)∧A(i))*(P(i)∧B(i))
S(i)は、2ブロックより多く分割することができる。例えば、図16から図19を参照すると、長さ3bビットの疑似ランダムシーケンスS(i)は、各々長さbビットの3個のブロックA(i),B(i),C(i)に分割されている。
【0058】
図16は、次のような混合関数を示す。
【0059】
C(i)=MX(P(i),S(i),C(i-1))=(((C(i-1)*D(i))∧P(i))*A(i))∧B(i)
図17は、次のような混合関数を示す。
【0060】
C(i)=MX(P(i),S(i),C(i-1))=(((C(i-1)∧D(i))*P(i))∧A(i))*B(i)
図18は、次のような混合関数を示す。
【0061】
C(i)=MX(P(i),S(i),C(i-1))=((C(i-1)*D(i))∧(P(i)*A(i)))*B(i)
図19は、次のような混合関数を示す。
【0062】
C(i)=MX(P(i),S(i),C(i-1))=(((C(i-1)∧D(i))*(P(i)∧A(i)))∧B(i)
図20において、図10に示したMX関数の逆関数( MX-1)は、2つの演算関数からなる。その各々は、疑似ランダム入力ブロックS(i)の別個の部分A(i)およびB(i)に対して作用する。例えば、B(i)はGF(2b )内の加算によりbビットのブロックC(i)と結合され、その結果はGF(2b )内の除算によりA(i)と結合される。ここに、GF(2b )内の除算および加算は、図10で説明したガロア体内の計算である。
【0063】
図21を参照し、図20の復号関数をより詳細に説明する。WAKEストリームサイファーに対する入力として64ビットのキーKを用いて、これにより、32ビットワードのワード列を生成する。この4ワードは、128ビットバッファBUF128内に格納され、キーストリームブロックS(i)となる。この128ビットブロックS(i)は、2つの64ビットブロックA(i)およびB(i)に分割される。暗号文Cは、64ビット暗号文バッファCBUF内に一度に64ビットずつ格納される。 MX-1関数は、図20で説明したように、GF(264)内の除算および加算に依存する。
【0064】
生成された平文ブロックP(i)は、64ビット平文バッファPBUF内に一度に64ビットずつ格納され、平文全体は、生成された平文ブロックの結合、すなわちP(1)||P(2)||P(3)・・・||P(n)により生成される。ここに、nは平文ブロックの総数である。
【0065】
ナンス付き暗号化
前述したように、暗号方式がナンスを入力値として用いる場合、このナンスは同一のキー値の生成を回避するように設計される。例えば、図22において、暗号化装置は、キーシーケンス生成器KSへのナンス入力端を有する。このナンス値は、1からnまでの計数を行うカウンタCT1により生成される。ここに、nは暗号化されるべき平文ブロックの個数である。したがって、ナンスは、暗号化されるべき各平文ブロックに対して一意な値を有する。
【0066】
有利なことには、もし、ナンスシーケンスが容易に予言できるならば、並列計算が容易となる。例えば、図23において、並列計算は、2個の独立したキーストリーム生成器KS1およびKS2により実現される。各カウンタCT1,CT2は、ブロック番号iと同期化されるが、2ブロック毎に1回インクリメントされる。その際、一方のカウンタCT1は、KS1を駆動して、ブロックシーケンスS(1),S(3),S(5)・・・S(n−1)を生成させ、他方のカウンタCT2は、KS2を駆動して、ブロックシーケンスS(2),S(4),S(5)・・・S(n)を生成させる。切り替え(スイッチング)要素SWは、関数MXにより各平文ブロックP(i)が正しいブロックS(i)と混合されて暗号文ブロックC(i)が生成されるように、KS1とKS2とを切り替える。この切り替え機能の速度は、中間キー生成ステップの速度より大きいので、動作速度の全般的な増加が得られる。この方式を一般化することにより、複数のキーストリーム生成器KSi(i=1,・・・,r)を用いる、倍数rの並列計算を実現することができる。その各キーストリーム生成器は、S(((j-1)×r)+1)のみを生成する。ここに、j=1,...,n/rであり、”×”は整数の乗算を表す。
【0067】
図24において、キーストリーム生成器KS1へのナンス入力N1を用いて生成された疑似ランダムシーケンスS1は、第2のキーストリーム生成器KS2への入力として用いることができる。KS2は、第2のナンス入力N2を受けて、第2のシーケンスS2を生成する。よって、2つの中間キーS1,S2が得られる。図24の構成は、図25に示したようなディスク暗号化システムとして利用できる。KS1は、秘密キー(secret key)Kとナンス入力N1とからファイル依存キーS1を生成する。これは、時刻スタンプ付きのファイル名と、そのファイルの所有者の識別子との結合したものである。KS2は、キーS1を受け取り、中間キーS2を生成する。関数MXがこのキーS2を用いることにより、元のファイルデータが暗号化される。これによって、単一のキーで暗号化されたディスク上のセキュリティが増加する。なぜなら、この暗号キーS1は、ファイル毎に異なり、マスターキーKは暗号化サイトで秘密に保持されるからである。
【0068】
本発明による暗号化および復号装置並びに技術の種々の応用例について、以下に図26から図33を参照して説明する。
【0069】
図26では、通信システムにおける受信者と送信者とがキーおよび同期カウンタCT1,CT2を共有することにより、KSは受信者と送信者とで同じ値を生成する。その結果、暗号化された各平文ブロックC(i)は、それに対する逆混合関数MX-1の処理により復号することができる。
【0070】
図27において、図26の通信システムのための暗号方式はソフトウェアで実現できる。送信者と受信者は、例えばOtway-Rees, Kerberosまたは公開キー暗号の場合のDiffie-Hellmanのような既知のキー交換プロトコルを用いて、キーおよび同期カウンタ値を交換する。この詳細は、Bruce Schneierによる"Applied Cryptography"、第2版、59〜60頁を参照されたい。図26に示して上述したKSおよびMX関数を実現するための暗号化プログラムコードはメモリSMEMに格納されている。送信者のCPUは、この暗号化コードを実行することによりメッセージの暗号化を行う。この暗号化されたメッセージは送信者のI/O装置を経由してネットワークINET上を伝送され、受信者のI/O装置により受信され、復号コードを実行する受信側CPUにより復号される。この復号コードは、メッセージを復元するものとして前述したKSおよびMX-1を実現し、メモリRMEMに格納されている。ソフトウェアによる実現は、パーソナルコンピュータ、スマートカード、ネットワークルータのような広範な装置への使用、およびカーセキュリティデバイスのような装置のための遠隔コントローラに適している。
【0071】
図28において、暗号化および復号化は、例えば、送信側および受信側のI/O装置内に埋め込まれた専用のハードウェア回路としても実現できる。暗号化回路Eは、前述したKSおよびMX関数を実現する一方、復号回路Dは、前述したKSおよびMX-1関数を実現する。送信側CPUは、送信側I/O装置へ平文メッセージを送る。このメッセージは、暗号化回路Eによりキーおよびカウンタ値を用いて暗号化される。これは、キー交換プロトコルを用いて、通信に先立ち受信側との間で共有されている。暗号化されたメッセージはネットワークINETを経由して送信され、受信側のI/O装置により受信される。このメッセージは、埋め込み復号回路Dにより復号され、受信側CPUによりメモリ内に格納される。専用ハードウェア暗号化/復号回路は、高級スマートカード、スマートカードリーダ、モバイル端末、パーソナルコンピュータ、テレビ、DVDプレーヤ、等の装置に利用される。
【0072】
図29において、放送システムでは、放送局BSTNが、番組キーとナンスとを生成する。このナンスは、番組識別子と、その番組が数フレームに分割される際のコンテンツデータのフレーム番号とからなる。このコンテンツデータは、当該キーおよびナンスを用いて暗号化される。例えばデジタルテレビのような需要者装置へキーを送信するためにはキー交換プロトコルが使用される。これは、逆復号関数MX-1を含んでいる。当該キーと番組識別子と需要者が視聴を希望する番組のフレーム番号とを知ることにより、需要者装置は番組を復号することができる。放送局にあるキーサーバーは、フレーム情報に基づいて中間キーを生成することができる。これにより、番組中に中間フレームキーが需要者装置へ送られる。番組全体を受信するには、第三者はすべてのフレームキーを暗号解読する必要がある。
【0073】
図30において、キーの秘匿性を向上させるにはナンスを用いることができる。2つの装置間での最初のキー交換は、キーとナンスの両方を交換する必要がある。しかし、例えばデータの次のフレームを得るためにそのキー値を更新するときには、ナンスだけを交換すればよい。よって、秘密キー(secret key)は1回だけ交換すればよいが、ナンスは、たとえそれが知られてもシステムのセキュリティを低下させることなく、繰り返して交換されうる。システムが、例えばフレーム番号に追従するカウンタのようなナンス更新方法を有する場合、最初のナンスはフレーム同期化のためにのみ必要とされるが、その後のナンスは送信する必要はない。
【0074】
図31における、図25により説明したようなディスク暗号化システムの実現例では、ファイルは異なるキーで暗号化される。その際、各ナンスは、時刻スタンプ付きファイル名と所有者の識別子からなる。CPUは、メモリDMEMに格納され、図25により説明された暗号化アルゴリズムを実行する。秘密キーは、暗号化システムの操作者がスマートカード上に保持する。
【0075】
図32は、図25により説明した暗号化アルゴリズムの、データベース暗号化システムへの他の応用例を示す。このシステムでは、ナンスは、IDと、カテゴリと、改訂番号(revision number)または時刻スタンプとからなる。
【0076】
図33は、図25により説明した暗号化アルゴリズムの、マルチメディア配信システムの用途への他の応用例を示す。CD−ROMやDVD−ROM上の内容は、秘密キーKとナンスN1とを用いて暗号化される。このナンスは、例えば、日付つきの番組名とバージョン番号とを連結したものである。例えば、図34においては、幾つかの番組がDVD−ROM上に暗号化される。各番組は、それ自身のキーS1の基でマスタキーKとナンスN1とを用いて暗号化される。このナンスN1は、DVD−ROM上の各フィルム(映画)に対して一意である。DVD−ROMのコピーは、無料で需要者へ配信される。需要者は、暗号化されたディスク上のフィルムの1つを再生したい場合、その需要者の要求でキーサーバKS1にコンタクトし、例えばインターネット上でクレジットカードによる適切な支払いをする。キーサーバKS1は、マスタキーKと番組名と、さらにナンスN1を構成するキーサーバに格納されている他のデータとから、その需要者へ送信すべきキーS1を算出する。そこで、キー交換プロトコルが開始され、その需要者の装置が適切な中間キーS1を受信する。図35において、需要者の装置は、キーストリーム生成器KS2への入力として当該キーS1を用いて、正しい中間キーS2を生成する。したがって、図33を再度参照すると、要求されたフィルムは、図35に示した機能を実現するメモリCMEM内に格納されている復号プログラムコードを需要者のCPUが実行することにより復元されうる。
【図面の簡単な説明】
【図1】 対称暗号化システムの既知の構成を示す概略ブロック図である。
【図2】 本発明による暗号化装置の基本構成を示す概略ブロック図である。
【図3】 図2に示したキーストリーム生成器KSの一実現例を示す概略ブロック図である。
【図4】 図2に示したキーストリーム生成器KSの他の実現例を示す概略ブロック図である。
【図5】 本発明による復号装置の基本構成を示す概略ブロック図である。
【図6】 データ保全性を検証するためのメッセージフォーマットを示すブロック図である。
【図7】 図2の暗号化装置の動作を説明するためのフロー図である。
【図8】 本発明による暗号文ブロックの生成を説明するための図である。
【図9】 図5の復号装置の動作を説明するためのフロー図である。
【図10】 混合関数MXの一例を示す概略ブロック図である。
【図11】 図10に示した混合関数MXのさらに詳細な実現例を示す概略ブロック図である。
【図12】 フィードバック付きの混合関数MXの実現例を示す概略ブロック図である。
【図13】 フィードバック付きの混合関数MXの実現例を示す概略ブロック図である。
【図14】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図15】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図16】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図17】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図18】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図19】 フィードバック付きの混合関数MXの他の実現例を示す概略ブロック図である。
【図20】 図10に示した混合関数MXに対応する逆混合関数MX-1の一例を示す概略ブロック図である。
【図21】 図20に示した逆混合関数MX-1のより詳細な実現例を示すブロック図である。
【図22】 ナンス入力としてのカウンタを有する暗号化装置を示すブロック図である。
【図23】 並列計算のためのモデルを示すブロック図である。
【図24】 KS機能の拡張を説明するためのブロック図である。
【図25】 ディスク暗号化システムとしての図24の装置の応用例を示す図である。
【図26】 通信システムに応用された、ナンスを有する暗号化の一例を示す図である。
【図27】 図26の暗号方式のソフトウエアによる実現例を示す図である。
【図28】 図26の暗号方式のハードウェアによる実現例を示す図である。
【図29】 放送に用いられる暗号化システムの一例を示す図である。
【図30】 ナンスを用いるキー交換を制限することによりキーの秘匿性を向上させる方法を示す概略ブロック図である。
【図31】 ディスク暗号化システムの一例を示す図である。
【図32】 データベース暗号化システムの一例を示す図である。
【図33】 マルチメディア配送システムの一例を示す図である。
【図34】 図33のマルチメディアシステム用の暗号ソフトウェアの概略図である。
【図35】 図33のマルチメディア配送システムとともに用いるべき需要者装置のための復号ソフトウェアの概略図である。
【符号の説明】
C 暗号文
D 復号化
E 暗号化
F フィードバック
K キー
N ナンス
P 平文
Claims (14)
- 対称暗号化を実行するための暗号化装置であって、
暗号キー(K)に応答して、複数ビット(s)の疑似ランダム数シーケンスからなるキーストリームブロック(S(i))を生成する生成手段(KS)と、
暗号文ブロック(C(i))を生成するために、前記キーストリームブロック(S(i))を、複数ビット(b)の平文ブロック(P(i))と結合する結合手段(MX)とを備え、
前記結合手段(MX)は、
前記キーストリームブロックS(i)の第3の部分(D(i))を暗号文ブロック(C(i−1))と乗算する第1の乗算手段と、
前記第1の乗算手段の乗算結果と、前記平文ブロックP(i)とを加算する第1の加算手段と、
前記第1の加算手段の加算結果と、前記キーストリームブロック(S(i))の第1の部分(A(i))とを乗算する第2の乗算手段と、
前記第2の乗算手段の乗算結果と、前記キーストリームブロック(S(i))の第2の部分(B(i))とを加算する第2の加算手段と、を有し、
前記キーストリームブロック内のビット数(s)は平文ブロック内のビット数(b)より大きい暗号化装置。 - 前記生成手段(KS)は、暗号化対象の平文データ(P)の対応する各平文ブロック(P(i))と結合されるべき、連続したキーストリームブロック(S(i))を前記疑似ランダム数シーケンスから選択する選択手段を有する請求項1記載の暗号化装置。
- 前記結合手段(MX)は、与えられたキーの基で、平文データの暗号化の際に1回のみ、前記連続したキーストリームブロックの各々を使用するように構成された請求項2記載の暗号化装置。
- 前記選択手段は、前記キーストリームブロックの各々を形成するために前記疑似ランダム数シーケンスから非重複ビットシーケンスを選択するよう構成された請求項2または3記載の暗号化装置。
- 前記キーストリームブロックS(i)は、各平文ブロックP(i)の3倍のビット(3b)からなる、請求項1から4のいずれか一項に記載の暗号化装置。
- さらに、各キーストリームブロック(S(i))を複数のサブブロック(A(i),B(i),D(i))に分割する手段を備える、請求項1から5のいずれか一項に記載の暗号化装置。
- 前記サブブロックは、暗号化対象の平文ブロック(P(i))と同数のbビットを有する請求項6記載の暗号化装置。
- 前記生成手段はさらにナンス入力を有する、請求項1から7のいずれか一項に記載の暗号化装置。
- 前記ナンス入力を生成するカウンタ(CT1,CT2)を有する請求項8記載の暗号化装置。
- 前記生成手段はハッシュ関数発生器を有する請求項8または9記載の暗号化装置。
- 中間キーを生成する複数の独立した前記生成手段(KSi)が並列に接続され、暗号化対象の平文ブロック(P(i))に応じて前記生成手段(KSi)を切り替える手段(SW)とを備える、請求項1から10のいずれか一項に記載の暗号化装置。
- 第1の中間キー(S1)を生成する第1の生成手段(KS1)と、さらに、前記第1の中間キーに応じて第2の中間キー(S2)を生成する第2の生成手段(KS2)とを備える請求項1から10のいずれか一項に記載の暗号化装置。
- 前記第1の中間キーは、暗号化対象の複数の要素から選択された個々の要素に対する暗号キーを含む請求項12記載の暗号化装置。
- コンピュータに、対称暗号化を実行させるためのプログラムを記録した記録媒体であって、
前記プログラムは、前記コンピュータを、
暗号キー(K)に応答して、複数ビット(s)の疑似ランダム数シーケンスからなるキーストリームブロック(S(i))を生成する生成手段(KS)と、
暗号文ブロック(C(i))を生成するために、前記キーストリームブロック(S(i))を、複数ビット(b)の平文ブロック(P(i))と結合する結合手段(MX)として機能させ、
前記結合手段(MX)は、
前記キーストリームブロックS(i)の第3の部分(D(i))を暗号文ブロック(C(i−1))と乗算する第1の乗算手段と、
前記第1の乗算手段の乗算結果と、前記平文ブロックP(i)とを加算する第1の加算手段と、
前記第1の加算手段の加算結果と、前記キーストリームブロック(S(i))の第1の部分(A(i))とを乗算する第2の乗算手段と、
前記第2の乗算手段の乗算結果と、前記キーストリームブロック(S(i))の第2の部分(B(i))とを加算する第2の加算手段と、を有し、
前記キーストリームブロック内のビット数(s)は平文ブロック内のビット数(b)より大きいこと
を特徴とする、プログラムを記録した記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99304886.7 | 1999-06-22 | ||
EP99304886A EP1063811B1 (en) | 1999-06-22 | 1999-06-22 | Cryptographic apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001007800A JP2001007800A (ja) | 2001-01-12 |
JP3901909B2 true JP3901909B2 (ja) | 2007-04-04 |
Family
ID=8241469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000108334A Expired - Fee Related JP3901909B2 (ja) | 1999-06-22 | 2000-04-10 | 暗号化装置およびプログラムを記録した記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7177424B1 (ja) |
EP (1) | EP1063811B1 (ja) |
JP (1) | JP3901909B2 (ja) |
AT (1) | ATE403992T1 (ja) |
DE (1) | DE69939254D1 (ja) |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950522B1 (en) * | 2000-06-15 | 2005-09-27 | Microsoft Corporation | Encryption key updating for multiple site automated login |
JP5068398B2 (ja) * | 2000-08-17 | 2012-11-07 | Necディスプレイソリューションズ株式会社 | 受信機及びコンテンツの配信方法 |
US6963976B1 (en) * | 2000-11-03 | 2005-11-08 | International Business Machines Corporation | Symmetric key authenticated encryption schemes |
US7277543B1 (en) * | 2000-11-14 | 2007-10-02 | Honeywell International Inc. | Cryptographic combiner using two sequential non-associative operations |
US7170997B2 (en) | 2000-12-07 | 2007-01-30 | Cryptico A/S | Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data |
US7353380B2 (en) * | 2001-02-12 | 2008-04-01 | Aventail, Llc, A Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US7383329B2 (en) | 2001-02-13 | 2008-06-03 | Aventail, Llc | Distributed cache for state transfer operations |
US7360075B2 (en) | 2001-02-12 | 2008-04-15 | Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US8121296B2 (en) | 2001-03-28 | 2012-02-21 | Qualcomm Incorporated | Method and apparatus for security in a data processing system |
JP2004531937A (ja) * | 2001-03-28 | 2004-10-14 | クゥアルコム・インコーポレイテッド | 通信システムにおけるポイント・ツー・マルチポイントサービスのチャネル管理のための方法および装置 |
US8077679B2 (en) | 2001-03-28 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for providing protocol options in a wireless communication system |
JP4464046B2 (ja) * | 2001-04-03 | 2010-05-19 | 三菱電機株式会社 | 暗号化装置及び復号化装置及び無線通信装置 |
AU2002254548A1 (en) | 2001-04-07 | 2002-10-21 | Telehublink Coporation | Methods and systems for securing information communicated between communication devices |
GB0116016D0 (en) * | 2001-06-29 | 2001-08-22 | Simoco Digital Systems Ltd | Communications systems |
US8077861B2 (en) | 2004-08-12 | 2011-12-13 | Cmla, Llc | Permutation data transform to enhance security |
US7577250B2 (en) | 2004-08-12 | 2009-08-18 | Cmla, Llc | Key derivation functions to enhance security |
US7200227B2 (en) * | 2001-07-30 | 2007-04-03 | Phillip Rogaway | Method and apparatus for facilitating efficient authenticated encryption |
US7185362B2 (en) * | 2001-08-20 | 2007-02-27 | Qualcomm, Incorporated | Method and apparatus for security in a data processing system |
US20040120527A1 (en) * | 2001-08-20 | 2004-06-24 | Hawkes Philip Michael | Method and apparatus for security in a data processing system |
GB2379587B (en) * | 2001-09-10 | 2003-08-20 | Simon Alan Spacey | A method and apparatus for securing electronic information |
US7697523B2 (en) * | 2001-10-03 | 2010-04-13 | Qualcomm Incorporated | Method and apparatus for data packet transport in a wireless communication system using an internet protocol |
US7352868B2 (en) | 2001-10-09 | 2008-04-01 | Philip Hawkes | Method and apparatus for security in a data processing system |
GB2374260B (en) * | 2001-10-12 | 2003-08-13 | F Secure Oyj | Data encryption |
US7649829B2 (en) | 2001-10-12 | 2010-01-19 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US20040086117A1 (en) * | 2002-06-06 | 2004-05-06 | Petersen Mette Vesterager | Methods for improving unpredictability of output of pseudo-random number generators |
KR100442354B1 (ko) * | 2002-10-07 | 2004-07-30 | 엘지전자 주식회사 | Rc4방식의 암호화 장치 및 방법 |
US7246231B2 (en) * | 2002-10-31 | 2007-07-17 | Ntt Docomo, Inc. | Location privacy through IP address space scrambling |
US7599655B2 (en) | 2003-01-02 | 2009-10-06 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
FR2853175B1 (fr) * | 2003-03-28 | 2005-06-17 | Everbee Networks | Procede et systeme de cryptage |
US8098818B2 (en) | 2003-07-07 | 2012-01-17 | Qualcomm Incorporated | Secure registration for a multicast-broadcast-multimedia system (MBMS) |
US8718279B2 (en) | 2003-07-08 | 2014-05-06 | Qualcomm Incorporated | Apparatus and method for a secure broadcast system |
US8724803B2 (en) | 2003-09-02 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system |
US20070110229A1 (en) * | 2004-02-25 | 2007-05-17 | Ternarylogic, Llc | Ternary and Multi-Value Digital Signal Scramblers, Descramblers and Sequence of Generators |
US20110064214A1 (en) * | 2003-09-09 | 2011-03-17 | Ternarylogic Llc | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders |
US8577026B2 (en) | 2010-12-29 | 2013-11-05 | Ternarylogic Llc | Methods and apparatus in alternate finite field based coders and decoders |
US7505589B2 (en) * | 2003-09-09 | 2009-03-17 | Temarylogic, Llc | Ternary and higher multi-value digital scramblers/descramblers |
WO2005029763A1 (en) * | 2003-09-22 | 2005-03-31 | Impsys Digital Secuirty Ab | Data communication security arrangement and method |
US20050213751A1 (en) * | 2004-03-26 | 2005-09-29 | Apostolopoulos John J | Methods and systems for generating transcodable encrypted content |
WO2005119960A2 (en) * | 2004-06-01 | 2005-12-15 | Ben-Gurion University Of The Negev Research And Development Authority | Structure preserving database encryption method and system |
US7461268B2 (en) * | 2004-07-15 | 2008-12-02 | International Business Machines Corporation | E-fuses for storing security version data |
JP4820821B2 (ja) * | 2004-08-12 | 2011-11-24 | シー エム エル エー, リミテッド ライアビリティ カンパニー | セキュリティ強化のための転置データ変換 |
WO2006022058A1 (ja) * | 2004-08-26 | 2006-03-02 | Nec Corporation | 暗号文生成装置、平文復元装置 |
CN102609640B (zh) | 2004-10-25 | 2015-07-15 | 安全第一公司 | 安全数据分析方法和系统 |
DE102004052101B4 (de) * | 2004-10-26 | 2009-01-15 | Comvenient Gmbh & Co. Kg | Verfahren und Vorrichtung zur Entschlüsselung breitbandiger Daten |
JP4643978B2 (ja) * | 2004-12-01 | 2011-03-02 | ルネサスエレクトロニクス株式会社 | スクランブル回路、デ・スクランブル回路及び方法、並びにディスク装置 |
CA2594385C (en) * | 2005-01-11 | 2012-11-27 | Samsung Electronics Co., Ltd. | Apparatus and method for ciphering/deciphering a signal in a communication system |
US7725779B2 (en) * | 2005-01-25 | 2010-05-25 | Ternarylogic Llc | Multi-valued scrambling and descrambling of digital data on optical disks and other storage media |
WO2006085283A1 (en) * | 2005-02-09 | 2006-08-17 | Koninklijke Philips Electronics N.V. | High speed encryption and decryption |
FR2887715A1 (fr) * | 2005-06-28 | 2006-12-29 | Univ Grenoble 1 | Procede de codage de messages |
US20070005966A1 (en) * | 2005-06-30 | 2007-01-04 | Selim Aissi | Derivation of a shared keystream from a shared secret |
US7624428B2 (en) * | 2005-06-30 | 2009-11-24 | Intel Corporation | Apparatus and method for platform-independent identity manageability |
JP2007036364A (ja) * | 2005-07-22 | 2007-02-08 | Nec Corp | タイム装置、暗号化装置、復号化装置、暗号化/復号化システム |
US7602906B2 (en) * | 2005-08-25 | 2009-10-13 | Microsoft Corporation | Cipher for disk encryption |
WO2007043014A1 (en) * | 2005-10-13 | 2007-04-19 | Koninklijke Philips Electronics N.V. | Method of encrypted communication using a keystream |
US7769165B2 (en) * | 2005-10-14 | 2010-08-03 | Microsoft Corporation | Semi-public white-box cipher |
WO2007043002A2 (en) * | 2005-10-14 | 2007-04-19 | Koninklijke Philips Electronics N.V. | Improved security system |
US7681050B2 (en) | 2005-12-01 | 2010-03-16 | Telefonaktiebolaget L M Ericsson (Publ) | Secure and replay protected memory storage |
KR20120115425A (ko) * | 2005-12-14 | 2012-10-17 | 엔디에스 리미티드 | 블록 사이퍼 암호화의 사용을 위한 방법 및 시스템 |
JP5131187B2 (ja) * | 2006-03-14 | 2013-01-30 | 日本電気株式会社 | 情報処理システム、情報処理方法および情報処理プログラム |
JP5060081B2 (ja) | 2006-08-09 | 2012-10-31 | 富士通株式会社 | フレームを暗号化して中継する中継装置 |
US20080044012A1 (en) * | 2006-08-15 | 2008-02-21 | Nokia Corporation | Reducing Security Protocol Overhead In Low Data Rate Applications Over A Wireless Link |
JP4912797B2 (ja) * | 2006-08-30 | 2012-04-11 | 三菱電機株式会社 | 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム |
JP5023767B2 (ja) * | 2006-09-26 | 2012-09-12 | パナソニック株式会社 | セキュア通信システム及びセキュア通信方法 |
JP2008104040A (ja) * | 2006-10-20 | 2008-05-01 | Fujitsu Ltd | 共通鍵生成装置および共通鍵生成方法 |
JP4860708B2 (ja) * | 2006-12-27 | 2012-01-25 | 富士通株式会社 | ストリーム暗号方法および暗号システム |
US8744076B2 (en) * | 2007-04-04 | 2014-06-03 | Oracle International Corporation | Method and apparatus for encrypting data to facilitate resource savings and tamper detection |
GB0711711D0 (en) * | 2007-06-15 | 2007-07-25 | Ibm | Method and system for encryption of blocks of data |
US8112065B2 (en) * | 2007-07-26 | 2012-02-07 | Sungkyunkwan University Foundation For Corporate Collaboration | Mobile authentication through strengthened mutual authentication and handover security |
US7916863B2 (en) | 2007-11-30 | 2011-03-29 | Hewlett-Packard Development Company, L.P. | Security printing method and system for enhancing security printing |
JPWO2009078217A1 (ja) * | 2007-12-19 | 2011-04-28 | コニカミノルタホールディングス株式会社 | ネットワークシステムおよびデータ送信方法 |
EP2154814A1 (en) * | 2008-08-14 | 2010-02-17 | Koninklijke Philips Electronics N.V. | Scalable key distribution |
DE102008046563A1 (de) | 2008-09-10 | 2010-03-11 | Siemens Aktiengesellschaft | Verfahren zur Datenübertragung zwischen Netzwerkknoten |
JP5073635B2 (ja) * | 2008-11-07 | 2012-11-14 | 英明 山田 | 暗号システム、及び暗号プログラム |
JP5402087B2 (ja) * | 2009-02-27 | 2014-01-29 | 日本電気株式会社 | 通信方法及び通信システム並びにその処理プログラム |
US20100235689A1 (en) * | 2009-03-16 | 2010-09-16 | Qualcomm Incorporated | Apparatus and method for employing codes for telecommunications |
EP2460310B1 (en) * | 2009-07-28 | 2014-06-25 | Telecom Italia S.p.A. | Symmetric-key encryption method and cryptographic system employing the method |
US8560848B2 (en) * | 2009-09-02 | 2013-10-15 | Marvell World Trade Ltd. | Galois/counter mode encryption in a wireless network |
JP2011151689A (ja) * | 2010-01-22 | 2011-08-04 | Fujitsu Ltd | 情報処理装置および情報処理方法 |
WO2012025987A1 (ja) | 2010-08-24 | 2012-03-01 | 三菱電機株式会社 | 通信端末、通信システム、通信方法及び通信プログラム |
WO2012159192A1 (en) * | 2011-05-26 | 2012-11-29 | Certicom Corp. | Randomness for encryption operations |
US20120321079A1 (en) * | 2011-06-14 | 2012-12-20 | Freescale Semiconductor, Inc | System and method for generating round keys |
JP5882797B2 (ja) * | 2012-03-12 | 2016-03-09 | Kddi株式会社 | ストリーム暗号処理システム、耐タンパデバイス及びストリーム暗号処理方法 |
US8744078B2 (en) * | 2012-06-05 | 2014-06-03 | Secure Channels Sa | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths |
EP2918037A1 (en) * | 2012-11-12 | 2015-09-16 | Cryptography Research Inc. | Methods and systems for glitch-resistant cryptographic discrete-log based signing |
US20140244514A1 (en) * | 2013-02-26 | 2014-08-28 | Digimarc Corporation | Methods and arrangements for smartphone payments and transactions |
US9311640B2 (en) | 2014-02-11 | 2016-04-12 | Digimarc Corporation | Methods and arrangements for smartphone payments and transactions |
US9264222B2 (en) * | 2013-02-28 | 2016-02-16 | Apple Inc. | Precomputing internal AES states in counter mode to protect keys used in AES computations |
US10177915B2 (en) | 2013-03-15 | 2019-01-08 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
US9698991B2 (en) | 2013-03-15 | 2017-07-04 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
US9455962B2 (en) | 2013-09-22 | 2016-09-27 | Winbond Electronics Corporation | Protecting memory interface |
JP6399382B2 (ja) * | 2014-01-08 | 2018-10-03 | パナソニックIpマネジメント株式会社 | 認証システム |
JP6365076B2 (ja) * | 2014-07-31 | 2018-08-01 | 大日本印刷株式会社 | データ変換装置 |
US10019571B2 (en) | 2016-03-13 | 2018-07-10 | Winbond Electronics Corporation | Protection from side-channel attacks by varying clock delays |
KR101899130B1 (ko) * | 2016-07-15 | 2018-10-29 | (주) 구름네트웍스 | 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치 |
GB201713499D0 (en) * | 2017-08-23 | 2017-10-04 | Nchain Holdings Ltd | Computer-implemented system and method |
TWI760546B (zh) * | 2017-08-23 | 2022-04-11 | 安地卡及巴布達商區塊鏈控股有限公司 | 用於高安全性高速資料加密及傳輸的電腦實施系統與方法 |
JP6617375B2 (ja) * | 2018-05-28 | 2019-12-11 | 大日本印刷株式会社 | データ変換装置 |
CN108830207A (zh) * | 2018-06-06 | 2018-11-16 | 成都邑教云信息技术有限公司 | 一种互联网教育告警系统 |
US10769299B2 (en) * | 2018-07-12 | 2020-09-08 | Capital One Services, Llc | System and method for dynamic generation of URL by smart card |
TWI675578B (zh) * | 2018-12-06 | 2019-10-21 | 新唐科技股份有限公司 | 加解密系統、加密裝置、解密裝置和加解密方法 |
GB2619071A (en) * | 2022-05-26 | 2023-11-29 | Pqshield Ltd | Secure processing system and method |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4316055A (en) * | 1976-12-30 | 1982-02-16 | International Business Machines Corporation | Stream/block cipher crytographic system |
US5054067A (en) * | 1990-02-21 | 1991-10-01 | General Instrument Corporation | Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator |
US5091942A (en) * | 1990-07-23 | 1992-02-25 | Ericsson Ge Mobile Communications Holding, Inc. | Authentication system for digital cellular communications |
US5148485A (en) * | 1990-07-20 | 1992-09-15 | Ericsson Ge Mobile Communications Holding, Inc. | Encrypton system for digital cellular communications |
US5369705A (en) * | 1992-06-03 | 1994-11-29 | International Business Machines Corporation | Multi-party secure session/conference |
US5268962A (en) * | 1992-07-21 | 1993-12-07 | Digital Equipment Corporation | Computer network with modified host-to-host encryption keys |
US5297207A (en) * | 1993-05-24 | 1994-03-22 | Degele Steven T | Machine generation of cryptographic keys by non-linear processes similar to processes normally associated with encryption of data |
US5420928A (en) * | 1994-01-25 | 1995-05-30 | Bell Communications Research, Inc. | Pseudo-random generator |
AU728942B2 (en) * | 1995-06-30 | 2001-01-18 | Canon Kabushiki Kaisha | A communication apparatus and a communication system |
US5734721A (en) * | 1995-10-12 | 1998-03-31 | Itt Corporation | Anti-spoof without error extension (ANSWER) |
US6014445A (en) * | 1995-10-23 | 2000-01-11 | Kabushiki Kaisha Toshiba | Enciphering/deciphering apparatus and method incorporating random variable and keystream generation |
JPH09160490A (ja) | 1995-12-06 | 1997-06-20 | Shinu Ko | デジタル式カオス信号による情報の隠蔽・復号化方法および装置 |
GB9704638D0 (en) * | 1997-03-06 | 1997-04-23 | Lsi Logic Corp | Digital video broadcasting |
US6058187A (en) * | 1997-04-17 | 2000-05-02 | At&T Corp. | Secure telecommunications data transmission |
US6549622B1 (en) * | 1998-11-23 | 2003-04-15 | Compaq Computer Corporation | System and method for a fast hardware implementation of RC4 |
US6415032B1 (en) * | 1998-12-01 | 2002-07-02 | Xilinx, Inc. | Encryption technique using stream cipher and block cipher |
US6601175B1 (en) * | 1999-03-16 | 2003-07-29 | International Business Machines Corporation | Method and system for providing limited-life machine-specific passwords for data processing systems |
US6701434B1 (en) * | 1999-05-07 | 2004-03-02 | International Business Machines Corporation | Efficient hybrid public key signature scheme |
US6961427B1 (en) * | 1999-11-23 | 2005-11-01 | General Instrument Corporation | Methods and apparatus for keystream generation |
US6804354B1 (en) * | 1999-12-02 | 2004-10-12 | Honeywell International Inc. | Cryptographic isolator using multiplication |
JP3864675B2 (ja) * | 2000-03-09 | 2007-01-10 | 株式会社日立製作所 | 共通鍵暗号装置 |
JP2004363739A (ja) * | 2003-06-03 | 2004-12-24 | Hitachi Ltd | 改竄検知可能な、共通鍵暗号の暗号化装置または復号化装置 |
-
1999
- 1999-06-22 EP EP99304886A patent/EP1063811B1/en not_active Expired - Lifetime
- 1999-06-22 DE DE69939254T patent/DE69939254D1/de not_active Expired - Lifetime
- 1999-06-22 AT AT99304886T patent/ATE403992T1/de not_active IP Right Cessation
-
2000
- 2000-04-10 JP JP2000108334A patent/JP3901909B2/ja not_active Expired - Fee Related
- 2000-05-17 US US09/572,790 patent/US7177424B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69939254D1 (de) | 2008-09-18 |
JP2001007800A (ja) | 2001-01-12 |
US7177424B1 (en) | 2007-02-13 |
ATE403992T1 (de) | 2008-08-15 |
EP1063811A1 (en) | 2000-12-27 |
EP1063811B1 (en) | 2008-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
JP3864675B2 (ja) | 共通鍵暗号装置 | |
US11233628B2 (en) | Equivocation augmentation dynamic secrecy system | |
US9673976B2 (en) | Method and system for encryption of blocks of data | |
US6504930B2 (en) | Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
KR20100069610A (ko) | 연쇄화된 암호화 모드를 위한 방법 및 디바이스 | |
JP2013047822A (ja) | メッセージ認証のための暗号化方法 | |
JPH09230787A (ja) | 暗号化方法および装置 | |
WO2006012363A1 (en) | Stream cipher combining system and method | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
JP2009116348A (ja) | データの非相関化方法 | |
JP2008035305A (ja) | 暗号化方法及びデータ秘匿方法 | |
JP3769804B2 (ja) | 解読化方法および電子機器 | |
US20230403134A1 (en) | Method for processing encrypted data | |
JP4752239B2 (ja) | 共通鍵暗号方法及び装置 | |
JP3864798B2 (ja) | 共通鍵暗号の復号装置 | |
Ajlouni et al. | A New Approach in Key Generation and Expansion in Rijndael Algorithm. | |
JPH09233065A (ja) | 暗号化装置及び暗号化方法 | |
Bojnordi et al. | Implementing an efficient encryption block for MPEG video streams | |
WO2009081975A1 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム | |
Li et al. | Further Improvements of Fast Encryption Algoirthm for Multimedia. | |
Kaneriya et al. | A Survey on Data Security in Cloud Computing using Hybrid Encryption Algorithms | |
Mogollon | Confidentiality: Symmetric Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100112 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |