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

楕円曲線乱数生成 Download PDF

Info

Publication number
JP2012073638A
JP2012073638A JP2011259363A JP2011259363A JP2012073638A JP 2012073638 A JP2012073638 A JP 2012073638A JP 2011259363 A JP2011259363 A JP 2011259363A JP 2011259363 A JP2011259363 A JP 2011259363A JP 2012073638 A JP2012073638 A JP 2012073638A
Authority
JP
Japan
Prior art keywords
elliptic curve
point
random number
coordinate
key
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
JP2011259363A
Other languages
English (en)
Inventor
A Vanstone Scott
エー. ヴァンストーン スコット
R L Brown Daniel
アール. エル. ブラウン ダニエル
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.)
Certicom Corp
Original Assignee
Certicom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Certicom Corp filed Critical Certicom Corp
Publication of JP2012073638A publication Critical patent/JP2012073638A/ja
Pending legal-status Critical Current

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)
  • 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はエスクロー鍵と呼ばれセキュリティドメインの管理者のみが知る。PとQが与えられれば、点Qが点Pと特定の関係にあることが検証できる。エスクロー鍵の意図的な使用により、バックアップ機能が提供される。エスクロー鍵はセキュリティドメインに格納される。管理者は、生成器の出力を記録して、エスクロー鍵で乱数を再構築する。
【選択図】図1

Description

本発明は暗号乱数生成のシステムと方法に関する。
乱数は、基盤となる安全性を提供するために、多数の暗号演算において利用される。公
開鍵基盤において、例えば、鍵対の私的鍵は、乱数生成器により生成され、対応する公開
鍵は数学的に私的鍵から導出される。各セッションに対して新しい鍵対が生成され、その
ため、生成器のランダム性が暗号システムの安全性にきわめて重要となる。
乱数の安全なソースを提供するために、暗号的に安全な擬似乱数ビット生成器が開発さ
れており、その中で、各生成器の安全性は、基盤となる数論問題の推測できる対処の困難
さに依存する。ANSI(American National 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)と呼ぶ。
楕円曲線暗号は、楕円曲線群の巡回部分群における離散対数問題の難しさに依存する。
楕円曲線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を入手できるということを認識した。更新された状態およびECRN
G出力の前駆体を、U=sPおよびR=sQと想定する。整数eにより、UをRからU=
eRとして計算できる。従って、出力r=t(z(R))であり、Rの可能な値は、rか
ら決定できる。打切り関数は、Rの打ち切られたビットは、推測されなければならないこ
とを意味している。z関数は、x座標のみが利用でき、そのため、全点Rを得るためには
、伸張を適用しなければならないことを意味している。ECRNGの場合は、約2=6
4と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)
暗号演算において使用される乱数を計算する方法であって、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に類似のブロック図である。 図3の装置により実行される工程を示すフローチャートである。 更なる実施形態を示すブロック図である。 図2の工程の更に別の実施形態を示すフローチャートである。 管理された暗号乱数生成方式の模式図である。 エスクロー鍵選択工程を示すフローチャートである。 エスクロー鍵を安全に利用する方法を示すフローチャートである。
図1を参照すると、暗号乱数生成器(ECRNG)10は、楕円曲線計算を行う演算ユ
ニット12を含んでいる。ECRNGはまた、状態値sを保持するセキュアレジスタ14
を含み、初期設定点PとQの対を受信するための入力16と18の対を有している。点P
とQは、既知と仮定されている楕円曲線点である。出力20は、暗号モジュール22への
乱整数の通信のために供給される。レジスタ14の初期内容は、シード入力Sにより供給
される。
点Pを表現する入力16は、第1実施形態においては、そのような使用に適切であると
して公表された既知の値から選択される。
入力18は、一方向性関数の出力から、典型的には、入力として点Pを受信するSHA
1または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 Processi
ng 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の個々のメンバーと関連している、多数のECR
NG10を有するドメイン40を示している。ドメイン40は、他のドメイン40a、4
0b、および40cと、インターネットのようなネットワーク42を介して通信する。ド
メインの各ECRNGは、同一の入力PとQの対を有している。ドメイン40は、安全な
方法でエスクロー鍵eを維持する管理者44を含む。
管理者44は、Q=ePとなるようなエスクロー鍵eを知り得るようにPとQの値を
選択する。ドメイン40の他のメンバーは、PとQの値を使用し、それにより、管理者4
4に、組織のすべてのメンバーに対して機能するエスクロー鍵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において示されるように、ECRNG1
2を有する各メンバーに、管理者44と通信させることである。これは暗号化ファイル格
納システムまたは暗号化電子メールアカウントに対して最も有益であろう。よりシームレ
スな方法を暗号アプリケーションに適用できる。例えば、ウェブ(HTTP)トラフィッ
クを安全にするSSLおよびTLSプロトコルにおいて、クライアントおよびサーバーは
、ハンドシェークを行い、それらの最初の行動は、平文で送信された乱数値を交換するこ
とである。
他の多数のプロトコルは、しばしばナンスと呼ばれる、そのような乱数値を交換する。
エスクロー管理者がこれらのナンスを観測し、それらの記録を維持すれば(508)、後
日、必要なr値を決定することが可能になる。これにより、管理者が、クライアントまた
はサーバー(ドメインのメンバーであれば誰でも)のECRNG12の次の状態を決定す
ることができ(510)、それにより、次のECRNG12値を取り出すことができる。
特に、SSLまたはTLSセッションに対する暗号鍵が導出されるランダムなプレマスタ
ー秘密を一般的に生成するクライアントに対して、エスクロー鍵は、セッション鍵の取り
出しを可能にする。セッション鍵の取り出しは、全SSLまたはTLSセッションの取り
出しを可能にする。
セッションが記録されていれば、それは取り出すことができる。これは長期私的鍵を
危険に晒すものではなく、ECRNGの出力から得られたセッション鍵のみで、エスクロ
ーに関連する一般的な疑いに関するいかなる問題も緩和される。
エスクロー鍵は他の状況において、不都合な点も有することが知られているが、特定
のセキュリティドメイン内の制御により、これらの問題のいくつかは緩和される。例えば
、非拒絶に対するデジタル署名では、署名者以外は、署名鍵を有しないということが重要
で、そうでなければ、署名者は、合法的に署名の拒絶を主張できる。エスクロー鍵の存在
は、他のあるエンティティが署名鍵へのアクセスを有し、それにより署名者は、エスクロ
ー鍵が使用されて署名鍵を得て、その署名を生成したと主張することを可能にする。しか
し、ドメインが特別な組織、または組織の一部に制限されている場合は、組織が署名を拒
絶できないということで十分である。暗号鍵とは異なり、紛失した署名鍵は、データの紛
失を意味しないので、署名鍵のバックアップはほとんど必要ない。
本発明は、ある特別な実施形態を参照して説明されてきたが、この技術に精通した者
には、本明細書に付随する請求項で概要が記載される本発明の精神および範囲から逸脱す
ることのない本発明の種々の修正が明白であろう。

Claims (2)

  1. ネットワーク内でセキュリティドメインのためのエスクロー鍵を確立する方法であって、該方法は、楕円曲線乱数生成器へのそれぞれの入力としての1対の点PQを、前記点の間の関係がP=eQとなるように確立するステップと、前記関係eを、管理者と共にエスクロー鍵として格納するステップと、前記楕円曲線乱数生成器から、前記ドメイン内の暗号演算で使用される乱数を生成するステップとを含む、方法。
  2. 本願明細書に記載された発明。
JP2011259363A 2005-01-21 2011-11-28 楕円曲線乱数生成 Pending JP2012073638A (ja)

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
JP2007551522A Division JP5147412B2 (ja) 2005-01-21 2006-01-23 楕円曲線乱数生成

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013095407A Division JP2013174910A (ja) 2005-01-21 2013-04-30 楕円曲線乱数生成

Publications (1)

Publication Number Publication Date
JP2012073638A true JP2012073638A (ja) 2012-04-12

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 (1)

Application Number Title Priority Date Filing Date
JP2007551522A Active JP5147412B2 (ja) 2005-01-21 2006-01-23 楕円曲線乱数生成

Family Applications After (1)

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

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)

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

* 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
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法

Family Cites Families (72)

* 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
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
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

Patent Citations (4)

* 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 乱数の発生方法
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
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)

* Cited by examiner, † Cited by third party
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
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
JP2013174910A (ja) 2013-09-05
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
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
JP2020502856A5 (ja)
JP5690465B2 (ja) カスタム静的ディフィ−ヘルマン(Diffie−Hellman)群
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
GB2401014A (en) Identifier based encryption method using an encrypted condition and a trusted party
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
Siva et al. Hybrid cryptography security in public cloud using TwoFish and ECC algorithm
CN110401533A (zh) 一种私钥加密方法及装置
Wong et al. How (Not) to Build Threshold EdDSA
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
WO2023036534A1 (en) Generating shared cryptographic keys
Yan et al. On-Line Database Encryption and Authentication

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130607