JPH10133576A - 公開鍵暗号方法および装置 - Google Patents

公開鍵暗号方法および装置

Info

Publication number
JPH10133576A
JPH10133576A JP8290525A JP29052596A JPH10133576A JP H10133576 A JPH10133576 A JP H10133576A JP 8290525 A JP8290525 A JP 8290525A JP 29052596 A JP29052596 A JP 29052596A JP H10133576 A JPH10133576 A JP H10133576A
Authority
JP
Japan
Prior art keywords
digital signature
value
hash function
public key
output
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
JP8290525A
Other languages
English (en)
Inventor
Kazuo Takaragi
和夫 宝木
Hiroyuki Kurumaya
博之 車谷
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8290525A priority Critical patent/JPH10133576A/ja
Priority to EP97118704A priority patent/EP0840478A3/en
Priority to US08/961,557 priority patent/US6341349B1/en
Publication of JPH10133576A publication Critical patent/JPH10133576A/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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】安全性が高く、ディジタル署名の長さを短くで
き、ディジタル署名の長さがシステム鍵の位数の長さに
依存しない公開鍵暗号方法および装置を得る。 【解決手段】メッセージMが与えられたときに、(1)ハッ
シュ関数Hを用いて、 e=H(M)を満たすeを求める処理
と、(2)乱数を変換して得られる数値xに対して、ハッシ
ュ関数Hの出力値よりも短い出力値を出力するようなハ
ッシュ関数hを用いて、 r=h(x)を満たすrを求める処
理、を含む公開鍵暗号方法によりディジタル署名を生成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータネッ
トワークにおけるセキュリティを確保する公開鍵暗号方
法および装置に関する。
【0002】
【従来の技術】電子的な商取引文書等に従来の印鑑に相
当する機能を付与するディジタル署名は、ネットワーク
の高度利用を可能とする技術として期待されている。従
来、電子メール暗号化技術PEM(Privacy Enhanced Mail)
等においては電子メール1通当たりただ1つのディジタ
ル署名を取り扱うに過ぎなかったが、今後の電子商取引
(エレクトロニックコマース)においては、購入者ばか
りでなく流通業者、販売者、金融関係者他の多数のディ
ジタル署名が付いた電子文書が取り扱われ、これに対応
した多重ディジタル署名の技術が必要になる。ここで、
多数のディジタル署名付きの電子文書を渡された人は、
自分のディジタル署名1個を生成する前に他人のディジ
タル署名N個の正当性を検証しなければならず、使い勝
手をよくするためにはディジタル署名N個の検証速度を
速くする必要がある。さらに、電子商取引においては、
電子文書の処理過程で複数人によりコメント追記がなさ
れる可能性がありこれにも対処できる必要がある。
【0003】従来、ディジタル署名技術の一例が、J. K
oeller, A. J. Menezes, M. Qu and S. A. Vanstone, S
tandard for RSA, Diffie-Hellman and Related Public
-Key Cryptography Elliptic Curve Systems(Draft 8),
IEEE P1363 Standard, IEEE, May 3, 1996に開示され
ている。
【0004】図9は上記公知例の実施例を示す。
【0005】図9において、ネットワーク1001にシステ
ム管理者のコンピュータ1002、ユーザAのコンピュータ1
003、および、ユーザBのコンピュータ1004が接続され相
互に通信されるようになっている。
【0006】次に図9における各装置の動作を示す。
【0007】(システムセットアップ)システム管理者
のコンピュータ1002は、楕円曲線1006を生成し、E上で
位数n1008のシステム鍵P1007を生成するとともに、それ
らを公開ファイル1005に掲載しておく。
【0008】(鍵生成)ユーザAのコンピュータ1003内
において、鍵生成機能1011は、次の処理を行う。
【0009】ステップ1:区間[2, n−2]の間でラン
ダムに整数dAを選ぶ。 ステップ2:QA=dAPを計算する。 ステップ3:QA1015を公開鍵として公開する。つまり、
公開鍵QA1015は、ユーザAの識別名とともにネットワー
ク1001経由でシステム管理者のコンピュータ1002に送信
され、そこで、公開ファイル1005内のユーザ名Aの欄100
9にユーザAの識別名が書き込まれるとともに、公開鍵QA
の欄1010に公開鍵QA1015の値が書き込まれる。 ステップ4:ユーザAのコンピュータ1003は、秘密鍵dA1
014の値を該ユーザAの秘密鍵として保持する。
【0010】(ディジタル署名生成)ユーザAのコンピ
ュータ1003内において、ディジタル署名生成機能1033は
次の処理を行う。
【0011】ステップ1:メッセージM1016を入力す
る。 ステップ2:ハッシュ関数H1028を用いてハッシュ値e=
H(M)を計算する。 ステップ3:乱数生成関数1029を用いて、区間[2, n−
2]の間で乱数kを選ぶ。 ステップ4:「楕円E上のスカラー倍」1030により、(x,
y)=kPを計算する。 ステップ5:計算「r=x+e (mod n) 」1031により、 r
=x+e (mod n)を計算する。 ステップ6:計算「s=k−dAr (mod n)」1032に秘密鍵d
A1017を入力して、s=k−dAr (mod n)を計算する。 ステップ7:メッセージM1016とディジタル署名(s, r)1
019をネットワーク1001経由でユーザBのコンピュータ10
24宛に送信する。
【0012】なお、ディジタル署名生成機能1033内の計
算に必要なパラメータとして、システム管理者のコンピ
ュータ1002内の公開ファイル1005のなかの楕円曲線100
6、システム鍵P1007、および、位数n1008が参照され
る。
【0013】(ディジタル署名検証)ユーザBのコンピ
ュータ1004内において、ディジタル署名検証機能1023
は、次の処理を行う。
【0014】ステップ1:システム管理者のコンピュー
タ1002の公開ファイル1005から、ユーザAの公開鍵QA101
0をとってきて、公開鍵QA1020とする。また、システム
管理者のコンピュータ1002の公開ファイル1005から、シ
ステム鍵P1007をとってきて、システム鍵P1019とする。
また、ユーザAのコンピュータ1003から送られてきたデ
ィジタル署名(s, r)1019を入力し、ディジタル署名(s,
r)1021とする。また、ユーザAのコンピュータ1003から
送られてきたメッセージM1016を入力し、メッセージM10
22とする。
【0015】ステップ2:システム鍵P1019と、公開鍵Q
A1020、ディジタル署名(s, r)1021を、「楕円E上のスカ
ラー倍と加算」1024に入力し、(x, y)=sP+rQAの計算
を行う。
【0016】ステップ3:メッセージM1022をハッシュ
関数H1025に入力し、ハッシュ値e=H(M)を計算する。
【0017】ステップ4:計算「r=x+e (mod n) 」10
26において、r=x+e (mod n)を計算する。
【0018】ステップ5:判定「r=r? 」1027におい
て、もしr=rであった場合、「認証する」を出力する。
さもなければ、「認証せず」を出力する。
【0019】なお、ディジタル署名検証機能1023内の計
算に必要なパラメータとして、システム管理者のコンピ
ュータ1002内の公開ファイル1005のなかの楕円曲線100
6、システム鍵P1007、および、位数n1008が参照され
る。
【0020】このような処理により、ディジタル署名
(s, r)はメッセージMに対してユーザAが生成した電子的
な捺印として機能する。すなわち、ユーザBはメッセー
ジMとディジタル署名(s, r)の組をユーザAが生成した証
拠として保持することができる。さらに、ユーザBはメ
ッセージMとディジタル署名(s, r)の組の正当性を認証
できるが、それを最初に生成することはできない。この
ことから、ユーザAは、後になって、ディジタル署名(s,
r)を生成したという事実を否定することはできない。
【0021】
【発明が解決しようとする課題】しかし、上記公知例に
おいては次のような課題があった。
【0022】(1)安全性の証明が不十分 一般にディジタル署名は秘密鍵を持たない人が生成でき
ては困る。もしそういうことが可能であれば、ディジタ
ル署名の正当性が保証されず、信用を必要とする電子取
引等に用いることができなくなる。
【0023】上記公知例においては、秘密鍵dAを知ら
ずにディジタル署名検証処理で「認証済み」と出力され
るような(s, r)を生成することはできない、ということ
を証明することが必要である。しかし、この証明はなさ
れていない。これは、上記公知例が見本としたエルガマ
ル署名が従来から指摘されている問題点でもある。
【0024】(2)ディジタル署名の長さが長い いま、次のように各パラメータのビット長が与えられて
いるとする。
【0025】(a) システム鍵Pの位数nを表すビット長:
lnビット(例、160ビット) (c) ハッシュ関数Hの出力を表すビット長:lHビット
(例、160ビット) (d) 秘密鍵dAのビット長:ldビット(例、128ビット) ここで、ハッシュ関数Hの出力長の例である160ビット
は、Hが衝突回避性という特性をもつために必要な長さ
であるとされている。衝突回避性とは、同じ出力値とな
るような異なる二つの入力値を見つけるのが計算量的に
困難である、という意味である。Hの出力値が160ビット
である場合、誕生日のパラドクスというアタック方法に
よって、平均して280回程度の試行で同じ出力値となる
ような異なる二つの入力値を見つけることができるが、
これは計算量的に困難である。
【0026】また、システム鍵Pの位数nのビット長の例
である160ビットは、楕円曲線上の加法に関する離散対
数問題が実行困難となるために必要なビット長を満足す
るものである。
【0027】このとき、ディジタル署名(s, r)のうちs
の長さはlnビット、rの長さはlnビットとなり、合計ln
+lnビット(例、320ビット)となる。
【0028】(3)ディジタル署名の長さが楕円曲線のパ
ラメータnの長さに依存して決まる。このため、将来、
安全性の理由等でnの長さが長くなった場合、ディジタ
ル署名の長さも長くなる。従来の公開鍵暗号のRSA、エ
ルガマル暗号等では、年月の経過とともに解読方法およ
びコンピュータ性能が発展しパラメータの長さを長くせ
ざるを得なくなったという経緯がある。これは、今後の
楕円暗号においても同様である可能性がある。つまり、
楕円暗号についても、年月の経過とともに解読方法およ
びコンピュータ性能が発展しパラメータnの長さを長く
せざるを得なくなると予想される。そこで、楕円暗号に
関しては、システム鍵Pの位数nの長さになるべく依存し
ないようにディジタル署名を構成できることが望まし
い。
【0029】本発明は上記の点に鑑みて成されたもので
あり、その目的とするところは、安全性の高い公開鍵暗
号および装置を得ることにある。
【0030】本発明の他の目的は、ディジタル署名の長
さを短くできる公開鍵暗号および装置を得ることにあ
る。
【0031】本発明の更に他の目的は、ディジタル署名
の長さが位数の長さに依存しない公開鍵暗号および装置
を得ることにある。
【0032】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の特徴とするところは、与えられたメッセー
ジMに対し、当該メッセージに押印したことを電子的に
認証するディジタル署名を生成、あるいは検証するに当
たり、ハッシュ関数Hを用いて、e=H(M)を満たすeを求
める処理と、乱数を変換して得られる数値xに対して、
前記ハッシュ関数Hの出力値よりも短い出力値を出力す
るハッシュ関数hを用いて、r=h(x)を満たすrを求める
処理とを含むことを特徴とする公開鍵暗号方法にある。
【0033】また、本発明の特徴とするところは、N人
のユーザi(i=1, ・・・, N)がそれぞれメッセージあるい
はコメントMiを付け加えて順番に押印したことを電子的
に認証するための多重ディジタル署名を生成、あるいは
検証するに当たり、ハッシュ関数Hを用いて、ei=H(Mi)
を計算する処理と、乱数を変換して得られる数値xiに対
して、ハッシュ関数Hの出力値よりも短い出力値を出力
するようなハッシュ関数hを用いて、ri=h(xi)を満たす
riを求める処理とをi=1からNまでの各iについて実行す
る処理とを含むことを特徴とする公開鍵暗号方法にあ
る。
【0034】また、本発明の特徴とするところは、与え
られたメッセージMに対し、当該メッセージに押印した
ことを電子的に認証するディジタル署名を生成、あるい
は検証するに当たり、ハッシュ関数Hを用いて、e=H(M)
を満たすeを求める処理手段と、乱数を変換して得られ
る数値xに対して、前記ハッシュ関数Hの出力値よりも短
い出力値を出力するハッシュ関数hを用いて、r=h(x)を
満たすrを求める処理手段とを具備して成る公開鍵暗号
装置にある。
【0035】また、本発明の特徴とするところは、N人
のユーザi(i=1, ・・・, N)がそれぞれメッセージあるい
はコメントMiを付け加えて順番に押印したことを電子的
に認証するための多重ディジタル署名を生成、あるいは
検証するに当たり、ハッシュ関数Hを用いて、ei=H(Mi)
を計算する処理手段と、乱数を変換して得られる数値xi
に対して、ハッシュ関数Hの出力値よりも短い出力値を
出力するようなハッシュ関数hを用いて、ri=h(xi)を満
たすriを求める処理手段とを備え、これら処理手段を、
i=1からNまでの各iについて実行する処理手段とを具備
して成る公開鍵暗号装置にある。
【0036】
【発明の実施の形態】図1は本発明の第一の実施例を示
す図であり、ネットワーク101にAのパソコン102、およ
び、Bのパソコン103、Cのパソコン104が接続されてい
る。Aのパソコン102では、単一ディジタル署名生成アル
ゴリズムAL1105、システム鍵P117、Aの秘密鍵d1118によ
り、Aの作成文書M1110に対するA氏署名(s1, r1)111が作
成され、ネットワーク101経由でBのパソコン103に送信
される。Bのパソコン103では単一ディジタル署名検証ア
ルゴリズムAL1107、システム鍵P119、Aの公開鍵Q1120に
よりA氏作成文書M1110とA氏署名(s1, r1)111の組として
の正当性を検証するとともに、二重ディジタル署名生成
アルゴリズムAL2106、システム鍵P119、秘密鍵d2121を
用いてA氏作成文書M1115 、A氏署名(s1, r1)111、B氏追
加箇所M2114に対するA氏、B氏署名(s2, r1, r2)113が作
成され、ネットワーク101経由でCのパソコン104に送信
される。Cのパソコン104では二重ディジタル署名検証ア
ルゴリズムAL2108、システム鍵P122、Aの公開鍵Q1123、
Bの公開鍵Q2123を用いて、A氏作成文書M1115、B氏追加
箇所M2114とA氏、B氏署名(s2, r1, r2)113の組としての
正当性が検証される。
【0037】図2は、図1における単一ディジタル署名
生成アルゴリズムAL1の処理フローを示す。以下、図2
について説明する。
【0038】(単一ディジタル署名生成アルゴリズムAL
1) ステップ201:処理のはじめ ステップ202: A氏作成文書M1110, システム鍵P117 、
秘密鍵d1118を入力する。 ステップ203:lHビットの乱数k1を生成する。 ステップ204:(x1, y1)=k1Pを計算する。 ステップ205:lH/2ビットのハッシュ値r1=h(x1) を計
算する。 ステップ206:lHビットのハッシュ値e1=H(M1) を計算
する。 ステップ207:s1=k1+d1(e1+r1) (mod n)を計算す
る。 ステップ208:単一ディジタル署名(s1, r1)111の値を出
力する。 ステップ209:処理のおわり。
【0039】この処理によって生成される単一ディジタ
ル署名(s1, r1)は、A氏がメッセージM1に押印して得ら
れる印影に相当する。つまり、メッセージM1が与えられ
たとき、A氏だけが保管する印鑑相当の秘密鍵d1を使用
した場合にのみ、単一ディジタル署名(s1, r1)は生成さ
れる。
【0040】図3は、図1における単一ディジタル署名
検証アルゴリズムAL1 の処理フローを示す。以下、図3
について説明する。
【0041】(単一ディジタル署名検証アルゴリズムAL
1) ステップ301:処理のはじめ。 ステップ302: A氏作成文書M1110, 単一ディジタル署名
(s1, r1) 111を入力する。 ステップ303: システム鍵P119、公開鍵Q1120を入力す
る。 ステップ304:lHビットのハッシュ値e1=H(M1) を計算
する。 ステップ305:(x1, y1) =s1P−(e1+r1)Q1を計算す
る。 ステップ306:r1=h(x1)を計算する。 ステップ307:もしr1=r1なら、ステップ308に進む。さ
もなければ、ステップ310に進む。 ステップ308:「認証する」を出力する。 ステップ309:第1楕円点(x1, y1)を出力する。ステッ
プ311へ進む。 ステップ310:「認証せず」を出力する。 ステップ311:処理のおわり。
【0042】この処理では、単一ディジタル署名(s1, r
1)は正しい印影であるかどうかを確認することに相当す
る処理を行う。つまり、メッセージM1と単一ディジタル
署名(s1, r1)を受け取ったB氏は、印鑑登録票に相当す
る公開鍵Q1を参照することで、その正当性を確認する。
ここで、B氏はA氏の印鑑に相当する秘密鍵d1を使用しな
いままに確認ができていることに注意しよう。
【0043】図4は、図1における二重ディジタル署名
生成アルゴリズムAL2の処理フローを示す。以下、図4
について説明する。
【0044】(二重ディジタル署名生成アルゴリズムAL
2) ステップ401:処理のはじめ。 ステップ402: B氏追加箇所M2114、システム鍵P119、お
よび、秘密鍵d2121を入力する。 ステップ403:ステップ309で出力された第1楕円点(x1,
y1)を入力する。 ステップ404:lHビットの乱数k2を生成する。 ステップ405:(x, y)=k2Pを計算する。 ステップ406:(x2, y2)=(x1, y1)+(x, y)を計算す
る。 ステップ407:lH/2ビットのハッシュ値r2=h(x2) を計
算する。 ステップ408:lHビットのハッシュ値e2=H(M2) を計算
する。 ステップ409:s2=s1+k2+d2(e2+r1+r2) (mod n)を
計算する。 ステップ410:二重ディジタル署名(s2, r1, r2) 113の
値を出力する。 ステップ411:処理のおわり。
【0045】この処理によって生成される二重ディジタ
ル署名(s2, r1, r2)は、A氏が生成した単一ディジタル
署名(s1, r1)付きメッセージM1にB氏がコメントM2を付
け加えたうえで書類全体に押印して得られる印影に相当
する。つまり、他人の単一ディジタル署名(s1, r1)付き
メッセージM1が与えられ、かつ、本人が書き加えたいコ
メントM2があったとき、B氏だけが保管する印鑑相当の
秘密鍵d2を使用した場合にのみ、それら書類全体に押印
したことを示す二重ディジタル署名(s2, r1, r2)が生成
される。
【0046】図5は、図1の二重ディジタル署名検証ア
ルゴリズムAL2の処理フローを示す。以下、図5につい
て説明する。
【0047】(二重ディジタル署名検証アルゴリズムAL
2) ステップ501:処理のはじめ。 ステップ502: A氏作成文書M1115、B氏追加箇所M2114、
および、二重ディジタル署名(s2, r1, r2) 113を入力す
る。 ステップ503:システム鍵P122、公開鍵Q1123、および、
公開鍵Q2123を入力する。 ステップ504:lHビットのハッシュ値e1=H(M1)を計算す
る。 ステップ505:lHビットのハッシュ値e2=H(M2)を計算す
る。 ステップ506:(x2, y2)=s2P−(e1+r1)Q1−(e2+r1+r
2)Q2を計算する。 ステップ507:r2=h(x2)を計算する。 ステップ508:もしr2=r2ならば、ステップ509に進む。
さもなければ、ステップ511に進む。 ステップ509:「認証する」を出力する。 ステップ510:第2楕円点(x2, y2)を出力する。ステッ
プ512に進む。 ステップ511:「認証せず」を出力する。 ステップ512:処理のおわり。
【0048】この処理では、二重ディジタル署名(s2, r
1, r2)は正しい印影であるかどうかを確認することに相
当する処理を行う。つまり、メッセージM1、メッセージ
M2と二重ディジタル署名(s2, r1, r2)を受け取ったC氏
は、印鑑登録票に相当する公開鍵Q1、Q2を参照すること
で、その署名は正にA氏、および、B氏によってなされた
ものであることを確認する。ここで、C氏はA氏の印鑑に
相当する秘密鍵d1 、および、B氏の印鑑に相当する秘密
鍵d2のいずれをも使用しないままに確認ができているこ
とに注意しよう。
【0049】(第2の実施例)前記の第一の実施例で
は、2つの秘密鍵d1、d2を作用させて生成される二重デ
ィジタル署名の実施例を示した。この方法は、一般に、
N個の秘密鍵d1、d2、・・・、dNを作用させて生成され
るN重ディジタル署名に拡張することができる。
【0050】図6は、N=3とした場合の拡張の例を示し
ている。図6においては、ネットワーク101には、Aのパ
ソコン102、Bのパソコン103、Cのパソコン104に加え、
新たにDのパソコン606が接続されている。 Cのパソコン
104には、二重ディジタル署名検証アルゴリズムAL210
8、システム鍵122、公開鍵Q1123、公開鍵Q2124に加え、
新たに三重ディジタル署名生成アルゴリズムAL3604、秘
密鍵d3605が設定されている。Cのパソコン104は、Cの作
成文書601を生成し、Dのパソコン606に送信する。Cの作
成文書601はA氏作成文書613、B氏追加箇所614、A氏署名
615に加え、新たにC氏追加箇所603、C氏署名602が追加
されている。Dのパソコン606には、三重ディジタル署名
検証アルゴリズムAL3607、システム鍵P608、公開鍵Q160
9、公開鍵Q2610、公開鍵Q3611が設定されている。
【0051】図7は、図6におけるCのパソコン104の三
重ディジタル署名生成アルゴリズムAL3604の処理を示
す。
【0052】(三重ディジタル署名生成アルゴリズムAL
3) ステップ701:処理のはじめ。 ステップ702:C氏追加箇所M3603、秘密鍵d3605、シス
テム鍵P122、二重ディジタル署名(s2, r1, r2)612入
力。 ステップ703:ステップ510で出力された第2楕円点(x2,
y2)を入力。 ステップ704:lHビットの乱数k3を生成する。 ステップ705:(x, y)=k2Pを計算する。 ステップ706:(x3, y3)=(x2, y2)+(x, y)を計算す
る。 ステップ707:lH/2ビットのハッシュ値r3=h(x3) を計
算する。 ステップ708:lHビットのハッシュ値e3=H(M3) を計算
する。 ステップ709:s3=s1+s2+k3+d2(e2+r1+r2) (mod
n)を計算する。 ステップ710:二重ディジタル署名(s3, r1, r2, r3) 60
2の値を出力する。 ステップ711:処理のおわり。
【0053】この処理によって生成される二重ディジタ
ル署名(s3, r1, r2, r3) は、A氏、B氏の多重ディジタ
ル署名(s2, r1, r2)付きメッセージM1、M2にC氏がコメ
ントM3を付け加えたうえで書類全体に押印して得られる
印影に相当する。つまり、他人の多重ディジタル署名(s
2, r1, r2)付きメッセージM11、M2が与えられ、かつ、
本人が書き加えたいコメントM3があったとき、C氏だけ
が保管する印鑑相当の秘密鍵d3を使用した場合にのみ、
それら書類全体に押印したことを示す三重ディジタル署
名(s3, r1, r2, r3) が生成される。
【0054】図8は、図6におけるDのパソコン606の三
重ディジタル署名検証アルゴリズムAL3607の処理を示
す。以下、図8につて説明する。
【0055】(二重ディジタル署名検証アルゴリズムAL
3) ステップ801:処理のはじめ。 ステップ802: A氏作成文書M1613、B氏追加箇所M2614、
C氏追加箇所M2603、および、三重ディジタル署名(s3,
r1, r2, r3)602を入力する。 ステップ803:システム鍵P608、公開鍵Q1609、公開鍵Q2
610、および、公開鍵Q3611を入力する。 ステップ804:lHビットのハッシュ値e1=H(M1)を計算す
る。 ステップ805:lHビットのハッシュ値e2=H(M2) を計算
する。 ステップ806:lHビットのハッシュ値e3=H(M3) を計算
する。 ステップ807:(x3, y3)=s3P−(e1+r1)Q1−(e2+r1+r
2)Q2−(e3+r1+r2+r3)Q3を計算する。 ステップ808:r3=h(x3)を計算する。 ステップ809:もしr3=r3ならば、ステップ509に進む。
さもなければ、ステップ812に進む。 ステップ810:「認証する」を出力する。 ステップ811:第3楕円点(x3, y3)を出力する。ステッ
プ813に進む。 ステップ812:「認証せず」を出力する。 ステップ813:処理のおわり。
【0056】この処理では、三重ディジタル署名(s3, r
1, r2, r3)は正しい印影であるかどうかを確認すること
に相当する処理を行う。つまり、メッセージM1、メッセ
ージM2、メッセージM3と三重ディジタル署名(s3, r1, r
2, r3)を受け取ったD氏は、印鑑登録票に相当する公開
鍵Q1、Q2、Q3を参照することで、その署名は正にA氏、
B氏、および、C氏によってなされたものであることを確
認する。ここで、D氏はA氏の印鑑に相当する秘密鍵d
1 、B氏の印鑑に相当する秘密鍵d2、および、C氏の印鑑
に相当する秘密鍵d3のいずれをも使用しないままに確認
ができていることに注意しよう。
【0057】同様に、N=4以上の場合についても、この
方法を拡張することができる。つまり、一般に、N人の
ユーザi(i=1, ・・・, N)がそれぞれメッセージあるいは
コメントMiを付け加えて順番に押印したことを電子的に
認証するための多重ディジタル署名を認証する方法とし
て、次のようにしてもよい。
【0058】(ユーザi(2≦i≦N)による多重ディジタル
署名の認証手順) ステップ901:処理のはじめ。 ステップ902:i-1個のメッセージあるいはコメント
M1, ・・・, Mi-1、および、一つ前の順番のユーザi-1が
生成した(i-1)重ディジタル署名(si-1, r1, ・・・, r
i-1)を入力する。 ステップ903:k=1からi-1について、ハッシュ値ek
H(Mk)の計算を繰り返す。 ステップ904:k=1からi-1について、Qk=dkPを満足
するように予め生成され登録された公開鍵Qkの入力を繰
り返す。 ステップ905:楕円曲線上の点、
【0059】
【数5】
【0060】を計算する。 ステップ906:ハッシュ値ri-1=h(xi-1)を計算する。 ステップ907:もし、 ri-1=ri-1なら、認証された由を
示すデータを出力する。 ステップ908:楕円曲線上の点、(xi-1, yi-1)を出力す
る。ステップ910へ進む。 ステップ909:もし、 ri-1≠ri-1なら、認証されなかっ
た由を示すデータを出力する。 ステップ910:処理のおわり。
【0061】また、N人のユーザi(i=1, ・・・, N)がそれ
ぞれメッセージあるいはコメントMiを付け加えて順番に
押印したことを電子的に認証するための多重ディジタル
署名を生成する方法として、次のようにしてもよい。
【0062】(ユーザi(2≦i≦N)による多重ディジタル
署名の生成手順) ステップ1001:処理のはじめ。 ステップ1002:前記ステップ908で得られた(xi-1,
yi-1)を入力する。 ステップ1003:ハッシュ値ei=H(Mi) を計算する。 ステップ1004:乱数kiを生成する。 ステップ1005:(x, y)=kiPを計算する。 ステップ1006:(xi, yi)=(xi-1, yi-1)+(x, y)を計算
する。 ステップ1007:ハッシュ値ri=h(xi) を計算する。 ステップ1008:秘密鍵diを使って、
【0063】
【数6】
【0064】を満たすsiを求める。 ステップ1009:得られた数値の組(si, r1, ・・・,ri)をデ
ィジタル署名として出力する。 (第三の実施例)前記の第一の実施例では、楕円曲線上
で定義される加算を利用した多重ディジタル署名の実施
例を示したが、一般にアーベル群上で定義されるニ項演
算を利用して同様に多重ディジタル署名を実現してもよ
い。
【0065】例えば、nを1,000ビット程度の大きな素数
として、1からnー1の間の整数の集合Znにおいて、法nの
世界での乗算を定義すると、 Znはアーベル群となる。
システム鍵P(1<P<n)を適当に選び、秘密鍵dと公開鍵Q
の間には、 Q=Pd (mod n)・・・・・・・・・・・・・・・・・・・・・・・ (1) の関係式が成立するようにしておく。
【0066】式(1)において、Q, P, nが与えられたとき
dを求める問題は離散対数問題であり、nが大きいとき、
その問題を解くことは計算量的に困難となる。
【0067】このようにしておくと、例えば、第一の実
施例の単一ディジタル署名生成アルゴリズムAL1は次の
ように変形される。
【0068】(単一ディジタル署名生成アルゴリズムAL
1) ステップ201:処理のはじめ ステップ202: A氏作成文書M1, システム鍵P、秘密鍵d1
を入力する。 ステップ203:lHビットの乱数k1を生成する。 ステップ204:x1=Pk1を計算する。 ステップ205:lH/2ビットのハッシュ値r1=h(x1) を計
算する。 ステップ206:lHビットのハッシュ値e1=H(M1) を計算
する。 ステップ207:s1=k1+d1(e1+r1) (mod n)を計算す
る。 ステップ208:単一ディジタル署名(s1, r1)の値を出力
する。 ステップ209:処理のおわり。
【0069】このように変形して得られる単一ディジタ
ル署名(s1, r1)は第一の実施例と同様の効果をもたら
す。多重ディジタル署名についても同様の変形をして、
同様の効果を得ることできる。
【0070】以上のように構成すれば、次のような効果
を得ることができる。すなわち、 (1)他人の秘密鍵を知らずに他人のディジタル署名を偽
造することはできない。単一のディジタル署名(s1, r1)
の偽造防止に関する安全性は、定理1によって示され
る。また、二重ディジタル署名(s2, r1, r2)の偽造防止
に関する安全性は、定理2によって示される。N重ディ
ジタル署名についても同様に安全性が示される。
【0071】(2)ディジタル署名の長さを短くできる。
いま、位数nの長さを160ビット、全ハッシュ関数Hの出
力値の長さを160ビットとすると、従来方式による単一
ディジタル署名の長さは320ビットとなるのに対して、
本実施例では、240ビットとなる。また、従来方式によ
るニ重ディジタル署名の長さは640ビットとなるのに対
して、本実施例では、320ビットとなる。一般に、N重デ
ィジタル署名を行う場合、従来方式では署名長が320×N
ビットになるのに対して、本実施例では、署名長は160
+80×Nビットとなる。Nが大きい場合、本実施例による
署名長は従来方式によるものに比べて約1/4となり、デ
ィジタル署名の長さが大幅に削減される。
【0072】(3)ディジタル署名の長さを位数nの長さに
依存しないようにできる。いま、全ハッシュ関数Hの出
力の長さは、乱数kの長さよりも十分長いとすれば、署
名のうちのsの長さは全ハッシュ関数Hの出力の長さ+秘
密鍵dの長さ以下に抑えることができる。よって、位数n
の長さとは無関係にN重ディジタル署名の長さは、全ハ
ッシュ関数Hの出力の長さ+秘密鍵d+N×半ハッシュ関
数hの出力の長さ、より以下にすることができる。
【0073】(補題1)Hを一方向性をもつハッシュ関
数とする。アルゴリズムALは、計算量的に実行困難でな
いアルゴリズムとし、ハッシュ関数Hを使わずに生成さ
れたデータを入力とし、計算途中において、y=H(x)を
満足する数値xとyをメモリ上に生成するものとする。こ
のとき、数値xが過去一度もメモリ上に現れたことのな
い時点で、数値yがメモリ上に現れることはない。
【0074】(証明)背理法により証明する。もし、 y
=H(x)を満足するyがxよりも先にメモリ上に現れたとす
る。このとき、Hは一方向であることからHの逆変換x=H
-1(y)の計算はできないから、xをメモリ上に生成するた
めには、y=H(x)を満足するxを導けるような入力データ
を外部から与えられていなければならない。これは、ハ
ッシュ関数Hを使わずに生成されたデータを入力とする
ことに矛盾する。
【0075】(証明終わり) (定理1)楕円曲線上の加法に関する離散対数問題は解
けないとする。また、lHビットのハッシュ関数H(・)は
衝突回避性かつ一方向性を有するとする。 lH /2ビット
のハッシュ関数h(・)は一方向性をもつとする。このと
き、ln ≧ lH であれば、秘密鍵d1を知ることなく、シ
ステム鍵P、公開鍵Q1を入力とし、AL1で「認証する」と
出力されるようなメッセージM1と単一ディジタル署名(s
1, r1)を出力するようなアルゴリズムAL3は存在しな
い。
【0076】(証明)いま、システム鍵P、公開鍵Q1
入力とし、検証処理AL1において「認証する」と出力さ
れるようなメッセージM1と単一ディジタル署名(s1, r1)
を秘密鍵d1を知ることなく出力するアルゴリズムAL3
あったとする。すなわち、次の入出力を行うアルゴリズ
ムAL3があったとする。
【0077】AL3の入力:システム鍵P、公開鍵Q1 AL3の出力:メッセージM1, 単一ディジタル署名(s1,
r1) ただし、M1と(s1, r1)は、 (x1, y1)=s1P−(e1+r1)Q1 ・・・・・・・・・・・・・・・・・・・・・・ (2) r1=h(x1) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (3) e1=H(M1) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (4) を満足する。
【0078】ここで、ln ≧ lHが成立している。
【0079】このとき、AL3の出力は、 M1, s1, r1の3
つであるので、 AL3の処理フローにおいては次のいずれ
かの順序で正しい出力値が現れる。
【0080】ケース1:s1, r1, M1の順に正しい出力値
が現れる。
【0081】ケース2:r1, s1, M1の順に正しい出力値
が現れる。
【0082】ケース3:s1, M1, r1の順に正しい出力値
が現れる。
【0083】ケース4:M1, s1, r1の順に正しい出力値
が現れる。
【0084】ケース5:r1, M1, s1の順に正しい出力値
が現れる。
【0085】ケース6:M1, r1, s1の順に正しい出力値
が現れる。
【0086】ケース1、2においては、処理フローのあ
る時点において、s1とr1の正しい出力値が先に現れ、M1
の正しい出力値が現れていない。この時点においては、
(3)式のhはハッシュ関数であるから、補題1により、r1
の前にx1の正しい出力値が現れているはずである。x1
値が決まると、(2)式の(x1, y1)は楕円E上の点であるか
らy1は2とおりの値±βのいずれかの値となる。y1の値
が+βか−βかのいずれかであるかに対応して(2)式を
満足するe1の値は2とおりに限定される。この時点以降
に、これらe1の値のいずれかを満足するように(4)式を
満たすM1が決められるはずである。しかし、この場合、
(4)式において、Hがハッシュ関数であることに反する。
よってケース1、2の場合は生じない。
【0087】ケース3、4においては、処理フローのあ
る時点において、s1とM1の正しい出力値が先に現れ、r1
の正しい出力値が現れていない。この時点においては、
(4)式により、e1の値は一意に決まる。この時点以降
に、(2), (3)式を満足するr1が決まるはずである。しか
し、ここで、r1の正しい出力値が先に現れその後でx1
値が決まることはない。なんとなれば、(3)式のhはハッ
シュ関数であるからである。さらに、 x1の正しい出力
値が先に現れその後でr1の値が決まることもない。なん
となれば、その場合、(2)式において、楕円上の加法に
関する離散対数問題が解けることになり仮定に矛盾する
からである。つまり、r1の値は後にも先にも決まらな
い。よって、ケース3、4の場合は生じない。
【0088】ケース5、6においては、処理フローのあ
る時点において、r1とM1の正しい出力値が先に現れ、s1
の正しい出力値が現れていない。この時点においては、
(4)式により、e1の値は一意に決まる。この時点以降
に、(2), (3)式を満足するs1が決まるはずである。しか
し、ここで、s1の正しい出力値が先に現れその後でx1
値が決まることはない。なんとなれば、(3)式のhはハッ
シュ関数であり、先にr1が決まる以前にx1の正しい出力
値が現れているはずであるからである。さらに、x1の正
しい出力値が先に現れその後でs1の値が決まることもな
い。なんとなれば、その場合、(2)式が未知数s1に関し
て解ける、つまり、楕円上の加法に関する離散対数問題
が解けることになり仮定に矛盾するからである。つま
り、s1の値は後にも先にも決まらない。よって、ケース
5、6の場合は生じない。
【0089】すなわち、ケース1〜6のいずれの場合も
生じない。したがって、AL3は存在しない。
【0090】(証明終わり)なお、定理1の証明におい
て、仮定1: ln ≧ lHが成立しない場合は、アルゴリズ
ムAL3が存在し得ることに注意を要する。
【0091】つまり、 ln < lHが成立する場合、秘密
鍵dを知らなくても単一ディジタル署名検証アルゴリズ
ムAL1が「認証済み」と出力するようなメッセージM1
単一ディジタル署名(s1, r1)を生成することが可能とな
る場合がある。
【0092】例えば、 s=k+d(r+e) (mod n) において、lnが小さくなること、すなわち、nの値が小
さくなることによってe=H(M) (mod n)の衝突回避性が
崩れ、M≠Mとなる次のようなメッセージMとMに対して同
じsの値となるよう計算することができる。
【0093】M: 「FT J#&・GH 販売会社御中 車Aを1,
050,000円で購入します。 宝木」 M: 「IG#.Hy8(Jk 販売会社御中 車Aを2,050,000円で
購入します。 宝木」 ここで、悪意の販売会社はMのような購入申込書を作成
して宝木に渡す。冒頭部分の文字列FT J#&・GHは、安全
上の配慮のため付け加えたと偽っておく。宝木は車Aの
値段が安いので喜んで署名し契約する。ところが後日に
なって、販売会社からはMのメッセージとそれに対する
宝木の署名が提示され、倍近い値段を支払うよう請求書
がくる。確認してみると確かに宝木がした署名となって
いる。
【0094】このような不正を防ぐため、 Hは一方向性
かつ衝突回避性のハッシュ関数であり、かつ、 ln ≧lH
が成立するよう楕円曲線関係のパラメータnは大きな値
にしておく必要がある。
【0095】また、上記証明においてhは一方向性のハ
ッシュ関数でよく、必ずしも衝突回避性は要求されない
ことに注意を要する。ただし、hが一方向性でない場
合、式(2)においてrを固定してsとMを動かして種々のx
を計算し、式(3)を成立させるような値を見つけること
ができる。そのようにして見つけたMと(r, s)が偽造の
メッセージとその署名となる。よって、 hは一方向性の
ハッシュ関数であることは必要である。
【0096】(2)また、本発明によれば、ディジタル署
名を短くすることができる。
【0097】本発明では、単一ディジタル署名(s1, r1)
の長さはln +lH/2ビット(例、240ビット)となり、従
来の署名長ln+ln(例、320ビット)より署名長を短く
できる。また、二重ディジタル署名(s2, r1, r2)の長さ
はln +lH/2+lH/2ビット(例、320ビット)となり、従
来の署名長ln+ln+ln (例、480ビット)より署名長を
短くできる。
【0098】(定理2)楕円曲線上の加法に対する離散
対数問題は解けないとする。また、lHビットのハッシュ
関数H(・)は衝突回避性および一方向性をもつとする。
lH /2ビットのハッシュ関数h(・)は一方向性をもつとす
る。このとき、ln ≧ lH であれば、秘密鍵d2を知るこ
となく、AL2で「認証済み」と出力されるような二重デ
ィジタル署名(s2, r1, r2)を生成するアルゴリズムAL4
は存在しない。
【0099】(証明)いま、検証処理AL2において「認証
済み」と出力されるような二重ディジタル署名(s2, r1,
r2)を秘密鍵d1と秘密鍵d2を両方知ることなく生成する
アルゴリズムAL4があったとする。すなわち、 AL4の入力:システム鍵P、公開鍵Q1, Q2 AL4の出力:メッセージM1, M2、二重ディジタル署名 (s
2, r1, r2) ただし、(s2, r1, r2)は、 e1=H(M1) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (4) e2=H(M2) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (5) (x2, y2)=s2P−(e1+r1)Q1−(e2+r1+r2)Q2 ・・・・・・ (6) r2=h(x2) ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ (7) を満足する。
【0100】このとき、AL4のフローにおいては次のい
ずれかの順序で正しい出力値が現れる。
【0101】ケース1:s2, r1, r2の順に正しい出力値
が現れる。
【0102】ケース2:r1, s2, r2の順に正しい出力値
が現れる。
【0103】ケース3:s2, r2, r1の順に正しい出力値
が現れる。
【0104】ケース4:r2, s2, r1の順に正しい出力値
が現れる。
【0105】ケース5:r1, r2, s2の順に正しい出力値
が現れる。
【0106】ケース6:r2, r1, s2の順に正しい出力値
が現れる。
【0107】ケース1〜6に共通するこことして、先
ず、xの正しい出力値が現れた後に、式(7)によりr2の正
しい出力値が求められるという計算順序になる。さもな
ければ、hが一方向性のハッシュ関数であるという前提
に反する。
【0108】さらに、ケース1〜6に共通するこことし
て、先ず、M1, M2の正しい出力値が現れた後に、式(4),
(5)によりe1, e2の値が求められるという計算順序とな
る。さもなければ、 Hが一方向性かつ衝突回避性のハッ
シュ関数であるという前提に反する。
【0109】ケース1、2においては、処理フローのあ
る時点において、s2とr1の正しい出力値が先に現れ、r2
の正しい出力値が現れていない。この時点以降に、(6)
式を満足するr2が決まるはずである。しかし、ここで、
(a) e1, e2の正しい出力値が現れた後で、r2の正しい出
力値が最後に現れることはない。なんとなれば、この場
合、x2が決まり、r2が決まるという順序になるが、この
とき、(6)式がr2を未知数として解かれることになり、
楕円上の離散対数問題が解けないということに矛盾する
からである。さらに、(b) e1, r2の正しい出力値が現れ
た後で、e2の正しい出力値が最後に現れることはない。
なんとなれば、この場合、(6)式がe2を未知数として解
かれることになり、楕円上の離散対数問題が解けないと
いうことに矛盾するからである。さらに、(c) e2, r2
正しい出力値が現れた後で、e1の正しい出力値が最後に
現れることはない。なんとなれば、この場合、(6)式がe
2を未知数として解かれることになり、楕円上の離散対
数問題が解けないということに矛盾するからである。
【0110】ケース3、4においては、処理フローのあ
る時点において、s2とr2、および、x2の正しい出力値が
先に現れ、r1の正しい出力値が現れていない。この時点
以降に、(6)式を満足するr1が決まるはずである。しか
し、ここで、(a) e1, e2の正しい出力値が現れた後で、
r1の正しい出力値が最後に現れることはない。もし、e2
の正しい出力値が最後に現れたとする。
【0111】(i) もし、秘密鍵d1を知っており、秘密鍵
d2を知っていないとする。この場合、(6)式は次式のよ
うに変形される。
【0112】 (x2, y2)=(s2−d1(e1+r1))P−(e2+r1+r2)Q2 ・・・・・・・・・・・・・・ (8) このとき、(8)式がr1を未知数として解かれることにな
り、楕円上の離散対数問題が解けないということに矛盾
する。
【0113】(ii) もし、秘密鍵d2を知っており、秘密
鍵d1を知っていないとする。この場合、(6)式は次式の
ように変形される。
【0114】 (x2, y2)=(s2−d2(e2+r1+r2))P−(e1+r1) Q1 ・・・・・・・・・・・・・ (9) このとき、(9)式がr1を未知数として解かれることにな
り、楕円上の離散対数問題が解けないということに矛盾
する。
【0115】(iii) もし、秘密鍵d2も秘密鍵d1も知って
いないとする。この場合、(6)式がr1を未知数として解
かれることになり、楕円上の離散対数問題が解けないと
いうことに矛盾する。
【0116】よって、 e1, e2の正しい出力値が現れた
後で、r1の正しい出力値が最後に現れることはない。
【0117】さらに、(b) e1, r1の正しい出力値が現れ
た後で、e2の正しい出力値が最後に現れることはない。
なんとなれば、この場合、(6)式がe2を未知数として解
かれることになり、楕円上の離散対数問題が解けないと
いうことに矛盾するからである。さらに、(c) e2, r1
正しい出力値が現れた後で、e1の正しい出力値が最後に
現れることはない。なんとなれば、この場合、(6)式がe
1を未知数として解かれることになり、楕円上の離散対
数問題が解けないということに矛盾するからである。よ
って、ケース3、4の場合は生じない。
【0118】ケース5、6においては、処理フローのあ
る時点において、r1とr2、および、x2の正しい出力値が
先に現れ、s2の正しい出力値が現れていない。この時点
以降に、(6)式を満足するs2が決まるはずである。しか
し、ここで、 (a) e1, e2の正しい出力値が現れた後
で、s2の正しい出力値が最後に現れることはない。なん
となれば、この場合、 (6)式がs2を未知数として解かれ
ることになり、楕円上の離散対数問題が解けないという
ことに矛盾するからである。さらに、(b) e1, s2の正し
い出力値が現れた後で、e2の正しい出力値が最後に現れ
ることはない。なんとなれば、この場合、(6)式がe2
未知数として解かれることになり、楕円上の離散対数問
題が解けないということに矛盾するからである。さら
に、(c) e2, s2の正しい出力値が現れた後で、e1の正し
い出力値が最後に現れることはない。なんとなれば、こ
の場合、(6)式がe1を未知数として解かれることにな
り、楕円上の離散対数問題が解けないということに矛盾
するからである。よって、ケース5、6の場合は生じな
い。
【0119】すなわち、ケース1〜6のいずれの場合も
生じ得ない。したがって、AL4は存在しない。
【0120】(証明終わり)
【0121】
【発明の効果】以上の説明から明らかなように、本発明
によれば、安全性の高い公開鍵暗号および装置を得るこ
とができる。
【0122】また、本発明によれば、ディジタル署名の
長さを短くできる公開鍵暗号および装置を得ることがで
きる。
【0123】更に又、本発明に依れば、ディジタル署名
の長さが位数の長さに依存しない公開鍵暗号および装置
を得ることができる。
【図面の簡単な説明】
【図1】本発明の第一の実施例を示すシステム構成図で
ある。
【図2】図1のシステム構成のうちAのパソコンの単一
署名生成処理を示すフローチャートである。
【図3】図1のシステム構成のうちBのパソコンの単一
署名検証処理を示すフローチャートである。
【図4】図1のシステム構成のうちBのパソコンの二重
署名生成処理を示すフローチャートである。
【図5】図1のシステム構成のうちCのパソコンの二重
署名検証処理を示すフローチャートである。
【図6】本発明の第二の実施例を示すシステム構成図で
ある。
【図7】図6のシステム構成のうちCのパソコンの三重
署名生成処理を示すフローチャートである。
【図8】図6のシステム構成のうちDのパソコンの三重
署名検証処理を示すフローチャートである。
【図9】従来例を示すシステム構成図である。
【符号の説明】
ネットワーク101、Aのパソコン102、Bのパソコン103、C
のパソコン104、システム鍵P117、 Aの公開鍵Q1120、B
の公開鍵Q2123、 Aの秘密鍵d1118、 Bの秘密鍵d2121、
単一ディジタル署名生成アルゴリズムAL1105、単一ディ
ジタル署名検証アルゴリズムAL1107、二重ディジタル署
名生成アルゴリズムAL2106、二重ディジタル署名検証ア
ルゴリズムAL2108、 Aの作成文書M1110、A氏署名(s1, r
1)111、B氏追加箇所M2114、A氏、B氏署名(s, r
, r)113

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】与えられたメッセージMに対し、当該メッ
    セージに押印したことを電子的に認証するディジタル署
    名を生成、あるいは検証するに当たり、 ハッシュ関数Hを用いて、e=H(M)を満たすeを求める処
    理と、 乱数を変換して得られる数値xに対して、前記ハッシュ
    関数Hの出力値よりも短い出力値を出力するハッシュ関
    数hを用いて、r=h(x)を満たすrを求める処理とを含む
    ことを特徴とする公開鍵暗号方法。
  2. 【請求項2】N人のユーザi(i=1, ・・・, N)がそれぞれメ
    ッセージあるいはコメントMiを付け加えて順番に押印し
    たことを電子的に認証するための多重ディジタル署名を
    生成、あるいは検証するに当たり、 ハッシュ関数Hを用いて、ei=H(Mi)を計算する処理と、 乱数を変換して得られる数値xiに対して、ハッシュ関数
    Hの出力値よりも短い出力値を出力するようなハッシュ
    関数hを用いて、ri=h(xi)を満たすriを求める処理とを
    i=1からNまでの各iについて実行する処理とを含むこと
    を特徴とする公開鍵暗号方法。
  3. 【請求項3】ディジタル署名(s1, r1)を生成するに際
    し、 ハッシュ関数Hを用いて、 e1=H(M1)を満たすe1を求
    め、 乱数k1を生成し、 楕円曲線上のシステム鍵Pをk1倍した点((x1, y1)=k
    1P)を求め、 ハッシュ関数Hの出力値よりも短い出力値を出力するハ
    ッシュ関数hを用いて、 r1=h(x1)を満たすr1を求め、 楕円曲線上のシステム鍵Pの位数n、および、秘密鍵d1
    使って、s1=k1+d1(e1+r1) (mod n)を満たすs1を求
    め、 得られた数値の組(s1, r1)をディジタル署名として出力
    することを特徴とする請求項1記載の公開鍵暗号方法。
  4. 【請求項4】ディジタル署名(s1, r1)を検証するに当た
    り、 ハッシュ値e1=H(M1) を計算し、 Q1=d1Pを満足するように予め生成され登録された公開
    鍵Q1を入力し、 楕円曲線上の点、(x1, y1) =s1P−(e1+r1)Q1を計算
    し、 ハッシュ値r1=h(x1)を計算し、 r1=r1なら、認証された由を示すデータを出力し、 r1≠r1なら、認証されなかった由を示すデータを出力す
    ることを特徴とする請求項1記載の公開鍵暗号方法。
  5. 【請求項5】多重ディジタル署名を認証するに当たり、 ユーザi(i≧2)は、 i-1個のメッセージあるいはコメントM1, ・・・, Mi-1
    および、一つ前の順番のユーザi-1が生成した(i-1)
    重ディジタル署名(si-1, r1, ・・・, ri-1)を入力し、 k=1からi-1について、ハッシュ値ek=H(Mk)の計算を
    繰り返し、 k=1からi-1について、Qk=dkPを満足するように予め
    生成され登録された公開鍵Qkの入力を繰り返し、 楕円曲線上の点、 【数1】 を計算し、 ハッシュ値ri-1=h(xi-1)を計算し、 ri-1=ri-1なら、認証された由を示すデータを出力し、 ri-1≠ri-1なら、認証されなかった由を示すデータを出
    力することを特徴とする請求項2記載の公開鍵暗号方
    法。
  6. 【請求項6】多重ディジタル署名を生成するに当たり、 ユーザi(i≧2)は、 前記の(xi-1, yi-1)を入力し、 ハッシュ値ei=H(Mi) を計算し、 乱数kiを生成し、 (x, y)=kiPを計算し、 (xi, yi)=(xi-1, yi-1)+(x, y)を計算し、 ハッシュ値ri=h(xi) を計算し、 秘密鍵diを使って、 【数2】 を満たすsiを求め、 得られた数値の組(si, r1, ・・・,ri)をディジタル署名と
    して出力することを特徴とする請求項2記載の公開鍵暗
    号方法。
  7. 【請求項7】与えられたメッセージMに対し、当該メッ
    セージに押印したことを電子的に認証するディジタル署
    名を生成、あるいは検証するに当たり、 ハッシュ関数Hを用いて、e=H(M)を満たすeを求める処
    理手段と、 乱数を変換して得られる数値xに対して、前記ハッシュ
    関数Hの出力値よりも短い出力値を出力するハッシュ関
    数hを用いて、r=h(x)を満たすrを求める処理手段とを
    具備して成る公開鍵暗号装置。
  8. 【請求項8】N人のユーザi(i=1, ・・・, N)がそれぞれメ
    ッセージあるいはコメントMiを付け加えて順番に押印し
    たことを電子的に認証するための多重ディジタル署名を
    生成、あるいは検証するに当たり、 ハッシュ関数Hを用いて、ei=H(Mi)を計算する処理手段
    と、 乱数を変換して得られる数値xiに対して、ハッシュ関数
    Hの出力値よりも短い出力値を出力するようなハッシュ
    関数hを用いて、ri=h(xi)を満たすriを求める処理手段
    とを備え、 これら処理手段を、i=1からNまでの各iについて実行す
    る処理手段とを具備して成る公開鍵暗号装置。
  9. 【請求項9】ディジタル署名(s1, r1)を生成するに際
    し、 ハッシュ関数Hを用いて、 e1=H(M1)を満たすe1を求め
    る手段と、 乱数k1を生成する手段と、 楕円曲線上のシステム鍵Pをk1倍した点((x1, y1)=k
    1P)を求める手段と、 ハッシュ関数Hの出力値よりも短い出力値を出力するハ
    ッシュ関数hを用いて、r1=h(x1)を満たすr1を求める手
    段と、 楕円曲線上のシステム鍵Pの位数n、および、秘密鍵d1
    使って、s1=k1+d1(e1+r1) (mod n)を満たすs1を求め
    る手段と、 得られた数値の組(s1, r1)をディジタル署名として出力
    する手段とを備えたことを特徴とする請求項7記載の公
    開鍵暗号装置。
  10. 【請求項10】ディジタル署名(s1, r1)を検証するに当
    たり、 ハッシュ値e1=H(M1) を計算する手段と、 Q1=d1Pを満足するように予め生成され登録された公開
    鍵Q1を入力する手段と、 楕円曲線上の点、(x1, y1) =s1P−(e1+r1)Q1を計算す
    る手段と、 ハッシュ値r1=h(x1)を計算する手段と、 r1=r1なら、認証された由を示すデータを出力し、r1
    r1なら、認証されなかった由を示すデータを出力する手
    段とを備えたことを特徴とする請求項7記載の公開鍵暗
    号装置。
  11. 【請求項11】多重ディジタル署名を認証するに当た
    り、 ユーザ装置i(i≧2)は、 i-1個のメッセージあるいはコメントM1, ・・・, Mi-1
    および、一つ前の順番のユーザi-1が生成した(i-1)
    重ディジタル署名(si-1, r1, ・・・, ri-1)を入力する手
    段と、 k=1からi-1について、ハッシュ値ek=H(Mk)の計算を
    繰り返す手段と、 k=1からi-1について、Qk=dkPを満足するように予め
    生成され登録された公開鍵Qkの入力を繰り返す手段と、 楕円曲線上の点、 【数3】 を計算する手段と、 ハッシュ値ri-1=h(xi-1)を計算する手段と、 ri-1=ri-1なら、認証された由を示すデータを出力し、
    ri-1≠ri-1なら、認証されなかった由を示すデータを出
    力する手段とを具備したことを特徴とする請求項8記載
    の公開鍵暗号装置。
  12. 【請求項12】多重ディジタル署名を生成するに当た
    り、 ユーザ装置i(i≧2)は、 前記の(xi-1, yi-1)を入力する手段と、 ハッシュ値ei=H(Mi) を計算する手段と、 乱数kiを生成する手段と、 (x, y)=kiPを計算する手段と、 (xi, yi)=(xi-1, yi-1)+(x, y)を計算する手段と、 ハッシュ値ri=h(xi) を計算する手段と、 秘密鍵diを使って、 【数4】 を満たすsiを求める手段と、 得られた数値の組(si, r1, ・・・,ri)をディジタル署名と
    して出力する手段とを具備したことを特徴とする請求項
    8記載の公開鍵暗号装置。
JP8290525A 1996-10-31 1996-10-31 公開鍵暗号方法および装置 Pending JPH10133576A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP8290525A JPH10133576A (ja) 1996-10-31 1996-10-31 公開鍵暗号方法および装置
EP97118704A EP0840478A3 (en) 1996-10-31 1997-10-28 Digital signature generating/verifying method and system using public key encryption
US08/961,557 US6341349B1 (en) 1996-10-31 1997-10-30 Digital signature generating/verifying method and system using public key encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8290525A JPH10133576A (ja) 1996-10-31 1996-10-31 公開鍵暗号方法および装置

Publications (1)

Publication Number Publication Date
JPH10133576A true JPH10133576A (ja) 1998-05-22

Family

ID=17757162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8290525A Pending JPH10133576A (ja) 1996-10-31 1996-10-31 公開鍵暗号方法および装置

Country Status (3)

Country Link
US (1) US6341349B1 (ja)
EP (1) EP0840478A3 (ja)
JP (1) JPH10133576A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075420A1 (ja) * 2006-12-20 2008-06-26 Fujitsu Limited 電子署名プログラム、電子署名装置、および電子署名方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2321741B (en) 1997-02-03 2000-10-04 Certicom Corp Data card verification system
US6738899B1 (en) * 1999-03-30 2004-05-18 Pitney Bowes Inc. Method for publishing certification information certified by a plurality of authorities and apparatus and portable data storage media used to practice said method
US6704867B1 (en) * 1999-03-30 2004-03-09 Bitney Bowes, Inc. Method for publishing certification information representative of selectable subsets of rights and apparatus and portable data storage media used to practice said method
US6847951B1 (en) 1999-03-30 2005-01-25 Pitney Bowes Inc. Method for certifying public keys used to sign postal indicia and indicia so signed
US7006999B1 (en) * 1999-05-13 2006-02-28 Xerox Corporation Method for enabling privacy and trust in electronic communities
US6988199B2 (en) 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
US7606760B2 (en) * 1999-06-18 2009-10-20 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork using a virtual payment account
CA2377706A1 (en) 1999-06-18 2000-12-28 Echarge Corporation Method and apparatus for ordering goods, services and content over an internetwork using a virtual payment account
US7249097B2 (en) * 1999-06-18 2007-07-24 Echarge Corporation Method for ordering goods, services, and content over an internetwork using a virtual payment account
GB2359156B (en) * 2000-02-14 2004-10-13 Reuters Ltd Methods of computer programs for and apparatus for providing and accessing digital content
NZ523366A (en) * 2000-05-25 2005-10-28 Echarge Corp Secure transaction protocol
US7571234B2 (en) * 2000-06-08 2009-08-04 Aol Llc Authentication of electronic data
US7251728B2 (en) 2000-07-07 2007-07-31 Message Secure Corporation Secure and reliable document delivery using routing lists
CA2418740C (en) * 2000-08-08 2010-07-27 Wachovia Corporation Internet third-party authentication using electronic tickets
US7089302B1 (en) * 2000-08-30 2006-08-08 Mcafee, Inc. Method and system for maintaining a communications protocol session
US20030023850A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Verifying messaging sessions by digital signatures of participants
US7269622B2 (en) * 2001-07-26 2007-09-11 International Business Machines Corporation Watermarking messaging sessions
US7257617B2 (en) * 2001-07-26 2007-08-14 International Business Machines Corporation Notifying users when messaging sessions are recorded
GB2379146A (en) * 2001-08-23 2003-02-26 Inventec Corp Transmission of encrypted and digitally signed files over the internet
US6938014B1 (en) * 2002-01-16 2005-08-30 Sterling Commerce, Inc. Non-repudiable translation of electronic documents
US20040030887A1 (en) * 2002-08-07 2004-02-12 Harrisville-Wolff Carol L. System and method for providing secure communications between clients and service providers
US8261062B2 (en) * 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7590695B2 (en) 2003-05-09 2009-09-15 Aol Llc Managing electronic messages
US7739602B2 (en) 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US9240884B2 (en) 2003-10-28 2016-01-19 Certicom Corp. Method and apparatus for verifiable generation of public keys
KR100668016B1 (ko) 2004-01-22 2007-01-16 닛본 덴끼 가부시끼가이샤 믹스넷 시스템
US20050177715A1 (en) * 2004-02-09 2005-08-11 Microsoft Corporation Method and system for managing identities in a peer-to-peer networking environment
US7716726B2 (en) * 2004-02-13 2010-05-11 Microsoft Corporation System and method for protecting a computing device from computer exploits delivered over a networked environment in a secured communication
US7814543B2 (en) * 2004-02-13 2010-10-12 Microsoft Corporation System and method for securing a computer system connected to a network from attacks
US7603716B2 (en) * 2004-02-13 2009-10-13 Microsoft Corporation Distributed network security service
US7929689B2 (en) * 2004-06-30 2011-04-19 Microsoft Corporation Call signs
US7716727B2 (en) * 2004-10-29 2010-05-11 Microsoft Corporation Network security device and method for protecting a computing device in a networked environment
US20060259440A1 (en) * 2005-05-13 2006-11-16 Keycorp Method and system for electronically signing a document
US7854013B2 (en) * 2005-06-03 2010-12-14 Working Solutions International, Inc. Method for electronic data and signature collection, and system
JP4622811B2 (ja) * 2005-11-04 2011-02-02 株式会社日立製作所 電子文書の真正性保証システム
US8086842B2 (en) * 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US20110060688A1 (en) * 2007-11-23 2011-03-10 Media Patents, S.L. Apparatus and methods for the distribution of digital files
JP4584300B2 (ja) 2007-12-19 2010-11-17 富士通株式会社 電子署名プログラム、コンピュータにより読み取り可能な記録媒体、電子署名装置、電子署名方法
US20090313171A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Electronic transaction verification
US8572695B2 (en) * 2009-09-08 2013-10-29 Ricoh Co., Ltd Method for applying a physical seal authorization to documents in electronic workflows
ES2400894B1 (es) 2011-05-13 2014-03-11 Telefónica, S.A. Procedimiento para una firma digital múltiple
US9792451B2 (en) 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
CN103916851B (zh) * 2013-01-06 2017-08-18 华为终端有限公司 一种安全认证的方法、设备及系统
US9058493B1 (en) * 2013-01-16 2015-06-16 Amdocs Software Systems Limited System, method, and computer program for conditionally implementing protected content
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
CN104184588B (zh) * 2014-08-15 2017-09-08 同济大学 基于身份的不可拆分数字签名方法
JP2016116134A (ja) * 2014-12-16 2016-06-23 パナソニックIpマネジメント株式会社 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US10460340B2 (en) * 2015-07-31 2019-10-29 Wideorbit Inc. Verifying ad requests
WO2017152037A1 (en) 2016-03-04 2017-09-08 1Usf, Inc. Systems and methods for media codecs and containers
IT201600076089A1 (it) * 2016-07-20 2018-01-20 St Microelectronics Srl Procedimento per la generazione di una firma digitale di un messaggio, corrispondenti unita' di generazione, apparato elettronico e prodotto informatico
CN110445603B (zh) * 2019-06-28 2022-08-26 成都鹰翔天际科技有限公司 一种去中心化随机数生成方法
CN111147250B (zh) * 2019-12-18 2022-08-02 北京江南天安科技有限公司 一种数字签名方法、装置、发送端、接收端及系统
CN112737777B (zh) * 2020-12-29 2023-01-10 北京百度网讯科技有限公司 基于密钥的门限签名和验签方法、装置、设备和介质
US11770263B1 (en) * 2022-12-06 2023-09-26 Citibank, N.A. Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements
US11658833B1 (en) 2022-12-06 2023-05-23 Citibank, N.A. Systems and methods for conducting cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
ATE128297T1 (de) * 1991-03-14 1995-10-15 Omnisec Ag Verschlüsselungssystem mit öffentlichem schlüssel unter verwendung elliptischer kurven über ringe.
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5231668A (en) * 1991-07-26 1993-07-27 The United States Of America, As Represented By The Secretary Of Commerce Digital signature algorithm
US5159632A (en) * 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
JP3338088B2 (ja) 1992-09-10 2002-10-28 株式会社東芝 電子署名装置及び電子署名システム
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
JPH06315036A (ja) 1993-04-28 1994-11-08 Matsushita Electric Ind Co Ltd ディジタル署名付き電子メールシステム
JPH07262281A (ja) 1994-03-18 1995-10-13 Hitachi Ltd メモインタフェース付き伝票処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008075420A1 (ja) * 2006-12-20 2008-06-26 Fujitsu Limited 電子署名プログラム、電子署名装置、および電子署名方法

Also Published As

Publication number Publication date
US6341349B1 (en) 2002-01-22
EP0840478A2 (en) 1998-05-06
EP0840478A3 (en) 2003-12-03

Similar Documents

Publication Publication Date Title
JPH10133576A (ja) 公開鍵暗号方法および装置
JP6515246B2 (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
EP3257006B1 (en) Personal device security using elliptic curve cryptography for secret sharing
US8433897B2 (en) Group signature system, apparatus and storage medium
EP1687931B1 (en) Method and apparatus for verifiable generation of public keys
US7650494B2 (en) Method and apparatus for use in relation to verifying an association between two parties
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
JP5205398B2 (ja) 鍵認証方式
US7730319B2 (en) Provisional signature schemes
US9705683B2 (en) Verifiable implicit certificates
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
US20050097316A1 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
US5790675A (en) Cryptographic communication process
EP2302834A2 (en) System and method for providing credentials
JPH08328472A (ja) 認証交換方法、復元型電子署名方法、付加型電子署名方法、鍵交換方法、復元型公衆電子署名方法、付加型公衆電子署名方法およびブラインド電子署名方法
EP2792098B1 (en) Group encryption methods and devices
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
CN111147245A (zh) 一种区块链中使用国家密码进行加密的算法
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN116827559A (zh) 一种基于bls的高效可验证时间签名方法及系统
US20050025311A1 (en) Tate pairing techniques for use with hyperelliptic curves
US6507656B1 (en) Non malleable encryption apparatus and method
CN110278073B (zh) 一种群组数字签名、验证方法及其设备和装置
JPH11234263A (ja) 相互認証方法および装置