JP5029358B2 - 鍵発行方法、グループ署名システム - Google Patents
鍵発行方法、グループ署名システム Download PDFInfo
- Publication number
- JP5029358B2 JP5029358B2 JP2007526018A JP2007526018A JP5029358B2 JP 5029358 B2 JP5029358 B2 JP 5029358B2 JP 2007526018 A JP2007526018 A JP 2007526018A JP 2007526018 A JP2007526018 A JP 2007526018A JP 5029358 B2 JP5029358 B2 JP 5029358B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- secret
- issuer
- public key
- key
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 418
- 238000012545 processing Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 21
- 125000004122 cyclic group Chemical group 0.000 claims description 14
- 230000010365 information processing Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- 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/3013—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 involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- 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
Description
3352 of LNCS, pp. 120-133, 2004.」(以下では、非特許文献1と称する)および「Furukawa, Imai. An Efficient Group Signature Scheme from Bilinear Maps. ACISP 2005, vol. 3574 of LNCS, pp.455-467.」(以下では、非特許文献2と称する)などに開示されている。これらの文献の従来のグループ署名システムにおいて、グループのメンバーを追加するためのジョイン・プロトコルは、次のような構造上の特徴を持っている。
110 発行者装置制御部
120 発行者記憶部
200 ユーザ装置
210 ユーザ装置制御部
220 ユーザ記憶部
[装置構成]
本実施形態のグループ署名システムの構成を説明する。図1はグループ署名システムの一構成例を示すブロック図である。図1に示すように、グループ署名システムには、グループのメンバーに鍵を発行する発行者装置100と、メンバーが操作するためのユーザ装置200とを有する。また、グループ署名システムに、検証者装置300および開示者装置400が接続されている。発行者装置100、ユーザ装置200、検証者装置300および開示者装置400は記憶部および制御部等を有する情報処理装置である。
Unit)、およびプログラムを格納するためのメモリが設けられている。
発行者鍵生成手段112による発行者鍵生成手順ISS-GENを説明する。図2は発行者鍵生成手順を示すフローチャートである。図2に示すように、発行者装置100は以下のISS-GEN1,…,ISS-GEN5を順に行う。
ISS-GEN1: セキュリティ・パラメータl_nを発行者記憶部120から読み込む(ステップ1001)。
ISS-GEN2: 素数p, qで、その積n = p qがl_nビットであるものを選ぶ(ステップ1002)。
ISS-GEN3: QR(n)の元a, g、およびn以下の非負整数αをランダムに選び、h = g^α mod nを計算する(ステップ1003)。
ISS-GEN4: (α, g, h)を入力して後述する[pf_αの生成手順]を行い、αの知識の証明文pf_αを作成する(ステップ1004)。
ISS-GEN5: 発行者公開鍵ipkを(n, a, g, h, pf_α)に、発行者秘密鍵iskを(p, q,
α)にセットし、ipk、iskを発行者記憶部120に書き込み(ステップ1005)、発行者鍵生成手順ISS-GENを終了する。
開示者鍵生成手段412による開示者鍵生成手順OPN-GENを説明する。図3は開示者鍵生成手順を示すフローチャートである。図3に示すように、開示者装置400は以下のOPN-GEN1、OPN-GEN2、OPN-GEN3を順に行う。
OPN-GEN1: Qを開示者記憶部420から読み込む(ステップ1011)。
OPN-GEN2: (Z/QZ)の元X_G、X_H、Γの元Fをランダムに選び、G = F^{X_G}、H =
F^{X_H}とする(ステップ1012)。
OPN-GEN3: 開示者公開鍵opkを(F, G, H)に、開示者秘密鍵oskを(X_G, X_H)にセットし、opk、oskを開示者記憶部420に書き込み(ステップ1013)、開示者鍵生成手順OPN-GENを終了する。
発行者装置100とユーザ装置200は相互通信を行いながら、それぞれ発行手順ISS-ISSUEと参加手順USR-JOINとを行う。まず、発行者装置100が後述の[発行手順1 ISS-ISSUE-1]を行い、続いて、ユーザ装置200が後述の[参加手順1 USR-JOIN-1]を行う。さらに、発行者装置100が後述の[発行手順2 ISS-ISSUE-2]を行い、最後にユーザ装置200が後述の[参加手順2 USR-JOIN-2]を行う。
上述の手順の途中で、メンバー公開鍵upkとメンバー秘密鍵uskが生成される。
メンバー公開鍵upkは何らかの方法で全ての装置に公開される。例えば、ネット上の公開掲示板にupkを載せるという方法が考えられるが、どのような方法でupkを公開してもよい。
署名生成手段214は、メッセージmを入力として受け取ったら、vk = ipk、sk = (vk, usk)として非特許文献1のSign(m, vk, sk)を行い、mに対する署名文σを得る。[検証手順 VER-VERIFY]
検証手段314は、メッセージmとmに対する署名文σとを受け取ったら、vk = ipkとして非特許文献1のVerify(vk, m, σ)を行う。
[開示手順 OPN-OPEN]
開示手段414は、メッセージmとmに対する署名文σとを受け取ったら、gusk = (ipk, opk)として非特許文献1のOpen(gusk, m, σ)を行う。
発行手段114による発行手順1 ISS-ISSUE-1を説明する。図4は発行手順1を示すフローチャートである。図4に示すように、発行者装置100は以下のISS-ISSUE-1-1、…、ISS-ISSUE-1-4を順に行う。
ISS-ISSUE-1-1: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)、isk = (p, q, α)を発行者記憶部120から読み込む(ステップ1021)。
ISS-ISSUE-1-2: l_eビットの非負整数eで、E = 2^{l_E}+eが素数となるものをランダムに選び、g’ = g^{1/E} mod n、h’ = h^{1/E} mod nを計算する(ステップ1022)。
ISS-ISSUE-1-3: ((n, g, h), g’)を入力して後述する[ElGamal暗号化手順]を行い、C_{g’}を作る。同様に((n, g, h), h’)を入力して[ElGamal暗号化手順]を行い、C_{h’}を作る(ステップ1023)。
ISS-ISSUE-1-4: (C_{g’}, C_{h’})をユーザ装置200に送信する(ステップ1024)。
参加手段212による参加手順1 USR-JOIN-1を説明する。図5は参加手順1の手順を示すフローチャートである。図5に示すように、ユーザ装置200は以下のUSR-JOIN-1-1,…, USR-JOIN-1-7を順に行う。
USR-JOIN-1-1: (C_{g’}, C_{h’})を受信する(ステップ1031)。
USR-JOIN-1-2: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)をユーザ記憶部220から読み込む(ステップ1032)。
USR-JOIN-1-3: (ipk, pf_α)を入力して後述する[pf_αの検証手順]を行う。[pf_αの検証手順]がrejectを出力したら参加手順を終了する(ステップ1033)。
USR-JOIN-1-4: (Z/QZ)の元x、(Z/nZ)の元r’をランダムに選び、Y = G^{x}を計算する(ステップ1034)。
USR-JOIN-1-5: (ipk, x, r’, C_{g’}, C_{h’})を入力して後述する[ElGamal暗号文線形積再暗号化手順]を行い、(C, r’’’)を作る(ステップ1035)。
USR-JOIN-1-6: (n, g, h, x, r’, C_{g’}, C_{h’}, Y, C)を入力して後述する[(Y, C)の正当性証明手順]を行い、pf_{Y, C}を作る(ステップ1036)。
USR-JOIN-1-7: (Y, C, pf_{Y, C})を発行者装置100に送信する(ステップ1037)。
発行手段114による発行手順2 ISS-ISSUE-2を説明する。図6は発行手順2を示すフローチャートである。図6に示すように、発行者装置100は以下のISS-ISSUE-2-1、…、ISS-ISSUE-2-5を順に行う。
ISS-ISSUE-2-1: (Y, C, pf_{Y, C})を受信する(ステップ1041)。
ISS-ISSUE-2-2: (n, g, h, C_{g’}, C_{h’}, Y, C, pf_{Y, C})を入力して後述する[(Y, C)の正当性証明検証手順]を行う。もし[(Y, C)の正当性証明検証手順]がrejectを出力したら参加手順を終了する(ステップ1042)。
ISS-ISSUE-2-3: (ipk, isk, C)を入力して後述する[ElGamal暗号文復号手順]を行って平文g’’を得、(Z/EZ)の元r’’をランダムに選び、y = a^{1/E}g’’h^{r’’}
mod nを計算する(ステップ1043)。
ISS-ISSUE-2-4: YをユーザのIDと組にして開示者装置400に送る(ステップ1044)。
ISS-ISSUE-2-5: (y, r’’)をユーザ装置200に送って(ステップ1045)、発行手順を終了する。
参加手段212による参加手順2 USR-JOIN-2を説明する。図7は参加手順2を示すフローチャートである。図7に示すように、ユーザ装置200は以下のUSR-JOIN-2-1,…, USR-JOIN-2-4を順に行う。
USR-JOIN-2-1: (y, r’’)を受信する(ステップ1051)。
USR-JOIN-2-2: r = r’+r’’を計算する(ステップ1052)。
USR-JOIN-2-3: ag^{x}h^{r} = y^Eが成立するかどうかを確認し、成立しなければ参加手順を終了する(ステップ1053)。
USR-JOIN-2-4: 成立すれば、メンバー公開鍵upkを(Y, y, E)に、メンバー秘密鍵uskを(x, r)にセットし、upk、uskをユーザ記憶部220に書き込み(ステップ1054)、参加手順を終了する。
発行者装置制御部110による、pf_αの生成手順を説明する。図8はpf_α生成手順を示すフローチャートである。図8に示すように、発行者装置100は以下のpf-α-GEN-1,…, pf-α-GEN-5を順に行う。
pf−α−GEN−1: 入力(α, g, h)を受け取る(ステップ1061)。
pf−α−GEN−2: l_n+l_sビットの乱数α_{0,1}を選び、h_{0, 1} = g^{α_{0, 1}} mod nを計算する(ステップ1062)。
l_cビットのビット列を出力するハッシュ関数をH_{l_c}と書く。
pf-α-GEN-3: c = H_{l_c}(g, h, h_{0,1})を計算する(ステップ1063)。
pf-α-GEN-4: α_{0, 2} = cα+ α_{0, 1} とする(ステップ1064)。
pf-α-GEN-5: pf_α = (h_{0, 1}, α_{0, 2})とする(ステップ1065)。
ユーザ装置制御部210による、pf_αの検証手順を説明する。図9はpf_α検証手順を示すフローチャートである。図9に示すように、ユーザ装置200は以下のpf-α-VER-1,…, pf-α-GEN-3を順に行う。
pf-α-VER-1: 入力(ipk, pf_α)を受け取り、ipk = (n, a, g, h, pf_α)、pf_α = (h_{0, 1}, α_{0, 2})とパースする(ステップ1071)。
pf-α-VER-2: c = H_{l_c}(g, h, h_{0, 1})を計算する(ステップ1072)。
pf-α-GEN-3: g^{α_{0,2}} = h^ch_{0, 1} mod nが成立すればacceptを、そうでなければrejectを出力する(ステップ1073)。
発行者装置制御部110によるElGamal暗号化手順を説明する。図10はElGamal暗号化手順を示すフローチャートである。図10に示すように、発行者装置100は以下のELGAMAL-ENC-1,…, ELGAMAL-ENC-3を順に行う。
ELGAMAL-ENC-1: 入力((n, g, h), g’)を受け取る(ステップ1081)。
ELGAMAL-ENC-2: l_Nビットの元r_1をランダムに選び、g_1 = g^{r_1} mod n、h_1 = g’h^{r_1} mod nとする(ステップ1082)。
ELGAMAL-ENC-3: C_{g’} = (g_1, h_1)とする(ステップ1083)。
このようにして、準同型性暗号方式の暗号化手段により暗号文を生成する。
発行者装置制御部110によるElGamal暗号文線形積再暗号化手順を説明する。図11はElGamal暗号文線形積再暗号化手順を示すフローチャートである。図11に示すように、発行者装置100は以下のELGAMAL-MUL-1,…,3を順に行う。
ELGAMAL-MUL-1: 入力(ipk, x, r’, C_{g’}, C_{h’})を受け取る(ステップ1091)。
ELGAMAL-MUL-2: ipk = (n, a, g, h, pf_α)、C_{g’} = (g_{1, g’}, h_{1, g’})、C_{h’} = (g_{1, h’}, h_{1, h’})とパースする(ステップ1092)。
ELGAMAL-MUL-3: l_nビットの自然数r’’’を選び、C = (g_{1, g’}^{x}h_{1, h’}^{r’}g^{r’’’}, h_{1, g’}^{x}g_{1, h’}^{r’} h^{r’’’})を計算する(ステップ1093)。
発行者装置制御部110によるElGamal暗号文復号手順を説明する。図12はElGamal暗号文復号手順を示すフローチャートである。図12に示すように、発行者装置100は以下のELGAMAL-DEC-1,…, ELGAMAL-DEC-3を順に行う。
ELGAMAL-DEC-1:入力(ipk, isk, C)を受け取る(ステップ1101)。
ELGAMAL-DEC-2: ipk = (n, a, g, h, pf_α)、isk = (p, q, α)、C = (g_C, h_C)とパースする(ステップ1102)。
ELGAMAL-DEC-3: g’’ = h_C/g_C^{α} mod nを計算する(ステップ1103)。
ユーザ装置制御部210による、(Y,C)の正当性証明手順を説明する。図13は(Y,C)正当性証明手順を示すフローチャートである。図13に示すように、ユーザ装置200は以下のPF-YC-GEN-1,…, PF-YC-GEN-5を順に行う。
PF-YC-GEN-1:(n, g, h, x, r’, r’’’, C_{g’}, C_{h’}, Y, C)を受け取り、C_{g’} = (g_{1, g’}, h_{1, g’})、C_{h’} = (g_{1, h’}, h_{1, h’})とパースする(ステップ1111)。
PF-YC-GEN-2: l_q+l_sビットの自然数x_{0,1}とl_n+l_sビットの自然数r’_{0, 1}、r’’’_{0, 1}とをランダムに選び、g_{1, g, 0, 1} = g_{1, g’}^{x_{0, 1}}g_{1, h’}^{r’_{0, 1}}g^{r’’’_{0, 1}}
mod n、h_{1, h, 0, 1} = h_{1, g’}^{x_{0, 1}}g_{1, h’}^{r’ {0, 1}}h^{r’’’_{0, 1}} mod n、Y_{0, 1} = G^{x_{0, 1}}とする(ステップ1112)。
PF-YC-GEN-3: c = H_{l_c}(n, g, h, C_{g’}, C_{h’}, Y, C, C_{g, 0, 1}, C_{h, 0, 1}, Y_{0, 1})を計算する(ステップ1113)。
PF-YC-GEN-4: x_{0, 2} = cx + x_{0, 1}、r’_{0, 2} = cr’+ r’_{0, 1}、r’’’_{0, 2} = c r’’’+ r’’’_{0, 1}を計算する(ステップ1114)。
PF-YC-GEN-5: pf_{Y, C}= (g_{1, g, 0, 1}, h_{1, h, 0, 1}, Y_{0, 1}, x_{0, 2}, r’_{0, 2}, r’’’_{0, 2})とする(ステップ1115)。
発行者装置制御部110による、(Y,C)の正当性証明検証手順を説明する。図14は(Y,C)正当性証明検証手順を示すフローチャートである。図14に示すように、発行者装置100は以下のPF-YC-VER-1,…, PF-YC-VER-3を順に行う。
PF-YC-VER-1: 入力(n, g, h, C_{g’}, C_{h’}, Y, C, pf_{Y, C})
を受け取り、C_{g’} = (g_{1, g’}, h_{1, g’})、C_{h’} = (g_{1, h’}, h_{1, h’})、C = (g_{1, g}, C_{1, h})、pf_{Y,
C} = (g_{1, g, 0, 1}, h_{1, h, 0, 1},Y_{0, 1}, x_{0, 2}, r’_{0, 2}, r’’’_{0, 2}) とパースする(ステップ1121)。
PF-YC-VER-2: c = H_{l_c}(n, g, h, C_{g’}, C_{h’}, Y, C, C_{g, 0, 1}, C_{h, 0, 1}, Y_{0, 1}) を計算する(ステップ1122)。
PF-YC-VER-3: g_{1, g}^cg_{1, g, 0, 1} = g_{1, g’}^{x_{0, 2}}g_{1, h’}^{r’_{0, 2}}g^{r’’’_{0, 2}} mod n、h_{1, h}^ch_{1, h, 0, 1} = h_{1, g’}^{x_{0, 2}}g_{1, h’}^{r’ {0, 2}}h^{r’’’_{0,2}} mod n、Y^cY_{0, 1} = G^{x_{0, 2}}、-2^{l_Q+l_c+l_s} ≦ x_{0, 2} ≦ 2^{l_Q+l_c+l_s} が成立したらacceptし、そうでなければrejectする(ステップ1123)。
[装置構成]
本実施形態のグループ署名システムについて説明する。装置構成については、実施形態1で説明した装置と同様であるため、ここではその詳細な説明を省略する。以下では、実施形態1と異なる処理について詳細に説明する。
Γ_1, Γ_2, Γ_Tを位数pの巡回群で、Γ_1×Γ_2からΓ_Tへの双線形写像eが定義されていて、しかもpのビット数がkであるものとする。さらにΓを位数pの巡回群とする。
各装置の記憶部にはΓ_1, Γ_2, Γ_Tを記述するパラメータと、pとが事前に入力されているものとする。どのような方法でΓ_1, Γ_2, Γ_Tを記述するパラメータと、pとが入力されるのかは問わない。
発行者鍵生成手段112による発行者鍵生成手順ISS-GENを説明する。図15は発行者鍵生成手順を示すフローチャートである。図15に示すように、発行者装置100は以下のISS-GEN-1,…,ISS-GEN-3を順に行う。
ISS-GEN-1: Γ_1の元G_1, H, K, Γ_2の元G_2、および(Z/pZ)の元wをランダムに選び、Y = wG_2とする(ステップ1201)。
ISS-GEN-2: G_1を入力して後述する[Linear暗号方式鍵生成手順]を行い、Linear暗号方式公開鍵lpkとLinear暗号方式秘密鍵lskを作る(ステップ1202)。
ISS-GEN-3: 発行者公開鍵ipkを(G_1, G_2, H, K, Y, lpk)にセットし、発行者秘密鍵iskを(w, lsk)にセットし、ipkとiskを発行者記憶部120に記憶する(ステップ1203)。
開示者鍵生成手段412による開示者鍵生成手順OPN-GENを説明する。図16は開示者鍵生成手順を示すフローチャートである。図16に示すように、開示者装置400は以下のOPN-GEN-1、OPN-GEN-2を順に行う。
OPN-GEN-1: Γの元G、(Z/pZ)の元s, tをランダムに選び、S = sG, T = tGとする(ステップ1211)。
OPN-GEN-2: 開示者公開鍵opkを(G, Γの元G、S, T)にセットし、開示者秘密鍵oskを(s, t)にセットし、opk、oskを開示者記憶部420に書き込む(ステップ1212)。
発行者装置100とユーザ装置200は相互通信を行いながら、それぞれ発行手順 ISS-ISSUEと参加手順USR-JOINとを行う。
まず、発行者装置100が後述の[発行手順1 ISS-ISSUE-1]を行い、続いて、ユーザ装置200が後述の[参加手順1 USR-JOIN-1]を行う。さらに、発行者装置100が後述の[発行手順2 ISS-ISSUE-2]を行い、最後にユーザ装置200が後述の[参加手順2 USR-JOIN-2]を行う。
上述の手順の途中で、メンバー公開鍵upkとメンバー秘密鍵uskが生成される。
メンバー公開鍵upkは何らかの方法で全ての装置に公開される。例えば、ネット上の公開掲示板にupkを載せるという方法が考えられるが、どのような方法でupkを公開してもよい。
署名生成手段214は、メッセージmを入力として受け取ったら、mpk = ipk、tpk =
opk、cert_U = upk、sk_U = uskとして非特許文献2のSign(m, upk, tpk, cert_U, sk_U)を行い、mに対する署名文gsを得る。
[検証手順 VER-VERIFY]
検証手段314は、メッセージmとmに対する署名文gsとを受け取ったら、mpk = ipk、tpk = opkとしとして非特許文献2のVerify(m, gs, mpk, tpk)を行う。
[開示手順 OPN-OPEN]
開示手段414は、メッセージmとmに対する署名文gsとを受け取ったら、mpk = ipk、tpk = opk、tsk = oskとして非特許文献2のOpen(m, σ, mpk, tpk, tsk)を行う。
発行手段114による発行手順1 ISS-ISSUE-1を説明する。図17は発行手順1を示すフローチャートである。図17に示すように、発行者装置100は以下のISS-ISSUE-1-1,…, ISS-ISSUE-1-4を順に行う。
ISS-ISSUE-1-1: ipk = (G_1, G_2, H, K, Y, lpk)、opk = (G, S, T)、isk = (w, lsk)を発行者記憶部120から読み込む(ステップ1221)。
ISS-ISSUE-1-2: (Z/pZ)の元y_Uをランダムに選び、H’ = (1/(w+y_U)) H、K’ =
(1/(w+y_U)) Kを計算する(ステップ1222)。
ISS-ISSUE-1-3: (G_1, lpk, H’)を入力して後述する[Linear暗号化手順]を行い、Cipher_{H’}を作る。同様に(G_1, lpk, K’)を入力して[Linear暗号化手順]を行い、Cipher_{K’}を作る(ステップ1223)。
ISS-ISSUE-1-4: (Cipher_{H’}, Cipher_{K’})をユーザ装置200に送信する(ステップ1224)。
参加手段212による参加手順1 USR-JOIN-1を説明する。図18は参加手順1を示すフローチャートである。図18に示すように、ユーザ装置200は以下のUSR-JOIN-1-1,…, USR-JOIN-1-6を順に行う。
USR-JOIN-1-1: (Cipher_{H’}, Cipher_{K’})を受信する(ステップ1231)。
USR-JOIN-1-2: ipk = (G_1, G_2, H, K, Y, lpk)、opk = (G, S, T)をユーザ記憶部220から読み込む(ステップ1232)。
USR-JOIN-1-3: (Z/pZ)の元x_U、z’_Uをランダムに選び、Ider_U = x_U G、を計算する(ステップ1233)。
USR-JOIN-1-4: (G_1, x_U, z’_U, Cipher_{H’}, Cipher_{K’})を入力して後述する[Linear暗号文線形積再暗号化手順]を行い、(Cipher, β, β’)を作る(ステップ1234)。
USR-JOIN-1-5: (G, lpk, x_U, z’_U, β, β’, Cipher_{H’}, Cipher_{K’}, Ider_U, Cipher)を入力して後述する[(Ider_U, Cipher)の正当性証明手順]を行い、pf_{Ider_U, Cipher}を作る(ステップ1235)。
USR-JOIN-1-6: (Ider_U, Cipher, pf_{Ider_U, Cipher})を発行者装置100に送信する(ステップ1236)。
発行手段114による発行手順2 ISS-ISSUE-2を説明する。図19は発行手順2を示すフローチャートである。図19に示すように、発行者装置100は以下のISS-ISSUE-2-1、…、ISS-ISSUE-2-5を順に行う。
ISS-ISSUE-2-1: (Ider_U, Cipher, pf_{Ider_U, Cipher})を受信する(ステップ1241)。
ISS-ISSUE-2-2: (G, lpk, Cipher_{H’}, Cipher_{K’}, Ider_U, Cipher,
pf_{Ider_U, Cipher})を入力して後述する[(Ider_U, Cipher)の正当性証明検証手順]を行う。もし[(Ider_U, Cipher)の正当性証明検証手順]がrejectを出力したら参加手順を終了する(ステップ1242)。
ISS-ISSUE-2-3: (G_1, lpk, lsk, Cipher)を入力して後述する[Linear暗号文復号手順]を行って平文G_1’’を得、(Z/eZ)の元z’’_Uをランダムに選び、A_U = (1/(w+y_U)) G_1- G_1’’- z’’_UKを計算する(ステップ1243)。なお、平文G_1’’は実施形態1では平文g’’に相当する。
ISS-ISSUE-2-4: Ider_UをユーザのIDと組にして開示者装置400に送る(ステップ1244)。
ISS-ISSUE-2-5: (A_U, z’’_U)をユーザ装置200に送って(ステップ1245)、発行手順を終了する。
参加手段212による参加手順2 USR-JOIN-2を説明する。図20は参加手順2を示すフローチャートである。図20に示すように、ユーザ装置200は以下のUSR-JOIN-2-1,…, USR-JOIN-2-4を順に行う。
USR-JOIN-2-1: (A_U, z’’_U)を受信する(ステップ1251)。
USR-JOIN-2-2: z_U = z’_U+ z’’_U mod pを計算する(ステップ1252)。
USR-JOIN-2-3: e(A_U, Y+ y_UG_1)e(x_UH, G_2)e(z_UK, G_2) = e(G_1,
G_2)が成立するかどうかを確認し、成立しなければ参加手順を終了する(ステップ1253)。
USR-JOIN-2-4: 成立すれば、メンバー公開鍵upkを(A_U, y_U, z_U)に、メンバー秘密鍵uskを(x_U, z_U)にセットし、upk、uskをユーザ記憶部220に書き込み(ステップ1254)、参加手順を終了する。
発行者装置制御部110によるLinear暗号方式鍵生成手順を説明する。図21はLinear暗号方式鍵生成手順を示すフローチャートである。図21に示すように、発行者装置100は次のLIN-GEN-1,…, LIN-GEN-3を順に行う。
LIN-GEN-1: 入力G_1を読み込む(ステップ1261)。
LIN-GEN-2: (Z/pZ)の元α、α’をランダムに選び、L = (1/α)G_1, L’ = (1/α’)G_1とする(ステップ1262)。
LIN-GEN-3: Liniar暗号方式公開鍵lpkを(L, L’)にセットし、Liniar暗号方式秘密鍵lskを(α, α’)にセットする(ステップ1263)。
発行者装置制御部110によるLinear暗号化手順を説明する。図22はLinear暗号化手順を示すフローチャートである。図22に示すように、発行者装置100は次のLIN-ENC-1,LIN-ENC-2を順に行う。
LIN-ENC-1: 入力(G_1, lpk, H’)を受け取り、lpk = (L, L’)とパースする(ステップ1271)。
LIN-ENC-2: (Z/pZ)の元γ, γ’をランダムに選び、 (G_{Cipher, H’}, L_{Cipher, H’}, L’_{Cipher, H’}) = (H’+ (γ+ γ’)G, γL, γ’L’)とし、Cipher_{H’} = (G_{Cipher, H’}, L_{Cipher, H’}, L’_{Cipher, H’})とする(ステップ1272)。
ユーザ装置制御部210によるLinear暗号文線形和再暗号化手順を説明する。図23はLinear暗号文線形和再暗号化手順を示すフローチャートである。図23に示すように、ユーザ装置200は次のLIN-SUM-1,LIN-SUM-2を順に行う。
LIN-SUM-1: 入力(G_1, x_U, z’_U, Cipher_{H’}, Cipher_{K’})を受け取り、lpk = (L, L’)とパースし、Cipher_{H’} = (G_{Cipher, H’}, L_{Cipher, H’}, L’_{Cipher, H’})とパースし、Cipher_{K’} = (G_{Cipher, K’}, L_{Cipher, K’}, L’_{Cipher, K’})とパースする(ステップ1281)。
LIN-SUM-2: (Z/pZ)の元β、β’をランダムに選び、(G_{Cipher}, L_{Cipher},
L’_{Cipher}) = (x_UG_{Cipher, H’}+ z’_UG_{Cipher, K’}+ (β+ β’)G_1, x_UL_{Cipher, H’}+ z’_UL_{Cipher, K’}+βL, x_UL’_{Cipher, H’}+ z’_UL’_{Cipher, K’}+ β’L’)とし、Cipher = (G_{Cipher}, L_{Cipher}, L’_{Cipher})とする(ステップ1282)。
このようにして、平文を定数倍したものの和から暗号文を生成している。なお、実施形態1では、平文をべき乗剰余したものの積から暗号文を生成している。実施形態1の再暗号化手順を本実施形態に適用してもよく、実施形態1に本実施形態の再暗号化手順を適用してもよい。
発行者装置制御部110によるLinear暗号文復号手順を説明する。図24はLinear暗号文復号手順を示すフローチャートである。図24に示すように、発行者装置100は次のLIN-DEC-1,LIN-DEC-2を順に行う。
LIN-DEC-1: 入力(G_1, lpk, lsk, Cipher)を受け取り、lpk = (L, L’)とパース氏、lsk = (α, α’)とパースし、Cipher = (G_{Cipher}, L_{Cipher}, L’_{Cipher})とパースする(ステップ1291)。
LIN-DEC-2: G_1’’ = G_{Cipher}-αL_{Cipher}-α’L’_{Cipher}とする(ステップ1292)。
ユーザ装置制御部210による、(Ider_U, Cipher)の正当性証明手順を説明する。図25は(Ider_U, Cipher)正当性証明手順を示すフローチャートである。図25に示すように、ユーザ装置200は以下のID-CI-PF-GEN-1,…, ID-CI-PF-GEN-5を順に行う。
ID-CI-PF-GEN-1 : 入力(G, lpk, x_U, z’_U, β, β’, Cipher_{H’}, Cipher_{K’}, Ider_U, Cipher)を受け取り、lpkを(L, L’)とパースし、Cipher_{H’}を(G_{Cipher, H’}, L_{Cipher, H’}, L’_{Cipher, H’})とパースし、Cipher_{K’}を(G_{Cipher, K’}, L_{Cipher, K’}, L’_{Cipher, K’})とパースする(ステップ1301)。
ID-CI-PF-GEN-2 : (Z/pZ)の元x_{U, 0, 1}, z’_{U, 0, 1}, β_{U, 0, 1}, β’_{U, 0, 1}をランダムに選び、(G_{Cipher, 0, 1}, L_{Cipher, 0, 1}, L’_{Cipher, 0, 1}) = (x_{U, 0, 1}G_{Cipher, H’}+ z’_{U, 0, 1}G_{Cipher, K’}+ (β_{0, 1}+β’_{0, 1})G_1,
x_{U, 0, 1}L_{Cipher, H’}+ z’_{U, 0, 1}L_{Cipher, K’}+ β_{0, 1}L, x_{U, 0, 1}L’_{Cipher, H’}+ z’_{U, 0, 1}L’_{Cipher, K’}+ β’_{0, 1}L’)とし、Ider_{U, 0, 1} = x_{U, 0,
1}Gとする(ステップ1302)。
H_{Z/pZ}を、(Z/pZ)に値をとるハッシュ関数とする。
ID-CI-PF-GEN-4: x_{U, 0, 2} = cx_U + x_{U, 0, 1} mod p、z’_{U, 0, 2} = cz’_U + z’_{U, 0, 2} mod p、β_{0, 2}=cβ + β_{0, 1} mod p、 β’_{0, 2} = cβ’ + β’_{0, 1} mod pとする(ステップ1304)。
ID-CI-PF-GEN-5: pf_{Ider_U, Cipher} = (G_{Cipher, 0, 1}, L_{Cipher, 0, 1}, L’_{Cipher, 0, 1}, Ider_{U, 0, 1}, x_{U, 0, 2},
z’_{U, 0, 2}, β_{0, 2}, β’_{0, 2})とする(ステップ1305)。
発行者装置制御部110による、(Ider_U,Cipher)の正当性証明検証手順を説明する。図26は(Ider_U,Cipher)正当性証明検証手順を示すフローチャートである。図26に示すように、発行者装置100は以下のID-CI-PF-VER-1,…, ID-CI-PF-VER-3を順に行う。ID-CI-PF-VER-1: 入力(G, lpk, Cipher_{H’}, Cipher_{K’}, Ider_U, Cipher, pf_{Ider_U, Cipher})を受け取り、lpk = (L, L’)とパースし、Cipher
= (G_{Cipher}, L_{Cipher}, L’_{Cipher})とパースし、Cipher_{H’} = (G_{Cipher, H’}, L_{Cipher, H’}, L’_{Cipher, H’})とパースし、Cipher_{K’} = (G_{Cipher, K’}, L_{Cipher, K’}, L’_{Cipher, K’})とパースし、pf_{Ider_U, Cipher } = (G_{Cipher, 0, 1},
L_{Cipher, 0, 1}, L’_{Cipher, 0, 1}, Ider_{U, 0, 1}, x_{U, 0, 2}, z’_{U, 0, 2}, β_{0, 2}, β’_{0, 2}) とパースする(ステップ1311)。
ID-CI-PF-VER-3: (cG_{Cipher}+ G_{Cipher, 0, 1}, cL_{Cipher}+ L_{Cipher, 0, 1}, cL’_{Cipher}+ L’_{Cipher, 0, 1}) = (x_{U, 0, 2}G_{Cipher, H’}+ z’_{U, 0, 2}G_{Cipher, K’}+ (β_{0, 2}+β’_{0, 2})G_1, x_{U, 0, 2}L_{Cipher, H’}+z’_{U, 0, 2}L_{Cipher, K’}+ β_{0, 2}L, x_{U, 0, 2}L’_{Cipher, H’}+z’_{U, 0, 2}L’_{Cipher, K’}+β’_{0, 2}L’) であり、しかもc・Ider_{U, 0, 1}+ Ider_{U, 0, 2} = x_{U, 0, 2}G であればacceptを出力し、そうでなければrejectを出力する(ステップ1313)。
[装置構成]
本実施形態のグループ署名システムについて説明する。装置構成については、実施形態1で説明した装置と同様であるため、ここではその詳細な説明を省略する。以下では、実施形態1と異なる処理について詳細に説明する。
Γを位数Qの巡回群で、Qのビット数がl_Qビットであるものとする。として例えば、(Z/PZ)の乗法群や、楕円曲線群を用いる事ができる。ここではΓが(Z/PZ)の乗法群である場合を例にとって説明する。
各装置の記憶部にはΓを記述するパラメータと、Qとが事前に入力されているものとする。どのような方法でΓを記述するパラメータと、Qとが入力されるのかは問わない。
発行鍵生成手段112による発行者鍵生成手順ISS-GENを説明する。図27は発行者鍵生成手順を示すフローチャートである。図27に示すように、発行者装置100は以下のISS-GEN1,…,ISS-GEN5を順に行う。
ISS-GEN1: セキュリティ・パラメータl_nを発行者記憶部120から読み込む(ステップ1401)。
ISS-GEN2: 素数p,qで、その積n=pqがl_nビットであるものを選ぶ(ステップ1402)。
ISS-GEN3: QR(n)の元a, g、およびn以下の非負整数αをランダムに選び、h = g^α mod nを計算する(ステップ1403)。
ISS-GEN4: (α, g, h)を入力し、実施形態1で説明した[pf_αの生成手順]を行い、αの知識の証明文pf_αを作成する(ステップ1404)。
ISS-GEN5: 発行者公開鍵ipkを(n, a, g, h, pf_α)に、発行者秘密鍵をiskを(p, q, α)にセットし、ipk、iskを発行者記憶部120に書き込み、発行者鍵生成手順ISS-GENを終了する(ステップ1405)。
開示者鍵生成手段412による開示者鍵生成手順OPN-GENを説明する。図28は開示者鍵生成手順を示すフローチャートである。図28に示すように、開示者装置400は以下のOPN-GEN1、OPN-GEN2、OPN-GEN3を順に行う。
OPN-GEN1: Qを開示者記憶部420から読み込む(ステップ1411)。
OPN-GEN2: (Z/qZ)の元X_G、X_H、Γの元Fをランダムに選び、G = F^{X_G}、H =
F^{X_H}とする(ステップ1412)。
OPN-GEN3: 開示者公開鍵opkを(F, G, H)に、開示者秘密鍵oskを(X_G, X_H)にセットし、opk、oskを開示者記憶部420に書き込み(ステップ1413)、開示者鍵生成手順OPN-GENを終了する。
発行者装置100とユーザ装置200は相互通信を行いながら、それぞれ発行手順 ISS-ISSUEと参加手順USR-JOINとを行う。
まず、ユーザ装置200が後述の[参加手順1 USR-JOIN-1]を行い、続いて、発行者装置100が後述の[発行手順1 ISS-ISSUE-1]を行う。さらに、ユーザ装置200が後述の[参加手順2 USR-JOIN-2]を行う。
上述の手順の途中で、メンバー公開鍵upkとメンバー秘密鍵uskが生成される。
メンバー公開鍵upkは何らかの方法で全ての装置に公開される。例えば、ネット上の公開掲示板にupkを載せるという方法が考えられるが、どのような方法でupkを公開してもよい。
署名生成手段214は、メッセージmを入力として受け取ったら、upk=(x, e, y)とパースし、(Z/NZ)の元βをランダムに選び、(F’, G’, H’)=(F^β, F^xG^β, F^xH^β)を計算し、(G’, H’)の正当性証明文pf_{(G’, H’)}を計算する。
[検証手順 VER-VERIFY]
検証手段314は、pf_{(G’, H’)}の正当性を検証する。
[開示手順 OPN-OPEN]
開示手段414は、G’/F’^{X_G}を計算し、メンバー公開鍵upk = (x, e, y)がG’/F’^{X_G} = G^xを満たすユーザのIDを出力する。
参加手段212による参加手順1 USR-JOIN-1を説明する。図29は参加手順1を示すフローチャートである。図29に示すように、ユーザ装置200は次のUSR-JOIN-1-1,…,
USR-JOIN-1-3を順に行う。
USR-JOIN-1-1: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)をユーザ記憶部220から読み込む(ステップ1421)。
USR-JOIN-1-2: 素数X_1, X_2で、その積x = X_1X_2がl_nビットであるものを選ぶ(ステップ1422)。
USR-JOIN-1-3: xを発行者装置100に送信する(ステップ1423)。
発行手段212による発行手順1 ISS-ISSUE-1を説明する。図30は発行手順1を示すフローチャートである。図30に示すように、発行者装置100は次のISS-ISSUE-1-1,…, ISS-ISSUE-1-5を順に行う。
ISS-ISSUE-1-1: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)、isk = (p, q, α)を発行者記憶部120から読み込む(ステップ1431)。
ISS-ISSUE-1-2: xがl_nビット未満であるかどうかを調べ、もしそうでないなら発行手順ISS-ISSUEを終了する(ステップ1432)。
ISS-ISSUE-1-3: l_eビットの非負整数eで、E = 2^{l_E} + eが素数となるものとをランダムに選び、y = (ag^x)^{1/E} mod nを計算する(ステップ1433)。つまり、(ag^x)^{1/E}に対してRSAモジュラスnを法として剰余した値を求める。
ISS-ISSUE-1-4: xをユーザのIDと組にして開示者装置400に送る(ステップ1434)。
ISS-ISSUE-1-5: (E, y)をユーザ装置200に送信する(ステップ1435)。
参加手段212による参加手順2 USR-JOIN-2を説明する。図31は参加手順2を示すフローチャートである。図31に示すように、ユーザ装置200は次のUSR-JOIN-2-1, USR-JOIN-2-2を順に行う。
USR-JOIN-2-1: ag^x = y^Eが成立するかどうかを確認し、成立しなければ参加手順を終了する(ステップ1441)。つまり、2つの素数の積であるRSAモジュラスを法として等しいか否かを判定する。
USR-JOIN-2-2: 成立すれば、メンバー公開鍵upkを(Y, y, E)に、メンバー秘密鍵uskを(x, r)にセットし、upk、uskをユーザ記憶部220に書き込み(ステップ1442)、参加手順を終了する。
本実施形態のグループ署名システムについて説明する。装置構成については、実施形態1で説明した装置と同様であるため、ここではその詳細な説明を省略する。以下に、本実施形態のグループ署名システムによる鍵発行方法について説明する。本実施形態では、発行者装置によるデータの秘匿化処理の仕方を実施形態1から3とは異なる方法を用いている。
N]の処理を行う。
発行者装置100とユーザ装置200は相互通信を行いながら、それぞれ発行手順ISS-ISSUEと参加手順USR-JOINとを行う。まず、発行者装置100が後述の[発行手順1 ISS-ISSUE-1]を行い、続いて、ユーザ装置200が後述の[参加手順1 USR-JOIN-1]を行う。さらに、発行者装置100が後述の[発行手順2 ISS-ISSUE-2]を行い、最後にユーザ装置200が後述の[参加手順2 USR-JOIN-2]を行う。
上述の手順の途中で、メンバー公開鍵upkとメンバー秘密鍵uskが生成される。
メンバー公開鍵upkは何らかの方法で全ての装置に公開される。例えば、ネット上の公開掲示板にupkを載せるという方法が考えられるが、どのような方法でupkを公開してもよい。
そして、実施形態1と同様にして、[署名手順 USR-SIGN]、[検証手順 VER-VERIFY]および[開示手順 OPN-OPEN]の処理を行う。
発行手段114による発行手順1 ISS-ISSUE-1を説明する。図32は発行手順1を示すフローチャートである。図32に示すように、発行者装置100は以下のISS-ISSUE-1-1,…, ISS-ISSUE-1-4を順に行う。
ISS-ISSUE-1-1: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)、isk = (p, q, α)を発行者記憶部120から読み込む(ステップ1451)。
ISS-ISSUE-1-2: l_eビットの非負整数eで、E = 2^{l_E}+eが素数となるものをランダムに選ぶ。さらに、l_n+l_sビットの非負整数ρをランダムに選び、g’ = g^{ρ/E} mod n、h’ = h^{ρ/E} mod nを計算する(ステップ1452)。
ISS-ISSUE-1-3: (g’, h’)をユーザ装置200に送信する(ステップ1453)。
参加手段212による参加手順1 USR-JOIN-1を説明する。図33は参加手順1の手順を示すフローチャートである。図33に示すように、ユーザ装置200は以下のUSR-JOIN-1-1,…, USR-JOIN-1-7を順に行う。
USR-JOIN-1-1: (g’, h’)を受信する(ステップ1461)。
USR-JOIN-1-2: ipk = (n, a, g, h, pf_α)、opk = (F, G, H)をユーザ記憶部220から読み込む(ステップ1462)。
USR-JOIN-1-3: (ipk, pf_α)を入力して後述する[pf_αの検証手順]を行う。[pf_αの検証手順]がrejectを出力したら参加手順を終了する(ステップ1463)。
USR-JOIN-1-4: (Z/QZ)の元x、(Z/nZ)の元r’をランダムに選び、Y = G^{x}を計算する(ステップ1464)。
USR-JOIN-1-5: C = g’^{x}h’^{r’} mod nを計算する(ステップ1465)。
USR-JOIN-1-6: (n, g, h, x, r’, g’, h’, Y, C)を入力して後述する[(Y, C)の正当性証明手順]を行い、pf_{Y, C}を作る(ステップ1466)。
USR-JOIN-1-7: (Y, C, pf_{Y, C})を発行者装置100に送信する(ステップ1467)。
発行手段114による発行手順2 ISS-ISSUE-2を説明する。図34は発行手順2を示すフローチャートである。図34に示すように、発行者装置100は以下のISS-ISSUE-2-1,…, ISS-ISSUE-2-5を順に行う。
ISS-ISSUE-2-1: (Y, C, pf_{Y, C})を受信する(ステップ1471)。
ISS-ISSUE-2-2: (n, g, h, g’, h’, Y, C, pf_{Y, C})を入力して後述する[(Y, C)の正当性証明検証手順]を行う。もし[(Y, C)の正当性証明検証手順]がrejectを出力したら参加手順を終了する(ステップ1472)。
ISS-ISSUE-2-3: g’’ = g’^{1/ρ}を計算し、(Z/EZ)の元r’’をランダムに選び、y = a^{1/E}g’’h^{r’’} mod nを計算する(ステップ1473)。
ISS-ISSUE-2-4: YをユーザのIDと組にして開示者装置400に送る(ステップ1474)。
ISS-ISSUE-2-5: (y, r’’)をユーザ装置200に送って(ステップ1475)、発行手順を終了する。
ユーザ装置制御部210による、(Y,C)の正当性証明手順を説明する。図35は(Y,C)のフローチャートである。図35に示すように、ユーザ装置200は以下のPF-YC-GEN-1,…, PF-YC-GEN-5を順に行う。
PF-YC-GEN-1: (n, g, h, x, r’, g’, h’, Y, C)を受け取る(ステップ1481)。
PF-YC-GEN-2: l_q+l_sビットの自然数x_{0,1}とl_n+l_sビットの自然数r’_{0,1}をランダムに選び、Y_{0,1} = G^{x_{0,1}}、C_{0,1} = g’^{x_{0,1}}h’^{r’_{0,1}}を計算する(ステップ1482)。
PF-YC-GEN-3: c = H_{l_c}(n, g, h, g’, h’, Y, C, Y_{0,1}, C_{0,1})を計算する(ステップ1483)。
PF-YC-GEN-4: x_{0,2} = cx+x_{0,1}、r’_{0,2} = cr’+r’_{0,1}を計算する(ステップ1484)。
PF-YC-GEN-5: pf_{Y,C} = (c, x_{0,2}, r’_{0,2})とする(ステップ1485)。
発行者装置制御部110による、(Y,C)の正当性証明検証手順を説明する。図36は(Y,C)正当性証明検証手順を示すフローチャートである。図36に示すように、発行者装置100は以下のPF-YC-VER-1,…, PF-YC-VER-3を順に行う。
PF-YC-VER-1: (n, g, h, g’, h’, Y, C, pf_{Y, C})を受け取り、pf_{Y, C} = (c,x_{0,2},r’_{0,2})とパースする(ステップ1491)。
PF-YC-VER-2: Y’_{0,1} = Y^{-c} G^{x_{0,2}}とC’_{0,1} = C^{-c} g’^{x_{0,2}}h’^{r’_{0,2}}を計算する(ステップ1492)。
PF-YC-VER-3: c = H_{l_c}(n, g, h, g’, h’, Y, C, Y’_{0,1}, C’_{0,1})が成立すればacceptし、そうでなければrejectする(ステップ1493)。
本実施形態のグループ署名システムについて説明する。装置構成については、実施形態1で説明した装置と同様であるため、ここではその詳細な説明を省略する。以下では、実施形態1と異なる構成について説明する。
Γ_1, Γ_2, Γ_Tを位数pの巡回群で、Γ_1×Γ_2からΓ_Tへの双線形写像eが定義されていて、しかもpのビット数がkであるものとする。さらにΓを位数pの巡回群とする。
各装置の記憶部にはΓ_1, Γ_2, Γ_Tを記述するパラメータと、pとが事前に入力されているものとする。どのような方法でΓ_1, Γ_2, Γ_Tを記述するパラメータと、pとが入力されるのかは問わない。
発行者鍵生成手段112による発行者鍵生成手順ISS-GENを説明する。図37は発行者鍵生成手順を示すフローチャートである。図37に示すように、発行者装置100は以下のISS-GEN-1とISS-GEN-2を順に行う。
ISS-GEN-1: Γ_1の元G_1, H, K, Γ_2の元G_2、および(Z/pZ)の元wをランダムに選び 、Y = wG_2とする(ステップ1501)。
ISS-GEN-2: 発行者公開鍵ipkを(G_1, G_2, H, K, Y)にセットし、発行者秘密鍵iskをwにセットし、ipkとiskを発行者記憶部120に記憶する(ステップ1502)。
また、開示者装置400は、実施形態2と同様にして[開示者鍵生成手順 OPN-GEN]の処理を行う。
発行者装置100とユーザ装置200は相互通信を行いながら、それぞれ発行手順 ISS-ISSUEと参加手順USR-JOINとを行う。
まず、発行者装置100が後述の[発行手順1 ISS-ISSUE-1]を行い、続いて、ユーザ装置200が後述の[参加手順1 USR-JOIN-1]を行う。さらに、発行者装置100が後述の[発行手順2 ISS-ISSUE-2]を行い、最後にユーザ装置200が後述の[参加手順2 USR-JOIN-2]を行う。
上述の手順の途中で、メンバー公開鍵upkとメンバー秘密鍵uskが生成される。
メンバー公開鍵upkは何らかの方法で全ての装置に公開される。例えば、ネット上の公開掲示板にupkを載せるという方法が考えられるが、どのような方法でupkを公開してもよい。
そして、実施形態2と同様にして、[署名手順 USR-SIGN]、[検証手順 VER-VERIFY]および[開示手順 OPN-OPEN]の処理を行う。
発行手段114による発行手順1 ISS-ISSUE-1を説明する。図38は発行手順1を示すフローチャートである。図38に示すように、発行者装置100は以下のISS-ISSUE-1-1,ISS-ISSUE-1-2を順に行う。
ISS-ISSUE-1-1: ipk = (G_1, G_2, H, K, Y)、opk = (G, S, T)、isk = (w, lsk)を発行者記憶部120から読み込む(ステップ1511)。
ISS-ISSUE-1-2: (Z/pZ)の元y_Uとρとをランダムに選び、H’ = (ρ/(w+y_U)) H、K’ = (ρ/(w+y_U)) Kを計算し、H’とK’とをユーザ装置200に送信する(ステップ1512)。
参加手段212による参加手順1 USR-JOIN-1を説明する。図39は参加手順1を示すフローチャートである。図39に示すように、ユーザ装置200は以下のUSR-JOIN-1-1,…, USR-JOIN-1-6を順に行う。
USR-JOIN-1-1: (H’,K’)を受信する(ステップ1521)。
USR-JOIN-1-2: ipk = (G_1, G_2, H, K, Y)、opk = (G, S, T)をユーザ記憶部220から読み込む(ステップ1522)。
USR-JOIN-1-3: (Z/pZ)の元x_U、z’_Uをランダムに選び、Ider_U = x_U G、を計算する(ステップ1523)。
USR-JOIN-1-4: C = H’^{x_U}K’^{z’_U}を計算する(ステップ1524)。USR-JOIN-1-5: (G,H’,K’, x_U, z'_U, Ider_U, C)を入力して後述する[(Ider_U, C)の正当性証明手順]を行い、pf_{Ider_U, C}を作る(ステップ1525)。USR-JOIN-1-6: (Ider_U, Cipher, pf_{Ider_U, C})を発行者装置100に送信する(ステップ1526)。
発行手段114による発行手順2 ISS-ISSUE-2を説明する。図40は発行手順2を示すフローチャートである。図40に示すように、発行者装置100は以下のISS-ISSUE-2-1,…, ISS-ISSUE-2-5を順に行う。
ISS-ISSUE-2-1: (Ider_U, Cipher, pf_{Ider_U, C})を受信する(ステップ1531)。
ISS-ISSUE-2-2: (G, H’,K’, Ider_U, C, pf_{Ider_U, C})を入力して後述する[(Ider_U, C)の正当性証明検証手順]を行う。もし[(Ider_U, C)の正当性証明検証手順]がrejectを出力したら参加手順を終了する(ステップ1532)。
ISS-ISSUE-2-3: G_1’’ = C^{1/ρ}を計算し、(Z/eZ)の元z’’_Uをランダムに選び、A_U = (1/(w+y_U)) G_1- G_1’’- z’’_UKを計算する(ステップ1533)。なお、G_1’’は実施形態4ではg''に相当し、秘匿化が解除されたデータである。
ISS-ISSUE-2-4: Ider_UをユーザのIDと組にして開示者装置400に送る(ステップ1534)。
ISS-ISSUE-2-5: (A_U, z’’_U)をユーザ装置200に送って(ステップ1535)、発行手順を終了する。
参加手段212による[(Ider_U,C)の正当性証明手順]を説明する。図41は[(Ider_U,C)の正当性証明手順]を示すフローチャートである。図41に示すように、ユーザ装置200は以下のUSR-PF-1,…, USR-PF-5を順に行う。
USR-PF-1: (G, H’, K’, x_U, z’_U, Ider_U, C)を受け取る(ステップ1541)。
USR-PF-2: (Z/qZ)の元x_{U,0,1}, z’_{U,0,1}をランダムに選び、C_{0,1} = H’^{x_{U,0,1}}K’^{z’_{U,0,1}}を計算する(ステップ1542)。
USR-PF-3: c = H_{Z/qZ} (G, H’, K’, x_U, z’_U, Ider_U, C, C_{0,1})を計算する(ステップ1543)。
USR-PF-4: x_{U,0,2} = cx_U+x_{U,0,2}、z_{U,0,2} = cz_U+z_{U,0,2}を計算する(ステップ1544)。
USR-PF-5: pf_{Ider_U,C} = (c,x_{U,0,2}, z_{U,0,2})とする(ステップ1545)。
発行手段114による[(Ider_U, C)の正当性証明検証手順]を説明する。図42は[(Ider_U, C)の正当性証明検証手順]を示すフローチャートである。図42に示すように、発行者装置100は以下のUSR-VER-1,…, USR-VER-4を順に行う。
USR-VER-1: (G, H’, K’, Ider_U, C, pf_{Ider_U,C})を受け取る(ステップ1551)。
USR-VER-2: pf_{Ider_U,C} = (c,x_{U,0,2},z_{U,0,2})とパースする(ステップ1552)。
USR-VER-3: C’_{0,1} = H’^{x_{U,0,2}}K’^{z’_{U,0,2}}C^{-c}を計算する(ステップ1553)。
USR-VER-4: c = H_{Z/qZ}(G, H’, K’, x_U, z’_U, Ider_U, C, C’_{0,1})が成立すればacceptを、そうでなければrejectを出力する(ステップ1554)。
Claims (25)
- ユーザ装置、および該ユーザ装置とネットワークを介して接続される発行者装置を有するグループ署名システムにおける該ユーザ装置による鍵発行方法であって、
前記ネットワークを介して前記発行者装置から発行者公開鍵をユーザ記憶部に読み込み、
前記発行者装置において前記発行者公開鍵を群の元の情報を含む元データを用いて秘匿化処理された秘匿文を1または複数含む第1の秘匿データを前記発行者装置から前記ネットワークを介して受信し、
前記発行者公開鍵および前記第1の秘匿データを用いて該第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを生成する第2の秘匿データ生成処理を行い、
前記第2の秘匿データを前記発行者装置に前記ネットワークを介して送信し、
前記発行者装置において生成され、前記第2の秘匿データに対応する元データに基づいた情報を前記発行者装置から前記ネットワークを介して受信し、
前記第2の秘匿データの元データに基づいた情報を用いて、自装置に対応する公開鍵であるメンバー公開鍵、および自装置に対応する秘密鍵であるメンバー秘密鍵を生成して前記ユーザ記憶部に書き込む、鍵発行方法。 - 請求項1記載の鍵発行方法において、
前記第2の秘匿データ生成処理の前記べき乗剰余における冪または定数倍における定数のうち一部は秘密のデータであり、
前記秘密のデータから前記メンバー秘密鍵を生成する秘密鍵計算処理を行い、
前記第2の秘匿データの元データに基づいた情報から前記メンバー公開鍵を生成する公開鍵計算処理を行う、鍵発行方法。 - 請求項2記載の鍵発行方法において、
前記ユーザ装置が前記発行者装置から受信する、前記第2の秘匿データの元データに基づいた情報には2つのデータを含み、
前記公開鍵計算処理では、前記2つのデータから所定の計算により求まる第1の算出データと所定の複数のデータの積である第2の算出データとが一致するか否かを判定し、判定の結果、これらの算出データが一致すると前記メンバー公開鍵を生成し、
前記所定の複数のデータは前記発行者公開鍵の一部を底とした所定のデータのべき乗剰余であり、該所定のデータは前記秘密のデータを含むものである、鍵発行方法。 - 請求項3記載の鍵発行方法において、
前記第1の算出データは、前記第2の秘匿データの元データに基づいた情報に含まれる2つのデータのうち一方のデータyを底とし、該2つのデータのうち他方のデータに一致するデータEを冪とするべき乗剰余であり、
前記ユーザ装置が前記発行者装置から受信する第1の秘匿データは、前記公開鍵計算処理で用いられた前記発行者公開鍵の一部を1/E乗した後、秘匿化処理されたものである、鍵発行方法。 - 請求項4記載の鍵発行方法において、
前記ユーザ装置が前記発行者装置から受信する前記第1の秘匿データは少なくとも2つの秘匿文g’およびh’を含み、
前記第2の秘匿データ生成処理では、まず秘密のデータxおよびr’を選択し、次に、前記秘匿文C_{g’}に対応する元データに対して前記秘密のデータxでべき乗し、前記C_{h’}に対応する元データに対して前記秘密のデータr’でべき乗した秘匿文Cを算出し、
前記ユーザ装置が前記発行者装置に送信する前記第2の秘匿データは、前記秘匿文Cを含み、
前記ユーザ装置が前記発行者装置から受信する、前記第2の秘匿データの元データに基づいた情報に含まれる2つのデータのうち他方のデータは巡回群の元r’’であり、
前記秘密鍵計算処理では、前記データr’とr’’との和からrを算出し、組(x, r)を含むものをメンバー秘密鍵とし、
前記公開鍵計算処理において、前記第2の算出データに含まれる所定の複数のデータは、前記発行者公開鍵に含まれる第1のデータを前記xでべき乗したデータと、該発行者公開鍵に含まれ、該第1のデータと異なる第2のデータを前記rでべき乗したデータとを含むものである、鍵発行方法。 - 請求項2記載の鍵発行方法において、
前記ユーザ装置が前記発行者装置から受信する、前記第2の秘匿データの元データに基づいた情報は2つのデータを含み、
前記公開鍵計算処理では、前記2つのデータから所定の計算により求まる第1の算出データと所定の複数のペアリングの積である第2の算出データとが一致するか否かを判定し、判定の結果、これらの算出データが一致すると前記メンバー公開鍵を生成し、
前記所定の複数のペアリングには、所定の複数のデータの和を前記発行者公開鍵の一部とペアリングしたものを含み、
前記所定の複数のデータには前記発行者公開鍵の一部を底として所定のデータで定数倍したものを含み、該所定のデータは前記秘密のデータを含むものである、鍵発行方法。 - 請求項6記載の鍵発行方法において、
前記第1の算出データは所定の2つのデータのペアリングであり、
前記第2の算出データに含まれる前記複数のペアリングのうち所定のペアリングに入力されるデータである第1のペアリングデータは前記第2の秘匿データの元データに基づいた情報に含まれる2つのデータのうち一方のデータA_Uであり、
前記所定のペアリングに入力されるデータで、前記第1のペアリングデータと異なる第2のペアリングデータは、前記発行者公開鍵の一部に巡回群の元wを乗じたものと該発行者公開鍵のうち該一部のデータと異なるデータから計算されるデータとの和であり、
前記wは前記第2の秘匿データの元データに基づいた情報に含まれる2つのデータのうち他方に一致し、
前記ユーザ装置が前記発行者装置から受信する前記第1の秘匿データが所定の元データを秘匿化したものであり、
前記所定の元データが前記発行者公開鍵の一部に所定の数値を乗算したものであり、
前記所定の数値は前記wと前記発行者装置の秘密のデータとの和の逆数である、鍵発行方法。 - 請求項7記載の鍵発行方法において、
前記ユーザ装置が前記発行者装置から受信する前記第1の秘匿データは少なくとも2つの秘匿文H’およびK’を含み、
前記第2の秘匿データ生成処理では、まず秘密のデータx_Uおよびz’_Uを選択し、次に、前記H’に対応する元データには前記x_Uを乗じ、前記K’に対応する元データに前記z’_Uを乗じた秘匿文Cipherを計算し、
前記ユーザ装置が前記発行者装置に送信する前記第2の秘匿データは前記秘匿文Cipherを含み、
前記ユーザ装置が前記発行者装置から受信する、前記第2の秘匿データの元データに基づいた情報に含まれる2つのデータのうち他方のデータは巡回群の元z’’_Uであり、
前記秘密鍵計算処理では、前記z’_Uと前記z’’_Uとの和からz_Uを算出し、組(x_U, z_U)を含むものをメンバー秘密鍵とし、
前記公開鍵計算処理では、前記A_Uおよび前記z_Uを含むデータを公開鍵とし、
前記第2の算出データに含まれる前記複数のペアリングには前記x_Uをデータとして含むペアリングと前記z_Uをデータとして含むペアリングとを有する、鍵発行方法。 - 前記第1の秘匿データに含まれる前記秘匿文は、前記発行者装置において、前記群の元の情報が入力されると、乱数ρが選択され、該元をρ乗して生成され、
前記第2の秘匿データに対応する元データは、前記発行者装置において、該第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて生成される、請求項1から8のいずれか1項記載の鍵発行方法。 - ユーザ装置、および該ユーザ装置とネットワークを介して接続される発行者装置を有するグループ署名システムにおける該発行者装置による、追加メンバーへの鍵発行方法であって、
発行者公開鍵および発行者秘密鍵を発行者記憶部から読み出し、
前記発行者公開鍵の一部から計算されるデータを群の元の情報を含む元データを用いて秘匿化処理することにより1または複数の秘匿文を生成する秘匿文生成処理を行い、
前記1または複数の秘匿文を含む第1の秘匿データを前記ネットワークを介して前記ユーザ装置に送信し、
前記ユーザ装置において前記第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを前記ユーザ装置から前記ネットワークを介して受信し、
前記第2の秘匿データを元に戻したデータであるg’’を計算し、該g’’から送信用データを生成する送信用データ生成処理を行い、
前記送信用データを前記ネットワークを介して前記ユーザ装置に送信する、鍵発行方法。 - 請求項10記載の鍵発行方法において、
前記秘匿文生成処理では、所定の式を満たす素数のデータEを発行者記憶部から選択すると、前記発行者公開鍵の一部を1/E乗したものを秘匿化処理し、
前記送信用データは前記Eを含む、鍵発行方法。 - 請求項11記載の鍵発行方法において、
前記送信用データ生成処理では、巡回群の元r’’をランダムに選択すると、前記発行者公開鍵の一部をr’’でべき乗したものに前記g’’を掛け合せたものを含むデータを前記送信用データとする、鍵発行方法。 - 請求項10記載の鍵発行方法において、
前記秘匿文生成処理では、巡回群の元yをランダムに選択すると、該yと前記発行者秘密鍵wとの和w+yを計算し、前記発行者公開鍵に含まれる複数のデータのうち第1のデータに1/(w+y)を乗じたものを秘匿化処理し、
前記送信用データは前記yを含む、鍵発行方法。 - 請求項13記載の鍵発行方法において、
前記送信用データ生成処理では、巡回群の元z’’_Uをランダムに選択すると、前記発行者公開鍵に含まれる複数のデータのうち前記第1のデータと異なる第2のデータにz’’_Uを乗じたものと前記g''との和を含む計算式から求まるデータを前記送信用データとする、鍵発行方法。 - 前記秘匿文生成処理では、前記群の元の情報が入力されると、乱数ρを選択し、該元をρ乗して前記秘匿文を生成し、
前記送信用データ生成処理では、前記第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて前記g’’を生成する、請求項10から14のいずれか1項記載の鍵発行方法。 - 発行者公開鍵が格納された発行者記憶部、および該発行者公開鍵をネットワークを介して送出し、該発行者公開鍵を群の元の情報を含む元データを用いて秘匿化処理された1または複数の秘匿文を生成して該1または複数の秘匿文を含む第1の秘匿データをネットワークを介して外部に送出し、該第1の秘匿データが秘匿化処理された第2の秘匿データを受信すると、該第2の秘匿データの元データを生成し、該元データに基づいた情報を前記ネットワークを介して外部に送出する発行者装置制御部を有する発行者装置と、
前記ネットワークを介して前記発行者公開鍵を格納するためのユーザ記憶部、および前記発行者装置から受信する前記発行者公開鍵を該ユーザ記憶部に格納し、前記第1の秘匿データを受信すると、該発行者公開鍵および該第1の秘匿データを用いて該第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする前記第2の秘匿データを生成して前記ネットワークを介して前記発行者装置に送信し、前記元データに基づいた情報を受信すると、自装置に対応する公開鍵であるメンバー公開鍵、および自装置に対応する秘密鍵であるメンバー秘密鍵を生成して該ユーザ記憶部に書き込むユーザ装置制御部を有するユーザ装置と、
を含むグループ署名システム。 - 前記発行者装置は、前記群の元の情報が入力されると、乱数ρを選択し、該元をρ乗して前記秘匿文を生成し、
前記第2の秘匿データを受信すると、該第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて該第2の秘匿データの元データを生成する、請求項16記載のグループ署名システム。 - 発行者公開鍵が格納された発行者装置とネットワークを介して接続される情報処理装置であって、
前記発行者公開鍵を格納するための記憶部と、
前記発行者装置から前記発行者公開鍵を受信すると前記記憶部に格納し、該発行者装置において該発行者公開鍵を群の元の情報を含む元データを用いて秘匿化処理された秘匿文を1または複数含む第1の秘匿データを該発行者装置から受信すると、該発行者公開鍵および該第1の秘匿データを用いて該第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを生成して該発行者装置に送信し、該発行者装置において生成され、該第2の秘匿データの元データに基づいた情報を該発行者装置から受信すると、該第2の秘匿データの元データに基づいた情報を用いて、自装置に対応する公開鍵であるメンバー公開鍵、および自装置に対応する秘密鍵であるメンバー秘密鍵を生成して前記記憶部に書き込む制御部と、
を有する情報処理装置。 - 前記第1の秘匿データに含まれる前記秘匿文は、前記発行者装置において、前記群の元の情報が入力されると、乱数ρが選択され、該元をρ乗して生成され、
前記第2の秘匿データの元データは、前記発行者装置において、該第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて生成される請求項18記載の情報処理装置。 - グループに新規に追加されるユーザ側のユーザ装置とネットワークを介して接続される情報処理装置であって、
発行者公開鍵が格納された記憶部と、
前記発行者公開鍵の一部から計算されるデータを群の元の情報を含む元データを用いて秘匿化することにより1または複数の秘匿文に生成すると、該1または複数の秘匿文を含む第1の秘匿データを前記ユーザ装置に送信し、該ユーザ装置において該第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを該ユーザ装置から受信すると、該第2の秘匿データを元に戻したデータであるg’’を計算し、該g’’から送信用データを生成して該ユーザ装置に送信する制御部と、
を有する情報処理装置。 - 前記制御部は、前記群の元の情報が入力されると、乱数ρを選択し、該元をρ乗して前記秘匿文を生成し、
前記第2の秘匿データを受信すると、該第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて該第2の秘匿データの元データを生成する、請求項20記載の情報処理装置。 - 発行者公開鍵が格納された発行者装置とネットワークを介して接続されるコンピュータに実行させるためのプログラムであって、
前記ネットワークを介して前記発行者装置から発行者公開鍵をコンピュータの記憶部に読み込み、
前記発行者装置において前記発行者公開鍵を群の元の情報を含む元データを用いて秘匿化処理された秘匿文を1または複数含む第1の秘匿データを前記発行者装置から前記ネットワークを介して受信し、
前記発行者公開鍵および前記第1の秘匿データを用いて該第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを生成し、
前記第2の秘匿データを前記発行者装置に前記ネットワークを介して送信し、
前記発行者装置において生成され、前記第2の秘匿データの元データに基づいた情報を前記発行者装置から前記ネットワークを介して受信し、
前記第2の秘匿データの元データに基づいた情報を用いて、自装置に対応する公開鍵であるメンバー公開鍵、および自装置に対応する秘密鍵であるメンバー秘密鍵を生成して前記コンピュータの記憶部に書き込む処理を、前記コンピュータに実行させるためのプログラム。 - 前記第1の秘匿データに含まれる前記秘匿文は、前記発行者装置において、前記群の元の情報が入力されると、乱数ρが選択され、該元をρ乗して生成され、
前記第2の秘匿データの元データは、前記発行者装置において、該第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて生成される請求項22記載のプログラム。 - グループに新規に追加されるユーザ側のユーザ装置とネットワークを介して接続されるコンピュータに実行させるためのプログラムであって、
発行者公開鍵および発行者秘密鍵をコンピュータの記憶部から読み出し、
前記発行者公開鍵の一部から計算されるデータを群の元の情報を含む元データを用いて秘匿化することにより1または複数の秘匿文に生成する秘匿文生成処理を行い、
前記1または複数の秘匿文を含む第1の秘匿データを前記ネットワークを介して前記ユーザ装置に送信し、
前記ユーザ装置において前記第1の秘匿データに含まれる秘匿文に対応する元データをべき乗剰余したものの積を秘匿文とする、または該元データを定数倍したものの和を秘匿文とする第2の秘匿データを前記ユーザ装置から前記ネットワークを介して受信し、
前記第2の秘匿データを元に戻したデータであるg’’を計算し、該g’’から送信用データを生成する送信用データ生成処理を行い、
前記送信用データを前記ネットワークを介して前記ユーザ装置に送信する処理を、前記コンピュータに実行させるためのプログラム。 - 前記秘匿文生成処理では、前記群の元の情報が入力されると、乱数ρを選択し、該元をρ乗して前記秘匿文を生成し、
前記送信用データ生成処理では、前記第2の秘匿データに含まれる秘匿文を前記乱数ρの逆元で乗じて前記g’’を生成する、請求項24記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007526018A JP5029358B2 (ja) | 2005-07-19 | 2006-07-18 | 鍵発行方法、グループ署名システム |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005208979 | 2005-07-19 | ||
JP2005208979 | 2005-07-19 | ||
JP2005353809 | 2005-12-07 | ||
JP2005353809 | 2005-12-07 | ||
PCT/JP2006/314186 WO2007010903A1 (ja) | 2005-07-19 | 2006-07-18 | 鍵発行方法、グループ署名システム |
JP2007526018A JP5029358B2 (ja) | 2005-07-19 | 2006-07-18 | 鍵発行方法、グループ署名システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2007010903A1 JPWO2007010903A1 (ja) | 2009-01-29 |
JP5029358B2 true JP5029358B2 (ja) | 2012-09-19 |
Family
ID=37668781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007526018A Expired - Fee Related JP5029358B2 (ja) | 2005-07-19 | 2006-07-18 | 鍵発行方法、グループ署名システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7995762B2 (ja) |
EP (1) | EP1921791A1 (ja) |
JP (1) | JP5029358B2 (ja) |
CA (1) | CA2615789A1 (ja) |
WO (1) | WO2007010903A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349538B2 (en) * | 2002-03-21 | 2008-03-25 | Ntt Docomo Inc. | Hierarchical identity-based encryption and signature schemes |
WO2009008069A1 (ja) * | 2007-07-11 | 2009-01-15 | Kabushiki Kaisha Toshiba | グループ署名システム、装置及びプログラム |
US8553878B2 (en) * | 2010-04-14 | 2013-10-08 | Apple Inc. | Data transformation system using cyclic groups |
KR101543711B1 (ko) * | 2011-10-11 | 2015-08-12 | 한국전자통신연구원 | 짧은 서명을 제공하는 경량 그룹서명 방법 및 장치 |
WO2013179304A2 (en) * | 2012-05-28 | 2013-12-05 | Sri Venkat Bhaskar Krishna Mangipudi | A computer implemented system and method for concealing confidential information |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
EP3522089B1 (en) * | 2018-01-29 | 2023-11-29 | Panasonic Intellectual Property Corporation of America | Control method, controller, data structure, and electric power transaction system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004228958A (ja) * | 2003-01-23 | 2004-08-12 | Nec Corp | 署名方法および署名プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
US7051199B1 (en) * | 2000-06-19 | 2006-05-23 | Xerox Corporation | System, method and article of manufacture for providing cryptographic services utilizing a network |
-
2006
- 2006-07-18 CA CA002615789A patent/CA2615789A1/en not_active Abandoned
- 2006-07-18 WO PCT/JP2006/314186 patent/WO2007010903A1/ja active Application Filing
- 2006-07-18 JP JP2007526018A patent/JP5029358B2/ja not_active Expired - Fee Related
- 2006-07-18 EP EP06781199A patent/EP1921791A1/en not_active Withdrawn
- 2006-07-18 US US11/995,999 patent/US7995762B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004228958A (ja) * | 2003-01-23 | 2004-08-12 | Nec Corp | 署名方法および署名プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1921791A1 (en) | 2008-05-14 |
CA2615789A1 (en) | 2007-01-25 |
JPWO2007010903A1 (ja) | 2009-01-29 |
WO2007010903A1 (ja) | 2007-01-25 |
US20090034739A1 (en) | 2009-02-05 |
US7995762B2 (en) | 2011-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944575B2 (en) | Implicitly certified digital signatures | |
EP2737656B1 (en) | Credential validation | |
Song | Practical forward secure group signature schemes | |
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
EP3681093B1 (en) | Secure implicit certificate chaining | |
JP5029358B2 (ja) | 鍵発行方法、グループ署名システム | |
JP2008512060A (ja) | 仮署名スキーム | |
JPWO2009008069A1 (ja) | グループ署名システム、装置及びプログラム | |
JPWO2006077700A1 (ja) | グループ署名方式 | |
JP5099003B2 (ja) | グループ署名システムおよび情報処理方法 | |
EP2846492A1 (en) | Cryptographic group signature methods and devices | |
JP2014515125A (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
JP5287727B2 (ja) | 情報通信システム、オーガニゼーション装置およびユーザ装置 | |
JP4791828B2 (ja) | グループ署名システム、装置、プログラム及び方法 | |
US20230327884A1 (en) | Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge | |
JP2014157354A (ja) | 線形準同型な構造保存署名を生成および検証する暗号学的装置および方法 | |
Khader | Authenticating with attributes | |
Sharp | Applied Cryptography | |
JP4653504B2 (ja) | グループ署名生成システム、装置、プログラム及び方法 | |
Bashir | Analysis and Improvement of Some Signcryption Schemes Based on Elliptic Curve | |
Kitagawa et al. | Fully anonymous group signature with verifier-local revocation | |
Chia et al. | A Pairing-Free Identity-Based Identification Scheme with Tight Security Using Modified-Schnorr Signatures. Symmetry 2021, 13, 1330 | |
Kumar et al. | Forcing out a confession: Threshold discernible ring signatures | |
Yu et al. | New Forward-Secure Signature Scheme with Untrusted Update | |
Kim | Intrusion-Resilient Key-Evolving Protocol under the Discrete Logarithm Problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120507 |
|
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: 20120529 |
|
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: 20120611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5029358 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |