JP2000122534A - 暗号化方法 - Google Patents

暗号化方法

Info

Publication number
JP2000122534A
JP2000122534A JP11295776A JP29577699A JP2000122534A JP 2000122534 A JP2000122534 A JP 2000122534A JP 11295776 A JP11295776 A JP 11295776A JP 29577699 A JP29577699 A JP 29577699A JP 2000122534 A JP2000122534 A JP 2000122534A
Authority
JP
Japan
Prior art keywords
pseudo
sum
bit
string
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.)
Pending
Application number
JP11295776A
Other languages
English (en)
Inventor
Sarvar Patel
パテル サーバー
Amin Ranzan Zurufikaa
アミン ランザン ズルフィカー
Subramaniam Sundaran Ganapashii
スブラマニアン スンダラン ガナパシー
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2000122534A publication Critical patent/JP2000122534A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 ハッシュ関数を用いた暗号化を効率化する。 【解決手段】 相異なる擬似ランダム関数を使用するの
ではなく同じ擬似ランダム関数を2回使用する暗号化方
法により、暗号化を効率化する。さらに、本発明は、非
常に効率的なハッシュ関数を使用する。本発明のハッシ
ュ関数は、乗算を使用するのではなくキーaとデータス
トリングmの和を2乗する2乗ハッシュ関数h(m)=
(m+a)2 mod nである(データストリングの
ビット数は2n)。その結果、ハッシュ演算は、従来技
術で使用される非効率的なハッシュ関数によって要求さ
れるw2回の演算ではなく、(w2+w)/2回の演算し
か必要としない。さらに、本発明は、従来技術の排他的
OR演算を、nを法とする加算で置き換える。擬似ラン
ダム関数fは、好ましくは、周知の標準であるSHA擬
似ランダム関数である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ操作に関
し、特に、データ暗号化に関する。
【0002】
【従来の技術】ブロックデータ暗号化とは、データのブ
ロックあるいはストリングを入力し、対応する暗号化さ
れたデータのブロックあるいはストリングを生成するも
のである。ブロック暗号化は、セルラ通信のような容易
に傍受可能な通信を使用する際にデータセキュリティを
提供するために用いられる。
【0003】以前は、データのブロックを暗号化するた
めに、Luby-Rackoff法を用いた。この方法を図1に例示
する。ステップ100で、2nビットを含む暗号化され
るべきデータのブロックを入力する。ステップ102
で、2nビットの入力データのブロックあるいはストリ
ングを、それぞれL0およびR0とラベルされたnビット
の2個のブロックに分割する。ステップ104で、R0
データブロックは、擬似ランダム関数f1のオペランド
として使用される。擬似ランダム関数f1は、RIPE
−MD擬似ランダム関数、GGM擬似ランダム関数、あ
るいはMD5擬似ランダム関数のような関数とすること
が可能である。ステップ104からの出力と、ステップ
102からのL0ビットストリングとの排他的ORをと
る。ステップ106の出力はステップ108に渡され
る。ステップ108で、ステップ106の出力をnビッ
トのR1として用い、L1は、同じくnビットのR0に等
しいとセットされる。ステップ110で、R1は第2の
擬似ランダム関数f2のオペランドとして使用される。
擬似ランダム関数f2は、擬似ランダム関数f1とは異な
る。ステップ112で、ステップ110によって得られ
る結果と、L1との排他的ORをとる。ステップ114
で、ステップ112の出力をnビットストリングR2
して記憶し、ストリングL2は、nビットストリングR1
に等しいとセットされる。ステップ116で、ストリン
グR2は、擬似ランダム関数f3のオペランドとして使用
される。擬似ランダム関数f3は、擬似ランダム関数f1
およびf2とは異なる。ステップ118で、擬似ランダ
ム関数f3の出力と、値L2の排他的ORをとる。ステッ
プ120で、ステップ118の出力をnビットストリン
グR3として記憶し、ストリングL3は、nビットストリ
ングR2に等しいとセットされる。ステップ122で、
擬似ランダム関数f4は、ストリングR3をオペランドと
して使用して、ステップ124によって使用される出力
を生成する。擬似ランダム関数f4は、擬似ランダム関
数f1〜f3とは異なる。ステップ124で、擬似ランダ
ム関数f4の出力と、ストリングL3の排他的ORをと
る。ステップ126で、ステップ124からの出力をn
ビットストリングR4として記憶し、ストリングL4は、
nビットストリングR3に等しいとセットされる。ステ
ップ128で、ストリングL4およびR4は、図示された
暗号化方法の2nビット出力として出力される。
【0004】図1の方法は、4個の相異なる擬似ランダ
ム関数を使用し、その結果、計算量の大きい方法であ
る。
【0005】図2に、データのブロックあるいはストリ
ングを暗号化する第2の従来技術の方法を示す。この方
法は、Naor-Reingold暗号化法として知られている。ス
テップ140で、暗号化されるべき2nビットのデータ
ブロックを入力する。ステップ142で、この2nビッ
トのデータは、式(1)のハッシュ関数のようなハッシ
ュ関数のオペランドとして使用され、2nビットが出力
される。
【0006】 h(m)=(ma+b)mod n (1)
【0007】ステップ144で、ステップ142により
生成された2nビットを、それぞれnビットからなるブ
ロックL0およびR0に分解する。ステップ146で、擬
似ランダム関数f1は、データブロックR0をオペランド
として用いて、ステップ148によって使用される出力
を生成する。擬似ランダム関数f1は、例えば、図1に
関して説明した擬似ランダム関数のうちの1つである。
ステップ148で、ステップ146からの出力と、デー
タブロックあるいはストリングL0の排他的ORをと
る。ステップ150で、ステップ148の出力を、nビ
ットストリングR 1として記憶し、nビットストリング
1は、nビットストリングR0に等しいとセットされ
る。ステップ152で、擬似ランダム関数f2は、デー
タストリングR1をオペランドとして用いて、ステップ
154のための出力を生成する。擬似ランダム関数f2
は、擬似ランダム関数f1とは異なる。ステップ154
で、nを法として、ステップ152の出力と、データス
トリングL1の排他的ORをとる。ステップ156で、
ステップ154の出力をnビットストリングR2として
記憶し、ストリングL2は、nビットストリングR1に等
しいとセットされる。ステップ158で、第2のハッシ
ュ関数は、nビットストリングL2およびnビットスト
リングR2の両方からの2nビットをオペランドとして
用いて、ステップ160で出力される2nビット出力を
生成する。
【0008】
【発明が解決しようとする課題】図2に示される従来技
術の暗号化法も計算量が大きい。これは、2個の擬似ラ
ンダム関数および2個の非効率的なハッシュ関数を使用
する。式(1)のハッシュ関数のようなハッシュ関数
は、キー(a)とデータストリングの乗算を含む。この
ような乗算は計算量が大きく、w2回の乗算を含む。た
だし、wは、データストリング内のワード数である。例
えば、データブロックの長さが160ビットであり、こ
の方法を実行するプロセッサが32ビットワードを使用
する場合、5ワードでストリングを構成し、その結果、
この乗算を実行するには52すなわち25回の演算が必
要である。
【0009】
【課題を解決するための手段】本発明は、相異なる擬似
ランダム関数を使用するのではなく同じ擬似ランダム関
数を2回使用する暗号化方法を提供することによって、
上記の非効率性を解決する。さらに、本発明は、非常に
効率的なハッシュ関数を使用する。本発明のハッシュ関
数は、乗算を使用するのではなくキーとデータストリン
グの和を2乗する2乗ハッシュ関数である。その結果、
ハッシュ演算は、従来技術で使用される非効率的なハッ
シュ関数によって要求されるw2回の演算ではなく、
(w2+w)/2回の演算しか必要としない。さらに、
本発明は、従来技術の排他的OR演算を、nを法とする
加算で置き換える。
【0010】
【発明の実施の形態】図3に、2乗ハッシュ関数と1種
類の擬似ランダム関数を用いる効率的な暗号化法を示
す。ステップ200で、データのブロックあるいはスト
リングを暗号化のために入力する。ステップ202で、
2nビットのストリングを、それぞれnビットからなる
ストリングLとRに分解する。ステップ204で、式
(2)の2乗ハッシュ関数のような2乗ハッシュ関数を
使用する。
【0011】 h(m)=(m+a)2 mod n (2)
【0012】このハッシュ関数は、キーK1と、データ
ブロックRをオペランドとして用いてnビットの出力を
生成する。ステップ206で、ステップ204からのn
ビット出力を、nを法として、データブロックLと加算
する。ステップ208で、ステップ206からの出力を
nビットストリングSとして記憶し、ストリングRを、
再びnビットストリングブロックRとして記憶する。ス
テップ210で、nビットブロックSを、K2をキーと
する擬似ランダム関数fのオペランドとして用いて、ス
テップ212で使用されるnビット出力を生成する。擬
似ランダム関数fは、図1および図2に関して説明した
擬似ランダム関数のうちの1つとすることが可能である
が、好ましくは、周知の標準であるSHA擬似ランダム
関数である。ステップ212で、ステップ210からの
出力を、nを法として、データストリングRと加算し
て、nビット出力を生成する。ステップ214で、ステ
ップ212からのnビット出力をnビットストリングT
として記憶し、ステップ208からのnビットストリン
グを再びnビットブロックSとして記憶する。ステップ
216で、ステップ210で使用したのと同じ擬似ラン
ダム関数を、同じキーK2で再び使用して、データスト
リングTに作用してnビットストリングを生成する。ス
テップ218で、ステップ216からのnビット出力
を、nを法として、nビットストリングSと加算する。
ステップ220で、ステップ218からのnビット出力
をnビットストリングVとして記憶し、nビットストリ
ングTを再びストリングTとして記憶する。ステップ2
22で、ステップ204で使用したのと同じ2乗ハッシ
ュ関数を、K3をキーとして使用して、データストリン
グVに作用してnビット出力を生成する。ステップ22
6で、ステップ224の出力をnビットストリングWと
して記憶し、nビットストリングVを再びnビットスト
リングVとして記憶する。ステップ228で、データス
トリングVおよびWを使用して、入力ブロックあるいは
ストリングの暗号化表現である2nビット出力とする。
【0013】図4に、図3に示した暗号化法に対応する
復号法を示す。ステップ240で、復号されるべき2n
ビット入力を入力する。ステップ242で、2nビット
入力を、それぞれnビットからなるストリングあるいは
ブロックVとWに分解する。ステップ244で、nビッ
トストリングVを、K3をキーとする式(2)によって
記述される2乗ハッシュ関数のオペランドとして使用す
る。ステップ244は、ステップ246によって使用さ
れるnビット出力を生成する。ステップ246で、ステ
ップ244の出力を、nを法とする演算を用いて、スト
リングWから減算する。ステップ248で、ステップ2
46の出力をnビットストリングTとして記憶し、nビ
ットストリングVを再びストリングVとして記憶する。
ステップ250で、暗号化プロセスで使用したのと同じ
擬似ランダム関数を、K2をキーとして使用して、スト
リングTに作用してnビット出力を生成する。ステップ
252で、ステップ250からの出力を、nを法とする
演算を用いてデータストリングVから減算してnビット
出力を生成する。ステップ254で、ステップ252の
出力をnビットストリングSとして記憶し、nビットス
トリングTを再びストリングTとして記憶する。ステッ
プ256で、ステップ250と同じキーで同じ擬似ラン
ダム関数がストリングSに作用してnビット出力を生成
する。ステップ258で、ステップ256の出力を、n
を法とする演算を用いてストリングTから減算してnビ
ットストリングを生成する。ステップ260で、ステッ
プ258からのnビットストリングをnビットストリン
グRとして記憶し、nビットストリングSを再びストリ
ングSとして記憶する。ステップ262で、式(2)に
よって記述される2乗ハッシュ関数を、K1をキーとし
て使用してデータストリングRに作用してnビット出力
を生成する。ステップ264で、ステップ262からの
nビット出力を、nを法とする演算を用いてデータスト
リングSから減算する。ステップ266で、ステップ2
64からのnビット出力をnビットストリングLとして
記憶し、nビットストリングRを再びストリングRとし
て記憶する。ステップ268で、nビットストリングL
およびRを、入力されたブロックあるいはストリングを
復号したものに対応する2nビットブロックとして出力
する。注意すべき点であるが、図3のステップ204お
よび222、ならびに図4のステップ244および26
2のハッシュ関数を、他のハッシュ関数で置き換えるこ
とも可能である。また、注意すべき点であるが、ステッ
プ204および262で使用されるハッシュ関数は同じ
でなければならず、ステップ222および244で使用
されるハッシュ関数は同じでなければならない。また、
図3のステップ210および216の擬似ランダム関数
に対して、異なるキーまたは擬似ランダム関数を使用す
ることも可能であり、図4のステップ250および25
6の擬似ランダム関数に対して、異なるキーまたは擬似
ランダム関数を使用することも可能である。また、注意
すべき点であるが、ステップ216および250で使用
されるキーおよび擬似ランダム関数は同じでなければな
らず、ステップ210および256で使用されるキーお
よび擬似ランダム関数は同じでなければならない。
【0014】本発明の一実施例では、ビット数nは16
0に等しい。その結果、2乗ハッシュ関数によって使用
されるキーK1およびK3の長さはそれぞれ160ビット
である。さらに、擬似ランダムSHA関数は2個のキー
を使用する。第1のキーの長さは160ビットであり、
第2のキーの長さは352ビットである。SHA関数
は、512ビットを160ビットに短縮する暗号化ハッ
シュ関数である。SHA関数のオペランドは、式(3)
に示すように、キーK2とデータブロックBの連接であ
る。ただし、ブロックBは、図3および図4で説明した
擬似ランダム関数のオペランドとして使用したnビット
のブロックあるいはストリングである。
【0015】 fK2=SHA(K4,(K2,B)) (3)
【0016】キーK4の長さは160ビットであり、デ
ータを暗号化するユーザとデータを復号するユーザによ
って共有される秘密値である。
【0017】これらのキーは、データを暗号化するユー
ザとデータを復号するユーザの両方に既知の初期擬似乱
数を用いて生成される。図5〜図8に、初期シードS0
を用いてキーK1〜K4を生成するために使用されるプロ
セスを示す。図5に、キーを生成するプロセスの概略を
示す。シードS0、公開定数PCおよび公開キーPKを
擬似ランダム関数SHA(安全ハッシュ関数)に与え
る。
【0018】 Si=SHA(PK,(PC′,Si-1)) (i=1,...,11) ( 4)
【0019】ステップ302で、式(4)によって例示
されるSHA関数を繰り返し実行して値S1〜S11を生
成する。値S1〜S11のそれぞれの長さは160ビット
である。ステップ304で、値S1〜S11を多項式計算
306に与える。
【0020】 Xi=(ASi+B)mod Q (i=1,...,11) (5) ただし、Qは、次数160の既約多項式である。
【0021】ステップ306で、式(5)を実行して、
値X1〜X11を生成する。ただし、それぞれの値は16
0ビットを含む。式(5)は、多項式乗算の後に多項式
加算を行うことを示している。ただし、オペランドSi
は、式(4)の出力Siに対応する。多項式AおよびB
は、160ビットの1変数の任意の2個のランダム2元
多項式である。式(5)を、Siのそれぞれの値に対し
て実行して、値X1〜X11を生成する。それぞれの値Xi
の長さは最初320ビットであり、2元既約多項式を用
いて160ビットに短縮される。多項式算術および既約
多項式は当業者に周知であり、Maurice Mignotte, "Mat
hematics for Computer Algebra", 1991,Springer-Verl
ag, New York、のような文献に記載されている。ステッ
プ310で、ストリングX1〜X10の76個の下位ビッ
ト(LSB)およびX11の72個のLSBを用いて83
2ビットの集まりを作成する。ステップ310で生成さ
れるこの832ビットは、キーK1〜K4に対応する。
【0022】図6および図7に、SHA関数のオペラン
ドが生成される方法を示す。想起すべき点であるが、S
HA関数は、160ビットのキーと512ビットのオペ
ランドを用いて、160ビットの出力を生成する。図6
に、SHA関数に対するキーとして160ビットの公開
キーPKを使用し、SHA関数のオペランドとしてシー
ドS0と、公開定数PCの一部とを使用することによっ
て、ストリングSiが生成されることを示す。一般に、
シードS0は、40〜512ビットのどのビット数を含
むことも可能であり、SHA関数のオペランドは512
ビットを必要とする。その結果、S0が512ビットよ
り少ないときに、公開定数PCのLSBを使用して必要
なビットを提供して、SHA関数に対する512ビット
のオペランドを生成する。例えば、シードS0のビット
数がxビットである場合、公開定数PCの512−x個
の下位ビットをS0のビットと連接する。S0のビット
は、SHA関数に対する512ビットのオペランドの下
位ビットとして使用される。図6に示す動作は、160
ビットのストリングS1を生成する。図7は、残りのSi
(ここでi=2、...、11)を生成するプロセスを例
示する。この場合も、SHA関数は、160ビットのキ
ーと、短縮されることになる512ビットのストリング
とを必要とする。公開キーPKは、図7のSHA関数に
対する160ビットキーとして使用され、短縮される5
12ビットのストリングは、前の160ビットストリン
グSi-1と、公開定数PCの352個のLSBとの連接
である。注意すべき点であるが、Si-1は160ビット
を提供するため、SHA関数に対する全部で512ビッ
トを生成するには、公開定数PCから下位352ビット
が必要である。Si-1に対応する160ビットは、ハッ
シュされるべきストリングのLSBとして使用され、公
開定数PCからの352個のLSBは、ハッシュされる
べきストリングの上位ビットとして使用される。
【0023】図5を想起すると、ストリングS1〜S11
を生成した後、これらをそれぞれ、式(5)によって定
義される多項式演算へのオペランドとして使用して、ス
トリングX1〜X11を生成する。ただし、各ストリング
の長さは160ビットである。図8に、ストリングX1
〜X11の集まりをどのようにして使用して、キーK1
4に対応する832ビットのストリングを生成するか
を示す。ストリングX1〜X10の下位76ビットと、ス
トリングX11の下位72ビットを連接して、キーK 1
4を生成するために使用される832ビットを生成す
る。この832ビットの下位ビットは、ストリングX1
の下位76ビットであり、その後は、ストリングX2
下位76ビットであり、以下同様に続き、最後は、スト
リングX11の下位72ビットである。得られた832ビ
ットストリングをキーK1〜K4に分解する。ただし、下
位160ビットはキーK1に対応し、次の352ビット
はキーK2に対応し、次の160ビットはキーK3に対応
し、最後の160ビットはキーK4に対応する。
【0024】
【発明の効果】以上述べたごとく、本発明によれば、ハ
ッシュ関数を用いた暗号化において、相異なる擬似ラン
ダム関数を使用するのではなく同じ擬似ランダム関数を
2回使用する暗号化方法を提供することによって、従来
技術の非効率性を解決することができる。
【図面の簡単な説明】
【図1】従来のLuby-Rackoff暗号化法の図である。
【図2】従来のNaor-Reingold暗号化法の図である。
【図3】2乗ハッシュ関数を使用する効率的な暗号化法
の図である。
【図4】2乗ハッシュ関数を使用する効率的な復号法の
図である。
【図5】キーK1〜K4を生成するために用いられる方法
の概略図である。
【図6】S1を生成するためにSHA関数に対するオペ
ランドをどのように選択するかを説明する図である。
【図7】S2〜S11を生成するためにSHA関数に対す
るオペランドをどのように選択するかを説明する図であ
る。
【図8】ストリングX1〜X11の下位ビットを用いてキ
ーK1〜K4として使用される832ビットをどのように
して生成するかを説明する図である。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 ズルフィカー アミン ランザン アメリカ合衆国、02115 マサチューセッ ツ、ボストン、ニューベリー ストリート 282、ナンバー.20 (72)発明者 ガナパシー スブラマニアン スンダラン アメリカ合衆国、07076 ニュージャージ ー、スコッチ プレインズ、チュッセル レイン 137

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 第1のキーを用いて第1のnビットスト
    リングの2乗ハッシュを実行して第1のハッシュ結果を
    生成するステップと、 前記第1のハッシュ結果と第2のnビットストリングを
    nを法として加算して第1の和を生成するステップと、 前記第1の和を第2のキーによる擬似ランダム関数のオ
    ペランドとして使用して第1の擬似ランダム結果を生成
    するステップと、 前記第1の擬似ランダム結果と前記第1のnビットスト
    リングをnを法として加算して第2の和を生成するステ
    ップと、 前記第2の和を第3のキーによる前記擬似ランダム関数
    のオペランドとして使用して第2の擬似ランダム結果を
    生成するステップと、 前記第2の擬似ランダム結果と前記第1の和をnを法と
    して加算して第3の和を生成するステップと、 第4のキーを用いて前記第3の和の2乗ハッシュを実行
    して第2のハッシュ結果を生成するステップと、 前記第2の和と前記第2のハッシュ結果をnを法として
    加算して第4の和を生成するステップと、 前記第4の和と前記第3の和を用いて、前記第1のnビ
    ットストリングおよび前記第2のnビットストリングの
    暗号化表現とするステップとを有することを特徴とす
    る、第1のnビットストリングおよび第2のnビットス
    トリングを暗号化する方法。
  2. 【請求項2】 前記第2のキーと前記第3のキーは等し
    いことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記擬似ランダム関数はSHA擬似ラン
    ダム関数であることを特徴とする請求項1に記載の方
    法。
  4. 【請求項4】 前記第2のキーと前記第3のキーは等し
    いことを特徴とする請求項3に記載の方法。
  5. 【請求項5】 第1のハッシュ関数を用いて、第1のキ
    ーによる第1のnビットストリングのハッシュを実行し
    て第1のハッシュ結果を生成するステップと、 前記第1のハッシュ結果と第2のnビットストリングを
    nを法として加算して第1の和を生成するステップと、 前記第1の和を第2のキーによる擬似ランダム関数のオ
    ペランドとして使用して第1の擬似ランダム結果を生成
    するステップと、 前記第1の擬似ランダム結果と前記第1のnビットスト
    リングをnを法として加算して第2の和を生成するステ
    ップと、 前記第2の和を第3のキーによる前記擬似ランダム関数
    のオペランドとして使用して第2の擬似ランダム結果を
    生成するステップと、 前記第2の擬似ランダム結果と前記第1の和をnを法と
    して加算して第3の和を生成するステップと、 第2のハッシュ関数を用いて、第4のキーによる第3の
    和のハッシュを実行して第2のハッシュ結果を生成する
    ステップと、 前記第2の和と前記第2のハッシュ結果をnを法として
    加算して第4の和を生成するステップと、 前記第4の和および前記第3の和を用いて、前記第1の
    nビットストリングおよび前記第2のnビットストリン
    グの暗号化表現とするステップとを有することを特徴と
    する、第1のnビットストリングおよび第2のnビット
    ストリングを暗号化する方法。
  6. 【請求項6】 前記第1のハッシュ関数と前記第2のハ
    ッシュ関数は同じであることを特徴とする請求項5に記
    載の方法。
  7. 【請求項7】 前記擬似ランダム関数はSHA擬似ラン
    ダム関数であることを特徴とする請求項5に記載の方
    法。
  8. 【請求項8】 第1のキーを用いて第1のnビットスト
    リングの2乗ハッシュを実行して第1のハッシュ結果を
    生成するステップと、 前記第1のハッシュ結果と第2のnビットストリングを
    nを法として加算して第1の和を生成するステップと、 前記第1の和を第2のキーによる第1の擬似ランダム関
    数のオペランドとして使用して第1の擬似ランダム結果
    を生成するステップと、 前記第1の擬似ランダム結果と前記第1のnビットスト
    リングをnを法として加算して第2の和を生成するステ
    ップと、 前記第2の和を第3のキーによる第2の擬似ランダム関
    数のオペランドとして使用して第2の擬似ランダム結果
    を生成するステップと、 前記第2の擬似ランダム結果と前記第1の和をnを法と
    して加算して第3の和を生成するステップと、 第4のキーを用いて前記第3の和の2乗ハッシュを実行
    して第2のハッシュ結果を生成するステップと、 前記第2の和と前記第2のハッシュ結果をnを法として
    加算して第4の和を生成するステップと、 前記第4の和と前記第3の和を用いて、前記第1のnビ
    ットストリングおよび前記第2のnビットストリングの
    暗号化表現とするステップとを有することを特徴とす
    る、第1のnビットストリングおよび第2のnビットス
    トリングを暗号化する方法。
JP11295776A 1998-10-20 1999-10-18 暗号化方法 Pending JP2000122534A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17517998A 1998-10-20 1998-10-20
US09/175179 1998-10-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004218586A Division JP2004361969A (ja) 1998-10-20 2004-07-27 暗号化方法

Publications (1)

Publication Number Publication Date
JP2000122534A true JP2000122534A (ja) 2000-04-28

Family

ID=22639275

Family Applications (2)

Application Number Title Priority Date Filing Date
JP11295776A Pending JP2000122534A (ja) 1998-10-20 1999-10-18 暗号化方法
JP2004218586A Withdrawn JP2004361969A (ja) 1998-10-20 2004-07-27 暗号化方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2004218586A Withdrawn JP2004361969A (ja) 1998-10-20 2004-07-27 暗号化方法

Country Status (7)

Country Link
EP (1) EP0996250A3 (ja)
JP (2) JP2000122534A (ja)
KR (1) KR100583495B1 (ja)
CN (1) CN1251444A (ja)
AU (1) AU5361099A (ja)
BR (1) BR9904711A (ja)
CA (1) CA2282051A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053650A1 (en) * 2006-10-30 2008-05-08 Nec Corporation Common key block encrypting device, its method, its program, and recording medium
JP2009069844A (ja) * 2004-08-12 2009-04-02 Cmla Llc セキュリティ強化のための転置データ変換
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
US8737608B2 (en) 2004-08-12 2014-05-27 Cmla, Llc Exponential data transform to enhance security

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030059500A (ko) * 2001-12-29 2003-07-10 한국전자통신연구원 에스.피.엔(spn) 구조를 가지는 블록 암호를 이용한유사난수 발생기 및 방법
KR100924773B1 (ko) * 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
FR2847402B1 (fr) * 2002-11-15 2005-02-18 Gemplus Card Int Procede de division entiere securise contre les attaques a canaux caches
KR20060003328A (ko) * 2003-03-27 2006-01-10 엔디에스 리미티드 향상된 cfm 모드 시스템
WO2006117775A2 (en) 2005-05-02 2006-11-09 Nds Limited Native scrambling system
CN101401141B (zh) * 2006-03-14 2011-12-07 日本电气株式会社 信息处理系统以及信息处理方法
CN101753304B (zh) * 2008-12-17 2012-07-04 中国科学院自动化研究所 一种生物特征和密钥绑定的方法
KR101437033B1 (ko) * 2012-06-21 2014-11-03 기초과학연구원 저성능 디바이스의 인증 방법
US10887080B2 (en) 2017-03-16 2021-01-05 King Fahd University Of Petroleum And Minerals Double-hashing operation mode for encryption

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625076A (en) * 1984-03-19 1986-11-25 Nippon Telegraph & Telephone Public Corporation Signed document transmission system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069844A (ja) * 2004-08-12 2009-04-02 Cmla Llc セキュリティ強化のための転置データ変換
JP2012023764A (ja) * 2004-08-12 2012-02-02 Cmla Llc セキュリティ強化のための転置データ変換
JP2012023763A (ja) * 2004-08-12 2012-02-02 Cmla Llc セキュリティ強化のための転置データ変換
US8737608B2 (en) 2004-08-12 2014-05-27 Cmla, Llc Exponential data transform to enhance security
WO2008053650A1 (en) * 2006-10-30 2008-05-08 Nec Corporation Common key block encrypting device, its method, its program, and recording medium
JP5141558B2 (ja) * 2006-10-30 2013-02-13 日本電気株式会社 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法

Also Published As

Publication number Publication date
CA2282051A1 (en) 2000-04-20
JP2004361969A (ja) 2004-12-24
KR100583495B1 (ko) 2006-05-24
EP0996250A3 (en) 2002-05-22
CN1251444A (zh) 2000-04-26
KR20000035057A (ko) 2000-06-26
BR9904711A (pt) 2000-10-03
EP0996250A2 (en) 2000-04-26
AU5361099A (en) 2000-05-04

Similar Documents

Publication Publication Date Title
US6298136B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
CA2723319C (en) A closed galois field cryptographic system
US6829355B2 (en) Device for and method of one-way cryptographic hashing
US7451310B2 (en) Parallelizable authentication tree for random access storage
US20040096056A1 (en) Method of encryption using multi-key process to create a variable-length key
JP2005215688A (ja) S−box演算を用いるハードウェア暗号化/復号化装置及び、その方法
JP2000122534A (ja) 暗号化方法
RU2124814C1 (ru) Способ шифрования блоков цифровых данных
JP2950485B2 (ja) ストリーム暗号処理装置
US20030165242A1 (en) Confusion encryption
JPH0697930A (ja) ブロック暗号処理装置
KR101076747B1 (ko) 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치
JP2010186075A (ja) 整数の暗号化及び復号化方法
Gualtieri One-Time Pads from the Digits of Pi
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
KR20000066440A (ko) 엘.에프.에스.알을 이용한 확장 알.씨.4 암호화 방법
KR20080042663A (ko) 비선형 필터링된 t함수에 기반한 스트림 암호화 장치 및방법
Sibert et al. The Multics encipher_Algorithm
JP5818768B2 (ja) マスク生成装置、情報処理装置、及びその方法、プログラム
JP2001358709A (ja) 暗号化装置、復号化装置、その方法及び記録媒体
JP2004266495A (ja) 暗号生成装置、暗号復号装置、暗号生成プログラム、暗号復号プログラム
KR20030059500A (ko) 에스.피.엔(spn) 구조를 가지는 블록 암호를 이용한유사난수 발생기 및 방법
JP2008096871A (ja) 暗号処理装置、暗号処理方法および暗号処理プログラム
JP2010186076A (ja) 整数の暗号化及び復号化方法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040727

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041111

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20041217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070309

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611