JP2009224997A - 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム - Google Patents

署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム Download PDF

Info

Publication number
JP2009224997A
JP2009224997A JP2008066027A JP2008066027A JP2009224997A JP 2009224997 A JP2009224997 A JP 2009224997A JP 2008066027 A JP2008066027 A JP 2008066027A JP 2008066027 A JP2008066027 A JP 2008066027A JP 2009224997 A JP2009224997 A JP 2009224997A
Authority
JP
Japan
Prior art keywords
verification
random number
verification device
signature
unit
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
JP2008066027A
Other languages
English (en)
Other versions
JP5069157B2 (ja
Inventor
Kotaro Suzuki
幸太郎 鈴木
Atsushi Fujioka
淳 藤岡
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008066027A priority Critical patent/JP5069157B2/ja
Publication of JP2009224997A publication Critical patent/JP2009224997A/ja
Application granted granted Critical
Publication of JP5069157B2 publication Critical patent/JP5069157B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】本発明の目的は、署名の正当性検証と偽造署名の否認を同一の手続で行えるようにすることと、署名のデータ長を短くすることである。
【解決手段】証明装置の第1計算部は、乱数rを生成し、X=gを計算し、Xを検証装置に送信する。証明装置の証明用元共有部と、検証装置の検証用元共有部とは、ランダムなGの元tを共有する。証明装置の第2計算部は、X=e(h(m),t)を計算し、Xを検証装置に送信する。検証装置の検証用乱数生成部は、乱数cを生成し、cを証明装置に送信する。証明装置の第3計算部は、σ=r+cx (mod v)を計算し、σを検証装置に送信する。検証装置の検証部は、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する。
【選択図】図1

Description

本発明は、情報セキュリティ技術の応用技術に関するものであり、署名者の協力があってはじめて署名の正当性検証あるいは偽造署名を否認できる否認不可署名用の署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラムに関する。
否認不可署名の従来技術には、非特許文献1に示された技術があった。
David Chaum, Hans Van Antwerpen, "Undeniable Signatures", CRYPTO 1989, pp.212-216.
非特許文献1の技術では、署名の正当性検証と偽造署名の否認を別々の手続で行う必要があった。また、正当性検証と否認を効率的にし、署名のデータ長を短くするために、楕円曲線の群を用いていなかった。
本発明の目的は、署名の正当性検証と偽造署名の否認を同一の手続で行えるようにすることと、署名のデータ長を短くするために、楕円曲線の群を適用できるようにすることである。
本発明の署名システムは、少なくとも証明装置と検証装置とを備える。この他に、当該署名システムの中に、例えば鍵生成装置と署名生成装置を備えてもよい。まず、G、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数とする。
鍵生成装置と署名生成装置が当該署名システムの中に備えられているか、外部にあるかに関係なく、鍵生成装置が秘密鍵skと公開鍵pkを生成し、署名生成装置がメッセージmから署名sを生成する。ただし、sk=x、pk=g、s=h(m)である。そして、あらかじめ秘密鍵sk、公開鍵pk、メッセージm、署名sが証明装置に記録される。
証明装置は、証明用記録部、第1計算部、証明用元共有部、第2計算部、第3計算部を具備する。証明用記録部は、秘密鍵sk、公開鍵pk、メッセージm、署名sを記録する。第1計算部は、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを検証装置に送信する。証明用元共有部は、検証装置との間で、ランダムなGの元tを共有する。第2計算部は、X=e(h(m),t)を計算し、Xを検証装置に送信する。第3計算部は、σ=r+cx (mod v)を計算し、σを検証装置に送信する。
検証装置は、検証用取得部、検証用元共有部、検証用乱数生成部、検証部を具備する。検証用取得部は、公開鍵pk、署名s’、メッセージmを取得する。検証用元共有部は、 証明装置との間で、ランダムなGの元tを共有する。検証用乱数生成部は、乱数c(ただし、cは0からv−1までの整数)を生成し、cを証明装置に送信する。検証部は、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する。両方の式が成り立つ場合には署名検証であることを示す情報(例えば“1”)を出力し、そうでなければ偽造署名否認であることを示す情報(例えば“0”)を出力する。
また、楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とする。そして、GはF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairingとしてもよい。
本発明の署名システムによれば、同一の手続で署名検証も偽造署名否認も行うことができる。したがって、署名検証と偽造署名否認を効率的に行うことができると共に、計算装置や計算プログラムも簡素化できる。さらに、上述のようなGとGを楕円曲線の有理点の成す群とし、署名sをGの元とすることで、署名sのデータ長を短くできる。
以下に、本発明の実施例を説明する。なお、同じ機能の構成部や同じ処理には同一の番号を付け、重複説明を省略する。
図1に実施例1の署名システムの処理フローを示す。図2に署名システムの構成例を示す。署名システム10は、鍵生成装置100、署名生成装置200、証明装置300、検証装置400で構成される。鍵生成装置100は、鍵生成部110と鍵生成用記録部190を有する。署名生成装置200は、署名生成用取得部205、署名生成部210、署名生成用記録部290を有する。証明装置300は、証明用記録部390、証明用取得部305、第1計算部310、証明用元共有部320、第2計算部330、第3計算部350を具備する。検証装置400は、検証用取得部405、検証用元共有部420、検証用乱数生成部440、検証部460、検証用記録部490を具備する。
まず、G、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数とする。ただし、eがG×GからGへの双線形写像であるとは、xがGの元、yがGの元の場合に、e(x,y)がGの元であり、
e(x・x,y)=e(x,y)・e(x,y)
e(x,y・y)=e(x,y)・e(x,y
を満たすことである。なお、双線形写像に関する一般的な内容は、I.F. Blake, N.P. Smart, G. Seroussi,“楕円曲線暗号”, ピアソン・エヂュケーション, III.5章などに記載されている。
鍵生成装置100の鍵生成部110は、乱数x(ただし、xは0からv−1までの整数)を生成し、秘密鍵sk=xと公開鍵pk=y=gを、鍵生成用記録部190に記録すると共に送信する(S110)。署名生成装置200の署名生成用取得部205は、秘密鍵skと公開鍵pkとメッセージmとを取得し、署名生成用記録部290に記録する(S205)。署名生成部210は、署名s=h(m)を生成し、出力する(S210)。ここまでが鍵と署名を生成する処理であり、あらかじめ行っておいてもよい。
証明装置300の証明用取得部305は、秘密鍵sk、公開鍵pk、メッセージm、署名sを取得し、証明用記録部390に、秘密鍵sk、公開鍵pk、メッセージm、署名sを記録する(S305)。また、検証装置400の検証用取得部405は、公開鍵pk、署名s’、メッセージmを取得し、検証用記録部490に記録する(S405)。
証明装置300の第1計算部310は、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを検証装置400に送信する(S310)。証明装置300の証明用元共有部320と、検証装置400の検証用元共有部420とは、ランダムなGの元tを共有する(S320、S420)。証明装置300の第2計算部330は、X=e(h(m),t)を計算し、Xを検証装置400に送信する(S330)。検証装置400の検証用乱数生成部440は、乱数c(ただし、cは0からv−1までの整数)を生成し、cを証明装置300に送信する(S440)。証明装置300の第3計算部350は、σ=r+cx (mod v)を計算し、σを検証装置400に送信する(S350)。検証装置400の検証部460は、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する。両方の式が成り立つ場合には署名検証であることを示す情報(例えば“1”)を出力し、そうでなければ偽造署名否認であることを示す情報(例えば“0”)を出力する(S460)。
次に、なぜステップS460の2つの式が成り立てばよいのかを説明する。署名s’が正しい否認不可署名(署名sと同じ)ならばs’=sである。また、上述の処理を行っているので、
s’=h(m)
y=g
=g
=e(h(m),t)
σ=r+cx (mod v)
が成り立つ。これらのことから、1つ目の式の左辺は、
・y=g・(g
=gr+cx
=gσ
のように変形でき、1つ目の式が成り立つことが分かる。さらに、eが双線形写像であることから、2つ目の式の左辺は、
・e(s’,t)=e(h(m),t)・e(h(m),t)
=e(h(m),t)・e(h(m),t)cx
=e(h(m),t)r+cx
=e(h(m),t)σ
のように変形でき、2つ目の式が成り立つことが分かる。したがって、ステップS460の2つの式が成り立つかを確認すればよい。
実施例1の署名システムによれば、同一の手続で署名検証も偽造署名否認も行うことができる。したがって、署名検証と偽造署名否認を効率的に行うことができると共に、計算装置や計算プログラムも簡素化できる。
また、実施例1では、鍵生成装置100、署名生成装置200、証明装置300を別々の装置として示したが、一体化された証明装置30でもよい。この場合は、鍵生成用記録部190、署名生成用取得部205、署名生成用記録部290、証明用取得部305は不要となる。鍵生成部110で生成された秘密鍵skと公開鍵pk、メッセージm、署名生成部210で生成された署名sは、直接、証明用記録部390に記録すればよい。
なお、署名システム10は、少なくとも証明装置300と検証装置400を含めばよい。この場合には、鍵生成装置100と署名生成装置200は、署名システムの外部にあることになる。このときにも、鍵生成装置100が秘密鍵skと公開鍵pkを生成し、署名生成装置200がメッセージmから署名sを生成する。ただし、sk=x、pk=g、s=h(m)である。そして、あらかじめ秘密鍵sk、公開鍵pk、メッセージm、署名sが証明装置300の証明用記録部390に記録される。
実施例2では、G、Gを有限体上で定義された楕円関数の有理点の成す群、Gを有限体の乗法部分群とすることで、署名sのデータ長を短くする。
楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とする。そして、GをF有理点E(F)の位数vの部分群とする。このとき、Fのk次拡大体Fqkを考えると、Fqk有理点E(Fqk)の数N(E(Fqk))はvで2度以上割れる。つまり、Gとは異なるFqk有理点E(Fqk)の位数vの部分群が存在する。そこで、GをGとは異なるFqk有理点E(Fqk)の位数vの部分群とする。そして、GをFのk次拡大体Fqkの位数vの乗法部分群とする。また、eをG×GからGへのWeil pairingまたはTate pairingとする。なお、楕円曲線、Weil pairing、Tate pairing についての一般的な内容は、I.F. Blake, N.P. Smart, G. Seroussi,“楕円曲線暗号”, ピアソン・エヂュケーション, III.5章などに記載されている。
また、gがGの生成元、xが乱数であって0からv−1までの整数、hが任意長ビット列を入力としGの元を出力するハッシュ関数であることは実施例1と同じである。
このように定めたG、G、G、eを用いて実施例1と同じ処理(ステップS110〜S460)を行えば、署名sのデータ長を短くした上に、実施例1と同じ効果も得ることができる。
実施例3では、実施例1および実施例2のステップS320、S420の具体的な処理フローを示す。ステップS320、S420では、証明装置300の証明用元共有部320と、検証装置400の検証用元共有部420とは、ランダムなGの元tを共有する。この元tの共有のために、証明装置300の証明用元共有部320と、検証装置400の検証用元共有部420とは、ビットコミットメント関数BCを用いて、図3に示す処理フローを行う。また、図4に証明用元共有部320の機能構成例を、図5に検証用元共有部420の機能構成例を示す。
ビットコミットメントとは、入力メッセージd、入力乱数uに対して値BC(d,u)を対応させるものである。そして、値BC(d,u)が何れの入力メッセージにより計算されたかを判定することができず、また、値w=BC(d,u)に対して異なるd’、u’を見つけて、w=BC(d’,u’)とすることはできない。なお、ビットコミットメントについての一般的な内容は、Douglas R. Stinson, “暗号理論の基礎”, 共立出版の13.3章などに記載されている。
証明用元共有部320は、ビットコミットメント計算手段321、元送信手段323、証明用元t計算手段325を備える。検証用元共有部420は、元t選定手段422、ビットコミットメント確認手段424、検証用元t計算手段425を備える。
証明用元共有部320のビットコミットメント計算手段321は、ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを検証用元共有部420に送信する(S321)。検証用元共有部420の元t選定手段422は、ランダムにGの元tを選び、tを証明用元共有部320に送信する(S422)。
証明用元共有部320の元送信手段323は、tとuを検証用元共有部420に送信する(S323)。検証用元共有部420のビットコミットメント確認手段424は、証明用元共有部320から受信したw、t、uがw=BC(t,u)の関係であることを確認する(S424)。証明用元共有部320の証明用元t計算手段325は、検証用元共有部420のから受信したtを用いて、元t=t・tを計算する(S325)。検証用元共有部420の検証用元t計算手段425は、証明用元共有部320から受信したtを用いて、元t=t・tを計算する(S425)。
このように元tを共有するので、証明装置300も検証装置400もt・tの結果であるtの値をコントロールできないように、元tを証明装置300と検証装置400とで共有できる。
[変形例]
本変形例では、証明装置300’の証明用元共有部320’と、検証装置400’の検証用元共有部420’とは、ビットコミットメント関数BCを用いて、図6に示す処理フローを行う。また、図7に証明用元共有部320’の機能構成例を、図8に検証用元共有部420’の機能構成例を示す。
証明用元共有部320’は、元t選定手段322、ビットコミットメント確認手段324、検証用元t計算手段325を備える。検証用元共有部420’は、ビットコミットメント計算手段421、元送信手段423、証明用元t計算手段425を備える。
検証用元共有部420’のビットコミットメント計算手段421は、ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを証明用元共有部320に送信する(S421)。証明用元共有部320’の元t選定手段322は、ランダムにGの元tを選び、tを検証用元共有部420’に送信する(S422)。
検証用元共有部420’の元送信手段423は、tとuを証明用元共有部320’に送信する(S423)。証明用元共有部320’のビットコミットメント確認手段324は、検証用元共有部420’から受信したw、t、rがw=BC(t,u)の関係であることを確認する(S324)。検証用元共有部420’の検証用元t計算手段425は、証明用元共有部320’から受信したtを用いて、元t=t・tを計算する(S425)。証明用元共有部320’の証明用元t計算手段325’は、検証用元共有部420のから受信したtを用いて、元t=t・tを計算する(S325)。
このように元tを共有するので、証明装置300’も検証装置400’もt・tの結果であるtの値をコントロールできないように、元tを証明装置300と検証装置400とで共有できる。
図9にコンピュータの機能構成例を示す。上述の実施例は、図9に示すコンピュータの記録部2020に、上記装置としてコンピュータを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。また、コンピュータに読み込ませる方法としては、プログラムをコンピュータ読み取り可能な記録媒体に記録しておき、記録媒体からコンピュータに読み込ませる方法、サーバ等に記録されたプログラムを、電気通信回線等を通じてコンピュータに読み込ませる方法などがある。
実施例1の署名システムの処理フローを示す図。 実施例1の署名システムの構成例を示す図。 実施例3の証明用元共有部と検証用元共有部の処理フローを示す図。 実施例3の証明用元共有部の機能構成例を示す図。 実施例3の検証用元共有部の機能構成例を示す図。 実施例4の証明用元共有部と検証用元共有部の処理フローを示す図。 実施例4の証明用元共有部の機能構成例を示す図。 実施例4の検証用元共有部の機能構成例を示す図。 コンピュータの構成例を示す図。
符号の説明
10 署名システム 30 証明装置
100 鍵生成装置 110 鍵生成部
190 鍵生成用記録部 200 署名生成装置
205 署名生成用取得部 210 署名生成部
290 署名生成用記録部 300 証明装置
305 証明用取得部 310 第1計算部
320 証明用元共有部 321 ビットコミットメント計算手段
322 元t選定手段 323 元送信手段
324 ビットコミットメント確認手段 325 証明用元t計算手段
330 第2計算部 350 第3計算部
390 証明用記録部 400 検証装置
405 検証用取得部 420 検証用元共有部
421 ビットコミットメント計算手段 422 元t選定手段
423 元送信手段 424 ビットコミットメント確認手段
425 検証用元t計算手段 440 検証用乱数生成部
460 検証部 490 検証用記録部

Claims (25)

  1. 少なくとも証明装置と検証装置とを備える署名システムであって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    前記証明装置は、
    秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録する証明用記録部と、
    乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算部と、
    前記検証装置との間で、ランダムなGの元tを共有する証明用元共有部と、
    =e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算部と、
    σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算部と
    を具備し、
    前記検証装置は、
    公開鍵pk、署名s’、メッセージmを取得する検証用取得部と、
    前記証明装置との間で、ランダムなGの元tを共有する検証用元共有部と、
    乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成部と、
    ・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証部と
    を具備する
    ことを特徴とする署名システム。
  2. 少なくとも証明装置と検証装置とを備える署名システムであって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    前記証明装置は、
    秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録する証明用記録部と、
    乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算部と、
    前記検証装置との間で、ランダムなGの元tを共有する証明用元共有部と、
    =e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算部と、
    σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算部と
    を具備し、
    前記検証装置は、
    公開鍵pk、署名s’、メッセージmを取得する検証用取得部と、
    前記証明装置との間で、ランダムなGの元tを共有する検証用元共有部と、
    乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成部と、
    ・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証部と
    を具備する
    ことを特徴とする署名システム。
  3. 請求項1または2記載の署名システムであって、
    BCをビットコミットメント関数とし、
    前記証明用元共有部は、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記検証装置に送信するビットコミットメント計算手段と、
    とuを前記検証装置に送信する元送信手段と、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算手段と
    を有し、
    前記検証用元共有部は、
    ランダムにGの元tを選び、tを前記証明装置に送信する元t選定手段と、
    前記証明装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認手段と、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算手段と
    を有する
    ことを特徴とする署名システム。
  4. 請求項1または2記載の署名システムであって、
    BCをビットコミットメント関数とし、
    前記検証用元共有部は、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記証明装置に送信するビットコミットメント計算手段と、
    とuを前記証明装置に送信する元送信手段と、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算手段と
    を有し、
    前記証明用元共有部は、
    ランダムにGの元tを選び、tを前記検証装置に送信する元t選定手段と、
    前記検証装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認手段と、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算手段と
    を有する
    ことを特徴とする署名システム。
  5. 少なくとも証明装置と検証装置とを動作させる署名方法であって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    あらかじめ前記証明装置に、秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録させておき、
    前記検証装置が、公開鍵pk、署名s’、メッセージmを取得する検証用取得ステップと、
    前記証明装置が、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算ステップと、
    前記証明装置と前記検証装置とが、ランダムなGの元tを共有する元共有ステップと、
    前記証明装置が、X=e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算ステップと、
    前記検証装置が、乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成ステップと、
    前記証明装置が、σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算ステップと、
    前記検証装置が、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証ステップと
    を有する署名方法。
  6. 少なくとも証明装置と検証装置とを動作させる署名方法であって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    あらかじめ前記証明装置に、秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録させておき、
    前記検証装置が、公開鍵pk、署名s’、メッセージmを取得する検証用取得ステップと、
    前記証明装置が、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算ステップと、
    前記証明装置と前記検証装置とが、ランダムなGの元tを共有する元共有ステップと、
    前記証明装置が、X=e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算ステップと、
    前記検証装置が、乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成ステップと、
    前記証明装置が、σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算ステップと、
    前記検証装置が、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証ステップと
    を有する署名方法。
  7. 請求項5または6記載の署名方法であって、
    BCをビットコミットメント関数とし、
    前記元共有ステップは、
    前記証明装置が、ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記検証装置に送信するビットコミットメント計算サブステップと、
    前記検証装置が、ランダムにGの元tを選び、tを前記証明装置に送信する元t選定サブステップと、
    前記証明装置が、tとuを前記検証装置に送信する元送信サブステップと、
    前記検証装置が、前記証明装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認サブステップと、
    前記証明装置が、前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算サブステップと、
    前記検証装置が、前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算サブステップと
    を有する
    ことを特徴とする署名方法。
  8. 請求項5または6記載の署名方法であって、
    BCをビットコミットメント関数とし、
    前記元共有ステップは、
    前記検証装置が、ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記証明装置に送信するビットコミットメント計算サブステップと、
    前記証明装置が、ランダムにGの元tを選び、tを前記検証装置に送信する元t選定サブステップと、
    前記検証装置が、tとuを前記証明装置に送信する元送信サブステップと、
    前記証明装置が、前記検証装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認サブステップと、
    前記検証装置が、前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算サブステップと、
    前記証明装置が、前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算サブステップと
    を有する
    ことを特徴とする署名方法。
  9. 検証装置との間で署名検証を行うための証明装置であって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録する証明用記録部と、
    乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算部と、
    前記検証装置との間で、ランダムなGの元tを共有する証明用元共有部と、
    =e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算部と、
    σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算部と
    を備える証明装置。
  10. 検証装置との間で署名検証を行うための証明装置であって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録する証明用記録部と、
    乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算部と、
    前記検証装置との間で、ランダムなGの元tを共有する証明用元共有部と、
    =e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算部と、
    σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算部と
    を備える証明装置。
  11. 請求項9または10記載の証明装置であって、
    BCをビットコミットメント関数とし、
    前記証明用元共有部は、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記検証装置に送信するビットコミットメント計算手段と、
    とuを前記検証装置に送信する元送信手段と、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算手段と
    を有することを特徴とする証明装置。
  12. 請求項9または10記載の証明装置であって、
    BCをビットコミットメント関数とし、
    前記証明用元共有部は、
    ランダムにGの元tを選び、tを前記検証装置に送信する元t選定手段と、
    前記検証装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認手段と、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算手段と
    を有することを特徴とする証明装置。
  13. 証明装置との間で署名検証を行うための検証装置であって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    公開鍵pk、署名s’、メッセージmを取得する検証用取得部と、
    前記証明装置との間で、ランダムなGの元tを共有する検証用元共有部と、
    乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成部と、
    ・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証部と
    を備える検証装置。
  14. 証明装置との間で署名検証を行うための検証装置であって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    公開鍵pk、署名s’、メッセージmを取得する検証用取得部と、
    前記証明装置との間で、ランダムなGの元tを共有する検証用元共有部と、
    乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成部と、
    ・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証部と
    を備える検証装置。
  15. 請求項13または14記載の検証装置であって、
    BCをビットコミットメント関数とし、
    前記検証用元共有部は、
    ランダムにGの元tを選び、tを前記証明装置に送信する元t選定手段と、
    前記証明装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認手段と、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算手段と
    を有することを特徴とする検証装置。
  16. 請求項13または14記載の検証装置であって、
    BCをビットコミットメント関数とし、
    前記検証用元共有部は、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記証明装置に送信するビットコミットメント計算手段と、
    とuを前記証明装置に送信する元送信手段と、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算手段と
    を有することを特徴とする検証装置。
  17. 検証装置との間で署名検証を行うための証明装置を動作させる証明方法であって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    あらかじめ証明用記録部に、秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録させておき、
    第1計算部が、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算ステップと、
    証明用元共有部が、前記検証装置との間で、ランダムなGの元tを共有する証明用元共有ステップと、
    第2計算部が、X=e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算ステップと、
    第3計算部が、σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算ステップと
    を有する証明方法。
  18. 検証装置との間で署名検証を行うための証明装置を動作させる証明方法であって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    あらかじめ証明用記録部に、秘密鍵sk、公開鍵pk、メッセージm、署名s(ただし、sk=x、pk=g、s=h(m))を記録させておき、
    第1計算部が、乱数r(ただし、rは0からv−1までの整数)を生成し、X=gを計算し、Xを前記検証装置に送信する第1計算ステップと、
    証明用元共有部が、前記検証装置との間で、ランダムなGの元tを共有する証明用元共有ステップと、
    第2計算部が、X=e(h(m),t)を計算し、Xを前記検証装置に送信する第2計算ステップと、
    第3計算部が、σ=r+cx (mod v)を計算し、σを前記検証装置に送信する第3計算ステップと
    を有する証明方法。
  19. 請求項17または18記載の証明方法であって、
    BCをビットコミットメント関数とし、
    前記証明用元共有ステップは、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記検証装置に送信するビットコミットメント計算サブステップと、
    とuを前記検証装置に送信する元送信サブステップと、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算サブステップと
    を有することを特徴とする証明方法。
  20. 請求項17または18記載の証明方法であって、
    BCをビットコミットメント関数とし、
    前記証明用元共有ステップは、
    ランダムにGの元tを選び、tを前記検証装置に送信する元t選定サブステップと、
    前記検証装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認サブステップと、
    前記検証装置から受信したtを用いて、元t(ただし、t=t・t)を計算する証明用元t計算サブステップと
    を有することを特徴とする証明方法。
  21. 証明装置との間で署名検証を行うための検証装置を動作させる検証方法であって、
    、G、Gは素数vを位数として持つ群、eはG×GからGへの双線形写像、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    検証用取得部が、公開鍵pk、署名s’、メッセージmを取得する検証用取得ステップと、
    検証用元共有部が、前記証明装置との間で、ランダムなGの元tを共有する検証用元共有ステップと、
    検証用乱数生成部が、乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成ステップと、
    検証部が、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証ステップと
    を有する検証方法。
  22. 証明装置との間で署名検証を行うための検証装置を動作させる検証方法であって、
    楕円曲線Eは要素数qの有限体F上定義された非超特異楕円曲線、楕円曲線EのF有理点E(F)の数N(E(F))はvで一度だけ割れる、kはv|(q−1)を満たす最小の整数とし、
    はF有理点E(F)の位数vの部分群、GはGとは異なるFのk次拡大体Fqk有理点E(Fqk)の位数vの部分群、GはFのk次拡大体Fqkの位数vの乗法部分群、eはG×GからGへのWeil pairingまたはTate pairing、gはGの生成元、xは乱数であって0からv−1までの整数、hは任意長ビット列を入力としGの元を出力するハッシュ関数であり、
    検証用取得部が、公開鍵pk、署名s’、メッセージmを取得する検証用取得ステップと、
    検証用元共有部が、前記証明装置との間で、ランダムなGの元tを共有する検証用元共有ステップと、
    検証用乱数生成部が、乱数c(ただし、cは0からv−1までの整数)を生成し、cを前記証明装置に送信する検証用乱数生成ステップと、
    検証部が、X・y=gσと、X・e(s’,t)=e(h(m),t)σが成り立つかを検証する検証ステップと
    を有する検証方法。
  23. 請求項21または22記載の検証方法であって、
    BCをビットコミットメント関数とし、
    前記検証用元共有ステップは、
    ランダムにGの元tを選び、tを前記証明装置に送信する元t選定サブステップと、
    前記証明装置から受信したw、t、uがw=BC(t,u)の関係であることを確認するビットコミットメント確認サブステップと、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算サブステップと
    を有することを特徴とする検証方法。
  24. 請求項21または22記載の検証方法であって、
    BCをビットコミットメント関数とし、
    前記検証用元共有ステップは、
    ランダムにGの元tを選び、乱数uを用いてw(ただし、w=BC(t,u))を計算し、wを前記証明装置に送信するビットコミットメント計算サブステップと、
    とuを前記証明装置に送信する元送信サブステップと、
    前記証明装置から受信したtを用いて、元t(ただし、t=t・t)を計算する検証用元t計算サブステップと
    を有することを特長とする検証方法。
  25. 請求項9〜16のいずれかに記載された装置としてコンピュータを動作させるプログラム。
JP2008066027A 2008-03-14 2008-03-14 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム Active JP5069157B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008066027A JP5069157B2 (ja) 2008-03-14 2008-03-14 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008066027A JP5069157B2 (ja) 2008-03-14 2008-03-14 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム

Publications (2)

Publication Number Publication Date
JP2009224997A true JP2009224997A (ja) 2009-10-01
JP5069157B2 JP5069157B2 (ja) 2012-11-07

Family

ID=41241356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008066027A Active JP5069157B2 (ja) 2008-03-14 2008-03-14 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム

Country Status (1)

Country Link
JP (1) JP5069157B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186003A (ja) * 2009-02-12 2010-08-26 Nippon Telegr & Teleph Corp <Ntt> 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
US8605898B2 (en) 2010-10-15 2013-12-10 Samsung Electronics Co., Ltd. Apparatus and method that generates originality verification and verifies originality verification
CN104320259A (zh) * 2014-10-31 2015-01-28 西安电子科技大学 基于Schnorr签名算法的无证书签名方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237087A (ja) * 1991-01-21 1992-08-25 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04256993A (ja) * 1991-02-12 1992-09-11 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04256994A (ja) * 1991-02-12 1992-09-11 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04314231A (ja) * 1991-04-12 1992-11-05 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237087A (ja) * 1991-01-21 1992-08-25 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04256993A (ja) * 1991-02-12 1992-09-11 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04256994A (ja) * 1991-02-12 1992-09-11 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法
JPH04314231A (ja) * 1991-04-12 1992-11-05 Nippon Telegr & Teleph Corp <Ntt> ディジタル署名方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186003A (ja) * 2009-02-12 2010-08-26 Nippon Telegr & Teleph Corp <Ntt> 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
US8605898B2 (en) 2010-10-15 2013-12-10 Samsung Electronics Co., Ltd. Apparatus and method that generates originality verification and verifies originality verification
CN104320259A (zh) * 2014-10-31 2015-01-28 西安电子科技大学 基于Schnorr签名算法的无证书签名方法

Also Published As

Publication number Publication date
JP5069157B2 (ja) 2012-11-07

Similar Documents

Publication Publication Date Title
US10326753B2 (en) Authentication via revocable signatures
US8074067B2 (en) Member certificate acquiring device, member certificate issuing device, group signing device, and group signature verifying device
US20120323981A1 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP2006109107A (ja) 署名生成方法、署名検証方法、公開鍵配布方法、及び情報処理装置
WO2007105749A1 (ja) グループ署名システムおよび情報処理方法
KR101382626B1 (ko) Id 기반의 강한 지정된 검증자 서명 시스템 및 방법
WO2008026345A1 (fr) Système de signature électronique et procédé de vérification de signature électronique
JP5069157B2 (ja) 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム
JP5421361B2 (ja) メッセージに対する署名を生成する方法及び装置並びにそのような署名を検証する方法及び装置
JP6634171B2 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5227816B2 (ja) 匿名署名生成装置、匿名署名検証装置、匿名署名追跡判定装置、追跡機能付き匿名署名システム、それらの方法及びプログラム
JP5815754B2 (ja) 署名検証システム、署名装置、検証装置、署名検証方法
EP3979554A1 (en) Device and method for certifying reliability of public key, and program for same
JP6125459B2 (ja) 署名システム、署名生成装置、署名生成/検証方法、署名生成方法、プログラム
JP5331028B2 (ja) 署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体
JP5331027B2 (ja) 署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5330964B2 (ja) 署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム
WO2019216435A1 (ja) 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
WO2012176408A1 (ja) 署名検証方法、署名検証システム及び署名検証プログラム
JP5871826B2 (ja) 認証子生成装置、検証装置、およびプログラム
JP6225097B2 (ja) 署名・検証システム、署名装置、検証装置、署名・検証方法、プログラム
CN117834150A (zh) 一种基于身份的结构保持等价类签名生成方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120717

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

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

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5069157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350