JP2013174910A - 楕円曲線乱数生成 - Google Patents
楕円曲線乱数生成 Download PDFInfo
- Publication number
- JP2013174910A JP2013174910A JP2013095407A JP2013095407A JP2013174910A JP 2013174910 A JP2013174910 A JP 2013174910A JP 2013095407 A JP2013095407 A JP 2013095407A JP 2013095407 A JP2013095407 A JP 2013095407A JP 2013174910 A JP2013174910 A JP 2013174910A
- Authority
- JP
- Japan
- Prior art keywords
- elliptic curve
- point
- random number
- key
- ecrng
- 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.)
- Withdrawn
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- 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/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
-
- 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/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- 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/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
【課題】楕円曲線を用いた暗号乱数生成のシステムと方法を提供する。
【解決手段】楕円曲線乱数生成器は、楕円曲線上の2点であってP=eQとなるような2点P、Qを入力とする。まず、点Pの値を含むビット列のハッシュ値が計算され、ハッシュ値は体の元に変換され、体の元は、楕円曲線上の点Qのx座標として見なされ、x座標は、所望の楕円曲線上で有効性がテストされる。有効であれば、x座標は点Qに伸張され、y座標の符号の選択もまたハッシュ値から導出される。eはエスクロー鍵と呼ばれセキュリティドメインの管理者のみが知る。楕円曲線上の点Qを検証可能にランダムに選択することによりエスクロー鍵が知られることを回避する。エスクロー鍵の意図的な使用により、バックアップ機能が提供される。管理者は、生成器の出力を記録して、エスクロー鍵で乱数を再構築する。
【選択図】図1
【解決手段】楕円曲線乱数生成器は、楕円曲線上の2点であってP=eQとなるような2点P、Qを入力とする。まず、点Pの値を含むビット列のハッシュ値が計算され、ハッシュ値は体の元に変換され、体の元は、楕円曲線上の点Qのx座標として見なされ、x座標は、所望の楕円曲線上で有効性がテストされる。有効であれば、x座標は点Qに伸張され、y座標の符号の選択もまたハッシュ値から導出される。eはエスクロー鍵と呼ばれセキュリティドメインの管理者のみが知る。楕円曲線上の点Qを検証可能にランダムに選択することによりエスクロー鍵が知られることを回避する。エスクロー鍵の意図的な使用により、バックアップ機能が提供される。管理者は、生成器の出力を記録して、エスクロー鍵で乱数を再構築する。
【選択図】図1
Description
本発明は暗号乱数生成のシステムと方法に関する。
乱数は、基盤となる安全性を提供するために、多数の暗号演算において利用される。公開鍵基盤において、例えば、鍵対の私的鍵は、乱数生成器により生成され、対応する公開鍵は数学的に私的鍵から導出される。各セッションに対して新しい鍵対が生成され、そのため、生成器のランダム性が暗号システムの安全性にきわめて重要となる。
乱数の安全なソースを提供するために、暗号的に安全な擬似乱数ビット生成器が開発されており、その中で、各生成器の安全性は、基盤となる数論問題の推測できる対処の困難さに依存する。ANSI(AmericanNational Standards Institute:米国規格協会)は
、ASC(AccreditedStandards Committee)X9を、金融サービス産業のために設立し
、それは、暗号乱数生成(RNG)のためのANS(American National Standard)X9.82を準備している。Dual_EC_DRBGと称されるX9.82の草案におけるRNG方法の1つは、安全性のために楕円曲線暗号(ECC)を使用している。Dual_EC_DRBGは、以降、楕円曲線乱数生成(ECRNG)と呼ぶ。
、ASC(AccreditedStandards Committee)X9を、金融サービス産業のために設立し
、それは、暗号乱数生成(RNG)のためのANS(American National Standard)X9.82を準備している。Dual_EC_DRBGと称されるX9.82の草案におけるRNG方法の1つは、安全性のために楕円曲線暗号(ECC)を使用している。Dual_EC_DRBGは、以降、楕円曲線乱数生成(ECRNG)と呼ぶ。
楕円曲線暗号は、楕円曲線群の巡回部分群における離散対数問題の難しさに依存する。楕円曲線Eは、楕円曲線の定義方程式を満たす点(x,y)の集合である。定義方程式は、三次方程式であり、非特異性である。座標xとyは、体の元であり、加法、減法、およびゼロを除く除法が可能な元の集合である。体の例としては、有理数および実数がある。また有限体もあり、暗号においてはもっともよく使用される。有限体の例としては、素数qを法とする整数の集合がある。
一般性を失うことなく、楕円曲線の定義方程式は、ワイエルシュトラス(Weierstrass
)形式で可能であり、それは、座標の体に依存している。体Fが素数q>3を法とする整数の場合、ワイエルシュトラス(Weierstrass)方程式は、y2=x3+ax+bの形式
となり、ここでaとbは体Fの元である。
)形式で可能であり、それは、座標の体に依存している。体Fが素数q>3を法とする整数の場合、ワイエルシュトラス(Weierstrass)方程式は、y2=x3+ax+bの形式
となり、ここでaとbは体Fの元である。
楕円曲線Eは点(x,y)と、更に1つの点、つまり、無限大における点Oを含む。楕円曲線Eはまた、群構造を有し、それは、曲線上の2点PとQは加法が可能で、第3の
点P+Qを形成することを意味する。点Oは、群の単位元であり、すべての点Pに対してP+O=O+P=Pである。加法は、すべての点P、QおよびRに対して結合律が成り立ち、P+(Q+R)=(P+Q)+Rであり、かつ、可換であり、P+Q=Q+Rである。各点PはP+(−P)=Oとなる負の点−Pを有している。曲線方程式がy2=x3+ax+bの形式のワイエルシュトラス(Weierstrass)方程式のときは、P=(x,y)
の負は容易に−P=(x,−y)として決定できる。座標について点PとQを加える公式は、数回の体の演算を含むだけの、適度の複雑さである。
点P+Qを形成することを意味する。点Oは、群の単位元であり、すべての点Pに対してP+O=O+P=Pである。加法は、すべての点P、QおよびRに対して結合律が成り立ち、P+(Q+R)=(P+Q)+Rであり、かつ、可換であり、P+Q=Q+Rである。各点PはP+(−P)=Oとなる負の点−Pを有している。曲線方程式がy2=x3+ax+bの形式のワイエルシュトラス(Weierstrass)方程式のときは、P=(x,y)
の負は容易に−P=(x,−y)として決定できる。座標について点PとQを加える公式は、数回の体の演算を含むだけの、適度の複雑さである。
ECRNGは入力として、固定の2つの楕円曲線点PとQを使用する。これらの点は、秘密とは仮定されていない。典型的には、Pは楕円曲線ドメインパラメータの標準生成器であり、Qは、ある他の点である。更に、秘密シードがECRNGに挿入される。
ECRNGは、整数sと考えられる、ある状態を有している。状態sは、ECRNGが出力を生成するたびに更新される。更新された状態はu=z(sP)として計算され、ここでz()は、楕円曲線点を整数に変換する関数である。一般的に、zは点のx座標を取ることで構成され、結果としての体の元を整数に変換する。このように、uは、典型的には、点sのx座標から導出される整数である。
ECRNGの出力は、r=t(z(sQ))として計算され、ここにおいてtは打切り関数である。一般的に打切り関数は、入力の最左端のビットを除去する。ECRNGにおいては、打ち切られるビット数は、楕円曲線の選択に依存し、典型的には、6から19ビットの範囲である。
PとQが分かっていても、出力rはランダムで、予測できないと信じられている。従って、連続する値は、私的鍵を得て、暗号関数を破るために利用できる関係を有しない。本発明の出願者は、Q=dPとなるような整数dを知っていれば誰でもed=1 mod nであって、ここでnはGの位数であるような整数eを推測でき、それにより、P=eQとなるような整数eを入手できるということを認識した。更新された状態およびECRNG出力の前駆体を、U=sPおよびR=sQと想定する。整数eにより、UをRからU=eRとして計算できる。従って、出力r=t(z(R))であり、Rの可能な値は、rから決定できる。打切り関数は、Rの打ち切られたビットは、推測されなければならないことを意味している。z関数は、x座標のみが利用でき、そのため、全点Rを得るためには、伸張を適用しなければならないことを意味している。ECRNGの場合は、約26=64と219(つまり、約500,000)の間のどこかに、rに対応する可能な点Rがあることになり、正確な数は曲線とrの特別な値に依存する。
R値の全体集合は、rから決定するのは容易で、上述したように、Rに対する正確な値の決定は、eを知っていれば、U=eRを決定する。更新された状態は、u=z(U)であり、Rの正しい値から決定できる。従って、rとeを知っていれば、26と219の間のどこかで、多数の可能性から次の状態を決定できる。この不確定さは、別の出力が観測されると、一方向性関数を介して直接または間接的に、確実に排除される。
次の状態がいったん決定されると、ECRNGのすべての将来の状態は、ECRNGが決定関数なので決定できる(少なくとも追加的なランダムエントロピーがECRNG状態に供給されない限り)。ECRNGのすべての出力は、ECRNGの決定状態から決定される。従って、rとeを知っていると、ECRNGのすべての将来の出力を決定できる。
従って、本発明の出願人によって、本方法は、潜在的に侵入口を有していることが特定され、そのため、アルゴリズムの標準化に携わる者、あるいは導入者は、単一の出力と、RNGの実例を使用して、すべての将来の状態とRNGの出力を決定でき、それにより、その安全性を完全に損なってしまう。従って、本発明の目的は、上述した不都合な点を除去または緩和することである。
1つの形態において、本発明は、検証可能にランダムな点Qを、楕円曲線乱数生成器内の別の点Pとの使用のために計算する方法であって、点Pを入力として含むハッシュを計算するステップと、ハッシュから点Qを導出するステップを備える方法を提供する。
別の形態においては、本発明は、楕円曲線乱数を生成する方法であって、楕円曲線乱数生成器を使用して出力を生成するステップと、出力を打ち切って、乱数を生成するステップを備える方法を提供する。
更に別の形態においては、本発明は、楕円曲線乱数を生成する方法であって、楕円曲線乱数生成器を使用して出力を生成するステップと、出力を一方向性関数に適用して乱数を生成するステップを備える方法を提供する。
更に別の形態においては、本発明は、楕円曲線乱数生成器に対するバックアップ機能の方法であって、楕円曲線の点Qが決定されるとエスクロー鍵eを計算し、それによりP=eQであって、Pは楕円曲線の別の点であるステップと、管理者を置くステップと、管理者にエスクロー鍵eを格納させるステップと、楕円曲線乱数生成器を有するメンバーに、生成器の出力値の前に生成された出力rを管理者に送らせるステップと、管理者が、出力rを、生成器の状態の将来の決定のために記録するステップを備える方法を提供する。
例えば、本願発明は以下の項目を提供する。
(項目1)
暗号演算において使用される乱数を計算する方法であって、1対の入力を楕円曲線乱数生成器に提供するステップを備え、各入力が楕円曲線点の少なくとも1つの座標を示し、前記入力のうち少なくとも1つは検証可能にランダムである計算する方法。
(項目2)
前記少なくとも1つの入力は、ハッシュ関数の出力から得られる項目1に記載の計算する方法。
(項目3)
前記入力の他方は、前記ハッシュ関数の入力として利用される項目2に記載の計算する方法。
(項目4)
前記乱数生成器は秘密値を有し、前記秘密値は、前記入力により示される前記点のスカラー倍を計算するために使用される項目1に記載の計算する方法。
(項目5)
前記スカラー倍の1つは、前記乱数を導出するために使用され、前記スカラー倍の他方は、次の使用のために前記秘密値を変更するために使用される項目4に記載の計算する方法。
(項目6)
前記ハッシュ関数の前記出力は、前記入力として利用される前に、楕円曲線上の点の座標として有効化される項目2に記載の計算する方法。
(項目7)
前記点の別の座標が、前記入力として含むために前記1つの座標から得られる項目6に記載の計算する方法。
(項目8)
前記他の入力は、楕円曲線点を示す項目7に記載の計算する方法。
(項目9)
前記乱数は、前記スカラー倍により示される前記点の1つの座標を選択し、前記座標を前記乱数としての使用のためにビット列に打ち切ることにより、前記スカラー倍から導出される項目5に記載の計算する方法。
(項目10)
前記1つの座標は、楕円曲線点表現を示す長さの約半分の大きさに打ち切られる項目9に記載の計算する方法。
(項目11)
前記乱数は、前記スカラー倍により示される前記点の1つの座標を選択し、前記1つの座標をハッシングし、前記乱数として使用するためにビット列を提供することにより、前記スカラー倍から導出される項目5に記載の計算する方法。
(項目12)
前記検証可能にランダムな入力は標準形として選択され、それにより、前記入力間の所定の関係を維持することは困難になる項目1に記載の計算する方法。
(項目13)
暗号演算において使用される乱数を計算する方法であって、それぞれが、1対の楕円曲線点の少なくとも1つの座標を示す1対の入力を楕円曲線乱数生成器に提供するステップと、楕円曲線点のスカラー倍の少なくとも1つの座標を示す出力を得るステップと、前記出力を一方向性関数に通して、乱数としての使用のためのビット列を得るステップと、を備える計算する方法。
(項目14)
前記一方向性関数は、ハッシュ関数である項目13に記載の計算する方法。
(項目15)
楕円曲線乱数生成器であって、それぞれが、1対の楕円曲線点の少なくとも1つの座標を示す1対の入力と、暗号演算において乱数として使用される出力を有し、前記入力の少なくとも1つは、検証可能にランダムである楕円曲線乱数生成器。
(項目16)
前記1つの入力は、一方向性関数の出力から導出される項目15に記載の楕円曲線乱数生成器。
(項目17)
前記一方向性関数はハッシュ関数である項目16に記載の楕円曲線乱数生成器。
(項目18)
前記入力の他方は、前記ハッシュ関数への入力として提供される項目17に記載の楕円曲線乱数生成器。
(項目19)
ネットワーク内でセキュリティドメインのためのエスクロー鍵を確立する方法であって、楕円曲線乱数生成器へのそれぞれの入力としての1対の点PQを、前記点の間の関係がP=eQとなるように確立するステップと、前記関係eを、管理者と共にエスクロー鍵として格納するステップと、前記楕円曲線乱数生成器から、前記ドメイン内の暗号演算で使用される乱数を生成するステップを備える方法。
例えば、本願発明は以下の項目を提供する。
(項目1)
暗号演算において使用される乱数を計算する方法であって、1対の入力を楕円曲線乱数生成器に提供するステップを備え、各入力が楕円曲線点の少なくとも1つの座標を示し、前記入力のうち少なくとも1つは検証可能にランダムである計算する方法。
(項目2)
前記少なくとも1つの入力は、ハッシュ関数の出力から得られる項目1に記載の計算する方法。
(項目3)
前記入力の他方は、前記ハッシュ関数の入力として利用される項目2に記載の計算する方法。
(項目4)
前記乱数生成器は秘密値を有し、前記秘密値は、前記入力により示される前記点のスカラー倍を計算するために使用される項目1に記載の計算する方法。
(項目5)
前記スカラー倍の1つは、前記乱数を導出するために使用され、前記スカラー倍の他方は、次の使用のために前記秘密値を変更するために使用される項目4に記載の計算する方法。
(項目6)
前記ハッシュ関数の前記出力は、前記入力として利用される前に、楕円曲線上の点の座標として有効化される項目2に記載の計算する方法。
(項目7)
前記点の別の座標が、前記入力として含むために前記1つの座標から得られる項目6に記載の計算する方法。
(項目8)
前記他の入力は、楕円曲線点を示す項目7に記載の計算する方法。
(項目9)
前記乱数は、前記スカラー倍により示される前記点の1つの座標を選択し、前記座標を前記乱数としての使用のためにビット列に打ち切ることにより、前記スカラー倍から導出される項目5に記載の計算する方法。
(項目10)
前記1つの座標は、楕円曲線点表現を示す長さの約半分の大きさに打ち切られる項目9に記載の計算する方法。
(項目11)
前記乱数は、前記スカラー倍により示される前記点の1つの座標を選択し、前記1つの座標をハッシングし、前記乱数として使用するためにビット列を提供することにより、前記スカラー倍から導出される項目5に記載の計算する方法。
(項目12)
前記検証可能にランダムな入力は標準形として選択され、それにより、前記入力間の所定の関係を維持することは困難になる項目1に記載の計算する方法。
(項目13)
暗号演算において使用される乱数を計算する方法であって、それぞれが、1対の楕円曲線点の少なくとも1つの座標を示す1対の入力を楕円曲線乱数生成器に提供するステップと、楕円曲線点のスカラー倍の少なくとも1つの座標を示す出力を得るステップと、前記出力を一方向性関数に通して、乱数としての使用のためのビット列を得るステップと、を備える計算する方法。
(項目14)
前記一方向性関数は、ハッシュ関数である項目13に記載の計算する方法。
(項目15)
楕円曲線乱数生成器であって、それぞれが、1対の楕円曲線点の少なくとも1つの座標を示す1対の入力と、暗号演算において乱数として使用される出力を有し、前記入力の少なくとも1つは、検証可能にランダムである楕円曲線乱数生成器。
(項目16)
前記1つの入力は、一方向性関数の出力から導出される項目15に記載の楕円曲線乱数生成器。
(項目17)
前記一方向性関数はハッシュ関数である項目16に記載の楕円曲線乱数生成器。
(項目18)
前記入力の他方は、前記ハッシュ関数への入力として提供される項目17に記載の楕円曲線乱数生成器。
(項目19)
ネットワーク内でセキュリティドメインのためのエスクロー鍵を確立する方法であって、楕円曲線乱数生成器へのそれぞれの入力としての1対の点PQを、前記点の間の関係がP=eQとなるように確立するステップと、前記関係eを、管理者と共にエスクロー鍵として格納するステップと、前記楕円曲線乱数生成器から、前記ドメイン内の暗号演算で使用される乱数を生成するステップを備える方法。
本発明の実施形態は、ここで、添付された図面を参照することのみにより、例として説明される。
図1を参照すると、暗号乱数生成器(ECRNG)10は、楕円曲線計算を行う演算ユニット12を含んでいる。ECRNGはまた、状態値sを保持するセキュアレジスタ14を含み、初期設定点PとQの対を受信するための入力16と18の対を有している。点PとQは、既知と仮定されている楕円曲線点である。出力20は、暗号モジュール22への乱整数の通信のために供給される。レジスタ14の初期内容は、シード入力Sにより供給される。
点Pを表現する入力16は、第1実施形態においては、そのような使用に適切であるとして公表された既知の値から選択される。
入力18は、一方向性関数の出力から、典型的には、入力として点Pを受信するSHA1またはSHA2のような暗号的に安全なハッシュ関数である、ハッシュ関数の形態で得られる。関数24は、任意のビット列A上で作動し、ハッシュされた出力26を生成する。出力26は、更なる処理のために演算ユニット12に適用されて入力Qを供給する。
作動中、ECRNGは、シードとしてビット列を受信し、それはレジスタ14に格納される。シードは、秘密に維持され、ランダム性およびハミング重さのような、特定のアプリケーションに適合するように選択された、前もって確立された暗号基準に合うように選択される。
dが知られる可能性がないことを確実にするために(例えば、P=dQおよびed=1
mod nのように)、入力16と18の1つまたは両者は、検証可能にランダムであるように選択される。図1の実施形態においては、Qは、その入力が点Pを含むハッシュ関数(好ましくは一方向性)の出力から導出することにより、検証可能にランダムであるような方法で選択される。図2に示されるように、任意の列Aがステップ202で選択され、AのハッシュHは、Pと随意にSを、ハッシュベース関数FH()への入力としてステップ204で計算され、ハッシュHは、演算ユニット12により、ステップ206において所望の体Fの体の元Xに変換される。Pは、前計算されていても、固定でも、または検証可能にランダムな選択値として選択されてもよい。体の元Xは、Qのx座標として見なされる(このように、Qの「圧縮された」表現)。x座標は、ステップ208で、所望の楕円曲線E上で有効性がテストされ、Xが有効かどうかがステップ210において決定される。有効の場合は、元Xにより提供されたx座標は伸張され、ステップ212において点Qを提供する。y座標の2つの可能な値のどちらを選択するかは、一般的には、ハッシュ値から導出される。
mod nのように)、入力16と18の1つまたは両者は、検証可能にランダムであるように選択される。図1の実施形態においては、Qは、その入力が点Pを含むハッシュ関数(好ましくは一方向性)の出力から導出することにより、検証可能にランダムであるような方法で選択される。図2に示されるように、任意の列Aがステップ202で選択され、AのハッシュHは、Pと随意にSを、ハッシュベース関数FH()への入力としてステップ204で計算され、ハッシュHは、演算ユニット12により、ステップ206において所望の体Fの体の元Xに変換される。Pは、前計算されていても、固定でも、または検証可能にランダムな選択値として選択されてもよい。体の元Xは、Qのx座標として見なされる(このように、Qの「圧縮された」表現)。x座標は、ステップ208で、所望の楕円曲線E上で有効性がテストされ、Xが有効かどうかがステップ210において決定される。有効の場合は、元Xにより提供されたx座標は伸張され、ステップ212において点Qを提供する。y座標の2つの可能な値のどちらを選択するかは、一般的には、ハッシュ値から導出される。
点PとQは、個々の点16と18において適用され、演算ユニット12は、点sQを計算し、ここでsは、レジスタ14に格納されている現在の値である。演算ユニット12は、点(この例では、点sQ)のx座標を整数に変換し、その値を打ち切って、r=t(z(sQ))を得る。打ち切られた値rは出力20に供給される。
演算ユニット12は同様に値を計算して、sがレジスタ14の値であるときのsPを計算することでレジスタ14を更新して、点sPのx座標を整数uに変換する。整数uは、レジスタに格納され、次の反復に対してsと置換される。(上記を繰り返す)
上述したように、点Pもまた検証可能にランダムであってよいが、確立されたまたは固定された値であってもよい。従って、図1の実施形態は、ある基点(例えば、P)が既にハードウェアに実装されている場合は、システムに適用または後付け追加できる。典型的に、基点Pは、米国連邦情報処理標準規格(FIPS:FederalInformation Processing Standard)186−2で推奨されているような、ある既存の基点になる。そのような
場合は、Pは、検証可能にランダムになるようには選択されない。
場合は、Pは、検証可能にランダムになるようには選択されない。
一般的に、点Pを、ハッシュ関数の入力に含むことは、ハッシュ関数の一方向性特性のため、およびQが既に決定されたPから導出されるので、Pが、Qが決定される前に決定されたことを確実にする。PはQの前に決定されたので、PがQの倍数(例えば、P=eQの場合)として選択されることは有り得ず、従って、dを見出すことは一般的には、離散対数問題のランダムなケースを解くのと同じ程度難しいということは明確に理解できる。
このように、提供されたシード値Sと、提供されたハッシュに基づく関数F()を有しているので、検証者は、Q=F(S,P)を決定でき、ここにおいてPは、検証可能にランダムではなくてもよい。同様に、P=F(S,Q)を計算して同じ効果を得ることができるが、これは、X9.82の初期の草案におけるPの値が、FIPS186−2で指定された基点と同一であるならば必要ではないと考えられている。
上記に概要を記述したように、ビット列からQを生成することは、ECRNG10の外部で行うことができ、または好ましくは、演算ユニット12を使用して内部的に行うことができる。PとQの両方が検証可能にランダムであることが必要な場合は、図1に点線で示される第2ハッシュ関数24が、ビット列Aから点Pの座標を生成するために組み込まれる。入力の少なくとも1つに対してハッシュ関数を提供することにより、検証可能にランダムな入力が得られる。
生成される出力は、点sPのx座標から導出されるということも分かるであろう。従って、入力16と18は、点PとQのx座標であってよく、対応するsPとsQの値は、モントゴメリ(Montgomery)乗法技術を使用して得られ、それにより、y座標を取り出す必要性を除去する。
Qを選択する方法の代替方法は、Qを、そのビット表現が、例えば、名前の表現のように、ある既知のdとPに対してQ=dPを生成することで生成するのが困難なある列を含むように、ある標準形で選択することである。この方法と、好適な方法の間の中間的な形式もまた存在し、その場合は、Qは部分的に標準形であり、部分的に検証可能にランダムに導出されるということは理解されよう。Qのそのような選択は、検証可能にランダムであっても、標準形であっても、またはある中間形式であっても、検証可能と呼ばれる。
図3と図4に示す、ECRNGの出力に対する鍵エスクロー攻撃を防止する別の代替方法は、打切り関数28をECRNG10に追加して、ECRNG出力を、圧縮楕円曲線点の長さの約半分に打ち切ることである。好ましくは、この演算は、図1および図2の好適な方法に追加して行われるが、それは、鍵エスクロー攻撃を防止する主要な手段として行うことができるということは理解されよう。打切りの利点は、単一のECRNG出力rに関連するR値のリストは、典型的には、探すのが現実的には不可能であるということである。例えば、160ビット楕円曲線群に対して、リストに可能な点Rの数は、約280であり、リストを探索することは、離散対数問題を解くことと同じ程度に困難である。この方法のコストは、出力長が事実上半分にされるので、ECRNGの効率が半分になるということである。
図5と図6に示す、更に別の代替方法は、新しい入力を生成するハッシュ関数のような、34として特定される、別の一方向性関数FH2を介する、ECRNGの出力のフィルタ処理を備える。ここで再び、好ましくは、この演算は、図2に示される好適な方法に追加して行われるが、鍵エスクロー攻撃を防止する主要な手段として行うこともできる。追加のハッシュは、演算ユニット12で行われる楕円曲線演算と比べて、相対的にコストが小さく、ECRNGの安全性を問題になるほど削減しない。
上述したように、エスクロー鍵の存在を有効的に防止するためには、検証可能にランダムなQに、検証可能にランダムなPまたは、前もって確立されたPを付随させるべきである。前もって確立されたPは、広く公開され、ECRNG12の概念の前に選択されたと容認されている点Pであってよく、従ってそれは、Qは、Pが確立されたときに生成されていなかったので、Pが、P=eQとして選択されることは不可能であったことを意味する。
上記の技術が、侵入口を「閉じる」ことにより、ECRNGを使用するシステムの安全性を確実にする一方、PとQの可能性のある相互依存性、つまり、eの存在を注意深く使用することにより、P=eQであることの利点を利用することもまた可能である。
そのようなシナリオにおいては、値eは、エスクロー鍵と見なしてよい。PとQが管理者により制御されたセキュリティドメインにおいて確立されると、ドメインでQを生成するエンティティは、eを知って(またはdを知ることで間接的に知って)それを行う。管理者は、その標準に従うすべてのECRNGに対してエスクロー鍵を有することになる。
エスクロー鍵は、ある状況では利点があることが知られている。エスクロー鍵は、バックアップ機能を提供する。暗号鍵が紛失した場合、その鍵で暗号化されたデータもまた失われる。しかし、暗号鍵は一般的には、乱数生成器の出力である。従って、ECRNGが、暗号鍵Kの生成に使用されると、エスクロー鍵eを使用して、暗号鍵Kを取り出すことが可能になる。エスクロー鍵は、盗聴に使用されるような、他の機能も提供する。この場合、信頼できる法施行機関が、犯罪者の暗号化トラフィックを復号することが必要になり、これを行うため、暗号鍵を取り出すために、エスクロー鍵を使用できることを所望することがある。
図7は、それぞれが、ドメイン40の個々のメンバーと関連している、多数のECRNG10を有するドメイン40を示している。ドメイン40は、他のドメイン40a、40b、および40cと、インターネットのようなネットワーク42を介して通信する。ドメインの各ECRNGは、同一の入力PとQの対を有している。ドメイン40は、安全な方法でエスクロー鍵eを維持する管理者44を含む。
管理者44は、Q=ePとなるようなエスクロー鍵eを知り得るようにPとQの値を選択する。ドメイン40の他のメンバーは、PとQの値を使用し、それにより、管理者44に、組織のすべてのメンバーに対して機能するエスクロー鍵eを与える。
これは、暗号鍵の紛失に対する対処策としてのバックアップ機能において最も有益である。エスクロー鍵eは、メンバー特有にすることもでき、それにより、各メンバーは、管理者44から選択された点からの自分自身のエスクローe’を有する。
図8において、全体を数字400で示したように、管理者は、最初は、所望の楕円曲線に対する標準生成器Pとして一般的に選択される点Pを選択する(402)。そして、管理者は、値dを選択して、点Qは、適切なサイズの、ある乱整数dに対して、Q=dPとして決定される(404)。エスクロー鍵eは、e=d−1 mod nとして計算され(406)、ここでnは、生成器Pの位数であり、管理者により格納される。
そのようなエスクロー鍵34eの安全な使用法は、数字500により全体的に示され、図9に示されている。管理者44が、まず設置され(502)、そしてエスクロー鍵eが選択され、管理者44により格納される(504)。
エスクロー鍵が完全な有効性で機能するためには、エスクロー管理者44は、取り出されるECRNG出力値k(例えば16)の前に生成されたECRNG出力値rへの直接アクセスを必要とする。一方向性関数または暗号アルゴリズムを介するrへの間接アクセスを有するだけでは十分ではない。これを達成するための形式化された方法は、図7において46で示され、図9においてステップ506において示されるように、ECRNG12を有する各メンバーに、管理者44と通信させることである。これは暗号化ファイル格納システムまたは暗号化電子メールアカウントに対して最も有益であろう。よりシームレスな方法を暗号アプリケーションに適用できる。例えば、ウェブ(HTTP)トラフィックを安全にするSSLおよびTLSプロトコルにおいて、クライアントおよびサーバーは、ハンドシェークを行い、それらの最初の行動は、平文で送信された乱数値を交換することである。
他の多数のプロトコルは、しばしばナンスと呼ばれる、そのような乱数値を交換する。エスクロー管理者がこれらのナンスを観測し、それらの記録を維持すれば(508)、後日、必要なr値を決定することが可能になる。これにより、管理者が、クライアントまたはサーバー(ドメインのメンバーであれば誰でも)のECRNG12の次の状態を決定することができ(510)、それにより、次のECRNG12値を取り出すことができる。特に、SSLまたはTLSセッションに対する暗号鍵が導出されるランダムなプレマスター秘密を一般的に生成するクライアントに対して、エスクロー鍵は、セッション鍵の取り出しを可能にする。セッション鍵の取り出しは、全SSLまたはTLSセッションの取り出しを可能にする。
セッションが記録されていれば、それは取り出すことができる。これは長期私的鍵を危険に晒すものではなく、ECRNGの出力から得られたセッション鍵のみで、エスクローに関連する一般的な疑いに関するいかなる問題も緩和される。
エスクロー鍵は他の状況において、不都合な点も有することが知られているが、特定のセキュリティドメイン内の制御により、これらの問題のいくつかは緩和される。例えば、非拒絶に対するデジタル署名では、署名者以外は、署名鍵を有しないということが重要で、そうでなければ、署名者は、合法的に署名の拒絶を主張できる。エスクロー鍵の存在は、他のあるエンティティが署名鍵へのアクセスを有し、それにより署名者は、エスクロー鍵が使用されて署名鍵を得て、その署名を生成したと主張することを可能にする。しかし、ドメインが特別な組織、または組織の一部に制限されている場合は、組織が署名を拒絶できないということで十分である。暗号鍵とは異なり、紛失した署名鍵は、データの紛失を意味しないので、署名鍵のバックアップはほとんど必要ない。
本発明は、ある特別な実施形態を参照して説明されてきたが、この技術に精通した者には、本明細書に付随する請求項で概要が記載される本発明の精神および範囲から逸脱することのない本発明の種々の修正が明白であろう。
Claims (1)
- 本願明細書に記載された発明。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64498205P | 2005-01-21 | 2005-01-21 | |
US60/644,982 | 2005-01-21 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011259363A Division JP2012073638A (ja) | 2005-01-21 | 2011-11-28 | 楕円曲線乱数生成 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013174910A true JP2013174910A (ja) | 2013-09-05 |
Family
ID=36691952
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007551522A Active JP5147412B2 (ja) | 2005-01-21 | 2006-01-23 | 楕円曲線乱数生成 |
JP2011259363A Pending JP2012073638A (ja) | 2005-01-21 | 2011-11-28 | 楕円曲線乱数生成 |
JP2013095407A Withdrawn JP2013174910A (ja) | 2005-01-21 | 2013-04-30 | 楕円曲線乱数生成 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007551522A Active JP5147412B2 (ja) | 2005-01-21 | 2006-01-23 | 楕円曲線乱数生成 |
JP2011259363A Pending JP2012073638A (ja) | 2005-01-21 | 2011-11-28 | 楕円曲線乱数生成 |
Country Status (5)
Country | Link |
---|---|
US (6) | US8396213B2 (ja) |
EP (1) | EP1844392B1 (ja) |
JP (3) | JP5147412B2 (ja) |
CA (1) | CA2594670C (ja) |
WO (1) | WO2006076804A1 (ja) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7607019B2 (en) * | 2005-02-03 | 2009-10-20 | Apple Inc. | Small memory footprint fast elliptic encryption |
US8396213B2 (en) | 2005-01-21 | 2013-03-12 | Certicom Corp. | Elliptic curve random number generation |
KR100891323B1 (ko) * | 2005-05-11 | 2009-03-31 | 삼성전자주식회사 | 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치 |
US7587047B2 (en) * | 2005-06-22 | 2009-09-08 | Apple Inc. | Chaos generator for accumulation of stream entropy |
DE102006013515A1 (de) * | 2006-03-23 | 2007-10-04 | Siemens Ag | Kryptographisches Verfahren mit elliptischen Kurven |
DE102007023222B4 (de) * | 2007-05-18 | 2011-08-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 80686 | Vorrichtung zum Überprüfen einer Güte und zum Erzeugen einer Gruppe von rationalen Punkten einer Schlüsselerzeugungsvarietät |
US9398046B2 (en) * | 2008-03-06 | 2016-07-19 | Qualcomm Incorporated | Image-based man-in-the-middle protection in numeric comparison association models |
US8842833B2 (en) | 2010-07-09 | 2014-09-23 | Tata Consultancy Services Limited | System and method for secure transaction of data between wireless communication device and server |
US8745376B2 (en) * | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
US9800418B2 (en) * | 2015-05-26 | 2017-10-24 | Infosec Global Inc. | Signature protocol |
US9811314B2 (en) | 2016-02-22 | 2017-11-07 | Sonos, Inc. | Metadata exchange involving a networked playback system and a networked microphone system |
US9965247B2 (en) | 2016-02-22 | 2018-05-08 | Sonos, Inc. | Voice controlled media playback system based on user profile |
US9820039B2 (en) | 2016-02-22 | 2017-11-14 | Sonos, Inc. | Default playback devices |
US10095470B2 (en) | 2016-02-22 | 2018-10-09 | Sonos, Inc. | Audio response playback |
US9947316B2 (en) | 2016-02-22 | 2018-04-17 | Sonos, Inc. | Voice control of a media playback system |
US10264030B2 (en) | 2016-02-22 | 2019-04-16 | Sonos, Inc. | Networked microphone device control |
US10521775B2 (en) | 2016-04-18 | 2019-12-31 | R3 Ltd. | Secure processing of electronic transactions by a decentralized, distributed ledger system |
US10529042B2 (en) | 2016-04-18 | 2020-01-07 | Rs Ltd. | System and method for managing transactions in dynamic digital documents |
US9978390B2 (en) | 2016-06-09 | 2018-05-22 | Sonos, Inc. | Dynamic player selection for audio signal processing |
US10134399B2 (en) | 2016-07-15 | 2018-11-20 | Sonos, Inc. | Contextualization of voice inputs |
US10115400B2 (en) | 2016-08-05 | 2018-10-30 | Sonos, Inc. | Multiple voice services |
US9942678B1 (en) | 2016-09-27 | 2018-04-10 | Sonos, Inc. | Audio playback settings for voice interaction |
US10181323B2 (en) | 2016-10-19 | 2019-01-15 | Sonos, Inc. | Arbitration-based voice recognition |
US10680810B2 (en) * | 2016-10-26 | 2020-06-09 | Nxp B.V. | Method of generating an elliptic curve cryptographic key pair |
US10475449B2 (en) | 2017-08-07 | 2019-11-12 | Sonos, Inc. | Wake-word detection suppression |
US10048930B1 (en) | 2017-09-08 | 2018-08-14 | Sonos, Inc. | Dynamic computation of system response volume |
US10446165B2 (en) | 2017-09-27 | 2019-10-15 | Sonos, Inc. | Robust short-time fourier transform acoustic echo cancellation during audio playback |
WO2019066822A1 (en) * | 2017-09-27 | 2019-04-04 | Visa International Service Association | SECURE SHARED KEY ESTABLISHMENT FOR PAIR-TO-PAIR COMMUNICATIONS |
US10621981B2 (en) | 2017-09-28 | 2020-04-14 | Sonos, Inc. | Tone interference cancellation |
US10482868B2 (en) | 2017-09-28 | 2019-11-19 | Sonos, Inc. | Multi-channel acoustic echo cancellation |
US10466962B2 (en) | 2017-09-29 | 2019-11-05 | Sonos, Inc. | Media playback system with voice assistance |
WO2019152722A1 (en) | 2018-01-31 | 2019-08-08 | Sonos, Inc. | Device designation of playback and network microphone device arrangements |
US11175880B2 (en) | 2018-05-10 | 2021-11-16 | Sonos, Inc. | Systems and methods for voice-assisted media content selection |
US10959029B2 (en) | 2018-05-25 | 2021-03-23 | Sonos, Inc. | Determining and adapting to changes in microphone performance of playback devices |
US10681460B2 (en) | 2018-06-28 | 2020-06-09 | Sonos, Inc. | Systems and methods for associating playback devices with voice assistant services |
US11076035B2 (en) | 2018-08-28 | 2021-07-27 | Sonos, Inc. | Do not disturb feature for audio notifications |
US10461710B1 (en) | 2018-08-28 | 2019-10-29 | Sonos, Inc. | Media playback system with maximum volume setting |
US10587430B1 (en) | 2018-09-14 | 2020-03-10 | Sonos, Inc. | Networked devices, systems, and methods for associating playback devices based on sound codes |
US11024331B2 (en) | 2018-09-21 | 2021-06-01 | Sonos, Inc. | Voice detection optimization using sound metadata |
US11100923B2 (en) | 2018-09-28 | 2021-08-24 | Sonos, Inc. | Systems and methods for selective wake word detection using neural network models |
US11899519B2 (en) | 2018-10-23 | 2024-02-13 | Sonos, Inc. | Multiple stage network microphone device with reduced power consumption and processing load |
EP3654249A1 (en) | 2018-11-15 | 2020-05-20 | Snips | Dilated convolutions and gating for efficient keyword spotting |
US11183183B2 (en) | 2018-12-07 | 2021-11-23 | Sonos, Inc. | Systems and methods of operating media playback systems having multiple voice assistant services |
US11005656B2 (en) * | 2018-12-07 | 2021-05-11 | Arris Enterprises Llc | Embedding information in elliptic curve base point |
US11132989B2 (en) | 2018-12-13 | 2021-09-28 | Sonos, Inc. | Networked microphone devices, systems, and methods of localized arbitration |
US10602268B1 (en) | 2018-12-20 | 2020-03-24 | Sonos, Inc. | Optimization of network microphone devices using noise classification |
US10867604B2 (en) | 2019-02-08 | 2020-12-15 | Sonos, Inc. | Devices, systems, and methods for distributed voice processing |
KR102460248B1 (ko) | 2019-02-21 | 2022-10-31 | 한국전자통신연구원 | 유한체 나눗셈 연산기 및 그것을 갖는 타원곡선 암호 시스템 및 그것의 동작 방법 |
US11120794B2 (en) | 2019-05-03 | 2021-09-14 | Sonos, Inc. | Voice assistant persistence across multiple network microphone devices |
US10586540B1 (en) | 2019-06-12 | 2020-03-10 | Sonos, Inc. | Network microphone device with command keyword conditioning |
US11200894B2 (en) | 2019-06-12 | 2021-12-14 | Sonos, Inc. | Network microphone device with command keyword eventing |
US10871943B1 (en) | 2019-07-31 | 2020-12-22 | Sonos, Inc. | Noise classification for event detection |
US11138975B2 (en) | 2019-07-31 | 2021-10-05 | Sonos, Inc. | Locally distributed keyword detection |
TWI751433B (zh) * | 2019-08-19 | 2022-01-01 | 中華電信股份有限公司 | 安全通訊金鑰協商方法 |
KR102435056B1 (ko) * | 2019-08-26 | 2022-08-22 | (주)라닉스 | 확장함수를 이용한 복수의 인증서 발급 시스템 및 그 발급 방법 |
US11189286B2 (en) | 2019-10-22 | 2021-11-30 | Sonos, Inc. | VAS toggle based on device orientation |
US11200900B2 (en) | 2019-12-20 | 2021-12-14 | Sonos, Inc. | Offline voice control |
US11562740B2 (en) | 2020-01-07 | 2023-01-24 | Sonos, Inc. | Voice verification for media playback |
US11308958B2 (en) | 2020-02-07 | 2022-04-19 | Sonos, Inc. | Localized wakeword verification |
US11308962B2 (en) | 2020-05-20 | 2022-04-19 | Sonos, Inc. | Input detection windowing |
US11482224B2 (en) * | 2020-05-20 | 2022-10-25 | Sonos, Inc. | Command keywords with input detection windowing |
US11984123B2 (en) | 2020-11-12 | 2024-05-14 | Sonos, Inc. | Network device interaction by range |
WO2022146437A1 (en) * | 2020-12-30 | 2022-07-07 | Pqsecure Technologies, Llc | High-performance systems to validate isogeny-based cryptography keys |
WO2023283661A1 (en) | 2021-07-16 | 2023-01-19 | Xephor Solutions GmbH | Random numbers by abelian varieties |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001222220A (ja) * | 2000-02-07 | 2001-08-17 | Kazuo Kamaga | 乱数の発生方法 |
JP2003507761A (ja) * | 1999-08-18 | 2003-02-25 | シーメンス アクチエンゲゼルシヤフト | 擬似乱数の形成方法および電子署名方法 |
US20040102242A1 (en) * | 2002-11-21 | 2004-05-27 | Poelmann Boudewijn Johannes Maria | Systems and methods for establishing a verifiable random number |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307935B1 (en) * | 1991-09-17 | 2001-10-23 | Apple Computer, Inc. | Method and apparatus for fast elliptic encryption with direct embedding |
US5442707A (en) * | 1992-09-28 | 1995-08-15 | Matsushita Electric Industrial Co., Ltd. | Method for generating and verifying electronic signatures and privacy communication using elliptic curves |
US6088798A (en) * | 1996-09-27 | 2000-07-11 | Kabushiki Kaisha Toshiba | Digital signature method using an elliptic curve, a digital signature system, and a program storage medium having the digital signature method stored therein |
US6122375A (en) * | 1996-12-10 | 2000-09-19 | Hitachi, Ltd. | Hash value generating method and device, data encryption method and device, data decryption method and device |
US6044388A (en) * | 1997-05-15 | 2000-03-28 | International Business Machine Corporation | Pseudorandom number generator |
EP1710951A3 (en) * | 1997-07-17 | 2006-10-25 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve calculation apparatus capable of calculating multiples at high speed |
US6424712B2 (en) * | 1997-10-17 | 2002-07-23 | Certicom Corp. | Accelerated signature verification on an elliptic curve |
DE69840959D1 (de) * | 1997-12-17 | 2009-08-20 | Nippon Telegraph & Telephone | Verschlüsselungs- und Entschlüsselungsvorrichtungen für Kryptosysteme mit öffentlichem Schlüssel und Aufzeichnungsmedium mit darauf gespeicherten zugehörigen Verarbeitungsprogrammen. |
EP0933695B1 (en) * | 1998-01-28 | 2006-03-15 | Hitachi, Ltd. | IC card equipped with elliptic curve encryption processing facility |
EP0936776B1 (en) * | 1998-02-13 | 2004-05-19 | Hitachi, Ltd. | A network system using a threshold secret sharing method |
US6285761B1 (en) * | 1998-03-04 | 2001-09-04 | Lucent Technologies, Inc. | Method for generating pseudo-random numbers |
US6243467B1 (en) * | 1998-07-23 | 2001-06-05 | The United States Of America As Represented By The National Security Agency | Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form |
JP2000049770A (ja) * | 1998-07-31 | 2000-02-18 | Hitachi Ltd | 暗号化通信方法、暗号アルゴリズム共有管理方法、暗号アルゴリズム変換方法、ネットワーク通信システム |
FR2782401B1 (fr) * | 1998-08-17 | 2001-08-24 | Gemplus Card Int | Procede de test de source de nombre aleatoire et dispositifs electroniques comprenant ce procede |
US6697488B1 (en) * | 1998-08-26 | 2004-02-24 | International Business Machines Corporation | Practical non-malleable public-key cryptosystem |
CA2252078C (en) * | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
CA2257008C (en) * | 1998-12-24 | 2007-12-11 | Certicom Corp. | A method for accelerating cryptographic operations on elliptic curves |
US7599491B2 (en) * | 1999-01-11 | 2009-10-06 | Certicom Corp. | Method for strengthening the implementation of ECDSA against power analysis |
US7171000B1 (en) * | 1999-06-10 | 2007-01-30 | Message Secure Corp. | Simplified addressing for private communications |
US6507656B1 (en) * | 1999-01-27 | 2003-01-14 | Lucent Technologies Inc. | Non malleable encryption apparatus and method |
FR2791497B1 (fr) * | 1999-03-26 | 2001-05-18 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
FR2791496B1 (fr) * | 1999-03-26 | 2001-10-19 | Gemplus Card Int | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique |
KR100657240B1 (ko) * | 1999-07-10 | 2007-01-12 | 삼성전자주식회사 | 랜덤 데이터 발생기 |
CA2277633C (en) * | 1999-07-19 | 2009-10-20 | Certicom Corp. | Split-key key-agreement protocol |
US6635378B1 (en) | 1999-08-16 | 2003-10-21 | Hybrid Power Generation System, Llc | Fuel cell having improved condensation and reaction product management capabilities |
JP2001066989A (ja) * | 1999-08-31 | 2001-03-16 | Fuji Xerox Co Ltd | 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置 |
WO2001030020A1 (fr) * | 1999-10-20 | 2001-04-26 | Fujitsu Limited | Systeme de cryptage de cle a longueur variable |
US7200225B1 (en) * | 1999-11-12 | 2007-04-03 | Richard Schroeppel | Elliptic curve point ambiguity resolution apparatus and method |
JP2001230768A (ja) * | 2000-02-15 | 2001-08-24 | Sony Corp | 情報取り引きシステムおよび情報取り引き方法、並びにプログラム提供媒体 |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
FR2807898B1 (fr) * | 2000-04-18 | 2002-06-28 | Gemplus Card Int | Procede de cryptographie sur courbes elliptiques |
US7308096B2 (en) * | 2000-05-30 | 2007-12-11 | Hitachi, Ltd. | Elliptic scalar multiplication system |
AU2001267198A1 (en) * | 2000-06-09 | 2001-12-17 | Certicom Corp. | A method for the application of implicit signature schemes |
US7613917B1 (en) * | 2000-09-18 | 2009-11-03 | Navteq North America, Llc | Method and system for mass distribution of geographic data for navigation systems |
JP3794266B2 (ja) * | 2000-11-08 | 2006-07-05 | 株式会社日立製作所 | 楕円曲線スカラー倍計算方法及び装置並びに記憶媒体 |
FR2818471B1 (fr) * | 2000-12-18 | 2003-02-14 | Gemplus Card Int | Procede d'amelioration de la securite de schemas de chiffrement a clef publique |
JP2002278838A (ja) * | 2001-03-15 | 2002-09-27 | Sony Corp | メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体 |
US7013047B2 (en) * | 2001-06-28 | 2006-03-14 | National Instruments Corporation | System and method for performing edge detection in an image |
US6882958B2 (en) * | 2001-06-28 | 2005-04-19 | National Instruments Corporation | System and method for curve fitting using randomized techniques |
ATE465571T1 (de) * | 2001-08-13 | 2010-05-15 | Univ Leland Stanford Junior | Systeme und verfahren zur verschlüsselung auf identitätsbasis und damit zusammenhängende kryptografische techniken |
KR20040039443A (ko) * | 2001-09-27 | 2004-05-10 | 마쯔시다덴기산교 가부시키가이샤 | 암호화 장치, 복호화 장치, 비밀 키 생성 장치, 저작권보호 시스템, 및 암호 통신 장치 |
US7353395B2 (en) * | 2002-03-21 | 2008-04-01 | Ntt Docomo Inc. | Authenticated ID-based cryptosystem with no key escrow |
CA2427870C (en) * | 2002-05-03 | 2014-07-08 | Certicom Corp. | Method and apparatus for performing elliptic curve arithmetic |
US7062044B1 (en) * | 2002-06-28 | 2006-06-13 | The United States Of America As Represented By The National Security Agency | Method of elliptic curve cryptographic key agreement using coefficient splitting |
US7062043B1 (en) * | 2002-06-28 | 2006-06-13 | The United States Of America As Represented By The National Security Agency | Method of elliptic curve digital signature using coefficient splitting |
JP4629300B2 (ja) * | 2002-07-05 | 2011-02-09 | 富士通株式会社 | 暗号学的擬似乱数発生装置及びプログラム |
US7243292B1 (en) * | 2002-10-17 | 2007-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Error correction using finite fields of odd characteristics on binary hardware |
US7197527B2 (en) * | 2002-10-17 | 2007-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient arithmetic in finite fields of odd characteristic on binary hardware |
ATE352830T1 (de) * | 2002-10-26 | 2007-02-15 | Additional Director Ipr Defenc | Verfahren zur elliptische-kurven-verschlüsselung |
FR2850479B1 (fr) * | 2003-01-24 | 2005-04-29 | France Telecom | Procede cryptographique a cle publique pour la protection d'une puce contre la fraude |
US7388957B2 (en) * | 2003-01-28 | 2008-06-17 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve exponentiation apparatus that can counter differential fault attack, and information security apparatus |
AU2004201807A1 (en) * | 2003-05-09 | 2004-11-25 | Nor Azman Bin Abu | Method and apparatus for the generation of public key based on a user-defined ID in a cryptosystem |
US7298839B2 (en) * | 2003-07-25 | 2007-11-20 | Microsoft Corporation | Squared Weil and Tate pairing techniques for use with elliptic curves |
JP4412947B2 (ja) * | 2003-09-08 | 2010-02-10 | 株式会社ルネサステクノロジ | メモリカード |
JP4611305B2 (ja) * | 2003-10-03 | 2011-01-12 | パナソニック株式会社 | 情報伝達システム、暗号装置及び復号装置 |
US7484090B2 (en) * | 2003-10-10 | 2009-01-27 | Panasonic Corporation | Encryption apparatus, decryption apparatus, secret key generation apparatus, and copyright protection system |
JP2005122484A (ja) * | 2003-10-16 | 2005-05-12 | Sony Corp | 私的情報管理装置及び私的情報管理方法 |
US7327845B1 (en) * | 2003-11-18 | 2008-02-05 | Xtendwave, Inc. | Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad |
KR100564599B1 (ko) * | 2003-12-24 | 2006-03-29 | 삼성전자주식회사 | 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체 |
US20050149732A1 (en) * | 2004-01-07 | 2005-07-07 | Microsoft Corporation | Use of static Diffie-Hellman key with IPSec for authentication |
US7961874B2 (en) * | 2004-03-03 | 2011-06-14 | King Fahd University Of Petroleum & Minerals | XZ-elliptic curve cryptography with secret key embedding |
US7646872B2 (en) * | 2004-04-02 | 2010-01-12 | Research In Motion Limited | Systems and methods to securely generate shared keys |
EP1785878B2 (en) * | 2004-08-20 | 2016-08-10 | Mitsubishi Electric Corporation | Memory card, data exchanging system, and data exchanging method |
US7639799B2 (en) * | 2004-12-14 | 2009-12-29 | Microsoft Corporation | Cryptographically processing data based on a Cassels-Tate pairing |
US7607019B2 (en) * | 2005-02-03 | 2009-10-20 | Apple Inc. | Small memory footprint fast elliptic encryption |
US8396213B2 (en) | 2005-01-21 | 2013-03-12 | Certicom Corp. | Elliptic curve random number generation |
KR100891323B1 (ko) * | 2005-05-11 | 2009-03-31 | 삼성전자주식회사 | 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치 |
CA2542556C (en) * | 2005-06-03 | 2014-09-16 | Tata Consultancy Services Limited | An authentication system executing an elliptic curve digital signature cryptographic process |
US7907726B2 (en) * | 2006-01-19 | 2011-03-15 | Microsoft Corporation | Pseudorandom number generation with expander graphs |
US8311214B2 (en) * | 2006-04-24 | 2012-11-13 | Motorola Mobility Llc | Method for elliptic curve public key cryptographic validation |
US8559625B2 (en) * | 2007-08-07 | 2013-10-15 | Inside Secure | Elliptic curve point transformations |
US8619977B2 (en) * | 2008-01-15 | 2013-12-31 | Inside Secure | Representation change of a point on an elliptic curve |
US8345864B1 (en) * | 2008-12-12 | 2013-01-01 | Emc Corporation | Elliptic curve cryptography scalar multiplication with on demand acceleration table generation |
-
2006
- 2006-01-23 US US11/336,814 patent/US8396213B2/en active Active
- 2006-01-23 CA CA2594670A patent/CA2594670C/en active Active
- 2006-01-23 JP JP2007551522A patent/JP5147412B2/ja active Active
- 2006-01-23 EP EP06704329A patent/EP1844392B1/en active Active
- 2006-01-23 WO PCT/CA2006/000065 patent/WO2006076804A1/en active Application Filing
-
2011
- 2011-11-28 JP JP2011259363A patent/JP2012073638A/ja active Pending
-
2013
- 2013-02-19 US US13/770,533 patent/US8948388B2/en active Active
- 2013-04-30 JP JP2013095407A patent/JP2013174910A/ja not_active Withdrawn
-
2014
- 2014-12-18 US US14/575,844 patent/US10243734B2/en active Active
-
2019
- 2019-02-15 US US16/277,017 patent/US10756893B2/en active Active
-
2020
- 2020-07-24 US US16/938,180 patent/US11477019B2/en active Active
-
2022
- 2022-09-23 US US17/951,453 patent/US11876901B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003507761A (ja) * | 1999-08-18 | 2003-02-25 | シーメンス アクチエンゲゼルシヤフト | 擬似乱数の形成方法および電子署名方法 |
JP2001222220A (ja) * | 2000-02-07 | 2001-08-17 | Kazuo Kamaga | 乱数の発生方法 |
US20040102242A1 (en) * | 2002-11-21 | 2004-05-27 | Poelmann Boudewijn Johannes Maria | Systems and methods for establishing a verifiable random number |
Non-Patent Citations (1)
Title |
---|
JPN6011044650; D.B. Johnson: X9.82 Part 3 Number Theoretic DRBGs [online], 200407 * |
Also Published As
Publication number | Publication date |
---|---|
US11477019B2 (en) | 2022-10-18 |
US10243734B2 (en) | 2019-03-26 |
US8948388B2 (en) | 2015-02-03 |
JP2008529042A (ja) | 2008-07-31 |
JP5147412B2 (ja) | 2013-02-20 |
US20070189527A1 (en) | 2007-08-16 |
JP2012073638A (ja) | 2012-04-12 |
EP1844392A4 (en) | 2009-12-16 |
EP1844392B1 (en) | 2012-07-04 |
WO2006076804A1 (en) | 2006-07-27 |
EP1844392A1 (en) | 2007-10-17 |
US8396213B2 (en) | 2013-03-12 |
US20190190711A1 (en) | 2019-06-20 |
US20200366477A1 (en) | 2020-11-19 |
US20130170642A1 (en) | 2013-07-04 |
US10756893B2 (en) | 2020-08-25 |
US11876901B2 (en) | 2024-01-16 |
US20230083997A1 (en) | 2023-03-16 |
CA2594670A1 (en) | 2006-07-27 |
US20150156019A1 (en) | 2015-06-04 |
CA2594670C (en) | 2014-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876901B2 (en) | Elliptic curve random number generation | |
US10211981B2 (en) | System and method for generating a server-assisted strong password from a weak secret | |
Kiss et al. | Private set intersection for unequal set sizes with mobile applications | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
US11895231B2 (en) | Adaptive attack resistant distributed symmetric encryption | |
JP2020502856A5 (ja) | ||
JP5690465B2 (ja) | カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群 | |
US20050271207A1 (en) | Method and system for chaotic digital signature, encryption, and authentication | |
GB2401014A (en) | Identifier based encryption method using an encrypted condition and a trusted party | |
US11438152B2 (en) | Distributed symmetric encryption | |
Fanfara et al. | Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication | |
EP4144042A1 (en) | Adaptive attack resistant distributed symmetric encryption | |
Thu et al. | Time performance analysis of RSA and Elgamal public-key cryptosystems | |
Nicholas et al. | Enhancing Confidentiality and Integrity in Cloud Computing using RSA Encryption Standard and MD5 Hashing Algorithm | |
Schartner | Random but system-wide unique unlinkable parameters | |
Gutoski et al. | Hierarchical deterministic Bitcoin wallets that tolerate key leakage | |
Sivasubramanian | A comparative analysis of Post-Quantum Hash-based Signature Algorithm | |
Yan et al. | On-Line Database Encryption and Authentication | |
WO2023036534A1 (en) | Generating shared cryptographic keys | |
Vokorokos et al. | Ensuring The Data Integrity And Credibility Based On Encryption And Decryption Algorithms | |
Sukte et al. | Novel Approach for improving Security And Confidentiality in Public Clouds Using Certificateless Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131125 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20140210 |