(57)【要約】【課題】第三者機関に頼らずにコンカレント安全なブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラムを提供する。【解決手段】署名手段は、第一及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する。【選択図】図１
2009290698.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力することを特徴とするブラインド署名装置。
【請求項２】
請求項１に記載のブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名装置。
【請求項３】
請求項１に記載のブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名装置。
【請求項４】
公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とするブラインド署名受信装置。
【請求項５】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とするブラインド署名システム。
【請求項６】
請求項５に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名システム。
【請求項７】
請求項５に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名システム。
【請求項８】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを  前記法qのもとで加えたものρ_iを計算し、
I=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力することを特徴とするブラインド署名装置。
【請求項９】
請求項８に記載のブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名装置。
【請求項１０】
請求項９に記載のブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名装置。
【請求項１１】
公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とするブラインド署名受信装置。
【請求項１２】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とするブラインド署名システム。
【請求項１３】
請求項１２に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名システム。
【請求項１４】
請求項１２に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名システム。
【請求項１５】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力することを特徴とする部分ブラインド署名装置。
【請求項１６】
請求項１５に記載の部分ブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする部分ブラインド署名装置。
【請求項１７】
請求項１５に記載の部分ブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする部分ブラインド署名装置。
【請求項１８】
公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする部分ブラインド署名受信装置。
【請求項１９】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする部分ブラインド署名システム。
【請求項２０】
請求項１９に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする部分ブラインド署名システム。
【請求項２１】
請求項１９に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする部分ブラインド署名システム。
【請求項２２】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名手段は、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、
i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力することを特徴とする部分ブラインド署名装置。
【請求項２３】
請求項２２に記載の部分ブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする部分ブラインド署名装置。
【請求項２４】
請求項２２に記載の部分ブラインド署名装置において、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする部分ブラインド署名装置。
【請求項２５】
公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
署名受信手段は、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、
θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、
各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする部分ブラインド署名受信装置。
【請求項２６】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名手段は、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、
i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
署名受信手段は、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、
θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、
各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする部分ブラインド署名システム。
【請求項２７】
請求項２６に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする部分ブラインド署名システム。
【請求項２８】
請求項２６に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする部分ブラインド署名システム。
【請求項２９】
ブラインド署名システムであって、
署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名装置から前記署名受信装置への通信があり、
前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータ  を署名受信装置に送り、
その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、
前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算することを特徴とするブラインド署名システム。
【請求項３０】
部分ブラインド署名のシステムであって、
署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名装置から前記署名受信装置への通信があり、
前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、
その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、
前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算することを特徴とする部分ブラインド署名システム。
【請求項３１】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、
電子的な価値を電送する手段であって、発行装置と使用装置と受信装置とを有し、
前記使用装置が前記価値を得る場合には前記使用装置が前記発行装置からブラインド署名を受信し、
前記価値を使用する場合には前記使用装置が前記ブラインド署名を前記受信装置に送信する手段を備えたことを特徴とするブラインド署名システム。
【請求項３２】
請求項３１に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名システム。
【請求項３３】
請求項３１に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名システム。
【請求項３４】
請求項３１に記載のブラインド署名システムにおいて、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とするブラインド署名システム。
【請求項３５】
請求項３１に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とするブラインド署名システム。
【請求項３６】
請求項３１に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とするブラインド署名システム。
【請求項３７】
請求項３１に記載のブラインド署名システムにおいて、
署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名装置から前記署名受信装置への通信があり、
前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、
その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、
前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算することを特徴とするブラインド署名システム。
【請求項３８】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する部分ブラインド署名システムであって、
電子的な価値を電送する手段であって、
発行装置、使用装置、及び受信装置を有し、
前記使用装置が前記価値を得る場合には前記使用装置が前記発行装置から部分ブラインド署名を受信し、
前記価値を使用する場合には前記使用装置が前記ブラインド署名を前記受信装置に送信する手段を備えたことを特徴とする部分ブラインド署名システム。
【請求項３９】
請求項３８に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする部分ブラインド署名システム。
【請求項４０】
請求項３８に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする部分ブラインド署名システム。
【請求項４１】
請求項３８に記載の部分ブラインド署名システムにおいて、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名手段は、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、
i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
署名受信手段は、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、
θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、
各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする部分ブラインド署名システム。
【請求項４２】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名手段は、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、
i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
署名受信手段は、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、
θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、
各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであり、
電子価値を電送する手段を備えたとを特徴とする部分ブラインド署名システム。
【請求項４３】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名手段は、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、
i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
署名受信手段は、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、
θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、
各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、
前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであり、
電子価値を電送する手段を備えたことを特徴とする部分ブラインド署名システム。
【請求項４４】
ブラインド署名システムであって、
署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名装置から前記署名受信装置への通信があり、
前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、
その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、
前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算し、
電子価値を送信する手段を備えたことを特徴とするブラインド署名システム。
【請求項４５】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項４６】
請求項４５に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであり、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項４７】
請求項４５に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであり、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項４８】
セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、
公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記第一署名手順は、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、
前記第二署名手順は、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力し、
さらに第一証明手段及び第二証明手段を有し、
前記第一証明手段は、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力するものであり、
前記第二証明手段は、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力し、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記第一署名受信手段はqを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力するものであって、
前記第二署名受信手段は、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、
さらに第一証明検証手段及び第二証明検証手段を有し、
前記第一証明検証手段は、
データwを受けとり、θをランダムに選んで前記θを出力するものであり、
前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、
前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了するブラインド署名システムであって、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項４９】
請求項４８に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、
前記関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであり、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項５０】
請求項４８に記載のブラインド署名システムにおいて、
前記署名手段は、
前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであり、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項５１】
ブラインド署名システムであって、
署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名装置から前記署名受信装置への通信があり、
前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、
その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、
前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算するブラインド署名システムであって、
電子的にユーザの意見を収集するシステムであって、
管理者装置、ユーザ装置、及び集計装置を有し、
前記ユーザ装置は前記管理者装置から認証を受け、
前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、
前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、
前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とするブラインド署名システム。
【請求項５２】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記コンピュータは、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順を実行させ、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とするブラインド署名方法。
【請求項５３】
コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信方法であって、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記コンピュータが、
qを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力する前記第一署名受信手順と、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順を実行させることを特徴とするブラインド署名受信方法。
【請求項５４】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記コンピュータに、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させ、
前記署名手段は、さらに第一証明手段及び第二証明手段を有し、
前記コンピュータに、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力する前記第一証明手順と、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力する前記第二証明手順とを実行させることを特徴とするブラインド署名方法。
【請求項５５】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名方法であって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記コンピュータに、
qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力する前記第一署名手順と、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させることを特徴とする部分ブラインド署名方法。
【請求項５６】
コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信方法であって、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記コンピュータは、
qを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力する前記第一署名受信手順と、
qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順とを実行させることを特徴とする部分ブラインド署名受信方法。
【請求項５７】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記コンピュータは、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順を実行させ、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とするブラインド署名プログラム。
【請求項５８】
コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信プログラムであって、
前記署名受信手段は、
前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、
前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、
前記コンピュータが、
qを法としたとき、
a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力する前記第一署名受信手順と、
c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、
前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順を実行させることを特徴とするブラインド署名受信プログラム。
【請求項５９】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす  関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、
前記コンピュータに、
qを法としたとき、ξ及びεをランダムに選び、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、
データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、
各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させ、
前記署名手段は、さらに第一証明手段及び第二証明手段を有し、
前記コンピュータに、
τ_0,...,τ_nをランダムに選び、
各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、
前記I_1,...,I_nを掛け合わせたものwを計算し、
前記wを出力する前記第一証明手順と、
データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、
ρ_0,...,ρ_nを出力する前記第二証明手順とを実行させることを特徴とするブラインド署名プログラム。
【請求項６０】
コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名プログラムであって、
前記署名手段は、
公開鍵及び秘密鍵xを入力として受けとるものであり、
Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順を有し、
前記コンピュータに、
qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、
Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、
各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、
Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力する前記第一署名手順と、
データbを受けとり、
各i=k,...nに対しs_iをランダムに選び、
各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、
Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、
前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させることを特徴とする部分ブラインド署名プログラム。
【請求項６１】
コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信プログラムであって、
前記署名受信手段は、
部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、
前記Mはk個の部分M_1,...,M_kからなり、
前記M'はn-k個の部分M_[k+1],...,M_nからなり、
前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、
前記コンピュータは、
qを法としたとき、a_0,...,a_nを受けとり、
r_[k+1],...,r_n及びηをランダムに選び、
各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、
前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、
前記bを出力する前記第一署名受信手順と、
qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、
ζ及びλをランダムに選び、
前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、
前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、
各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、
前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、
前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、
前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順とを実行させることを特徴とする部分ブラインド署名受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、電子的な文書が改竄されていない事を保証する技術が重要になりつつある。このような目的の為に電子署名が普及しつつある。電子署名にはブラインド署名方式と部分ブラインド署名方式とがある。
ブラインド署名方式は電子署名方式の変種であり、いわゆる「めくら判」を電子的に実現する方式である。ブラインド署名方式では、署名受信者が署名対象の文書Mを選ぶ。そして署名者にMを教える事なく署名者からMに対する署名文を貰う事ができる。部分ブラインド署名方式は電子投票や電子現金に応用がある。
【０００３】
電子署名の関連技術として非特許文献１のブラインド署名方式が挙げられる。
以下、ブラインド署名方式について説明する。
【０００４】
＜本明細書で用いる記号＞
qを素数とし、A，B，Tを位数qの有限巡回群とする。今、A×BからTへの双線型写像が存在すると仮定する。
(x,Y)∈A×Bに対し、(x,Y)の双線型写像による像をe(x,Y)と表記する。φをBからAへの群同型写像とする。さらに位数qの巡回群をZ_qと表記する。A、B、もしくはTの元xのα乗をA^αと表記する。さらにHash（ハッシュ）を、Z_qに値を取るハッシュ関数とする。ビット列a，bに対し、a||bでaの後ろにbを繋げたビット列を表す。
q，A，B，Tとしてどのようなものを選んでもよいが、確実性上の観点から言えば qは160ビット以上にしておく事が望ましい。例えば、A，Bとしては楕円曲線群を選び、双線型写像としてはWeilペアリングを選び、さらにφとしてはtorsion mapを選ぶ事ができる。
【０００５】
＜ブラインド署名方式＞
ブラインド署名方式の装置構成を図１７に従って説明する。
図１７は、本発明に関連するブラインド署名システムのブロック図である。
ブラインド署名方式を用いたブラインド署名システムは、署名装置１、署名受信装置２、及び検証装置３を有する。
【０００６】
署名装置１は、演算部１１と、記憶部１２と、通信部１３とを有する。
署名受信装置２は、演算部２１と、記憶部２２と、通信部２３とを有する。
検証装置３は、演算部３１と、記憶部３２と、通信部３３とを有する。
各装置１〜３としては、例えばパーソナル・コンピュータを使う事ができる。
演算部１１としては、例えばパーソナル・コンピュータのCPU(Central Processing Unit)を使用する事ができる。
記憶部１２としては、例えばパーソナル・コンピュータのメモリやハードディスクを使用する事ができる。
通信部１３としては、例えばネットワーク網を使用する事ができる。
セキュリティ・パラメータと呼ばれる値κが各装置１〜３の記憶部１２、２２、３２に書き込まれているものとする。セキュリティ・パラメータκはブランド署名方式の安全性を計る尺度である。非特許文献１や後述する本発明に係る実施例において、セキュリティ・パラメータκは有限巡回群の位数のビット数を表し、安全性上の観点からセキュリティ・パラメータκは160以上である事が望ましい。
【０００７】
ここで、「安全性」とは、署名者と第三者との結託による詐欺行為や盗聴等の犯罪行為に対する安全性を意味し、身体への危害に対する「安全性」とは異なる。
【０００８】
また、署名装置１の演算部１１は、鍵生成手段１４０と署名手段１５０とを有する。
署名受信装置２の演算部２１は、署名受信手段２４０を有する。
検証装置３の演算部３１は、検証手段３４０を有する。
【０００９】
各手段の入出力は以下の通りである。
鍵生成手段１４０は、セキュリティ・パラメータκが入力されると、公開鍵pkというビット列と秘密鍵skというビット列とを出力する。
署名装置１及び署名受信装置２において、それぞれ署名手段１５０と署名受信手段２４０とが相互に通信しながらデータを計算する。この計算の際、署名手段１５０には署名装置１の公開鍵pkと秘密鍵skとが入力され、署名受信手段２４０には署名装置１の公開鍵pkが入力され、さらに文書Mが入力される。両者が有限回通信した後、署名受信手段２４０は文書Mに対する署名装置１の署名文σを得る。ただし、署名装置１もしくは署名受信装置２が不正なデータを送信した場合は、他方の装置は異常終了し、通信を中断する。
【００１０】
検証手段３４は、署名装置１の公開鍵pkと、文書Mと、文書Mに対する署名文の候補である署名文σとが入力されると、受理を表す文字列もしくは拒否を表す文字列を出力する。
ここで「受理」は、署名文σが文書Mに対する署名装置１による正当な署名である事を意味し、「拒否」は正当な署名でない事を意味する。
【００１１】
ブラインド署名方式の概要は以下の通りである。
署名装置１は、記憶部１２からセキュリティ・パラメータκを読み込み、セキュリティ・パラメータκを入力して鍵生成手段１４０による鍵生成を行ない、鍵生成手段１４０の出力として公開鍵pkと秘密鍵skとを得る。公開鍵pkと秘密鍵skとを記憶部１２に書き込み、さらに公開鍵pkを、通信部１３を使用して公開する。公開鍵pkは署名受信装置２及び検証装置３の両記憶部２２、３３に書き込まれる。
【００１２】
署名受信装置２に文書Mが入力されると、署名受信装置２は通信部２３を使用して署名装置１と通信する。署名受信装置２が通信を開始すると、署名装置１は公開鍵pkと秘密鍵skとを記憶部１２から読み込み、公開鍵pkと秘密鍵skとを署名手段１５に入力する。
【００１３】
一方、署名受信装置２は、署名装置１の公開鍵pkを記憶部２２から読み込み、公開鍵pkと文書Mとを署名受信手段２４０に入力する。署名手段１５０と署名受信手段２４０とは相互に通信し、最終的に署名受信手段２４０は署名文σを出力する。署名受信装置２は、署名文σを記憶部２２に書き込む。さらに署名受信装置２は必要に応じ、通信部２３を使用し文書Mと、署名文σとを検証装置３に送信する。
【００１４】
文書Mと署名文σとが入力されると、検証装置３は文書Mと署名文σとを検証手段３４０に入力する。文書Mと署名文σとを検証手段３４０に入力すると、検証手段３４が受理を表す文字列もしくは拒否を表す文字列を出力するので、その文字列を記憶部３２に書き込む。
【００１５】
＜非特許文献１のブラインド署名方式＞
＜鍵生成手段１４０＞
G_0,G_1,G_2をBからランダムに選び、xをZ_qからランダムに選び、さらにH=G_1^xとする。
g_0,g_1,g_2,hをそれぞれφ(G_0)，φ(G_1)，φ(G_2)，φ(H)にセットする。
(g_0,g_1,g_2,h,G_0,G_1,G_2,H)を公開鍵pkとし、xを秘密鍵skとする。
公開鍵pk及び秘密鍵skを出力する。
【００１６】
＜署名手段１５０と署名受信手段２４０＞
署名装置１は、署名手段１５０に公開鍵pk=(g_0,g_1,g_2,h,G_0,G_1,G_2,H)と秘密鍵sk=xとを入力として与える。
【００１７】
一方、署名受信装置２は、署名受信手段２４０に公開鍵pk=(g_0,g_1,g_2,h,G_0,G_1,G_2,H)と文書Mとを入力として受けとる。もし(g_0,g_1,g_2,h)≠(φ(G_0),φ(G_1),φ(G_2),φ(H))であれば署名受信装置２は異常終了を表す文字列を出力して停止する。
【００１８】
もし(g_0,g_1,g_2,h)≠(φ(G_0),φ(G_1),φ(G_2),φ(H))でなければ以下の手順を行なう。
署名受信装置２は、rとηとをZ_qからランダムに選び、b=(g_0g_1^[Hash(M)]g_2^r)^ηを計算し、通信部２３を使用してbを署名装置１に送信し、署名装置１は通信部１３を使用してbを受信する。
署名受信装置２は、bの正当性を署名装置１に証明する。証明方法としてどのようなものを用いてもよいが、安全性上の観点から例えば後述の「非特許文献１のブラインド署名方式における証明」に記載された方法でbの正当性を証明できる。
【００１９】
正当性証明を受理すると、署名装置１はεとsとをZ_qからランダムに選び、c=(bg_2^s)^[1/(x+ε)]を計算する。通信部１３を使用して(c,s,ε)を署名受信装置２に送信する。
通信部２３を使用して(c,s,ε)を受信すると、署名受信装置２は ζとλとをZ_qからランダムに選び、 d=c^[1/(ηζ)]、F=H^ζG_1^[ζε]、t=r+(s/η) mod q、u=h^[1/ζ]g_1^λ、およびV=H^[ζλ+ε]G_1^[ζλε]を計算する。
e(g_0g_1^[Hash(M)]g_2^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_1,V)であればσ=(d,F,t,u,V)とし、σを署名文として出力する。e(g_0g_1^[Hash(M)]g_2^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_1,V)でなければ異常終了を表す文字列を出力する。
【００２０】
＜検証手段３４０＞
公開鍵pk=(g_0,g_1,g_2,h,G_0,G_1,G_2,H)と文書Mと署名文の候補で有る署名文σ=(d,F,t,u,V)とが入力されると、検証手段３４は e(g_0g_1^[Hash(M)]g_2^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_1,V)であれば受理を表す文字列を出力し、e(g_0g_1^[Hash(M)]g_2^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_1,V)でなければ拒否を表す文字列を出力する。
【００２１】
＜非特許文献１のブラインド署名方式における証明＞
署名受信装置２は、τ_0,τ_1,τ_2をZ_qからランダムに選び、w=g_0^[τ_0]g_1^[τ_1]g_2^[τ_2]を計算し、通信部２３を使用してwを署名装置１に送信する。
【００２２】
通信部１３を使用してwを受信したら、署名装置１は、θをZ_qからランダムに選び、通信部１３を使用してθを署名受信装置２に送信する。
通信部２３を使用してθを受信したら、署名受信装置２は、ρ_0=θη+τ_0 mod q、 ρ_1=θHash(M)η+τ_1 mod q、pρ_2=θrη+τ_2 mod qを計算し、通信部２３を使用して(ρ_0,ρ_1,ρ_2)を署名装置１に送信する。
通信部１３を使用して(ρ_0,ρ_1,ρ_2)を受信すると、署名装置１は、b^θw=g_0^[ρ_0]g_1^[ρ_1]g_2^[ρ_2]であれば、受理を表す文字列を出力し、b^θw=g_0^[ρ_0]g_1^[ρ_1]g_2^[ρ_2]でなければ拒否を表す文字列を出力する。
【００２３】
＜部分ブラインド署名方式＞
部分ブラインド署名方式を用いたシステムの装置構成を図１８に従って説明する。
図１８は、本発明に関連する部分ブラインド署名システムのブロック図である。
部分ブラインド署名システムは、署名装置１、署名受信装置２、及び検証装置３を有する。
【００２４】
署名装置１は、演算部１１と、記憶部１２と、通信部１３とを有する。
署名受信装置２は、演算部２１と、記憶部２２と、通信部２３とを有する。
検証装置３は、演算部３１と、記憶部３２と、通信部３３とを有する。
【００２５】
各装置としては、例えばパーソナル・コンピュータを使用する事ができる。
演算部としては、例えばパーソナル・コンピュータのCPUを使用する事ができる。
記憶部としては、例えばパーソナル・コンピュータのメモリやハードディスクを使用する事ができる。
通信部としては、例えばネットワーク網を使用する事ができる。
セキュリティ・パラメータと呼ばれる値κが各装置の記憶部に書き込まれているものとする。 セキュリティ・パラメータκはブランド署名方式の安全性を計る尺度である。非特許文献１や後述する本発明に係る実施例ではセキュリティ・パラメータκは有限巡回群の位数のビット数を表し、安全性上の観点からセキュリティ・パラメータκは160以上である事が望ましい。
【００２６】
また、署名装置１の演算部１１は、鍵生成手段１４０と署名手段１５０とを有する。
署名受信装置２の演算部２１は、署名受信手段２４０を有する。
検証装置３の演算部３１は、検証手段３４０を有する。
【００２７】
各手段の入出力は以下の通りである。
鍵生成手段１４０は、セキュリティ・パラメータκが入力されると公開鍵pkというビット列と秘密鍵skというビット列とを出力する。
署名装置１及び署名受信装置２において、それぞれ署名手段１５０と署名受信手段２４０とが相互に通信しながらデータを計算する。このデータの計算の際、署名手段１５０には署名装置１の公開鍵pkと秘密鍵skと文書Mとが入力され、署名受信手段２４０には署名装置１の公開鍵pkが入力され、さらに文書Mと文書M'とが入力される。
【００２８】
署名手段１５０及び署名受信手段２４０の両者が有限回通信した後、署名受信手段２４０は文書M||M'に対する署名装置１の署名文σを得る。ただし、署名装置１もしくは署名受信装置２が不正なデータを送信した場合は、他方の装置は異常終了し、通信を中断する。
【００２９】
検証手段３４０は、署名装置１の公開鍵pk、文書M，M'、および文書M||M'に対する署名文の候補である署名文σが入力されると、受理を表す文字列もしくは拒否を表す文字列を出力する。ここで「受理」は署名文の候補である署名文σが文書M||M'に対する署名装置１による正当な署名である事を意味し、「拒否」は署名文の候補である署名文σが文書M||M'に対する署名装置１による正当な署名でない事を意味する。
【００３０】
部分ブラインド署名方式の概要は以下の通りである。
署名装置１は、記憶部１２からセキュリティ・パラメータκを読み込み、セキュリティ・パラメータκを入力して鍵生成手段１４で鍵生成を行ない、鍵生成手段１４の出力として公開鍵pkと秘密鍵skとを得る。
【００３１】
署名装置１は、公開鍵pkと秘密鍵skとを記憶部１２に書き込み、さらに公開鍵pkを、通信部１３を使用して公開する。公開鍵pkは署名受信装置２及び検証装置３の両記憶部２２、３２に書き込まれる。
署名装置１に文書Mが入力され、署名受信装置２に文書Mと文書M'とが入力されると、署名受信装置２は通信部２３を使って署名装置１と通信する。
署名受信装置２が署名装置１と通信を開始すると署名装置１は、公開鍵pkと秘密鍵skとを記憶部１２から読み込み、公開鍵pkと秘密鍵skと文書Mとを署名手段１５に入力する。
【００３２】
一方、署名受信装置２は、署名装置１の公開鍵pkを記憶部２２から読み込み、公開鍵pkと文書Mと文書M'とを署名受信手段２４０に入力する。
署名手段１５と署名受信手段２４０とは相互に通信し、最終的に署名受信手段２４０は署名文σを出力する。署名受信装置２は、署名文σを記憶部２２に書き込む。さらに署名受信装置２は必要に応じ、通信部２３を使って文書Mと文書M'と署名文σとを検証装置３に送信する。
文書Mと文書M'と署名文σとが入力されると、検証装置３は文書Mと文書M'と署名文σとを検証手段３４０に入力する。文書Mと文書M'と署名文σとを検証手段３４０に入力すると、検証手段３４０が受理を表す文字列もしくは拒否を表す文字列を出力するので、その文字列を記憶部３２に書き込む。
【００３３】
＜非特許文献１に記載の部分ブラインド署名方式＞
＜鍵生成手段１４＞
G_0,G_1,G_2,G_3をBからランダムに選び、xをZ_qからランダムに選び、さらにH=G_2^xとする。
g_0,g_1,g_2,g_3,hをそれぞれφ(G_0)，φ(G_1)，φ(G_2)，φ(G_3)，φ(H)にセットする。
(g_0,g_1,g_2,g_3,h,G_0,G_2,G_3,H)を公開鍵pkとし、xを秘密鍵skとする。
公開鍵pk及び秘密鍵skを出力する。
【００３４】
＜署名手段１５０と署名受信手段２４０＞
署名装置１は、署名手段１５に公開鍵pk=(g_0,g_1,g_2,g_3,h,G_0,G_1,G_2,G_3,H)と秘密鍵sk=xと文書Mとを入力として与える。
一方、署名受信装置２は、署名受信手段２４０に公開鍵pk=(g_0,g_1,g_2,g_3,h,G_0,G_1,G_2,G_3,H)と文書Mと文書M'とを入力として受けとる。
もし(g_0,g_1,g_2,g_3,h)≠(φ(G_0),φ(G_1),φ(G_2),φ(G_3),φ(H))
であれば署名受信装置２は、異常終了を表す文字列を出力して停止し、
(g_0,g_1,g_2,g_3,h)≠(φ(G_0),φ(G_1),φ(G_2),φ(G_3),φ(H))でなければ以下の手順を行なう。
【００３５】
署名受信装置２は、r及びηをZ_qからランダムに選び、 b=(g_0g_1^[Hash(M)]g_2^[Hash(M')]g_3^r)^ηを計算し、通信部２３を使用してbを署名装置１に送信し、署名装置１は通信部１３を使用してbを受信する。
署名受信装置２は、bの正当性を署名装置１に証明する。証明方法としてどのようなものを用いてもよいが、安全性上の観点から言えば、例えば「非特許文献１のブラインド署名方式における証明」に記載された方法でbの正当性を証明できる。
正当性証明を受理すると署名装置１は、εとsとをZ_qからランダムに選び、c=(bg_3^s)^[1/(x+ε)]を計算する。通信部１３を使用して(c,s,ε)を署名受信装置２に送信する。
通信部２３を使用して(c,s,ε)を受信すると、署名受信装置２は、 ζとλとをZ_qからランダムに選び、d=c^[1/(ηζ)]、F=H^ζG_2^[ζε]、t=r+(s/η) mod q、u=h^[1/ζ]g_2^λ、およびV=H^[ζλ+ε]G_2^[ζλε]を計算する。
【００３６】
e(g_0g_1^[Hash(M)]g_2^[Hash(M')]g_3^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_2,V)
であれば σ=(d,F,t,u,V)とし、σを署名文として出力する。
e(g_0g_1^[Hash(M)]g_2^[Hash(M')]g_3^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_2,V)でなければ異常終了を表す文字列を出力する。
【００３７】
＜検証手段３４０＞
公開鍵pk=(g_0,g_1,g_2,g_3,h,G_0,G_1,G_2,G_3,H)と、文書Mと、署名文候補σ=(d,F,t,u,V)とが入力されると、検証手段３４０は、
e(g_0g_1^[Hash(M)]g_2^[Hash(M')]g_3^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_2,V)
であれば受理を表す文字列を出力し、
e(g_0g_1^[Hash(M)]g_2^[Hash(M')]g_3^t,G_0)=e(d,F)かつe(u,F)=e(h,H)e(g_2,V)
でなければ拒否を表す文字列を出力する。
【００３８】
＜非特許文献１に記載の部分ブラインド署名方式における証明＞
署名受信装置２は、τ_0,τ_1,τ_2,τ_3をZ_qからランダムに選び、
w=g_0^[τ_0]g_1^[Hash(M)τ_1]g_2^[τ_2]g_3^[τ_3]を計算し、通信部２３を使用してwを署名装置１に送信する。
通信部１３を使用してwを受信すると署名装置１は、θをZ_qからランダムに選び、通信部１３を使ってθを署名受信装置２に送信する。
通信部２３を使用してθを受信すると署名受信装置２は、ρ_0=θη+τ_0 mod q、ρ_1=θη+τ_1 mod q、ρ_2=θHash(M')η+τ_2 mod q、ρ_3=θrη+τ_3 mod qを計算し、通信部２３を使用して(ρ_0,ρ_1,ρ_2,ρ_3)を署名装置１に送信する。
【００３９】
通信部１３を使用して(ρ_0,ρ_1,ρ_2,ρ_3)を受信すると、
署名装置１はb^θw=g_0^[ρ_0]g_0^[Hash(M)ρ_1]g_2^[ρ_2]g_3^[ρ_3]であれば受理を表す文字列を出力し、
b^θw=g_0^[ρ_0]g_0^[Hash(M)ρ_1]g_2^[ρ_2]g_3^[ρ_3]でなければ拒否を表す文字列を出力する。
【００４０】
ここで、ブラインド署名方法に関連する技術の一例が特許文献１〜３に記載されている。
特許文献１の「電子投票方法」は、「管理者が管理する管理者装置からの投票の承認を得て、投票者が使用する投票者装置が該管理者装置を経由して、集計者が使用する集計者装置に投票データを送信し、該集計者装置が投票を集計する電子投票方法において、各前記投票者装置は、選択した候補に対応する投票内容を前記集計者装置の公開鍵を用いて暗号化器により暗号化し、暗号化された投票内容を含む情報を乱数により攪乱して前処理文を作成して、前記管理者装置に送信する第１のステップと、前記管理者装置は、前記各投票者装置の正当性を確認し、該投票者装置から受信した前記前処理文を署名作成器に入力して該前処理文に対するブラインド署名を生成して、前記投票者装置に送信する第２のステップと、前記各投票者装置は、受信した前記前処理文に対する前記ブラインド署名から、前記乱数成分の影響を取り除き、前記暗号化された投票内容を含む情報に対する前記管理者装置の管理者署名を求めて、取得し、該管理者署名と該暗号化された投票内容を含む情報を、更に、前記集計者装置の公開鍵を用いて暗号化して、前記管理者装置へ投票データとして送信する第３のステップと、前記管理者装置は、前記投票者装置から受信した前記投票データが、前記ブラインド署名を送信した投票者装置からの投票データであることを確認した後、該投票データを前記集計装置に送信する第４のステップと、前記集計者装置では、前記投票データを受信して、対応する秘密鍵を用いて復号器により該投票データを復号する第５のステップと、さらに、対応する秘密鍵を用いて復号器により前記投票データを復号して投票内容を得て、該投票内容に対応する候補の得票を集計する第６のステップと」で構成されている。
【００４１】
この電子投票方法によれば、投票者が管理者及び集計者の両者に投票データを送るのではなく、管理者のみに投票データを送り、管理者が集計者に投票データを送ることによって、投票者が投票処理の異常を装って二重投票を防ぐことができるとしている。
【００４２】
特許文献２の「鍵交換システム」は「非対称共通鍵（公開鍵方式のグループ秘密鍵）を計算可能な鍵交換手段を持つ複数の端末と、センタとからなる鍵交換システムにおいて、前記センタは、前記端末間の通信を傍受可能な傍受手段と、傍受した前記通信から前記非対称共通鍵を非対称秘密鍵とするグループ公開鍵である対話鍵を計算する手段とを備えた」構成である。
【００４３】
この鍵交換システムによれば、鍵共有プロトコルにおいて送受信される情報と公開鍵（対話鍵）の関係が検証でき、対話鍵に対応する非対称秘密鍵をいつ誰が共有したかが分かる。また、ユーザが３人以上の場合には、リング型の通信経路を採用して、各ユーザの通信先を限定することにより、演算量と通信量を削減することができるとしている。
【００４４】
特許文献３の「楕円曲線を用いたブラインド署名方法」は「ｐを素数、ｎを自然数とし、要素数ｐn である有限体Ｆ（ｐn ）上で定義された楕円曲線ＥのＦ（ｐn ）有理点で構成される群をＥ（Ｆ（ｐn ））とし、群Ｅ（Ｆ（ｐn ））中の要素Ｇ1 ，Ｇ2 と、Ｅ（Ｆ（ｐn ））又はｐn と、Ｅを公開し、署名装置は秘密鍵ｓ1 ，ｓ2 と上記公開要素Ｇ1 ，Ｇ2 を用いて楕円曲線Ｅの群の要素Ｖを求めて公開鍵として公開し、署名装置は事前処理として、上記楕円曲線Ｅの群Ｅ（Ｆ（ｐn ））中のランダムな要素Ｂを求め、このランダム要素Ｂを署名依頼装置へ送り、署名依頼装置は受信したランダム要素Ｂを用いて上記楕円曲線Ｅの群Ｅ（Ｆ（ｐn ））中のランダムな要素を、攪乱要素Ｘとして求め、その攪乱要素Ｘと数値化された署名対象ｍとを入力変数として関数演算を行い、更にその演算結果ｅに対して乱数にて処理して、ブラインド処理結果であるブラインド署名対象ｅ′を得、このブラインド署名対象ｅ′を署名装置へ送り、署名装置は受信したブラインド署名対象ｅ′に対し、上記ランダム要素Ｂを得る際に用いた情報と、上記秘密鍵ｓ1 ，ｓ2 を用いて署名演算を行い、その署名演算結果であるブラインド署名ｙ1 ′，ｙ2 ′を署名依頼装置へ送り、署名依頼装置は受信したブラインド署名ｙ1 ′，ｙ2 ′に対し、検証を行い、その検証に合格すると、上記ブラインド署名ｙ1 ′，ｙ2 ′に対し、アンブラインド処理を行い、そのアンブラインド処理結果でｙ1 ，ｙ2 と上記関数演算結果ｅとを上記署名対象ｍに対する署名として、その署名ｙ1 ，ｙ2 ，ｅと署名対象ｍを検証装置へ送り、検証装置は受信した署名ｙ1 ，ｙ2 ，ｅと公開要素Ｇ1 ，Ｇ2 とを用いて楕円曲線Ｅ上の群の要素Ｘ′を求め、その要素Ｘ′とｍを入力として関数演算を行いその演算結果とｅとを比較し、一致していれば署名が正しいと判定する」構成である。
【００４５】
この楕円曲線を用いたブラインド署名方法によれば、安全性の根拠を有限体の離散対数問題から楕円曲線上の離散対数問題に変えることにより、安全性の向上をはかることが可能となったとしている。
【特許文献１】特開２００４−０１３６０６号公報
【特許文献２】特開２００４−２８２５７５号公報
【特許文献３】特開平１１−２３１７７９号公報
【非特許文献１】Tatsuaki Okamoto. Efficient Blind and Partially Blind Signatures Without Random Oracles.＜インターネットURL：http://eprint.iacr.org/2006/102＞
【発明の開示】
【発明が解決しようとする課題】
【００４６】
ところで、上述したように非特許文献１には、ブラインド署名方式と部分ブラインド署名方式の２つの方式が開示されている。
ブラインド署名方式はコンカレント安全ではないという問題がある。
ここで、コンカレント安全の「コンカレント」はシーケンシャル(sequential)の対義語である。署名プロトコルを複数並行に実行するのを認めるのがコンカレントであり、署名プロトコルを複数並行に実行するのを認めないのがシーケンシャルである。シーケンシャルな場合、１つの署名プロトコルが終了するまで次の署名プロトコルを実行する事はできない。
【００４７】
「シーケンシャル安全」とは署名プロトコルをシーケンシャルに行った場合のみ安全性が保証される事を意味する。それに対し「コンカレント安全」ではそのような制限が無く、署名プロトコルをコンカレントに行ったとしても安全性が保証される。なお、コンカレントはパラレルとは異なる。パラレルも署名プロトコルを複数並列に実行するのを認めまるが、それらは同期がとれてなければならない。
【００４８】
つまり、例えば、署名プロトコルAで第三ステップを実行しているときは、署名プロトコルBでも第三ステップを実行していなければならない。コンカレントにはそのような制約は無く、署名プロトコルAで第三ステップを実行しているときに署名プロトコルBで第一ステップを実行してもかまわない。コンカレント、シーケンシャル、パラレルはそれぞれ「並行」、「直列」、「並列」と訳される。ただしあまり定着した訳ではない。
【００４９】
部分ブラインド署名方式はコンカレント安全であるが、この方式には第三者機関が事前準備を行なうというステップが存在し、第三者機関が信頼のおける場合にしか安全性が保証されないという問題がある。
【００５０】
また、特許文献１〜３に記載の技術では、コンカレント安全性が不十分であるという問題がある。
【００５１】
そこで、本発明の目的は、第三者機関に頼らずにコンカレント安全なブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００５２】
本発明の第１の署名装置は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力することを特徴とする。
【００５３】
本発明の第１の署名受信装置は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００５４】
本発明の第１のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００５５】
本発明の第２の署名装置は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、  前記第二証明手段は、データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力することを特徴とする。
【００５６】
本発明の第２の署名受信装置は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【００５７】
本発明の第２のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、  前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、
各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【００５８】
本発明の第３の署名装置は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力することを特徴とする。
【００５９】
本発明の第３の署名受信装置は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００６０】
本発明の第３のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、
前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００６１】
本発明の第４の署名装置は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、前記署名手段は、  公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力することを特徴とする。
【００６２】
本発明の第４の署名受信装置は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、
データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【００６３】
本発明の第４のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前��r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【００６４】
本発明の第５のシステムは、ブラインド署名システムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名装置から前記署名受信装置への通信があり、前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算することを特徴とする。
【００６５】
本発明の第６のシステムは、  部分ブラインド署名のシステムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名装置から前記署名受信装置への通信があり、前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算することを特徴とする。
【００６６】
本発明の第７のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、電子的な価値を電送する手段であって、発行装置と使用装置と受信装置とを有し、前記使用装置が前記価値を得る場合には前記使用装置が前記発行装置からブラインド署名を受信し、前記価値を使用する場合には前記使用装置が前記ブラインド署名を前記受信装置に送信する手段を備えたことを特徴とする。
【００６７】
本発明の第８のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する部分ブラインド署名システムであって、電子的な価値を電送する手段であって、発行装置、使用装置、及び受信装置を有し、前記使用装置が前記価値を得る場合には前記使用装置が前記発行装置から部分ブラインド署名を受信し、前記価値を使用する場合には前記使���装置が前記ブラインド署名を前記受信装置に送信する手段を備えたことを特徴とする。
【００６８】
本発明の第９のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、
前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、前記署名手段は、前記関数Mask(g,ξ)はgをξでべき乗剰余するものであり、前記関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであり、電子価値を電送する手段を備えたとを特徴とする��
【００６９】
本発明の第１０のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対し前記M_iと前記τ_iの積で前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに��記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、前記a_iを前記M_iと前記ρ_Iとの積でべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、前記署名手段は、前記関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、前記関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであり、電子価値を電送する手段を備えたことを特徴とする。
【００７０】
本発明の第１１のシステムは、ブラインド署名システムであって、署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名装置から前記署名受信装置への通信があり、前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算し、電子価値を送信する手段を備えたことを特徴とする。
【００７１】
本発明の第１２のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、前記ユーザ装置は前記管理者装置から認証を受け、前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、  前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とする。
【００７２】
本発明の第１３のシステムは、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、−公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、前記第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、前記第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力するものであり、前記第二証明手段は、データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力するものであって、前記第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前���ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、前記第一証明検証手段は、データwを受けとり、θをランダムに選んで前記θを出力するものであり、前記第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対し前記a_iを前記ρ_iでべき乗剰余したものJ_iを計算し、前記bを前記θでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、前記ユーザ装置は前記管理者装置から認証を受け、前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、  前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とする。
【００７３】
本発明の第１４のシステムは、ブラインド署名システムであって、署名装置と署名受信装置とを有し、
Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名装置から前記署名受信装置への通信があり、前記通信で署名装置は自身の秘密鍵を使って作ったデータを前記Maskに入力してできたデータを署名受信装置に送り、その他の通信では前記署名装置は自身の秘密鍵を使わず、前記署名受信装置から前記署名装置への通信があり、前記署名受信装置から前記署名装置への前記通信で前記署名装置が受信したデータを前記Unmaskに入力して出力を計算するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、前記ユーザ装置は前記管理者装置から認証を受け、前記ユーザ装置は自身の意見Mに対するブラインド署名の前記管理者装置による署名文σを受けとり、前記ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、前記集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら前記集計装置は投票結果を集計することを特徴とする。
【００７４】
本発明に係る第１の方法は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記コンピュータは、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順を実行させ、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とする。
【００７５】
本発明に係る第２の方法は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信方法であって、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記コンピュータが、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力する前記第一署名受信手順と、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順を実行させることを特徴とする。
【００７６】
本発明に係る第３の方法は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記コンピュータに、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させ、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記コンピュータに、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力する前記第一証明手順と、データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力する前記第二証明手順とを実行させることを特徴とする。
【００７７】
本発明に係る第４の方法は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名方法であって、前記署名手段は、  公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記コンピュータに、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させることを特徴とする。
【００７８】
本発明に係る第５の方法は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信方法であって、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記コンピュータは、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力する前記第一署名受信手順と、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順とを実行させることを特徴とする。
【００７９】
本発明の第１のプログラムは、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、
UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、
前記署名手段は、第一署名手順及び第二署名手順からなり、前記コンピュータは、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順を実行させ、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とする。
【００８０】
本発明の第２のプログラムは、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信プログラムであって、前記署名受信手段は、前記公開鍵及び文書Mを入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記署名受信手段は第一署名受信手順及び第二署名受信手順を有し、前記コンピュータが、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力する前記第一署名受信手順と、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、前記η及び前記ζの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したもの及び前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順を実行させることを特徴とする。
【００８１】
本発明の第３のプログラムは、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順からなり、前記コンピュータに、qを法としたとき、ξ及びεをランダムに選び、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させ、前記署名手段は、さらに第一証明手段及び第二証明手段を有し、前記コンピュータに、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、前記τ_iで前記a_iをべき乗剰余したものI_iを計算し、前記I_1,...,I_nを掛け合わせたものwを計算し、前記wを出力する前記第一証明手順と、データθを受けとり、i=0,k+1,...,nに対し前記θと前記ηとを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、前記θ、前記η、及び前記M_iを前記法qのもとで乗じたものに前記τ_iを前記法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力する前記第二証明手順とを実行させることを特徴とする。
【００８２】
本発明の第４のプログラムは、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名プログラムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、前記署名手段は、第一署名手順及び第二署名手順を有し、前記コンピュータに、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、前記xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力する前記第一署名手順と、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対し前記xに前記εを加えたもので前記s_iを前記法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、前記c,s_[k+1],...,s_n,εを出力する前記第二署名手順とを実行させることを特徴とする。
【００８３】
本発明の第５のプログラムは、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信プログラムであって、前記署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、前記Mはk個の部分M_1,...,M_kからなり、前記M'はn-k個の部分M_[k+1],...,M_nからなり、前記署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、前記コンピュータは、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、前記a_iを前記r_iでべき乗剰余したものF'_jを計算し、前記a_0と前記F_1,...F_kと前記F'_[k+1],...F'_nとを乗じたものを前記ηでべき乗剰余したものbを計算し、前記bを出力する前記第一署名受信手順と、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、前記ηと前記ζとの積の前記法qにおける逆数でcをべき乗剰余したものdを計算し、前記ζで前記公開鍵の一部Hをべき乗剰余したものと、前記ζと前記εとの積で前記公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、前記s_iを前記ηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、前記ζの前記法qにおける逆元で前記公開鍵の一部hをべき乗剰余したものに前記λで前記g_lをべき乗剰余したものを乗じたものuを計算し、前記ζと前記λとの積に前記εを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、前記d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する前記第二署名受信手順とを実行させることを特徴とする。
【発明の効果】
【００８４】
本発明によれば、第三者機関に頼らずにコンカレント安全なブラインド署名装置、署名受信装置、システム、部分ブラインド署名装置、署名受信装置、及びシステムの提供を実現することができる。
【発明を実施するための最良の形態】
【００８５】
本発明に係るブラインド署名装置の一実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、前記公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力することを特徴とする。
【００８６】
上記構成によれば、第三者機関に頼らずにコンカレント安全なブラインド署名装置が得られる。
【００８７】
本発明に係るブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【００８８】
本発明に係るブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【００８９】
本発明に係るブラインド署名受信装置の一実施の形態は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηでで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００９０】
上記構成によれば、第三者機関に頼らずにコンカレント安全なブラインド署名受信装置が得られる。
【００９１】
本発明に係るブラインド署名システムの一実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηでで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【００９２】
上記構成によれば、第三者機関に頼らずにコンカレント安全なブラインド署名システムが得られる。
【００９３】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【００９４】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【００９５】
本発明に係るブラインド署名装置の他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えたブラインド署名装置であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力することを特徴とする。
【００９６】
本発明に係るブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【００９７】
本発明に係るブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【００９８】
本発明に係るブラインド署名受信装置の他の実施の形態は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えたブラインド署名受信装置であって、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηでで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対しa_iをρ_iでべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【００９９】
上記構成によれば、第三者機関に頼らずにコンカレント安全なブラインド署名受信装置が得られる。
【０１００】
本発明に係るブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、  公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、前記a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対しa_iをρ_iでべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【０１０１】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１０２】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１０３】
本発明に係る部分ブラインド署名装置の他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力することを特徴とする。
【０１０４】
上記構成によれば、第三者機関に頼らずにコンカレント安全な部分ブラインド署名装置を得ることができる。
【０１０５】
本発明に係る部分ブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１０６】
本発明に係る部分ブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１０７】
本発明に係る部分ブラインド署名受信装置の他の実施の形態は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηでで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【０１０８】
上記構成によれば、第三者機関に頼らずにコンカレント安全な部分ブラインド署名受信装置が得られる。
【０１０９】
本発明に係る部分ブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名受信手段は、  部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものに前記r_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力することを特徴とする。
【０１１０】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１１１】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１１２】
本発明に係る部分ブラインド署名装置の他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部と、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部と、外部との通信を行う署名装置側通信部とを備えた部分ブラインド署名装置であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名手段は、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対しM_iとτ_iの積でa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、θとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力することを特徴とする。
【０１１３】
本発明に係る部分ブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１１４】
本発明に係る部分ブラインド署名装置の他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１１５】
本発明に係る部分ブラインド署名受信装置の他の実施の形態は、公開鍵を記憶する署名受信装置側記憶部と、署名文を出力する署名受信手段を有する署名受信装置側演算部と、外部との通信を行う署名受信装置側通信部とを備えた部分ブラインド署名受信装置であって、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、a_iをρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、a_iをM_iとρ_Iとの積でべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【０１１６】
本発明に係る部分ブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名手段は、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対しM_iとτ_iの積でa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、θとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、  署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、  署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、a_iをρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、a_iをM_iとρ_Iとの積でべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【０１１７】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１１８】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１１９】
本発明に係るブラインド署名システムの他の実施の形態は、ブラインド署名システムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名装置から署名受信装置への通信があり、通信で署名装置は自身の秘密鍵を使って作ったデータをMaskに入力してできたデータを署名受信装置に送り、その他の通信では署名装置は自身の秘密鍵を使わず、署名受信装置から署名装置への通信があり、署名受信装置から署名装置への通信で署名装置が受信したデータをUnmaskに入力して出力を計算することを特徴とする。
【０１２０】
本発明に係る本発明に係るブラインド署名システムの他の実施の形態は、部分ブラインド署名のシステムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名装置から署名受信装置への通信があり、通信で署名装置は自身の秘密鍵を使って作ったデータをMaskに入力してできたデータを署名受信装置に送り、その他の通信では署名装置は自身の秘密鍵を使わず、署名受信装置から署名装置への通信があり、署名受信装置から署名装置への通信で署名装置が受信したデータをUnmaskに入力して出力を計算することを特徴とする。
【０１２１】
本発明に係るブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、  公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、電子的な価値を電送する手段であって、発行装置と使用装置と受信装置とを有し、使用装置が価値を得る場合には使用装置が発行装置からブラインド署名を受信し、価値を使用する場合には使用装置がブラインド署名を受信装置に送信する手段を備えたことを特徴とする。
【０１２２】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１２３】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１２４】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対しa_iをρ_iでべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【０１２５】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１２６】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１２７】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名装置から署名受信装置への通信があり、通信で署名装置は自身の秘密鍵を使って作ったデータをMaskに入力してできたデータを署名受信装置に送り、  その他の通信では署名装置は自身の秘密鍵を使わず、署名受信装置から署名装置への通信があり、署名受信装置から署名装置への通信で署名装置が受信したデータをUnmaskに入力して出力を計算することを特徴とする。
【０１２８】
本発明に係る部分ブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有する部分ブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部とを有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名受信手段は、  部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する部分ブラインド署名システムであって、電子的な価値を電送する手段であって、発行装置、使用装置、及び受信装置を有し、使用装置が価値を得る場合には使用装置が発行装置から部分ブラインド署名を受信し、価値を使用する場合には使用装置がブラインド署名を受信装置に送信する手段を備えたことを特徴とする。
【０１２９】
本発明に係る部分ブラインド署名システムの他の実施の形態は、助うっこうせいに加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであることを特徴とする。
【０１３０】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであることを特徴とする。
【０１３１】
本発明に係る部分ブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名手段は、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対しM_iとτ_iの積でa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、θとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたもので前記Hをべき乗剰余したものに前記ζと前記λと前記εとの積で前記G_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、a_iをρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、a_iをM_iとρ_Iとの積でべき乗剰余したものJ_iを計算し、bをθでべき乗剰��したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了することを特徴とする。
【０１３２】
本発明に係る部分ブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xに前記εを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名手段は、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対しM_iとτ_iの積でa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、θとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、  署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、  署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、a_iをρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、a_iをM_iとρ_Iとの積でべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unask(a,ξ)はaをξの逆元でべき乗剰余するものであり、電子価値を電送する手段を備えたとを特徴とする。
【０１３３】
本発明に係る部分ブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有する部分ブラインド署名受信装置とを備えた部分ブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、第一署名手順は、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名手段は、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,k+1,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、各i=1,...,kに対しM_iとτ_iの積でa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,m+1,...,kに対し、θとηとを法qのもとで乗じたものに前記τ_iを法qのもとで加えたものρ_iを計算し、i=1,...,m,k+1,...,nに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lを��き乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、署名受信手段は、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,m+1,...,nに対し、a_iをρ_iでべき乗剰余したものJ_iを計算し、各i=1,...,mに対し、a_iをM_iとρ_Iとの積でべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了し、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unask(a,ξ)はξから得られた復号鍵でaを復号するものであり、電子価値を電送する手段を備えたことを特徴とする。
【０１３４】
本発明に係るブラインド署名システムの他の実施の形態は、ブラインド署名システムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名装置から署名受信装置への通信があり、通信で署名装置は自身の秘密鍵を使って作ったデータをMaskに入力してできたデータを署名受信装置に送り、その他の通信では署名装置は自身の秘密鍵を使わず、署名受信装置から署名装置への通信があり、署名受信装置から署名装置への通信で署名装置が受信したデータをUnmaskに入力して出力を計算し、電子価値を送信する手段を備えたことを特徴とする。
【０１３５】
本発明に係るブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
【０１３６】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであり、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は前記管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであり、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
【０１３７】
本発明に係るブラインド署名システムの他の実施の形態は、セキュリティ・パラメータ、公開鍵及び秘密鍵を記憶するための署名装置側記憶部、鍵を生成するための鍵姿勢手段及び署名を行うための署名手段を有する署名装置側演算部、及び外部との通信を行う署名装置側通信部を有するブラインド署名装置と、  公開鍵を記憶する署名受信装置側記憶部、署名文を出力する署名受信手段を有する署名受信装置側演算部、及び外部との通信を行う署名受信装置側通信部を有するブラインド署名受信装置とを備えたブラインド署名システムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものであり、第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力し、さらに第一証明手段及び第二証明手段を有し、第一証明手段は、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iで記a_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力するものであり、第二証明手段は、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力し、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、第一署名受信手段はqを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力するものであって、第二署名受信手段は、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力し、さらに第一証明検証手段及び第二証明検証手段を有し、第一証明検証手段は、データwを受けとり、θをランダムに選んでθを出力するものであり、第二証明検証手段は、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対しa_iをρ_iでべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段を終了するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする
【０１３８】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はgをξでべき乗剰余するものであり、関数Unmask(a,ξ)はaをξの逆元でべき乗剰余するものであり、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
【０１３９】
本発明に係るブラインド署名システムの他の実施の形態は、上記構成に加え、署名手段は、関数Mask(g,ξ)はξから得られた暗号化鍵でgを暗号化するものであり、関数Unmask(a,ξ)はξから得られた復号鍵でaを復号するものであり、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
【０１４０】
本発明に係るブラインド署名システムの他の実施の形態は、ブラインド署名システムであって、署名装置と署名受信装置とを有し、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名装置から署名受信装置への通信があり、通信で署名装置は自身の秘密鍵を使って作ったデータをMaskに入力してできたデータを署名受信装置に送り、その他の通信では署名装置は自身の秘密鍵を使わず、署名受信装置から署名装置への通信があり、署名受信装置から署名装置への通信で署名装置が受信したデータをUnmaskに入力して出力を計算するブラインド署名システムであって、電子的にユーザの意見を収集するシステムであって、管理者装置、ユーザ装置、及び集計装置を有し、ユーザ装置は管理者装置から認証を受け、ユーザ装置は自身の意見Mに対するブラインド署名の管理者装置による署名文σを受けとり、ユーザ装置は匿名通信路を経由して(M,σ)を検証装置に送り、集計装置は(M,σ)の正当性を検証し、正当であれば投票Mを受け付け、全員が投票し終ったら集計装置は投票結果を集計することを特徴とする。
【０１４１】
本発明係るブラインド署名方法の一実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、コンピュータは、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを前記逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順を実行させ、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とする。
【０１４２】
本発明に係るブラインド署名受信方法の一実施の形態は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信方法であって、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、コンピュータが、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、前記a_iを前記M_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力する第一署名受信手順と、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する第二署名受信手順を実行させることを特徴とする。
【０１４３】
本発明に係るブラインド署名方法の他の実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名方法であって、  署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、コンピュータに、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順と、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順とを実行させ、署名手段は、さらに第一証明手段及び第二証明手段を有し、コンピュータに、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力する第一証明手順と、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力する第二証明手順とを実行させることを特徴とする。
【０１４４】
本発明に係る部分ブラインド署名方法の一実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名方法であって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、コンピュータに、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順と、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順とを実行させることを特徴とする。
【０１４５】
本発明に係る部分ブラインド署名方法の他の実施の形態は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信方法であって、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、コンピュータは、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力する第一署名受信手順と、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する第二署名受信手順とを実行させることを特徴とする。
【０１４６】
＜プログラム及び記憶媒体＞
以上で説明した本発明の装置は、コンピュータで処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。
【０１４７】
本発明に係るプログラムの一実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、前記署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、コンピュータは、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順を実行させ、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)に前記E_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順を実行させることを特徴とする。
【０１４８】
本発明に係るプログラムの他の実施の形態は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させるブラインド署名受信プログラムであって、署名受信手段は、公開鍵及び文書Mを入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、署名受信手段は第一署名受信手順及び第二署名受信手順を有し、コンピュータが、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力する第一署名受信手順と、c、s_[k+1],...,s_n、及びεを受けとり、ζ及びλをランダムに選び、η及びζの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したもの及びζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対しs_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積に前を加えたものでHをべき乗剰余したものにζとλとεの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する第二署名受信手順を実行させることを特徴とする。
【０１４９】
本発明に係るプログラムの他の実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶する手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させるブラインド署名プログラムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順からなり、コンピュータに、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順と、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順とを実行させ、署名手段は、さらに第一証明手段及び第二証明手段を有し、コンピュータに、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力する第一証明手順と、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力する第二証明手順とを実行させることを特徴とする。
【０１５０】
本発明にプログラムの他の実施の形態は、コンピュータが、署名装置側記憶部にセキュリティ・パラメータ、公開鍵及び秘密鍵を記憶させる手順と、署名装置側演算部に鍵を生成する手順及び署名を行う手順と、署名装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名プログラムであって、署名手段は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段は、第一署名手順及び第二署名手順を有し、コンピュータに、qを法としたとき、公開鍵、秘密鍵、及び文書Mを受けとり、Mはm個の部分M_1,...,M_mからなり、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力する第一署名手順と、データbを受けとり、各i=k,...nに対しs_iをランダムに選び、各i=k,...nに対しxにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する第二署名手順とを実行させることを特徴とする。
【０１５１】
本発明に係るプログラムの他の実施の形態は、コンピュータが、署名受信装置側記憶部に公開鍵を記憶させる手順と、署名受信装置側演算部に署名文を出力させる手順と、署名受信装置側通信部に外部との通信を行う手順とを実行させる部分ブラインド署名受信プログラムであって、署名受信手段は、部分ブラインド署名の署名受信手段で公開鍵、文書M、及び文書M'を入力として受けとるものであり、Mはk個の部分M_1,...,M_kからなり、M'はn-k個の部分M_[k+1],...,M_nからなり、署名受信手段は、第一署名受信手順及び第二署名受信手順を有し、コンピュータは、qを法としたとき、a_0,...,a_nを受けとり、r_[k+1],...,r_n及びηをランダムに選び、各i=1,...,kに対し、a_iをM_iでべき乗剰余したものF_iを計算し、各j=k+1,...,nに対し、a_iをr_iでべき乗剰余したものF'_jを計算し、a_0とF_1,...F_kとF'_[k+1],...F'_nとを乗じたものをηでべき乗剰余したものbを計算し、bを出力する第一署名受信手順と、qを法としたとき、c,s_[k+1],...,s_n,εを受けとり、ζ及びλをランダムに選び、ηとζとの積の法qにおける逆数でcをべき乗剰余したものdを計算し、ζで公開鍵の一部Hをべき乗剰余したものと、ζとεとの積で公開鍵の一部G_lをべき乗剰余したものとの積Fを計算し、各i=k+1,...,nに対し、s_iをηで剰余したものにr_iを法qのもとで加えたものt_iを計算し、ζの法qにおける逆元で公開鍵の一部hをべき乗剰余したものにλでg_lをべき乗剰余したものを乗じたものuを計算し、ζとλとの積にεを加えたものでHをべき乗剰余したものにζとλとεとの積でG_lをべき乗剰余したものを乗じたものVを計算し、d,F,t_[k+1],...,t_n,u,Vの組を署名文として出力する第二署名受信手順とを実行させることを特徴とする。
【０１５２】
これにより、プログラムが実行可能なコンピュータ環境さえあれば、どこにおいても本発明の装置を実現することができる。
【０１５３】
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
ここで、記憶媒体としては、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記憶媒体、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＦｅＲＡＭ（強誘電体メモリ）等の半導体メモリが挙げられる。
【０１５４】
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【実施例１】
【０１５５】
本実施例１ではブラインド署名方式について図１を参照して説明する。尚、図１７に示した部材と同様の部材には共通の符号を用いた。
【０１５６】
図１は、本発明に係るブラインド署名システムの一実施例を示すブロック図である。
同図に示すシステムは、署名装置１、署名受信装置２、及び検証装置３で構成されている。
署名装置１は、演算部１１、記憶部１２、及び通信部１３で構成されている。演算部１１は鍵生成手段１４及び署名手段１５で構成されている。署名手段１５は、第一証明手段１５ａ及び第二証明手段１５ｂを有する。
【０１５７】
署名受信装置２は、演算部２１、記憶部２２、及び通信部２３で構成されている。演算部２１は署名受信手段２４を有し、署名受信手段２４は、第一証明手段２４ａ及び第二証明手段２４ｂを有する。
【０１５８】
検証装置３は、演算部３１、記憶部３２、及び通信部３３で構成されている。演算部３１は検証手段３４を有する。
【０１５９】
nを整数とし、k,lをn未満の整数とする。実用上はn=2，k=l=1としてよい。
MaskGen，Mask，Unmaskを次の３つの性質を満たす確率的もしくは確定的な関数とする。
1.Maskは何らかの群Γに値を取る関数である。
2.ξをMaskGenの出力とすると、Bの任意の元gに対し、Unmask(Mask(g,ξ),ξ)=gとする。
3.ξをMaskGenの出力とすると、
Bの任意の元g_1，g_2に対し、Mask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)となる。
【０１６０】
安全性の観点から言えば、Mask(g,ξ)はgの情報を秘匿する事が望ましい。
たとえばMaskGen，Mask，Unmaskとして次の関数を選ぶ事ができる。
＊ MaskGen：Z_qの元ξをランダムに選び、ξを出力する。
＊ Mask(g,ξ)=g^[ξ]。
＊ Unmask(a,ξ)=a^[1/ξ]。
【０１６１】
Πを、準同型性を満たす公開鍵暗号方式とし、Gen,Enc,DecをそれぞれΠの鍵生成関数、暗号化関数、復号関数とするとき、MaskGen，Mask，Unmaskとして次の関数を選ぶ事もできる。
＊ MaskGen：Gen(κ)を実行する事で暗号化鍵enckey、及び復号鍵deckeyを作り、ξ=(enckey，deckey)を出力する。
Mask(g,ξ)：enckeyを使用してgをEncで暗号化したものEnc(g,enckey)をaとし、aを出力する。
Unmask(a,ξ)：deckeyを使用してaをDecで復号したものDec(a,deckey)をgとし、gを出力する。
【０１６２】
＜鍵生成手段１４＞
図１に示した鍵生成手段１４の動作について図３を参照して説明する。
図３は、本発明に係るブラインド署名装置に用いられる鍵生成手段の動作を説明するためのフローチャートの一例である。
・G_0,...,G_nをBからランダムに選び、xをZ_qからランダムに選び、さらにH=G_l^xとする（ステップ３１：図３）。
・g_0=φ(G_0),...,g_n=φ(G_n)とし、さらにh=φ(H)にセットする（ステップ３２：図３）。
・(g_0,...,g_n,h,G_0,...,G_n,H)を公開鍵pkとし、xを秘密鍵skとする（ステップ３３：図３）。
・公開鍵pk及び秘密鍵skを出力する（ステップ３４：図３）。
【０１６３】
＜署名手段１５と署名受信手段２４＞
図１に示した署名手段及び署名受信手段の動作について図４〜６を参照して説明する。
図４〜６は、図１に示した署名手段及び署名受信手段の動作を説明するためのフローチャートの一例である。
署名装置１は、署名手段１５に公開鍵pk=(g_0,...,g_n,h,G_0,...,G_n,H)と秘密鍵sk=xとを入力として与える。
一方、署名受信装置２は、署名受信手段２４に公開鍵 pk=(g_0,...,g_n,h,G_0,...,G_n,H)と文書M=M_1||…||M_kとを入力として受けとる（ステップ４６：図４）。
署名受信手段２４は、(g_0,...,g_n,h)≠(φ(G_0),....,φ(G_n),φ(H))であるか否か調べる（ステップ４６：図４）。もし(g_0,...,g_n,h)≠(φ(G_0),....,φ(G_n),φ(H))であれば署名受信装置２は異常終了を表す文字列を出力して停止する（ステップ４８：図４）。なお、このチェックはpkのみを用いて行なう事ができるので、文書Mを受信するより前に行なって置く事もできる（ステップ４１：図４）。
【０１６４】
(g_0,....,g_n,h)=(φ(G_0),....,φ(G_n),φ(H))であれば以下の手順を行なう。
・署名装置１はMaskGenを実行してξを作り（ステップ４２：図３）、さらにεをZ_qからランダムに選ぶ（ステップ４３：図４）。そしてa_0=Mask(g_0^[1/(x+ε)],ξ),....,a_n=Mask(g_n^[1/(x+ε)],ξ)を計算し（ステップ４４：図４）、通信部１３を使用して(a_0,...,a_n)を署名受信装置２に送信する（ステップ４５：図４）。
【０１６５】
・署名受信装置２は、通信部２３を使用して(a_0,...,a_n)を受信すると（ステップ４９：図４）、署名受信装置２は、 r_[k+1],...,r_nとηとをZ_qからランダムに選び（ステップ４１０：図４）、
b=(a_0a_1^[Hash(M_1)]...a_k^[Hash(M_k)]a_[k+1]^[r_[k+1]]…a_n^[r_n])^η
を計算し（ステップ４１１：図４）、通信部２３を使用してbを署名装置１に送信し（ステップ４１２：図５）、署名装置１は通信部１３を使用してbを受信する（ステップ４１３：図５）。そして署名受信装置２はbの正当性を署名装置１に証明する（ステップ４１４：図５）。
証明方法としてどのようなものを用いてもよいが、安全性上の観点から言えば、例えば「実施の形態１のブラインド署名方式における証明」に記載された方法でbの正当性を証明できる（ステップ４１５：図５）。
【０１６６】
・正当性証明を受理すると署名装置１は、s_[k+1],...,s_nをZ_qからランダムに選び（ステップ４１７：図５）、 c=Unmask(b,ξ)g_[k+1]^[s_[k+1]/(x+ε)]…g_n^[s_n/(x+ε)]
を計算し（ステップ４１８：図５）、通信部１３を使用して(c,s_[k+1],...,s_n,ε)を署名受信装置２に送信する（ステップ４１９：図５）。
【０１６７】
・通信部２３を使って(c,s_[k+1],...,s_n,ε)を受信し（ステップ４２０：図５）、署名受信装置２は ζとλをZ_qからランダムに選び（ステップ４２１：図６）、
d=c^[1/(ηζ)]、F=H^[ζ]G_1^[ζε]、t_[k+1]=r_[k+1]+(s_[k+1]/η) mod q，...，t_n=r_n+(s_n/η) mod q、u=h^[1/ζ]g_1^[λ]、V=H^[ζλ+ε]G_1^[ζλε]
を計算する（ステップ４２２：図６）。
そして e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)が成立するか否かを調べ（ステップ４２３）、
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)が成立すれば（ステップ４２４）、 σ=(d,F,t_[k+1],...,t_n,u,V)とし、σを署名文として出力する（ステップ４２５：図６）。
【０１６８】
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)でなければ異常終了を表す文字列を出力する。
【０１６９】
Maskとして関数Mask(g,ξ)=g^[ξ]を使用していた場合、 (a_0,...,a_n)を受信した後で、
e(a_0,G_1)＝e(a_1,G_0)，e(a_1,G_2)＝e(a_2,G_1)，....，e(a_[n-1],G_n)＝e(a_n,G_[n-1])
が全て成り立つ事を確認する事が安全性上望ましい。
もしいずれかの等式が成り立たなかった場合は署名受信装置２は異常終了を表す文字列を出力して停止する。
また上述した説明ではMaskGenの出力ξを署名の度に選び直しているが、 MaskとしてEnc(g,enckey)を使用していた場合は，毎回同じξを流用してもよい。
【０１７０】
ここで、第一証明手段１５ａ及び第二証明手段１５ｂについて説明する。
第一証明手段１５ａは、τ_0,...,τ_nをランダムに選び、各i=0,...,nに対し、τ_iでa_iをべき乗剰余したものI_iを計算し、I_1,...,I_nを掛け合わせたものwを計算し、wを出力する。
【０１７１】
第二証明手段１５ｂは、データθを受けとり、i=0,k+1,...,nに対しθとηとを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、i=1,...,kに対し、θ、η、及びM_iを法qのもとで乗じたものにτ_iを法qのもとで加えたものρ_iを計算し、ρ_0,...,ρ_nを出力する。
【０１７２】
次に第一証明検証手段２４ａ及び第二証明検証手段２４ｂについて説明する。
第一証明検証手段２４ａは、データwを受けとり、θをランダムに選んでθを出力する。
【０１７３】
第二証明検証手段２４ｂは、データρ_0,...,ρ_nを受けとり、各i=0,...,nに対しa_iをρ_iでべき乗剰余したものJ_iを計算し、bをθでべき乗剰余したものにwをかけたものがJ_1,...,J_nの積に等しくなければ署名受信手段２４を終了する。
【０１７４】
また、署名手段１５は、公開鍵及び秘密鍵xを入力として受けとるものであり、Maskは何らかの群Γに値を取る関数であり、UnmaskはUnmask(Mask(g,ξ),ξ)=g及びMask(g_1,ξ)Mask(g_2,ξ)=Mask(g_1g_2,ξ)を満たす関数であり、署名手段１５は、第一署名手順及び第二署名手順からなる。
【０１７５】
第一署名手順は、qを法としたとき、ξ及びεをランダムに選び、xにεを加えたものの逆元Dを計算し、各i=1,...nに対し、公開鍵の一部g_iを逆元Dでべき乗剰余したものa'_iを計算し、Mask(a'_1,ξ),...,Mask(a'_n,ξ)をそれぞれa_0,...,a_nとし、a_0,...,a_nを出力するものである。
【０１７６】
第二署名手順は、データbを受けとり、各i=k,...nに対し、s_iをランダムに選び、各i=k,...nに対し、xにεを加えたものでs_iを法qのもとで剰余したものE_iを計算し、Unmask(b,ξ)にE_k,...,E_nを乗じたものcを計算し、c,s_[k+1],...,s_n,εを出力する。
【０１７７】
＜検証手段３４＞
次に本発明に係るブランド署名システムに用いられる検証手段の動作について図７を参照して説明する。
図７は、図１に示した検証手段の動作を説明するためのフローチャートの一例である。
pk=(g_0,...,g_n,h,G_0,...,G_n,H)と、文書M=M_1||…||M_kと、
署名文候補σ=(d,F,t_[k+1],...,t_n,u,V)とを入力として受けとる（ステップ７１：図７）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)
かつe(u,F)=e(h,H)e(g_l,V)が成立するか否かを調べる（ステップ７２：図７）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)
かつe(u,F)=e(h,H)e(g_l,V)が成立するのであれば（ステップ７３：図７）、「受理」を表す文字列を出力し（ステップ７４：図７）、
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)
かつe(u,F)=e(h,H)e(g_l,V)でなければ「拒否」を表す文字列を出力する（ステップ７５：図７）。
【０１７８】
＜ブラインド署名方式における証明＞
次に図１に示した署名手段及び署名受信手段の動作について図８〜９を参照して説明する。
図８〜９は、図１に示した署名手段及び署名受信手段の動作について説明するためのフローチャートの一例である。
・署名手段１５は、τ_0,...,τ_nをZ_qからランダムに選び（ステップ８１：図８）、w=a_0^[τ_0]…a_n^[τ_n]を計算し（ステップ８２：図８）、通信部２３を使用してwを署名装置１に送信する（ステップ８３：図８）。
【０１７９】
・署名受信手段２４は、通信部１３を使用してwを受信すると（ステップ８４：図８）、署名装置１はθをZ_qからランダムに選び（ステップ８５：図８）、通信部１３を使用してθを署名受信装置２に送信する（ステップ８７：図８）。
【０１８０】
・署名受信手段２４は、通信部２３を使用してθを受信すると（ステップ８６：図８）、
ρ_0=θη+τ_0 mod q， ρ_1=θHash(M_1)η+τ_1 mod q，....,ρ_k=θHash(M_k)η+τ_k mod q， ρ_[k+1]=θr_[k+1]η+τ_[k+1] mod q，....,ρ_n=θr_nη+τ_n mod qを計算し（ステップ８８：図８）、通信部２３を使用して(ρ_0,...,ρ_n)を署名装置１に送信する（ステップ８９：図９）。
【０１８１】
・署名受信手段２４は、通信部１３を使用して(ρ_0,...,ρ_n)を受信すると（ステップ８１０：図９）、署名装置１はb^θw=a_0^[ρ_0]…a_n^[ρ_n]が成立するか否かを調べる（ステップ８１１：図９）。
b^θw=a_0^[ρ_0]…a_n^[ρ_n]が成立すれば（ステップ８１２：図９）、受理を表す文字列を出力し（ステップ８１３：図９）、b^θw=a_0^[ρ_0]…a_n^[ρ_n]でなければ拒否を表す文字列を出力する（ステップ８１４：図９）。
【実施例２】
【０１８２】
実施例２では部分ブラインド署名方式について図２を参照して説明する。
図２は、本発明に係る部分ブラインド署名システムの一実施例を示すブロック図である。
nを整数とし、k,l,mをn未満の整数とする。実用上はn=3，k=l=m=1としてよい。 MaskGen，Mask，Unmaskを実施例１で説明した性質を満たす関数とする。
【０１８３】
＜鍵生成手段１４＞
鍵生成手段１４の動作について図１０を参照して説明する。
図１０は、図２に示した鍵生成手段の動作を説明するためのフローチャートの一例である。
・G_0,...,G_nをBからランダムに選び、xをZ_qからランダムに選び、さらにH=G_l^xとする（ステップ１０１：図１０）。
・g_0=φ(G_0),...,g_n=φ(G_n)とし、さらにh=φ(H)にセットする（ステップ１０２：図１０）。
・(g_0,...,g_n,h,G_0,...,G_n,H)をpkとし、xをskとする（ステップ１０３：図１０）。
・公開鍵pk及び秘密鍵skを出力する（ステップ１０４：図１０）。
【０１８４】
＜署名手段１５と署名受信手段２４＞
図２に示した署名手段１５及び署名受信手段２４の動作について図１１〜１３を参照して説明する。
図１１〜１３は、図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
署名装置１の署名受信手段２４は、署名手段１５に公開鍵pk=(g_0,...,g_n,h,G_0,...,G_n,H)と、秘密鍵 sk=xと、文書M=M_1||…||M_mとを入力として与える（ステップ１１１：図１１）。
一方、署名受信装置２の署名手段１５は、署名受信手段２４に、
公開鍵 pk=(g_0,...,g_n,h,G_0,...,G_n,H)と、文書M=M_1||…||M_mと、M'=M_[m+1]||…||M_kとが入力される（ステップ１１６：図１１）。
【０１８５】
署名受信手段２４は、(g_0,...,g_n,,h)≠(φ(G_0),...,φ(G_n),φ(H))が成立するか否かを調べる。
もし(g_0,...,g_n,,h)≠(φ(G_0),...,φ(G_n),φ(H))が成立するのであれば（ステップ１１８：図１１）、署名受信装置２は異常終了を表す文字列を出力して停止する。なお、このチェックは公開鍵pkのみを用いて行なう事ができるので、文書Mを受信するより前に行なっておく事もできる。
【０１８６】
(g_0,...,g_n,h)=(φ(G_0),...,φ(G_n),φ(H))であれば以下の手順を行なう。
・署名装置１の署名手段１５は、MaskGenを実行してξを作り（ステップ１１２：図１１）、
さらにεをZ_qからランダムに選ぶ（ステップ１１３：図１１）。
そしてa_0=Mask(g_0^[1/(x+ε)],ξ)，...a_n=Mask(g_n^[1/(x+ε)],ξ)を計算し（ステップ１１４：図１１）、通信部１３を使用して、(a_0,...,a_n)を署名受信装置２に送信する（ステップ１１５：図１１）。
【０１８７】
・署名受信装置２は、通信部２３を使用して(a_0,...,a_n)を受信する（ステップ１１９：図１１）と、
署名受信装置２の署名受信手段２４は、r_[k+1],...,r_nとηとをZ_qからランダムに選び（ステップ１１１０：図１１）、b=(a_0a_1^[Hash(M_1)]…a_k^[Hash(M_k)]a_[k+1]^[r_[k+1]]…a_n^[r_n])^ηを計算し（ステップ１１１１：図１１）、通信部２３を使用してbを署名装置１に送信し（ステップ１１１２：図１２）、署名装置１は通信部１３を使用してbを受信し（ステップ１１１３：図１２）、ｂの正当性を検証し（ステップ１１１５：図１２）、受理するか否かを判断する（ステップ１１１６：図１２）。
そして署名受信装置２の署名受信手段２４は、bの正当性を署名装置１に証明する（ステップ１１１４：図１２）。
【０１８８】
証明方法としてどのようなものを用いてもよいが、安全性上の観点から言えば、例えば「実施例２のブラインド署名方式における証明」に記載された方法でbの正当性を証明できる。
【０１８９】
・正当性証明を受理すると署名装置１の署名手段１５は、s_[k+1],...,s_nをZ_qからランダムに選び（ステップ１１１７：図１２）、 c=Unmask(b^,ξ)g_[k+1]^[s_[k+1]/(x+ε)]…g_n^[s_n/(x+ε)]を計算し（ステップ１１１８：図１２）、
通信部１３を使用して(c,s_[k+1],...,s_n,ε)を署名受信装置２に送信する（ステップ１１１９：図１２）。
【０１９０】
・通信部２３を使用して(c,s_[k+1],...,s_n,ε)を受信すると（ステップ１１２０：図１２）、署名受信装置２は ζとλとをZ_qからランダムに選び（ステップ１１２１：図１３）、
d=c^[1/(ηζ)]， F=H^[ζ]G_l^[ζε]， t_[k+1]=r_[k+1]+(s_[k+1]/η) mod q，...,t_n=r_n+(s_n/η) mod q， u=h^[1/ζ]g_l^[λ]， V=H^[ζλ+ε]G_l^[ζλε]を計算する（ステップ１１２２：図１３）。
【０１９１】
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)であるか否かを調べる（ステップ１１２３：図１３）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)であれば（ステップ１１２４：図１３）、
σ=(d,F,t_[k+1],...,t_n,u,V)とし、σを署名文として出力する（ステップ１１２５：図１３）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)
かつe(u,F)=e(h,H)e(g_l,V)でなければ異常終了を表す文字列を出力する。
【０１９２】
Maskとして関数Mask(g,ξ)=g^[ξ]を使用していた場合、 (a_0,...,a_n)を受信した後で e(a_0,G_1)＝e(a_1,G_0)，e(a_1,G_2)＝e(a_2,G_1)，....， e(a_[n-1],G_n)＝e(a_n,G_[n-1])が全て成り立つ事を確認する事が安全性上望ましい。いずれかの等式e(a_0,G_1)＝e(a_1,G_0)，e(a_1,G_2)＝e(a_2,G_1)，....， e(a_[n-1],G_n)＝e(a_n,G_[n-1])が成り立たなかった場合は、署名受信装置２は異常終了を表す文字列を出力して停止する。
【０１９３】
また上述した説明ではMaskGenの出力ξを署名の度に選び直しているが、 MaskとしてEnc(g,enckey)を使っていた場合は、毎回同じξを流用してもよい。
【０１９４】
＜検証手段３４＞
次に図２に示した検証手段３４の動作について図１４を参照して説明する。
図１４は、図２に示した検証手段３４について説明するためのフローチャートの一例である。
pk=(g_0,...,g_n,h,G_0,...,G_n,H)と、文書M=M_1||…||M_kと、文書M'=M_[k+1]||… ||M_nと、署名文候補σ=(d,F,t_[k+1],...,t_n,u,V)とを入力として受けとる（ステップ１４１：図１４）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)であるか否かを調べる（ステップ１４２：図１４）。
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)であれば（ステップ１４３：図１４）、「受理」を表す文字列を出力し（ステップ１４４：図１４）、
e(g_0g_1^[Hash(M_1)]…g_k^[Hash(M_k)]g_[k+1]^[t_[k+1]]…g_n^[t_n],G_0)=e(d,F)、
かつe(u,F)=e(h,H)e(g_l,V)でなければ（ステップ１４３：図１４）、拒否」を表す文字列を出力する（ステップ１４５：図１４）。
【０１９５】
＜実施例２のブラインド署名方式における証明＞
次に図２に示した署名手段１５及び署名受信手段２４の動作について図１５〜１６を参照して説明する。
図１５〜１６は、図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
・署名受信装置２の署名受信手段２４は、τ_0,...,τ_nをZ_qからランダムに選び（ステップ１５１：図１５）、
w=a_0^[τ_0]a_1^[Hash(M_1)τ_1]…a_m^[Hash(M_m)τ_m]a_[m+1]^[τ_[m+1]]…a_n^[τ_n]を計算し（ステップ１５２：図１５）、通信部２３を使用してwを署名装置１に送信する（ステップ１５３：図１５）。
【０１９６】
・署名装置１の署名手段１５は、通信部１３を使用してwを受信すると（ステップ１５４：図１５）、θをZ_qからランダムに選び（ステップ１５５：図１５）、通信部１３を使用してθを署名受信装置２に送信する（ステップ１５７：図１５）。
【０１９７】
・署名受信装置２の署名受信手段２４は、通信部２３を使用してθを受信すると（ステップ１５６：図１５）、
ρ_0=θη+τ_0 mod q， ρ_1=θη+τ_1 mod q，...,ρ_m=θη+τ_m mod q， ρ_[m+1]=θHash(M_[m+1])η+τ_[m+1] mod q，...,ρ_k=θHash(M_k)η+τ_k mod q， ρ_[k+1]=θrη+τ_[k+1] mod q,...,ρ_n=θrη+τ_n mod qを計算し（ステップ１５８：図１５）、通信部２３を使用して(ρ_0,...,ρ_n)を署名装置１に送信する（ステップ１５９：図１６）。
【０１９８】
・署名装置１の署名手段１５は、通信部１３を使用して(ρ_0,...,ρ_n)を受信すると（ステップ１５１０）、
b^θw=a_0^[ρ_0]a_1^[Hash(M)ρ_1]…a_1^[Hash(M_m)ρ_m]a_[m+1]^[ρ_[m+1]]…a_n^[ρ_n]が成立するか否かを調べる（ステップ１５１１：図１６）。
b^θw=a_0^[ρ_0]a_1^[Hash(M)ρ_1]…a_1^[Hash(M_m)ρ_m]a_[m+1]^[ρ_[m+1]]…a_n^[ρ_n]が成立するのであれば（ステップ１５１２：図１６）、受理を表す文字列を出力し（ステップ１５１３：図１６）、
b^θw=a_0^[ρ_0]a_1^[Hash(M)ρ_1]…a_1^[Hash(M_m)ρ_m]a_[m+1]^[ρ_[m+1]]…a_n^[ρ_n]
でなければ（ステップ１５１２：図１６）、拒否を表す文字列を出力する（ステップ１５１４：図１６）。
【実施例３】
【０１９９】
実施例１、２において、文書M_iが必ずZ_qの元である事が事前に分かっている場合は、ハッシュ（Hash）として恒等写像Hash(M_i)=M_iを選んでもよい。
【実施例４】
【０２００】
実施例２の部分ブラインド署名方式を使用した電子現金方式について説明する。
この電子現金方式には銀行、ユーザ、店舗、及び第三者機関の４種類のエンティティが関わる。銀行、ユーザ、および店舗は、それぞれ署名装置１、署名受信装置２、および検証装置３の役割を担う。第三者機関は、使用された電子現金のリスト（List）を保管しており、同じ電子現金が二重使用されていないか否かを確認する役割を担っている。銀行が第三者機関を兼ねてもよいが、安全性の観点からいえば、銀行と第三者機関とは異なるエンティティである事が望ましい。
【０２０１】
この電子現金方式では金額Mo、乱数L、および金額Moと、L連結Mo||Lに対する署名文σの組 (Mo,L,σ)とが電子現金の役割を果たす。
【０２０２】
銀行は、鍵生成手順１４を行なう事で自身の公開鍵pkと秘密鍵skとを作り、公開鍵pkを公開し、秘密鍵skを秘密裏に保管する。
【０２０３】
ユーザは、金額Moの電子現金を下ろしたくなったら、ネットワーク網を通じて銀行にアクセスし、金額Moの要求信号を銀行に送信する。送信後ユーザは乱数Lを選んで、公開鍵pkと、金額Mと、乱数Lとを入力として署名受信手順２４を行う。
【０２０４】
他方、銀行は公開鍵pkと秘密鍵skと金額Moとを入力として署名手順１５を行なう。プロトコルが正常終了すれば最終的にユーザはMo||Lに対する署名文σを得る。銀行はユーザの口座から金額Moを減らす。安全性の観点からいえば、乱数Lは160ビット以上のビット列である事が望ましい。
ユーザは、インターネットを利用してL円の商品を購入する場合には、ネットワーク網を経て店舗にアクセスし、電子現金(Mo||L,σ)を店舗に送る。
店舗は、公開鍵pkと、金額Moと、乱数Lと、署名文σとを入力して検証手順３４を行ない、署名文σがMo||Lに対する正当な署名文である事を確認する。
署名文σが不当な署名文の場合には、店舗は商品の郵送を拒否する。署名文σが正当な署名文の場合には店舗は(Mo,L,σ)を第三者機関に送る。(Mo,L,σ)がリスト（List）に載っている場合には、第三者機関は「拒否」を表すビット列を店舗に送る。店舗は商品の郵送を拒否する。
【０２０５】
(Mo,L,σ)がリスト（List）に載っていない場合には、第三者機関は(Mo,L,σ)をリスト（List）に追加し、「受理」を表すビット列を店舗に送る。店舗は商品をユーザに郵送する。
【０２０６】
実施例２の部分ブラインド署名方式の代わりに実施例１のブラインド署名方式を使用しても電子現金方式を実現できる。実現方法は上述のものとほぼ同様だが、部分ブラインド署名と異なりブラインド署名には金額Moを記述する部分がないので、銀行は一定金額の電子現金のみしか発行できない。
【実施例５】
【０２０７】
実施例１のブラインド署名方式を使用した電子投票方式について述べる。
この方式には投票管理者、有権者、及び集計者の３種類のエンティティが関わる。 投票管理者、有権者、及び集計者はそれぞれ署名装置１、署名受信装置２、及び検証装置３の役割を担う。投票を行なうには有権者は投票管理者から認証を受け、投票内容Mvに対する署名文σを受けとる。そして有権者は匿名通信路を経由して(Mv,σ)を検証装置３に送る。 集計者は(Mv,σ)の正当性を検証し、正当なら投票内容Mvを受け付ける。全員が投票し終えたら、集計者は投票結果を集計する。 電子投票だけでなく電子アンケートも同様の方法で実現できる。
【０２０８】
なお、上述した各実施例は、本発明の好適な実施例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【図面の簡単な説明】
【０２０９】
【図１】本発明に係るブラインド署名システムの一実施例を示すブロック図である。
【図２】本発明に係る部分ブラインド署名システムの一実施例を示すブロック図である。
【図３】本発明に係るブラインド署名装置に用いられる鍵生成手段の動作を説明するためのフローチャートの一例である。
【図４】図１に示した署名手段及び署名受信手段の動作を説明するためのフローチャートの一例である。
【図５】図１に示した署名手段及び署名受信手段の動作を説明するためのフローチャートの一例である。
【図６】図１に示した署名手段及び署名受信手段の動作を説明するためのフローチャートの一例である。
【図７】図１に示した検証手段の動作を説明するためのフローチャートの一例である。
【図８】図１に示した署名手段及び署名受信手段の動作について説明するためのフローチャートの一例である。
【図９】図１に示した署名手段及び署名受信手段の動作について説明するためのフローチャートの一例である。
【図１０】図２に示した鍵生成手段の動作を説明するためのフローチャートの一例である。
【図１１】図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
【図１２】図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
【図１３】図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
【図１４】図２に示した検証手段３４について説明するためのフローチャートの一例である。
【図１５】図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
【図１６】図２に示した署名手段１５及び署名受信手段２４の動作を説明するためのフローチャートの一例である。
【図１７】本発明に関連するブラインド署名システムのブロック図である。
【図１８】本発明に関連する部分ブラインド署名システムのブロック図である。
【符号の説明】
【０２１０】
１    署名装置
２    署名受信装置
３    検証装置
１１、２１    演算部
１２、２２、３２    記憶部
１３、２３、３３    通信部
１４、１４０    鍵生成部
１５、１５０    署名手段
１５ａ    第一証明手段
１５ｂ    第二証明手段
２４、２４０    署名受信手段
２４ａ    第一証明検証手段
２４ｂ    第二証明検証手段
３４、３４０    検証手段
【図１】
2009290698.tif 000003
【図２】
2009290698.tif 000004
【図３】
2009290698.tif 000005
【図４】
2009290698.tif 000006
【図５】
2009290698.tif 000007
【図６】
2009290698.tif 000008
【図７】
2009290698.tif 000009
【図８】
2009290698.tif 000010
【図９】
2009290698.tif 000011
【図１０】
2009290698.tif 000012
【図１１】
2009290698.tif 000013
【図１２】
2009290698.tif 000014
【図１３】
2009290698.tif 000015
【図１４】
2009290698.tif 000016
【図１５】
2009290698.tif 000017
【図１６】
2009290698.tif 000018
【図１７】
2009290698.tif 000019
【図１８】
2009290698.tif 000020