処理中

しばらくお待ちください...

設定

設定

出願の表示

1. KR1020130130810 - 서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

注意: このテキストは、OCR 処理によってテキスト化されたものです。法的な用途には PDF 版をご利用ください。

[ KO ]
서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{SIGNATURE PROCESSING SYSTEM, KEY GENERATION DEVICE, SIGNATURE DEVICE, VERIFICATION DEVICE, SIGNATURE PROCESSING METHOD AND COMPUTER READABLE RECORDING MEDIUM STORING SIGNATURE PROCESSING PROGRAM}
기 술 분 야
 본 발명은, 속성 베이스 서명(Attribute-Based Signatures, ABS) 방식에 관한 것이다.
배경기술
 비특허  문헌  26,  29,  30,  34-37,  45,  51에는,  속성  베이스  서명  방식에  관한  기재가  있다.    특히,  비특허  문헌  36,  37에는,  모노톤  술어를  서포트한  속성  베이스  서명  방식에  대한  기재가  있다.
 (선행 기술 문헌)
 (비특허 문헌)
 (비특허 문헌 1) Beimel, A., Secure schemes for secret sharing and key distribution. PhD Thesis, Israel Institute of Tech-nology, Technion, Haifa, Israel, 1996.
 (비특허 문헌 2) Belenkiy, M., Camenisch, J., Chase, M., Kohlweiss, M., Lysyanskaya, A. and Shacham, H. : Randomizable proofs and delegatable anonymous credentials. CRYPTO 2009. LNCS, Springer Heidelberg (2009)
 (비특허 문헌 3) Belenkiy, M., Chase, M., Kohlweiss, M. and Lysyanskaya, A. : P-signatures and noninteractive anonymous credentials. TCC 2008, LNCS, Springer Heidelberg (2008)
 (비특허 문헌 4) Bethencourt, J., Sahai, A., Waters, B. : Ciphertext-policy attribute-based encryption. In : 2007 IEEE Sym-posium on Security and Privacy, pp. 321. 334. IEEE Press (2007)
 (비특허 문헌 5) Boneh, D., Boyen, X. : Efficient selective-ID secure identity based encryption without random oracles. In : Cachin, C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 223. 238. Springer Heidelberg (2004)
 (비특허 문헌 6) Boneh, D., Boyen, X. : Secure identity based encryption without random oracles. In : Franklin, M. K. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 443. 459. Springer Heidelberg (2004)
 (비특허 문헌 7) Boneh, D., Boyen, X., Goh, E. : Hierarchical identity based encryption with constant size ciphertext. In : Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 440. 456. Springer Heidelberg (2005)
 (비특허 문헌 8) Boneh, D., Franklin, M. : Identity-based encryption from the Weil pairing. In : Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 213. 229. Springer Heidelberg (2001)
 (비특허 문헌 9) Boneh, D., Hamburg, M. : Generalized identity based and broadcast encryption scheme. In : Pieprzyk, J.(ed.) ASIACRYPT 2008. LNCS, vol. 5350, pp. 455. 470. Springer Heidelberg (2008)
 (비특허 문헌 10) Boneh, D., Katz, J., Improved efficiency for CCA-secure cryptosystems built using identity based encryp-tion. RSA-CT 2005, LNCS, Springer Verlag (2005)
 (비특허 문헌 11) Boneh, D., Waters, B. : Conjunctive, subset, and range queries on encrypted data. In : Vadhan, S. P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 535. 554. Springer Heidelberg (2007)
 (비특허 문헌 12) X. Boyen : Mesh signatures. EUROCRYPT, LNCS, vol. 4515, pp. 210. 227. Springer (2007).
 (비특허 문헌 13) Boyen, X., Waters, B. : Anonymous hierarchical identity-based encryption (without random oracles). In : Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, pp. 290. 307. Springer Heidelberg (2006)
 (비특허 문헌 14) Camenisch, J. and Gross, T. : Efficient attributes for anonymous credentials. CCS 2008.
 (비특허 문헌 15) Camenisch, J. and Lysyanskaya, A. : An efficient system for non-transferable anonymous credentials with optinal anonymity revocation. Eurocrypt 2001.
 (비특허 문헌 16) Camenisch, J. and Lysyanskaya, A. : Signature schemes and anonymous credentials from bilinear maps. Crypto 2004.
 (비특허 문헌 17) Canetti, R., Halevi S., Katz J., Chosen-ciphertext security from identity-based encryption. EUROCRYPT 2004, LNCS, Springer-Verlag (2004)
 (비특허 문헌 18) Chaum, D. : Security without identification : Transaction systems to make big brother obsolete. CACM (1985).
 (비특허 문헌 19) D. Chaum and E. van Heyst : Group signatures. In proceedings of EUROCRYPT’91, LNCS, vol. 547, pp.257. 265 (1991).
 (비특허 문헌 20) Cocks, C. : An identity based encryption scheme based on quadratic residues. In : Honary, B. (ed.) IMA Int. Conf. LNCS, vol. 2260, pp. 360. 363. Springer Heidelberg (2001)
 (비특허 문헌 21) Gentry, C. : Practical identity-based encryption without random oracles. In : Vaudenay, S. (ed.) EURO-CRYPT 2006. LNCS, vol. 4004, pp. 445. 464. Springer Heidelberg (2006)
 (비특허 문헌 22) Gentry, C., Halevi, S. : Hierarchical identity-based encryption with polynomially many levels. In : Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, pp. 437. 456. Springer Heidelberg (2009)
 (비특허 문헌 23) Gentry, C., Silverberg, A. : Hierarchical ID-based cryptography. In : Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 548. 566. Springer Heidelberg (2002)
 (비특허 문헌 24) Goyal, V., Pandey, O., Sahai, A., Waters, B. : Attribute-based encryption for fine-grained access control of encrypted data. In : ACM Conference on Computer and Communication Security 2006, pp. 89. 98, ACM (2006)
 (비특허 문헌 25) Groth, J., Sahai, A. : Efficient non-interactive proof systems for bilinear groups. In : Smart, N. P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 415. 432. Springer Heidelberg (2008)
 (비특허 문헌 26) S. Guo and Y. Zeng : Attribute-based Signature Scheme, In ISA’08, pp. 509. 511 (2008).
 (비특허 문헌 27) Horwitz, J., Lynn, B. : Towards hierarchical identity-based encryption. In : Knudsen, L. R. (ed.) EURO-CRYPT 2002. LNCS, vol. 2332, pp. 466. 481. Springer Heidelberg (2002)
 (비특허 문헌 28) Katz, J., Sahai, A., Waters, B. : Predicate encryption supporting disjunctions, polynomial equations, and inner products. In : Smart, N. P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 146. 162. Springer Heidel-berg (2008)
 (비특허 문헌 29) D. Khader : Attribute Based Group Signatures, Cryptology ePrint Archive, Report 2007/159 (2007). http://eprint.iacr.org/2007/159.
 (비특허 문헌 30) D. Khader : Attribute Based Group Signature with Revocation. Cryptology ePrint Archive, Report 2007/241, (2007). http://eprint.iacr.org/2007/241.
 (비특허 문헌 31) Lewko, A., Okamoto, T., Sahai, A., Takashima, K. and Waters, B. : Fully Secure Functional Encryption : Attribute-Based Encryption and (Hierarchical) Inner Product Encryption, EUROCRYPT 2010. LNCS, Springer Heidelberg (2010)
 (비특허 문헌 32) Lewko, A. B., Waters, B. : Fully secure HIBE with short ciphertexts. ePrint, IACR, http://eprint.iacr.org/2009/482
 (비특허 문헌 33) Lewko, A. B., Waters, B. : Decentralizing Attribute-Based Encryption, ePrint, IACR, http://eprint.iacr.org/2010/351.
 (비특허 문헌 34) Jin Li, Man Ho Au, Willy Susilo, Dongqing Xie, Kui Ren : Attribute-based Signature and its Application, ASIACCS’ 2010, ACM (2010)
 (비특허 문헌 35) J. Li and K. Kim : Attribute-based ring signatures. 2008. Available at http://eprint.iacr.org/2008/394. To appear in Journal of Information Sciences.
 (비특허 문헌 36) Maji, H., Prabhakaran, M., Rosulek, M. : Attribute-Based Signatures : Achieving Attribute-Privacy and Collusion-Resistance. ePrint, IACR, http://eprint.iacr.org/2008/328
 (비특허 문헌 37) Maji, H., Prabhakaran, M., Rosulek, M. : Attribute-Based Signatures. http://www.cs.uiuc.edu/ mmp/research.html
 (비특허 문헌 38) Okamoto, T., Takashima, K. : Homomorphic encryption and signatures from vector decomposition. In : Galbraith, S. D., Paterson, K. G. (eds.) Pairing 2008. LNCS, vol. 5209, pp. 57. 74. Springer Heidelberg (2008)
 (비특허 문헌 39) Okamoto, T., Takashima, K. : Hierarchical predicate encryption for Inner-Products, In : ASIACRYPT 2009, Springer Heidelberg (2009)
 (비특허 문헌 40) Okamoto, T., Takashima, K. : Fully Secure Functional Encryption with General Relations from the Deci-sional Linear Assumption, In : CRYPTO 2010, Springer Heidelberg (2010)
 (비특허 문헌 41) Ostrovsky, R., Sahai, A., Waters, B. : Attribute-based encryption with non-monotonic access structures. In : ACM Conference on Computer and Communication Security 2007, pp. 195. 203, ACM (2007)
 (비특허 문헌 42) Pirretti, M., Traynor, P., McDaniel, P., Waters, B. : Secure attribute-based systems. In : ACM Conference on Computer and Communication Security 2006, pp. 99. 112, ACM, (2006)
 (비특허 문헌 43) Pirretti, M., Traynor, P., McDaniel, P., Waters, B. : Secure attribute-based systems. In : ACM Conference on Computer and Communication Security 2006, pp. 99. 112, ACM, (2006)
 (비특허 문헌 44) Sahai, A., Waters, B. : Fuzzy identity-based encryption. In : Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 457. 473. Springer Heidelberg (2005)
 (비특허 문헌 45) S. F. Shahandashti and R. Safavi-Naini : Threshold attribute-based signatures and their application to anonymous credential systems. In AFRICACRYPT’09, pp. 198. 216 (2009).
 (비특허 문헌 46) A. Shamir : Identity-based cryptosystems and signature schemes. In CRYPTO’84, pp. 47. 53 (1984).
 (비특허 문헌 47) Shi, E., Waters, B. : Delegating capability in predicate encryption systems. In : Aceto, L., Damg°ard, I., Goldberg, L. A., Halldorsson, M. M., Ingolfsdottir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol.5126, pp. 560. 578. Springer Heidelberg (2008)
 (비특허 문헌 48) Shi, E., Waters, B. : Delegating capability in predicate encryption systems. In : Aceto, L., Damg°ard, I., Goldberg, L. A., Halldorsson, M. M., Ingolfsdottir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol.5126, pp. 560. 578. Springer Heidelberg (2008)
 (비특허 문헌 49) Waters, B. : Ciphertext-policy attribute-based encryption : an expressive, efficient, and provably secure realization. ePrint, IACR, http://eprint.iacr.org/2008/290
 (비특허 문헌 50) Waters, B. : Dual system encryption : Realizing fully secure IBE and HIBE under simple assumptions. In : Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619. 636. Springer Heidelberg (2009)
 (비특허 문헌 51) Waters, B. : Dual system encryption : Realizing fully secure IBE and HIBE under simple assumptions. In : Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619. 636. Springer Heidelberg (2009)
발명의 상세한 설명
   해결하려는 과제
 종래의 속성 베이스 서명 방식에서는, 논모노톤 술어를 서포트하고 있지 않았다.
 본 발명은, 논모노톤 술어를 서포트한 속성 베이스 서명 방식을 제공하는 것을 목적으로 한다.
   과제의 해결 수단
 본 발명에 따른 서명 처리 시스템은, 키 생성 장치와 서명 장치와 검증 장치를 구비하고, t=0, …, d+1(d는 1 이상의 정수)의 각 정수 t에 대한 기저 B t와 기저 B * t를 이용하여 서명 처리를 실행하는 서명 처리 시스템이고, 상기 키 생성 장치는, t=1, …, d의 적어도 하나 이상의 정수 t에 대하여, 식별 정보 t와, 속성 정보 x t를 포함하는 속성 집합 Γ를 입력하는 제 1 정보 입력부와, 기저 B * 0의 기저 벡터 b * 0, 1의 계수로서 소정의 값 δ를 설정한 키 요소 k * 0을 생성하는 키 요소 0 생성부와, 상기 제 1 정보 입력부가 입력한 속성 집합 Γ에 포함되는 각 식별 정보 t에 대하여, 기저 B * t의 기저 벡터 b * t, 1의 계수로서 상기 소정의 값 δ를 설정하고, 기저 벡터 b * t, 2의 계수로서 속성 정보 x t에 상기 소정의 값 δ를 곱한 δx t를 설정한 키 요소 k * t를 생성하는 키 요소 t 생성부와, 기저 B * d+1의 기저 벡터 b * d+1, 1의 계수로서 상기 소정의 값 δ를 설정한 키 요소 k * d+1, 1과, 기저 B * d+1의 기저 벡터 b * d+1, 2의 계수로서 상기 소정의 값 δ를 설정한 키 요소 k * d+1, 2를 생성하는 키 요소 d+1 생성부와, 상기 키 요소 0 생성부가 생성한 키 요소 k * 0과, 상기 키 요소 t 생성부가 생성한 상기 속성 집합 Γ에 포함되는 각 식별 정보 t에 대한 키 요소 k * t와, 상기 키 요소 d+1 생성부가 생성한 키 요소 k * d+1, 1 및 키 요소 k * d+1, 2와, 상기 속성 집합 Γ를 포함하는 서명 키 sk Γ를 상기 서명 장치에 송신하는 서명 키 송신부를 구비하고, 상기 서명 장치는, i=1, …, L(L은 1 이상의 정수)의 각 정수 i에 대한 변수 ρ(i)로서, 식별 정보 t(t=1, …, d의 어느 하나의 정수)와, 속성 정보 v i의 긍정형의 조 (t, v i) 또는 부정형의 조 ¬(t, v i)의 어느 하나인 변수 ρ(i)와, L행 r열(r은 1 이상의 정수)의 소정의 행렬 M과, 메시지 m을 입력하는 제 2 정보 입력부와, 상기 서명 키 송신부가 송신한 서명 키 sk Γ를 취득하는 서명 키 취득부와, 상기 제 2 정보 입력부가 입력한 변수 ρ(i)와, 상기 서명 키 취득부가 취득한 서명 키 sk Γ에 포함되는 속성 집합 Γ에 근거하여, i=1, …, L의 각 정수 i 중, 변수 ρ(i)가 긍정형의 조 (t, v i)이고, 또한, 그 조의 v i와, 그 조의 식별 정보 t가 나타내는 속성 집합 Γ에 포함되는 x t가 같은 i와, 변수 ρ(i)가 부정형의 조 ¬(t, v i)이고, 또한, 그 조의 v i와, 그 조의 식별 정보 t가 나타내는 속성 집합 Γ에 포함되는 x t가 같지 않은 i의 집합 I를 특정함과 아울러, 특정한 집합 I에 포함되는 i에 대하여, 상기 제 2 정보 입력부가 입력한 행렬 M의 i행째의 요소인 M i에 근거하여, α iM i를 합계한 경우에 소정의 벡터 h 가 되는 보완 계수 α i를 계산하는 보완 계수 계산부와, 상기 서명 키 sk Γ에 포함되는 키 요소 k * 0을 포함하는 서명 요소 s *0을 생성하는 서명 요소 0 생성부와, i=1, …, L의 각 정수 i에 대하여, 상기 보완 계수 계산부가 특정한 집합 I에 포함되는 정수 i이고, 또한, 변수 ρ(i)가 긍정형의 조 (t, v i)인 경우에는 값 γ i:=α i로 하고, 상기 집합 I에 포함되는 i이고, 또한, 변수 ρ(i)가 부정형의 조 ¬(t, v i)인 경우에는 값 γ i:=α i/(v i-x t)로 하고, 상기 집합 I에 포함되지 않는 정수 i의 경우에는 값 γ i:=0으로 하여, 상기 서명 키 sk Γ에 포함되는 키 요소 k * t에 상기 값 γ i를 곱한 γ ik * t를 포함하는 서명 요소 s * i를 생성하는 서명 요소 i 생성부와, 상기 서명 키 sk Γ에 포함되는 키 요소 k * d+1, 1과, 상기 메시지 m을 이용하여 생성되는 값 m’를 상기 키 요소 k * d+1, 2에 곱한 m’ㆍk * d+1, 2의 합을 포함하는 서명 요소 s * L+1을 생성하는 서명 요소 L+1 생성부와, 상기 서명 요소 0 생성부가 생성한 서명 요소 s * 0과, 상기 서명 요소 i 생성부가 생성한 i=1, …, L의 각 정수 i에 대한 서명 요소 s * i와, 상기 서명 요소 L+1 생성부가 생성한 서명 요소 s * L+1과, 상기 메시지 m과, 상기 변수 ρ(i)와, 상기 행렬 M을 포함하는 서명 데이터 σ를 상기 검증 장치에 송신하는 서명 데이터 송신부를 구비하고, 상기 검증 장치는, 상기 서명 데이터 송신부가 송신한 서명 데이터 σ를 취득하는 데이터 취득부와, r개의 요소를 갖는 벡터 f 와 상기 벡터 h 를 이용하여 생성되는 값 s 0:=h ㆍf →T와, 소정의 값 s L +1로부터 계산되는 -s 0-s L +1을, 기저 B 0의 기저 벡터 b 0 , 1의 계수로서 설정하여 검증 요소 c 0을 생성하는 검증 요소 0 생성부와, 상기 벡터 f 와 상기 데이터 취득부가 취득한 서명 데이터 σ에 포함되는 행렬 M에 근거하여 생성되는 열벡터 s →T:=(s 1, …, s L) T:=Mㆍf →T와, i=1, …, L의 각 정수 i에 대한 소정의 값 θ i를 이용하여, i=1, …, L의 각 정수 i에 대하여, 변수 ρ(i)가 긍정형의 조 (t, v i)인 경우에는, 그 조의 식별 정보 t가 나타내는 기저 B t의 기저 벡터 b t , 1의 계수로서 s iiv i를 설정하고, 기저 벡터 b t , 2의 계수로서 -θ i를 설정하여 검증 요소 c i를 생성하고, 변수 ρ(i)가 부정형의 조 ¬(t, v i)인 경우에는, 그 조의 식별 정보 t가 나타내는 기저 벡터 b t , 1의 계수로서 s iv i를 설정하고, 기저 벡터 b t , 2의 계수로서 -s i를 설정하여 검증 요소 c i를 생성하는 검증 요소 i 생성부와, 기저 B d+1의 기저 벡터 b d +1, 1의 계수로서, 상기 소정의 값 s L +1과 상기 값 m’와 소정의 값 θ L+1로부터 계산되는 s L +1L+1m’를 설정하고, 기저 벡터 b d +1, 2의 계수로서 상기 소정의 값 θ L+1을 설정하여 검증 요소 c L +1을 생성하는 검증 요소 L+1 생성부와, 상기 검증 요소 0 생성부가 생성한 검증 요소 c 0과, 상기 검증 요소 i 생성부가 생성한 검증 요소 c i와, 상기 검증 요소 L+1 생성부가 생성한 검증 요소 c L +1과, 상기 서명 데이터 σ에 포함되는 서명 요소 s * 0, s * i, s * L+1에 대하여, 페어링 연산 Π i=0 L+1e(c i, s * i)를 행하고, 상기 서명 데이터 σ의 정당성을 검증하는 페어링 연산부를 구비하는 것을 특징으로 한다.
   발명의 효과
 본  발명에  따른  속성  베이스  서명  방식에서는,  논모노톤  술어를  서포트하고  있다.    그  때문에,  이용  범위가  넓은  속성  베이스  서명  방식을  실현하고  있다.
도면의 간단한 설명
 도 1은 행렬 M ^의 설명도.
도 2는 행렬 M δ의 설명도.
도 3은 s 0의 설명도.
도 4는 s →T의 설명도.
도 5는 속성 베이스 서명 방식을 실행하는 서명 처리 시스템(10)의 구성도.
도 6은 키 생성 장치(100)의 기능을 나타내는 기능 블록도.
도 7은 서명 장치(200)의 기능을 나타내는 기능 블록도.
도 8은 검증 장치(300)의 기능을 나타내는 기능 블록도.
도 9는 Setup 알고리즘의 처리를 나타내는 플로차트.
도 10은 KeyGen 알고리즘의 처리를 나타내는 플로차트.
도 11은 Sig 알고리즘의 처리를 나타내는 플로차트.
도 12는 Ver 알고리즘의 처리를 나타내는 플로차트.
도 13은 다관리자의 설명도.
도 14는 분산 다관리자 속성 베이스 서명 방식을 실행하는 서명 처리 시스템(10)의 구성도.
도 15는 각 키 생성 장치(100)의 기능을 나타내는 기능 블록도.
도 16은 서명 장치(200)의 기능을 나타내는 기능 블록도.
도 17은 검증 장치(300)의 기능을 나타내는 기능 블록도.
도 18은 GSetup 알고리즘의 처리를 나타내는 플로차트.
도 19는 ASetup 알고리즘의 처리를 나타내는 플로차트.
도 20은 AttrGen 알고리즘의 처리를 나타내는 플로차트.
도 21은 Sig 알고리즘의 처리를 나타내는 플로차트.
도 22는 Ver 알고리즘의 처리를 나타내는 플로차트.
도 23은 키 생성 장치(100), 서명 장치(200), 검증 장치(300)의 하드웨어 구성의 일례를 나타내는 도면.
발명을 실시하기 위한 구체적인 내용
 이하, 도면에 근거하여, 발명의 실시의 형태를 설명한다.
 이하의  설명에  있어서,  처리  장치는  후술하는  CPU(911)  등이다.    기억  장치는  후술하는  ROM(913),  RAM(914),  자기  디스크(920)  등이다.    통신  장치는  후술하는  통신  보드(915)  등이다.    입력  장치는  후술하는  키보드(902),  통신  보드(915)  등이다.    다시  말해,  처리  장치,  기억  장치,  통신  장치,  입력  장치는  하드웨어이다.
 이하의 설명에 있어서의 표기법에 대하여 설명한다.
 A가  랜덤의  변수  또는  분포일  때,  수학식  101은,  A의  분포에  따라  A로부터  y를  랜덤으로  선택하는  것을  나타낸다.    다시  말해,  수학식  101에  있어서,  y는  난수이다.
 [수학식 101]
 
 A가  집합일  때,  수학식  102는,  A로부터  y를  균등하게  선택하는  것을  나타낸다.    다시  말해,  수학식  102에  있어서,  y는  균등  난수이다.
 [수학식 102]
 
 수학식 103은, y가 z에 의해 정의된 집합인 것, 또는 y가 z가 대입된 집합인 것을 나타낸다.
 [수학식 103]
 
 a가 상수일 때, 수학식 104는, 기계(알고리즘) A가 입력 x에 대하여 a를 출력하는 것을 나타낸다.
 [수학식 104]
 
 수학식 105, 다시 말해 F q는, 위수 q의 유한체를 나타낸다.
 [수학식 105]
 
 벡터 표기는, 유한체 F q에  있어서의  벡터  표시를  나타낸다.    다시  말해,  수학식  106이다.
 [수학식 106]
 
 수학식 107은, 수학식 108에 나타내는 2개의 벡터 x 와 v 의 수학식 109에 나타내는 내적을 나타낸다.
 [수학식 107]
 
 [수학식 108]
 
 [수학식 109]
 
 X T는, 행렬 X의 전치 행렬을 나타낸다.
 b i(i=1, …, n)가 공간 V의 벡터의 요소일 때, 다시 말해, 수학식 110일 때, 수학식 111은, 수학식 112에 의해 생성되는 부분 공간을 나타낸다.
 [수학식 110]
 
 [수학식 111]
 
 [수학식 112]
 
 수학식 113에 나타내는 기저 B와 기저 B *에 대하여, 수학식 114이다.
 [수학식 113]
 
 [수학식 114]
 
 또한, 이하의 설명에 있어서, param Vt에 있어서의 Vt는 V t이다.
 마찬가지로, F q nt에 있어서의 nt는 n t이다.
 마찬가지로, sk gid, (t, xt )에 있어서의 xt는 x t이다.
 마찬가지로, “δi, j”가 어깨 글자(superior letter)로 나타나 있는 경우, 이 δi, j는, δ i, j를 의미한다.
 또한, 벡터를 의미하는 “→”가 다리 글자(inferior letter) 또는 어깨 글자에 붙어 있는 경우, 이 “→”는 다리 글자 또는 어깨 글자에 어깨 글자로 붙어 있는 것을 의미한다.
 또한, 이하의 설명에 있어서, 서명 처리란, 키 생성 처리, 서명 처리, 검증 처리를 포함하는 것이다.
 실시의 형태 1.
 본 실시의 형태에서는, 「속성 베이스 서명 방식」에 대하여 설명한다.
 제 1에, 속성 베이스 서명에 대하여 간단히 설명한다.
 제 2에, 속성 베이스 서명 방식을 실현하기 위한 공간인 「쌍대 페어링 벡터 공간(Dual Pairing Vector Spaces, DPVS)」이라고 하는 풍부한 수학적 구조를 갖는 공간을 설명한다.
 제  3에,  속성  베이스  서명  방식을  실현하기  위한  개념을  설명한다.    여기서는,  「스팬  프로그램(Span  Program)」,  「속성  벡터의  내적과  액세스  스트럭쳐」,  「비밀  분산  방식(비밀  공유  방식)」에  대하여  설명한다.    또한,  「충돌  곤란  해시  함수(Collision  Resistant  Hash  Functions)」에  대해서도  설명한다.
 제  4에,  본  실시의  형태에  따른  「속성  베이스  서명  방식」을  설명한다.    우선,  「속성  베이스  서명  방식」의  기본  구성에  대하여  설명한다.    다음으로,  「속성  베이스  서명  방식」을  실현하는  「서명  처리  시스템(10)」의  기본  구성에  대하여  설명한다.    그리고,  본  실시의  형태에  따른  「속성  베이스  서명  방식」  및  「서명  처리  시스템(10)」에  대하여  상세히  설명한다.
 <제 1. 속성 베이스 서명>
 디지털  서명의  개념은,  Diffie와  Hellman에  의해  1976년에  논문으로  소개되었다.    여기서는,  디지털  서명의  개념은,  비밀이  되는  서명  키  sk와  공개되는  검증  키  pk의  페어가  서명자에  대하여  생성되고,  서명  키  sk를  이용하여  생성된  메시지  m의  서명  σ가,  대응하는  검증  키  pk에  의해  검증되게  되었다.    다시  말해,  서명  키  sk를  사용하여  서명된  메시지(m,  σ)의  서명자가,  검증  키  pk에  의해  확인되게  되었다.
 이것은,  디지털  서명의  요건의  하나이기는  하다.    그러나,  서명  키  sk와  검증  키  pk의  관계가  밀접하기  때문에,  서명자와  서명에  의해  증명되는  내용  사이의  관계에  유연성이나  프라이버시가  없다.
 서명 키와 검증 키의 관계가 보다 유연하게 되거나 또는 세련되게 됨으로써, 용도가 넓고, 프라이버시가 향상된 디지털 서명의 개량형이 연구되고 있다.
 서명의  이  클래스에서는,  서명  키와  검증  키는  각각,  속성  x와  술어  v에  의해  파라미터화되어  있다.    그리고,  서명된  메시지(m,  σ)는,  파라미터  x를  동반하는  서명  키  sk x에 의해 생성되고, 공개된 키 pk와 파라미터 v에 의해, 술어 v가 속성 x를 수리하는 경우(v(x)가 성립하는 경우)에만, 정확하게 검증된다.
 서명의 이 클래스에 있어서의 서명자의 프라이버시란, 서명 키 sk x에 의해 생성된 술어 v에 대한 서명이, v(x)가 성립하는 것을 제외하고 속성 x에 관한 정보를 누설하지 않는 것이다.
 술어 v가 파라미터 v와의 등호 관계인 경우(다시 말해, x=v의 경우에만 v(x)가 성립하는 경우), 이 술어에 대한 서명의 클래스는 ID 베이스 서명(Identity-Based Signatures, IBS)이다(비특허 문헌 46 참조).
 또, ID 베이스 서명에서는, x=v와 같이, 서명자의 비밀 키인 sk x의  속성  x를  술어  v가  유일하게  식별한다.    그  때문에,  ID  베이스  서명에는  프라이버시의  여지는  없다.
 그룹  서명(Group  Signatures)은,  서명의  이  클래스에  포함되는  서명이다(비특허  문헌  19  참조).    그룹  서명은,  술어의  파라미터  v가  그룹  식별자이고,  속성  x가  그룹  v의  멤버의  식별자인(또는  pk v가 그룹 v를 식별하는 공개 키이고, sk x가 그룹 v의 멤버 x의 비밀 키인) 경우에만, v(x)가 성립한다고 하는 술어 v를 동반하는 서명이다.
 프라이버시의 요건에 근거하여, 비밀 키 sk x를 사용하여 생성된 서명은 x가 그룹 v의 멤버인 것을 제외하고, 식별자 x에 관한 정보를 누설하지 않는다.
 속성  베이스  서명은,  서명의  이  클래스에  포함되는  서명이고,  보다  세련된  술어를  동반하는  서명이다(비특허  문헌  26,  29,  30,  34-36,  45,  51  참조).    속성  베이스  서명은,  서명  키  sk x에 대한 x가 속성 (x 1, …, x i)의 조이고, 검증을 위한 v가 임계값 또는 액세스 스트럭쳐의 술어이다.
 존재하는  속성  베이스  서명  방식에  있어서의  술어가  가장  넓은  클래스는  모노톤  액세스  스트럭쳐이다(비특허  문헌  36,  37  참조).    모노톤  액세스  스트럭쳐에서는,  술어  v는,  속성  (v 1, …, v j)의 조를 동반하는 모노톤 스팬 프로그램(M, ρ)(MSP(M, ρ))에 의해 특정되고, MSP(M, ρ)가 (T(x i_1=v 1), …, T(x i_j=v j))의  진리값의  벡터를  수리하는  경우만,  v(x)가  성립한다.    여기서,  φ가  참인  경우,  T(φ):=1이고,  φ가  거짓인  경우,  T(φ):=0이다.    예컨대,  x=v인  경우,  T(x=v):=1이고,  x≠v인  경우,  T(x=v):=0이다.
 이와 같은 모노톤 술어는, AND, OR, 임계값의 게이트를 표현할 수 있다.
 속성 베이스 서명에 대한 모노톤 술어 v의 예를 설명한다.
 모노톤  술어  v의  예로서는,  (Institute=Univ.A)  AND  (TH2((Department=Biology),  (Gender=Female),  (Age=50‘s))  OR  (Position=Professor))이다.    여기서,  TH2는  임계값의  값이  2인  임계값  게이트(다시  말해,  2개  이상  성립하는  것을  요구하는  게이트)를  의미한다.
 앨리스의 속성 x A가, (Institute=Univ.A), (Department=Biology), (Position=Postdoc), (Age=30), (Gender=Female)이고, 밥의 속성 x B가,  (Institute=Univ.A),  (Department=Mathematics),  (Position=Professor),  (Age=45),  (Gender=Male)인  것으로  한다.    속성  x A와 속성 x B는 전혀 다르지만, v(x A)와 v(x B)가  모두  성립하는  것은  분명하다.    또한,  술어  v를  만족시키는  다른  많은  속성이  있는  것은  분명하다.
 그  때문에,  앨리스와  밥은,  이  술어에  있어서의  서명을  생성할  수  있다.    또한,  속성  베이스  서명의  프라이버시  요건에  근거하여,  서명자의  속성이  술어  v를  만족시키는  것을  제외하고,  술어  v에  대한  서명은  서명자,  다시  말해  앨리스와  밥(또는  그  밖)의  속성에  관하여  정보를  누설하지  않는다.
 속성 베이스 서명에는, 속성 베이스 메시징(Attributed-Based Messaging, ABM), 속성 베이스 인증(Attributed-Based authentication), trust-negotiation, leaking secrets 등의 많은 어플리케이션이 존재한다(비특허 문헌 36, 37 참조).
 그러나,  논모노톤  술어에  대한  속성  베이스  서명  방식은,  안전성이  약한  것이더라도  존재하지  않았다.    논모노톤  술어는,  AND,  OR,  임계값의  게이트와  마찬가지로,  NOT의  게이트를  표현할  수  있다.
 다시  말해,  모노톤  술어로는,  (Institute=Univ.A)와  같이,  긍정형의  조건은  설정할  수  있지만,  (Institute≠Univ.A)(다시  말해,  Not(Institute=Univ.A))와  같이  부정형의  조건은  설정할  수  없다.    이것에  비하여,  논모노톤  술어로는,  부정형의  조건을  설정할  수  있다.
 대학이  Univ.A  이외에도  다수  존재하는  경우,  긍정형의  조건만을  이용하여,  Univ.A  이외라고  하는  부정형의  조건을  설정하는  것은  곤란하다(기술(記述)이  복잡해진다).    이것으로부터도,  논모노톤  술어의  유용성을  알  수  있다.
 <제 2. 쌍대 페어링 벡터 공간>
 우선, 대칭 쌍선형 페어링군(Symmetric Bilinear Pairing Groups)에 대하여 설명한다.
 대칭 쌍선형 페어링군 (q, G, G T, g, e)는, 소수(素數) q와, 위수 q의 순회 가법군(cyclic additive group) G와, 위수 q의 순회 승법군(cyclic multiplicative group) G T와, g≠0∈G와, 다항식 시간으로 계산 가능한 비퇴화 쌍선형 페어링(Nondegenerate Bilinear Pairing) e:G×G→G T 조이다.    비퇴화  쌍선형  페어링은,  e(sg,  tg)=e(g,  g) st이고, e(g, g)≠1이다.
 이하의 설명에 있어서, 수학식 115를, 1 λ를 입력으로 하여, 시큐리티 파라미터를 λ로 하는 쌍선형 페어링군의 파라미터 param G:=(q, G, G T, g, e)의 값을 출력하는 알고리즘으로 한다.
 [수학식 115]
 
 다음으로, 쌍대 페어링 벡터 공간에 대하여 설명한다.
 쌍대 페어링 벡터 공간 (q, V, G T, A, e)는, 대칭 쌍선형 페어링군 (param G:=(q, G, G T,  g,  e))의  직적에  의해  구성할  수  있다.    쌍대  페어링  벡터  공간  (q,  V,  G T, A, e)는, 소수 q, 수학식 116에 나타내는 F q상의 N차원 벡터 공간 V, 위수 q의 순회군 G T, 공간 V의 표준 기저 A:=(a 1, …, a N)의  조이고,  이하의  연산(1),  (2)를  갖는다.    여기서,  a i는, 수학식 117에 나타내는 것과 같다.
 [수학식 116]
 
 [수학식 117]
 
 연산(1) : 비퇴화 쌍선형 페어링
 공간 V에 있어서의 페어링은, 수학식 118에 의해 정의된다.
 [수학식 118]
 
 이것은,  비퇴화  쌍선형이다.    다시  말해,  e(sx,  ty)=e(x,  y) st이고,  모든  y∈V에  대하여,  e(x,  y)=1인  경우,  x=0이다.    또한,  모든  i와  j에  대하여,  e(a i, a j)=e(g, g) δi, j이다.    여기서,  i=j이면,  δ i, j=1이고, i≠j이면, δ i, j=0이다.    또한,  e(g,  g)≠1∈G T이다.
 연산(2) : 디스토션 사상
 수학식 119에 나타내는 공간 V에 있어서의 선형 변환 φ i, j는, 수학식 120을 행할 수 있다.
 [수학식 119]
 
 [수학식 120]
 
 여기서, 선형 변환 φ i, j를 디스토션 사상이라고 부른다.
 이하의 설명에 있어서, 수학식 121을, 1 λ(λ∈자연수), N∈자연수, 쌍선형 페어링군의 파라미터 param G:=(q, G, G T, g, e)의 값을 입력으로 하여, 시큐리티 파라미터가 λ이고, N차원의 공간 V로 하는 쌍대 페어링 벡터 공간의 파라미터 param V:=(q, V, G T, A, e)의 값을 출력하는 알고리즘으로 한다.
 [수학식 121]
 
 또,  여기서는,  상술한  대칭  쌍선형  페어링군에  의해,  쌍대  페어링  벡터  공간을  구성한  경우에  대하여  설명한다.    또,  비대칭  쌍선형  페어링군에  의해  쌍대  페어링  벡터  공간을  구성하는  것도  가능하다.    이하의  설명을,  비대칭  쌍선형  페어링군에  의해  쌍대  페어링  벡터  공간을  구성한  경우에  응용하는  것은  용이하다.
 <제 3. 속성 베이스 서명 방식을 실현하기 위한 개념>
 <제 3-1. 스팬 프로그램>
 도 1은 행렬 M ^의 설명도이다.
 {p 1, …, p n}을  변수의  집합으로  한다.    M ^:=(M,  ρ)는,  레이블링(labeling)된  행렬이다.    여기서,  행렬  M은,  F q상의  (L행×r열)의  행렬이다.    또한,  ρ는,  행렬  M의  각  행에  부여된  레이블이고,  {p 1, …, p n, ¬p 1, …, ¬p n}의  어느  하나의  리터럴(literal)에  대응된다.    또,  M의  모든  행에  부여된  레이블  ρ i(i=1,  …,  L)가  어느  하나의  리터럴에  대응된다.    다시  말해,  ρ:{1,  …,  L}→{p 1, …, p n, ¬p 1, …, ¬p n}이다.
 모든 입력열 δ∈{0, 1} n에 대하여, 행렬 M의 부분 행렬 M δ는  정의된다.    행렬  M δ는,  입력열  δ에  의해  레이블  ρ에  값  “1”이  대응된  행렬  M의  행으로  구성되는  부분  행렬이다.    다시  말해,  행렬  M δ는, δ i=1인 p i에 대응된 행렬 M의 행과, δ i=0인 ¬p i에 대응된 행렬 M의 행으로 이루어지는 부분 행렬이다.
 도 2는 행렬 M δ의  설명도이다.    또,  도  2에서는,  n=7,  L=6,  r=5로  하고  있다.    다시  말해,  변수의  집합은,  {p 1, …, p 7}이고,  행렬  M은  (6행×5열)의  행렬이다.    또한,  도  2에  있어서,  레이블  ρ는,  ρ 1이 ¬p 2에, ρ 2가 p 1에, ρ 3이 p 4에, ρ 4가 ¬p 5에, ρ 5가 ¬p 3에, ρ 6이 p 5에 각각 대응되어 있는 것으로 한다.
 여기서, 입력열 δ∈{0, 1} 7이, δ 1=1, δ 2=0, δ 3=1, δ 4=0, δ 5=0, δ 6=1, δ 7=1인  것으로  한다.    이  경우,  파선으로  둘러싼  리터럴  (p 1, p 3, p 6, p 7, ¬p 2, ¬p 4, ¬p 5)에 대응되어 있는 행렬 M의 행으로 이루어지는 부분 행렬이 행렬 M δ이다.    다시  말해,  행렬  M의  1행째(M 1), 2행째(M 2), 4행째(M 4)로 이루어지는 부분 행렬이 행렬 M δ이다.
 바꿔 말하면, 사상 γ:{1, …, L}→{0, 1}이, [ρ(j)=p i]∧[δ i=1] 또는 [ρ(j)=¬p i]∧[δ i=0]인  경우,  γ(j)=1이고,  다른  경우,  γ(j)=0인  것으로  한다.    이  경우에,  M δ:=(M j) γ(j)=1이다.    여기서,  M j는, 행렬 M의 j번째의 행이다.
 다시  말해,  도  2에서는,  사상  γ(j)=1(j=1,  2,  4)이고,  사상  γ(j)=0(j=3,  5,  6)이다.    따라서,  (M j) γ(j)=1은, M 1, M 2, M 4이고, 행렬 M δ이다.
 즉, 사상 γ(j)의 값이 “0”인지 “1”인지에 따라, 행렬 M의 j번째의 행이 행렬 M δ에 포함될지 여부가 결정된다.
 1 ∈span<M δ>인 경우에 한해, 스팬 프로그램 M ^는  입력열  δ를  수리하고,  다른  경우에는  입력열  δ를  거절한다.    다시  말해,  입력열  δ에  의해  행렬  M ^로부터 얻어지는 행렬 M δ의 행을 선형 결합하여 1 가 얻어지는 경우에 한해, 스팬 프로그램 M ^는  입력열  δ를  수리한다.    또,  1 란, 각 요소가 값 “1”인 행벡터이다.
 예컨대, 도 2의 예이면, 행렬 M의 1, 2, 4행째로 이루어지는 행렬 M δ의 각 행을 선형 결합하여 1 가 얻어지는 경우에 한해, 스팬 프로그램 M ^는  입력열  δ를  수리한다.    다시  말해,  α 1(M 1)+α 2(M 2)+α 4(M 4)=1 가 되는 α 1, α 2, α 4가 존재하는 경우에는, 스팬 프로그램 M ^는 입력열 δ를 수리한다.
 여기서, 레이블 ρ가 정의 리터럴 {p 1, …, p n}에만  대응되어  있는  경우,  스팬  프로그램은  모노톤이라고  불린다.    한편,  레이블  ρ가  리터럴  {p 1, …, p n, ¬p 1, …, ¬p n}에  대응되어  있는  경우,  스팬  프로그램은  논모노톤이라고  불린다.    여기서는,  스팬  프로그램은  논모노톤으로  한다.    그리고,  논모노톤  스팬  프로그램을  이용하여,  액세스  스트럭쳐(논모노톤  액세스  스트럭쳐)를  구성한다.
 상술한 바와 같이, 스팬 프로그램이 모노톤이 아니고, 논모노톤인 것에 의해, 스팬 프로그램을 이용하여 구성하는 속성 베이스 서명 방식의 이용 범위가 넓어진다.
 <제 3-2. 속성 벡터의 내적과 액세스 스트럭쳐>
 여기서는,  속성  벡터의  내적을  이용하여  상술한  사상  γ(j)를  계산한다.    다시  말해,  속성  벡터의  내적을  이용하여,  행렬  M의  어느  행을  행렬  M δ에 포함시킬지를 결정한다.
 U t(t=1, …, d이고 U t⊂{0, 1} *)는,  부분  전집합(sub-universe)이고,  속성의  집합이다.    그리고,  U t는, 각각 부분 전집합의 식별 정보 (t)와, n t차원 벡터 (v )를  포함한다.    다시  말해,  U t는, (t, v )이다.    여기서,  t∈{1,  …,  d}이고,  v ∈F q nt이다.
 U t:=(t, v )를 스팬 프로그램 M ^:=(M,  ρ)에  있어서의  변수  p로  한다.    다시  말해,  p:=(t,  v )이다.    그리고,  변수  (p:=(t,  v ), (t’, v’ ), …)로 한 스팬 프로그램 M ^:=(M, ρ)를 액세스 스트럭쳐 S로 한다.
 다시 말해, 액세스 스트럭쳐 S:=(M, ρ)이고, ρ:{1, …, L}→{(t, v ), (t’, v’ ), …, ¬(t, v ), ¬(t’, v’ ), …}이다.
 다음으로,  Γ를  속성의  집합으로  한다.    다시  말해,  Γ:={(t,  x t)|x t∈F q nt, 1≤t≤d}이다.
 액세스 스트럭쳐 S에 Γ가 주어진 경우, 스팬 프로그램 M ^:=(M,  ρ)에  대한  사상  γ:{1,  …,  L}→{0,  1}은,  이하와  같이  정의된다.    i=1,  …,  L의  각  정수  i에  대하여,  [ρ(i)=(t,  v i)]∧[(t, x t)∈Γ]∧[v iㆍx t=0], 또는, [ρ(i)=¬(t, v i)]∧[(t, x t)∈Γ]∧[v iㆍx t≠0]인 경우, γ(i)=1이고, 다른 경우, γ(i)=0으로 한다.
 다시 말해, 속성 벡터 v 와 x 의  내적에  근거하여,  사상  γ가  계산된다.    그리고,  상술한  바와  같이,  사상  γ에  의해,  행렬  M의  어느  행을  행렬  M δ에  포함시킬지가  결정된다.    즉,  속성  벡터  v 와 x 의 내적에 의해, 행렬 M의 어느 행을 행렬 M δ에 포함시킬지가 결정되고, 1 ∈span<(M i) γ(i)=1>인 경우에 한해, 액세스 스트럭쳐 S:=(M, ρ)는 Γ를 수리한다.
 t∈{1, …, d}의 모든 정수 t에 대하여, n t=2로 하고, x :=(1, x), v :=(v, -1)로 한 경우, 이 액세스 스트럭쳐에 있어서의 내적 술어의 관계가 보다 간단한 형식이 된다.
 이 경우, (t, x t):=(t, (1, x)), (t, v i):=(t, (v i,  -1))이다.    그러나,  이들을  간단화하여  (t,  x t), (t, v i)로  나타낸다.    그러면,  액세스  스트럭쳐  S는,  ρ:={1,  …,  L}→{(t,  v),  (t’,  v’),  …,  ¬(t,  v),  ¬(t’,  v’),  …}(v,  v’,  …∈F q)인  S:=(M,  ρ)가  된다.    또한,  속성의  집합  Γ는,  Γ:={(t,  x t)|x t∈F q, 1≤t≤d}가 된다.
 그리고, 액세스 스트럭쳐 S에 Γ가 주어진 경우, 스팬 프로그램 M ^:=(M,  ρ)에  대한  사상  γ:{1,  …,  L}→{0,  1}은,  이하와  같이  정의된다.    i=1,  …,  L의  각  정수  i에  대하여,  [ρ(i)=(t,  v i)]∧[(t, x t)∈Γ]∧[v i=x t], 또는, [ρ(i)=¬(t, v i)]∧[(t, x t)∈Γ]∧[v i≠x t]인 경우, γ(i)=1이고, 다른 경우, γ(i)=0으로 한다.
 <제 3-3. 비밀 분산 방식>
 액세스 스트럭쳐 S:=(M, ρ)에 대한 비밀 분산 방식에 대하여 설명한다.
 또,  비밀  분산  방식이란,  비밀  정보를  분산시켜,  의미가  없는  분산  정보로  하는  것이다.    예컨대,  비밀  정보  s를  10개로  분산시켜,  10개의  분산  정보를  생성한다.    여기서,  10개의  분산  정보  각각은,  비밀  정보  s의  정보를  갖고  있지  않다.    따라서,  어느  하나의  분산  정보를  손에  넣더라도  비밀  정보  s에  관하여  조금도  정보를  얻을  수는  없다.    한편,  10개의  분산  정보를  모두  손에  넣으면,  비밀  정보  s를  복원할  수  있다.
 또한,  10개의  분산  정보를  모두  손에  넣지  않더라도,  일부만(예컨대,  8개)  손에  넣으면  비밀  정보  s를  복원할  수  있는  비밀  분산  방식도  있다.    이와  같이,  10개의  분산  정보  중  8개로  비밀  정보  s를  복원할  수  있는  경우를,  8-out-of-10이라고  부른다.    다시  말해,  n개의  분산  정보  중  t개로  비밀  정보  s를  복원할  수  있는  경우를,  t-out-of-n이라고  부른다.    이  t를  임계값이라고  부른다.
 또한, d 1, …, d 10의 10개의 분산 정보를 생성한 경우에, d 1, …, d 8까지의 8개의 분산 정보이면 비밀 정보 s를 복원할 수 있지만, d 3, …, d 10까지의  8개의  분산  정보이면  비밀  정보  s를  복원할  수  없다고  하는  비밀  분산  방식도  있다.    다시  말해,  손에  넣은  분산  정보의  수뿐만  아니라,  분산  정보의  조합에  따라  비밀  정보  s를  복원할  수  있는지  여부를  제어하는  비밀  분산  방식도  있다.
 도 3은 s 0의  설명도이다.    도  4는  s →T의 설명도이다.
 행렬  M을  (L행×r열)의  행렬로  한다.    f →T를 수학식 122에 나타내는 열벡터로 한다.
 [수학식 122]
 
 수학식 123에 나타내는 s 0을 공유되는 비밀 정보로 한다.
 [수학식 123]
 
 또한, 수학식 124에 나타내는 s →T를 s 0의 L개의 분산 정보의 벡터로 한다.
 [수학식 124]
 
 그리고, 분산 정보 s i를 ρ(i)에 속하는 것으로 한다.
 액세스 스트럭쳐 S:=(M, ρ)가 Γ를 수리하는 경우, 다시 말해 γ:{1, …, L}→{0, 1}에 대하여 1 ∈span<(M i) γ(i)=1>인 경우, I⊆{i∈{1, …, L}|γ(i)=1}인 상수 {α i∈F q|i∈I}가 존재한다.
 이것은, 도 2의 예에서, α 1(M 1)+α 2(M 2)+α 4(M 4)=1 가 되는 α 1, α 2, α 4가 존재하는 경우에는, 스팬 프로그램 M ^는  입력열  δ를  수리한다고  설명한  것으로부터도  분명하다.    다시  말해,  α 1(M 1)+α 2(M 2)+α 4(M 4)=1 가 되는 α 1, α 2, α 4가 존재하는 경우에는, 스팬 프로그램 M ^가 입력열 δ를 수리하는 것이면, α 1(M 1)+α 2(M 2)+α 4(M 4)=1 가 되는 α 1, α 2, α 4가 존재한다.
 그리고, 수학식 125이다.
 [수학식 125]
 
 또, 상수 {α i}는, 행렬 M의 사이즈에 있어서의 다항식 시간으로 계산 가능하다.
 본  실시의  형태  및  이하의  실시의  형태에  따른  속성  베이스  서명  방식은,  상술한  바와  같이,  스팬  프로그램에  내적  술어와  비밀  분산  방식을  적용하여  액세스  스트럭쳐를  구성한다.    그  때문에,  스팬  프로그램에  있어서의  행렬  M이나,  내적  술어에  있어서의  속성  정보  x  및  속성  정보  v(술어  정보)를  설계하는  것에  의해,  액세스  제어를  자유롭게  설계할  수  있다.    다시  말해,  매우  높은  자유도로  액세스  제어의  설계를  행할  수  있다.    또,  행렬  M의  설계는,  비밀  분산  방식의  임계값  등의  조건  설계에  상당한다.
 특히,  본  실시의  형태  및  이하의  실시의  형태에  따른  속성  베이스  서명  방식에  있어서의  액세스  스트럭쳐는,  논모노톤  스팬  프로그램을  이용한  논모노톤  액세스  스트럭쳐를  구성한다.    다시  말해,  본  실시의  형태  및  이하의  실시의  형태에  따른  속성  베이스  서명  방식은,  논모노톤  술어를  동반하는  서명  방식이다.    그  때문에,  액세스  제어의  설계의  자유도가  보다  높아진다.
 <제 3-4. 충돌 곤란 해시 함수>
 충돌 곤란 해시 함수란, 출력이 같아지는 2개의 입력을 찾는 것이 곤란한 해시 함수이다.
 자연수  λ를  시큐리티  파라미터로  한다.    알고리즘  G bpg에 관한 충돌 곤란 해시 함수계 H와, 다항식 poly(λ)에 대하여 이하의 2가지를 말할 수 있다.
 1.  키  공간계는,  λ에  의해  색인이  만들어진다.    각  키  공간은,  KH λ에  의해  나타나는  비트열에  있어서의  확률  공간이다.    1 λ를 입력으로 한 경우의 출력 분포가 KH λ와 같은 확률적 다항식 시간 알고리즘이 존재한다.
 2. 해시 함수계는, λ와, KH λ로부터 랜덤으로 선택된 hk와, D:={0, 1} poly (λ)에  의해  색인이  만들어진다.    여기서,  각  함수  H hk λ, D는, D의 요소로부터 F q X로의  사상이다.    또,  q는,  알고리즘  G bpg(1 λ)의 출력 param G의  최초의  요소이다.    1 λ와 hk와 d∈D를 입력으로 하여, H hk λ, D(d)를 출력하는 결정적 다항식 시간 알고리즘이 있다.
 ε을  확률적  다항식  시간  기계인  것으로  한다.    모든  λ에  대하여,  수학식  126을  정의한다.
 [수학식 126]
 
 어떠한 확률적 다항식 시간 공격자 ε에 대해서도, Adv ε H, CR(λ)가 무시할 수 있을 정도이기 때문에, H는 충돌 곤란 해시 함수계이다.
 <제 4. 속성 베이스 서명 방식의 구성>
 <제 4-1. 속성 베이스 서명 방식의 기본 구성>
 속성 베이스 서명 방식은, Setup, KeyGen, Sig, Ver의 4개의 알고리즘을 구비한다.
 (Setup)
 Setup 알고리즘은, 시큐리티 파라미터 λ와, 속성의 포맷 n :=((d; n t, u t, w t, z t(t=1, …, d))를 입력으로 하여, 공개 파라미터 pk와, 마스터 키 sk를 출력하는 확률적 알고리즘이다.
 (KeyGen)
 KeyGen 알고리즘은, 속성의 집합인 Γ:={(t, x t)|x t∈F q nt\{0 }, 1≤t≤d}와, 공개 파라미터 pk와, 마스터 키 sk를 입력으로 하여, 서명 키 sk Γ를 출력하는 확률적 알고리즘이다.
 (Sig)
 Sig 알고리즘은, 메시지 m과, 속성의 집합 Γ를 수리하는 액세스 스트럭쳐 S:=(M, ρ)와, 서명 키 sk Γ와, 공개 파라미터 pk를 입력으로 하여, 서명 s →*와 메시지 m과 액세스 스트럭쳐 S를 포함하는 서명 데이터 σ를 출력하는 확률적 알고리즘이다.
 (Ver)
 Ver 알고리즘은, 서명 데이터 σ와, 공개 파라미터 pk를 입력으로 하여, 불값(Boolean value) 1(수리) 또는 0(거절)을 출력하는 알고리즘이다.
 속성 베이스 서명 방식은, 수학식 127에 나타내는 모든 공개 파라미터 pk 및 마스터 키 sk와, 모든 메시지 m과, 모든 속성의 집합 Γ와, 수학식 128에 나타내는 모든 서명 키 sk Γ와, 속성의 집합 Γ를 수리하는 모든 액세스 스트럭쳐 S와, 수학식 129에 나타내는 모든 서명 데이터 σ에 대하여, 확률 1로 1=Ver(pk, m, S, σ)가 성립한다.
 [수학식 127]
 
 [수학식 128]
 
 [수학식 129]
 
 <제 4-2. 서명 처리 시스템(10)>
 상술한 속성 베이스 서명 방식의 알고리즘을 실행하는 서명 처리 시스템(10)에 대하여 설명한다.
 도 5는 속성 베이스 서명 방식의 알고리즘을 실행하는 서명 처리 시스템(10)의 구성도이다.
 서명 처리 시스템(10)은, 키 생성 장치(100), 서명 장치(200), 검증 장치(300)를 구비한다.
 키 생성 장치(100)는, 시큐리티 파라미터 λ와, 속성의 포맷 n :=((d; n t, u t, w t, z t(t=1,  …,  d))를  입력으로  하여  Setup  알고리즘을  실행하여,  공개  파라미터  pk와  마스터  키  sk를  생성한다.    그리고,  키  생성  장치(100)는,  생성한  공개  파라미터  pk를  공개한다.    또한,  키  생성  장치(100)는,  속성의  집합인  Γ:={(t,  x t)|x t∈F q nt\{0 }, 1≤t≤d}와, 공개 파라미터 pk와, 마스터 키 sk를 입력으로 하여 KeyGen 알고리즘을 실행하여, 서명 키 sk Γ를 생성하여 서명 장치(200)에 비밀리에 배포한다.
 서명 장치(200)는, 메시지 m과, 속성의 집합 Γ를 수리하는 액세스 스트럭쳐 S:=(M, ρ)와, 서명 키 sk Γ와, 공개 파라미터 pk를 입력으로 하여 Sig 알고리즘을 실행하여, 서명 s →*와  메시지  m과  액세스  스트럭쳐  S를  포함하는  서명  데이터  σ를  생성한다.    서명  장치(200)는,  생성한  서명  데이터  σ를  검증  장치(300)에  송신한다.
 검증 장치(300)는, 서명 데이터 σ와, 공개 파라미터 pk를 입력으로 하여 Ver 알고리즘을 실행하여, 불값 1(수리) 또는 0(거절)을 출력한다.
 <제 4-3. 속성 베이스 서명 방식 및 서명 처리 시스템(10)의 상세>
 도 6으로부터 도 12에 근거하여, 속성 베이스 서명 방식 및 속성 베이스 서명 방식을 실행하는 서명 처리 시스템(10)의 기능과 동작에 대하여 설명한다.
 도  6은  키  생성  장치(100)의  기능을  나타내는  기능  블록도이다.    도  7은  서명  장치(200)의  기능을  나타내는  기능  블록도이다.    도  8은  검증  장치(300)의  기능을  나타내는  기능  블록도이다.
 도  9와  도  10은  키  생성  장치(100)의  동작을  나타내는  플로차트이다.    또,  도  9는  Setup  알고리즘의  처리를  나타내는  플로차트이고,  도  10은  KeyGen  알고리즘의  처리를  나타내는  플로차트이다.    도  11은  서명  장치(200)의  동작을  나타내는  플로차트이고,  Sig  알고리즘의  처리를  나타내는  플로차트이다.    도  12는  검증  장치(300)의  동작을  나타내는  플로차트이고,  Ver  알고리즘의  처리를  나타내는  플로차트이다.
 키 생성 장치(100)의 기능과 동작에 대하여 설명한다.
 도 6에 나타내는 바와 같이, 키 생성 장치(100)는, 마스터 키 생성부(110), 마스터 키 기억부(120), 정보 입력부(130)(제 1 정보 입력부), 서명 키 생성부(140), 키 배포부(150)(서명 키 송신부)를 구비한다.
 또한, 서명 키 생성부(140)는, 난수 생성부(141), 키 요소 0 생성부(142), 키 요소 t 생성부(143), 키 요소 d+1 생성부(144)를 구비한다.
 또, 이하의 설명에 있어서, H:=(KH λ, H hk λ, D)는, 상술한 충돌 곤란 해시 함수계이다.
 우선, 도 9에 근거하여, 키 생성 장치(100)가 실행하는 Setup 알고리즘의 처리에 대하여 설명한다.
 (S101 : 정규 직교 기저 생성 단계)
 마스터 키 생성부(110)는, 처리 장치에 의해, 수학식 130을 계산하여, param n→와, t=0, …, d+1의 각 정수 t에 대하여 기저 B t 및 기저 B * t를 랜덤으로 생성한다.
 [수학식 130]
 
 다시 말해, 마스터 키 생성부(110)는 이하의 처리를 실행한다.
 (1) 마스터 키 생성부(110)는, 입력 장치에 의해, 시큐리티 파라미터 λ(1 λ)와, 속성의 포맷 n :=((d; n t, u t, w t, z t(t=0,  …,  d+1))를  입력한다.    여기서,  d는  1  이상의  정수이다.    t=0에  대하여  n t는 1이고, t=1, …, d까지의 각 정수 t에 대하여 n t는 1 이상의 정수이고, t=d+1에 대하여 n t는  2이다.    t=0,  …,  d+1까지의  각  정수  t에  대하여  u t, w t, z t는 1 이상의 정수이다.
 (2) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐리티 파라미터 λ(1 λ)를 입력으로 하여 알고리즘 G bpg를 실행하여, 랜덤으로 쌍선형 페어링군의 파라미터 param G:=(q, G, G T, g, e)의 값을 생성한다.
 (3)  마스터  키  생성부(110)는,  처리  장치에  의해,  난수  ψ를  생성한다.    또한,  마스터  키  생성부(110)는,  t=0,  …,  d+1의  각  정수  t에  대하여  N t에 n t+u t+w t+z t를 설정한다.
 계속해서, 마스터 키 생성부(110)는, t=0, …, d+1의 각 정수 t에 대하여 이하의 (4)로부터 (8)까지의 처리를 실행한다.
 (4) 마스터 키 생성부(110)는, 처리 장치에 의해, (1)에서 입력한 시큐리티 파라미터 λ(1 λ)와, (3)에서 설정한 N t와, (2)에서 생성한 param G:=(q, G, G T, g, e)의 값을 입력으로 하여 알고리즘 G dpvs를 실행하여, 쌍대 페어링 벡터 공간의 파라미터 param Vt:=(q, V t, G T, A t, e)의 값을 생성한다.
 (5) 마스터 키 생성부(110)는, 처리 장치에 의해, (3)에서 설정한 N t와, F q를 입력으로 하여, 선형 변환 X t:=(χ t, i, j) i, j를  랜덤으로  생성한다.    또,  GL은,  General  Linear를  나타낸다.    다시  말해,  GL은,  일반  선형군이고,  행렬식이  0이  아닌  정방  행렬의  집합이고,  승법에  관한  군이다.    또한,  (χ t, i, j) i, j는, 행렬 χ t, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이고, 여기서는, i, j=1, …, n t이다.
 (6) 마스터 키 생성부(110)는, 처리 장치에 의해, 난수 ψ와 선형 변환 X t에 근거하여, (ν t, i, j) i, j:=ψㆍ(X t T) -1을  생성한다.    또,  (ν t, i, j) i, j도 (χ t, i, j) i, j와 마찬가지로, 행렬 ν t, i, j의 첨자 i, j에 관한 행렬이라고 하는 의미이고, 여기서는, i, j=1, …, n t이다.
 (7) 마스터 키 생성부(110)는, 처리 장치에 의해, (5)에서 생성한 선형 변환 X t에 근거하여, (4)에서 생성한 표준 기저 A t로부터 기저 B t를 생성한다.
 (8) 마스터 키 생성부(110)는, 처리 장치에 의해, (6)에서 생성한 (ν t, i, j) i, j에 근거하여, (4)에서 생성한 표준 기저 A t로부터 기저 B * t를 생성한다.
 (9) 마스터 키 생성부(110)는, 처리 장치에 의해, g T에 e(g, g) ψ를  설정한다.    또한,  마스터  키  생성부(110)는,  param n 에 (4)에서 생성한 {param Vt} t=0, …, d+1과, g T를  설정한다.    또,  t=0,  …,  d+1과  i=1,  …,  N t의 각 정수 t, i에 대하여, g T=e(b t, i, b * t, i)이다.
 즉, (S101)에서, 마스터 키 생성부(110)는, 수학식 131에 나타내는 알고리즘 G ob를 실행하여, param n 와, t=0, …, d+1의 각 정수 t에 대하여 기저 B t 및 기저 B * t를 생성한다.
 [수학식 131]
 
 (S102 : 해시 키 생성 단계)
 마스터 키 생성부(110)는, 처리 장치에 의해, 수학식 132를 계산하여, 해시 키 hk를 랜덤으로 생성한다.
 [수학식 132]
 
 (S103 : 공개 파라미터 생성 단계)
 마스터 키 생성부(110)는, 처리 장치에 의해, 기저 B 0의 부분 기저 B ^ 0과, t=1, …, d의 각 정수 t에 대하여 기저 B t의 부분 기저 B ^ t와, 기저 B d +1의 부분 기저 B ^ d+1을 수학식 133에 나타내는 바와 같이 생성한다.
 [수학식 133]
 
 또한, 마스터 키 생성부(110)는, 처리 장치에 의해, t=1, …, d의 각 정수 t에 대하여 기저 B * t의 부분 기저 B ^* t와, 기저 B * d+1의 부분 기저 B ^* d+1을 수학식 134에 나타내는 바와 같이 생성한다.
 [수학식 134]
 
 마스터 키 생성부(110)는, 생성한 부분 기저 B ^ t(t=0, …, d+1)와 부분 기저 B ^* t(t=1, …, d+1)와, (S101)에서 입력된 시큐리티 파라미터 λ(1 λ)와, (S101)에서 생성한 param n 와, (S102)에서 생성한 해시 키 hk와, 기저 벡터 b * 0, 1+ u0 +1, …, b * 0, 1+u0+w0(여기서 u0, w0은, u 0, w 0이다)을 합쳐, 공개 파라미터 pk로 한다.
 (S104 : 마스터 키 생성 단계)
 마스터 키 생성부(110)는, 기저 B * 0의 기저 벡터 b * 0, 1을 마스터 키 sk로 한다.
 (S105 : 마스터 키 기억 단계)
 마스터  키  기억부(120)는,  (S103)에서  생성한  공개  파라미터  pk를  기억  장치에  기억한다.    또한,  마스터  키  기억부(120)는,  (S104)에서  생성한  마스터  키  sk를  기억  장치에  기억한다.
 다시  말해,  (S101)로부터  (S104)에  있어서,  키  생성  장치(100)는  수학식  135에  나타내는  Setup  알고리즘을  실행하여,  공개  파라미터  pk와  마스터  키  sk를  생성한다.    그리고,  (S105)에서,  키  생성  장치(100)는  생성된  공개  파라미터  pk와  마스터  키  sk를  기억  장치에  기억한다.
 또, 공개 파라미터는, 예컨대, 네트워크를 통하여 공개되고, 서명 장치(200)나 검증 장치(300)가 취득 가능한 상태가 된다.
 [수학식 135]
 
 다음으로, 도 10에 근거하여, 키 생성 장치(100)가 실행하는 KeyGen 알고리즘의 처리에 대하여 설명한다.
 (S201 : 정보 입력 단계)
 정보 입력부(130)는, 입력 장치에 의해, 속성의 집합 Γ:={(t, x t:=(x t , i)(i=1, …, n t))|1≤t≤d}를  입력한다.    t는,  1  이상  d  이하의  모든  정수일  필요는  없고,  1  이상  d  이하의  적어도  일부의  정수이더라도  좋다.
 (S202 : 난수 생성 단계)
 난수 생성부(141)는, 처리 장치에 의해, 난수 δ와, 난수 φ 0, φ t, ι, φ d+1, 1, ι, φ d+1, 2, ι(t=1, …, d; ι=1, …, w t)를 수학식 136에 나타내는 바와 같이 생성한다.
 [수학식 136]
 
 (S203 : 키 요소 0 생성 단계)
 키 요소 0 생성부(142)는, 처리 장치에 의해, 서명 키 sk Γ의 요소인 키 요소 k * 0을 수학식 137에 나타내는 바와 같이 생성한다.
 [수학식 137]
 
 또, 상술한 바와 같이, 수학식 113에 나타내는 기저 B와 기저 B *에  대하여,  수학식  114이다.    따라서,  수학식  137은,  이하와  같이,  기저  B * 0의  기저  벡터의  계수가  설정되는  것을  의미한다.    여기서는,  표기를  간략화하여,  기저  벡터  b * 0, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b * 0, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b * 0, 1, …, b * 0, 3을 의미한다.
 기저 B * 0의  기저  벡터  1의  계수로서  난수  δ가  설정된다.    기저  벡터  1+1,  …,  1+u 0의  계수로서  0이  설정된다.    기저  벡터  1+u 0+1, …, 1+u 0+w 0의 계수로서 난수 φ 0, 1, …, φ 0, wo(여기서, w0은 w 0이다)이  설정된다.    기저  벡터  1+u 0+w 0+1, …, 1+u 0+w 0+z 0의 계수로서 0이 설정된다.
 (S204 : 키 요소 t 생성 단계)
 키 요소 t 생성부(143)는, 처리 장치에 의해, 속성의 집합 Γ에 포함되는 (t, x t)의 각 정수 t에 대하여, 서명 키 sk Γ의 요소인 키 요소 k * t를 수학식 138에 나타내는 바와 같이 생성한다.
 [수학식 138]
 
 다시 말해, 수학식 138은, 수학식 137과 마찬가지로, 이하와 같이, 기저 B * t의  기저  벡터의  계수가  설정되는  것을  의미한다.    또,  여기서는,  표기를  간략화하여,  기저  벡터  b * t, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b * t, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b * t, 1, …, b * t, 3을 의미한다.
 기저 벡터 1, …, n t의 계수로서 δx t , 1, …, δx t , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1, …, n t+u t의  계수로서  0이  설정된다.    기저  벡터  n t+u t+1, …, n t+u t+w t의 계수로서 난수 φ t, 1, …, φ t, wt(여기서, wt는 w t이다)가  설정된다.    기저  벡터  n t+u t+w t+1, …, n t+u t+w t+z t의 계수로서 0이 설정된다.
 (S205 : 키 요소 d+1 생성 단계)
 키 요소 d+1 생성부(144)는, 처리 장치에 의해, 서명 키 sk Γ의 요소인 키 요소 k * d+1, 1과 키 요소 k * d+1, 2를 수학식 139에 나타내는 바와 같이 생성한다.
 [수학식 139]
 
 다시 말해, 수학식 139는, 수학식 137과 마찬가지로, 이하와 같이, 기저 B * d+1의  기저  벡터의  계수가  설정되는  것을  의미한다.    또,  여기서는,  표기를  간략화하여,  기저  벡터  b * d+1, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b * d+1, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b * d+1, 1, …, b * d+1, 3을 의미한다.
 우선, 키 요소 k * d+1, 1에  대해서는,  기저  벡터  1의  계수로서  난수  δ가  설정된다.    기저  벡터  2의  계수로서  0이  설정된다.    기저  벡터  2+1,  …,  2+u d +1의  계수로서  0이  설정된다.    기저  벡터  2+u d +1+1, …, 2+u d +1+w d +1의 계수로서 난수 φ d+1, 1, 1, …, φ d+1, 1, wd +1(여기서, wd+1은 w d +1이다)이  설정된다.    기저  벡터  2+u d +1+w d +1+1, …, 2+u d+1+w d+1+z d+1의 계수로서 0이 설정된다.
 또한, 키 요소 k * d+1, 2에  대해서는,  기저  벡터  1의  계수로서  0이  설정된다.    기저  벡터  2의  계수로서  난수  δ가  설정된다.    기저  벡터  2+1,  …,  2+u d +1의  계수로서  0이  설정된다.    기저  벡터  2+u d +1+1, …, 2+u d +1+w d +1의 계수로서 난수 φ d+1, 2, 1, …, φ d+1, 2, wd +1(여기서, wd+1은 w d +1이다)이  설정된다.    기저  벡터  2+u d +1+w d +1+1, …, 2+u d+1+w d+1+z d+1의 계수로서 0이 설정된다.
 (S206 : 키 배포 단계)
 키 배포부(150)는, 속성의 집합 Γ와, 키 요소 k * 0과, 키 요소 k * t(t는 속성의 집합 Γ에 포함되는 (t, x t)에 있어서의 t)와, 키 요소 k * d+1, 1 및 키 요소 k * d+1, 2를 요소로 하는 서명 키 sk Γ를,  예컨대  통신  장치에  의해  네트워크를  통하여  비밀리에  서명  장치(200)에  배포한다.    물론,  서명  키  sk Γ는, 다른 방법에 의해 서명 장치(200)에 배포되더라도 좋다.
 다시 말해, (S201)로부터 (S205)에 있어서, 키 생성 장치(100)는 수학식 140에 나타내는 KeyGen 알고리즘을 실행하여, 서명 키 sk Γ를  생성한다.    그리고,  (S206)에서,  키  생성  장치(100)는  생성된  서명  키  sk Γ를 서명 장치(200)에 배포한다.
 [수학식 140]
 
 서명 장치(200)의 기능과 동작에 대하여 설명한다.
 도 7에 나타내는 바와 같이, 서명 장치(200)는, 서명 키 취득부(210), 정보 입력부(220)(제 2 정보 입력부), 스팬 프로그램 계산부(230), 보완 계수 계산부(240), 서명 데이터 생성부(250), 서명 데이터 송신부(260)(서명 데이터 출력부)를 구비한다.
 또한,  정보  입력부(220)는,  술어  정보  입력부(221),  메시지  입력부(222)를  구비한다.    또한,  서명  데이터  생성부(250)는,  난수  생성부(251),  서명  요소  0  생성부(252),  서명  요소  i  생성부(253),  서명  요소  L+1  생성부(254)를  구비한다.
 도 11에 근거하여, 서명 장치(200)가 실행하는 Sig 알고리즘의 처리에 대하여 설명한다.
 (S301 : 서명 키 취득 단계)
 서명 키 취득부(210)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 키 생성 장치(100)가 생성한 서명 키 sk Γ를  취득한다.    또한,  서명  키  취득부(210)는,  키  생성  장치(100)가  생성한  공개  파라미터  pk를  취득한다.
 (S302 : 정보 입력 단계)
 술어  정보  입력부(221)는,  입력  장치에  의해,  액세스  스트럭쳐  S:=(M,  ρ)를  입력한다.    또,  행렬  M은,  L행×r열의  행렬이다.    L,  r은,  1  이상의  정수이다.
 또한, 메시지 입력부(222)는, 입력 장치에 의해, 서명을 첨부하는 메시지 m을 입력한다.
 또, 액세스 스트럭쳐 S의 행렬 M의 설정에 대해서는, 실현하고 싶은 시스템의 조건에 따라 설정되는 것이다.
 (S303 : 스팬 프로그램 계산 단계)
 스팬 프로그램 계산부(230)는, 처리 장치에 의해, (S302)에서 입력한 액세스 스트럭쳐 S가, (S301)에서 취득한 서명 키 sk Γ에 포함되는 속성의 집합 Γ를 수리하는지 여부를 판정한다.
 또, 액세스 스트럭쳐가 속성의 집합을 수리하는지 여부의 판정 방법은, 「제 3. 속성 베이스 서명 방식을 실현하기 위한 개념」에서 설명한 것과 같다.
 스팬  프로그램  계산부(230)는,  액세스  스트럭쳐  S가  속성의  집합  Γ를  수리하는  경우(S303에서  수리),  처리를  (S304)로  진행시킨다.    한편,  액세스  스트럭쳐  S가  속성의  집합  Γ를  거절하는  경우(S303에서  거절),  처리를  종료한다.
 (S304 : 보완 계수 계산 단계)
 보완 계수 계산부(430)는, 처리 장치에 의해, 수학식 141이 되는 I와, I에 포함되는 각 정수 i에 대하여 상수(보완 계수) α i를 계산한다.
 [수학식 141]
 
 또, M i란, 행렬 M의 i행째이다.
 (S305 : 난수 생성 단계)
 난수 생성부(251)는, 처리 장치에 의해, 난수 ξ와, 난수 β i(i=1, …, L)를 수학식 142에 나타내는 바와 같이 생성한다.
 [수학식 142]
 
 (S306 : 서명 요소 0 생성 단계)
 서명 요소 0 생성부(252)는, 처리 장치에 의해, 서명 데이터 σ의 요소인 서명 요소 s * 0을 수학식 143에 나타내는 바와 같이 생성한다.
 [수학식 143]
 
 여기서, r * 0은, 수학식 144(수학식 110으로부터 수학식 112 및 이들의 수학식의 설명을 참조)이다.
 [수학식 144]
 
 (S307 : 서명 요소 i 생성 단계)
 서명 요소 i 생성부(253)는, 처리 장치에 의해, i=1, …, L의 각 정수 i에 대하여, 서명 데이터 σ의 요소인 서명 요소 s * i를 수학식 145에 나타내는 바와 같이 생성한다.
 [수학식 145]
 
 여기서, r * i는, 수학식 146(수학식 110으로부터 수학식 112 및 이들의 수학식의 설명을 참조)이다.
 [수학식 146]
 
 또한, γ i와 y i:=(y i , i’(i’=1, …, n t)는, 수학식 147이다.
 [수학식 147]
 
 (S308 : 서명 요소 L+1 생성 단계)
 서명 요소 L+1 생성부(254)는, 처리 장치에 의해, 서명 데이터 σ의 요소인 서명 요소 s * L+1을 수학식 148에 나타내는 바와 같이 생성한다.
 [수학식 148]
 
 여기서, r * L+1은, 수학식 149(수학식 110으로부터 수학식 112 및 이들의 수학식의 설명을 참조)이다.
 [수학식 149]
 
 (S309 : 데이터 송신 단계)
 서명 데이터 송신부(260)는, 서명 요소 s * 0과, 서명 요소 s * i(i=1, …, L)와, 서명 요소 s * L+1과,  메시지  m과,  액세스  스트럭쳐  S:=(M,  ρ)를  포함하는  서명  데이터  σ를,  예컨대  통신  장치에  의해  네트워크를  통하여  검증  장치(300)에  송신한다.    물론,  서명  데이터  σ는,  다른  방법에  의해  검증  장치(300)에  송신되더라도  좋다.
 다시  말해,  (S301)로부터  (S308)에  있어서,  서명  장치(200)는  수학식  150에  나타내는  Sig  알고리즘을  실행하여,  서명  데이터  σ를  생성한다.    그리고,  (S309)에서,  서명  장치(200)는  생성된  서명  데이터  σ를  검증  장치(300)에  배포한다.
 [수학식 150]
 
 검증 장치(300)의 기능과 동작에 대하여 설명한다.
 도 8에 나타내는 바와 같이, 검증 장치(300)는, 공개 파라미터 취득부(310), 데이터 수신부(320), 검증키 생성부(330), 페어링 연산부(340)를 구비한다.
 또한, 검증키 생성부(330)는, 난수 생성부(331), f 벡터 생성부(332), s 벡터 생성부(333), 검증 요소 0 생성부(334), 검증 요소 i 생성부(335), 검증 요소 L+1 생성부(336)를 구비한다.
 도 12에 근거하여, 검증 장치(300)가 실행하는 Ver 알고리즘의 처리에 대하여 설명한다.
 (S401 : 공개 파라미터 취득 단계)
 공개 파라미터 취득부(310)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 키 생성 장치(100)가 생성한 공개 파라미터 pk를 취득한다.
 (S402 : 서명 데이터 수신 단계)
 데이터 수신부(320)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 서명 장치(200)가 송신한 서명 데이터 σ를 수신한다.
 (S403 : f 벡터 생성 단계)
 f 벡터 생성부(332)는, 처리 장치에 의해, r개의 요소를 갖는 벡터 f 를 수학식 151에 나타내는 바와 같이 랜덤으로 생성한다.
 [수학식 151]
 
 (S404 : s 벡터 생성 단계)
 s 벡터 생성부(333)는, 처리 장치에 의해, (S402)에서 수신한 서명 데이터 σ에 포함되는 액세스 스트럭쳐 S의 (L행×r열)의 행렬 M과, (S403)에서 생성한 r개의 요소를 갖는 벡터 f 에 근거하여, 벡터 s →T를 수학식 152에 나타내는 바와 같이 생성한다.
 [수학식 152]
 
 또한, s 벡터 생성부(333)는, 처리 장치에 의해, (S403)에서 생성한 벡터 f 에 근거하여, 값 s 0을  수학식  153에  나타내는  바와  같이  생성한다.    또,  1 는, 모든 요소가 값 1인 벡터이다.
 [수학식 153]
 
 (S405 : 난수 생성 단계)
 난수 생성부(331)는, 처리 장치에 의해, i=1, …, z 0의 각 정수 i에 대하여 난수 η 0, i와, i=1, …, z d +1의 각 정수 i에 대하여 난수 η L+1, i와, 난수 θ L+1과, 난수 s L +1을 수학식 154에 나타내는 바와 같이 생성한다.
 [수학식 154]
 
 (S406 : 검증 요소 0 생성 단계)
 검증 요소 0 생성부(334)는, 처리 장치에 의해, 검증 키의 요소인 검증 요소 c 0을 수학식 155에 나타내는 바와 같이 생성한다.
 [수학식 155]
 
 또, 상술한 바와 같이, 수학식 113에 나타내는 기저 B와 기저 B *에  대하여,  수학식  114이다.    따라서,  수학식  155는,  이하와  같이,  기저  B 0의  기저  벡터의  계수가  설정되는  것을  의미한다.    여기서는,  표기를  간략화하여,  기저  벡터  b 0, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b 0, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b 0, 1, …, b 0, 3을 의미한다.
 기저 B 0의 기저 벡터 1의 계수로서 -s 0-s L +1이  설정된다.    기저  벡터  1+1,  …,  1+u 0+w 0의  계수로서  0이  설정된다.    기저  벡터  1+u 0+w 0+1, …, 1+u 0+w 0+z 0의 계수로서 난수 η 0, 1, …, η 0, z0(여기서, z0은 z 0이다)이 설정된다.
 (S407 : 검증 요소 i 생성 단계)
 검증 요소 i 생성부(335)는, 처리 장치에 의해, i=1, …, L의 각 정수 i에 대하여, 검증 키의 요소인 검증 요소 c i를 수학식 156에 나타내는 바와 같이 생성한다.
 [수학식 156]
 
 다시 말해, 수학식 156은, 수학식 155와 마찬가지로, 이하와 같이, 기저 B t의  기저  벡터의  계수가  설정되는  것을  의미한다.    또,  여기서는,  표기를  간략화하여,  기저  벡터  b t , i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b t , 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b t , 1, …, b t , 3을 의미한다.
 ρ(i)가 긍정형의 조 (t, v i)인 경우에는, 기저 벡터 1의 계수로서 s iiv i, 1이  설정된다.    기저  벡터  2,  …,  n t의 계수로서 θ iv i , 2, …, θ iv i , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1, …, n t+u t+w t의  계수로서  0이  설정된다.    기저  벡터  n t+u t+w t+1, …, n t+u t+w t+z t의 계수로서 η i, 1, …, η i, zt(여기서, zt는 z t이다)가 설정된다.
 한편, ρ(i)가 부정형의 조 ¬(t, v i)인 경우에는, 기저 벡터 1, …, n t의 계수로서 s iv i, 1, …, s iv i, nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1, …, n t+u t+w t의  계수로서  0이  설정된다.    기저  벡터  n t+u t+w t+1, …, n t+u t+w t+z t의 계수로서 η i, 1, …, η i, zt(여기서, zt는 z t이다)가 설정된다.
 또, θ i 및 η i, i’(i’=1, …, z t)는 난수 생성부(233)에 의해 생성되는 균등 난수이다.
 (S408 : 서명 요소 L+1 생성 단계)
 검증 요소 L+1 생성부(336)는, 처리 장치에 의해, 검증 키의 요소인 검증 요소 c L +1을 수학식 157에 나타내는 바와 같이 생성한다.
 [수학식 157]
 
 다시 말해, 수학식 157은, 수학식 155와 마찬가지로, 이하와 같이, 기저 B d +1의  기저  벡터의  계수가  설정되는  것을  의미한다.    또,  여기서는,  표기를  간략화하여,  기저  벡터  b d +1, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b d +1, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b d+1, 1, …, b d +1, 3을 의미한다.
 기저 벡터 1의 계수로서 s L +1L+1ㆍH hk λ, D(m||S)가  설정된다.    기저  벡터  2의  계수로서  θ L+1이  설정된다.    기저  벡터  2+1,  …,  2+u d +1+w d +1의  계수로서  0이  설정된다.    기저  벡터  2+u d +1+w d +1+1, …, 2+u d +1+w d +1+z d +1의 계수로서 난수 η L+1, 1, …, η L+1, zd +1(여기서, zd+1은 z d +1이다)이 설정된다.
 (S409 : 제 1 페어링 연산 단계)
 페어링 연산부(340)는, 처리 장치에 의해, 페어링 연산 e(b 0 , 1, s * 0)을 계산한다.
 페어링 연산 e(b 0 , 1, s * 0)을  계산한  결과가  값  1이면,  페어링  연산부(340)는,  서명의  검증에  실패한  것을  나타내는  값  0을  출력하여,  처리를  종료한다.    한편,  페어링  연산  e(b 0 , 1, s * 0)을 계산한 결과가 값 1이 아니면, 페어링 연산부(340)는, 처리를 S410으로 진행시킨다.
 (S410 : 제 2 페어링 연산 단계)
 페어링 연산부(340)는, 처리 장치에 의해, 수학식 158에 나타내는 페어링 연산을 계산한다.
 [수학식 158]
 
 수학식  158에  나타내는  페어링  연산을  계산한  결과가  값  1이면,  페어링  연산부(340)는,  서명의  검증에  성공한  것을  나타내는  값  1을  출력한다.    한편,  그밖의  값이면,  페어링  연산부(340)는,  서명의  검증에  실패한  것을  나타내는  값  0을  출력한다.
 또, 수학식 159에 나타내는 바와 같이, 수학식 158을 계산하는 것에 의해, 서명 데이터 σ가 정당한 것이면, 값 1이 얻어진다.
 [수학식 159]
 
 다시 말해, (S401)로부터 (S410)에 있어서, 검증 장치(300)는, 수학식 160에 나타내는 Ver 알고리즘을 실행하여, 서명 데이터 σ를 검증한다.
 [수학식 160]
 
 이상과  같이,  실시의  형태  1에  따른  서명  처리  시스템(10)은,  스팬  프로그램과  내적  술어와  비밀  분산을  이용하여  구성한  액세스  스트럭쳐  S를  이용하여,  속성  베이스  서명  방식을  실현한다.    특히,  실시의  형태  1에  따른  서명  처리  시스템(10)은,  논모노톤  스팬  프로그램을  이용하기  때문에,  논모노톤  술어를  동반하는  속성  베이스  서명  방식을  실현한다.
 실시의  형태  1에  따른  서명  처리  시스템(10)이  실현하는  속성  베이스  서명  방식은,  안전성이  높고,  프라이버시  요건을  만족시키고  있다.    또,  안전성이  높다고  하는  것은,  서명이  타인에게  위조될  가능성이  낮다고  하는  것이다.
 또, (S409)에서 페어링 연산 e(b 0 , 1, s * 0)을 행하는 것은, 서명 데이터 σ가, 비밀인(마스터 키 sk인) 기저 벡터 b * 0, 1을 이용하는 일 없이 생성된 서명 데이터가 아닌 것을 확인하기 위해서이다.
 페어링 연산 e(b 0 , 1, s * 0)은, 서명 요소 s * 0에 기저 벡터 b * 0, 1이 포함되어 있는지, 다시 말해 기저 벡터 b * 0, 1의  계수로서  0  이외의  값이  설정되어  있는지를  확인하는  연산이다.    페어링  연산  e(b 0 , 1, s * 0)=1이면, 서명 요소 s * 0에서는 기저 벡터 b * 0, 1의 계수로서 0이 설정되어 있고, 서명 데이터 σ는, 기저 벡터 b * 0, 1을  이용하는  일  없이  생성된  서명  데이터라는  것을  의미한다.    따라서,  이  경우,  서명  데이터  σ는  부정한  것이라고  판단된다.
 또, 상기 설명에 있어서, u t, w t, z t(t=0,  …,  d+1)의  차원은,  안전성을  높이기  위해  마련한  차원이다.    따라서,  안전성이  낮아져  버리지만,  u t, w t, z t(t=0, …, d+1)를 각각 0으로 하여, u t, w t, z t(t=0, …, d+1)의 차원을 마련하지 않더라도 좋다.
 또한, 상기 설명에서는, (S101)에서 N t에 n t+u t+w t+z t를  설정했다.    그러나,  n t+u t+w t+z t를 n t+n t+n t+1로 하여, N t에 3n t+1을  설정하더라도  좋다.    여기서,  n 0은 1이고, n t(t=1, …, d+1)는 2이다.
 이  경우,  수학식  135에  나타내는  Setup  알고리즘은,  수학식  161과  같이  다시  쓸  수  있다.    또,  G ob는 수학식 162와 같이 다시 쓸 수 있다.
 [수학식 161]
 
 [수학식 162]
 
 또한, 수학식 140에 나타내는 KeyGen 알고리즘은, 수학식 163과 같이 다시 쓸 수 있다.
 [수학식 163]
 
 또한, 수학식 150에 나타내는 Sig 알고리즘은, 수학식 164와 같이 다시 쓸 수 있다.
 [수학식 164]
 
 또한, 수학식 159에 나타내는 Ver 알고리즘은, 수학식 165와 같이 다시 쓸 수 있다.
 [수학식 165]
 
 또한,  Setup  알고리즘은,  서명  처리  시스템(10)을  셋업할  때에  한  번  실행하면  되고,  서명  키를  생성할  때마다  실행할  필요는  없다.    또한,  상기  설명에서는,  Setup  알고리즘과  KeyGen  알고리즘을  키  생성  장치(100)가  실행하는  것으로  했지만,  Setup  알고리즘과  KeyGen  알고리즘을  각각  다른  장치가  실행하는  것으로  하더라도  좋다.
 실시의 형태 2.
 본 실시의 형태에서는, 「분산 다관리자 속성 베이스 서명 방식」에 대하여 설명한다.
 제 1에, 「분산 다관리자(Decentralized Multi-Authority)」라고 하는 개념에 대하여 설명한다.
 제  2에,  본  실시의  형태에  따른  「분산  다관리자  속성  베이스  서명  방식」을  설명한다.    우선,  「분산  다관리자  속성  베이스  서명  방식」의  기본  구성에  대하여  설명한다.    다음으로,  「분산  다관리자  속성  베이스  서명  방식」을  실현하는  「서명  처리  시스템(10)」의  기본  구성에  대하여  설명한다.    그리고,  본  실시의  형태에  따른  「분산  다관리자  속성  베이스  서명  방식」  및  「서명  처리  시스템(10)」에  대하여  상세히  설명한다.
 <제 1. 분산 다관리자라고 하는 개념>
 우선,  「다관리자」에  대하여  설명한다.    다관리자란,  서명  키를  생성하는  관리자가  복수  존재한다고  하는  의미이다.
 일반적인  서명  처리  시스템에서는,  시스템  전체의  시큐리티는  어느  하나의  기관(관리자)에  의존하고  있다.    예컨대,  실시의  형태  1에서  설명한  서명  처리  시스템(10)이면,  시스템  전체의  시큐리티는,  마스터  키  sk를  생성하는  키  생성  장치(100)에  의존하고  있다.    키  생성  장치(100)의  시큐리티가  뚫리거나,  마스터  키  sk가  누설된  경우,  서명  처리  시스템(10)은  전체가  기능하지  않게  된다.
 그러나, 다관리자로 함으로써, 일부의 관리자의 시큐리티가 뚫리거나, 일부의 관리자의 비밀 키(마스터 키)가 누설된 경우에도, 서명 처리 시스템의 일부만이 기능하지 않게 될 뿐이고, 다른 부분에 대해서는 정상적으로 기능하는 상태로 할 수 있다.
 도 13은 다관리자의 설명도이다.
 도  13에서는,  관공서가,  주소,  전화번호,  연령  등의  속성에  대하여  관리한다.    또한,  경찰이,  운전면허의  종별  등의  속성에  대하여  관리한다.    또한,  회사  A가,  회사  A에  있어서의  직무,  회사  A에  있어서의  소속  등의  속성에  대하여  관리한다.    그리고,  관공서가  관리하는  속성을  나타내기  위한  서명  키  1은  관공서가  발행하고,  경찰이  관리하는  속성을  나타내기  위한  서명  키  2는  경찰이  발행하고,  회사  A가  관리하는  속성을  나타내기  위한  서명  키  3은  회사  A가  발행한다.
 서명을  하는  서명자는,  관공서,  경찰,  회사  A  등의  각  관리자가  발행한  서명  키  1,  2,  3을  합친  서명  키를  이용하여,  서명  데이터를  생성한다.    다시  말해,  서명자로부터  본  경우,  각  관리자로부터  발행된  서명  키를  합친  것이,  자신에게  발행된  하나의  서명  키가  된다.
 예컨대,  회사  A의  마스터  키가  누설된  경우,  서명  처리  시스템은,  회사  A의  속성에  관해서는  기능하지  않게  되지만,  다른  관리자가  관리하는  속성에  관해서는  기능한다.    다시  말해,  서명  데이터의  검증이  된  경우,  회사  A가  관리하는  속성에  대해서는  신뢰할  수  없지만,  다른  속성에  대해서는  신뢰할  수  있다.
 또한, 도 13의 예로부터도 알 수 있듯이, 속성 베이스 서명에서는, 복수의 관리자가 존재하고, 각 관리자가 속성에 있어서의 어느 카테고리(부분 공간) 또는 정의역을 관리하고, 그 카테고리에 있어서의 사용자의 속성에 대한 서명 키(의 일부)를 발행하는 것이 자연스럽다.
 다음으로,  「분산(Decentralized)」에  대하여  설명한다.    분산이란,  어떤  기관도  관리자가  될  수  있고,  다른  기관과  상호  작용하는  일  없이,  서명  키(의  일부)를  발행할  수  있고,  각  사용자가  다른  기관과  상호  작용하는  일  없이,  관리자로부터  서명  키(의  일부)를  취득할  수  있는  것이다.
 예컨대,  중앙  관리자가  있는  경우,  분산이라고는  말할  수  없다.    중앙  관리자란,  다른  관리자보다  상위의  관리자이다.    중앙  관리자의  시큐리티가  뚫린  경우,  모든  관리자의  시큐리티가  뚫려  버린다.
 <제 2. 분산 다관리자 속성 베이스 서명 방식의 구성>
 <제 2-1. 분산 다관리자 속성 베이스 서명 방식의 기본 구성>
 분산 다관리자 속성 베이스 서명 방식은, GSetup, ASetup, AttrGen, Sig, Ver의 5개의 알고리즘을 구비한다.
 (GSetup)
 GSetup 알고리즘은, 시큐리티 파라미터 λ가 입력되고, 공개 파라미터 gparam을 출력하는 확률적 알고리즘이다.
 (ASetup)
 ASetup 알고리즘은, 공개 파라미터 gparam과, 관리자의 식별 정보 t를 입력으로 하여, 관리자 비밀 키 ask t와, 관리자 공개 파라미터 apk t를 출력하는 확률적 알고리즘이다.
 (AttrGen)
 AttrGen 알고리즘은, 공개 파라미터 gparam과, 관리자의 식별 정보 t와, 관리자 비밀 키 ask t와, 사용자의 식별 정보 gid와, 속성 x t:=(x t , i)(i=1, …, n t)∈F q를 입력으로 하여, 서명 키 usk gid, (t, xt )를 출력하는 확률적 알고리즘이다.
 (Sig)
 Sig 알고리즘은, 공개 파라미터 gparam과, 서명 키 usk gid, (t, xt )와, 메시지 m과, 액세스 스트럭쳐 S:=(M, ρ)를 입력으로 하여, 서명 s →*와 메시지 m과 액세스 스트럭쳐 S를 포함하는 서명 데이터 σ를 출력하는 확률적 알고리즘이다.
 (Ver)
 Ver 알고리즘은, 서명 데이터 σ와, 공개 파라미터 gparam과, 관리자 공개 파라미터 apk t를 입력으로 하여, 불값 1(수리) 또는 0(거절)을 출력하는 알고리즘이다.
 <제 2-2. 서명 처리 시스템(10)>
 상술한 분산 다관리자 속성 베이스 서명 방식의 알고리즘을 실행하는 서명 처리 시스템(10)에 대하여 설명한다.
 도 14는 분산 다관리자 속성 베이스 서명 방식의 알고리즘을 실행하는 서명 처리 시스템(10)의 구성도이다.
 서명 처리 시스템(10)은, 복수의 키 생성 장치(100), 서명 장치(200), 검증 장치(300)를 구비한다.
 어느  하나의  키  생성  장치(100)는,  시큐리티  파라미터  λ를  입력으로  하여  GSetup  알고리즘을  실행하여,  공개  파라미터  gparam을  생성한다.    그리고,  그  키  생성  장치(100)는,  생성한  공개  파라미터  gparam을  공개한다.
 각 키 생성 장치(100)는, 공개 파라미터 gparam과, 그 키 생성 장치(100)에 할당된 식별 정보 t를 입력으로 하여 ASetup 알고리즘을 실행하여, 관리자 비밀 키 ask t와, 관리자 공개 파라미터 apk t를  생성한다.    그리고,  각  키  생성  장치(100)는,  공개  파라미터  gparam과,  그  키  생성  장치(100)에  할당된  식별  정보  t와,  관리자  비밀  키  ask t와, 사용자의 식별 정보 gid와, 속성 x t:=(x t, i)(i=1, …, n t)∈F q를 입력으로 하여 AttrGen 알고리즘을 실행하여, 서명 키 usk gid, (t, xt)를 생성하여 서명 장치(200)에 비밀리에 배포한다.
 서명 장치(200)는, 공개 파라미터 gparam과, 서명 키 usk gid, (t, xt )와, 메시지 m과, 액세스 스트럭쳐 S:=(M, ρ)를 입력으로 하여 Sig 알고리즘을 실행하여, 서명 s →*와  메시지  m과  액세스  스트럭쳐  S를  포함하는  서명  데이터  σ를  생성한다.    서명  장치(200)는,  생성한  서명  데이터  σ를  검증  장치(300)에  송신한다.
 검증 장치(300)는, 서명 데이터 σ와, 공개 파라미터 gparam과, 관리자 공개 파라미터 apk t를 입력으로 하여 Ver 알고리즘을 실행하여, 불값 1(수리) 또는 0(거절)을 출력한다.
 <제 2-3. 분산 다관리자 속성 베이스 서명 방식 및 서명 처리 시스템(10)의 상세>
 도 15로부터 도 22에 근거하여, 분산 다관리자 속성 베이스 서명 방식 및 분산 다관리자 속성 베이스 서명 방식을 실행하는 서명 처리 시스템(10)의 기능과 동작에 대하여 설명한다.
 도  15는  각  키  생성  장치(100)의  기능을  나타내는  기능  블록도이다.    도  16은  서명  장치(200)의  기능을  나타내는  기능  블록도이다.    도  17은  검증  장치(300)의  기능을  나타내는  기능  블록도이다.
 도  18로부터  도  20은  키  생성  장치(100)의  동작을  나타내는  플로차트이다.    또,  도  18은  GSetup  알고리즘의  처리를  나타내는  플로차트이고,  도  19는  ASetup  알고리즘의  처리를  나타내는  플로차트이고,  도  20은  AttrGen  알고리즘의  처리를  나타내는  플로차트이다.    도  21은  서명  장치(200)의  동작을  나타내는  플로차트이고,  Sig  알고리즘의  처리를  나타내는  플로차트이다.    도  22는  검증  장치(300)의  동작을  나타내는  플로차트이고,  Ver  알고리즘의  처리를  나타내는  플로차트이다.
 키 생성 장치(100)의 기능과 동작에 대하여 설명한다.
 도 15에 나타내는 바와 같이, 키 생성 장치(100)는, 마스터 키 생성부(110), 마스터 키 기억부(120), 정보 입력부(130)(제 1 정보 입력부), 서명 키 생성부(140), 키 배포부(150)(서명 키 송신부)를 구비한다.
 또한,  마스터  키  생성부(110)는,  글로벌  파라미터  생성부(111),  관리자  비밀  키  생성부(112)를  구비한다.    서명  키  생성부(140)는,  난수  생성부(141),  키  요소  생성부(145)를  구비한다.
 우선,  도  18에  근거하여,  키  생성  장치(100)가  실행하는  GSetup  알고리즘의  처리에  대하여  설명한다.    또,  상술한  바와  같이,  GSetup  알고리즘은,  복수의  키  생성  장치(100)  중  하나의  키  생성  장치(100)가  실행하면  된다.
 (S501 : 시큐리티 파라미터 입력 단계)
 글로벌 파라미터 생성부(111)는, 입력 장치에 의해, 시큐리티 파라미터 λ(1 λ)를 입력한다.
 (S502 : 쌍선형 페어링군 생성 단계)
 글로벌 파라미터 생성부(111)는, 처리 장치에 의해, S501에서 입력한 시큐리티 파라미터 λ(1 λ)를 입력으로 하여 알고리즘 G bpg를 실행하여, 랜덤으로 쌍선형 페어링군의 파라미터 param G:=(q, G, G T, g, e)의 값을 생성한다.
 (S503 : 파라미터 생성 단계)
 해시 함수 H 1과 H 2를, 수학식 166에 나타내는 해시 함수로 한다.
 [수학식 166]
 
 글로벌 파라미터 생성부(111)는, 처리 장치에 의해, 수학식 167에 나타내는 글로벌 파라미터 gparam의 요소 G 0, G 1, G 2, G 3, G 4를 생성한다.
 [수학식 167]
 
 또한, 글로벌 파라미터 생성부(111)는, g t:=e(G 0, G 1), g 4:=e(G 0, G 4)로 한다.
 (S504 : 파라미터 기억 단계)
 마스터 키 기억부(120)는, (S502)에서 생성한 param G와, (S503)에서 글로벌 파라미터 생성부(111)가 설정한 해시 함수 H 1, H 2와, 생성한 요소 G 0, G 1, G 2, G 3, G 4와, 설정한 값 g t, g 4를, 글로벌 파라미터 gparam으로서 기억 장치에 기억한다.
 다시  말해,  (S501)로부터  (S503)에  있어서,  키  생성  장치(100)는  수학식  168에  나타내는  GSetup  알고리즘을  실행하여,  글로벌  파라미터  gparam을  생성한다.    그리고,  (S504)에서,  키  생성  장치(100)는  생성된  글로벌  파라미터  gparam을  기억  장치에  기억한다.
 또, 글로벌 파라미터 gparam은, 예컨대, 네트워크를 통하여 공개되고, 다른 키 생성 장치(100)나 서명 장치(200)나 검증 장치(300)가 취득 가능한 상태가 된다.
 [수학식 168]
 
 다음으로,  도  19에  근거하여,  키  생성  장치(100)가  실행하는  ASetup  알고리즘의  처리에  대하여  설명한다.    또,  상술한  바와  같이,  ASetup  알고리즘은,  복수의  키  생성  장치(100)  모두가  실행하더라도  좋고,  복수의  키  생성  장치(100)  중  일부의  키  생성  장치(100)만이  실행하더라도  좋다.
 (S601 : 정보 입력 단계)
 정보  입력부(130)는,  입력  장치에  의해,  자기(그  키  생성  장치(100))에  할당된  식별  정보  t를  입력한다.    또,  각  키  생성  장치(100)에는,  각각  다른  식별  정보  t가  할당되어  있다.
 또한,  정보  입력부(130)는,  예컨대,  통신  장치에  의해  네트워크를  통하여,  글로벌  파라미터  gparam을  취득한다.    또,  자기가  글로벌  파라미터  gparam을  생성한  키  생성  장치(100)인  경우에는,  글로벌  파라미터  gparam을  마스터  키  기억부(120)로부터  읽어내면  된다.
 (S602 : 공간 생성 단계)
 관리자 비밀 키 생성부(112)는, 처리 장치에 의해, 시큐리티 파라미터 λ(1 λ)와, N t=2n t+2+u t+w t+z t와, param G:=(q, G, G T, g, e)의 값을 입력으로 하여 알고리즘 G dpvs를 실행하여, 쌍대 페어링 벡터 공간의 파라미터 param Vt:=(q, V t, G T, A t, e)의 값을 생성한다.
 또, n t, u t, w t, z t는, 1 이상의 정수이다.
 (S603 : 기저 U 생성 단계)
 관리자 비밀 키 생성부(112)는, 처리 장치에 의해, l=1, …, 4의 각 정수 l에 대하여, 기저 U l을 수학식 169에 나타내는 바와 같이 생성한다.
 [수학식 169]
 
 (S604 : 선형 변환 생성 단계)
 관리자 비밀 키 생성부(112)는, 처리 장치에 의해, n t+u t+w t+z t와, F q를 입력으로 하여, 선형 변환 X t:=(χ t, i, j) i, j를 수학식 170에 나타내는 바와 같이 랜덤으로 생성한다.
 [수학식 170]
 
 (S605 : 기저 B 생성 단계)
 관리자 비밀 키 생성부(112)는, 처리 장치에 의해, 기저 B t 및 기저 B * t를 수학식 171에 나타내는 바와 같이 생성한다.
 [수학식 171]
 
 또한, 관리자 비밀 키 생성부(112)는, π, π’, μ∈F q를, G 2=πG 1, G 3=π’G 1, G 3=μG 1이  되는  값으로  한다.    그러면,  수학식  172가  된다.
 [수학식 172]
 
 (S606 : 기저 B ^ 생성 단계)
 관리자 비밀 키 생성부(112)는, 처리 장치에 의해, 기저 B t의 부분 기저 B ^ t와, 기저 B *의 부분 기저 B ^* t를 수학식 173에 나타내는 바와 같이 생성한다.
 [수학식 173]
 
 (S607 : 마스터 키 기억 단계)
 마스터 키 기억부(120)는, (S602)에서 생성한 파라미터 param Vt와, (S606)에서 생성한 부분 기저 B ^ t 및 부분 기저 B ^* t를 관리자 공개 파라미터 apk t로서  기억  장치에  기억한다.    또한,  마스터  키  기억부(120)는,  (S604)에서  생성한  선형  변환  X t를 관리자 비밀 키 ask t로서 기억 장치에 기억한다.
 다시 말해, (S601)로부터 (S606)에 있어서, 키 생성 장치(100)는 수학식 174에 나타내는 ASetup 알고리즘을 실행하여, 관리자 공개 파라미터 apk t와 관리자 비밀 키 ask t를  생성한다.    그리고,  (S607)에서,  키  생성  장치(100)는  생성된  관리자  공개  파라미터  apk t와 관리자 비밀 키 ask t를 기억 장치에 기억한다.
 또, 관리자 공개 파라미터 apk t는, 예컨대, 네트워크를 통하여 공개되고, 서명 장치(200)나 검증 장치(300)가 취득 가능한 상태가 된다.
 [수학식 174]
 
 다음으로,  도  20에  근거하여,  키  생성  장치(100)가  실행하는  AttrGen  알고리즘의  처리에  대하여  설명한다.    또,  상술한  바와  같이,  AttrGen  알고리즘은,  복수의  키  생성  장치(100)  중,  ASetup  알고리즘을  실행한  키  생성  장치(100)가  실행한다.
 (S701 : 정보 입력 단계)
 정보 입력부(130)는, 입력 장치에 의해, 자기(그 키 생성 장치(100))에 할당된 식별 정보 t와, 서명 키를 발행하는 사용자의 식별 정보 gid와, 속성 정보 x t:=(x t, i)(i=1, …, n t)를 입력한다.
 또한,  정보  입력부(130)는,  예컨대,  통신  장치에  의해  네트워크를  통하여,  글로벌  파라미터  gparam을  취득한다.    또,  자기가  글로벌  파라미터  gparam을  생성한  키  생성  장치(100)인  경우에는,  글로벌  파라미터  gparam을  마스터  키  기억부(120)로부터  읽어내면  된다.
 또한, 정보 입력부(130)는, 마스터 키 기억부(120)로부터 관리자 비밀 키 ask t를 읽어낸다.
 (S702 : 난수 생성 단계)
 난수 생성부(141)는, 처리 장치에 의해, 식별 정보 t와 j=1, 2의 각 정수 j에 대하여, 난수 φ t, j를 수학식 175에 나타내는 바와 같이 생성한다.
 [수학식 175]
 
 (S703 : 키 요소 생성 단계)
 수학식 176인 것으로 한다.
 [수학식 176]
 
 키 요소 생성부(145)는, 처리 장치에 의해, 식별 정보 t와 j=1, 2의 각 정수 j에 대하여, 서명 키 usk gid, (t, xt )의 요소인 키 요소 k * t, j를 수학식 177에 나타내는 바와 같이 생성한다.
 [수학식 177]
 
 또, 상술한 바와 같이, 수학식 113에 나타내는 기저 B와 기저 B *에  대하여,  수학식  114이다.    따라서,  수학식  177은,  이하와  같이,  기저  B * t의  기저  벡터의  계수가  설정되는  것을  의미한다.    여기서는,  표기를  간략화하여,  기저  벡터  b * t, i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b * t, 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b * t, 1, …, b * t, 3을 의미한다.
 기저 벡터 1, …, n t의 계수로서 (δ j+1)x t, 1, …, (δ j+1)x t, nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1, …, 2n t의 계수로서 -δ jx t, 1, …, -δ jx t, nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  2n t+1, …, 2n t+2+u t의  계수로서  0이  설정된다.    기저  벡터  2n t+2+u t+1, …, 2n t+2+u t+w t의 계수로서 난수 φ t, j, 1, …, φ t, j, wt(여기서, wt는 w t이다)가  설정된다.    기저  벡터  2n t+2+u t+w t+1, …, 2n t+2+u t+w t+z t의 계수로서 0이 설정된다.
 (S704 : 키 배포 단계)
 키 배포부(150)는, 사용자의 식별 정보 gid와, 식별 정보 t 및 속성 정보 x t와, 키 요소 k * t, j를 요소로 하는 서명 키 usk gid, (t, xt )를,  예컨대  통신  장치에  의해  네트워크를  통하여  비밀리에  서명  장치(200)에  배포한다.    물론,  서명  키  usk gid, (t, xt )는, 다른 방법에 의해 서명 장치(200)에 배포되더라도 좋다.
 다시 말해, (S701)로부터 (S703)에 있어서, 키 생성 장치(100)는 수학식 178에 나타내는 AttrGen 알고리즘을 실행하여, 서명 키 usk gid, (t, xt )를  생성한다.    그리고,  (S704)에서,  키  생성  장치(100)는  생성된  서명  키  usk gid, (t, xt )를 서명 장치(200)에 배포한다.
 [수학식 178]
 
 서명 장치(200)의 기능과 동작에 대하여 설명한다.
 도 16에 나타내는 바와 같이, 서명 장치(200)는, 서명 키 취득부(210), 정보 입력부(220)(제 2 정보 입력부), 스팬 프로그램 계산부(230), 보완 계수 계산부(240), 서명 데이터 생성부(250), 서명 데이터 송신부(260)(서명 데이터 출력부)를 구비한다.
 또한,  정보  입력부(220)는,  술어  정보  입력부(221),  메시지  입력부(222)를  구비한다.    또한,  서명  데이터  생성부(250)는,  난수  생성부(251),  서명  요소  생성부(255)를  구비한다.
 도 21에 근거하여, 서명 장치(200)가 실행하는 Sig 알고리즘의 처리에 대하여 설명한다.
 (S801 : 서명 키 취득 단계)
 서명 키 취득부(210)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 각 키 생성 장치(100)가 생성한 서명 키 usk gid, (t, xt )를  취득한다.    또한,  서명  키  취득부(210)는,  키  생성  장치(100)가  생성한  글로벌  파라미터  gparam을  취득한다.
 (S802 : 정보 입력 단계)
 술어  정보  입력부(221)는,  입력  장치에  의해,  액세스  스트럭쳐  S:=(M,  ρ)를  입력한다.    또,  행렬  M은,  L행×r열의  행렬이다.    L,  r은,  1  이상의  정수이다.
 또한, 메시지 입력부(222)는, 입력 장치에 의해, 서명을 첨부하는 메시지 m을 입력한다.
 또, 액세스 스트럭쳐 S의 행렬 M의 설정에 대해서는, 실현하고 싶은 시스템의 조건에 따라 설정되는 것이다.
 (S803 : 스팬 프로그램 계산 단계)
 스팬 프로그램 계산부(230)는, 처리 장치에 의해, (S802)에서 입력한 액세스 스트럭쳐 S가, (S801)에서 취득한 서명 키 usk gid, (t, xt )에 포함되는 속성 정보 x t의 집합 Γ를 수리하는지 여부를 판정한다.
 또, 액세스 스트럭쳐가 속성의 집합을 수리하는지 여부의 판정 방법은, 실시의 형태 1에 있어서의 「제 3. 속성 베이스 서명 방식을 실현하기 위한 개념」에서 설명한 것과 같다.
 스팬  프로그램  계산부(230)는,  액세스  스트럭쳐  S가  속성의  집합  Γ를  수리하는  경우(S803에서  수리),  처리를  (S804)로  진행시킨다.    한편,  액세스  스트럭쳐  S가  속성  정보  x t의 집합 Γ를 거절하는 경우(S803에서 거절), 처리를 종료한다.
 (S804 : 보완 계수 계산 단계)
 보완 계수 계산부(430)는, 처리 장치에 의해, 수학식 179가 되는 I와, I에 포함되는 각 정수 i에 대하여 상수(보완 계수) α i를 계산한다.
 [수학식 179]
 
 또, M i란, 행렬 M의 i행째이다.
 (S805 : 난수 생성 단계)
 난수 생성부(251)는, 처리 장치에 의해, 난수 ξ 1, ξ 2와, 난수 β i, β i’(i=1, …, L)를 수학식 180에 나타내는 바와 같이 생성한다.
 [수학식 180]
 
 (S806 : 서명 요소 생성 단계)
 서명 요소 생성부(255)는, 처리 장치에 의해, i=1, …, L의 각 정수 i에 대하여, 서명 데이터 σ의 요소인 서명 요소 s * i를 수학식 181에 나타내는 바와 같이 생성한다.
 [수학식 181]
 
 여기서, r * i는, 수학식 182(수학식 110으로부터 수학식 112 및 이들의 수학식의 설명을 참조)이다.
 [수학식 182]
 
 또한, γ i와 y i:=(y i , i’)(i’=1, …, n t)와 y’ i:=(y’ i, i’)(i’=1, …, n t)는, 수학식 183이다.
 [수학식 183]
 
 (S807 : 데이터 송신 단계)
 서명 데이터 송신부(260)는, 서명 요소 s * i(i=1, …, L)와, 메시지 m과, 액세스 스트럭쳐 S:=(M, ρ)와, g 0:=g 4 ξ2(여기서, ξ2는 ξ 2이다)를  포함하는  서명  데이터  σ를,  예컨대  통신  장치에  의해  네트워크를  통하여  검증  장치(300)에  송신한다.    물론,  서명  데이터  σ는,  다른  방법에  의해  검증  장치(300)에  송신되더라도  좋다.
 다시  말해,  (S801)로부터  (S806)에  있어서,  서명  장치(200)는  수학식  184에  나타내는  Sig  알고리즘을  실행하여,  서명  데이터  σ를  생성한다.    그리고,  (S807)에서,  서명  장치(200)는  생성된  서명  데이터  σ를  검증  장치(300)에  배포한다.
 [수학식 184]
 
 검증 장치(300)의 기능과 동작에 대하여 설명한다.
 도 17에 나타내는 바와 같이, 검증 장치(300)는, 공개 파라미터 취득부(310), 데이터 수신부(320)(데이터 취득부), 검증키 생성부(330), 페어링 연산부(340)를 구비한다.
 또한, 검증키 생성부(330)는, 난수 생성부(331), f 벡터 생성부(332), s 벡터 생성부(333), 검증 요소 생성부(337)를 구비한다.
 도 22에 근거하여, 검증 장치(300)가 실행하는 Ver 알고리즘의 처리에 대하여 설명한다.
 (S901 : 공개 파라미터 취득 단계)
 공개 파라미터 취득부(310)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 각 키 생성 장치(100)가 생성한 글로벌 파라미터 gparam과, 관리자 공개 파라미터 apk t를 취득한다.
 (S902 : 서명 데이터 수신 단계)
 데이터 수신부(320)는, 예컨대, 통신 장치에 의해 네트워크를 통하여, 서명 장치(200)가 송신한 서명 데이터 σ를 수신한다.
 (S903 : f 벡터 생성 단계)
 f 벡터 생성부(332)는, 처리 장치에 의해, r개의 요소를 갖는 벡터 f 를 수학식 185에 나타내는 바와 같이 랜덤으로 생성한다.
 [수학식 185]
 
 (S904 : s 벡터 생성 단계)
 s 벡터 생성부(333)는, 처리 장치에 의해, (S902)에서 수신한 서명 데이터 σ에 포함되는 액세스 스트럭쳐 S의 (L행×r열)의 행렬 M과, (S903)에서 생성한 r개의 요소를 갖는 벡터 f 에 근거하여, 벡터 s →T를 수학식 186에 나타내는 바와 같이 생성한다.
 [수학식 186]
 
 또한, s 벡터 생성부(333)는, 처리 장치에 의해, (S903)에서 생성한 벡터 f 에 근거하여, 값 s 0을  수학식  187에  나타내는  바와  같이  생성한다.    또,  1 는, 모든 요소가 값 1인 벡터이다.
 [수학식 187]
 
 (S905 : f’ 벡터 생성 단계)
 f 벡터 생성부(332)는, 처리 장치에 의해, r개의 요소를 갖는 벡터 f ’를 수학식 188에 나타내는 바와 같이 랜덤으로 생성한다.
 [수학식 188]
 
 (S906 : s’ 벡터 생성 단계)
 s 벡터 생성부(333)는, 처리 장치에 의해, (L행×r열)의 행렬 M과, r개의 요소를 갖는 벡터 f ’에 근거하여, 벡터 (s ’) T를 수학식 189에 나타내는 바와 같이 생성한다.
 [수학식 189]
 
 (S907 : 난수 생성 단계)
 난수 생성부(331)는, 처리 장치에 의해, 난수 σ 와 값 σ 0을 수학식 190에 나타내는 바와 같이 생성한다.
 [수학식 190]
 
 (S908 : 검증 요소 생성 단계)
 검증 요소 생성부(337)는, 처리 장치에 의해, i=1, …, L의 각 정수 i에 대하여, 검증 키의 요소인 검증 요소 c i를 수학식 191에 나타내는 바와 같이 생성한다.
 [수학식 191]
 
 또, 상술한 바와 같이, 수학식 113에 나타내는 기저 B와 기저 B *에  대하여,  수학식  114이다.    따라서,  수학식  191은,  이하와  같이,  기저  B t의  기저  벡터의  계수가  설정되는  것을  의미한다.    여기서는,  표기를  간략화하여,  기저  벡터  b t , i  중,  i의  부분만으로  기저  벡터를  특정한다.    예컨대,  기저  벡터  1이면,  기저  벡터  b t , 1을  의미한다.    또한,  기저  벡터  1,  …,  3이면,  기저  벡터  b t , 1, …, b t , 3을 의미한다.
 ρ(i)가 긍정형의 조 (t, v i)인 경우에는, 기저 벡터 1의 계수로서 s iiv i, 1이  설정된다.    기저  벡터  2,  …,  n t의 계수로서 θ iv i , 2, …, θ iv i , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1의 계수로서 s i’+θ i’v i , 1이  설정된다.    기저  벡터  n t+2, …, 2n t의 계수로서 θ i’v i , 2, …, θ i’v i , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  2n t+1의 계수로서 σ ii’’H 2(m,  S)가  설정된다.    또,  H 2(m, S)란, 해시 함수 H 2의  입력으로서,  메시지  m과  액세스  스트럭쳐  S가  주어지는  것을  의미한다.    예컨대,  H 2(m||S)로  하더라도  좋다.    기저  벡터  2n t+2의 계수로서 θ i’’가  설정된다.    기저  벡터  2n t+2+1, …, 2n t+2+u t+w t의  계수로서  0이  설정된다.    기저  벡터  2n t+2+u t+w t+1, …, 2n t+2+u t+w t+z t의 계수로서 η i, 1, …, η i, zt(여기서, zt는 z t이다)가 설정된다.
 한편, ρ(i)가 부정형의 조 ¬(t, v i)인 경우에는, 기저 벡터 1, …, n t의 계수로서 s iv i , 1, …, s iv i , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  n t+1, …, 2n t의 계수로서 s i’v i , 1, …, s i’v i , nt(여기서, nt는 n t이다)가  설정된다.    기저  벡터  2n t+1의 계수로서 σ ii’’H 2(m,  S)가  설정된다.    기저  벡터  2n t+2의 계수로서 θ i’’가  설정된다.    기저  벡터  2n t+2+1, …, 2n t+2+u t+w t의  계수로서  0이  설정된다.    기저  벡터  2n t+2+u t+w t+1, …, 2n t+2+u t+w t+z t의 계수로서 η i, 1, …, η i, zt(여기서, zt는 z t이다)가 설정된다.
 (S909 : 페어링 연산 단계)
 페어링 연산부(340)는, 처리 장치에 의해, 수학식 192에 나타내는 페어링 연산을 계산한다.
 [수학식 192]
 
 수학식 192에 나타내는 페어링 연산을 계산한 결과가 값 g T s0g 0 σ0(여기서 s0은 s 0이고, σ0은 σ 0이다)이면,  페어링  연산부(340)는,  서명의  검증에  성공한  것을  나타내는  값  1을  출력한다.    한편,  그  밖의  값이면,  페어링  연산부(340)는,  서명의  검증에  실패한  것을  나타내는  값  0을  출력한다.
 또, 수학식 193에 나타내는 바와 같이, 수학식 192를 계산하는 것에 의해, 서명 데이터 σ가 정당한 것이면, 값 1이 얻어진다.
 [수학식 193]
 
 다시 말해, (S901)로부터 (S909)에 있어서, 검증 장치(300)는, 수학식 194에 나타내는 Ver 알고리즘을 실행하여, 서명 데이터 σ를 검증한다.
 [수학식 194]
 
 이상과  같이,  실시의  형태  2에  따른  서명  처리  시스템(10)은,  복수의  키  생성  장치(100)가  서명  키를  생성하는  다관리자  속성  베이스  서명  방식을  실현한다.    특히,  서명  처리  시스템(10)이  실현하는  서명  방식은,  중앙  관리자가  없는  분산  다관리자  속성  베이스  서명  방식이다.
 또, 실시의 형태 2에 따른 서명 처리 시스템(10)은, 실시의 형태 1에 따른 서명 처리 시스템(10)과 마찬가지로, 논모노톤 술어를 동반하는 속성 베이스 서명 방식을 실현한다.
 실시의 형태 2에 따른 서명 처리 시스템(10)이 실현하는 속성 베이스 서명 방식은, 안전성이 높고, 프라이버시 요건을 만족시키고 있다.
 또, 상기 설명에 있어서, u t, w t, z t(t=1,  …,  d)의  차원은,  안전성을  높이기  위해  마련한  차원이다.    따라서,  안전성이  낮아져  버리지만,  u t, w t, z t(t=1, …, d)를 각각 0으로 하여, u t, w t, z t(t=1, …, d)의 차원을 마련하지 않더라도 좋다.
 또한, 상기 설명에서는, 기저 B t 및 기저 B * t의 차원수를 2n t+2+u t+w t+z t로  설정했다.    그러나,  2n t+2+u t+w t+z t를 2+2+2+6+4+1로 하여, 기저 B t 및 기저 B * t의 차원수를 17로 하더라도 좋다.
 이 경우, 수학식 168에 나타내는 GSetup 알고리즘은, 수학식 195와 같이 다시 쓸 수 있다.
 [수학식 195]
 
 또한, 수학식 174에 나타내는 ASetup 알고리즘은, 수학식 196과 같이 다시 쓸 수 있다.
 [수학식 196]
 
 또한, 수학식 178에 나타내는 AttrGen 알고리즘은, 수학식 197과 같이 다시 쓸 수 있다.
 [수학식 197]
 
 또한, 수학식 184에 나타내는 Sig 알고리즘은, 수학식 198과 같이 다시 쓸 수 있다.
 [수학식 198]
 
 또한, 수학식 194에 나타내는 Ver 알고리즘은, 수학식 199와 같이 다시 쓸 수 있다.
 [수학식 199]
 
 또한,  GSetup  알고리즘은,  서명  처리  시스템(10)을  셋업할  때에  어느  하나의  키  생성  장치(100)가  한  번  실행하면  되고,  서명  키를  생성할  때마다  실행할  필요는  없다.    마찬가지로,  ASetup  알고리즘은,  서명  처리  시스템(10)을  셋업할  때에  각  키  생성  장치(100)가  한  번  실행하면  되고,  서명  키를  생성할  때마다  실행할  필요는  없다.
 또한, 상기 설명에서는, GSetup 알고리즘과 ASetup 알고리즘과 KeyGen 알고리즘을 키 생성 장치(100)가 실행하는 것으로 했지만, GSetup 알고리즘과 ASetup 알고리즘과 KeyGen 알고리즘을 각각 다른 장치가 실행하는 것으로 하더라도 좋다.
 실시의 형태 3.
 이상의  실시의  형태에서는,  쌍대  벡터  공간에  있어서  서명  처리를  실현하는  방법에  대하여  설명했다.    본  실시의  형태에서는,  쌍대  가군에  있어서  서명  처리를  실현하는  방법에  대하여  설명한다.
 다시  말해,  이상의  실시의  형태에서는,  소수  위수  q의  순회군에  있어서  서명  처리를  실현했다.    그러나,  합성수  M을  이용하여  수학식  200과  같이  환  R을  나타낸  경우,  환  R을  계수로  하는  가군에  있어서도,  상기  실시의  형태에서  설명한  서명  처리를  적용할  수  있다.
 [수학식 200]
 
 실시의 형태 1에서 설명한 속성 베이스 서명 방식을, 환 R을 계수로 하는 가군에 있어서 실현하면 수학식 201로부터 수학식 205와 같이 된다.
 [수학식 201]
 
 [수학식 202]
 
 [수학식 203]
 
 [수학식 204]
 
 [수학식 205]
 
 실시의 형태 2에서 설명한 분산 다관리자 속성 베이스 서명 방식을, 환 R을 계수로 하는 가군에 있어서 실현하면 수학식 206으로부터 수학식 210과 같이 된다.
 [수학식 206]
 
 [수학식 207]
 
 [수학식 208]
 
 [수학식 209]
 
 [수학식 210]
 
 또, 안전성의 증명의 관점으로부터, 이상의 실시의 형태에 있어서, i=1, …, L의 각 정수 i에 대한 ρ(i)는, 각각 다른 식별 정보 t에 대한 긍정형의 조 (t, v i) 또는 부정형의 조 ¬(t, v i)인 것으로 한정하더라도 좋다.
 바꿔 말하면, ρ(i)=(t, v i) 또는 ρ(i)=¬(t, v i)인 경우에, 함수 ρ ~를, ρ ~(i)=t인  {1,  …,  L}→{1,  …,  d}의  사상인  것으로  한다.    이  경우,  ρ ~가  단사인  것으로  한정하더라도  좋다.    또,  ρ(i)는,  상술한  액세스  스트럭쳐  S:=(M,  ρ(i))의  ρ(i)이다.
 또한, 상기 설명에서는, 스팬 프로그램 M ^는, 입력열 δ에 의해 행렬 M ^로부터 얻어지는 행렬 M δ의 행을 선형 결합하여 1 가  얻어지는  경우에  한해,  입력열  δ를  수리하는  것으로  했다.    그러나,  스팬  프로그램  M ^는, 1 가 아니고, 다른 벡터 h 가 얻어지는 경우에 한해, 입력열 δ를 수리하는 것으로 하더라도 좋다.
 이 경우, KeyGen 알고리즘에 있어서, s 0:=1 ㆍf →T가 아니고, s 0:=h ㆍf →T로 하면 된다.
 다음으로, 실시의 형태에 있어서의 서명 처리 시스템(10)(키 생성 장치(100), 서명 장치(200), 검증 장치(300))의 하드웨어 구성에 대하여 설명한다.
 도 23은 키 생성 장치(100), 서명 장치(200), 검증 장치(300)의 하드웨어 구성의 일례를 나타내는 도면이다.
 도  23에  나타내는  바와  같이,  키  생성  장치(100),  서명  장치(200),  검증  장치(300)는,  프로그램을  실행하는  CPU(911)(Central  Processing  Unit,  중앙  처리  장치,  처리  장치,  연산  장치,  마이크로프로세서,  마이크로컴퓨터,  프로세서라고도  한다)를  구비하고  있다.    CPU(911)는,  버스(912)를  통하여  ROM(913),  RAM(914),  LCD(901)(Liquid  Crystal  Display),  키보드(902)(K/B),  통신  보드(915),  자기  디스크  장치(920)와  접속되고,  이들의  하드웨어  디바이스를  제어한다.    자기  디스크  장치(920)(고정  디스크  장치)  대신,  광  디스크  장치,  메모리카드  읽기/쓰기  장치  등의  기억  장치라도  좋다.    자기  디스크  장치(920)는,  소정의  고정  디스크  인터페이스를  통하여  접속된다.
 ROM(913),  자기  디스크  장치(920)는,  비휘발성  메모리의  일례이다.    RAM(914)은,  휘발성  메모리의  일례이다.    ROM(913)과  RAM(914)과  자기  디스크  장치(920)는,  기억  장치(메모리)의  일례이다.    또한,  키보드(902),  통신  보드(915)는,  입력  장치의  일례이다.    또한,  통신  보드(915)는,  통신  장치의  일례이다.    또한,  LCD(901)는,  표시  장치의  일례이다.
 자기  디스크  장치(920)  또는  ROM(913)  등에는,  오퍼레이팅  시스템(921)(OS),  윈도우  시스템(922),  프로그램군(923),  파일군(924)이  기억되어  있다.    프로그램군(923)의  프로그램은,  CPU(911),  오퍼레이팅  시스템(921),  윈도우  시스템(922)에  의해  실행된다.
 프로그램군(923)에는,  상기의  설명에  있어서  「마스터  키  생성부(110)」,  「마스터  키  기억부(120)」,  「정보  입력부(130)」,  「서명  키  생성부(140)」,  「키  배포부(150)」,  「서명  키  취득부(210)」,  「정보  입력부(220)」,  「스팬  프로그램  계산부(230)」,  「보완  계수  계산부(240)」,  「서명  데이터  생성부(250)」,  「서명  데이터  송신부(260)」,  「공개  파라미터  취득부(310)」,  「데이터  수신부(320)」,  「검증키  생성부(330)」,  「페어링  연산부(340)」  등으로서  설명한  기능을  실행하는  소프트웨어나  프로그램이나  그  밖의  프로그램이  기억되어  있다.    프로그램은,  CPU(911)에  의해  판독되어  실행된다.
 파일군(924)에는,  상기의  설명에  있어서  「공개  파라미터」,  「마스터  키」,  「서명  데이터  σ」,  「서명  키」,  「액세스  스트럭쳐  S」,  「속성  정보」,  「속성의  집합  Γ」,  「메시지  m」  등의  정보나  데이터나  신호값이나  변수값이나  파라미터가,  「파일」이나  「데이터베이스」의  각  항목으로서  기억된다.    「파일」이나  「데이터베이스」는,  디스크나  메모리  등의  기록  매체에  기억된다.    디스크나  메모리  등의  기억  매체에  기억된  정보나  데이터나  신호값이나  변수값이나  파라미터는,  읽기/쓰기  회로를  통하여  CPU(911)에  의해  메인메모리나  캐시메모리에  판독되고,  추출ㆍ검색ㆍ참조ㆍ비교ㆍ연산ㆍ계산ㆍ처리ㆍ출력ㆍ인쇄ㆍ표시  등의  CPU(911)의  동작에  이용된다.    추출ㆍ검색ㆍ참조ㆍ비교ㆍ연산ㆍ계산ㆍ처리ㆍ출력ㆍ인쇄ㆍ표시의  CPU(911)의  동작  동안,  정보나  데이터나  신호값이나  변수값이나  파라미터는,  메인메모리나  캐시메모리나  버퍼메모리에  일시적으로  기억된다.
 또한,  상기의  설명에  있어서의  플로차트의  화살표의  부분은  주로  데이터나  신호의  입출력을  나타내고,  데이터나  신호값은,  RAM(914)의  메모리,  그  밖의  광  디스크  등의  기록  매체나  IC칩에  기록된다.    또한,  데이터나  신호는,  버스(912)나  신호선이나  케이블,  그  밖의  전송  매체나  전파에  의해  온라인  전송된다.
 또한,  상기의  설명에  있어서  「~부」로서  설명하는  것은,  「~회로」,  「~장치」,  「~기기」,  「~수단」,  「~기능」이더라도  좋고,  또한,  「~단계」,  「~수순」,  「~처리」이더라도  좋다.    또한,  「~장치」로서  설명하는  것은,  「~회로」,  「~기기」,  「~수단」,  「~기능」이더라도  좋고,  또한,  「~단계」,  「~수순」,  「~처리」이더라도  좋다.    또한,  「~처리」로서  설명하는  것은  「~단계」이더라도  상관없다.    즉,  「~부」로서  설명하는  것은,  ROM(913)에  기억된  펌웨어로  실현되고  있더라도  상관없다.    혹은,  소프트웨어만,  혹은,  소자ㆍ디바이스ㆍ기판ㆍ배선  등의  하드웨어만,  혹은,  소트프웨어와  하드웨어의  조합,  또한,  펌웨어와의  조합으로  실시되더라도  상관없다.    펌웨어와  소프트웨어는,  프로그램으로서,  ROM(913)  등의  기록  매체에  기억된다.    프로그램은  CPU(911)에  의해  판독되고,  CPU(911)에  의해  실행된다.    즉,  프로그램은,  상기에서  말한  「~부」로서  컴퓨터  등을  기능시키는  것이다.    혹은,  상기에서  말한  「~부」의  수순이나  방법을  컴퓨터  등에  실행시키는  것이다.
부호의 설명
 10  :  서명  처리  시스템                                                100  :  키  생성  장치
110  :  마스터  키  생성부                                                111  :  글로벌  파라미터  생성부
112  :  관리자  비밀  키  생성부                                120  :  마스터  키  기억부
130  :  정보  입력부                                                                140  :  서명  키  생성부
141  :  난수  생성부                                                                142  :  키  요소  0  생성부
143  :  키  요소  t  생성부                                                144  :  키  요소  d+1  생성부
145  :  키  요소  생성부                                                150  :  키  배포부
200  :  서명  장치                                                                210  :  서명  키  취득부
220  :  정보  입력부                                                                221  :  술어  정보  입력부
222  :  메시지  입력부                                                230  :  스팬  프로그램  계산부
240  :  보완  계수  계산부                                                250  :  서명  데이터  생성부
251  :  난수  생성부                                                                252  :  서명  요소  0  생성부
253  :  서명  요소  i  생성부                                254  :  서명  요소  L+1  생성부
255  :  서명  요소  생성부                                                260  :  서명  데이터  송신부
300  :  검증  장치                                                                310  :  공개  파라미터  취득부
320  :  데이터  수신부                                                330  :  검증키  생성부
331  :  난수  생성부                                                                332  :  f  벡터  생성부
333  :  s  벡터  생성부                                                334  :  검증  요소  0  생성부
335  :  검증  요소  i  생성부                                336  :  검증  요소  L+1  생성부
337  :  검증  요소  생성부                                                340  :  페어링  연산부