JP2008529042A - 楕円曲線乱数生成 - Google Patents

楕円曲線乱数生成 Download PDF

Info

Publication number
JP2008529042A
JP2008529042A JP2007551522A JP2007551522A JP2008529042A JP 2008529042 A JP2008529042 A JP 2008529042A JP 2007551522 A JP2007551522 A JP 2007551522A JP 2007551522 A JP2007551522 A JP 2007551522A JP 2008529042 A JP2008529042 A JP 2008529042A
Authority
JP
Japan
Prior art keywords
random number
elliptic curve
coordinate
point
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007551522A
Other languages
English (en)
Other versions
JP5147412B2 (ja
Inventor
スコット エー. ヴァンストーン,
ダニエル アール. エル. ブラウン,
Original Assignee
サーティコム コーポレーション
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 サーティコム コーポレーション filed Critical サーティコム コーポレーション
Publication of JP2008529042A publication Critical patent/JP2008529042A/ja
Application granted granted Critical
Publication of JP5147412B2 publication Critical patent/JP5147412B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing 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)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】楕円曲線乱数生成器は、楕円曲線上の点Qを検証可能にランダムに選択することによりエスクロー鍵を回避する。任意の列が選択され、その列のハッシュが計算される。ハッシュはその後、所望の体の体の元に変換され、体の元は、楕円曲線上の点Qのx座標として見なされ、x座標は、所望の楕円曲線上で有効性がテストされる。有効であれば、x座標は点Qに伸張され、2点のどちらかの選択もまたハッシュ値から導出される。エスクロー鍵の意図的な使用により、バックアップ機能が提供される。PとQの間の関係は、エスクロー鍵として使用され、セキュリティドメインに格納される。管理者は、生成器の出力を記録して、エスクロー鍵で乱数を再構築する。
【選択図】図1

Description

本発明は暗号乱数生成のシステムと方法に関する。
乱数は、基盤となる安全性を提供するために、多数の暗号演算において利用される。公開鍵基盤において、例えば、鍵対の私的鍵は、乱数生成器により生成され、対応する公開鍵は数学的に私的鍵から導出される。各セッションに対して新しい鍵対が生成され、そのため、生成器のランダム性が暗号システムの安全性にきわめて重要となる。
乱数の安全なソースを提供するために、暗号的に安全な擬似乱数ビット生成器が開発されており、その中で、各生成器の安全性は、基盤となる数論問題の推測できる対処の困難さに依存する。ANSI(American National Standards Institute:米国規格協会)は、ASC(Accredited Standards 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)方程式は、y=x+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を有している。曲線方程式がy=x+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の場合は、約2=64と219(つまり、約500,000)の間のどこかに、rに対応する可能な点Rがあることになり、正確な数は曲線とrの特別な値に依存する。
R値の全体集合は、rから決定するのは容易で、上述したように、Rに対する正確な値の決定は、eを知っていれば、U=eRを決定する。更新された状態は、u=z(U)であり、Rの正しい値から決定できる。従って、rとeを知っていれば、2と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を参照すると、暗号乱数生成器(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を、ハッシュベース関数F()への入力としてステップ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:Federal Information Processing Standard)186−2で推奨されているような、ある既存の基点になる。そのような場合は、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の出力から得られたセッション鍵のみで、エスクローに関連する一般的な疑いに関するいかなる問題も緩和される。
エスクロー鍵は他の状況において、不都合な点も有することが知られているが、特定のセキュリティドメイン内の制御により、これらの問題のいくつかは緩和される。例えば、非拒絶に対するデジタル署名では、署名者以外は、署名鍵を有しないということが重要で、そうでなければ、署名者は、合法的に署名の拒絶を主張できる。エスクロー鍵の存在は、他のあるエンティティが署名鍵へのアクセスを有し、それにより署名者は、エスクロー鍵が使用されて署名鍵を得て、その署名を生成したと主張することを可能にする。しかし、ドメインが特別な組織、または組織の一部に制限されている場合は、組織が署名を拒絶できないということで十分である。暗号鍵とは異なり、紛失した署名鍵は、データの紛失を意味しないので、署名鍵のバックアップはほとんど必要ない。
本発明は、ある特別な実施形態を参照して説明されてきたが、この技術に精通した者には、本明細書に付随する請求項で概要が記載される本発明の精神および範囲から逸脱することのない本発明の種々の修正が明白であろう。
本発明の実施形態は、ここで、添付された図面を参照することのみにより、例として説明される。
暗号乱数生成方式の模式図である。 楕円曲線点を選択するための選択工程を示すフローチャートである。 更なる実施形態を示す、図1に類似のブロック図である。 図3の装置により実行される工程を示すフローチャートである。 更なる実施形態を示すブロック図である。 図2の工程の更に別の実施形態を示すフローチャートである。 管理された暗号乱数生成方式の模式図である。 エスクロー鍵選択工程を示すフローチャートである。 エスクロー鍵を安全に利用する方法を示すフローチャートである。

Claims (19)

  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を、管理者と共にエスクロー鍵として格納するステップと、前記楕円曲線乱数生成器から、前記ドメイン内の暗号演算で使用される乱数を生成するステップを備える方法。
JP2007551522A 2005-01-21 2006-01-23 楕円曲線乱数生成 Active JP5147412B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US64498205P 2005-01-21 2005-01-21
US60/644,982 2005-01-21
PCT/CA2006/000065 WO2006076804A1 (en) 2005-01-21 2006-01-23 Elliptic curve random number generation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011259363A Division JP2012073638A (ja) 2005-01-21 2011-11-28 楕円曲線乱数生成

Publications (2)

Publication Number Publication Date
JP2008529042A true JP2008529042A (ja) 2008-07-31
JP5147412B2 JP5147412B2 (ja) 2013-02-20

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 After (2)

Application Number Title Priority Date Filing Date
JP2011259363A Pending JP2012073638A (ja) 2005-01-21 2011-11-28 楕円曲線乱数生成
JP2013095407A Withdrawn JP2013174910A (ja) 2005-01-21 2013-04-30 楕円曲線乱数生成

Country Status (5)

Country Link
US (7) US8396213B2 (ja)
EP (1) EP1844392B1 (ja)
JP (3) JP5147412B2 (ja)
CA (1) CA2594670C (ja)
WO (1) WO2006076804A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607019B2 (en) * 2005-02-03 2009-10-20 Apple Inc. Small memory footprint fast elliptic encryption
CA2594670C (en) 2005-01-21 2014-12-23 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
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10097919B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Music service selection
US10521775B2 (en) 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
US10803537B2 (en) 2016-04-18 2020-10-13 R3 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
US11563567B2 (en) * 2017-09-27 2023-01-24 Visa International Service Association Secure shared key establishment for peer to peer communications
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US11343614B2 (en) 2018-01-31 2022-05-24 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
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
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
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
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
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event 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
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11482224B2 (en) * 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11483152B2 (en) * 2020-12-30 2022-10-25 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
EP0892520A3 (en) * 1997-07-17 2001-10-17 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
EP0924895B1 (en) * 1997-12-17 2009-07-08 Nippon Telegraph and Telephone Corporation Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon
DE69930334T2 (de) * 1998-01-28 2006-11-09 Hitachi, Ltd. IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung
DE69917356T2 (de) * 1998-02-13 2005-02-17 Hitachi, Ltd. Sicherheitstechnik an einem Computernetzwerk
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
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
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
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 一方向性関数生成方法,一方向性関数値生成装置,証明装置,認証方法および認証装置
EP1223707B1 (en) * 1999-10-20 2005-12-28 Fujitsu Limited Variable length key encrypting system
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
CA2350118C (en) * 2000-06-09 2013-08-13 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
US7113594B2 (en) * 2001-08-13 2006-09-26 The Board Of Trustees Of The Leland Stanford University Systems and methods for identity-based encryption and related cryptographic techniques
HUP0401720A2 (hu) * 2001-09-27 2005-07-28 Matsushita Electric Industrial Co., Ltd. Kódoló, dekódoló, és titkos kulcsot képző eszközé és eljárás, valamint eszközkészlet szerzői jog védelmére és távközlési eszköz titkosított összeköttetés létesítésére
US7353395B2 (en) * 2002-03-21 2008-04-01 Ntt Docomo Inc. Authenticated ID-based cryptosystem with no key escrow
US7418099B2 (en) * 2002-05-03 2008-08-26 Certicom Corp. Method and apparatus for performing elliptic curve arithmetic
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
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
JP4629300B2 (ja) * 2002-07-05 2011-02-09 富士通株式会社 暗号学的擬似乱数発生装置及びプログラム
US7197527B2 (en) * 2002-10-17 2007-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Efficient arithmetic in finite fields of odd characteristic on binary hardware
US7243292B1 (en) * 2002-10-17 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Error correction using finite fields of odd characteristics on binary hardware
AU2003272087A1 (en) * 2002-10-26 2004-05-13 The Additional Director (Ipr), Defence Research And Development Organisation A method of elliptic curve encryption
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
US8074266B2 (en) * 2004-08-20 2011-12-06 Mitsubishi Electric Corporation Memory card, data exchange system, and data exchange 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
CA2594670C (en) 2005-01-21 2014-12-23 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
EP1844392B1 (en) 2012-07-04
CA2594670A1 (en) 2006-07-27
US20070189527A1 (en) 2007-08-16
US20150156019A1 (en) 2015-06-04
EP1844392A4 (en) 2009-12-16
US20230083997A1 (en) 2023-03-16
US8948388B2 (en) 2015-02-03
US8396213B2 (en) 2013-03-12
JP2013174910A (ja) 2013-09-05
US20190190711A1 (en) 2019-06-20
JP5147412B2 (ja) 2013-02-20
CA2594670C (en) 2014-12-23
WO2006076804A1 (en) 2006-07-27
US11477019B2 (en) 2022-10-18
JP2012073638A (ja) 2012-04-12
US11876901B2 (en) 2024-01-16
US10243734B2 (en) 2019-03-26
US20130170642A1 (en) 2013-07-04
US20240195616A1 (en) 2024-06-13
EP1844392A1 (en) 2007-10-17
US20200366477A1 (en) 2020-11-19
US10756893B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
US11876901B2 (en) Elliptic curve random number generation
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
US20180076956A1 (en) System and method for generating a server-assisted strong password from a weak secret
JP2020502856A5 (ja)
US11804960B2 (en) Distributed symmetric encryption
JP2012019559A (ja) カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
GB2401014A (en) Identifier based encryption method using an encrypted condition and a trusted party
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
CN110401533A (zh) 一种私钥加密方法及装置
Thu et al. Time performance analysis of RSA and Elgamal public-key cryptosystems
Schartner Random but system-wide unique unlinkable parameters
Gutoski et al. Hierarchical deterministic Bitcoin wallets that tolerate key leakage
Kumar A secure and efficient authentication protocol based on elliptic curve diffie-hellman algorithm and zero knowledge property
Yan et al. On-Line Database Encryption and Authentication
Vokorokos et al. Ensuring The Data Integrity And Credibility Based On Encryption And Decryption Algorithms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090113

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120417

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120928

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121009

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: 20121031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121127

R150 Certificate of patent or registration of utility model

Ref document number: 5147412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250