JPH11231779A - 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体 - Google Patents

楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体

Info

Publication number
JPH11231779A
JPH11231779A JP10037282A JP3728298A JPH11231779A JP H11231779 A JPH11231779 A JP H11231779A JP 10037282 A JP10037282 A JP 10037282A JP 3728298 A JP3728298 A JP 3728298A JP H11231779 A JPH11231779 A JP H11231779A
Authority
JP
Japan
Prior art keywords
signature
blind
elements
random
elliptic curve
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
JP10037282A
Other languages
English (en)
Inventor
Taiichi Saito
泰一 斉藤
Kunio Kobayashi
邦生 小林
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 JP10037282A priority Critical patent/JPH11231779A/ja
Publication of JPH11231779A publication Critical patent/JPH11231779A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

Abstract

(57)【要約】 (修正有) 【課題】 有限体上の離散対数問題を安全性の根拠とす
るよりも安全性を向上させる。 【解決手段】 楕円曲線E上の有理点群E(F
(pn ))中の要素数qの部分群Gp からG1 ,G2
選択して公開し、署名者は秘密鍵s1 ,s2 としてZ/
qZからランダムに選択し、公開鍵V=[−s1 ]G1
+[−s2 ]G2 をE上の要素として求め、Z/qZか
らr′1 ,r′2 をランダムに選択して、B=[r′
1 ]G1 +[r′2 ]G2 をE上の要素として求め、B
を署名秘密者へ送る。依頼者はr1 ,r2,dをZ/q
Zから選択し、X=B+[r1 ]G1 +[r2 ]G2
[d]Vを、E上の要素として求め、e=h(m,
X),e′=e−dmod qを求めて署名者へ送り、署名
者はy′1 =r′1 +e′s1 mod q 、y′2 =r′2
+e′s2 mod q を求めて依頼者へ返送し、依頼者はy
1 =y′1 +r1 mod q,y2 =y′2 +r2 mod qを
求めて、e,y1 ,y2 を署名とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は情報セキュリティ
技術に適用され、署名依頼者が、署名者に、その署名内
容、例えばメッセージmを明すことなく、署名してもら
うブラインド署名に関するものであり、特に楕円曲線を
利用技術に関するものである。
【0002】
【従来の技術】従来技術としては、安全性の証明がされ
ているブラインド署名方式として岡本による署名方式が
提案されている。(Tatsuaki Okamoto,“Provably Sec
ure and Practical Identification Scheme and Corres
ponding Signature Schemes ,Lecture Notes in Compu
ter Science ,Volume 740,Advances in Cryptology:
CRYPT'92 ) 従来技術として、提案されている岡本によるブラインド
署名方式の説明をする。図5はこの署名方法の手順を表
すものである。システム構築時にシステムパラメータ
p,q,g1 ,g2 ,tを生成する。ここでp,qは素
数、qはp−1を割りきれる。g1 ,g2 はpを法とす
る既約剰余類群(Z/pZ)* の要素から選んだもので
あり、いずれの位数もqであるとする。
【0003】署名者は秘密鍵s1 ,s2 としてZ/qZ
(Z/qZは{0,1,…,q−1}の整数)よりラン
ダムな異なる要素を選び、公開鍵v=g1 -s12 -s2
modpを計算してvを公開するhをハッシュ関数とし、
その出力のビット長をtとする。事前計算として、署名
者はランダムな数r1 ′,r2 ′∈Z/qZを選び、b
=g1 r'1 2 r'2 mod pを計算して、署名依頼者に渡
す。
【0004】署名依頼者は、ランダムにr1 ,r2 ∈Z
/qZとd∈Z/qZを生成して、x=bg1 r12 r1
d mod pを計算して、更にxとメッセージmをハッシ
ュ演算してe=h(x,m)∈Z/2t Zを計算して、
e′=e−dmod qを署名者に渡す。署名者は、y1
=r1 ′+e′s1 mod q,y2 ′=r2 ′+e′s2
modqを計算して、(y1 ′,y2 ′)を署名依頼者へ
渡す。
【0005】署名依頼者は(y1 ′,y2 ′)が検証式
b=g1 y'1 2 y'2 e'mod pを満たすか確かめる。
ここでは署名者が正しく処理をしたならば、次の式が成
り立つことにより、検証式を満たす。 g1 y'1 2 y'2 e'=g1 r'1+e's12 r'2+e's2e' =g1 r'1 2 r'2 (g1 e's12 e's2)(g1 -e's1 2 -e's2 ) =g1 r'1 2 r'2 =bmod p 署名依頼者は正しい(y1 ′,y2 ′)からy1
1 ′+r1 mod q,y2=y2 ′+r2 mod qを計算
して、(e,y1 ,y2 )をmに対する署名として署名
検証者に渡す。
【0006】署名検証者はx′=g1 y12 y2e mod
pを計算して、等式e=h(x′,m)を満たすならば
検証成功とする。ここでは署名者が正しく処理をして、
上記検証式を満たしたならば、次の式が成り立つことに
より検証が成功する。 x′=g1 y12 y2e =g1 y'1+r12 y'2+r2e =(g1 y'1 2 y'2 )ve'(g1 r12 r2)ve-e' =b(g1 r12 r2)vd mod p 一方、近年公開鍵暗号の分野では、公開鍵暗号の安全性
をより高めることを主な目的として、有限体上の離散対
数問題を楕円曲線上の離散対数問題に置き換えて暗号ア
ルゴリズムを構築する試みがされてきている。
【0007】楕円曲線上の離散対数問題とは次のような
ものである。いま、pを素数とし、nを自然数として、
要素数pn である有限体F(pn )上で定義された楕円
曲線EのF(pn )有理点で構成される群をE(F(p
n ))として、E(F(pn))上の2項演算を記号+
で書き、E(F(pn ))の要素Gをx個加算したG+
G+…+G(x個)を[x]Gと書くとする。
【0008】この時、楕円曲線上の離散対数問題とは、
楕円曲線上の群E(F(pn ))の元P,Qに対してP
=[n]Qを満たす整数nが存在する場合に、nを求め
る問題のことである。楕円曲線および楕円曲線上の群に
関しては、J.H.Silverman 著の“The Arithmetic of El
liptic Curves ”,GTM106 ,Springer-Verlag New
York 1986 参照。
【0009】岡本によるブラインド署名方式は有限体上
離散対数問題を安全性の根拠とおいているが、岡本によ
るブラインド署名方式を、楕円曲線上の離散対数問題を
安全性の根拠とするブラインド署名方式に置き換える提
案はされていなかった。
【0010】
【発明が解決しようとする課題】コンピュータの計算能
力の向上や有限体上の離散対数問題の解法アルゴリズム
の発見により、安全性を向上させるためにより難しい問
題を根拠とする必要が生じてきている。この発明の目的
は上記従来方式の問題点に対して、より難しい問題であ
る楕円曲線上の群に対する離散対数問題を安全性の根拠
とするブラインド署名方法、その装置及びプログラム記
録媒体を提供することである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に請求項2に係るブラインド署名方法においては、pを
素数とし、nを自然数として、要素数pn である有限体
F(pn )上で定義された楕円曲線EのF(pn )有理
点で構成される群をE(F(pn ))とし、E(F(p
n ))上の2項演算を記号+で書き、E(F(pn ))
の要素Gの逆元を記号−Gで書き、E(F(pn ))の
要素Gをx個加算したG+G+…+G(x個)を[x]
Gと書き、負の整数xに対して、E(F(pn ))の要
素Gの逆元−Gを−x個加算した(−G)+(−G)+
…+(−G)(−x個)を[x]Gと書くとして、群E
(F(pn ))から、要素数が素数qである部分群Gq
として、その部分群Gq の異なる2つの要素G1 ,G2
を選び、(pn ,E,q,G1 ,G2 )を公開パラメー
タとして公開し、さらに楕円曲線上の群の要素Xと整数
mを入力変数として2t −1がq以下であるようなtに
対して、{0,1,…,2t −1}の要素を出力とする
一方向性関数をhとするとして、署名装置と検証装置が
署名通信をする環境において、署名装置は秘密にランダ
ムに2つのことなる要素s1 ,s2 をZ/qZより選
び、これらを用いて楕円曲線Eの群の要素V=[−s
1 ]G1 +[−s2 ]G2を計算して求め、Vを公開鍵
として公開し、(s1 ,s2 )を秘密鍵として秘密に保
持しておく。
【0012】事前計算として、署名装置がランダムな数
1 ′,r2 ′をZ/qZから選び、これらを用いて楕
円曲線Eの群の要素B=[r1 ′]G1 +[r2 ′]G
2 を計算して要素Bを署名依頼装置に渡す。ブラインド処理 署名依頼装置は、ランダムにr1 ,r2 とdをZ/qZ
から選び、これらと公開要素G1 ,G2 、公開鍵Vを用
いて楕円曲線Eの群の要素X=B+[r1 ]G 1 +[r
2 ]G2 +[d]Vを計算して、その計算結果と署名対
象メッセージを変数値化したmに対し一方向性関数演算
e=h(X,m)を計算して、e′=e−d mod qを
署名装置に渡す。署名処理 署名装置は、y1 ′=r1 ′+e′s1 mod q,y2
=r2 ′+e′s2 mod qを計算して、(y1 ′,
2 ′)を署名依頼装置へ渡す。
【0013】署名依頼装置は(y1 ′,y2 ′)が検証
式B=[y1 ′]G1 +[y2 ′]G2 +[e′]Vを
満たすか確かめる。ここでは署名装置が正しく処理をし
たならば、次の式が成り立つことにより検証式が成り立
つ。 [y1 ′]G1 +[y2 ′]G2 +[e′]V =[r1 ′+e′s1 ]G1 +[r2 ′+e′s2 ]G2 +[e′]V =[r1 ′]G1 +[r2 ′]G2 +[e′s1 ]G1 +[e′s2 ]G2 +[−e′s1 ]G1 +[−e′s2 ]G2 =[r1 ′]G1 +[r2 ′]G2 =B 署名依頼装置は正しい(y1 ′,y2 ′)からy1 =y
1 ′+r1 mod q,y 2 =y2 ′+r2 mod qを計算し
て、(e,y1 ,y2 )をmに対する署名として署名検
証装置に渡す。
【0014】署名検証装置は署名と公開要素G1
2 、公開鍵Vを用いてX′=[y1 ]G1 +[y2
2 +[e]Vを計算して、等式e=h(X′,m)を
満たすならば検証成功とする。ここでは署名装置が正し
く処理をしたならば、次の式が成り立つことにより検証
が成功する。
【0015】 X′=[y1 ]G1 +[y2 ]G2 +[e]V =[y1 ′+r1 ]G1 +[y2 ′+r2 ]G2 +[e]V =[y1 ′]G1 +[y2 ′]G2 +[e′]V +[r1 ]G1 +[r2 ]G2 +[e−e′]V =B+[r1 ]G1 +[r2 ]G2 +[d]V=X
【0016】
【発明の実施の形態】図1にこの発明のブラインド署名
方法の実施例の処理手順を示し、図2にその署名装置、
図3に署名依頼装置、図4に検証装置の各機能構成をそ
れぞれ示す。システムパラメータ生成 システム構築時に、pを素数とし、nを自然数として、
以下の性質を満たす要素数pn である有限体F(pn
とその有限体上に定義された楕円曲線Eを選ぶ。
【0017】・楕円曲線E上に定義される群の部分群G
q の位数が大きな、例えば160ビット程度の素数であ
る。 ・上記部分群の2つの要素をランダムに選べる。ここで
上記部分群Gq の位数である素数をqとおく。次に上記
部分群Gq の異なる要素G1 ,G2 をランダムに選ぶ。
【0018】以上の(EF(pn )又はpn ,E,q,
1 ,G2 )を公開パラメータとして公開する。さらに
楕円曲線上の群の要素Xと整数mを入力変数として2t
−1がq以下であるようなtに対し、{0,1,…,2
t −1}の要素を出力とする一方向性ハッシュ関数をh
とする。秘密鍵、公開鍵生成 署名装置11のメモリ12内には前記システム公開パラ
メータが格納されてある。署名者は署名装置11内の秘
密鍵生成部14により、秘密にランダムに2つのことな
る要素s1 ,s2 をZ/qZ、つまり{0,1,…,q
−1}の整数中より選ぶ。例えば乱数生成器から乱数を
発生させ、その乱数がZ/qZであればそれを出力する
ことにより、異なる2つのs1 とs2 を得る。これら要
素s1 ,s2 と公開要素G1 ,G2 を用いて楕円曲線E
の群の要素Vが、公開鍵生成部15で次式により計算さ
れる。
【0019】 V=[−s1 ]G1 +[−s2 ]G2 … (1) 署名者はVを公開鍵として公開し、(s1 ,s2 )を秘
密鍵として、メモリ12内に秘密に保持しておく。事前計算 署名装置11は乱数生成部16により、Z/qZからラ
ンダムな数r1 ,r2 を選び、これらと公開要
素G1 ,G2 を用いて楕円曲線Eの群へ要素Bを事前計
算部17で次式により求める。
【0020】 B=[r1 ′]G1 +[r2 ′]G2 … (2) この事前計算値Bを送信部18より署名依頼者の装置
(署名依頼装置)21へ送る。署名依頼装置21のメモ
リ22には公開パラメータG1 ,G2 ,q、公開鍵Vな
どが格納されてある。受信部23で署名装置11から事
前計算値Bを受信すると、以下のブラインド処理を行
う。即ち乱数生成部24と25で、Z/qZからランダ
ムr1 ,r2 とdをそれぞれ生成する。
【0021】次に攪乱数生成部26で、乱数r1
2 ,dと公開情報G1 ,G2 ,Vとから次式を計算し
て攪乱数Xを楕円曲線Eの要素として求める。 X=B+[r1 ]G1 +[r2 ]G2 +[d]V … (3) この攪乱数Xとメッセージが数値化された整数mとを関
数演算部27に変数としたこの例ではハッシュ関数演算
がなされ演算結果eを得る。
【0022】 e=h(X,m) … (4) この演算結果eと乱数dとの次式の引算を剰余演算部2
8で行う。 e′=e−dmod q … (5) この演算結果、つまりブラインド処理結果e′を送信部
29より署名装置11へ送る。
【0023】署名装置11は受信部13でブラインド処
理結果e′を受信すると、これと、乱数r1 ′,
2 ′、秘密鍵s1 ,s2 と公開パラメータqを用いて
次式の署名演算を署名演算部19で行う。y1 ′=
1 ′+e′s1 mod q …
(6)y2 ′=r2 ′+e′s2 mod q
… (7)この署名演算結果y1 ′,y2 ′を
署名依頼装置21へ送信部18で送る。
【0024】署名依頼装置21は受信部23で受信され
た署名演算結果y1 ′,y2 ′に対し、公開情報G1
2 ,Vとブラインド処理結果e′を用い、検証部31
で、楕円曲線E上の下記の式を満すかを確める。 B=[y1 ′]G1 +[y2 ′]G2 +[e′]V … (8) 署名装置11が正しく処理したのならば、式(8)の右
辺に式(6)、式(7)の関係、更に式(1)の関係を
代入すると次の等式が成り立つため、上記検証式が成り
立つ。
【0025】 [y1 ′]G1 +[y2 ′]G2 +[e′]V =[r1 ′+e′s1 ]G1 +[r2 ′+e′s2 ]G2 +[e′]V =[r1 ′]G1 +[r2 ′]G2 +[e′s1 ]G1 +[e′s2 ]G2 +[−e′s1 ]G1 +[−e′s2 ]G2 =[r1 ′]G1 +[r2 ′]G2 =Bアンブラインド処理 検証部31での検証に合格すると、署名演算結果
1 ′,y2 ′に対し、乱数r1 ,r2 を用いてアンブ
ラインド処理を次式の演算によりアンブラインド処理部
32で行う。
【0026】 y1 =y1 ′+r1 mod q … (9) y2 =y2 ′+r2 mod q … (10) (e,y1 ,y2 )をメッセージmに対する署名として
署名検証装置41に送信部29より送信する。署名検証 署名検証装置41においては図4に示すようにそのメモ
リ42には公開要素G 1 ,G2 、公開鍵Vが格納されて
おり、受信部43でメッセージmとその署名e,y1
2 が受信されると、検証演算部44でG1 ,G2 ,V
と署名y1 ,y 2 ,eとにより楕円曲線E上でその要素
X′が次式により計算される。
【0027】 X′=[y1 ]G1 [y2 ]G2 +[e]V … (11) この計算結果X′とメッセージmがハッシュ関数演算部
45に入力され、e′=h(X′,m)が演算される。
この演算結果e′と、受信した署名中のeとが比較部4
6で比較され、e′=eであるかが確められる。署名装
置11が正しく処理をしたのならば、式(11)の右辺
に、式(9),(10)の関係、更に式(8)、式
(5)の関係を代入すると次の等式が成り立つため、検
証成功する。
【0028】 X′=[y1 ]G1 +[y2 ]G2 +[e]V =[y1 ′+r1 ]G1 +[y2 ′+r2 ]G2 +[e]V =[y1 ′]G1 +[y2 ′]G2 +[e′]V +[r1 ]G1 +[r2 ]G2 +[e−e′]V =B+[r1 ]G1 +[r2 ]G2 +[d]V=X 上述において、公開要素G1 ,G2 、変数要素Xを求め
る演算は上記例に限られることなく、楕円曲線上で行う
演算であればよい。また署名要素y1 ,y2 の演算も上
記例に限られるものでない。
【0029】署名装置11、署名依頼装置21、検証装
置41は一般にはマイクロプロセッサなどを主体とする
制御部51,52,53がそれぞれ設けられて、各手段
の順次制御や、メモリに対する読み、書きが行われる。
【0030】
【発明の効果】以上説明したようにこの発明は安全性の
根拠を有限体の離散対数問題から楕円曲線上の離散対数
問題に変えることにより、従来より安全性の向上をはか
ることが可能となった。
【図面の簡単な説明】
【図1】この発明による楕円曲線を用いたブラインド署
名方法の動作手順を示す図。
【図2】この発明の署名装置の実施例の機能構成を示す
ブロック図。
【図3】この発明の署名依頼装置の実施例の機能構成を
示すブロック図。
【図4】この発明の検証装置の実施例の機能構成を示す
ブロック図。
【図5】従来の岡本による有限体上のブラインド署名方
法の動作手順を示す図。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 pを素数、nを自然数とし、要素数pn
    である有限体F(p n )上で定義された楕円曲線EのF
    (pn )有理点で構成される群をE(F(p n ))と
    し、群E(F(pn ))中の要素G1 ,G2 と、E(F
    (pn ))又はpn と、Eを公開し、 署名装置は秘密鍵s1 ,s2 と上記公開要素G1 ,G2
    を用いて楕円曲線Eの群の要素Vを求めて公開鍵として
    公開し、 署名装置は事前処理として、上記楕円曲線Eの群E(F
    (pn ))中のランダムな要素Bを求め、このランダム
    要素Bを署名依頼装置へ送り、 署名依頼装置は受信したランダム要素Bを用いて上記楕
    円曲線Eの群E(F(pn ))中のランダムな要素を、
    攪乱要素Xとして求め、 その攪乱要素Xと数値化された署名対象mとを入力変数
    として関数演算を行い、 更にその演算結果eに対して乱数にて処理して、ブライ
    ンド処理結果であるブラインド署名対象e′を得、この
    ブラインド署名対象e′を署名装置へ送り、 署名装置は受信したブラインド署名対象e′に対し、上
    記ランダム要素Bを得る際に用いた情報と、上記秘密鍵
    1 ,s2 を用いて署名演算を行い、 その署名演算結果であるブラインド署名y1 ′,y2
    を署名依頼装置へ送り、 署名依頼装置は受信したブラインド署名y1 ′,y2
    に対し、検証を行い、 その検証に合格すると、上記ブラインド署名y1 ′,y
    2 ′に対し、アンブラインド処理を行い、 そのアンブラインド処理結果でy1 ,y2 と上記関数演
    算結果eとを上記署名対象mに対する署名として、その
    署名y1 ,y2 ,eと署名対象mを検証装置へ送り、 検証装置は受信した署名y1 ,y2 ,eと公開要素G
    1 ,G2 とを用いて楕円曲線E上の群の要素X′を求
    め、 その要素X′とmを入力として関数演算を行いその演算
    結果とeとを比較し、一致していれば署名が正しいと判
    定することを特徴とする楕円曲線を用いたブラインド署
    名方法。
  2. 【請求項2】 E(F(pn ))上の2項演算を記号+
    で、E(F(pn ))の要素Gの逆元を記号−Gで、E
    (F(pn ))の要素Gをx個加算したG+G+…+G
    (x個)を[x]Gで、負の整数xに対して、E(F
    (pn ))の要素Gの逆元−Gを−x個演算した(−
    G)+(−G)+…+(−G)(−x個)を[x]Gで
    それぞれ表わし、 上記群E(F(pn ))中の要素からなり、要素数が素
    数qである部分群Gqとして、部分群Gq の異なる2つ
    の要素を上記公開要素G1 ,G2 として選び、qも公開
    し、 上記関数演算は一方向性関数hの演算であり、2t −1
    がq以下であるようなtに対して、{0,1,…,2t
    −1}の要素を出力するものであり、 上記秘密鍵s1 ,s2 として、ランダムに2つの異なる
    要素をZ/qZ(Z/qZは{0,1,…,q−1}の
    整数)より選び、 上記公開鍵Vを、V=[−s1 ]G1 +[−s2 ]G2
    の計算により求め、 上記署名装置は異なるランダムな数r1 ′,r2 ′をZ
    /qZ(Z/qZは{0,1,…,q−1}の整数)よ
    り選び、上記ランダム要素BをB=[r1 ′]G1
    [r2 ′]G2 の計算により求め、 上記署名依頼装置での上記ブラインド処理は、ランダム
    にr1 ,r2 とdをZ/qZから選び、上記攪乱要素X
    をX=B+[r1 ]G1 +[r2 ]G2 +[d]Vによ
    り計算し、上記関数演算をe=h(m,X)により求
    め、ブラインド署名対象e′としてe′=e−dmod q
    を計算して得る処理であり、 上記署名装置の署名演算はy1 ′=r1 ′+e′s1 mo
    d q,y2 ′=r2 ′+e′s2 mod qであり、 上記署名依頼装置の上記検証はB=[y1 ′]G1
    [y2 ′]G2 +[e′]Vを満するかの演算であり、
    上記アンブラインド処理はy1 =y1 ′+r1 mod q,
    2 =y2 ′+r2 mod qの計算であり、 検証装置での上記要素X′はX′=[y1 ]G1 +[y
    2 ]G2 +[e]Vの計算により求め、上記判定は検証
    式e=h(X′,m)を満たすかどうかチェックをする
    ことを特徴とする請求項1記載の楕円曲線を用いたブラ
    インド署名方法。
  3. 【請求項3】 有限体で定義される楕円曲線上の有理点
    である公開要素G1,G2 と秘密鍵s1 ,s2 を格納す
    るメモリと、 上記秘密鍵s1 ,s2 を生成する秘密鍵生成手段と、 上記秘密鍵s1 ,s2 と上記公開要素G1 ,G2 とを入
    力して、上記楕円曲線上の有理点である公開鍵Vを生成
    する公開鍵生成手段と、 乱数r1 ′,r2 ′をランダムに生成する乱数生成手段
    と、 上記乱数r1 ′,r2 ′と上記公開要素G1 ,G2 を入
    力して上記楕円曲線上の有理点であるランダム要素Bを
    生成する前処理手段と、 署名依頼装置から受信したブラインド署名対象e′と、
    上記乱数r1 ′,r2′、上記秘密鍵s1 ,s2 が入力
    されてe′に対し署名演算をしてブラインド署名要素y
    1 ′,y2 ′を得る署名演算手段と、 上記ランダム要素B、上記ブラインド署名y1 ′,
    2 ′を署名依頼装置へ送る送信手段と、 上記署名依頼装置より情報を受信する受信手段と、 上記各手段を順次制御し、上記メモリに対する読出し書
    込みなどを行う制御手段とを具備する署名装置。
  4. 【請求項4】 上記楕円曲線Eはpを素数とし、nを自
    然数として、要素数pn である有限体F(pn )上で定
    義され、その有理点で群E(F(pn ))が構成され、
    E(F(pn ))上の要素Gのx個加算を[x]Gで表
    わし、群E(F(pn ))中の要素数が素数qである部
    分群Gq から異なる2つの要素G1 ,G2 が上記公開要
    素として選定されており、 上記メモリに上記qも記憶されており、 上記秘密鍵生成手段はZ/qZ(Z/qZは{0,1,
    …,q−1}の整数)よりランダムに2つの異なる整数
    1 ,s2 を生成する手段であり、 上記公開鍵生成手段はV=[−s1 ]G1 +[−s2
    2 を計算してVを上記公開鍵とする手段であり、 上記乱数選択手段はZ/qZよりランダムに2つの異な
    る整数r1 ′,r2 ′を生成する手段であり、 上記署名演算手段はy1 ′=r1 ′+e′s1 mod q,
    2 ′=r2 ′+e′s2 mod qを計算する手段である
    ことを特徴とする請求項3記載の署名装置。
  5. 【請求項5】 有限体で定義される楕円曲線上の有理点
    である公開要素G1,G2 、上記有理点である公開鍵
    V、署名対象mを格納するメモリと、 乱数r1 ,r2 ,dを生成する乱数生成手段と、 上記乱数r1 ,r2 、上記要素G1 ,G2 、上記公開鍵
    V、署名装置から受信した上記楕円曲線上の有理点のラ
    ンダム要素Bが入力されて、上記楕円曲線上の有理点で
    ある攪乱要素Xを生成する攪乱数生成手段と、 上記攪乱要素Xと上記署名対象mとが変数として入力さ
    れて関数演算を行う関数演算手段と、 上記関数演算結果eと上記乱数dを入力してブラインド
    署名対象e′を出力するブラインド手段と、 署名装置から受信したブラインド署名y1 ′,y2 ′を
    検証する検証手段と、 上記検証手段の検証に合格したブラインド署名y1 ′,
    2 ′と、上記乱数r 1 ,r2 が入力されて、アンブラ
    インド演算を行って署名要素y1 ,y2 を得るアンブラ
    インド処理手段と、 上記ブラインド署名対象e′を署名装置へ送り、上記要
    素y1 ,y2 を上記関数演算結果eを上記署名対象mの
    署名として、y1 ,y2 ,e,mを検証装置へ送る送信
    手段と、 上記署名装置より情報を受信する手段と、 上記各手段を順次制御し、上記メモリに対する読出し書
    込みなどを行う制御手段とを具備する署名依頼装置。
  6. 【請求項6】 上記楕円曲線Eはpを素数とし、nを自
    然数として、要素数pn である有限体F(pn )で定義
    され、その有理点で群E(F(pn ))が構成され、E
    (F(pn ))上の要素Gのx個加算を[x]Gで表わ
    し、群E(F(pn ))中の要素数が素数qである部分
    群Gq から異なる2つの要素G1 ,G 2 が上記公開要素
    として選定されてあり、上記公開鍵はV=[−s1 ]G
    1 +[−s2 ]G2 を計算した値であり、r1 ,r2
    dはZ/qZ(Z/qZは{0,1,…,q−1}の整
    数)からランダムに取った3つの異なる整数であり、 上記関数は、2t −1がq以下でありtに対し、{0,
    1,…,2t −1}の要素を出力する一方向性関数hで
    あり、上記qも上記メモリに格納され、 上記攪乱数生成手段は、X=B+[r1 ]G1
    [r2 ]G2 +[d]Vを計算する手段であり、 上記関数演算手段はh(m,X)を演算する手段であ
    り、 上記ブラインド手段は、e′=e−dmod qを計算する
    手段であり、 上記検証手段はB=[y1 ′]G1 +[y2 ′]G2
    [e′]Vを満すかを確かめる手段であり、 上記アンブラインド処理手段はy1 =y1 ′+r1 mod
    q,y2 =y2 ′+r 2 mod qを計算する手段であるこ
    とを特徴とする請求項5記載の署名依頼装置。
  7. 【請求項7】 署名対象mに対し、ブラインド署名を行
    う署名装置で、 秘密鍵s1 ,s2 を生成する秘密鍵生成過程と、 有限体で定義される楕円曲線上の有理点である公開要素
    1 ,G2 と上記秘密鍵s1 ,s2 を用いて上記楕円曲
    線上の有理点の要素である公開鍵Vを生成する公開鍵生
    成過程と、 乱数r1 ′,r2 ′をランダムに生成する乱数生成過程
    と、 上記乱数r1 ′,r2 ′と上記公開要素G1 ,G2 を用
    いて上記楕円曲線上の有理点の要素であるランダム要素
    Bを生成する前処理過程と、 上記ランダム要素Bを署名依頼装置へ送る過程と、 署名依頼装置から受信したブラインド署名対象e′を受
    信する過程と、 上記受信したブラインド署名対象e′と、上記乱数
    1 ′,r2 ′、上記秘密鍵s1 ,s2 を用いてe′に
    対し署名演算をしてブラインド署名要素y1 ′,y 2
    を演算する署名演算過程と、 上記ブラインド署名y1 ′,y2 ′を上記署名依頼装置
    へ送る送信過程と、 を実行させるプログラムを記録したコンピュータ読出し
    可能な記録媒体。
  8. 【請求項8】 上記楕円曲線Eはpを素数とし、nを自
    然数として、要素数pn である有限体F(pn )上で定
    義され、その有理点群E(F(pn ))が構成され、E
    (F(pn ))上の要素Gのx個加算を[x]Gで表わ
    し、群E(F(pn ))中の要素数が素数qである部分
    群Gq から異なる2つの要素G1 ,G 2 が上記公開要素
    として選定されており、 上記秘密鍵生成過程はZ/qZ(Z/qZは{0,1,
    …,q−1}の整数)よりランダムに2つの異なる整数
    1 ,s2 を取出す過程であり、 上記公開鍵生成過程はV=[−s1 ]G1 +[−s2
    2 を計算してVを上記公開鍵とする過程であり、 上記乱数選択過程はZ/qZよりランダムに2つの異な
    る整数r1 ′,r2 ′を取出す過程であり、 上記前処理過程はB=[r1 ′]G1 +[r2 ′]G2
    を計算する過程であり、 上記署名演算過程はy1 ′=r1 ′+e′s1 mod q,
    2 ′=r2 ′+e′s2 mod qを計算する過程である
    ことを特徴とする請求項7記載の記録媒体。
  9. 【請求項9】 署名装置mに対し、署名装置に対しブラ
    インド署名を依頼する署名依頼装置で、 上記署名装置から、有限体で定義される楕円曲線上の有
    理点であるランダム要素Bを受信する過程と、 乱数r1 ,r2 ,dを生成する乱数生成過程と、 上記乱数r1 ,r2 、上記楕円曲線上の有理点である公
    開要素G1 ,G2 と上記公開鍵V、上記ランダム要素B
    とより上記楕円曲線上の有理点である攪乱要素Xを生成
    する攪乱数生成過程と、 上記攪乱要素Xと上記署名対象mとを入力変数として関
    数演算を行う関数演算過程と、 上記関数演算結果eと上記乱数dを用いてブラインド署
    名対象e′を計算するブラインド過程と、 上記ブラインド署名対象を上記署名装置を送信する過程
    と、 上記署名装置からブラインド署名を受信する過程と、 上記ブラインド署名y1 ′,y2 ′を検証する検証過程
    と、 上記検証過程の検証に合格すると、そのブラインド署名
    1 ′,y2 ′に対し、上記乱数r1 ,r2 を用いてア
    ンブラインド演算を行って署名要素y1 ,y2を得るア
    ンブラインド処理過程と、 上記要素y1 ,y2 、上記関数演算結果eを上記署名対
    象mの署名として、y 1 ,y2 ,e,mを検証装置へ送
    る送信過程と、 を実行させるプログラムを記録したコンピュータ読出し
    可能な記録媒体。
  10. 【請求項10】 上記楕円曲線Eはpを素数とし、nを
    自然数として、要素数pn である有限体F(pn )で定
    義され、その有理点で群E(F(pn ))が構成され、
    E(F(pn ))上の要素Gのx個加算を[x]Gで表
    わし、群E(F(pn ))中の要素数が素数qである部
    分群Gq から異なる2つの要素G1 ,G2 が上記公開要
    素として選定されてあり、上記公開鍵はV=[−s1
    1 +[−s2 ]G2 を計算した値であり、r1 ,r
    2 ,dはZ/qZ(Z/qZは{0,1,…,q−1}
    の整数)からランダムに選んだ3つの異なる整数であ
    り、上記関数は、2t −1がq以下であり、{0,1,
    …,2t −1}の要素を出力する一方向性関数hであ
    り、上記qも公開され、 上記攪乱数生成過程は、X=B+[r1 ]G1
    [r2 ]G2 +[d]Vを計算する過程であり、 上記関数演算過程はh(m,X)を演算する過程であ
    り、 上記ブラインド過程は、e′=e−dmod qを計算する
    過程であり、 上記検証過程はB=[y1 ′]G1 +[y2 ′]G2
    [e′]Vを満すかを確かめる過程であり、 上記アンブラインド処理過程はy1 =y1 ′+r1 mod
    q,y2 =y2 ′+r 2 mod qを計算する過程であるこ
    とを特徴とする請求項9記載の記録媒体。
JP10037282A 1998-02-19 1998-02-19 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体 Pending JPH11231779A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10037282A JPH11231779A (ja) 1998-02-19 1998-02-19 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10037282A JPH11231779A (ja) 1998-02-19 1998-02-19 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体

Publications (1)

Publication Number Publication Date
JPH11231779A true JPH11231779A (ja) 1999-08-27

Family

ID=12493355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10037282A Pending JPH11231779A (ja) 1998-02-19 1998-02-19 楕円曲線を用いたブラインド署名方法、その装置およびプログラム記録媒体

Country Status (1)

Country Link
JP (1) JPH11231779A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440776C (zh) * 2002-11-29 2008-12-03 北京华大信安科技有限公司 椭圆曲线签名和验证签名方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440776C (zh) * 2002-11-29 2008-12-03 北京华大信安科技有限公司 椭圆曲线签名和验证签名方法和装置

Similar Documents

Publication Publication Date Title
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US7688973B2 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program, and method
JP4547158B2 (ja) バイリニアマッピングを使用する署名スキーム
US8184803B2 (en) Hash functions using elliptic curve cryptography
JP4575283B2 (ja) 暗号装置、復号装置、プログラム及び方法
JP4575251B2 (ja) デジタル署名生成装置、デジタル署名検証装置、デジタル署名生成方法、デジタル署名検証方法、デジタル署名生成プログラム及びデジタル署名検証プログラム
Burnett et al. A biometric identity based signature scheme
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
JP4830860B2 (ja) 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置
JP3583555B2 (ja) 暗号通信法
JP2002515128A (ja) 秘密キー証明書
JP4776906B2 (ja) 署名生成方法及び情報処理装置
WO1998007253A9 (en) Accelerating public-key cryptography by precomputing randomly generated pairs
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
WO2006126668A1 (ja) 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法
US6480606B1 (en) Elliptic curve encryption method and system
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
Gligoroski Stream cipher based on quasigroup string transformations in $ Z_p^* $
US11616994B2 (en) Embedding information in elliptic curve base point
JP2003255831A (ja) 楕円曲線スカラー倍計算方法及び装置
KR20240045231A (ko) 디지털 서명 셰어의 생성
JP4598269B2 (ja) 楕円曲線上の高速有限体演算