JPH11174957A - 認証プロトコル - Google Patents

認証プロトコル

Info

Publication number
JPH11174957A
JPH11174957A JP10131743A JP13174398A JPH11174957A JP H11174957 A JPH11174957 A JP H11174957A JP 10131743 A JP10131743 A JP 10131743A JP 13174398 A JP13174398 A JP 13174398A JP H11174957 A JPH11174957 A JP H11174957A
Authority
JP
Japan
Prior art keywords
signature
value
key
calculating
secret
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
JP10131743A
Other languages
English (en)
Other versions
JP4307589B2 (ja
Inventor
Scott A Vanstone
スコット・エイ・ヴァンストーン
Donald B Johnson
ドナルド・ビー・ジョンソン
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 JPH11174957A publication Critical patent/JPH11174957A/ja
Application granted granted Critical
Publication of JP4307589B2 publication Critical patent/JP4307589B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 計算能力が制限されている場合に、暗号化シ
ステムにおいて署名の確認を行うことを容易にする署名
及び確認プロトコルを提供すること。 【解決手段】 長期的な鍵と短期的な鍵から成る1対の
秘密鍵を組み入れている署名成分を用いる。長期的な鍵
を署名成分の一方に適用して短期的な鍵を見つける。次
に、短期的な鍵を用いて、署名に含まれる署名成分の値
を計算する。計算された値と受信した値とが一致すれ
ば、真正であることが確認される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ伝送に関
し、更に詳しくは、データを伝送している当事者のアイ
デンティティ(ID)を確認(認証)するデータ伝送シ
ステムに関する。
【0002】
【従来の技術】1対の通話者の間で、典型的には、1対
のコンピュータ端末の間やパーソナル・カードとコンピ
ュータ端末との間で、電子的にデータを通信することは
広く知られている。このような通信は、トランザクショ
ンを行うために、バンキング環境で広範囲に用いられて
いる。
【0003】そのようなトランザクションの完全性(イ
ンテグリティ)を維持するには、当事者のIDを確認で
きるシステムを実現することが必要であり、この目的の
ために、多数の署名プロトコルが開発されてきた。これ
らのプロトコルは、ディフィ・ヘルマン(Diffie Hellm
an)公開鍵暗号化方式を用いたエルガマル(El Gamal)
署名プロトコルに基づいている。広く用いられている暗
号化方式の1つに、RSAがあるが、安全な伝送を得る
には、帯域幅を増加させる比較的大きなモジュラス(mo
dulus)が用いられなければならないが、限定的な計算
能力しか利用可能でない場合には、これは、一般に望ま
しくない。更に堅固な暗号化方式に、楕円曲線暗号シス
テム(ECC)として知られているものがあり、このシ
ステムによれば、RSA暗号システムに匹敵するセキュ
リティを、より小さなモジュラスで得ることができる。
【0004】基本的には、それぞれの当事者は、秘密鍵
と、その秘密鍵から導かれる公開鍵とを有する。データ
転送の際には、通常は、メッセージは、意図している受
信者の公開鍵を用いて暗号化され、その受信者は、その
人間だけが知っている秘密鍵を用いることにより、この
メッセージを復号化できる。署名及び確認の目的のため
に、メッセージは、送信者の秘密鍵を用いて署名される
ことにより、記されている送信者の公開鍵を用いた処理
によって確認することができる。送信者の秘密鍵は、送
信者にだけしか知られていないので、送信者の公開鍵を
用いて復号化が成功すれば、送信者のIDが確認される
ことになる。
【0005】エルガマル署名プロトコルは、有限体にお
いて離散対数を計算することが困難であることから、そ
のセキュリティを獲得している。エルガマル型の署名
は、楕円曲線群を含む任意の群(group)で機能する。
例えば、楕円曲線群E(Fq)が与えられると、E
(Fq)に属するPと、Q=aPに対しては、離散対数
問題は、整数aを見つけることに帰着される。基礎とな
る曲線が適切に選択されると、この問題は、計算的に実
行不可能であり、従って、これらの暗号システムは、安
全であると考えられる。
【0006】
【発明が解決しようとする課題】そのような方式を実現
する様々なプロトコルが存在する。例えば、デジタル署
名アルゴリズムDSAは、エルガマル方式の変形であ
る。この方式では、1対の通話者A及びBのそれぞれ
が、公開鍵と対応する秘密鍵とを作成する。通話者A
は、自分の秘密鍵を用いて、任意の長さのメッセージm
に署名する。通話者Bは、この署名を、Aの公開鍵を用
いて、確認することができる。しかし、それぞれの場合
に、送信者である通話者Aと受信者である通話者Bとの
両方が、典型的には累乗計算であるが、計算的に集約的
な演算を実行して、署名を生成し確認することが要求さ
れる。どちらの当事者も適切な計算能力を有している場
合であれば、これは特に問題を生じないが、一方又は両
方の当事者の計算能力に制限がある場合、例えば、「ス
マート・カード」アプリケーションの場合などには、計
算は、署名及び確認プロセスを遅延させることになる。
【0007】また、署名者が、自分自身の署名を確認す
ることを要求される場合もある。例えば、公開鍵暗号シ
ステムでは、鍵の配送は、対称(symmetric)鍵システ
ムの場合よりも容易である。しかし、公開鍵の完全性
が、重要である。従って、そのようなシステムの通話者
は、信頼できる第三者を使って、それぞれの通話者の公
開鍵を認証する。この第三者は、証明機関(certifying
authority = CA)であり、秘密の署名アルゴリズムST
と、すべての通話者が知っているものと想定される確認
アルゴリズムVTとを有する。その最も単純な形式で
は、CAは、ある通話者のIDをその公開鍵に拘束する
証明書を提供する。これは、識別子とその通話者の認証
された公開鍵とから成るメッセージに署名することから
構成される。しかし、時には、CAは、それ自身の証明
書を認証又は確認することを望むこともある。
【0008】上述したように、署名の確認は、計算的な
集約性を有し、実際的な時間内に完了させるためには、
かなりの計算能力が要求される。通話者の一方の計算能
力に制限がある場合、例えば、「スマート・カード」が
キャッシュ・カードとして用いられている場合などに
は、カード上での計算が最小化されるようなプロトコル
を採用することが好ましい。同様に、多数の署名を確認
しなければならない場合などには、高速の確認方法が、
望ましい。
【0009】従って、本発明の目的は、通話者の一方の
制限された計算能力を用いて署名の確認を行うことを容
易にする署名及び確認プロトコルを提供することであ
る。
【0010】
【課題を解決するための手段】一般的な表現を用いる
と、本発明は、それぞれが共通の秘密の整数を共有して
いる1対の通話者の間で、署名を生成し確認する方法を
提供する。この方法は、通話者の一方において、選択さ
れた整数からセッション鍵を生成するステップと、前記
セッション鍵の成分を選択し、その選択した成分を用い
てメッセージを暗号化するステップと、前記選択した成
分のハッシュを生成するステップと、前記共通の秘密の
整数と、前記ハッシュと、前記選択した整数とを含む署
名成分を計算し、その署名成分と、暗号化されたメッセ
ージと、ハッシュとを他方の通話者に送るステップと、
を含む。選択された整数は、共通の秘密の整数と暗号化
されたセッション鍵とを用いて、署名成分に対して回復
される。次に、回復されたセッション鍵のバランスを用
いて、認証を、そしてオプションであるが、質問(chal
lenge)を、受信者に提供する。
【0011】
【発明の実施の形態】本発明の実施例を、次に、添付の
図面を参照して、説明する。
【0012】図1を参照すると、データ伝送システム1
0は、データ伝送リンク16によって相互接続された複
数の通話者12a、12b、…、12t(全体として、
参照番号12で示す)を含む。通話者12は、典型的に
は、限定的な計算能力を有する電子端末であり、この例
では、通話者12は、限定的なメモリと計算能力とを有
する「スマート・カード」の形式を有すると考える。デ
ータ伝送システム10は、また、この実施例では、端末
12のそれぞれに伝送リンクによって接続された金融機
関における端末である通話者14を含む。この接続は、
典型的には、通話者12がシステム10に周期的にアク
セスする過渡的なものであるのが典型的であるが、恒久
的な接続であってもよい。
【0013】通話者12、14は、それぞれが、共通の
暗号システムを確立する暗号化ユニット18、20を有
する。この例では、暗号化ユニット18、20は、基礎
となる曲線パラメータとその曲線上のシード(seed)点
Pとが確立されている楕円曲線暗号システムを実現して
いる。
【0014】通話者12は、それぞれが、この通話者1
2によって長期的な秘密鍵として複数のトランザクショ
ンに用いられる秘密の整数dが埋め込まれているメモリ
22を含む。通話者14は、公開鍵QBを有し、dQB
多数の予め計算された値が、署名を容易にするために、
対話者12のアドレシング可能なメモリ24に記憶され
ている。
【0015】数生成器26が、それぞれのカードに含ま
れており、統計的には一意的であるが予想できない整数
を、それぞれのトランザクションにおいて変化する短期
的な秘密鍵として用いるために、それぞれのセッション
の開始時に生成する。
【0016】通話者14は、同様に、それぞれの通話者
12の長期的な秘密鍵dを記憶しそれを通話者のそれぞ
れのIDに相関させるデータバンクを有するメモリ28
を含む。
【0017】確認プロトコルを開始するには、通話者1
2の一人が、メッセージmを定式化し、伝送セッション
の間に短期的な秘密鍵として作用するランダムな整数k
を生成器26から生成する。シード点Pを用いて、kP
に対応するセッション鍵rが計算される。kPは、実際
に、座標(x,y)を有する基礎となる曲線上の点であ
る。
【0018】第1の署名成分eは、x座標の2進表現を
用いて、e=Ex(m)となるようにメッセージを暗号
化することによって、生成される。
【0019】第2の署名成分e’は、セッション鍵rの
x座標を、e’=h(x)となるようにハッシュするこ
とによって、生成される。米国の国立標準及び技術局
(NIST)によって提唱された安全ハッシュ・アルゴ
リズム(SHA−1)などの、適切な暗号論的ハッシュ
関数が用いられる。
【0020】第3の署名成分sは、s=ae+k(mo
dn)の一般的な形式で生成される。ここで、aは長期
的な秘密鍵であり、eはメッセージ・ストリングをハッ
シュすることによって導かれる値であり、kは短期的な
秘密鍵である。この実施例では、署名成分sは、次の特
定の形式を有している。
【0021】
【数1】 s=d.h(dQB//e’)+k (modn) ここで、nは、基礎となる曲線の位数(オーダー)であ
る。署名成分sは、通話者12のメモリ24からdQB
の予め計算された値を検索し、それをxのハッシュ値に
連接し、結果をハッシュすることによって、得られる。
【0022】署名成分s、e、e’を含む署名は、次
に、通話者14に送られる。受信の際に、通話者14
は、通話者12の指示されたIDに基づいて、データバ
ンク28から長期的な秘密鍵dを検索し、自分自身の公
開鍵とQBと検索された成分e’とを用いて、ハッシュ
h=dQB//e’を計算する。これと署名成分sとか
ら、kに対応する値k’が得られる。
【0023】kの計算された値とシード点Pとを用い
て、短期的な鍵の計算された値、すなわち、kPのx座
標の値であるx’に関連する関数が得られる。次に、
x’の計算された値がハッシュされ、比較がなされて、
ハッシュの結果的な値がe’の受信された値と対応する
ことが確認される。この段階で、通話者の確認が得ら
れ、必要となる累乗計算は、kPの最初の計算だけであ
る。
【0024】セッション鍵rの計算と、そのセッション
鍵の一部分を後で用いることによって、安全な認証が、
通話者14に返されることが可能になる。座標xの値を
計算すると、通話者14は、次に、座標yを計算して、
それを、認証として、メッセージm’を暗号化するのに
用いる。従って、通話者14は、Ey(m’)を含むメ
ッセージを送ることによって、通話者12に応答する。
受信の際に、通話者12は、セッション鍵Rのy座標を
知っており、質問を含むメッセージm’を回復すること
ができる。通話者12は、メッセージを復号化し、質問
を通話者14に返し、それによって、両方の通話者は確
認され同期化される。更なるメッセージを、セッション
鍵rを暗号化鍵として用いて、通話者12及び14の間
で転送することもできる。
【0025】従って、上述のプロトコルでは、1対の鍵
が用いられ、通話者14は、長期的な秘密鍵を与える一
方の鍵の制御を保持し、これらを用いて、通話者12に
よって計算される短期的なセッション鍵を回復する。回
復された短期的な鍵は、次に、例えば、e’をチェック
することによって、伝送された他の署名成分と共に、確
認に用いることができる。
【0026】また、鍵の回復された値の構造は、例え
ば、パターン、数、又は桁の分布によって、確認を示す
ことができ、それによって、回復された値を、確認のた
めに、所定のパラメータと比較することができる。回復
された成分と送られた情報との間の関係によって、セッ
ション鍵の他の部分を用いて、回答し、同期を確立する
ことができる。
【0027】この実施例では、署名の確認は、累乗計算
を含まない計算的に好都合な態様で実行されるので、比
較的迅速に行うことができることに注意すべきである。
【0028】システム10は、通話者12の間での、又
は、通話者12と通話者14との間での公開鍵暗号化シ
ステムとして機能するが、迅速な確認が要求される場合
には、対称鍵プロトコルの属性を用いることもできるこ
とに注意すべきである。
【0029】次に説明するように、別の署名を用いるこ
とができるし、一般に、任意のエルガマル署名方程式を
用いることができる。署名確認の別の実施例は、図3に
示されているように、DSS署名プロトコルを用いて実
現することができる。このプロトコルでは、短期的な公
開鍵rが、群の生成元αのランダムな整数kのベキ乗、
すなわち、r=αkを計算することによって、導かれ
る。楕円曲線暗号システムが用いられる場合には、累乗
計算は、点Pのk回の加算、すなわち、r=kPによっ
て、実行される。
【0030】DSSプロトコルでは、署名成分は、次の
形式を有する。ただし、dは長期的な秘密鍵であり、m
はメッセージである。
【0031】
【数2】s=k-1(h(m)+dr) (modn) 署名成分s、rの値とメッセージmとは、通話者12に
よって、通話者14に送られる。
【0032】通話者14は、長期的な秘密鍵dを共有し
ているので、IDから、短期的な秘密鍵k=s(h
(m)+dr)を検索することができる。
【0033】r、m、sの値は送られ、dは通話者14
によって知られているので、kを計算することができ
る。
【0034】上述のように、kは、例えば、1が特定の
パターンとなったりある数だけ存在するなどのように、
特定の構造を有するように構成することができる。ま
た、確認は、回復したkからrの値を計算し(すなわ
ち、r=αk)、それを送信されたrと比較することに
よって、チェックすることができる。このステップに
は、累乗計算が必要であるから、計算的な要求が大きい
が、望まれる場合には用いることができる。
【0035】再び、長期的な秘密鍵dを共有することに
よって、確認は、短期的な秘密鍵kを抽出して、単純で
はあるが効果的な態様で、実行することができる。
【0036】上述の例のそれぞれでは、署名の確認は、
1対の通話者の間で実行される。プロトコルの特性を用
いて、銀行などの証明機関CAが発行した、通話者14
が作成した署名を確認するのに用いることができる。
【0037】この実施例では、通話者14は、それによ
って発行されたと主張する証明書を受け取る。通話者1
4は、長期的な秘密鍵dを用いて短期的な秘密鍵kを抽
出することによって、証明書の真正を確認する。秘密鍵
kの構造を次にチェックすることができ、又は、鍵kを
用いて、メッセージに含まれる短期的な公開鍵rに関係
する情報を引き出す。再び、確認が、広範な計算を必要
とせず、都合のよい態様で得られ、それによって、通話
者14、すなわち、銀行などの金融機関が受け取った証
明書の確認が可能になる。
【0038】この実施例は、エルガマル署名方式の特別
の場合であるデジタル署名アルゴリズムDSAを用い
て、例示することもできる。エルガマル署名方式におけ
る鍵生成のために、それぞれの通話者A及びBが、公開
鍵と対応する秘密鍵とを作成する。基礎となる暗号シス
テムを群Fpに設定するために、通話者A及びBは、q
がp−1を割るような素数p及びqを選択する。生成元
gは、それがFpにおける位数(order)qの元であり、
用いられる群が、{g0,g1,g2,…,gq-1}である
ように、選択される。
【0039】デジタル署名アルゴリズム(DSA)で
は、鍵の生成は、区間[1,q−1]の中のランダムな
整数dを選択し、長期的な公開鍵y=gdmodpを計
算することによって、行われる。公開鍵情報は、(p,
q,g,y)であり、長期的な秘密鍵はdであり、他方
で、一般的なエルガマル方式では、公開鍵情報は、
(p,g,y)であり、秘密鍵はdである。
【0040】DSA署名方式では、署名成分r及びs
は、次のように与えられる。
【0041】
【数3】r=(gkmodp)modq
【数4】s=k-1(h(m)+dr)modq ただし、ここで、dは、ランダムな整数であり、署名者
の長期的な秘密鍵であって、典型的には160ビットで
ある。pは、典型的には、1024ビットの素数であ
る。qは、160ビットの素数であり、qは、p−1を
割る。gは、生成元であり、y=gdmodpである。
h(m)は、典型的には、メッセージmのSHA−1ハ
ッシュである。kは、それぞれの署名に対してランダム
に選ばれる160ビットの値である。mに対する署名
は、対(r,s)である。
【0042】通常、メッセージm上のAの署名(r,
s)を確認するためには、受信者Bは、Aの真正の公開
鍵情報(p,q,g,y)を取得して、0<r<q及び0
<s<qを確認しなければならない。次に、値w=s-1
odqと、h(m)とが、計算される。次に、u1=w
h(m)modqと、u2=rwmodqと、v=(g
u1u2modp)modqとが計算される。v=rの場
合に、そして、その場合だけに、署名は、受け入れられ
る。従って、署名の所有者が後の段階において自分自身
の署名を確認することを望む場合には、公開鍵情報を検
索し、累乗計算を含む上述のステップを実行するには、
時間がかかることがわかる。
【0043】図4に示されているように、証明機関CA
による高速署名確認は、証明機関の長期的な秘密鍵d
を、確認者(検証者、verifier)として用いることによ
って実現される。この場合には、元の署名者は、p、
q、g、y、h(m)、r、sの知識を有している。従
って、確認者は、署名において用いられた短期的な秘密
鍵kを回復し、署名を確認するために、そのようにして
得られたkの値を確認するだけでよい。こうして、確認
者は、z=(h(m)+dr)modqを計算する。値
-1が、zmodqを反転させることによって計算さ
れ、k’-1=s(z-1)modqを計算するのに用いら
れる。k’は、 k’-1modqを反転させることによ
って、計算される。確認者は、次に、r=gk’mod
pmodqを評価し、k=k’であることを確認する。
このようにして、この確認のステップは、長期的な公開
鍵yではなく長期的な秘密鍵dを用いて、累乗計算を回
避していることがわかる。もちろん、上述の計算の多く
は、予め計算されたテーブルを用いることによって、高
速化することができる。
【0044】別のエルガマル署名方法が、図5に示され
ており、署名成分(s,e)を有している。ここで、次
の関係が成立している。
【0045】
【数5】r=gkmodp
【数6】e=h(m||r)
【数7】s=(de+k)modp ここで、pは大きな公開素数であり、gは公開生成元で
あり、mはメッセージであり、hはハッシュ関数であ
り、記号||は連接(concatenation)を意味し、dは
長期的な秘密鍵であり、y=gdmodpは対応する長
期的な公開鍵であり、kは短期的な秘密鍵として用いら
れる秘密のランダムな整数である。
【0046】証明書を生成するためには、通話者14
は、通話者12の一人の、公開鍵に対応するIDを含む
メッセージmに署名をする。このメッセージは、通話者
14の長期的な公開鍵と短期的なセッション鍵kとを用
いて署名され、署名成分s及びeを含む証明書が、通話
者12に発行される。公開情報は、通話者14によって
保持される。証明書は、通話者12によって用いられ、
通話者14の公開鍵を用いて、受信者によって、確認さ
れる。
【0047】証明書が通話者14に提供されると、長期
的な秘密鍵dを用いて、迅速な確認が得られる。
【0048】秘密鍵dを用いた高速署名確認では、p、
g、y、h、m、r、eの公開情報と、秘密鍵dとが、
確認者に知られている。従って、確認者は、短期的な秘
密鍵kえい回復し、署名を確認するために、kを確認す
るだけでよい。確認者は、k’=(s−de)mod
p、r’=gk’modp、e’=h(m||r’)を
計算する。e=e’である場合には、k=k’が確認さ
れる。この確認には、処理を容易にするために、ただ1
つの累乗計算しか要求されない。また、回復されたkの
値の特性は、上述の確認を満足するのに十分である。
【0049】このように、本発明の特別の効果は、署名
者が、例えば、署名者のコンピュータに存在するデータ
に署名する場合である。これは、後で、対応する公開鍵
を用いることなく確認することができ、署名者は、自分
の秘密鍵を用いてデータを確認することができる。これ
は、また、スマート・カードなどの計算能力が限定的で
ある応用例に対して、非常に有用である。
【0050】証明機関を含むデータ通信システムでは、
証明機関(CA)又は鍵配分センタは、それが様々な通
信システムの中にインストールされる前にデータに署名
を行い、後でその署名を確認することがある。従って、
CAは、署名を確認するために公開鍵情報を要求するこ
とはなく、単に、長期的な秘密鍵を用いて確認を行う。
これは、他のすべてのパラメータは、署名者の安全な境
界の内部に記憶されているからである。長期的な秘密鍵
dが用いられる際には、システムに関連するオーバヘッ
ドが最小化されるように、短期的な秘密鍵kを保持して
おくことは不要であることに注意すべきである。
【0051】別の応用例として、ペーパーユース(pay-
per-use)型のソフトウェアでのソフトウェアの確認が
ある。サーバへのアクセスの要求は、サーバが発行しソ
フトウェアの使用者によって提示される証明書によっ
て、制御される。証明書の真正は、上述したような適切
な態様で、サーバの秘密鍵を用いて、確認される。
【0052】本発明は、以上で、特定の実施例と特定の
使用とに関して説明したが、冒頭の特許請求の範囲によ
って定義される発明の範囲から逸脱することなく、様々
な修正が、当業者であれば、想定できよう。例えば、上
述の好適実施例では、乗法に関して述べられているが、
本発明は、加法に関しても成立する。例えば、DSAの
楕円曲線アルゴリズムと等価であるECDSAは、離散
対数アルゴリズムと類似の楕円曲線であり、これは、通
常は、素数を法とする整数から成る乗法群であるF*p
に関して説明されうる。F*pの元及び演算と楕円曲線
群E(Fq)との間には、対応が存在する。更に、この
署名技術は、F2’’上で定義される体において実行さ
れる関数にも等しく適用できる。
【0053】本発明は、このように、暗号化方法及びシ
ステムに関係し、特に、有限体の元がプロセッサに効率
的な態様で乗算される楕円曲線暗号方法及びシステムに
関係する。この暗号システムは、適切にプログラムされ
た汎用コンピュータなどの任意の適切なプロセッサから
構成することができる。
【図面の簡単な説明】
【図1】データ伝送システムの概略図である。
【図2】署名確認プロトコルの概略的な流れ図である。
【図3】別のプロトコルの概略的な流れ図である。
【図4】更に別のプロトコルの概略的な流れ図である。
【図5】別のエルガマル署名方法の概略を示す流れ図で
ある。

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 データ通信システムにおいて署名者によ
    って生成されたデジタル署名を確認する方法であって、
    前記署名は、1対の秘密鍵を組み入れている署名成分を
    有している、方法において、 前記秘密鍵の第1を前記署名に適用し、前記秘密鍵の第
    2に関連する関数と同等の値を回復するステップと、 前記回復された値を前記関数と比較し前記署名の真正を
    判断するステップと、 を含むことを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、前記回復
    された値は、前記署名成分の1つの値を計算するのに用
    いられ、前記計算された値と前記署名成分とは、比較さ
    れて、前記署名を確認することを特徴とする方法。
  3. 【請求項3】 請求項1記載の方法において、前記回復
    された値の構造は、所定のパラメータと比較され、前記
    署名を確認することを特徴とする方法。
  4. 【請求項4】 請求項1記載の方法において、前記鍵の
    一方は長期的な鍵であり、前記鍵の他方はそれぞれの署
    名によって生成される短期的な鍵であることを特徴とす
    る方法。
  5. 【請求項5】 請求項4記載の方法において、前記回復
    された値は、前記短期的な鍵であることを特徴とする方
    法。
  6. 【請求項6】 請求項5記載の方法において、前記回復
    された値は、前記秘密鍵から導かれる短期的な公開鍵を
    計算するのに用いられ、前記署名成分に含まれることを
    特徴とする方法。
  7. 【請求項7】 請求項5記載の方法において、前記回復
    された値の少なくとも一部分は、暗号論的ハッシュ関数
    によってハッシュされ、結果的なハッシュ値は、確認の
    ために、前記署名成分の1つと比較されることを特徴と
    する方法。
  8. 【請求項8】 コンピュータ・システムにおいて、署名
    者によって生成されたデジタル署名を確認する方法であ
    って、前記署名者は、秘密鍵dと、元gと前記秘密鍵d
    とから導かれる公開鍵yとを有し、この方法は、 a)第1の数学的関数に従って少なくとも前記元gと署
    名パラメータkとを合成することによって、第1の署名
    成分を生成し、 b)前記第1の署名成分を、前記秘密鍵d、前記メッセ
    ージm及び前記署名パラメータkと数学的に合成するこ
    とによって、第2の署名成分を生成し、 c)前記公開鍵yを用いることなく、前記署名から値
    k’を回復し、 d)前記第1の数学的関数において、前記回復された値
    k’を用いて、値r’を導き、前記署名パラメータk及
    びk’が等しいことを確認する、 ことによって、前記コンピュータ・システムにおいてメ
    ッセージmに署名するステップを含むことを特徴とする
    方法。
  9. 【請求項9】 請求項8記載の方法において、gは体F
    pの位数qの元であることを特徴とする方法。
  10. 【請求項10】 請求項8記載の方法において、gは、
    E(Fq)における素数位数nの点であり、Eは、体Fq
    上に定義された楕円曲線であることを特徴とする方法。
  11. 【請求項11】 請求項8記載の方法において、 g
    は、体Fqn上に定義された楕円曲線上の点であることを
    特徴とする方法。
  12. 【請求項12】 請求項8記載の方法において、前記署
    名パラメータkは、区間[1,q−1]内のランダムに
    選択された整数であり、前記第1の署名成分は、pとq
    とを、qがp−1を割る素数として、r=gkmodp
    modqによって定義される形式を有することを特徴と
    する方法。
  13. 【請求項13】 請求項12記載の方法において、hを
    ハッシュ関数として、e=h(m)の値を計算するステ
    ップを含み、前記第2の署名成分sが、s=k-1(e+
    dr)modqであることを特徴とする方法。
  14. 【請求項14】 請求項13記載の方法において、前記
    値k’を回復するステップは、 (a)値z=(h(m)+dr)modqを計算するス
    テップと、 (b)zmodqを反転するz-1を計算するステップ
    と、 (c)k’-1=s(z-1)modqを計算するステップ
    と、 (d)k-1modqを反転することによって、k’を計
    算するステップと、 を含むことを特徴とする方法。
  15. 【請求項15】 請求項14記載の方法において、kを
    確認する前記ステップは、r’=gk’modpmod
    qを計算するステップと、k=k’を確認するために、
    r’をrと比較するステップと、を含むことを特徴とす
    る方法。
  16. 【請求項16】 請求項15記載の方法において、前記
    計算において、予め計算されたテーブルを用いるステッ
    プを含むことを特徴とする方法。
  17. 【請求項17】 請求項10記載の方法において、署名
    パラメータkは、区間[2,n−2]において選択され
    た統計的に一意的であり予測不可能な整数kであり、前
    記第1の署名成分は、nを秘密鍵のn座標としてr=x
    modnによって定義される形式を有することを特徴と
    する方法。
  18. 【請求項18】 請求項17記載の方法において、 h
    をハッシュ関数として、e=h(m)の値を計算するス
    テップを含み、前記第2の署名成分sが、s=k-1(e
    +dr)modnであることを特徴とする方法。
  19. 【請求項19】 請求項18記載の方法において、前記
    値k’を回復するステップは、 (a)値z=(h(m)+dr)modnを計算するス
    テップと、 (b)zmodnを反転するz-1を計算するステップ
    と、 (c)k’-1=s(z-1)modnを計算するステップ
    と、 (d)k-1modnを反転することによって、k’を計
    算するステップと、 を含むことを特徴とする方法。
  20. 【請求項20】 請求項19記載の方法において、kを
    確認する前記ステップは、r’=gk’modnを計算
    するステップと、k=k’を確認するために、r’をr
    と比較するステップと、を含むことを特徴とする方法。
  21. 【請求項21】 請求項9記載の方法において、前記署
    名パラメータkは、区間[1,p−1]内のランダムに
    選択された整数であり、前記第1の署名成分は、r=g
    kmodp、hをハッシュ関数、||を連接を表すとし
    て、e=h(m||r)によって定義される形式を有す
    ることを特徴とする方法。
  22. 【請求項22】 請求項21記載の方法において、前記
    第2の署名成分sは、s=(de+k)modpによっ
    て定義されることを特徴とする方法。
  23. 【請求項23】 請求項22記載の方法において、前記
    値k’を回復するステップは、 (a)値k’=(s−de)modpを計算するステッ
    プと、 (b)値r’=gkmodpを計算するステップと、 (c)値e’=h(m||r’)を計算するステップ
    と、 (d)k’=kを確認するために、前記値e’をeと比
    較するステップと、 を含むことを特徴とする方法。
  24. 【請求項24】 電子データ通信システムにおいて証明
    機関によって発行された証明書の真正を確認する方法で
    あって、前記証明機関が前記証明書に1対の秘密鍵から
    導かれた1対の署名成分を含ませるステップと、前記証
    明機関が前記秘密鍵の一方を保持するステップと、前記
    証明機関が前記証明書を受け取り前記秘密鍵を前記署名
    成分に適用し、前記秘密鍵の他方の関数に対応する値を
    そこから導くステップと、前記導かれた値を前記関数と
    比較し前記証明書の真正を判断するステップと、を含む
    ことを特徴とする方法。
  25. 【請求項25】 請求項24記載の方法において、前記
    導かれた値は、所定のパラメータと比較され、前記証明
    書の真正を判断することを特徴とする方法。
  26. 【請求項26】 請求項24記載の方法において、前記
    導かれた値は、前記他方の鍵に対応することを特徴とす
    る方法。
  27. 【請求項27】 請求項26記載の方法において、前記
    一方の鍵は、複数の署名において用いられる長期的な秘
    密鍵であり、前記他方の鍵は、それぞれの署名に対して
    導かれる短期的な鍵であることを特徴とする方法。
  28. 【請求項28】 請求項26記載の方法において、前記
    署名成分は前記他方の鍵から導かれる公開鍵を含み、更
    に、前記導かれた値から対応する公開鍵を導くステップ
    と、前記署名成分における前記公開鍵を前記対応する公
    開鍵と比較するステップとを含むことを特徴とする方
    法。
  29. 【請求項29】 データ通信リンクによって接続された
    1対の通話者を有するデータ通信システムであって、前
    記通話者のそれぞれは、1対の秘密鍵を用いる公開鍵暗
    号方式を実現する暗号論的関数を有し、前記秘密鍵の一
    方は、前記通話者の間の複数の通信に対して用いられ、
    前記秘密鍵の他方は、それぞれの通信に対して前記通話
    者の一方によって生成され、前記一方の秘密鍵は、前記
    通話者によって共有され、前記秘密鍵の前記他方が前記
    一方の通話者によって生成されたデジタル署名から前記
    他方の通話者によって回復されることを可能にし、前記
    デジタル署名の署名成分と比較されて前記一方の通話者
    の真正を確認することを可能にすることを特徴とするデ
    ータ通信システム。
  30. 【請求項30】 請求項29記載のデータ通信システム
    において、前記暗号論的関数は、楕円曲線暗号システム
    を実現することを特徴とするデータ通信システム。
JP13174398A 1997-10-31 1998-05-14 認証プロトコル Expired - Lifetime JP4307589B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US962441 1992-10-16
US96244197A 1997-10-31 1997-10-31

Publications (2)

Publication Number Publication Date
JPH11174957A true JPH11174957A (ja) 1999-07-02
JP4307589B2 JP4307589B2 (ja) 2009-08-05

Family

ID=25505878

Family Applications (2)

Application Number Title Priority Date Filing Date
JP13174398A Expired - Lifetime JP4307589B2 (ja) 1997-10-31 1998-05-14 認証プロトコル
JP2000519520A Pending JP2001522071A (ja) 1997-10-31 1998-11-02 ElGamal方式用の署名検証

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2000519520A Pending JP2001522071A (ja) 1997-10-31 1998-11-02 ElGamal方式用の署名検証

Country Status (5)

Country Link
EP (1) EP1025674A1 (ja)
JP (2) JP4307589B2 (ja)
AU (1) AU1015499A (ja)
CA (1) CA2306468A1 (ja)
WO (1) WO1999023781A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130445A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、異常検知方法及びプログラム
JP2005130447A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム及び証明書設定方法
JP2007510336A (ja) * 2003-10-28 2007-04-19 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置
JP2011097636A (ja) * 2003-07-25 2011-05-12 Ricoh Co Ltd 通信装置、通信システム及び証明書設定方法
US8359469B2 (en) 2004-02-13 2013-01-22 Certicom Corp. One way authentication
CN103108325A (zh) * 2011-11-10 2013-05-15 中兴通讯股份有限公司 一种信息安全传输方法及系统及接入服务节点

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430044A (zh) * 2019-07-10 2019-11-08 南京工业大学 一种基于ElGamal加密的双层加密方法
CN111262707B (zh) * 2020-01-16 2023-04-14 余志刚 数字签名方法及验证方法、设备、存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
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
US5475763A (en) * 1993-07-01 1995-12-12 Digital Equipment Corp., Patent Law Group Method of deriving a per-message signature for a DSS or El Gamal encryption system
DE69327238T2 (de) * 1993-08-17 2000-09-07 Entrust Technologies ( Switzerland) Ltd. Liab. Co., Glattzentrum Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft
CA2228185C (en) * 1997-01-31 2007-11-06 Certicom Corp. Verification protocol

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097636A (ja) * 2003-07-25 2011-05-12 Ricoh Co Ltd 通信装置、通信システム及び証明書設定方法
JP2005130447A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム及び証明書設定方法
JP2005130445A (ja) * 2003-07-25 2005-05-19 Ricoh Co Ltd 通信装置、通信システム、異常検知方法及びプログラム
US8713321B2 (en) 2003-10-28 2014-04-29 Certicom Corp. Method and apparatus for verifiable generation of public keys
JP2011091868A (ja) * 2003-10-28 2011-05-06 Certicom Corp 公開鍵を検証可能に生成する方法及び装置
JP4741503B2 (ja) * 2003-10-28 2011-08-03 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置
JP2013140402A (ja) * 2003-10-28 2013-07-18 Certicom Corp 公開鍵を検証可能に生成する方法及び装置
JP2007510336A (ja) * 2003-10-28 2007-04-19 サーティコム コーポレーション 公開鍵を検証可能に生成する方法及び装置
US9160530B2 (en) 2003-10-28 2015-10-13 Certicom Corp. Method and apparatus for verifiable generation of public keys
US9240884B2 (en) 2003-10-28 2016-01-19 Certicom Corp. Method and apparatus for verifiable generation of public keys
US9967239B2 (en) 2003-10-28 2018-05-08 Certicom Corp. Method and apparatus for verifiable generation of public keys
US8359469B2 (en) 2004-02-13 2013-01-22 Certicom Corp. One way authentication
US8938617B2 (en) 2004-02-13 2015-01-20 Certicom Corp. One way authentication
CN103108325A (zh) * 2011-11-10 2013-05-15 中兴通讯股份有限公司 一种信息安全传输方法及系统及接入服务节点
CN103108325B (zh) * 2011-11-10 2018-05-18 中兴通讯股份有限公司 一种信息安全传输方法及系统及接入服务节点

Also Published As

Publication number Publication date
WO1999023781A1 (en) 1999-05-14
EP1025674A1 (en) 2000-08-09
CA2306468A1 (en) 1999-05-14
AU1015499A (en) 1999-05-24
JP4307589B2 (ja) 2009-08-05
JP2001522071A (ja) 2001-11-13

Similar Documents

Publication Publication Date Title
US10530585B2 (en) Digital signing by utilizing multiple distinct signing keys, distributed between two parties
US7036015B2 (en) Verification protocol
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
JP4588874B2 (ja) 内在的証明書方式
US6178507B1 (en) Data card verification system
EP2179534A1 (en) Method and system for generating implicit certificates and applications to identity-based encryption (ibe)
JP2019537349A (ja) 複合デジタル署名
US7971234B1 (en) Method and apparatus for offline cryptographic key establishment
WO2022050833A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
JP4307589B2 (ja) 認証プロトコル
WO2003063410A1 (en) Cryptosystem

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081105

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090105

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

EXPY Cancellation because of completion of term