JP2002532957A - ユーザが楕円曲線を選択する暗号系 - Google Patents

ユーザが楕円曲線を選択する暗号系

Info

Publication number
JP2002532957A
JP2002532957A JP2000587489A JP2000587489A JP2002532957A JP 2002532957 A JP2002532957 A JP 2002532957A JP 2000587489 A JP2000587489 A JP 2000587489A JP 2000587489 A JP2000587489 A JP 2000587489A JP 2002532957 A JP2002532957 A JP 2002532957A
Authority
JP
Japan
Prior art keywords
selecting
public key
participant
curve
bit string
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
JP2000587489A
Other languages
English (en)
Inventor
アージェン・ケー・レンストラ
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.)
Citibank NA
Original Assignee
Citibank NA
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 Citibank NA filed Critical Citibank NA
Publication of JP2002532957A publication Critical patent/JP2002532957A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Medicines Containing Material From Animals Or Micro-Organisms (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

(57)【要約】 暗号系の参加者は、中央で選択された楕円曲線を利用するのではなく、自らの楕円曲線及び有限体を選択する。その曲線は、ワイヤシュトラスの標準形方程式として表された所定の楕円曲線集合から選択される。公開鍵は、暗号のためではない通信セットアップの間に交換されなければならない参加者固有のID、及び、安全性への配慮に基づく長さを有するランダムに選択されたビット列に基づいている。公開鍵は、システムを通じて知られているパラメタ及びマッピング関数及び少量の参加者依存データから容易に構成可能である。

Description

【発明の詳細な説明】
【0001】発明の背景 本発明は、暗号系に係り、特に、参加者が、中央で選択された楕円曲線を利用
するのではなく自らの楕円曲線を選択する楕円曲線暗号系に関する。
【0002】 図1に示すような従来の楕円曲線暗号系では、中央機関が有限体、楕円曲線、
その有限体上のその楕円曲線の点の群の適当な部分群の生成元、及びその生成元
の位数を選択する。中央機関は、これらのデータを、暗号系参加者の間に配布す
る。そして、各参加者は、秘密鍵を選択し、対応する公開鍵を算出するが、さら
にその公開鍵に対する証明を取得することもできる。証明書の目的は、ある参加
者の公開鍵を、他者が独自にその公開鍵が有効かつ真正であることを検証できる
ようなかたちで、他者が利用できるようにすることである。従来システムの利点
は、有限体とその上の楕円曲線の点の群の濃度を両方取得してその濃度が安全性
要件を満たすような楕円曲線を発見するのには厖大な計算を要するにもかかわら
ず、その−−非常に負担の大きいであろう−−計算を中央機関が一度におこなっ
てしまうため参加者側でしなくてもよいことである。
【0003】 従来の楕円曲線暗号系は、認証、証明、暗号化/復号、署名の生成及び照合と
いった公開鍵暗号系と同じ用途で使用される。
【0004】 図2に示すように、従来型楕円曲線暗号系を使用するため、通信をおこなおう
と考える二当事者は、自身の暗号データを交換してから、署名方式またはデータ
暗号化/復号方式等の通信に入る。当事者間の通信をセットアップする間にやり
とりするビット数が小さいことが利点である。
【0005】 上述の従来型楕円曲線暗号系に付随する深刻な問題は、すべての参加者が中央
で選択された楕円曲線及び有限体への攻撃に脆弱性を有することである。すなわ
ち、このシステムは、中央で選択された楕円曲線及び有限体によって定義された
群における「離散対数(Discrete Logarithm)」問題への集中攻撃に対し、脆弱
性を有するのである。
【0006】 暗号機能を小型で安価な低電力装置で実行したいというニーズを考えると、参
加者が各自で自分の楕円曲線を選択することは現実的ではないと考えられる。よ
り詳細にいえば、各参加者に自分の楕円曲線を選択させることでシステムの安全
性は向上するが、結果的にシステムセットアップ段階が複雑になるのである。
【0007】 従来型楕円曲線暗号系では、通信セットアップ中に当事者間でやりとりされる
ビット数は小さく、典型的に、当事者の身元及びその公開鍵の異なる部分、すな
わち、全員に共通する曲線や体以外、を表すものとなる。各参加者が自分の楕円
曲線を選択する場合、通信セットアップ中やりとりしなければならないデータが
増える、すなわち、曲線や体を含む完全な公開鍵を通信セットアップ中にやりと
りしなければならないという問題もある。
【0008】 これらの問題点から、楕円曲線暗号系の攻撃に対する脆弱性を縮減する必要が
ある。
【0009】発明の要約 本発明の一側面によって、所定の楕円曲線集合から曲線Eを選択するステップ
と、有限体を選択するステップと、秘密鍵を選択するステップと、公開鍵を取得
するステップとを有するとともに、これらの、曲線、有限体、秘密鍵を選択し、
公開鍵を取得するステップを、参加者各自がローカルに実行する、参加者間で暗
号系を確立する方法を提供する。
【0010】 本発明の一実施態様において、前記所定の楕円曲線集合は、ワイヤシュトラス
の標準形(Weierstrass model)方程式として、具体的には次のように表される
【0011】
【数1】 y2 = x3 + 0x + 16、 y2 = x3 - 270x - 1512、 y2 = x3 - 35x - 98、 y2 = x3 - 9504x - 365904、 y2 = x3 - 608x + 5776; y2 = x3 - 13760x + 621264、 y2 = x3 - 117920x + 15585808、及び y2 = x3 - 34790720x + 78984748304
【0012】 本発明の一実施態様において、公開鍵取得ステップは、安全性配慮に基づき、
所定の長さを有するビット列sを選択すること、並びに、前記選択されたビット
列s及び各参加者の固有ビット列IDに基づき、素数pを取得することを含む。
【0013】 本発明の一側面によって、前記参加者のIDに基づき、中間整数a及びbを形
成するステップと、前記中間整数a及びbの関数としての素数pを取得するステ
ップと、所定の楕円曲線集合から曲線Eを選択するステップと、前記参加者のI
Dに基づき、前記選択された曲線上の点Qを選択するステップと、前記素数p、
前記選択された曲線E、及び前記点Qから公開鍵を構成するステップとからなる
、暗号系参加者に対する公開鍵を再構成する方法を提供する。
【0014】 本発明の一実施態様において、前記所定の楕円曲線集合はワイヤシュトラスの
標準形方程式として表される。
【0015】 ここで、本発明の全容を要約するつもりはない。むしろ、本発明のさらなる特
徴、様相、利点が、以下の発明の詳細な説明及び図面に記載され、またその記載
から明らかにされる。
【0016】詳細な説明 本発明は、各参加者が所定の楕円曲線方程式集合から自分の楕円曲線を選択す
るとともに、自分の有限体を選択する、楕円曲線暗号系に関する。曲線と体の選
択に、中央機関は利用されない。
【0017】 各参加者は自分の体を選択するので、利用可能な楕円曲線方程式がほんの少数
であるにもかかわらず多数の楕円曲線が可能であり、従って、暗号系の安全性は
高い。より具体的にいえば、攻撃者は、各参加者の曲線を、一度に一つづつ破っ
ていかなければならないのであり、そのため、ある参加者の安全性が別の参加者
の安全性から遮断されるという利点がある。
【0018】 所定の楕円曲線方程式集合は小さく、群濃度計算をより簡潔にするように選択
されるので、システムのセットアップは、十分簡単で実用的である。
【0019】 本発明には、参加者が、他の参加者の変更とは独立に自らの曲線をときどき変
更することができるという利点もある。
【0020】 本発明の一実施態様において、参加者の公開鍵には、以前送信されたが検討さ
れなかった暗号情報の一部である識別情報を含んでいる。この識別情報は、別々
に送信する必要がないので、本暗号系のオーバーヘッドを他の暗号系と比較する
際に考慮する必要があるメッセージのオーバーヘッドが総体として縮減される。
【0021】 公開鍵への識別情報の埋め込みには、攻撃者が公開鍵を伴う送信を受けず後続
の送信のみを取得した場合に後続の送信の安全性が強化されるという利点もある
【0022】 図3は、本発明による楕円曲線暗号系を図示するものである。図3に示すよう
に、中央機関はなんら機能を果たさず、すなわち、中央機関は証明以外には不必
要である。各参加者は、曲線及び有限体を選択する。その後、各参加者は、図1
に示す従来システムの機能に対応する機能を果たす、すなわち、秘密鍵を選択し
、対応する公開鍵を算出し、その公開鍵に対する証明を取得する。
【0023】 操作において、本発明による楕円曲線暗号系は図4に示すように機能する。通
信しようとする者が暗号データを交換し、互いの公開鍵データ再構成して、署名
方式やデータ暗号化/復号方式等の暗号プロトコルにおいてその再構成された鍵
を使用する。
【0024】 本発明に好適な楕円曲線は、パラメータがu及びvの二つだけのワイヤシュト
ラスの標準形として表すことができ、次の形式の方程式で表される:
【0025】
【数2】 y2 = x3 + ux + v
【0026】 次の方程式は、各参加者がこの中から自分の楕円曲線方程式を選択する、所定
のワイヤシュトラスの標準形の集合である:
【0027】
【数3】 y2 = x3 + 0x + 16 y2 = x3 - 270x - 1512 y2 = x3 - 35x - 98 y2 = x3 - 9504x - 365904 y2 = x3 - 608x + 5776 y2 = x3 - 13760x + 621264 y2 = x3 - 117920x + 15585808 y2 = x3 - 34790720x + 78984748304
【0028】 後述のように、参加者が素数pを適切に選択すると、F(p) 上のEの点の群の
濃度がpと同じ桁数の素数約数qを含むように、所定のワイヤシュトラスの標準
形方程式の集合の少なくとも一つが、p元を含む体F(p) 上の非超特異楕円曲線
Eを定義する。さらに、m*(ln(m*ln(p)))2 ≦ 0.02*(ln(p))2 が成り立つ任意の
正の整数mに対してqで pm - 1 が割り切れないような、p及びqが選択される
。pが十分大きければ、この曲線Eは、濃度が大きい素数約数を有しない場合に
受けるような、小さい部分群攻撃や、比較的小さいmに対する pm-1 がqで割り
切れる場合に受けるような、ウェイル(Weil) 又はテート(Tate) 対に基づく
準指数時間攻撃を受けることはない。有限体F(p) はpを法とする最小の負でな
い剰余の集合 {0, 1, ..., p-1}によって表される。
【0029】 換言すれば、参加者は、曲線の点の群の濃度がpと同じ桁数の素数約数qを有
するとともに、m*(ln(m*ln(p)))2 ≦ 0.02*(ln(p))2 が成り立つ任意の正の整数
mに対してqで pm - 1 が割り切れないような、体F(p)上の楕円曲線Eを選択
する。これによって、テート対からの防護に十分な安全性が提供されるが、同時
にこれはウェイル対からの防護にも十分である。この群濃度が十分な安全性の提
供のために必要であると考えられる。
【0030】 楕円曲線Eは、表1に従って、Eが満たす方程式に依存する整数dを定義する
。表1で、dは、-d がEの自己準同型環の判別式Δと等しい値であって、本発
明において重要な性質を提供するという点で有用である。
【0031】
【表1】 dの値には8の選択肢があるので、dの選択は3ビット数で指定することができ
る。具体的には、3ビットで、表1に記載の8の選択肢に対応する {0, 1, ... , 7} の数が表される。
【0032】 さらに、表2に従って、楕円曲線が満たす方程式により、素数p及び楕円曲線
Eが中間整数a及びbの対を定義する。
【0033】
【表2】
【0034】 素数p及び中間整数aとした場合の、体F(p)上の楕円曲線Eの点E(F(p))の
群の濃度 |E(F(p))| は、表3に記載する単一閉式であり、ここで、dが表1の
曲線に対応するものであるとすると、2a がdを法とする平方であれば j(a,d) = 1、2a がdを法とする平方でなければ j(a,d) = -1 となる。従って、各参加者
が群の濃度を計数するために必要なソフトウェア及びランタイムは簡単なものと
なるので、本暗号系は十分実現可能である。
【0035】
【表3】
【0036】 表3の濃度 |E(F(p))| のための式は単純なものなので、適当な有限体及び楕
円曲線を生成するために複雑なソフトウェアや長大なランタイムは必要でない。
楕円曲線Eが所定のワイヤシュトラスの標準形方程式の集合のうち最初の3つの
方程式のどれかを満たすものであれば、群濃度は常に、表4に示すような非自明
約数cを有する。
【0037】
【表4】
【0038】 素数p及び楕円曲線Eは、濃度 |E(F(p))| が、正の整数 f ≦ 32 でqを素数
としたときの、単一閉式 |E(F(p))| / c = (f*q) によって与えられるように、
選択される。この選択によって、素数pに十分大きい値を選べば十分な安全性を
提供する十分な難度を有する E(F(p)) における「離散対数(Discrete Logarith m)」問題を形成する。
【0039】
【0040】
【0041】
【0042】 本発明の重要な側面は、どのようにして、上掲の望ましい特徴を有する素数p
、q、楕円曲線E、及び点Qを求めるかである。典型的には、中間整数a及びb
を素数pで定義すると考えられるが、本発明の一実施態様では、中間整数a及び
bの対を使用して素数pを定義する。詳細は後述するが、各参加者が、安全性パ
ラメタBと等しいビット数を有するビット列sをランダムに選択する。ランダム
に選択されたビット列sは、その参加者の固有ビット列IDと連結し、連結ビッ
ト列 (ID||s) を形成して、それをマッピング関数によりマッピングし、最終的
に、表2の行のうちの一つの条件を満たすことによって整数dの値を決定するだ
けでなく、上述の安全性要件を満たすような中間整数a、bを取得する。(ID,s, b,d) に対する値を求めた後であれば、公開鍵の一部 (p,E,q,Q) を、ひいては公
開鍵全体を取得することも簡単である。
【0043】 各参加者による素数p、q、楕円曲線E、及び点Qの決定について、以下、説
明する。
【0044】 本システムの各参加者は、その参加者を識別し、システムの他のすべての参加
者によって認識される固有のビット列IDを有するものとする。実施態様の中に
は、このビット列IDに、氏名、誕生日、住所、社会保障番号、銀行口座番号、
人事番号、システム固有のログイン名等の、当該参加者に対する記述的データの
符号化したものを含むものもある。
【0045】 Bを整数値化した安全性パラメタとする。Bに対して、有用な値は85から1
50の範囲であって、小さい方の値は許容可能な安全性の最低値を示しており、
大きい方の値は、高い安全性を示している。安全性パラメタBの値は、システム
全体に知られるものである。
【0046】 Bs及びBbを、他の2つの整数値化した安全性パラメタとする。例えば、B
s=30、Bb=16である。Bs及びBbの値は、各参加者が独自に選択する
ことができる。
【0047】 R1及びR2を、Bビットの正の整数までの任意の長さの列をマッピングする
、2つの異なるマッピング関数とし、R3を、(2B)ビットの正の整数までの
任意の長さの列をマッピングするマッピング関数とする。マッピング関数R1、
R2、R3は、例えば、ハッシュ関数を用いて定義することができる。マッピン
グ関数R1、R2、R3はシステム全体に知られるものである。マッピング関数
R1、R2、R3が知られた装置が、不正操作防止付装置であれば、関数R1、
R2、R3は秘密保持されていると考えることができる。従って、暗号系装置を
持たない攻撃者には、たとえ図5で説明している参加者のセットアップ手順から
結局 (ID, s, b1) が与えられたとしても (p,E,q,Q) を取得することはできない
ので、安全性強化につながる。暗号系装置を有する攻撃者なら (p,E,q,Q) を計
算することができるかもしれないが、不正操作防止付装置からこれらの値を抽出
するのは難しいだろう。
【0048】
【0049】 ステップ505で、安全性パラメタBの値及びマッピング関数R1、R2、R
3を求める。ステップ510で、参加者の暗号系が、安全性パラメタBs及びB
bの値を選択する。ステップ515では、参加者の暗号系は、Bsビットを有す
るビット列をランダムに選択する。ステップ520では、参加者の暗号系は、2
つの正のBビット整数a=R1(ID||s) 及びb0=R2(ID||s) を取得するため
に、その識別IDとビット列の連結にマッピング関数R1及びR2を適用すると
ともに、整数b1をb1=0に初期化する。b=b0+b1とする。ステップ5
25では、参加者の暗号系は、図6に記載のように、a及びbの条件を満たすか
チェックする。ステップ530では、参加者の暗号系は、上記チェックの結果条
件を満たすかどうかを判断する。条件を満たせば、ステップ535で、暗号系は
、s、b1、p、E、q、及びQの値を出力し、終了する。条件を満たしていな
ければ、ステップ545で、参加者の暗号系は、b1を増分し、ステップ550
で、増分したb1が大きすぎるか、すなわち、b1≧2Bbかどうかをチェック
する。
【0050】 増分したb1が適当に小さい値であれば、参加者の暗号系は、ステップ525
に戻り、b0+b1としてのbを再計算し、a及びbの条件をチェックする。増
分したb1が大きすぎる場合、参加者の暗号系は、ステップ515に戻り、新し
いビット列sを選択する。「素数定理(Prime Number Theorem)」により、図5
の処理は必ずここで終了する。実際に、図5の処理には、インテルのペンティア
ム(Intel Pentium)のような入手しやすいマイクロプロセッサ上で数分のラン
タイムを要する。
【0051】 図6は、中間整数a及びbの対の条件をチェックするためのフローチャートで
ある。
【0052】 ステップ605で、参加者の暗号系は、中間整数a及びbが図7に記載の判別
式−3の条件を満たすかどうかをチェックする。ステップ610では、ステップ
605でのチェック結果を評価する。判別式−3の条件を満たせば、ステップ6
15で、処理は肯定的結果をもって終了する。
【0053】 判別式−3の条件が満たされなければ、ステップ620で、参加者の暗号系は
、その中間整数a及びbが図8に記載の判別式−8の条件を満たすかどうかをチ
ェックする。ステップ625で、ステップ620でのチェック結果が評価される
。判別式−8の条件が満たされれば、ステップ615で、処理は肯定的な結果を
もって終了する。
【0054】 判別式−8の条件が満たされなければ、ステップ630で、参加者の暗号系は
、集合Dを {7,11,19,43,67,163} に初期化し、整数dを、集合Dの最初の元で
あることが認められるd=7に初期化する。ステップ635で、参加者の暗号系
は、その中間整数a及びbが図9に記載の判別式−dの条件を満たすかどうかチ
ェックする。ステップ640では、ステップ635でのチェック結果が評価され
る。判別式−dの条件が満たされれば、ステップ615で、処理は肯定的な結果
をもって終了する。
【0055】 判別式−dの条件が満たされなければ、ステップ645で、参加者の暗号系は
、dをDから取り除き、ステップ650で、集合Dに残っている値があるかどう
かをチェックする。残っている値があれば、ステップ655で、暗号系は、集合
D中に残っている値にdをセットし、ステップ635に戻る。
【0056】 集合Dが空であれば、ステップ660で暗号系は否定的な結果をもって終了す
る。すなわち、中間整数a及びbは本発明に要求される条件を満たさないことに
なる。
【0057】 図7は中間整数a及びbが判別式−3の条件を満たすかどうかをチェックする
ためのフローチャートを示す。
【0058】 ステップ705で、参加者の暗号系は、表2の第一のケースに記した条件を満
足するがどうか、すなわち、a ≡ 1 mod 3、b ≡ 0 mod 3、a2 +3b2 が4で割り
切れるかどうか、そして、商 p = (a2 +3b2)/4 が3で割ると1余るかどうかを
チェックする。これらの条件に満たさないものがあれば、ステップ710で、処
理は、否定的な結果を返す。
【0059】 表2の上記条件が満たされれば、ステップ715で、暗号系は、4で割ったと
きのpの剰余が3であるかどうかと、pが素数であるかどうかをチェックする。
これらの条件に何れか満たさないものがあれば、ステップ710で、処理は否定
的な結果を返す。pの素数性は、pが合成数であることがわかったら、pは素数
でなく、pの合成数性の証明ができなければ、pは素数であることを推定される
という、確率的合成数性テスト(probabilistic compositeness test)でテスト
される。
【0060】 上述の条件を満たせば、ステップ720で、暗号系は、f≦32 が成り立つ正の
整数 f 及び素数qに対し、(p + a + 1)/9 = f*q が成り立つかどうかをチェッ
クする。これらの条件に満たさないものがあれば、ステップ710で、処理は、
否定的な結果を返す。
【0061】 上述の条件が満たされれば、ステップ725で、暗号系は、s、e = 3*f、p
、q、及びEが上記先頭の楕円曲線方程式である y2 = x3 + 0x + 16 によって
与えられるものであるとき、図10に記載の点の条件が、ID、sに対して、満
たされるかどうかをチェックする。
【0062】 ステップ730で、暗号系は、ステップ725のチェック結果を評価する。結
果が否定的なものであれば、ステップ710で、処理は、否定的な結果を返す。
【0063】 結果が肯定的なものであれば、ステップ735で、処理は、p、E、q、Qが
図10の点の条件の処理によって返されたものであるとして、判別式−3の条件
を満たすという結果を返す。
【0064】 図8は、中間整数a及びbが判別式−8の条件を満たすかどうかをチェックす
るためのフローチャートを表す。
【0065】 ステップ805で、参加者の暗号系は、p = a2 + 2b2 を求め、表2の第二の
ケースに記した条件を満たすかどうか、すなわち、p ≡ 3 mod 16 が成り立つと
き a ≡ 1 mod 4 が成り立つかどうか、そして、p ≡ 11 mod 16 が成り立つと
き a ≡ 3 mod 4 が成り立つかどうかをチェックする。これらの条件のうち満た
されないものがあれば、ステップ810で処理は否定的な結果を返す。
【0066】 上述の表2の条件が満たされれば、ステップ815で、暗号系は、pを4で割
ったときの余りが3かどうか、そして、pが素数かどうかをチェックする。これ
らの条件に満たされないものがあれば、ステップ810で、処理は否定的な結果
を返す。
【0067】 上述の条件が満たされれば、ステップ820で、暗号系は、正の整数 f ≦ 32 及び素数qに対して、(p - 2a + 1)/2 = f*q が成り立つかどうかをチェックす
る。これらの条件のうち満たされないものがあれば、ステップ810で、処理は
、否定的な結果を返す。
【0068】 上述の条件が満たされれば、ステップ825で、暗号系は、s、e = 2*f、p
、q、及びEが、上記の楕円曲線方程式の2番目のものである、y2 = x3 - 270x - 1512 によって与えられるものであるとき、図10に記載の点の条件が、ID
、s、に対して満たされるかどうかをチェックする。
【0069】 ステップ830では、暗号系は、ステップ825のチェック結果を評価する。
結果が否定的なものであれば、ステップ810で、処理は否定的な結果を返す。
【0070】 結果が肯定的なものであれば、ステップ835で、処理はp、E、q、Qが図
10の点の条件の処理によって返されたものであるとして、判別式−8の条件が
満たされるという結果を返す。
【0071】 図9は、中間整数a及びbが、dを(7,11,19,43,67,163)の一つであるとし
た場合の判別式−dの条件を満たすかどうかをチェックするフローチャートを表
す。
【0072】 ステップ905では、参加者の暗号系は、表2の第三ケースに記載の条件を満
たすかどうか、すなわち、a ≠ 1 が成り立つかどうか、及び、整数pに対して
、a2 + db2 = 4p が成り立つかどうかをチェックする。これらの条件のうち満た
さないものがあれば、ステップ910で処理は否定的な結果を返す。
【0073】 上述の表2の条件が満たされれば、ステップ915で、暗号系は、pを4で割
ったときの余りが3になるかどうか、及びpが素数かどうかをチェックする。こ
れらの条件のうち、満たされないものがあれば、ステップ910で、処理は否定
的な結果を返す。
【0074】 上述の条件が満たされれば、ステップ920で、暗号系は、d = 11 が成り立
つ場合に、(p + j(a,11)*a + 1)/c = f*q が成り立つかどうか、そして d = 11 が成り立たない場合には (p - j(a,d)*a + 1)/c = f*q が成り立つかどうかをチ
ェックする。ここで、d = 7 の場合には c = 8、それ以外のすべての場合には c = 1 であるとき、f≦32 が成り立つ正の整数 f 及び素数qに対し、2a がdを
法とする平方である場合には j(a,d) = 1 となり、2a がdを法とする平方でな
い場合には j(a,d) = -1 となる。これらの条件のうち満たされないものがあれ
ば、ステップ910で、処理は否定的な結果を返す。
【0075】 上述の条件が満たされれば、ステップ925で、暗号系は、s、e = 2*f、p
、q、及びEが、dに対する値に基づき、上記の楕円曲線方程式の3乃至8番目
のものによって与えられるものであるとき、図10に記載の点の条件が、ID、
s、に対して満たされるかどうかをチェックする。
【0076】 ステップ930では、暗号系は、ステップ925のチェック結果を評価する。
結果が否定的なものであれば、ステップ910で、処理は、否定的な結果を返す
【0077】 結果が肯定的なものであれば、ステップ935で、処理は、p、E、q、Qが
図10の点の条件の処理によって返されたものであるとして、選択された判別式
のうちの適当なもの一つの条件が満たされるという結果を返す。
【0078】 図10は、Eが楕円曲線方程式 y2 = x3 + ux + v によって特定される場合の
、ID、s、e、p、q、及びEに対して、点の条件が満たされるかどうかをチ
ェックするフローチャートを示す。
【0079】 ステップ1005で、参加者の暗号系は、次の2つの制約が満たされるような
正の整数mを求めようとする:(1)m*(ln(m*ln(p)))2 ≦ 0.02*(ln(p))2 が成
り立つ、(2)qで、pm-1 が割り切れる。具体的には、暗号系は、m*(ln(m*ln( p)))2 > 0.02*(ln(p))2 となるまで、m = 1,2, ... と順に、qで、pm-1 が割
り切れるかどうかをチェックする。これら2つの制約を満たすmが見つかれば、
点の条件は満たされず、処理は、ステップ1010で否定的な結果を返す。
【0080】 そのようなmが見つからなければ、ステップ1015で、暗号系は、x = R3(I D||s) mod p を求め、u及びvが上記楕円曲線方程式のパラメタであるとした場
合に r = x3 + ux + v がF(p) における平方であるかどうかをチェックする。
前記定義のr がF(p) における平方でない場合、点の条件は満たされず、処理
は、ステップ1010で否定的な結果を返す。
【0081】
【0082】 ステップ1025で、暗号系は、点QがE(F(p)) における位数qを有するか
どうか、すなわち、QがE(F(p)) における単位元Oと等しいかどうかをチェッ
クする。Qの位数がqと等しくなければ、点の条件は満たされず、処理はステッ
プ1010で否定的な結果を返す。
【0083】 点QがE(F(p)) における位数qを有する場合、点の条件は満たされ、処理は
、ステップ1030で肯定的な結果を返す。
【0084】 本発明の重要な側面の一つは、B、R1、R2、R3、ID、s、b1、及び
dが所与であるとした場合に、参加者は何れも(p,E,q,Q)を再構成することが
できることである。公開鍵再構成の処理については、後述する。B、R1、R2
、R3は、すべての参加者に知られているので、他の参加者の公開鍵の(p,E,q, Q)部分を構成するためには、(ID,s,b1,d)の値を求めることのみが必要になる
。参加者との通信には、本暗号系がないときであっても、識別情報IDを要求す
ることが理解されよう。
【0085】 公開鍵の残りの部分である、E(F(p)) におけるGは、Gを利用する参加者と
通信しようとするすべての参加者に送信しなければならない。GのX座標を指定
することで、GのY座標のとり得る値が大小2つの数値にまで減少する。従って
、Gを表すのに送信する必要があるのは、GのX座標と、Y座標の大きい方又は
小さい方を示す1ビットだけである。
【0086】 L(x)は負でない整数xのバイナリ長、すなわち、xのバイナリ表現に必要な
ビット数を表すものとする。
【0087】 ワイヤシュトラスの標準形を利用して、任意のXに対する y0(X) 及び y1(X) は、例えば、i = 1,2 に対して (yi(X))2 = X3 + uX + v が成り立つように、F
(p)における平方根計算で求めることができる。p ≡ 3 mod 4 が成り立つとき、
F(p)における平方rの平方根は、r1/2 = r(p + 1)/4 として、即座に求めるこ
とができるので、X座標とy0(X) 又は y1(X)を示す1ビットを指定することによ
って、曲線上の点を表現するのに必要な2L(p)ビットを、1 + L(p)ビットに減
らすことができる。
【0088】 公開鍵サイズについて説明する。参加者のための公開鍵は、(p,E,q,Q,G)か
らなる。公開鍵の再構成に必要なのは、(ID,s,b1,d,G)のみである。IDの長
さは、参加者が選択した任意のビット数でかまわないが、この情報は、どの方式
をとる場合であっても当該参加者と通信するのに必要とされるものなので、参加
者の公開鍵のサイズに加算すべきではない。s及びb1のビット長はそれぞれ、
図5のステップ510で選択されたBs及びBbであり、例えば、 Bs = 30 及
び Bb = 16 である。dには8つの選択肢があるので、dを表すのには3ビット
必要である。Gに必要とされるビット長は、L(p) + 1 である。上述の参加者セ
ットアップ処理で取得された素数pは、Bが上で導入された整数値の安全性パラ
メタであるとすると、 2*B に近い長さ L(p) を有する。従って、既知のIDを
有する者の公開鍵を導出することができる情報の量は、30 + 16 + 3 + L(p) + 1 = 50 + L(p) ビットである。
【0089】 本暗号系が証明とともに使用されるとき、証明されるメッセージは、L(ID) + 50 + L(p) ビットの長さを持ち、それは、従来の暗号系に比べると短い。例とし
て、公開鍵(p,E,q,Q,G)の長さが、従来の表現で、従来の中央機関により作成
されたものとすると、L(p) + L(E) + L(q) + L(Q) + L(G) = L(p) + (2*L(p)) + (少なくとも L(p)/2) + (L(p) + 1) + (L(p) + 1) = 少なくとも 5.5*L(p) + 2 ビットと予想される。この従来型の表現が用いられたとすると、暗号オーバー
ヘッド情報は、少なくとも L(ID) + 5.5*L(p) + 2 ビットの長さになる。暗号情
報の長さの短縮が、従来方式での長さと本暗号系での長さの差であり、(少なく
とも L(ID) + 5.5*L(p) + 2) - (L(ID) + 50 L(p)) = 少なくとも 4.5*L(p) - 4 8 ビットになることは、容易に予想できる。素数pは、別の値もとり得るものの
、典型的には、717ビットの節約のために、170ビット前後の長さを有する
【0090】 本発明により達成されたビット長の短縮は、少なくとも伝送時の利点となる。
すなわち、後述のように、暗号のオーバーヘッドに要する帯域が狭いため帯域を
より効率的に利用できるとともに、再構成がとても容易なため収容領域をより効
率的に利用できる。
【0091】 中央機関が参加者の公開鍵の(p,E.q,Q)の部分を作成する従来の方式では、
証明しなければならないメッセージの長さは L(ID) + L(p) + 1 である。本暗号
系では、証明しなければならないメッセージの長さは L(ID) + L(p) + 50 であ
り、わずか49ビット多いだけだが、ずっと高い安全性を実現する。
【0092】 sとb1に冗長性を持たせることができるので、不正な公開鍵やIDの対を作
成するのがより困難になる。
【0093】 公開鍵再構成の処理の実施態様を、図11A及び11B(総体として図11と
呼ぶ)に記載する。参加者の識別情報ID及び値s、b1、及びd、又は表1記
載のdに対応するE、並びにB,R1、R2、R3を与えられれば、参加者の(
p,E,q,Q)の値を構成するのは非常に易しいことが、図11に表した処理によっ
て例示されている。
【0094】 ステップ1105では、値B及び関数R1、R2、R3を求める。ステップ1
110で、値aを、a=R1(ID||s) によって求め、値bを、b=R2(ID||s) + b1 に
よって求める。
【0095】 ステップ1115では、a及びbの条件をチェックするが、前述同様、具体的
な条件はdの値に依存する。ステップ1115で説明したように、ステップ70
5、805、又は905のように条件をチェックしつつ、それぞれ、ステップ7
05、805、又は905のようにpを計算する。
【0096】 ステップ1115での条件チェックの結果が、否定的なものであれば、ステッ
プ1120で、公開鍵再構成処理は失敗となる。
【0097】 ステップ1115での条件チェックの結果が、肯定的なものであれば、ステッ
プ1125で、完全な正確性のチェックが必要かどうかを判断する。必要でなけ
れば、暗号系はステップ1135に進む。完全な正確性チェックが必要な場合は
、ステップ1130で暗号系は、例えば、確率的合成数性テストにより、pが4
で割ったときの余りが3に等しい素数かどうかをチェックする。完全な正確性チ
ェックは、公開鍵に対する証明書を作成する側により実行することができるが、
公開鍵を再構成する必要のあるユーザ依存情報(ID,s,b1,G)を証明する前に、
証明する側で、「完全正確性チェック(Thorough Correctness check)」ととも
に「公開鍵再構成(Public Key Reconstructions)」を実行することになる。公
開鍵が正確に再構成できて、すべての完全正確性テストをパスすれば、その場合
のみ、証明する側で所望の証明書を提供する。証明済みユーザ依存情報(ID,s,b 1,G)を受けた別の参加者は、正確性証明があるので、p及びqの素数性テスト
をする必要はない。ステップ1130でのチェックが否定的なものであれば、ス
テップ1120で、公開鍵再構成処理は失敗となる。
【0098】 ステップ1135では、dの値によってc及びtの値が決まる。ステップ11
40では、暗号系は、c*f で (p - t*a + 1) が割り切れるとともに、q = (p - t*a + 1)/(c*f) でqが求まるような、最大の正の整数 f≦32 を決定する。
【0099】 ステップ1145では、ステップ1125と同様の基準で完全正確性チェック
が必要かどうかを再度判断する。必要なければ、暗号系は、ステップ1155へ
進む。完全正確性チェックが必要であれば、ステップ1147で、m*(ln(m*ln(p )))2 ≦ 0.02*(ln(p))2 が成り立つとともに、qで、pm-1 が割り切れるような
整数mは存在しないことを確認する。ステップ1147でのテストが失敗すると
、ステップ1120で公開鍵再構成処理は失敗となる。ステップ1147でのテ
ストで、肯定的な結果であれば、ステップ1150で素数qの素数性をチェック
する。ステップ1150でのチェックが否定的な結果であれば、ステップ112
0で公開鍵再構成処理は失敗となる。
【0100】 ステップ1155では、表1に従って、dの値に基づき、楕円曲線Eのなかか
ら適当なものを選択する。値xを、R3(ID||s) mod p として求め、値yを、F(p ) における (x3 + ux + v)(p + 1)/4 として求め、Pを、(x,y)にセットする
【0101】 ステップ1157では、d = 3 が成り立つかどうか判断し、成り立てば、位数
9の部分群が巡回群でないため、cを3に置き換える。
【0102】
【0103】
【0104】 公開鍵再構成処理において何らかの実質的な計算を要するステップは、素数性
チェックと、Rが単位元Oであるかのチェックだけである。これらのチェックを
除けば、公開鍵再構成処理には、インテルのペンティアムのような、通常の、広
く利用可能なプロセッサ上で走らせても、わずか数ミリ秒しかかからない。
【0105】 上述の方法により生成される公開鍵の例を、以下説明する。
【0106】 図12A〜12Dでは公開鍵(p,E,q,Q)のそれぞれの値の集合を提供する。
これらの例では、参加者IDに対して、10進法(基数10)の表記による2進
法(基数2)のビット列 11223344556677889900 を任意に使用し、安全性パラメ
タ Bs = 30 及び Bb = 8 を使用し、次のようなマッピング関数を使用した:
【0107】
【数4】 R1(x) = x8 mod 2B R2(x) = (reverse(x))8 mod 2B R3(x) = (reverse(x) || x)8 mod 22B ビット列xは10進法(基数10)で「25」の値に対応する2進法(基数2)
、例えば、「11001」のように表す。関数「reverse(x)」は、ビット列のビ
ット配列を逆にする、例えば、reverse(11001) = 10011 となる。演算子「||」
は、ビット列の連結を表し、例えば、(10011 || 11001) = 1001111001 となる。
図12A及び12Bの例では、安全性パラメタを B = 85、すなわち相対的に低
い値とした例を示しており、一方、図12C及び12Dの例では、安全性パラメ
タを B = 150、すなわち相対的に高い値とした例を示している。ビット列sは、
各例毎にランダムに選んだ異なる値である。すべての公開鍵(p,E,q,Q)は、同
じマッピング関数R1、R2、R3、参加者のID、及びビット列s、並びに図
12A〜12Dの各例で示したパラメタb1の値によって、再構成に成功した。
【0108】
【0109】 以上、本発明の例示的実施態様及びその様々な変形例について、添付図面を参
照しつつ詳細にわたり説明してきたが、本発明は、この実施態様そのものや説明
を加えた変形例に限定されるものではなく、当該技術分野の熟練技術者であれば
、添付の特許請求の範囲に定義された本発明の範囲又は趣旨を逸脱せずに、様々
な変更やさらなる変形を生み出すことができることが理解されよう。
【図面の簡単な説明】
【図1】 先行技術の暗号系のセットアップ・フローチャートである。
【図2】 先行技術の暗号系の動作フローチャートである。
【図3】 本発明による暗号系のセットアップ・フローチャートである。
【図4】 本発明による暗号系の動作フローチャートである。
【図5】 「参加者セットアップ」のフローチャートを示す。
【図6】 中間整数a及びbの対の条件をチェックするためのフローチャートを
示す。
【図7】 中間整数a及びbが判別式−3の条件を満たすかどうかをチェックす
るためのフローチャート。
【図8】 中間整数a及びbが判別式−8の条件を満たすかどうかをチェックす
るためのフローチャート。
【図9】 dを(7,11,19,43,67,163)のうちの一つとした場合に、中間整数a
及びbが判別式−dの条件を満たすかどうかをチェックするためのフローチャー
ト。
【図10】 ID、s、e、p、q、及びEに対して、点の条件が満たされるか
どうかをチェックするためのフローチャート。
【図11】 図11A及び11Bは、本発明の一実施態様による公開鍵再構成の
フローチャートである。
【図12】 図12A〜12Dは本発明により構成された公開鍵の例である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C U,CZ,DE,DK,EE,ES,FI,GB,GD ,GE,GH,GM,HR,HU,ID,IL,IN, IS,JP,KE,KG,KP,KR,KZ,LC,L K,LR,LS,LT,LU,LV,MD,MG,MK ,MN,MW,MX,NO,NZ,PL,PT,RO, RU,SD,SE,SG,SI,SK,SL,TJ,T M,TR,TT,UA,UG,UZ,VN,YU,ZA ,ZW (71)出願人 399 Park Avenue, New York, New York 10043, U.S.A.

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 所定の楕円曲線集合から曲線Eを選択するステップと、 有限体を選択するステップと、 秘密鍵を選択するステップと、 公開鍵を取得するステップとからなる参加者間で暗号系を確立する方法であっ
    て、 前記の、曲線E、有限体、秘密鍵を選択し、公開鍵を取得するステップは、参
    加者各自がローカルで実行する方法。
  2. 【請求項2】 前記所定の楕円曲線集合は、ワイヤシュトラスの標準形方程
    式として表される、請求項1記載の方法。
  3. 【請求項3】 前記所定の楕円曲線集合は、 y2 = x3 + 0x + 16、 y2 = x3 - 270x - 1512、 y2 = x3 - 35x - 98、 y2 = x3 - 9504x - 365904、 y2 = x3 - 608x + 5776、 y2 = x3 - 13760x + 621264、 y2 = x3 - 117920x + 15585808、及び y2 = x3 - 34790720x + 78984748304 である、請求項2記載の方法。
  4. 【請求項4】 前記公開鍵取得ステップは、 安全性への配慮に基づく所定の長さを有するビット列sを選択し、 当該選択されたビット列s及び前記参加者各自の固有のビット列IDに基づく
    素数pを取得することを含む、請求項1記載の方法。
  5. 【請求項5】 前記公開鍵は、素数pと同じ桁数の素数q及び前記曲線E上
    の位数qの点Qをも有し、前記公開鍵取得ステップは、単純な計算で前記点Qを
    決定することをさらに含む、請求項4記載の方法。
  6. 【請求項6】 前記点Q決定ステップは、 前記選択されたビット列s及び前記参加者の固有ビット列IDを連結して連結
    されたビット列を生成し、 当該連結されたビット列を所定の長さの値xにマッピングし、 前記選択された曲線Eにおける前記選択された値xの使用に基づいて値yを取
    得し、 前記点Qを生成するために点(x,y)上のスカラー乗法を実行することを含む、
    請求項5記載の方法。
  7. 【請求項7】 前記公開鍵取得ステップは、 中間整数a及びbを選択し、 前記中間整数a及びbの関数としての素数pを取得し、 前記公開鍵を前記素数p及び前記選択された曲線から形成することを含む、請
    求項1記載の方法。
  8. 【請求項8】 前記中間整数a及びbを選択するステップは、全参加者に知
    られているマッピング関数を使用して、参加者IDを、所定の長さの整数a及び
    b0にマッピングすることを含む、請求項7記載の方法。
  9. 【請求項9】 前記中間整数a及びbを選択するステップは、 安全性への配慮に基づき、所定の長さを有するビット列sを選択し、 各参加者を独自に表すビット列IDを当該ビット列sと連結することをさらに
    含む請求項8記載の方法。
  10. 【請求項10】 前記中間整数a及びbを選択するステップは、前記整数a
    及び前記整数b = b0 + b1 が前記素数p及び前記選択された曲線Eに対する所
    定の条件の集合を満たすような整数b1を選択することを含む、請求項8記載の
    方法。
  11. 【請求項11】 前記整数b1を選択することには、前記整数b1に対する
    異なる値を繰り返し評価することを含む、請求項10記載の方法。
  12. 【請求項12】 前記公開鍵は、体F(p) 上の前記選択された曲線Eの点の
    群の濃度が単一閉式で与えられるような体F(p) を定義する素数pを含む、請求
    項1記載の方法。
  13. 【請求項13】 参加者のIDに基づいて中間整数a及びbを形成するステ
    ップと、 前記中間整数a及びbの関数として素数pを取得するステップと、 所定の楕円曲線集合から曲線Eを選択するステップと、 前記参加者のIDに基づき、前記選択された曲線上の点Qを選択するステップ
    と、 前記公開鍵を前記素数p、前記選択された曲線E、及び前記点Qから構成する
    ステップとからなる、暗号系参加者の公開鍵を再構成する方法。
  14. 【請求項14】 前記所定の楕円曲線集合は、ワイヤシュトラスの標準形方
    程式として表される、請求項13記載の方法。
  15. 【請求項15】 前記所定の楕円曲線集合は、 y2 = x3 + 0x + 16、 y2 = x3 - 270x - 1512、 y2 = x3 - 35x - 98、 y2 = x3 - 9504x - 365904、 y2 = x3 - 608x + 5776、 y2 = x3 - 13760x + 621264、 y2 = x3 - 117920x + 15585808、及び y2 = x3 - 34790720x + 78984748304 である、請求項14記載の方法。
  16. 【請求項16】 前記中間整数a及びbを形成するステップは、さらにビッ
    ト列s及びb1に基づいておこなわれる、請求項13記載の方法。
  17. 【請求項17】 前記曲線Eを選択するステップは、さらに整数dに従って
    おこなわれる、請求項13記載の方法。
  18. 【請求項18】 前記点Qを選択するステップは、さらにビット列sに基づ
    いておこなわれる、請求項13記載の方法。
JP2000587489A 1998-12-10 1999-12-07 ユーザが楕円曲線を選択する暗号系 Pending JP2002532957A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/209,436 1998-12-10
US09/209,436 US6446205B1 (en) 1998-12-10 1998-12-10 Cryptosystems with elliptic curves chosen by users
PCT/US1999/029081 WO2000035142A1 (en) 1998-12-10 1999-12-07 Cryptosystems with elliptic curves chosen by users

Publications (1)

Publication Number Publication Date
JP2002532957A true JP2002532957A (ja) 2002-10-02

Family

ID=22778754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000587489A Pending JP2002532957A (ja) 1998-12-10 1999-12-07 ユーザが楕円曲線を選択する暗号系

Country Status (7)

Country Link
US (1) US6446205B1 (ja)
EP (1) EP1135886B1 (ja)
JP (1) JP2002532957A (ja)
AT (1) ATE261219T1 (ja)
AU (1) AU2169300A (ja)
DE (1) DE69915341D1 (ja)
WO (1) WO2000035142A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2649680A1 (en) * 1999-02-26 2000-08-26 Certicom Corp. Method and apparatus for finite field basis conversion
US6778666B1 (en) * 1999-03-15 2004-08-17 Lg Electronics Inc. Cryptographic method using construction of elliptic curve cryptosystem
US20030009694A1 (en) * 2001-02-25 2003-01-09 Storymail, Inc. Hardware architecture, operating system and network transport neutral system, method and computer program product for secure communications and messaging
AU2002332671A1 (en) * 2001-08-13 2003-03-03 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US7136484B1 (en) * 2001-10-01 2006-11-14 Silicon Image, Inc. Cryptosystems using commuting pairs in a monoid
US7346159B2 (en) * 2002-05-01 2008-03-18 Sun Microsystems, Inc. Generic modular multiplier using partial reduction
DE602004001273T2 (de) * 2003-04-23 2007-05-31 Hewlett-Packard Development Co., L.P., Houston Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
GB2401012B (en) * 2003-04-23 2005-07-06 Hewlett Packard Development Co Cryptographic method and apparatus
US20050021973A1 (en) * 2003-04-23 2005-01-27 Liqun Chen Cryptographic method and apparatus
US20040264702A1 (en) * 2003-06-30 2004-12-30 Eastlake Donald E. Method and apparatus for producing cryptographic keys
US7298839B2 (en) 2003-07-25 2007-11-20 Microsoft Corporation Squared Weil and Tate pairing techniques for use with elliptic curves
US7769167B2 (en) * 2003-07-25 2010-08-03 Microsoft Corporation Weil and Tate pairing techniques using parabolas
US7440569B2 (en) * 2003-07-28 2008-10-21 Microsoft Corporation Tate pairing techniques for use with hyperelliptic curves
US20050135605A1 (en) * 2003-12-17 2005-06-23 Dimitrov Vassil S. Cryptographic exponentiation methods
GB2413465B (en) * 2004-04-23 2007-04-04 Hewlett Packard Development Co Cryptographic method and apparatus
CN101099328B (zh) * 2004-11-11 2011-05-18 塞尔蒂卡姆公司 定制的静态Diffie-Helman群
WO2006085430A1 (ja) * 2005-02-10 2006-08-17 Nec Corporation メンバー証明書獲得装置、メンバー証明書発行装置、グループ署名装置、グループ署名検証装置
CN102280604B (zh) 2005-03-17 2014-11-12 日本电气株式会社 覆膜电气设备及其制造方法
CN100437611C (zh) * 2005-08-03 2008-11-26 武汉理工大学 一种基于椭圆曲线的可控授权电子签名方法
EP1978550A4 (en) 2005-12-28 2009-07-22 Nec Corp FIELD EFFECT TRANSISTOR AND MULTILAYER EPITAXIAL FILM FOR USE IN THE MANUFACTURE OF A FIELD EFFECT TRANSISTOR
US9002003B2 (en) * 2006-11-29 2015-04-07 Certicom Corp. Password protocol for data communication system
CN101425897B (zh) * 2007-10-29 2011-05-18 上海交通大学 一种用户认证方法、系统、服务器和用户节点
SG11202101201UA (en) * 2018-08-07 2021-03-30 Haventec Pty Ltd A method and system for securing data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351297A (en) 1991-06-28 1994-09-27 Matsushita Electric Industrial Co., Ltd. Method of privacy communication using elliptic curves
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
WO1994015423A1 (en) * 1992-12-22 1994-07-07 Telstra Corporation Limited A cryptographic method
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
US5793866A (en) * 1995-12-13 1998-08-11 Motorola, Inc. Communication method and device

Also Published As

Publication number Publication date
EP1135886B1 (en) 2004-03-03
AU2169300A (en) 2000-06-26
US6446205B1 (en) 2002-09-03
WO2000035142A8 (en) 2001-03-01
WO2000035142A9 (en) 2000-11-30
ATE261219T1 (de) 2004-03-15
EP1135886A1 (en) 2001-09-26
WO2000035142A1 (en) 2000-06-15
DE69915341D1 (de) 2004-04-08

Similar Documents

Publication Publication Date Title
JP2002532957A (ja) ユーザが楕円曲線を選択する暗号系
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
CA2280775C (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
JP4588874B2 (ja) 内在的証明書方式
CA2111572C (en) Digital signature algorithm
JP5221687B2 (ja) 混成署名方式
CN103563288B (zh) 基于口令的单轮密钥交换协议
US7000110B1 (en) One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
US20020136401A1 (en) Digital signature and authentication method and apparatus
JP2001520483A (ja) 鍵認証方式
US6959085B1 (en) Secure user identification based on ring homomorphisms
CN112152813B (zh) 一种支持隐私保护的无证书内容提取签密方法
CN110855425A (zh) 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
CN114117547A (zh) 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
JP2002500842A (ja) 自働回復及び自働認証可能暗号システム
CN111447058A (zh) 基于中国剩余定理的图书资源访问控制方法
CN116074090B (zh) 一种基于oprf的多用户顺序揭示加密方法及系统
Lenstra Efficient identity based parameter selection for elliptic curve cryptosystems
CN115878566A (zh) 一种分频率数据审计方法、装置、设备以及存储介质
Sun et al. Efficient construction of completely non-malleable CCA secure public key encryption
EP1026851A1 (en) Composite cryptographic keys
JPH1165441A (ja) 複数暗号文の平文同一性証明方法および装置
Rubin Message authentication using quadratic residues