JP5099003B2 - グループ署名システムおよび情報処理方法 - Google Patents
グループ署名システムおよび情報処理方法 Download PDFInfo
- Publication number
- JP5099003B2 JP5099003B2 JP2008505176A JP2008505176A JP5099003B2 JP 5099003 B2 JP5099003 B2 JP 5099003B2 JP 2008505176 A JP2008505176 A JP 2008505176A JP 2008505176 A JP2008505176 A JP 2008505176A JP 5099003 B2 JP5099003 B2 JP 5099003B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- public key
- prime number
- signature
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 14
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000012795 verification Methods 0.000 claims description 64
- 125000004122 cyclic group Chemical group 0.000 claims description 50
- 238000000034 method Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3033—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Description
200 開示装置
300 失効管理装置
400 ユーザ装置
500 検証装置
[装置構成]
本実施形態のグループ署名システムの構成を説明する。図1は実施形態1のグループ署名システムの一構成例を示すブロック図である。図1に示すように、グループ署名システムは、発行装置100と、開示装置200と、失効管理装置300と、ユーザ装置400と、検証装置500とを有する。
[装置の実装]
各装置の制御部は、通信部の制御、記憶部の制御、およびデータの演算処理を行う。制御部には、プログラムに従って所定の処理を実行するCPU(Central Processing Unit)、およびプログラムを格納するためのメモリが設けられている。各制御部の手段は、CPUがプログラムを実行することで装置内に仮想的に構成される。
κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)をセキュリティ・パラメータで、κ’_e<κ_eを満たしているものとする。
安全性の観点から言えばκ'_e+κ_c+κ_S<κ_qとκ_q+κ_c+κ_S<κ_e<κ_N/2を満たしていることが望ましい。
自然数Nに対し、位数Nの巡回群{0,…,N-1}をZ_Nと書き、Z_N上の平方剰余全体の集合をQR(N)と書く。
Uを有限巡回群とし、gをUの元とし、qをUの位数とする。
Uとしてどのようなものを選んでもかまわないが、安全性の観点から言えばある素数pに対するZ_pの乗法群の部分群、もしくは楕円曲線群の部分群であることが望ましい。
Hashを{0,…,2^{κ_c}}に値を取るハッシュ関数とする。
各装置は事前にUの詳細、κ、g、およびqを事前に自身の記憶部に保管していると仮定する。これらのデータをどのように共有するのかは問わない。
本発明ではProt1-1,…,Prot1-16が執り行われる(図2、図3)。
Prot1-1:発行装置100は発行装置鍵生成手段120を行い、発行装置公開鍵ipkと発行装置秘密鍵iskを生成し、発行装置公開鍵ipkを公開する(ステップ910101)。
Prot1-2:開示装置200は開示装置鍵生成手段220を行い、開示装置公開鍵opkと開示装置秘密鍵oskを生成し、開示装置公開鍵opkを公開する(ステップ910102)。
Prot1-3:失効管理装置300は失効管理装置鍵生成手段320を行い、失効管理装置公開鍵rpkと失効管理装置秘密鍵rskを生成し、失効管理装置公開鍵rpkを公開する(ステップ910103)。
公開鍵の公開方法は問わない。公開方法として、例えば、PKIを使う、各装置に直接公開鍵を送る、といった方法がある。以後の手順では全ての装置がipk、opk、rpkを自身の記憶部に保存していると仮定する。
発行参加手段は発行装置100が行う手順とユーザ装置400が行う手順とに分かれ、前を発行手段130、後を参加手段420という。
発行参加手段が終了すると、発行装置100はユーザ装置400の公開鍵mpkを取得し、ユーザ装置400は自身の公開鍵mpkと秘密鍵mskを得る。
発行参加手段を終えたユーザ装置400をグループのメンバーとも呼ぶ。
Prot1-6:失効管理装置300はe’を受信したら失効管理装置記憶部310に書き込む(ステップ9101106)。
Prot1-7:受信したe’を使って登録手段300を行い、登録手段300の出力Bをユーザ装置400に送信する(ステップ910107)。
Prot1-8:ユーザ装置400はBを受信したらBをユーザ装置記憶部410に書き込む(ステップ910108)。
グループのメンバーであるユーザ装置400は、署名手段440を行うことでメッセージに署名することができる。メッセージを誰がどのように選び、どのようにユーザ装置400に入力するかは問わない。例えば、ユーザ装置400を動かしている人がキーボードでメッセージをユーザ装置に入力するという方法がある。
Prot1-10:検証装置500はメッセージ・署名文ペアを使って検証手段520を行うことで、署名文の正当性を検証する(ステップ910110)。
Prot1-11:検証手段520を終えたら検証装置500は、署名文が正当であったか否かを出力する(ステップ910111)。
検証装置500がいつどのような手段で署名文を受け取ったのかは問わない。例えば、ユーザ装置400がインターネットを使って検証装置500に署名文を送るという方法がある。
開示装置200は何らかの方法でメッセージ・署名文ペアを受け取る。どのようにしてメッセージ・署名文ペアを得たのかは問わない。例えば、検証装置500がインターネットを使って開示装置200に送信するという方法がある。
Prot1-13:開示装置200はメッセージ・署名文ペアを入力して開示手段230を行う(ステップ910113)。
Prot1-14:開示手段230は署名を行ったユーザ装置400の公開鍵の一部hを出力するので、開示装置200はhを出力する(ステップ910114)。
失効管理装置300はグループから脱退させたいユーザ装置400のe’を入力して失効手段340を行うことでそのユーザ装置400をグループから脱退させることができる。
Prot1-16:各ユーザ装置400はLEVRISTを使って鍵更新手段430を行い、ユーザ装置400のBを更新する(ステップ910116)。
本発明を用いる際には、グループのメンバーであるユーザ装置のIDとそのユーザ装置の公開鍵mpkとのペアのリストを公開しておく必要がある。誰がどのような形でこのリストを公開してもよいが、リスト中のデータが正確であることを保証する必要がある。
そして発行はリスト全体に(PKIの公開鍵を用いて)署名をつけてリストと署名文を公開する。開示装置がhを出力したら、リストに載っているmpkでhを部分として含むものを探し出し、そのmpkに対応するIDを探すことで、署名であるユーザ装置400を特定できる。
発行装置100は以下のISSGEN1-1,…,ISSGEN1-5を順に行う(図4)。
ISSGEN1-1:発行装置記憶部110からκ_Nを読み込む(ステップ120101)。
ISSGEN1-2:素数p_1, p_2で積N=p_1p_2がκ_Nビットのものを選ぶ(ステップ120102)。
ISSGEN1-3:QR(N)の元a_0,a_1,a_2をランダムに選ぶ(ステップ120103)。
ISSGEN1-4:(p_1,p_2)を発行装置100秘密鍵iskにセットし、iskを発行装置記憶部110に書き込む(ステップ120104)。
ISSGEN1-5:(N,a_0,a_1,a_2)を発行装置100公開鍵ipkにセットし、ipkを発行装置記憶部110に書き込み、そしてipkを出力する(ステップ120105)。
安全性の観点から言えば、ISS1-1で(p_1-1)/2, (p_2-1)/2も素数であることが望ましい。また、ISS1-1でp_1のビット数とp_2のビット数はほぼ同じであることが望ましい。
開示装置200は以下のOPNGEN1-1,…,OPNGEN1-3を行う(図5)。
OPNGEN1-1:[暗号鍵生成手段]を行い、公開鍵opkと秘密鍵oskを生成する(ステップ220101)。
OPNGEN1-2:oskを開示装置200秘密鍵にセットし、oskを開示装置記憶部210に書き込む(ステップ220102)。
OPNGEN1-3:opkを開示装置200公開鍵にセットし、opkを開示装置記憶部210に書き込み、そしてopkを出力する(ステップ220103)。
失効管理装置300は以下のREVGEN1-1,…,REVGEN1-7を行う(図6)。
REVGEN1-1:失効管理装置記憶部310からκ_Lを読み込む(ステップ320101)。
REVGEN1-2:素数l_1, l_2で積N=l_1l_2がκ_Lビットのものを選ぶ(ステップ320102)。
REVGEN1-3:QR(L)の元b、wをランダムに選ぶ(ステップ320103)。
REVGEN1-4:(l_1,l_2)を失効管理装置300秘密鍵rskにセットし、rskを失効管理装置記憶部310に書き込む(ステップ320104)。
REVGEN1-5:REVLISTを空集合にセットし、REVLISTを失効管理装置記憶部310に書き込む(ステップ320105)。
REVGEN1-6:(L,b,w)を失効管理装置300公開鍵rpkにセットし、rpkを失効管理装置記憶部310に書き込む(ステップ320106)。
REVGEN1-7:REVLISTとrpkを出力する(ステップ320107)。
安全性の観点から言えば、REVGEN1-1で(l_1-1)/2, (l_2-1)/2も素数であることが望ましい。また、REVGEN1-1でl_1のビット数とl_2のビット数はほぼ同じであることが望ましい。
発行参加手段では発行装置100とユーザ装置400とがそれぞれ発行手段130と参加手段420を行う。参加手段420は参加第一手段と参加第二手段とからなる。発行参加手段では以下のISSJOIN1-1,…,ISSJOIN1-5が順に行われる(図7)。
ISSJOIN1-1:ユーザ装置400は参加第一手段を行い、参加第一手段の出力を発行装置100に送信する(ステップ920101)。
ISSJOIN1-2:発行装置100は受信したデータを発行装置記憶部110に書き込む(ステップ920102)。
ISSJOIN1-3:発行装置100は発行手段130を行い、発行手段130の出力をユーザ装置400に送信する(ステップ920103)。
ISSJOIN1-4:ユーザ装置400は受信したデータをユーザ装置記憶部410に書き込む(ステップ920104)。
ISSJOIN1-5:ユーザ装置400は参加第二手段を行う(ステップ920105)。
ユーザ装置400は以下のJOIN1-1-1,…,JOIN1-1-5を順に行う(図8)。
JOIN1-1-1:κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、q、gをユーザ装置記憶部410から読み込む(ステップ4201101)。
JOIN1-1-2:0以上q未満の整数xと、0以上N未満の整数r’をランダムに選ぶ(ステップ4201102)。
JOIN1-1-3:A’=a_1^xa_2^{r’} mod Nとh=g^xを計算し、A’とhの正当性証明文pf_{A’,h}を計算する(ステップ4201103)。
JOIN1-1-4:x、r’、A’、h、pf_{A’,h} をユーザ装置記憶部410に書き込む(ステップ4201104)。
JOIN1-1-5:A’、h、pf_{A’,h} を出力する(ステップ4201105)。
なお、pf_{A’,h}の計算方法の詳細は[文献1]に開示されているため、ここでは、その説明を省略する。
発行装置100は以下のISSUE1-1,…,ISSUE1-7を順に行う(図9)。
ISSUE1-1:κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、isk=(p_1,p_2)、g、A’、h、pf_{A’,h}を発行装置記憶部110から読み込む(ステップ130101)。
ISSUE1-2:pf_{A’,h}の正当性を検証し、もし正当でなければ発行参加手段130を終了する(ステップ130102)。
ISSUE1-3:κ'_eビットの素数e’で、e=2^{κ_e}+e’も素数であるものをランダムに選ぶ(ステップ130103)。
ISSUE1-4:0以上e未満の整数r’’をランダムに選ぶ(ステップ130104)。
ISSUE1-5:A’’=(a_0A’a_2^{r’’})^{1/e} mod Nを計算する(ステップ130105)。
ISSUE1-6:(A’’,e’,r’’)を発行装置記憶部110に書き込む(ステップ130106)。
ISSUE1-7:(A’’,e’,r’’)を出力する(ステップ130107)。
なお、pf_{A’,h}の検証方法の詳細は[文献1]に開示されているため、ここでは、その説明を省略する。
ユーザ装置400は以下のJOIN1-2-1,…,JOIN1-2-7を順に行う(図10)。
JOIN1-2-1:ユーザ装置記憶部410からa_0,a_1,a_2,x,r’,r’’,A’’, N, e’,hを読み込む(ステップ4201201)。
JOIN1-2-2:e=2^{κ_e}+e’を計算する(ステップ4201202)。
JOIN1-2-3:r’+r’’をeで割ったときの商をRとし、余りをrとする(ステップ4201203)。
JOIN1-2-4:A=A’’/a_2^R mod Nとする(ステップ4201204)。
JOIN1-2-5:a_0a_1^xa_2^r=A^e mod Nが成立するかどうかを確認し、もし成立していなければ発行参加手段130を終了する(ステップ4201205)。
JOIN1-2-6:(x,r)をメンバー秘密鍵mskにセットし、mskをユーザ装置記憶部410に書き込む(ステップ4201206)。
JOIN1-2-7:(A,e,e’,h)をメンバー公開鍵mpkにセットし、mpkをユーザ装置記憶部410に書き込む(ステップ4201207)。
失効管理装置300は以下のADD1-1,…,ADD1-4を順に行う(図11)。
ADD1-1:rpk=(L,b,w)とe’を失効管理装置記憶部310から読み込む(ステップ330101)。
ADD1-2:e’が素数であるかどうかを確認し、もし素数でなければ終了する(ステップ330102)。
ADD1-3:B=b^{1/e’} mod Lを計算する(ステップ330103)。
ADD1-4:Bを出力する(ステップ330104)。
失効管理装置300はグループから脱退させたいユーザ装置のe’を使って以下のREV1-1,…,REV1-4を順に行う(図12)。
REV1-1:rpk=(L,b,w)、e’を失効管理装置記憶部310から読み込む(ステップ340101)。
REV1-2:B=b^{1/e’} mod Lを計算する(ステップ340102)。
REV1-3:bをBに置き換え、rpkを(L,B,w)に再セットする(ステップ340103)。
REV1-4:e’_0=e’とする(ステップ340104)。
REV1-5:rpkを失効管理装置記憶部310に書き込み、e’_0と新しいrpkとを出力する(ステップ340105)。
ユーザ装置400は以下のUPDATE1-1,…,UPDATE1-4を順に行う(図13)。
UPDATE1-1:B,e’,e’_0,rpk=(L,b,w)をユーザ装置記憶部410から読み込む(ステップ430101)。
UPDATE1-2:整数ξ、ηでξe’_0+ηe’=1を満たすものを見つける(ステップ430102)。
UPDATE1-3:B’=B^ξb^η mod Lを計算する(ステップ430103)。
UPDATE1-4:BをB’に再セットし、新しいBを記憶部に書き込む(ステップ430104)。
UPDATE1-2で、例えば、拡張ユークリッド互助法を行うことでξ、ηを見つけることができる。
ユーザ装置400は以下のSIGN1-1,…, SIGN1-15を行う(図14、図15)。
SIGN1-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、opk、q、rpk=(L,b,w)、mpk=(A,e,e’,h)、msk=(x,r)、Bをユーザ装置記憶部410から読み込む(ステップ440101)。
SIGN1-2: メッセージMを読み込む(ステップ440102)。
SIGN1-3: Z_qの元ρ_{Cipher}をランダムに選び、[暗号化手段]を行って Cipherを計算する(ステップ440103)。
SIGN1-4: κ_N/2ビットの自然数ρ_{mpk}をランダムに選び、A_{COM}=Aa_2^{ρ_{mpk}} mod Nを計算する(ステップ440104)。
SIGN1-5: s=r+ρ_{mpk}eを計算する(ステップ440105)。
SIGN1-6: κ_L/2ビットの自然数ρ_{rev}をランダムに選び、B_{COM}=Bw^{ρ_{rev}} mod L を計算する(ステップ440106)。
SIGN1-7: t=e’ρ_{rev}を計算する(ステップ440107)。
SIGN1-8: κ_Q+κ_c+κ_Sビットの自然数μ_x、(κ_N/2) +κ_c+κ_Sビットの自然数μ_s、κ’_e+κ_c+κ_Sビットの自然数μ’_e、(κ_L/2) +κ_c+κ_Sビットの自然数μ_t、Z_qの元μ_{Cipher}、(κ_N/2) +κ_c+κ_Sビットの自然数μ_{mpk}、(κ_L/2) +κ_c+κ_Sビットの自然数μ_{rev}ランダムに選ぶ(ステップ440108)。
SIGN1-9: Cipher、μ_x、μ_{Cipher}、opk、gを入力して[暗号文用コミット手段]を行ってその出力COM_{Cipher}を得る(ステップ440109)。
SIGN1-10:μ_x、μ_s、μ’_e、A_{COM}、ipkを入力して[メンバー公開鍵用コミット手段]を行ってその出力COM_{mpk}を得る(ステップ440110)。
SIGN1-11: μ’_e、μ_t、B_{COM}、rpkを入力して[失効データ用コミット手段]を行ってその出力COM_{rev}を得る(ステップ440111)。
SIGN1-12: c=Hash(κ, ipk, opk, q, rpk, Cipher, A_{COM}, B_{COM}, COM_{Cipher}, COM_{mpk}, COM_{rev}, M)を計算する(ステップ440112)。
SIGN1-13: τ_x=cx+μ_x、τ_s=cs+μ_s、τ’_e=ce’+μ’_e、τ_t=ct+μ_tを計算する(ステップ440113)。
SIGN1-14: τ_{Cipher}=cμ_{Cipher}+ρ_{Cipher} mod qを計算する。(ステップ440114)
SIGN1-15: (Cipher,A_{COM},B_{COM},c,τ_x,τ_s,τ’_e,τ_t,τ_{Cipher},τ_{mpk},τ_{rev})をSignatureにセットし、Signatureを出力する(ステップ440115)。
ユーザ装置400は以下のCOMCIPHER1-1,…, COMCIPHER1-3を行う(図16)。
COMCIPHER1-1: Cipher=(Cipher_0,Cipher_1,Cipher_2)、μ_x、μ_{Cipher}、opk=(u_0,u_1,u_2)、gを入力として受け取る(ステップ940101)。
COMCIPHER1-2: COM_{Cipher_0} = u_0^{μ_{Cipher}}、COM_{Cipher_1} = u_1^{μ_{Cipher}}、COM_{Cipher_2} = g^{μ_x}u_2^{μ_{Cipher}}とする(ステップ940102)。
COMCIPHER1-3: COM_{Cipher}=(COM_{Cipher_0},COM_{Cipher_1},COM_{Cipher_2})を計算する(ステップ940103)。
ユーザ装置400は以下のCOMMPK1-1,COMMPK1-2を行う(図17)。
COMMPK1-1: μ_x、μ_s、μ’_e、A_{COM}、ipk=(N,a_0,a_1,a_2)を入力して受け取る(ステップ950101)。
COMMPK1-2: COM_{mpk}= a_1^{μ_x}a_2^{μ_s}A_{COM}^{-μ_e} mod N を計算する(ステップ950102)。
ユーザ装置400は以下のCOMREV1-1,COMREV1-2を行う(図18)。
COMREV1-1: μ’_e、μ_t、B_{COM}、rpk=(L,b,w)を入力として受け取る(ステップ960101)。
COMREV1-2: COM_{rev} = w^{μ_t}B_{COM}^{-μ’_e} mod Lを計算する(ステップ960102)。
検証装置500は以下のVER1-1,…,VER1-7を行う(図19)。
VER1-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、opk=(u_0,u_1,u_2)、q、rpk=(L,b,w)、M、Signature=( Cipher,A_{COM},B_{COM},c, τ_x,τ_s,τ’_e,τ_t,τ_{Cipher},τ_{mpk},τ_{rev})を検証装置記憶部510から読み込む。(ステップ520101)
VER1-2: τ_e =2^{κ_e}+τ’_eとする(ステップ520102)。
VER1-3: c, opk, Cipher,τ_x,τ_{Cipher}を入力して[暗号文用コミット再生手段]を行い、その出力COM_{Cipher}を得る(ステップ520103)。
VER1-4: c, ipk, A_{COM},τ_x, τ_s,τ_eを入力して[メンバー公開鍵用コミット再生手段]を行い、その出力COM_{mpk}を得る(ステップ520104)。
VER1-5: c, rpk, B_{COM},τ_t,τ’_e を入力して[失効データ用コミット再生手段]を行い、その出力COM_{rev}を得る(ステップ520105)。
VER1-6: Hash(κ, ipk, opk, q, rpk, Cipher, A_{COM}, B_{COM}, COM_{Cipher}, COM_{mpk}, COM_{rev}, M)を計算し、c= Hash(κ, ipk, opk, q, rpk, Cipher, A_{COM}, B_{COM}, COM_{Cipher}, COM_{mpk}, COM_{rev},M)が成立しなければrejectを出力して終了する(ステップ520106)。
VER1-7: τ’_xがκ_q+κ_c+κ_Sビット未満であることとτ’_eがκ’_e+κ_c+κ_Sビット未満であることを確認し、もし共に満たされていればacceptを出力して終了し、そうでなければrejectを出力して停止する(ステップ520107)。
検証装置500は以下のRECCOMCIPHER1-1,…,RECCOMCIPHER1-3を行う(図20)。
RECCOMCIPHER1-1: c, opk=(u_0,u_1,u_2), Cipher=(Cipher_0,Cipher_1,Cipher_2),τ_x,τ_{Cipher}を入力して受け取る(ステップ970101)。
RECCOMCIPHER1-2: COM_{Cipher_0}=u_0^{τ_{Cipher}}Cipher_0^{-c}、COM_{Cipher_1}=u_1^{τ_{Cipher}}Cipher_1^{-c}、COM_{Cipher_2}=g^{τ_x}u_2^{τ_{Cipher}}Cipher_2^{-c}を計算する(ステップ970102)。
RECCOMCIPHER1-3: COM_{Cipher}=(COM_{Cipher_0},COM_{Cipher_1},COM_{Cipher_2})とする(ステップ970103)。
検証装置500は以下のRECCOMMPK1-1,RECCOMMPK1-2を行う(図21)。
RECCOMMPK1-1: ipk=(N,a_0,a_1,a_2), A_{COM},τ_x, τ_s,τ_eを入力として受け取る(ステップ980101)。
RECCOMMPK1-2: COM_{mpk}= a_1^{τ_x}a_2^{τ_s}A_{COM}^{-τ_e} mod N を計算する(ステップ980102)。
検証装置500は以下のRECCOMREV1-1,RECCOMREV1-2を行う(図22)。
RECCOMREV1-1: c, rpk=(L,b,w), B_{COM},τ_t,τ’_e を入力として受け取る(ステップ990101)。
RECCOMREV1-2: COM_{rev} = w^{τ_t}B_{COM}^{-τ’_e} mod Lを計算する(ステップ990102)。
開示装置200は以下のOPN1-1,…,OPN1-4を行う(図23)。
OPN1-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、opk=(u_0,u_1,u_2)、osk=(z_1,z_2)、q、rpk=(L,b,w)、M、Signature=( Cipher,A_{COM},B_{COM},c, τ_x,τ_s,τ’_e,τ_t,τ_{Cipher},τ_{mpk},τ_{rev})を開示装置記憶部210から読み込む(ステップ230101)。
OPN1-2: VER1-1,…,VER1-6を行う。Signatureがrejectされたら、開示手段230を終了する(ステップ230102)。
OPN1-3: opk、osk、Cipherを入力して[復号化手段]を行い、出力hを得る(ステップ230103)。
OPN1-4: hを出力する(ステップ230104)。
開示装置200は以下のEKEYGEN1-1,…,EKEYGEN1-4を行う(図24)。
EKEYGEN1-1: Uの元u_0をランダムに選ぶ(ステップ1000101)。
EKEYGEN1-2: z_1,z_2をランダムに選ぶ(ステップ1000102)。
EKEYGEN1-3: u_1=u_0^{z_1}、u_2=u_0^{z_2}を計算する(ステップ1000103)。
EKEYGEN1-4: (u_0,u_1,u_2)を公開鍵opkにセットし、(z_1,z_2)を秘密鍵oskにセットする(ステップ1000104)。
ユーザ装置400は以下のENC1-1,…,ENC1-3を行う(図25)。
ENC1-1: 乱数ρ_{Cipher}とUの元hを入力として受け取る(ステップ1010101)。
ENC1-2: Cipher_0 = u_0^{ρ_{Cipher}}、Cipher_1 = u_1^{ρ_{Cipher}}、Cipher_2 = hu_2^{ρ_{Cipher}}を計算する(ステップ1010102)。
ENC1-3: Cipher = (Cipher_0,Cipher_1,Cipher_2)とする(ステップ1010103)。
開示装置200は以下のDEC1-1,…,DEC1-2を行う(図26)。
DEC1-1: 公開鍵opk=(u_0,u_1,u_2)、秘密鍵osk=(z_1,z_2)、暗号文Cipher = (Cipher_0,Cipher_1,Cipher_2)を入力として受け取る(ステップ1020101)。
DEC1-2: h=Cipher_2/Cipher_0^{z_1}を計算する(ステップ1020102)。
本実施形態では、発行参加手順と署名手段とが実施形態1と異なる方法である。以下に、本実施形態を説明する。[装置構成]、[装置の実装]、[記号]、[データの送受信]、および[メンバー公開鍵リスト]は実施形態1と同様であるため、その詳細な説明を省略する。
発行装置100は以下のISSGEN2-1,…,ISSGEN2-5を順に行う(図27)。
ISSGEN2-1: 発行装置記憶部110からκ_Nを読み込む。(ステップ120201)
ISSGEN2-2: 素数p_1, p_2で積N=p_1p_2がκ_Nビットのものを選ぶ(ステップ120202)。
ISSGEN2-3: QR(N)の元a_0,a_1をランダムに選ぶ(ステップ120203)。
ISSGEN2-4: (p_1,p_2)を発行装置100秘密鍵iskにセットし、iskを発行装置記憶部110に書き込む(ステップ120204)。
ISSGEN2-5: (N,a_0,a_1,a_2)を発行装置100公開鍵ipkにセットし、ipkを発行装置記憶部110に書き込み、そしてipkを出力する(ステップ120205)。
安全性の観点から言えば、ISS2-1で(p_1-1)/2, (p_2-1)/2も素数であることが望ましい。また、ISS2-1でp_1のビット数とp_2のビット数はほぼ同じであることが望ましい。
発行参加手段では発行装置100とユーザ装置400とがそれぞれ発行手段130と参加手段420を行う。発行手段130は発行第一手段と発行第二手段からなる。参加手段420は参加第一手段、参加第二手段、参加第三手段からなる。
発行参加手段では以下のISSJOIN2-1,…,ISSJOIN2-9が順に行われる(図28)。
ISSJOIN2-1: ユーザ装置400は参加第一手段を行い、参加第一手段の出力を発行装置100に送信する(ステップ920201)。
ISSJOIN2-2: 発行装置100は受信したデータを発行装置記憶部110に書き込む(ステップ920202)。
ISSJOIN2-3: 発行装置100は発行第一手段130を行い、発行第一手段130の出力をユーザ装置400に送信する(ステップ920203)。
ISSJOIN2-4: ユーザ装置400は受信したデータをユーザ装置記憶部410に書き込む(ステップ920204)。
ISSJOIN2-5: ユーザ装置400は参加第二手段を行い、参加第二手段の出力を発行装置100に送信する(ステップ920205)。
ISSJOIN2-6: 発行装置100は受信したデータを発行装置記憶部110に書き込む(ステップ920206)。
ISSJOIN2-7: 発行装置100は発行第二手段130を行い、発行第二手段130の出力をユーザ装置400に送信する(ステップ920207)。
ISSJOIN2-8: ユーザ装置400は受信したデータをユーザ装置記憶部410に書き込む(ステップ920208)。
ISSJOIN2-9: ユーザ装置400は参加第三手段を行う(ステップ920209)。
ユーザ装置400は以下のJOIN2-1-1,…,JOIN2-1-4を順に行う(図29)。
JOIN2-1-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)とipk=(N,a_0,a_1,a_2)をユーザ装置記憶部410から読み込む(ステップ4202101)。
JOIN2-1-2: 0以上q未満の整数x’をランダムに選ぶ(ステップ4202102)。
JOIN2-1-3: A’’’=a_1^{x’} mod Nを計算し、x’とA’’’ をユーザ装置記憶部410に書き込む(ステップ4202103)。
JOIN2-1-4: A’’’を出力する(ステップ4202104)。
発行装置100は以下のISSUE2-1-1を行う(図30)。
ISSUE2-1-1: qビットの自然数x’’をランダムに選び、x’’を出力する(ステップ1302101)。
ユーザ装置400は以下のJOIN2-2-1,…,JOIN2-2-4を順に行う(図31)。
JOIN2-2-1: x’、x’’、qをユーザ装置記憶部410から読み込む(ステップ4202201)。
JOIN2-2-2: x’ + x’’をqで割った商をXとし、余りをxとする(ステップ4202202)。
JOIN2-2-3: A’= a^xとh=g^xを計算し、(A’,h)の正当性証明文pf_{A’,h}を作成する(ステップ4202203)。
JOIN2-2-4: x、A’、pf_{A’} をユーザ装置記憶部410に書き込む(ステップ4202204)。
なお、pf_{A’}の計算方法の詳細は[文献1]に開示されているため、ここでは、その説明を省略する。
発行装置100は以下のISSUE2-2-1,…, ISSUE2-2-6を順に行う(図32)。
ISSUE2-2-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、isk=(p_1,p_2)を発行装置記憶部110から読み込む(ステップ1302201)。
ISSUE2-2-2: pf_{A’,h}の正当性を検証し、もし正当でなければ発行参加手段130を終了する(ステップ1302202)。
ISSUE2-2-3: κ'_eビットの素数e’で、e=2^{κ_e}+e’も素数であるものをランダムに選ぶ(ステップ1302203)。
ISSUE2-2-4: A =(a_0A’)^{1/e} mod Nを計算する(ステップ1302204)。
ISSUE2-2-5: (A,e’)を発行装置記憶部110に書き込む(ステップ1302205)。
ISSUE2-2-6: (A,e’)を出力する(ステップ1302206)。
なお、pf_{A’}の検証方法の詳細は[文献1]に開示されているため、ここでは、その説明を省略する。
ユーザ装置400は以下のJOIN2-3-1,…,JOIN2-3-5を順に行う(図33)。
JOIN2-3-1: ユーザ装置記憶部410からa_0,a_1,a_2,x,A’’, N, e’をユーザ装置記憶部410から読み込む(ステップ4202301)。
JOIN2-3-2: e=2^{κ_e}+e’を計算する(ステップ4202302)。
JOIN2-3-3: a_0a_1^x=A^e mod Nが成立するかどうかを確認し、もし成立していなければ発行参加手段130を終了する(ステップ4202303)。
JOIN2-3-4: xをメンバー秘密鍵mskにセットし、mskをユーザ装置記憶部410に書き込む(ステップ4202304)。
JOIN2-3-5: (A,e,e’,h)をメンバー公開鍵mpkにセットし、mpkをユーザ装置記憶部410に書き込む(ステップ4202305)。
ユーザ装置400は以下のSIGN1-1,…, SIGN1-14を行う(図34、図35)。
SIGN1-1: κ=(κ_N、κ_L、κ_q、κ_e、κ'_e、κ_c、κ_S)、ipk=(N,a_0,a_1,a_2)、opk、q、rpk=(L,b,w)、mpk=(A,e,e’,h)、msk=x、Bをユーザ装置記憶部410から読み込む(ステップ440201)。
SIGN1-2: メッセージMを読み込む(ステップ440202)。
SIGN1-3: Z_qの元ρ_{Cipher}をランダムに選び、[暗号化手段]を行って Cipherを計算する(ステップ440203)。
SIGN1-4: κ_N/2ビットの自然数sをランダムに選び、A_{COM}=Aa_2^{s} mod Nを計算する(ステップ440204)。
SIGN1-5: κ_L/2ビットの自然数ρ_{rev}をランダムに選び、B_{COM}=Bw^{ρ_{rev}} mod Lを計算する(ステップ440205)。
SIGN1-6: t=e’ρ_{rev}を計算する(ステップ440206)。
SIGN1-7: κ_Q+κ_c+κ_Sビットの自然数μ_x、(κ_N/2) +κ_c+κ_Sビットの自然数μ_s、κ’_e+κ_c+κ_Sビットの自然数μ’_e、(κ_L/2) +κ_c+κ_Sビットの自然数μ_t、Z_qの元μ_{Cipher}、(κ_N/2) +κ_c+κ_Sビットの自然数μ_{mpk}、(κ_L/2) +κ_c+κ_Sビットの自然数μ_{rev}ランダムに選ぶ(ステップ440207)。
SIGN1-8: Cipher、μ_x、μ_{Cipher}、opk、gを入力して[暗号文用コミット手段]を行ってその出力COM_{Cipher}を得る(ステップ440208)。
SIGN1-9:μ_x、μ_s、μ’_e、A_{COM}、ipkを入力して[メンバー公開鍵用コミット手段]を行ってその出力COM_{mpk}を得る(ステップ440209)。
SIGN1-10: μ’_e、μ_t、B_{COM}、rpkを入力して[失効データ用コミット手段]を行ってその出力COM_{rev}を得る(ステップ440210)。
SIGN1-11: c=Hash(κ,ipk,opk,q,rpk, Cipher,A_{COM},B_{COM},COM_{Cipher},COM_{mpk},COM_{rev},M)を計算する(ステップ440211)。
SIGN1-12: τ_x=cx+μ_x、τ_s=cs+μ_s、τ’_e=ce’+μ’_e、τ_t=ct+μ_tを計算する(ステップ440212)。
SIGN1-13: τ_{Cipher}=cμ_{Cipher}+ρ_{Cipher} mod qを計算する(ステップ440213)。
SIGN1-14: (Cipher,A_{COM},B_{COM},c,τ_x,τ_s,τ’_e,τ_t,τ_{Cipher},τ_{mpk},τ_{rev})をSignatureにセットし、Signatureを出力する(ステップ440214)。
Claims (12)
- 発行装置、開示装置、失効管理装置、ユーザ装置および検証装置がネットワークを介して互いに接続されたグループ署名システムであって、
前記発行装置は、第1の巡回群の元が格納された発行装置記憶部と、該第1の巡回群の位数Nならびに該第1の巡回群の元a_0、a_1およびa_2を含む組の発行装置公開鍵ipkを生成すると、該発行装置公開鍵ipkを公開する発行装置制御部とを有し、
前記ユーザ装置は、素数の集合が格納されたユーザ装置記憶部と、公開された前記発行装置公開鍵ipkを受信すると、素数eから該素数eよりも小さい定数を減じた結果が素数e’となる該素数eおよび該素数e'を求め、前記a_0と前記a_1を数xでべき乗剰余したものとの積に前記a_2を数rでべき乗剰余したものの積が前記第1の巡回群の元Aを前記素数e乗したものに前記位数Nを法として等しい関係にあるものとする前記数xおよび前記数rを含む組のユーザ装置秘密鍵mskと前記素数e、前記素数e'および前記元Aを含む組のユーザ装置公開鍵mpkとを生成し、該素数e’を前記失効管理装置に送信し、該素数e'を基にして算出されたBを前記失効管理装置から受信し、メッセージが入力されると、該Bの値、前記ユーザ装置公開鍵mpk、前記ユーザ装置秘密鍵msk、および該メッセージを用いて、該メッセージに対する署名文を生成し、該メッセージと該署名文を前記検証装置に送信するユーザ装置制御部とを有し、
前記失効管理装置は、第2の巡回群の元が格納された失効管理装置記憶部と、該第2の巡回群の位数Lおよび該第2の巡回群の元bを含む組の失効管理装置公開鍵rpkを生成し、前記ユーザ装置から前記素数e’を受信すると、前記元bを前記素数e’の逆数で前記位数Lを法としてべき乗剰余した前記Bの値を算出して前記ユーザ装置に送信する失効管理装置制御部とを有し、
前記検証装置は、前記メッセージおよび前記署名文を格納するための検証装置記憶部と、該メッセージおよび該署名文を受信すると、該メッセージと該署名文の候補を用いて検証を行って該署名文の候補の正当性を検証し、前記署名文の候補が正当であるか否かを出力する検証装置制御部とを有し、
前記開示装置は、前記メッセージおよび前記署名文を格納するための開示装置記憶部と、該メッセージおよび該署名文を受信し、該署名文が正当であると認識すると、該メッセージおよび該署名文と生成した開示装置公開鍵opkおよび開示装置秘密鍵oskを用いた復号化によるhを算出して出力する開示装置制御部とを有する、グループ署名システム。 - 発行装置、開示装置、失効管理装置、ユーザ装置および検証装置がネットワークを介して互いに接続されたグループ署名システムであって、
前記発行装置は、第1の巡回群の元が格納された発行装置記憶部と、該第1の巡回群の位数Nならびに該第1の巡回群の元a_0およびa_1を含む組の発行装置公開鍵ipkを生成すると、該発行装置公開鍵ipkを公開する発行装置制御部とを有し、
前記ユーザ装置は、素数の集合が格納されたユーザ装置記憶部と、公開された前記発行装置公開鍵ipkを受信すると、素数eから該素数eよりも小さい定数を減じた結果が素数e’となる該素数eおよび該素数e'を求め、前記a_0と前記a_1を数xでべき乗剰余したものとの積が前記第1の巡回群の元Aを前記素数e乗したものに前記位数Nを法として等しい関係にあるものとする前記数xを含むユーザ装置秘密鍵mskと前記素数e、前記素数e'および前記元Aを含む組のユーザ装置公開鍵mpkとを生成し、該素数e’を前記失効管理装置に送信し、該素数e'を基にして算出されたBを前記失効管理装置から受信し、メッセージが入力されると、該Bの値、前記ユーザ装置公開鍵mpk、前記ユーザ装置秘密鍵msk、および該メッセージを用いて、該メッセージに対する署名文を生成し、該メッセージと該署名文を前記検証装置に送信するユーザ装置制御部とを有し、
前記失効管理装置は、第2の巡回群の元が格納された失効管理装置記憶部と、該第2の巡回群の位数Lおよび該第2の巡回群の元bを含む組の失効管理装置公開鍵rpkを生成し、前記ユーザ装置から前記素数e’を受信すると、前記元bを前記素数e’の逆数で前記位数Lを法としてべき乗剰余した前記Bの値を算出して前記ユーザ装置に送信する失効管理装置制御部とを有し、
前記検証装置は、前記メッセージおよび前記署名文を格納するための検証装置記憶部と、該メッセージおよび該署名文を受信すると、該メッセージと該署名文の候補を用いて検証を行って該署名文の候補の正当性を検証し、前記署名文の候補が正当であるか否かを出力する検証装置制御部とを有し、
前記開示装置は、前記メッセージおよび前記署名文を格納するための開示装置記憶部と、該メッセージおよび該署名文を受信し、該署名文が正当であると認識すると、該メッセージおよび該署名文と生成した開示装置公開鍵opkおよび開示装置秘密鍵oskを用いた復号化によるhを算出して出力する開示装置制御部とを有する、グループ署名システム。 - 前記失効管理装置制御部は、前記失効管理装置公開鍵rpkと、グループから脱退するユーザ装置の前記素数e’を用いて前記Bの値を算出し、前記元bを該Bの値に置換し、前記失効管理装置公開鍵rpkを前記位数Lおよび前記Bの値を含む組のものに更新する、請求項1または2記載のグループ署名システム。
- 前記失効管理装置制御部は、更新された前記失効管理装置公開鍵rpkを公開し、
グループに残るユーザ装置の前記ユーザ装置制御部は、更新された前記失効管理装置公開鍵rpkを受信すると、グループから脱退したユーザ装置の前記素数e’と、e’_0= eとして定義されたe’_0と、前記Bの値とを用いて、整数ξに前記e’_0を乗じたものと整数ηに前記素数e’を乗じたものの和が1となるξおよびηを求め、さらに、前記Bの値をξ乗したものと前記元bから置換された該Bの値をη乗したものとの積を前記位数Lで剰余したものB’を計算し、前記Bの値を該B'の値に更新する、請求項3記載のグループ署名システム。 - 前記ユーザ装置制御部は、前記Bの値を受信すると、発行装置公開鍵ipk、失効管理装置公開鍵rpk、ユーザ装置公開鍵mpk、ユーザ装置秘密鍵mskおよび前記Bの値から、前記Bの知識の証明文となる前記署名文を求める、請求項1または2記載のグループ署名システム。
- 前記ユーザ装置制御部は、前記Bの値を受信すると、任意に乱数μ’_e、乱数μ_tおよび乱数ρ_{rev}を選択し、予め定められた値wを前記ρ_{rev}でべき乗剰余したものに前記Bの値をかけたものに対して前記位数Lを法として剰余したものB_{COM}を算出し、前記素数e’に前記ρ_{rev}を乗じたものtを算出し、前記値wを前記μ_tでべき乗剰余したものに前記B_{COM}をμ’_eを-1倍したものでべき乗剰余したものを乗じたものに対して前記位数Lを法として剰余したものCOM_{rev}を算出し、前記発行装置公開鍵ipkからメンバー公開鍵用コミットとなるCOM_{mpk}を算出し、前記B_{COM}、前記COM_{rev}、および前記COM_{mpk}を含む組のハッシュ値cを算出し、該ハッシュ値cに前記素数e’を乗じたものに前記μ’_eを加えたものτ’_eを算出し、さらに前記ハッシュ値cに前記tの値を乗じたものに前記μ_tを加えたものτ_tを算出し、前記τ’_eと前記τ_tを含む組を前記署名文として出力する、請求項5記載のグループ署名システム。
- 前記ユーザ装置制御部は、前記Bの値を受信すると、任意に乱数μ_x、乱数μ_s、乱数μ_{mpk}および乱数ρ_{mpk}を選択し、前記a_2を前記ρ_{mpk}でべき乗剰余したものに前記元Aを乗じたものに対して前記位数Nで剰余したものA_{COM}を計算し、前記素数eに前記ρ_{mpk}を乗じたものに前記数rを加えたものsを算出し、メンバー公開鍵用コミットとして、前記a_1を前記μ_xでべき乗剰余したものに前記a_2をμ_sでべき乗剰余したものを乗じたものに対して前記A_{COM}をμ_eを-1倍したものでべき乗剰余したものCOM_{mpk}を計算し、予め定められた値wを前記ρ_{rev}でべき乗剰余したものに前記Bの値をかけたものに対して前記位数Lを法として剰余したものB_{COM}を算出し、前記素数e’に前記ρ_{rev}を乗じたものtを算出し、前記値wを前記μ_tでべき乗剰余したものに前記B_{COM}をμ’_eを-1倍したものでべき乗剰余したものを乗じたものに対して前記位数Lを法として剰余したものCOM_{rev}を算出し、前記B_{COM}と前記COM_{rev}と前記A_{COM}と前記COM_{mpk}とを含む組のハッシュ値cを算出し、該ハッシュ値cに前記数xを乗じたものに前記μ_xを加えたものτ_xを算出し、前記ハッシュ値cに前記sの値を乗じたものに前記μ_sを加えたものτ_sを算出し、前記τ’_e、前記τ_x、前記τ_t、および前記τ_sを含む組を知識の証明文として前記署名文を出力する、請求項1記載のグループ署名システム。
- 前記ユーザ装置制御部は、前記Bの値を受信すると、任意に乱数μ_x、乱数μ_s、乱数μ_{mpk}および乱数ρ_{mpk}を選択し、定数a_2を前記ρ_{mpk}でべき乗剰余したものに前記元Aを乗じたものに対して前記位数Nで剰余したものA_{COM}を算出し、前記素数eに前記ρ_{mpk}を乗じたものsを算出し、メンバー公開鍵用コミットとして、前記a_1を前記μ_xでべき乗剰余したものに前記a_2をμ_sでべき乗剰余したものを乗じたもの前記A_{COM}をμ_eを-1倍したものでべき乗剰余したものCOM_{mpk}を算出し、予め定められた値wを前記ρ_{rev}でべき乗剰余したものに前記Bの値をかけたものに対して前記位数Lを法として剰余したものB_{COM}を算出し、前記素数e’に前記ρ_{rev}を乗じたものtを算出し、前記値wを前記μ_tでべき乗剰余したものに前記B_{COM}をμ’_eを-1倍したものでべき乗剰余したものを乗じたものに対して前記位数Lを法として剰余したものCOM_{rev}を算出し、前記B_{COM}と前記COM_{rev}と前記A_{COM}と前記COM_{mpk}とを含む組のハッシュ値cを算出し、該ハッシュ値cに前記数xを乗じたものに前記μ_xを加えたものτ_xを算出し、前記ハッシュ値cに前記sの値を乗じたものに前記μ_sを加えたものτ_sを算出し、前記τ’_e、前記τ_x、前記τ_t、および前記τ_sを含む組を知識の証明文として前記署名文を出力する、請求項2記載のグループ署名システム。
- 発行装置、開示装置、失効管理装置、ユーザ装置および検証装置がネットワークを介して互いに接続されたグループ署名システムによる情報処理方法であって、
前記発行装置が、第1の巡回群の位数Nならびに該第1の巡回群の元a_0、a_1およびa_2を含む組の発行装置公開鍵ipkを生成すると、該発行装置公開鍵ipkを公開し、
前記ユーザ装置が、公開された前記発行装置公開鍵ipkを受信すると、素数eから該素数eよりも小さい定数を減じた結果が素数e’となる該素数eおよび該素数e'を求め、前記a_0と前記a_1を数xでべき乗剰余したものとの積に前記a_2を数rでべき乗剰余したものの積が前記第1の巡回群の元Aを前記素数e乗したものに前記位数Nを法として等しい関係にあるものとする前記数xおよび前記数rを含む組のユーザ装置秘密鍵mskと前記素数e、前記素数e'および前記元Aを含む組のユーザ装置公開鍵mpkとを生成し、該素数e’を前記失効管理装置に送信し、
前記失効管理装置が、第2の巡回群の位数Lおよび該第2の巡回群の元bを含む組の失効管理装置公開鍵rpkを生成し、前記ユーザ装置から前記素数e’を受信すると、前記元bを前記素数e’の逆数で前記位数Lを法としてべき乗剰余したBの値を算出して前記ユーザ装置に送信し、
前記ユーザ装置が、前記Bの値を前記失効管理装置から受信し、メッセージが入力されると、該Bの値、前記ユーザ装置公開鍵mpk、前記ユーザ装置秘密鍵msk、および該メッセージを用いて、該メッセージに対する署名文を生成し、該メッセージと該署名文を前記検証装置に送信し、
前記検証装置が、前記メッセージと前記署名文を受信すると、該メッセージと該署名文の候補を用いて検証を行って該署名文の候補の正当性を検証し、前記署名文の候補が正当であるか否かを出力し、
前記開示装置が、前記メッセージと前記署名文とを受信し、該署名文が正当であると認識すると、該メッセージおよび該署名文と生成した開示装置公開鍵opkおよび開示装置秘密鍵oskを用いた復号化によるhを算出して出力する、情報処理方法。 - 発行装置、開示装置、失効管理装置、ユーザ装置および検証装置がネットワークを介して互いに接続されたグループ署名システムによる情報処理方法であって、
前記発行装置が、第1の巡回群の位数Nならびに該第1の巡回群の元a_0およびa_1を含む組の発行装置公開鍵ipkを生成すると、該発行装置公開鍵ipkを公開し、
前記ユーザ装置が、公開された前記発行装置公開鍵ipkを受信すると、素数eから該素数eよりも小さい定数を減じた結果が素数e’となる該素数eおよび該素数e'を求め、前記a_0と前記a_1を数xでべき乗剰余したものとの積が前記第1の巡回群の元Aを前記素数e乗したものに前記位数Nを法として等しい関係にあるものとする前記数xを含むユーザ装置秘密鍵mskと前記素数e、前記素数e'および前記元Aを含む組のユーザ装置公開鍵mpkとを生成し、該素数e’を前記失効管理装置に送信し、
前記失効管理装置が、第2の巡回群の位数Lおよび該第2の巡回群の元bを含む組の失効管理装置公開鍵rpkを生成し、前記ユーザ装置から前記素数e’を受信すると、前記元bを前記素数e’の逆数で前記位数Lを法としてべき乗剰余したBの値を算出して前記ユーザ装置に送信し、
前記ユーザ装置が、前記Bの値を前記失効管理装置から受信し、メッセージが入力されると、該Bの値、前記ユーザ装置公開鍵mpk、前記ユーザ装置秘密鍵msk、および該メッセージを用いて、該メッセージに対する署名文を生成し、該メッセージと該署名文を前記検証装置に送信し、
前記検証装置が、前記メッセージと前記署名文を受信すると、該メッセージと該署名文の候補を用いて検証を行って該署名文の候補の正当性を検証し、前記署名文の候補が正当であるか否かを出力し、
前記開示装置が、前記メッセージと前記署名文とを受信し、該署名文が正当であると認識すると、該メッセージおよび該署名文と生成した開示装置公開鍵opkおよび開示装置秘密鍵oskを用いた復号化によるhを算出して出力する、情報処理方法。 - 前記失効管理装置が、前記失効管理装置公開鍵rpkと、グループから脱退するユーザ装置の前記素数e’を用いて前記Bの値を算出し、前記元bを該Bの値に置換し、前記失効管理装置公開鍵rpkを前記位数Lおよび前記Bの値を含む組のものに更新する、請求項9または10記載の情報処理方法。
- 前記失効管理装置が、更新された前記失効管理装置公開鍵rpkを公開し、
グループに残るユーザ装置が、更新された前記失効管理装置公開鍵rpkと、グループから脱退したユーザ装置の前記素数e’と、e’_0= eとして定義されたe’_0と、前記Bの値とを用いて、整数ξに前記e’_0を乗じたものと整数ηに前記素数e’を乗じたものの和が1となるξおよびηを求め、さらに、前記Bの値をξ乗したものと前記元bから置換された該Bの値をη乗したものとの積を前記位数Lで剰余したものB’を計算し、前記Bの値を該B'の値に更新する、請求項11記載の情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008505176A JP5099003B2 (ja) | 2006-03-16 | 2007-03-14 | グループ署名システムおよび情報処理方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006072856 | 2006-03-16 | ||
JP2006072856 | 2006-03-16 | ||
PCT/JP2007/055025 WO2007105749A1 (ja) | 2006-03-16 | 2007-03-14 | グループ署名システムおよび情報処理方法 |
JP2008505176A JP5099003B2 (ja) | 2006-03-16 | 2007-03-14 | グループ署名システムおよび情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007105749A1 JPWO2007105749A1 (ja) | 2009-07-30 |
JP5099003B2 true JP5099003B2 (ja) | 2012-12-12 |
Family
ID=38509565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008505176A Active JP5099003B2 (ja) | 2006-03-16 | 2007-03-14 | グループ署名システムおよび情報処理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8041944B2 (ja) |
EP (1) | EP1998493A4 (ja) |
JP (1) | JP5099003B2 (ja) |
WO (1) | WO2007105749A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11212112B2 (en) | 2016-07-29 | 2021-12-28 | Nec Corporation | System, data management method, and program |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958362B2 (en) * | 2005-10-11 | 2011-06-07 | Chang Gung University | User authentication based on asymmetric cryptography utilizing RSA with personalized secret |
JP4988448B2 (ja) * | 2007-06-25 | 2012-08-01 | 株式会社日立製作所 | 一括検証装置、プログラム及び一括検証方法 |
JP5233449B2 (ja) * | 2008-07-02 | 2013-07-10 | 日本電気株式会社 | 署名生成装置、ならびに、署名検証装置 |
KR101425552B1 (ko) * | 2010-10-04 | 2014-08-05 | 한국전자통신연구원 | 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 |
CN101997688B (zh) | 2010-11-12 | 2013-02-06 | 西安西电捷通无线网络通信股份有限公司 | 一种匿名实体鉴别方法及系统 |
CN101984577B (zh) * | 2010-11-12 | 2013-05-01 | 西安西电捷通无线网络通信股份有限公司 | 匿名实体鉴别方法及系统 |
CN103312670A (zh) | 2012-03-12 | 2013-09-18 | 西安西电捷通无线网络通信股份有限公司 | 一种认证方法及系统 |
CN103312499B (zh) | 2012-03-12 | 2018-07-03 | 西安西电捷通无线网络通信股份有限公司 | 一种身份认证方法及系统 |
FR3075538A1 (fr) * | 2017-12-19 | 2019-06-21 | Orange | Procede cryptographique de signature de groupe |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004228958A (ja) * | 2003-01-23 | 2004-08-12 | Nec Corp | 署名方法および署名プログラム |
JP2005210638A (ja) * | 2004-01-26 | 2005-08-04 | Toshiba Corp | デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334126A (ja) | 2003-05-12 | 2004-11-25 | Nippon Telegr & Teleph Corp <Ntt> | Rsa用鍵生成方法、その装置、そのプログラム及びその記録媒体 |
-
2007
- 2007-03-14 US US12/225,124 patent/US8041944B2/en active Active
- 2007-03-14 WO PCT/JP2007/055025 patent/WO2007105749A1/ja active Application Filing
- 2007-03-14 EP EP07738496.4A patent/EP1998493A4/en not_active Withdrawn
- 2007-03-14 JP JP2008505176A patent/JP5099003B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004228958A (ja) * | 2003-01-23 | 2004-08-12 | Nec Corp | 署名方法および署名プログラム |
JP2005210638A (ja) * | 2004-01-26 | 2005-08-04 | Toshiba Corp | デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11212112B2 (en) | 2016-07-29 | 2021-12-28 | Nec Corporation | System, data management method, and program |
Also Published As
Publication number | Publication date |
---|---|
WO2007105749A1 (ja) | 2007-09-20 |
US20090276630A1 (en) | 2009-11-05 |
EP1998493A4 (en) | 2015-12-09 |
US8041944B2 (en) | 2011-10-18 |
EP1998493A1 (en) | 2008-12-03 |
JPWO2007105749A1 (ja) | 2009-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5099003B2 (ja) | グループ署名システムおよび情報処理方法 | |
Li et al. | Privacy preserving cloud data auditing with efficient key update | |
Brickell et al. | Enhanced privacy ID from bilinear pairing for hardware authentication and attestation | |
US8918647B1 (en) | Authentication system | |
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
Kosba et al. | C $\emptyset $ C $\emptyset $: A Framework for Building Composable Zero-Knowledge Proofs | |
RU2595924C2 (ru) | Устройство обработки информации, способ обработки информации и программа | |
Chen et al. | Certificateless aggregate signature with efficient verification | |
US8121290B2 (en) | Pseudo-random function calculating device and method and number-limited anonymous authentication system and method | |
Yu et al. | Public cloud data auditing with practical key update and zero knowledge privacy | |
Canard et al. | List signature schemes | |
Alamélou et al. | A practical group signature scheme based on rank metric | |
Chen et al. | VLR group signatures with indisputable exculpability and efficient revocation | |
JPWO2007010903A1 (ja) | 鍵発行方法、グループ署名システム | |
TWI838514B (zh) | 區塊鏈交易中知識證明之電腦實行方法及系統 | |
JP5287727B2 (ja) | 情報通信システム、オーガニゼーション装置およびユーザ装置 | |
Gritti et al. | Logarithmic size ring signatures without random oracles | |
JP4533636B2 (ja) | デジタル署名システム、デジタル署名管理装置、デジタル署名管理方法及びプログラム | |
JP5227764B2 (ja) | 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム | |
JP2009290698A (ja) | ブラインド署名装置、部分ブラインド署名装置、受信装置、システム、方法、及びプログラム | |
JP2010186003A (ja) | 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム | |
Wang et al. | A quantum concurrent signature scheme based on the quantum finite automata signature scheme | |
JP4176537B2 (ja) | 匿名署名装置、署名検証装置、匿名署名方法、匿名署名プログラム及び署名検証プログラム | |
JP4775597B2 (ja) | 証明検証システム、証明装置、検証装置、証明検証方法、およびプログラム | |
Silde | Privacy-Preserving Cryptography from Zero-Knowledge Proofs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120802 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120910 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151005 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5099003 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |