ES2684945T3 - Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas - Google Patents

Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas Download PDF

Info

Publication number
ES2684945T3
ES2684945T3 ES11856860.9T ES11856860T ES2684945T3 ES 2684945 T3 ES2684945 T3 ES 2684945T3 ES 11856860 T ES11856860 T ES 11856860T ES 2684945 T3 ES2684945 T3 ES 2684945T3
Authority
ES
Spain
Prior art keywords
signature
key
integer
base
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11856860.9T
Other languages
English (en)
Inventor
Katsuyuki Takashima
Tatsuaki Okamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of ES2684945T3 publication Critical patent/ES2684945T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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/3073Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3255Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)
  • Complex Calculations (AREA)

Abstract

Un sistema de procesamiento de firmas (10) que comprende un dispositivo de generación de claves (100), un dispositivo de firmas (200) y un dispositivo de verificación (300), y que sirve para ejecutar un proceso de firma usando una base Bt y una base B*t para cada número entero t >= 0, ..., d+1 (d es un número entero de 1 o más), en donde el dispositivo de generación de claves incluye una primera parte de entrada de información (130) que toma como entrada un conjunto de atributos Γ que incluye información de identificación t e información de atributo x→ t :>= (xt,i) (i >= 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t >= 1, ..., d, una parte de generación del elemento de clave 0 (142) que genera un elemento de clave k*0 donde un valor Γ predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0, una parte de generación del elemento de clave t (143) que genera un elemento de clave k*t donde δxt,i (i >= 1, ..., nt) obtenido multiplicando la información de atributo x→ t por el valor δ predeterminado se establece como coeficiente para un vector base b*t,i (i >= 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos Γ introducido por la primera parte de entrada de información, una parte de generación del elemento de clave d+1 (144) que genera un elemento de clave k*d+1,1 donde el valor δ predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y un elemento de clave k*d+1,2 donde el valor δ predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1, y una parte de transmisión de clave de firma (150) que transmite, al dispositivo de firma, una clave de firma skρ que incluye: el elemento de clave k*0 generado por la parte de generación del elemento de clave 0; el elemento de clave k*t generado por la parte de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos Γ ; el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se generan por la parte de generación del elemento de clave d+1; y el conjunto de atributos Γ , en donde el dispositivo de firmas incluye una segunda parte de entrada de información (220) que toma como entrada una variable ρ(i) para cada número entero i >= 1, ..., L (L es un número entero de 1 o más), cuya variable ρ(i) es cualquiera de una tupla positiva (t, v→ i) y una tupla negativa ¬(t, v→ i) de la información de identificación t (t es cualquier número entero de t >= 1, ..., d) y la información de atributo v→ i :>= (vi, i') (i' >= 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m, una parte de adquisición de clave de firma (210) que adquiere la clave de firma skτ transmitida por la parte de transmisión de clave de firma, una parte de cálculo de coeficiente complementario (240) que, en base a la variable ρ(i) introducida por la segunda parte de entrada de información y el conjunto de atributos Γ incluido en la clave de firma skτ adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i >= 1, ..., L, un conjunto I de un número entero i para el cual la variable ρ(i) es una tupla positiva (t, v→ i) y con el cual un producto interno de v→ i de la tupla positiva y x→ t incluido en el conjunto de atributos Γ indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable ρ(i) es una tupla negativa ¬(t, v→ i) y con el cual un producto interno de v→ i de la tupla negativa y x→ t incluido en el conjunto de atributos Γ indicado por la información de identificación t de la tupla negativa no llega a ser 0; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario αi con el cual un total de αiMi en base a Mi que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector h→ predeterminado, una parte de generación del elemento de firma 0 (252) que genera un elemento de firma s*0 que incluye el elemento de clave k*0 incluido en la clave de firma skτ, una parte de generación del elemento de firma i (253) que genera, para cada número entero i >= 1 ..., L, un elemento de firma s*i que incluye γik*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skτ por un valor γi, estableciendo el valor γi para satisfacer γi :>= αi cuando el número entero i se incluye en el conjunto I especificado por la parte de cálculo de coeficiente complementario y la variable ρ(i) es una tupla positiva (t, v→ i); estableciendo el valor αi para satisfacer γi :>= αi/(v→ i · x→ t) cuando el número entero i está incluido en el conjunto I y la variable ρ(i) es una tupla negativa ¬(t, v→ i); y estableciendo el valor γi para satisfacer γi :>= 0 cuando el número entero i no está incluido en el conjunto I, una parte de generación del elemento de firma L+1 (254) que genera un elemento de firma s*L+1 que incluye una suma del elemento de clave k*d+1,1 incluido en la clave de firma skτ y m'·k*d+1,2 obtenido multiplicando el elemento de clave k*d+1,2 por un valor m' generado usando el mensaje m, y

Description

5
10
15
20
25
30
35
40
45
DESCRIPCION
Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas
Campo técnico
La presente invención se refiere a un esquema de firmas basado en atributos (ABS). La invención se define en las reivindicaciones independientes.
Antecedentes de la técnica
Las Literaturas no de Patente 26, 29, 30, 34 a 37, 45 y 51 describen un esquema de firmas basado en atributos. Particularmente, las Literaturas no de Patente 36 y 37 describen un esquema de firmas basado en atributos que soporta un predicado monótono.
Lista de referencias
Literatura de Patente
Literatura no de Patente 1: Beimel, A., Secure schemes for secret sharing and key distribution. Tesis doctoral, Instituto de Tecnología de Israel, Technion, Haifa, Israel, 1996.
Literatura no de Patente 2: Belenkiy, M., Camenisch, J., Chase, M., Kohlweiss, M., Lysyanskaya, A. y Shacham, H.: Randomizable proofs and delegatable anonymous credentials. CRYPTO 2009. LNCS, Springer Heidelberg (2009)
Literatura no de Patente 3: Belenkiy, M., Chase, M., Kohlweiss, M. y Lysyanskaya, A.: P-signatures and noninteractive anonymous credentials. TCC 2008, LNCS, Springer Heidelberg (2008)
Literatura no de Patente 4: Bethencourt, J., Sahai, A., Waters, B.: Ciphertext-policy attribute-based encryption. En: Simposio sobre Seguridad y Privacidad del IEEE 2007, páginas 321-334. IEEE Press (2007)
Literatura no de Patente 5: Boneh, D., Boyen, X.: Efficient selective-ID secure identity based encryption without random oracles. En: Cachin, C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, páginas 223-238. Springer Heidelberg (2004)
Literatura no de Patente 6: Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. En: Franklin, M.K. (ed.) CRYPTO 2004. LNCS, vol. 3152, páginas 443-459. Springer Heidelberg (2004)
Literatura no de Patente 7: Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, páginas 440-456. Springer Heidelberg (2005)
Literatura no de Patente 8: Boneh, D., Franklin, M.: Identity-based encryption from the Weil pairing. En: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, páginas 213-229. Springer Heidelberg (2001)
Literatura no de Patente 9: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, páginas 455-470. Springer Heidelberg (2008)
Literatura no de Patente 10: Boneh, D., Katz, J., Improved efficiency for CCA-secure cryptosystems built using identity based encryption. RSA-CT 2005, LNCS, Springer Verlag (2005)
Literatura no de Patente 11: Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. En: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, páginas 535-554. Springer Heidelberg (2007)
Literatura no de Patente 12: X. Boyen: Mesh signatures. EUROCRYPT, LNCS, vol. 4515, páginas 210-227. Springer (2007)
Literatura no de Patente 13: Boyen, X., Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). En: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, páginas 290-307. Springer Heidelberg (2006)
Literatura no de Patente 14: Camenisch, J. y Gross, T.: Efficient attributes for anonymous credentials. CCS 2008.
Literatura no de Patente 15: Camenisch, J. y Lysyanskaya, A.: An efficient system for non-transferable anonymous credentials with optimal anonymity revocation. Eurocrypt 2001.
Literatura no de Patente 16: Camenisch, J. y Lysyanskaya, A.: Signature schemes and anonymous credentials from bilinear maps. Crypto 2004.
Literatura no de Patente 17: Canetti, R., Halevi S., Katz J., Chosen-ciphertext security from identity-based encryption. EUROCRYPT 2004, LNCS, Springer-Verlag (2004)
5
10
15
20
25
30
35
40
45
Literatura no de Patente 18: Chaum, D.: Security without identification: Transaction systems to make big brother obsolete. CACM (1985).
Literatura no de Patente 19: D. Chaum y E. van Heyst: Group signatures. En las actas de EUROCRYPT'91, LNCS, vol. 547, páginas 257-265 (1991).
Literatura no de Patente 20: Cocks, C.: An identity based encryption scheme based on quadratic residues. En: Honary, B. (ed.) Conf. Int. IMA. LNCS, vol. 2260, páginas 360-363. Springer Heidelberg (2001)
Literatura no de Patente 21: Gentry, C.: Practical identity-based encryption without random oracles. En: Vaudenay, S. (ed.) EURO-CRYPT 2006. LNCS, vol. 4004, páginas 445-464. Springer Heidelberg (2006)
Literatura no de Patente 22: Gentry, C., Halevi, S.: Hierarchical identity-based encryption with polynomially many levels. En: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, páginas 437-456. Springer Heidelberg (2009)
Literatura no de Patente 23: Gentry, C., Silverberg, A: Hierarchical ID-based cryptography. En: Zheng, Y. (ed.) ASIACRYPT 2002.LNCS, vol. 2501, páginas 548-566. Springer Heidelberg (2002)
Literatura no de Patente 24: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for fine-grained access control of encrypted data. En: Conferencia ACM sobre Seguridad Informática y de Comunicaciones 2006, páginas 89-98, ACM (2006).
Literatura no de Patente 25: Groth, J., Sahai, A.: Efficient non-interactive proof systems for bilinear groups. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, páginas 415-432. Springer Heidelberg (2008)
Literatura no de Patente 26: S. Guo e Y. Zeng: Attribute-based Signature Scheme, En ISA'08, páginas 509-511 (2008).
Literatura no de Patente 27: Horwitz, J., Lynn, B.: Towards hierarchical identity-based encryption. En: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, páginas 466-481. Springer Heidelberg (2002)
Literatura no de Patente 28: Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, páginas 146-162. Springer Heidelberg (2008)
Literatura no de Patente 29: D. Khader: Attribute Based Group Signatures, Cryptology ePrint Archive, Informe 2007/159 (2007).
http://eprint.iacr.org/2007/159.
Literatura no de Patente 30: D. Khader: Attribute Based Group Signature with Revocation. Cryptology ePrint Archive, Informe 2007/241, (2007).
http://eprint.iacr.org/2007/241.
Literatura no de Patente 31: Lewko, A., Okamoto, T., Sahai, A., Takashima, K. y Waters, B.: Fully Secure Functional Encryption: Attribute-Based Encryption and (Hierarchical) Inner Product Encryption, EUROCRYPT 2010. LNCS, Springer Heidelberg (2010).
Literatura no de Patente 32: Lewko, A.B., Waters, B.: Fully secure HIBE with short ciphertexts. ePrint, IACR,
http://eprint.iacr.org/2009/482
Literatura no de Patente 33: Lewko, A.B., Waters, B.: Decentralizing Attribute-Based Encryption, ePrint, IACR,
http://eprint.iacr.org/2010/351.
Literatura no de Patente 34: Jin Li, Man Ho Au, Willy Susilo, Dongqing Xie, Kui Ren: Attribute-based Signature and its Application, ASIACCS' 2010, ACM (2010).
Literatura no de Patente 35: J. Li y K. Kim: Attribute-based ring signatures. 2008. Disponible en
http://eprint.iacr.org/2008/394. Para aparecer en el Diario de Ciencias de la Información.
Literatura no de Patente 36: Maji, H., Prabhakaran, M., Rosulek, M.: Attribute-based Signatures: Achieving Attribute- Privacy and Collusion-Resistance. ePrint, IACR,
http://eprint.iacr.org/2008/328
Literatura no de Patente 37: Maji, H., Prabhakaran, M., Rosulek, M.: Attribute-Based Signatures.
http://www.cs.uiuc.edu/mmp/research.html
Literatura no de Patente 38: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5209, páginas 57-74. Springer Heidelberg (2008)
Literatura no de Patente 39: Okamoto, T., Takashima, K.: Hierarchical predicate encryption for Inner-Products, En: ASIACRYPT 2009, Springer Heidelberg (2009)
5
10
15
20
25
30
35
40
45
Literatura no de Patente 40: Okamoto, T., Takashima, K.: Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption, en: CRYPTO 2010, Springer Heidelberg (2010).
Literatura no de Patente 41: Ostrovsky, R., Sahai, A., Waters, B.: Attribute-based encryption with non-monotonic access structures. En: Conferencia ACM sobre Seguridad Informática y de Comunicaciones 2007, paginas 195-203, ACM (2007)
Literatura no de Patente 42: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: Conferencia ACM sobre Seguridad Informática y de Comunicaciones 2006, páginas 99-112, ACM, (2006)
Literatura no de Patente 43: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: Conferencia ACM sobre Seguridad Informática y de Comunicaciones 2006, páginas 99-112, ACM, (2006).
Literatura no de Patente 44: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, páginas 457-473. Springer Heidelberg (2005)
Literatura no de Patente 45: S. F. Shahandashti y R. Safavi-Naini: Threshold attribute-based signatures and their application to anonymous credential systems. En AFRICACRYPT'09, páginas 198-216 (2009).
Literatura no de Patente 46: A Shamir: Identity-based cryptosystems and signature schemes. En CRYPTO'84, páginas 47-53 (1984).
Literatura no de Patente 47: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En: Aceto, L., Dam°gard, I., Goldberg, LA., Halldorsson, M.M., Ingolfsdottir, A., Walukiewicz, l. (eds.) ICALP (2) 2008. LNCS, vol. 5126, páginas 560-578. Springer Heidelberg (2008)
Literatura no de Patente 48: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En: Aceto, L., Dam°gard, I., Goldberg, L.A., Halldorsson, M.M., Ingolfsdottir, A., Walukiewicz, l. (eds.) ICALP (2) 2008. LNCS, vol. 5126, páginas 560-578. Springer Heidelberg (2008).
Literatura no de Patente 49: Waters, B.: Ciphertext-policy attribute-based encryption an expressive, efficient, and probably secure realization. ePrint, IACR,
http://eprint.iacr.org/2008/290
Literatura no de Patente 50: Waters, B.: Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, páginas 619-636. Springer Heidelberg (2009)
Literatura no de Patente 51: Waters, B.: Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, páginas. 619-636. Springer Heidelberg (2009)
Compendio de la invención
Problema técnico
El esquema de firmas basado en atributos convencional no soporta predicados no monótonos.
Es un objeto de la presente invención proporcionar un esquema de firmas basado en atributos que soporte predicados no monótonos.
Solución al problema
Un sistema de procesamiento de firmas según la presente invención es un sistema de procesamiento de firmas que incluye un dispositivo de generación de claves, un dispositivo de firmas y un dispositivo de verificación, y sirve para ejecutar un proceso de firma que usa una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d es un número entero de 1 o más),
en donde el dispositivo de generación de claves incluye
una primera parte de entrada de información que toma como entrada un conjunto de atributos r que incluye información de identificación t e información de atributo x^t := (xt,i) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d,
una parte de generación del elemento de clave 0 que genera un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0,
una parte de generación del elemento de clave t que genera un elemento de clave k*t donde 8xt,i (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base b*t,i (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r introducido por la primera parte de entrada de información,
5
10
15
20
25
30
35
40
45
50
55
una parte de generación del elemento de clave d+1 que genera un elemento de clave k*d+i,i donde el valor 5 predeterminado se establece como coeficiente para un vector base b*d+i,i de una base B*d+i, y un elemento de clave k*d+1,2 donde el valor 5 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+i, y
una parte de transmisión de clave de firma que transmite, al dispositivo de firmas, una clave de firma skr que incluye: el elemento de clave k*o generado por la parte de generación del elemento de clave 0; el elemento de clave k*t generado por la parte de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos r; el elemento de clave k*d+i,i y el elemento de clave k*d+i,2 que se generan por la parte de generación de elemento de clave d+i; y el conjunto de atributos r,
en donde el dispositivo de firmas incluye
una segunda parte de entrada de información que toma como entrada una variable p(i) para cada número entero i = i, ..., L (L es un número entero de i o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = i, ..., d) y la información de atributo v^¡:= (v¡,i) (i' = i, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de i o más); y un mensaje m,
una parte de adquisición de clave de firma que adquiere la clave de firma skr transmitida por la parte de transmisión de clave de firma,
una parte de cálculo de coeficientes complementarios que, en base a la variable p(i) introducida por la segunda parte de entrada de información y el conjunto de atributos r incluido en la clave de firma skr adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i = i, ..., L, un conjunto I de un número entero i para el cual la variable p(i) es una tupla positiva (t, v^¡) y con el cual un producto interno de v^¡ de la tupla positiva y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡) y con el cual un producto interno de v^¡ de la tupla negativa y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla negativa no llega a ser 0; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector predeterminado h^,
una parte de generación del elemento de firma 0 que genera un elemento de firma s*o que incluye el elemento de clave k*0 incluido en la clave de firma skr,
una parte de generación del elemento de firma i que genera, para cada número entero i = i ..., L, un elemento de firma s*¡ que incluye Y¡k*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skr por un valor y¡, estableciendo el valor y¡ para satisfacer y¡ := a¡ cuando el número entero i se incluye en el conjunto I especificado por la parte de cálculo de coeficientes complementarios y la variable p(¡) es una tupla positiva (t, v^¡); estableciendo el valor y¡ para satisfacer y¡ := a¡/(v^¡ ■ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I,
una parte de generación del elemento de firma L+i que genera un elemento de firma s\+i que incluye una suma del elemento de clave k*d+i,i incluido en la clave de firma skr y m' k*d+i,2 obtenido multiplicando el elemento de clave k*d+i,2 por un valor m' generado usando el mensaje m, y
una parte de transmisión de datos de firma que transmite, al dispositivo de verificación, datos de firma a que incluyen: el elemento de firma s*0 generado por la parte de generación del elemento de firma 0; el elemento de firma s*¡ generado para cada número entero i = i, ..., L por la parte de generación del elemento de firma i; el elemento de firma s\+i generado por la parte de generación del elemento de firma L+i; el mensaje m; la variable p(¡); y la matriz M, y
en donde el dispositivo de verificación incluye
una parte de adquisición de datos que adquiere los datos de firma a transmitidos por la parte de transmisión de datos de firma,
una parte de generación del elemento de verificación 0 que genera un elemento de verificación c0 estableciendo, como coeficiente para un vector base b0,i de una base B0, -s0 -sl+i calculado a partir de un valor s0 := h^- f^ y un valor predeterminado sl+i, el valor s0 := h^ ■ f^ que se genera usando un vector f^ que tiene r partes de elementos, y el vector h^,
una parte de generación del elemento de verificación i que, para cada número entero i = i, ..., L y usando un vector de columna s^T := (si, ..., sl)t := M ■ f^T generado en base al vector f^ y la matriz M que se incluye en los datos de firma a adquiridos por la parte de adquisición de datos, y un número predeterminado 0¡ para cada
5
10
15
20
25
30
35
40
número entero i = 1, ..., L, genera un elemento de verificación Ci, cuando la variable p(i) es una tupia positiva (t, v^¡), estableciendo s¡+0¡v¡,1 como coeficiente para un vector base bt,i de la base Bt indicado por la información de identificación t de la tupla positiva y estableciendo 0¡v¡,i' (i' = 2, ..., nt) como coeficiente para un vector base bt,¡' (i' = 2, ..., nt), y genera un elemento de verificación ci, cuando la variable p(i) es una tupla negativa -(t, v^¡) estableciendo s¡v¡,¡' (i' = 1, ..., nt) como coeficiente para el vector base bt,¡' (i' = 1, ..., nt) indicado por la información de identificación t de la tupla negativa,
una parte de generación del elemento de verificación L+1 que genera un elemento de verificación cl+i estableciendo sL+1-0L+1m' calculado a partir del valor predeterminado sl+1, el valor m', y un valor predeterminado 0l+1 como coeficiente para un vector base bd+1,1 de una base Bd+1, y estableciendo el valor predeterminado 0l+1 como coeficiente para un vector base bd+1,2, y
una parte de operación de emparejamiento que verifica la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento ni=oL+1e(ci, s*¡) para el elemento de verificación co generado por la parte de generación del elemento de verificación 0, el elemento de verificación ci generado por la parte de generación del elemento de verificación i, el elemento de verificación cl+1 generado por la parte de generación del elemento de verificación L+1, y los elementos de firma s*o, s*¡, y s\+1 incluidos en los datos de firma a.
Efectos ventajosos de la invención
Un esquema de firmas basado en atributos según la presente invención soporta predicados no monótonos, y en consecuencia realiza un esquema de firmas basado en atributos que tiene aplicaciones diversificadas.
Breve descripción de los dibujos
La Fig. 1 es un dibujo explicativo de una matriz MA La Fig. 2 es un dibujo explicativo de una matriz M5.
La Fig. 3 es un dibujo explicativo de so.
La Fig.4 es un dibujo explicativo de s^T.
La Fig.5 es un diagrama de configuración de un sistema de procesamiento de firmas 10 que ejecuta un esquema de firmas basado en atributos.
La Fig.6 es un diagrama de bloques de funciones que muestra una función de un dispositivo de generación de claves 100.
La Fig.7 es un diagrama de bloques de funciones que muestra una función de un dispositivo de firmas 200.
La Fig. 8 es un diagrama de bloques de funciones que muestra una función de un dispositivo de verificación 300.
La Fig. 9 es un diagrama de flujo que muestra el proceso del algoritmo Setup.
La Fig. 10 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen.
La Fig.11 es un diagrama de flujo que muestra el proceso del algoritmo Sig.
La Fig. 12 es un diagrama de flujo que muestra el proceso del algoritmo Ver.
La Fig. 13 es un dibujo explicativo de multiautoridad.
La Fig. 14 es un diagrama de configuración de un sistema de procesamiento de firmas 10 que ejecuta un esquema de firmas basado en atributos multiautoridad descentralizado.
La Fig. 15 es un diagrama de bloques de funciones que muestra una función de cada dispositivo de generación de claves 100.
La Fig. 16 es un diagrama de bloques de funciones que muestra una función de un dispositivo de firmas 200.
La Fig. 17 es un diagrama de bloques de funciones que muestra la función de un dispositivo de verificación 300.
La Fig. 18 es un diagrama de flujo que muestra el proceso del algoritmo GSetup.
La Fig. 19 es un diagrama de flujo que muestra el proceso del algoritmo ASetup.
La Fig. 20 es un diagrama de flujo que muestra el proceso del algoritmo AttrGen.
La Fig. 21 es un diagrama de flujo que muestra el proceso del algoritmo Sig.
5
10
15
20
25
30
35
La Fig. 22 es un diagrama de flujo que muestra el proceso del algoritmo Ver.
La Fig. 23 es un diagrama que muestra un ejemplo de la configuración de hardware del dispositivo de generación de claves 100, el dispositivo de firmas 200 y el dispositivo de verificación 300.
Descripción de realizaciones
Se describirán en lo sucesivo realizaciones de la presente invención con referencia a los dibujos anexos.
En la siguiente descripción, un dispositivo de procesamiento es, por ejemplo, una CPU 911 (a ser descrita más tarde). Un dispositivo de almacenamiento es, por ejemplo, una ROM 913, una RAM 914 o un disco magnético 920 (cada uno se describirá más tarde). Un dispositivo de comunicación es, por ejemplo, una placa de comunicación 915 (a ser descrita más tarde). Un dispositivo de entrada es, por ejemplo, un teclado 902 o la placa de comunicación 915 (a ser descrita más tarde). Esto es, el dispositivo de procesamiento, el dispositivo de almacenamiento, el dispositivo de comunicación y el dispositivo de entrada son hardware.
Se explicará la notación en la siguiente descripción.
Cuando A es una variable o distribución aleatoria, la Fórmula 101 indica que y se selecciona aleatoriamente a partir de A según la distribución de A. Esto es, en la Fórmula 101, y es un número aleatorio.
[Fórmula 101]
imagen1
Cuando A es un conjunto, la Fórmula 102 indica que y se selecciona uniformemente a partir de A. Esto es, en la Fórmula 102, y es un número aleatorio uniforme.
[Fórmula 102]
imagen2
La Fórmula 103 indica que y es un conjunto, definido o sustituido por z.
[Fórmula 103] y ■= z
Cuando a es un valor fijo, la Fórmula 104 indica un evento que una máquina (algoritmo) A emite a en la entrada x. [Fórmula 104]
A(x) ^ a Por ejemplo,
A(x) ^ 1
La Fórmula 105, esto es, Fq, indica un campo finito de orden q.
[Fórmula 105]
imagen3
Un símbolo vectorial indica una representación vectorial sobre el campo finito Fq. Esto es, se establece la Fórmula 106.
[Fórmula 106]
X indica
imagen4
5
10
15
20
25
La Fórmula 107 indica el producto interno, indicado en la Fórmula 109, de dos vectores x^ e indicados en la Fórmula 108.
[Fórmula 107]
x ■ v
[Fórmula 108]
imagen5
[Fórmula 109]
imagen6
Obsérvese que XT indica la transpuesta de la matriz M.
Cuando b¡ (i = 1, ..., n) es un elemento de un vector de un espacio V, esto es, cuando se establece la Fórmula 110, la Fórmula 111 indica un subespacio generado por la Fórmula 112.
[Fórmula 110]
eV (i =
[Fórmula 111]
c V (resp. span {*!•->*»))
[Fórmula 112]
b\,.,.,bn (resp. xi,
Obsérvese que para las bases B y B* indicadas en la Fórmula 113, se establece la Fórmula 114.
[Fórmula 113]
imagen7
[Fórmula 114]
imagen8
En la siguiente descripción, en paramv0, V0 representa V0.
Del mismo modo, nt en Fqnt representa nt.
Del mismo modo, xt en skgid,(t, xt) representa xt.
Del mismo modo, cuando “5ij” se indica como un superíndice, 5i,j es 5y.
5
10
15
20
25
30
35
40
45
Cuando “w” que indica que un vector está unido a un subíndice o superíndice, “W se une como superíndice al subíndice o superíndice.
En la siguiente descripción, un proceso de firma incluye un proceso de generación de claves, un proceso de firma y un proceso de verificación.
Realización 1.
Esta realización describe un “esquema de firmas basado en atributos”.
En primer lugar, se explicará brevemente una firma basada en atributos.
En segundo lugar, se describirá un espacio que tiene una estructura matemática rica llamada "espacios vectoriales de emparejamiento dual (DPVS)” que es un espacio para implementar el esquema de firmas basado en atributos.
En tercer lugar, se describirá un concepto para implementar el esquema de firmas basado en atributos. Aquí, se describirán un “programa de extensión”, “el producto interno de vectores de atributos, una estructura de acceso”, y un “esquema de distribución de secreto (esquema de compartición de secreto)”. También se describirán funciones de comprobación aleatoria resistentes a colisión.
En cuarto lugar, se describirá un “esquema de firmas basado en atributos” según esta realización. Inicialmente, se describirá la estructura básica del “esquema de firmas basado en atributos”. Posteriormente, se describirá la estructura básica de un “sistema de procesamiento de firmas 10” que implementa el “esquema de firmas basado en atributos”. Luego, se describirán en detalle el “esquema de firmas basado en atributos” y el “sistema de procesamiento de firmas 10” según esta realización.
<1. Firma basada en atributos>
El concepto de firma digital se introdujo en el documento de seminario por Diffie y Hellman en 1976. En este concepto, se genera un par que comprende una clave de firma secreta sk y una clave de verificación pública pk para el firmante, y la firma a del mensaje m generado usando la clave de firma sk se verifica mediante la clave de verificación pk correspondiente. Por lo tanto, se identifica al firmante del mensaje (m, a) firmado usando la clave de firma sk a través de la clave de verificación pk.
Aunque este es uno de los requisitos de las firmas digitales, no existe flexibilidad ni privacidad en la relación entre los firmantes y las demandas atestiguadas por las firmas debido a la estrecha relación entre la clave de firma sk y la clave de verificación pk.
Se han estudiado variantes versátiles y de privacidad mejorada de firmas digitales, donde la relación entre una clave de firma y una clave de verificación es más flexible o sofisticada.
En esta clase de firmas, la clave de firma y la clave de verificación se parametrizan mediante el atributo x y el predicado v, respectivamente, y el mensaje (m, a) firmado generado mediante la clave de firma con el parámetro x, skx, se verifica correctamente mediante la clave pública pk y el parámetro v, si y sólo si el predicado v acepta el atributo x (cuando se contiene v(x)).
La privacidad de los firmantes en esta clase de firmas requiere que una firma para el predicado v, generado por la
clave de firma skx no libere información con respecto al atributo x excepto que contenga v(x).
Cuando el predicado v es la igualdad con el parámetro v (es decir, se contiene v(x) si y sólo si x = v), la clase de firmas para este predicado es firmas basadas en ID (Firmas Basadas en Identidad, IBS) (véase la Literatura no de Patente 46).
Aquí obsérvese que no hay espacio para la privacidad en las firmas basadas en ID, dado que el predicado v
identifica de manera única el atributo x de la clave secreta skx del firmante, de manera que x = v.
Las firmas de grupo también están en esta clase de firmas (véase la Literatura no de Patente 19). Las firmas de grupo son firmas con predicado v, donde se contiene v(x) si y sólo si el parámetro de predicado v es la identidad del grupo y el atributo x es una identidad de miembro del grupo v (o pk, es una clave pública que identifica el grupo v y skx es una clave secreta del miembro x del grupo v).
Debido al requisito de privacidad, las firmas generadas usando la clave secreta skx no liberan información con respecto a la identidad del miembro x, excepto que x sea miembro del grupo v.
Esta clase de firmas incluye una firma basada en atributos con un predicado más sofisticado (véanse las Literaturas no de Patente 26, 29, 30, 34 a 46, 45 y 51), donde x para la clave de firma skx es una tupla de atributos (x-i, ..., xi) y v para la verificación es un predicado de estructura de acceso o umbral.
5
10
15
20
25
30
35
40
45
La clase más amplia de predicados en el esquema de firmas basado en atributos existente son las estructuras de acceso monótono (véanse las Literaturas no de Patente 36 y 37), donde el predicado v se especifica por un programa de extensión monótono (M, p) (MSP(M, p)) junto con una tupla de atributos (v-i, ..., v¡) y v(x) se cumple si y sólo si MSP (M, p) acepta el vector de valor verdadero de (T(xi_i = vi), ..., T(x¡_¡ = v¡)). Aquí, T(^) := 1 si ^ es verdadero, y T(^) := 1 si ^ es falso. Por ejemplo, T (x = v) := 1 si x = v, y T (x = v) := 0 si x t v.
Tal predicado monótono puede expresar puertas AND, OR y Umbral.
Se explicará un ejemplo de tal predicado monótono v para una firma basada en atributos.
Un ejemplo de tal predicado monótono v es (Instituto = Univ. A) AND (TH2 ((Departamento = Biología), (Sexo = Femenino), (Edad = Cincuentas)) OR (Posición = Profesor)), donde TH2 significa la puerta de umbral con el valor umbral 2 (esto es, una puerta que requiere que se contengan dos o más condiciones).
El atributo xa de Alicia es (Instituto = Univ. A), (Departamento = Biología), (Posición = Postdoctorado), (Edad = 30), (Sexo = Femenino), y el atributo xb de Bob es (Instituto = Univ. A), (Departamento = Matemáticas), (Posición = Profesor), (Edad = 45), (Sexo = Masculino). Aunque sus atributos, xa y xb, son bastante diferentes, está claro que contienen v(xa) y v(xb), y que hay muchos otros atributos que satisfacen v.
Por lo tanto, Alice y Bob pueden generar una firma en este predicado, y debido al requisito de privacidad de la firma basada en atributos, una firma para v no libera información con respecto el atributo del firmante, es decir, Alice o Bob (u otro), excepto que el atributo del firmante satisfaga el predicado v.
Hay muchas aplicaciones de la firma basada en atributos tales como mensajería basada en atributos (ABM), autenticación basada en atributos, negociación de confianza y secretos de fugas (véanse las Literaturas no de Patente 36 y 37).
No obstante, no hay ningún esquema de firmas basado en atributos, incluso uno con una seguridad baja, para un predicado no monótono. Un predicado no monótono puede expresar una puerta NOT, como con puertas AND, OR y de Umbral.
Más específicamente, con un predicado monótono, aunque se puede establecer una condición positiva, tal como (Instituto = Univ. A), no se puede establecer una condición negativa, tal como (Instituto t Univ. A) (es decir, No(Instituto = Univ. A)). En contraste con esto, con un predicado no monótono, se puede establecer una condición negativa.
Si hay muchas universidades además de Univ. A, es difícil establecer una condición negativa de otra que no sea Univ. A usando solamente una condición positiva (la descripción llega a ser complicada). Esto indica la utilidad de los predicados no monótonos.
<2. Espacios vectoriales de emparejamiento dual>
En primer lugar, se describirán grupos de emparejamiento bilineal simétricos.
Los grupos de emparejamiento bilineal simétricos (q, G, GT, g, e) son una tupla de un primo q, un grupo aditivo cíclico G de orden q, un grupo multiplicativo cíclico GT de orden q, g t 0 e G, y un emparejamiento bilineal no degenerado calculable de polinomio de tiempo e : G x G ^ Gt. El emparejamiento bilineal no degenerado significa e(sg, tg) = e(g, g)st, y e(g, g) ti.
En la siguiente descripción, permitamos que la Fórmula 115 sea un algoritmo que tome como entrada 1A y emita los valores de un parámetro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineales con un parámetro de seguridad A.
[Fórmula 115]
imagen9
Se describirán ahora espacios vectoriales de emparejamiento dual.
Los espacios vectoriales de emparejamiento dual (q, V, Gt, A, e) pueden estar constituidos por un producto directo de grupos de emparejamiento bilineal simétricos (paramG := (q, G, Gt, g, e)). Los espacios vectoriales de emparejamiento dual (q, V, Gt, A, e) son una tupla de un primo q, un espacio vectorial N-dimensional V sobre Fq indicado en la Fórmula 116, un grupo cíclico Gt del orden q, y una base canónica A := (a1, ..., aN) del espacio V, y tienen las siguientes operaciones (1) y (2) donde ai es como se indica en la Fórmula 117.
[Fórmula 116]
5
10
15
20
25
imagen10
[Fórmula 117]
imagen11
imagen12
Operación (1): Emparejamiento bilineal no degenerado El emparejamiento en el espacio V se define por la Fórmula 118. [Fórmula 118]
imagen13
donde
imagen14
Este es bilineal no degenerado, es decir, e(sx, ty) = e(s, y)st y si e(x, y) = 1 para todo y e V, entonces x = 0. Para todo i yj, e(ai, aj) = e (g, g)6ij donde 5i,j = 1 si i = j, y 5i,j = 0 si i £j. También, e(g, g) £ 1 e Gt.
Operación (2): Mapas de distorsión
La transformación lineal O i, jen el espacio V indicada en la Fórmula 119 puede lograr la Fórmula 120.
[Fórmula 119]
<Pij(aj) = ai
Si k*j entonces = 0
[Fórmula 120]
imagen15
imagen16
Obsérvese que
x . = (gi, ..., gN)
La transformación lineal O i, j se denominará mapas de distorsión.
En la siguiente descripción, permitamos que la Fórmula 121 sea un algoritmo que tome como entrada, 1A (A e número natural), N e número natural, y los valores del parámetro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineales, y emite los valores de un parámetro paramv := (q, V, Gt, A, e) de espacios vectoriales de emparejamiento dual que tienen un parámetro de seguridad A, y que forman espacio N-dimensional V.
[Fórmula 121]
imagen17
Se describirá un caso donde se construyen espacios vectoriales de emparejamiento dual a partir de los grupos de emparejamiento bilineal simétricos descritos anteriormente. Los espacios vectoriales de emparejamiento dual se pueden construir también a partir de grupos de emparejamiento bilineal asimétricos. La siguiente descripción se
5
10
15
20
25
30
35
40
45
50
puede aplicar fácilmente a un caso donde se construyen espacios vectoriales de emparejamiento dual a partir de grupos de emparejamiento bilineal asimétricos.
<3. Concepto para implementar un esquema de firmas basado en atributos>
<3-1. Programa de extensión>
La Fig. 1 es un dibujo explicativo de una matriz MA
Permitamos que {p-i, ..., pn} sea un conjunto de variables. MA := (M, p) es una matriz etiquetada donde la matriz M es una matriz (L filas x r columnas) sobre Fq, y p es una etiqueta de cada columna de la matriz M y está relacionada con uno de los literales {p-i, ..., pn, -pi, ..., -pn}. Una etiqueta pi (i = 1, ..., L) de cada fila de M está relacionada con uno de los literales, esto es, p : {1, ..., L} ^{pi, ..., pn, -pi, ..., -pn}.
Para cada secuencia de entrada 8 e {0, 1}n, se define una submatriz M5 de la matriz M. La matriz M5 es una submatriz que consiste en las filas de la matriz M, cuyas etiquetas p se relacionan con el valor “1” mediante la secuencia de entrada 8. Esto es, la matriz M5 es una submatriz que consiste en las filas de la matriz M que están relacionadas con pi con las cuales 8i = 1 y las filas de la matriz M que están relacionadas con -pi con las cuales 8i = 0.
La Fig. 2 es un dibujo explicativo de la matriz M8. Obsérvese que en la Fig. 2, n = 7, L = 6 y r = 5. Es decir, el conjunto de variables es {p1, ..., pz}, y la matriz M es una matriz (6 filas x 5 columnas). En la Fig. 2, suponemos que las etiquetas p están relacionadas de manera tal que p1 corresponde a -p2, p2 a p1, p3 a p4, p4 a -p5, p5 a -p3 y p6 a
-pa.
Supongamos que en una secuencia de entrada 8 e {0,1}7, 81 = 1, 82 = 0, 83 = 1, 84 = 0, 85 = 0, 86 = 1 y 87 = 1. En este caso, una submatriz que consiste en las filas de la matriz M que están relacionadas con los literales (p1, p3, p6, pz, -p2, -p4, -p5) rodeados por líneas discontinuas es la matriz M5. Es decir, la submatriz que consiste en la primera fila (M1), la segunda fila (M2) y la cuarta fila (M4) de la matriz M es la matriz M5.
En otras palabras, cuando el mapa y : {1, ..., L} ^ {0, 1} es [p(j) = pi] a [8i = 1] o [p(j) = -pi] a [8i = 0], entonces Y(j) = 1; de otro modo Y(j) = 0. En este caso, M5 := (Mj)V(¡) = 1. Obsérvese que Mj es la fila de orden j de la matriz M.
Es decir, en la Fig. 2, el mapa v(j) = 1 (j = 1, 2, 4) y el mapa v(j) = 0 (j = 3, 5, 6). Por lo tanto, (M¡)v® = 1 es M1, M2 y M4, y la matriz M5.
Más específicamente, si la fila de orden j de la matriz M se incluye o no en la matriz M5 se determina mediante si el valor del mapa v(j) es “0” o “1”.
El programa de extensión MA acepta una secuencia de entrada 8 si y sólo si 1^ e span <Ms>, y rechaza la secuencia de entrada 8 de otro modo. Esto es, el programa de extensión MA acepta la secuencia de entrada 8 si y sólo si la combinación lineal de las filas de la matriz M5 que se obtienen de la matriz MA mediante la secuencia de entrada 8 da 1^. 1^ es un vector de fila que tiene un valor de “1” "en cada elemento.
Por ejemplo, en la Fig. 2, el programa de extensión MA acepta la secuencia de entrada 8 si y sólo si la combinación lineal de las respectivas filas de la matriz M5 que consiste en la 1a, 2a y 4a filas de la matriz M da 1^. Es decir, si existen a1, a2 y a4 con los cuales a1(M1) + a2(M2) + a4(M4) = 1^, el programa de extensión MA acepta la secuencia de entrada 8.
El programa de extensión se denomina monótono si sus etiquetas p se relacionan solamente con los literales positivos {p1, ..., pn}. El programa de extensión se llama no monótono si sus etiquetas p se relacionan con los literales {p1, ..., pn, -p1, ..., -pn}. Supongamos que el programa de extensión es no monótono. Una estructura de acceso (estructura de acceso no monótona) se constituye usando el programa de extensión no monótono.
Debido a que el programa de extensión no es monótono, sino no monótono, como se ha descrito anteriormente, se amplía la aplicación del esquema de firmas basado en atributos constituido usando el programa de extensión.
<3-2. Producto interno de los vectores de atributo y la estructura de acceso>
El mapa v(j) descrito anteriormente se calculará usando el producto interno de los vectores de atributos. Esto es, qué fila de la matriz M ha de ser incluida en la matriz M5 se determinará usando el producto interno de los vectores de atributos.
Ut (t = 1, ..., d y Ut ^ {0, 1}*) es un subuniverso y conjunto de atributos. Cada Ut incluye información de identificación (t) del subuniverso y vector nt dimensional (v^). Esto es, Ut es (t, v^) donde t e {1, ..., d} y v^ e Fqnt.
Permitamos que Ut = (t, v^) sea una variable p del programa de extensión MA := (M, p), es decir, p := (t, v^). Permitamos que el programa de extensión MA := (M, p) que tiene la variable (p := (t, v^), (t', v’^), ...) sea una estructura de acceso S.
5
10
15
20
25
30
35
40
45
Es decir, la estructura de acceso S := (M, p), y p : {1, ..., L} ^-{(t, v^), (t', v'^), ..., -(t, v^), -(t', v'^), ...}.
Permitamos que r sea un conjunto de atributos, es decir, r := {(t, x^0 1 x^t G Fqnt> 1 <t < d}.
Cuando r se da a la estructura de acceso S, el mapa y : {1, ..., L} ^ {0, 1} para el programa de extensión MA := (M,
p) se define como sigue. Para cada número entero i = 1, ..., L, el conjunto Y(j) = 1 si [p(i) = (t, v^¡)] a [(t, x^t)]G r a
[v^i-x^t = 0 ] o [p(i) = -(t, v-¡)] a [(t, x^t)]G r] a [v^ x^t t 0 ]. Establecemos Y(j) = 0 de otro modo.
Esto es, el mapa y se calcula en base al producto interno de los vectores de atributo v^y x^. Como se ha descrito anteriormente, qué fila de la matriz M ha de ser incluida en la matriz M5 se determina por el mapa y. Más específicamente, qué fila de la matriz M ha de ser incluida en la M5 se determina por el producto interno de los vectores de atributo v^ y x^. La estructura de acceso S := (M, p) acepta r si y sólo si 1^ G span <(M¡)¥(í)=1>.
Una forma más simple de las relaciones de producto interno en las estructuras de acceso mencionadas anteriormente se obtiene cuando nt = 2 para todo t G {1, ..., d} y x^ := (1, x) y v^ := (v, -1).
En este caso, (t, x^t) := (t, (1, x)) y (t, v^¡) := (t, (v¡, -1)), que se simplificará como (t, xt) y (t, v¡). Entonces, la estructura de acceso S es S := (M, p) de manera que p : {1, ..., L} ^ {(t, v), (t', v'), ... -(t, v), -(t', v'), ...} (v, v', ... G Fq), y el conjunto de atributos r es r := {(t, xt) | xt G Fq, 1 < t < d}.
Cuando r se da a la estructura de acceso S, el mapa y : {1, ..., L} ^ {0, 1} para el programa de extensión MA := (M,
p) se define como sigue: Para cada número entero i = 1, ..., L, establecemos Y(j) = 1 si [p(i) = (t, v¡)] a [(t, xt)G r] a [v¡
= xt] o [p(i) = -(t, v¡)] a [(t, xt) G r] a [v¡ t xt]. Establecemos Y(j) = 0 de otro modo.
<3-3. Esquema de distribución secreta>
Se describirá un esquema de distribución secreta para la estructura de acceso S := (M, p).
El esquema de distribución secreta está distribuyendo información secreta para presentarla información distribuida sin sentido. Por ejemplo, la información secreta s se permite que sea distribuida entre 10 paquetes para generar 10 partes de información distribuida. Cada una de las 10 partes de información distribuida no tiene información sobre la información secreta s. Por lo tanto, incluso cuando se obtiene una cierta parte de información distribuida, no se puede obtener información sobre la información secreta s. Por otra parte, si se obtienen todas de las 10 partes de información distribuida, se puede recuperar la información secreta s.
Otro esquema de distribución secreta también está disponible según el cual, incluso cuando no se puedan obtener todas de las 10 partes de información distribuida, si se pueden obtener una o más, pero no todas, (por ejemplo, 8 partes) de información distribuida, entonces se puede recuperar la información secreta s. Un caso como éste donde la información secreta s se puede recuperar usando 8 partes de entre las 10 partes de información distribuida se llamará 8 de entre 10. Es decir, un caso donde la información secreta s se puede recuperar usando t partes de entre las n partes de información distribuida se llamará t de entre n. Esta t se llamará umbral.
Otro esquema de distribución secreta más está disponible según el cual cuando se generan 10 partes de información distribuida d-i, ..., d-iü, la información secreta s se puede recuperar si se dan 8 partes de información distribuida d1, ..., da, pero no se puede si se dan 8 partes de información distribuida d3, ..., dm Esto es, este es un esquema de distribución secreta con el que se puede recuperar o no la información secreta s se controla no solamente por el número de partes de información distribuida obtenidas, sino también dependiendo de la combinación de la información distribuida.
La Fig. 3 es un dibujo explicativo de sa La Fig. 4 es un dibujo explicativo de s^T.
Permitamos que una matriz M sea una matriz (L filas x r columnas). Permitamos que f^ sea un vector de columna indicado en la Fórmula 122.
[Fórmula 122]
imagen18
Permitamos que s0 indicado en la Fórmula 123 sea la información secreta a ser compartida. [Fórmula 123]
imagen19
Permitamos que s^T indicado en la Fórmula 124 sea un vector de L partes de información distribuida de sa
5
10
15
20
25
30
35
[Fórmula 124]
imagen20
Permitamos que la información distribuida Si pertenezca a p(i).
Si la estructura de acceso S := (M, p) acepta r, es decir, 1^ G span <(Mi)V(i) = i> para y : {1, ..., L} ^ {0, 1}, entonces existen constantes {ai G Fq | i G I}, de manera que I c {i G {1, ..., L} |Y(i) = 1}.
Esto es obvio a partir de la explicación de la Fig. 2 en que si existen a1, a2 y a4 con las cuales a1(M1) + a2(M2) + a4(M4) = 1^, el programa de extensión MA acepta la secuencia de entrada 8. Esto es, si el programa de extensión MA acepta la secuencia de entrada 8 cuando existen a1, a2 y a4 con las cuales a1(M1) + a2(M2) + a4(M4) = 1^, entonces existen a1, a2 y a4 con las cuales a1(M1) + a2(M2) + a4(M4) = 1^.
Obsérvese la Fórmula 125.
[Fórmula 125]
imagen21
Obsérvese que las constantes {ai} se pueden calcular en polinomios de tiempo en el tamaño de la matriz M.
Con el esquema de firmas basado en atributos según esta y las siguientes realizaciones, se construye una estructura de acceso aplicando el predicado de producto interno y el esquema de distribución secreta al programa de extensión, como se ha descrito anteriormente. Por lo tanto, el control de acceso se puede diseñar de manera flexible diseñando la matriz M en el programa de extensión y la información de atributo x y la información de atributo v (información de predicado) en el predicado de producto interno. Esto es, el control de acceso se puede diseñar de manera muy flexible. El diseño de la matriz M responde al diseño de condiciones de manera que el umbral del esquema de distribución secreta.
En particular, la estructura de acceso en el esquema de firmas basado en atributos según esta y las siguientes realizaciones constituye una estructura de acceso no monótona que usa un programa de extensión no monótono. Esto es, el esquema de firmas basado en atributos según esta y las siguientes realizaciones es un esquema de firmas con predicados no monótonos. De esta manera, la flexibilidad en el diseño de control de acceso mejora aún más.
<3-4. Función de comprobación aleatoria con resistencia a colisión>
Una función de comprobación aleatoria con resistencia a colisión es una función de comprobación aleatoria que es difícil de encontrar en dos entradas que comprueben aleatoriamente para la misma salida.
Permitamos que un número natural A sea un parámetro de seguridad. Una familia de funciones de comprobación aleatoria resistente a colisión H asociada con el algoritmo Gbpg, y un polinomio poly(A) especifican dos elementos:
1. Una familia de espacios de clave está indexada por A. Cada espacio de clave tal es un espacio de probabilidad en cadenas de bits indicadas por KHa. Debe existir un algoritmo de polinomio de tiempo probabilístico cuya distribución de salida en la entrada 1A es igual a KHa.
2. Una familia de funciones de comprobación aleatoria se indexa por A, hk seleccionada aleatoriamente a partir de KHa, y D := {0, 1}P°ly(A>, donde cada función tal HhkAD correlaciona un elemento de D con un elemento de Fqx con q que es el primer elemento de salida paramG del algoritmo Gbpg(1A). Debe existir un algoritmo de polinomio de tiempo deterministico que en la entrada 1A, hk y d G D, emita HhkAD(d).
Permitamos que £ sea una máquina de polinomio de tiempo probabilístico. Para todo A, se define la Fórmula 126:
[Fórmula 126]
imagen22
donde
5
10
15
20
25
30
D := {0 t\}P°bW hk^—KHa
(dl,d2)<-^-£(1'Uik,D)
H es una familia de funciones de comprobación aleatoria resistente a colisión si para cualquier polinomio de tiempo probabilístico £ adversario, AdvE H CR (A) es despreciable.
<4. Estructura de esquema de firmas basado en atributos>
<4-1. Estructura básica de esquema de firmas basado en atributos>
El esquema de firmas basado en atributos consta de cuatro algoritmos: Setup, KeyGen, Sig y Ver.
(Setup)
Un algoritmo Setup es un algoritmo aleatorizado que toma como entrada un parámetro de seguridad A y un formato de atributo n^ := ((d; nt, ut, wt, zt (t = 1, ..., d)), y emite un parámetro público pk y una clave maestra sk.
(KeyGen)
Un algoritmo KeyGen es un algoritmo aleatorizado que toma como entrada un conjunto de atributos r := {(t, x^t) | x^t e Fqnt \{0^}, 1 < t < d}, el parámetro público pk y la clave maestra sk, y emite una clave de firma skr.
(Sig)
Un algoritmo Sig es un algoritmo aleatorizado que toma como entrada un mensaje m, una estructura de acceso S := (M, p) que acepta el conjunto de atributos r, la clave de firma skr y el parámetro público pk, y emite datos de firma a incluyendo una firma s^*, el mensaje m, y la estructura de acceso S.
(Ver)
Un algoritmo Ver es un algoritmo que toma como entrada los datos de firma ay el parámetro público pk, y emite un valor booleano 1 (aceptar) o 0 (rechazar).
Con el esquema de firmas basado en atributos, para cada parámetro público pk y clave maestra sk indicados en Fórmula 127, cada mensaje m, cada conjunto de atributos r, cada clave de firma skr indicados en Fórmula 128, cada estructura de acceso S que acepta el conjunto de atributos r, y cada uno de los datos de firma a indicados en Fórmula 129, 1 = Ver(pk, m, S, a) se mantiene con probabilidad 1.
[Fórmula 127]
(pk, sk)<—^-—Setup(l^,«)
[Fórmula 128] n
sk p <------KeyGen (pk, sk, F)
[Fórmula 129] o
a <------Sig(pk, skp, m, S)
<4-2. Sistema de procesamiento de firmas 10>
Se describirá un sistema de procesamiento de firmas 10 que ejecuta los algoritmos del esquema de firmas basado en atributos descrito anteriormente.
5
10
15
20
25
30
35
40
La Fig. 5 es un diagrama de configuración del sistema de procesamiento de firmas 10 que ejecuta el esquema de firmas basado en atributos.
El sistema de procesamiento de firmas 10 está dotado con un dispositivo de generación de claves 100, un dispositivo de firmas 200 y un dispositivo de verificación 300.
El dispositivo de generación de claves 100 ejecuta el algoritmo Setup tomando como entrada un parámetro de seguridad Ay un formato de atributo n^ := ((d; nt, ut, wt, zt (t = 1, ..., d) ), y genera un parámetro público pk y una clave maestra sk. El dispositivo de generación de claves 100 hace público el parámetro público pk generado. El dispositivo de generación de claves 100 también ejecuta el algoritmo KeyGen tomando como entrada el conjunto de atributos r := {(t, x^t) | x^t £ Fqnt \{0^}, 1 < t < d}, el parámetro público pk y la clave maestra sk, y genera una clave de firma skr y la distribuye al dispositivo de firmas 200 en secreto.
El dispositivo de firmas 200 ejecuta el algoritmo Sig tomando como entrada un mensaje m, una estructura de acceso S := (M, p) que acepta el conjunto de atributos r, la clave de firma skr y el parámetro público pk, y genera datos de firma a que incluyen una firma s^*, el mensaje m, y la estructura de acceso S. El dispositivo de firmas 200 transmite los datos de firma a generados al dispositivo de verificación 300.
El dispositivo de verificación 300 ejecuta el algoritmo Ver tomando como entrada los datos de firma a y el parámetro público pk, y emite el valor booleano 1 (aceptar) o 0 (rechazar).
<4-3. Esquema de firmas basado en atributos y sistema de procesamiento de firmas 10 en detalle>
El esquema de firmas basado en atributos, y la función y operación del sistema de procesamiento de firmas 10 que ejecuta el esquema de firmas basado en atributos se describirán con referencia a las Fig. 6 a 12.
La Fig. 6 es un diagrama de bloques de funciones que muestra la función del dispositivo de generación de claves 100. La Fig.7 es un diagrama de bloques de funciones que muestra la función del dispositivo de firmas 200. La Fig. 8 es un diagrama de bloques de funciones que muestra la función del dispositivo de verificación 300.
Las Fig. 9 y 10 son diagramas de flujo que muestran la operación del dispositivo de generación de claves 100. Obsérvese que la Fig. 9 es un diagrama de flujo que muestra el proceso del algoritmo Setup, y que la Fig. 10 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen. La Fig. 11 es un diagrama de flujo que muestra la operación del dispositivo de firmas 200 y el proceso del algoritmo Sig. La Fig. 12 es un diagrama de flujo que muestra la operación del dispositivo de verificación 300 y el proceso del algoritmo Ver.
Se describirán la función y la operación del dispositivo de generación de claves 100.
Como se muestra en la Fig. 6, el dispositivo de generación de claves 100 está dotado con una parte de generación de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de información 130 (primera parte de entrada de información), una parte de generación de clave de firma 140 y una parte de distribución de clave 150 (parte de transmisión de clave de firma).
La parte de generación de clave de firma 140 está dotada con una parte de generación de número aleatorio 141, una parte de generación del elemento de clave 0 142, una parte de generación de elemento de clave t 143, y una parte de generación de elemento de clave d+1 144.
En la siguiente descripción, H := (KHa, HhkAD) es una familia de funciones de comprobación aleatoria resistente a colisión descrita anteriormente.
El proceso del algoritmo Setup ejecutado por el dispositivo de generación de claves 100 se describirá primero con referencia a la Fig. 9.
(S 101: Paso de generación de base ortogonal)
La parte de generación de clave maestra 110 calcula la Fórmula 130 con el dispositivo de procesamiento para generar aleatoriamente el parama, y las bases Bt y B*t para cada número entero t = 0, ..., d+1.
[Fórmula 130]
(1) input l'1,^ := (d‘,nt,ut,wtizt) (í = + 1)
n
(2) paramG := (q>G>QTig>e)<-----------Cfopg(1^)
5
10
15
imagen23
Nt := nt + ut + wt + ztpara t = 0,..., d+1 Para cada t de t = 0, ..., d+1, se ejecutan los procesos (4) a (8).
(4) paramVf := (q,V„Gr,A;, e):=gdpvs(l;íparame)
(5) X'^íx^jXj^—GLÍN,,F?)
(«) (vtj,j)i,j ^ V■
(7) bc i := (Xe ij' ■ )a, = ^jL\Xt,i,Jai,j >
®í :=(*/,! >---A,N,')
imagen24
Esto es, la parte de generación de clave maestra 110 ejecuta los siguientes procesos.
(1) Con el dispositivo de entrada, la parte de generación de clave maestra 110 toma como entrada un parámetro de seguridad A (1A) y el formato de atributo n^ := ((d; nt, ut, wt, zt (t = 1, ..., d+1)), donde d es un número entero de 1 o más, y nt es 1 para t = 0, un número entero de 1 o más para cada número entero t = 1, ..., d, y 2 para t = d+1. Cada ut, wt y zt es un número entero de 1 o más para cada número entero t = 0, ..., d+1.
(2) Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 ejecuta el algoritmo Gbpg tomando como entrada el parámetro de seguridad A (1A) introducido en (1), y genera aleatoriamente los valores de un parámetro paramG := (q, G, Gt, g, e) del grupo de emparejamiento bilineal.
(3) Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 genera un número aleatorio y, y establece nt + ut + wt + zt en Nt para cada número entero t = 0, ..., d+1.
Posteriormente, la parte de generación de clave maestra 110 ejecuta los procesos de los siguientes (4) a (8) para cada número entero t = 0, ..., d+1.
(4) Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 ejecuta el algoritmo Gdpvs tomando como entrada el parámetro de seguridad A (1A) introducido en (1), Nt establecido en (3), y los valores de paramG := (q, G, Gt, g, e) generados en (2), y genera los valores del parámetro paramvt := (q, Vt, Gt, At, e) de los espacios vectoriales de emparejamiento dual.
(5) Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 toma como entrada Nt establecido en (3) y Fq, y genera la transformación lineal Xt := (Xuj)u aleatoriamente. Obsérvese que GL representa Lineal General. Esto es, GL es un grupo lineal general, un conjunto de matrices cuadradas en las cuales el determinante no es 0, y un grupo con respecto a la multiplicación. Obsérvese que (xuj)u significa una matriz que
5 concierne a los sufijos i y j de la matriz xuj donde i, j = 1, ..., nt.
(6) Con el dispositivo de procesamiento y en base al número aleatorio ^ y la transformación lineal Xt, la parte de generación de clave maestra 110 genera (vt,i,j)i,j := y • (XtT)-1. Como (xujXj lo hace, (vt,i,j)ij significa una matriz que concierne a los sufijos i y j de la matriz vt,¡,j donde i, j = 1, ..., nt.
(7) Con el dispositivo de procesamiento y en base a la transformación lineal Xt generada en (5), la parte de 10 generación de clave maestra 110 genera la base Bt a partir de la base canónica At generada en (4).
(8) Con el dispositivo de procesamiento y en base a (vtijXj generada en (6), la parte de generación de clave maestra 110 genera la base B* a partir de la base canónica At generada en (4).
(9) Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 establece e(g, g)Y en gT. La parte de generación de clave maestra 110 también establece {paramvt}t= 0, ..., d+1 generado en (4), y gT, en parama.
15 Obsérvese que gT = e (bti, b*t,i) para cada número entero t = 0, ..., d+1 y cada número entero i = 1, ..., Nt.
En resumen, en (S101), la parte de generación de clave maestra 110 ejecuta el algoritmo Gob indicado en la Fórmula 131, y genera parama, y las bases Bt y B*t para cada número entero t = 0, ..., d+1.
[Fórmula 131]
imagen25
20 (S102: Paso de generación de clave de comprobación aleatoria)
Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 calcula la Fórmula 132, para generar aleatoriamente una clave de comprobación aleatoria hk.
5
10
15
20
25
imagen26
(S103: Paso de generación de parámetro público)
Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 genera una subbase BAo de la base Bo, una subbase BAt de la base Bt para cada número entero t = 1, ..., d, y una subbase BAd+i de la base Bd+1, como se indica en Fórmula 133.
[Fórmula 133]
Bq {^Ojlí^Ojl+ÜQ+VVy+l >-‘<f^Otl+«0 + H^+SC| )í
(bt}\*’"*btjit tbt,nl+u(+wt+l¡,^^bt,nf+u(+wt+zt) ^
a
®¿+l (bd+lJ>bd+l,2>bd+\,2+ud+l+wd+l+\....bd+\,2+ud+1+wd+l+zd+l)
Con el dispositivo de procesamiento, la parte de generación de clave maestra 110 genera una subbase BA*t, de la base B*t, para cada número entero t = 1, ..., d, y una subbase BA*d+1 de la base Bd+1, como se indica en la Fórmula
134.
[Fórmula 134]
,= (bt,b—>bt,nt )bt,nl+uí+l’—»bí,nl+ul+wí )>
®5+1 := (bd+U’bd+l,2^d+ia+ut+b^bd+l,2+u,+wt)
La parte de generación de clave maestra 110 trata las subbases generadas BAd (t = 0, ..., d+1) y BA*t (t = 1, ..., d+1), el parámetro de seguridad A (1A) introducido en (S101), parama generado en (S101), la clave de comprobación aleatoria hk generada en (S102), y los vectores base b*0,1+u0+1, ..., b*0,1+u0+w0 (donde u0 y w0 representan u0 y W0) en combinación, como el parámetro público pk.
(S104: Paso de generación de clave maestra)
La parte de generación de clave maestra 110 trata un vector base b*0,1 de la base B*0, como la clave maestra sk. (S105: Paso de almacenamiento de clave maestra)
La parte de almacenamiento de clave maestra 120 almacena el parámetro público pk generado en (S103), en el dispositivo de almacenamiento. La parte de almacenamiento de clave maestra 120 también almacena la clave maestra sk generada en (S104), en el dispositivo de almacenamiento.
En resumen, desde (S101) hasta (S104), el dispositivo de generación de claves 100 genera el parámetro público pk y la clave maestra sk ejecutando el algoritmo Setup indicado en la Fórmula 135. Entonces, en (S105), el dispositivo de generación de claves 100 almacena el parámetro público pk y la clave maestra sk generados, en el dispositivo de almacenamiento.
Obsérvese que el parámetro público se hace público a través de, por ejemplo, una red, de modo que el dispositivo de firmas 200 y el dispositivo de verificación 300 pueden adquirirlo.
Setup(l^,n:=(d;nt,ut,wt,zt) (í = 0,...,¿/ + l)) hk< R KH/; riQ-M,nrf+1:=2,
(paramg, {B„ ®*}í=0...¿+i 50bO/'. ñ),
®í ’btínl+uí+w¡+b—>bt>nt-Htt+wl+z[) Para 1 = 0,...,J + L
;= (o/j ,ot rt +u^ ........^>t,nl+ul+w1) para í = l......a +1,
sk:=^|,
pk := (l/',hk,paramg,{Bf}(=0(i+i,{Bj}(.1^+|j
^,1+11(1+1 > "’^)J+U(1+R'0 )■
devolver sk, pk.
El proceso del algoritmo KeyGen ejecutado por el dispositivo de generación de claves 100 se describirá con referencia a la Fig. 10.
(S201: Paso de entrada de información)
5 Con el dispositivo de entrada, la parte de entrada de información 130 toma como entrada un conjunto de atributos r := {(t, x^t := (xt,¡) (i = 1, ..., nt))|1 < t < d}. Obsérvese que t no necesita ser todos los números enteros t dentro del intervalo de 1 < t < d, sino que puede ser al menos uno de los números enteros t dentro del intervalo de 1 < t < d.
(S202: Paso de generación de número aleatorio]
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 141 genera un número aleatorio 8, 10 y los números aleatorios Oü, Ot,T, Od+1,1,T, y Od+1,2,T (t = 1 , ..., d; t= 1, ..., wt), como se indica en la Fórmula 136.
[Fórmula 136]
imagen27
(S203: Paso de generación del elemento de clave 0)
Con el dispositivo de procesamiento, la parte de generación del elemento de clave 0 142 genera un elemento de 15 clave k*o, que es un elemento de la clave de firma skr, como se indica en la Fórmula 137.
imagen28
Como se ha descrito anteriormente, para las bases B y B* indicadas en la Fórmula 113, se establece la Fórmula 114. Por lo tanto, la Fórmula 137 significa que el coeficiente para el vector base de una base B*0 se establece como se describe a continuación. Con el propósito de una representación simple, un vector bases b% se especifica 5 solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base b*0, 1. Los vectores base 1, ..., 3 significan vectores base b*0, 1, ..., b*0,3, respectivamente.
El número aleatorio 8 se establece como el coeficiente para el vector base 1 de la base B*0. 0 se establece como el coeficiente para los vectores base 1 + 1, ..., 1+u0. Los números aleatorios 00,1, ..., 00,wü (donde w0 representa W0) se establecen cada uno como el coeficiente para los vectores base 1+u0+1, ..., 1+u0+W0. 0 se establece como el 10 coeficiente para los vectores base 1+u0+W0+1, ..., 1+u0+W0+Z0.
(S204: paso de generación del elemento de clave t)
Con el dispositivo de procesamiento, la parte de generación de elemento del clave t 143 genera un elemento de clave k*, que es un elemento de la clave de firma skr, para cada número entero t de (t, x^t) incluido en el conjunto de atributos r, como se indica en la Fórmula 138.
15 [Fórmula 138]
imagen29
Más específicamente, como lo hace la Fórmula 137, la Fórmula 138 significa que el coeficiente para el vector base de una base B*t se establece como se describe a continuación. Con el propósito de una representación simple, un vector base b*t,¡ se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base b*t,1. 20 Los vectores base 1, ..., 3 significan vectores base b*t, 1, ..., b*t,3, respectivamente.
8xt,1, ..., 8xt,nt, (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base 1, ..., nt. 0 se establece como el coeficiente para los vectores base nt+1, ... , nt+ut. Los números aleatorios 0t,1, ..., 0t,wt (donde wt representa wt) se establecen cada uno como el coeficiente para los vectores base nt+ut+1, ..., nt+ut+Wt. 0 se establece como el coeficiente para los vectores base nt+ut+Wt+1, ..., nt+ut+wt+zt.
25 (S205: Paso de generación del elemento de clave d+1)
Con el dispositivo de procesamiento, la parte de generación del elemento de clave d+1 144 genera un elemento de clave k*d+11 y un elemento de clave k*d+12, que son elementos de la clave de firma skr, como se indica en la Fórmula 139.
[Fórmula 139]
30
imagen30
Esto es, como lo hace la Fórmula 137, la Fórmula 139 significa que el coeficiente para el vector base de la base B*d+1 se establece como se describe a continuación. Con el propósito de una representación simple, un vector base b*d+1,i se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base b*d+1,1. Los vectores base 1, ..., 3 significan vectores base b*d+1,1, ..., b*d+1,3, respectivamente.
35 Primero, con respecto al elemento de clave k*d+1,1, el número aleatorio 8 se establece como el coeficiente para el vector base 1. 0 se establece como el coeficiente para el vector base 2. 0 se establece como el coeficiente para los vectores base 2+1, ..., 2+ud+1. Los números aleatorios Od+1,1,1, ..., 0d+1,1,wd+1 (donde wd+1 representa Wd+1) se
5
10
15
20
25
establecen cada uno como el coeficiente para los vectores base 2+Ud+i+1, ..., 2+Ud+i+Wd+i. 0 se establece como el coeficiente para los vectores base 2+Ud+i+Wd+i + 1, ..., 2+Ud+i+Wd+i+Zd+i.
Con respecto al elemento de clave k*d+i,2, 0 se establece como el coeficiente para el vector base i. El número aleatorio 8 se establece como el coeficiente para el vector base 2. 0 se establece como el coeficiente para los vectores base 2+i, ..., 2+Ud+i. Los números aleatorios Od+i,2,i, ..., Od+i,2,wd+i (donde wd+i representa Wd+i) se establecen cada uno como el coeficiente para los vectores base 2+Ud+i + i, ..., 2+Ud+i+Wd+i. 0 se establece como el coeficiente para los vectores base 2+Ud+i+Wd+i + i, ..., 2+Ud+i+Wd+i+Zd+i.
(S206: Paso de distribución de clave)
Por ejemplo, con el dispositivo de comunicación, la parte de distribución de clave i50 distribuye la clave de firma skr, constituida por, como elementos, el conjunto de atributos r, el elemento de clave k*0, el elemento de clave k* (t en (t, x^t) incluido en el conjunto de atributos r), el elemento de clave k*d+i,i, y el elemento de clave k*d+i,2, al dispositivo de firmas 200 en secreto a través de la red. Como cuestión de rutina, la clave de firma skr se puede distribuir al dispositivo de firmas 200 por otro método.
En resumen, desde (S20i) hasta (S205), el dispositivo de generación de claves i00 genera la clave de firma skr ejecutando el algoritmo KeyGen indicado en la Fórmula i40. En (S206), el dispositivo de generación de claves i00 distribuye la clave de firma skr generada al dispositivo de firmas 200.
[Fórmula i40]
imagen31
imagen32
Se describirán la función y la operación del dispositivo de firmas 200.
Como se muestra en la Fig. 7, el dispositivo de firmas 200 está dotado con una parte de adquisición de clave de firma 2i0, una parte de entrada de información 220 (segunda parte de entrada de información), una parte de cálculo de programa de extensión 230, una parte de cálculo de coeficiente complementario 240, una parte de generación de datos de firma 250, y una parte de transmisión de datos de firma 260 (parte de salida de datos de firma).
La parte de entrada de información 220 está dotada con una parte de entrada de información de predicado 22i y una parte de entrada de mensaje 222. La parte de generación de datos de firma 250 está dotada con una parte de
5
10
15
20
25
30
35
generación de número aleatorio 251, una parte de generación del elemento de firma 0 252, una parte de generación del elemento de firma i 253, y una parte de generación del elemento de firma L+1 254.
El proceso del algoritmo Sig ejecutado por el dispositivo de firmas 200 se describirá con referencia a la Fig. 11.
(S301: Paso de adquisición de clave de firma)
Por ejemplo, con el dispositivo de comunicación, la parte de adquisición de clave de firma 210 adquiere la clave de firma skr generada por el dispositivo de generación de claves 100, a través de la red. La parte de adquisición de clave de firma 210 también adquiere el parámetro público pk generado por el dispositivo de generación de claves 100.
(S302: Paso de entrada de información]
Con el dispositivo de entrada, la parte de entrada de información de predicado 221 toma como entrada la estructura de acceso S := (M, p). La matriz M es una matriz de L filas x r columnas. L y r son cada uno un número entero de 1 o más.
Con el dispositivo de entrada, la parte de entrada de mensaje 220 toma como entrada el mensaje m a ser firmado.
La matriz M de la estructura de acceso S ha de ser establecida dependiendo de la condición del sistema a ser realizado.
(S303: Paso de cálculo de programa de extensión)
Con el dispositivo de procesamiento, la parte de cálculo de programa de extensión 230 comprueba si la estructura de acceso S introducida en (S302) acepta o no el conjunto de atributos r incluido en la clave de firma skr adquirida en (S301).
El método de comprobación de si la estructura de acceso acepta o no el conjunto de atributos es el mismo que el descrito en “3. Concepto para implementar cifrado funcional”.
La parte de cálculo de programa de extensión 230 avanza el proceso a (S304) si la estructura de acceso S acepta el conjunto de atributos r (aceptar en S303). Si la estructura de acceso S rechaza el conjunto de atributos r (rechazar en S303), la parte de cálculo de programa de extensión 230 termina el proceso.
(S304: Paso de cálculo de coeficiente complementario)
Con el dispositivo de procesamiento, la parte de cálculo de coeficiente complementario 430 calcula I y una constante (coeficiente complementario) ai para cada número entero incluido en I, cuyo I y ai que satisfacen la Fórmula 141.
[Fórmula 141]
Tie¡aiMi :=i
e I c {i [p(i) = (t,vi)A(tixí)erAv¡-xt =0]
v [p(i) = v(-) a (f,xt) e r a vr Xf * 0]},
Obsérvese que Mi significa la fila de orden i de la matriz M.
(S305: Paso de generación de número aleatorio)
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 251 genera un número aleatorio ^ y un número aleatorio pi (i = 1, ..., L), como se indica en la Fórmula 142.
[Fórmula 142]
imagen33
(S306: Paso de generación del elemento de firma 0)
Con el dispositivo de procesamiento, la parte de generación del elemento de firma 0 252 genera s*o que es un elemento de los datos de firma a, como se indica en la Fórmula 143.
[Fórmula 143]
5 Obsérvese que r*o está definido por la Fórmula 144 (véanse las Fórmulas 110 hasta 112 y sus explicaciones). [Fórmula 144]
(S307: Paso de generación del elemento de firma i)
Con el dispositivo de procesamiento, la parte de generación del elemento de firma i 253 genera un elemento de 10 firma s* que es un elemento de los datos de firma a, para cada número entero i = 1, ..., L, como se indica en la Fórmula 145.
[Fórmula 145]
* ti * , *
s0 := £*0 + r0
imagen34
imagen35
Obsérvese que r* se define por la Fórmula 146 (véanse las Fórmulas 110 hasta 112 y sus explicaciones). 15 [Fórmula 146]
imagen36
También, Yi e y^¡ := 'y^ (i' = 1, ..., nt) se definen por la Fórmula 147. [Fórmula 147]
imagen37
imagen38
si ieÍA/?(i) = n(í,v/)J 7i
imagen39
Si !>/Ap(Í) = (/lV¡)>
si i £ IA p(i) = ^(f, vf), y i := 0,
imagen40
imagen41
20 (S308: Paso de generación del elemento de firma L+1)
Con el dispositivo de procesamiento, la parte de generación del elemento de firma L+1 254 genera un elemento de firma s*l+1, que es un elemento de los datos de firma a, como se indica en la Fórmula 148.
imagen42
Obsérvese que r*L+i se define por la Fórmula 149 (véanse las Fórmulas 110 hasta 112 y sus explicaciones). [Fórmula 149]
imagen43
5 (S309: Paso de transmisión de datos)
Por ejemplo, con el dispositivo de comunicación, la parte de transmisión de datos de firma 260 transmite los datos de firma a, incluyendo el elemento de firma s*o, el elemento de firma s* (i = 1, ..., L), el elemento de firma s*l+1, el mensaje m, y la estructura de acceso S := (M, p), al dispositivo de verificación 300 a través de la red. Como cuestión de rutina, los datos de firma a se pueden transmitir al dispositivo de verificación 300 por otro método.
10 En resumen, desde (S301) hasta (S308), el dispositivo de firmas 200 genera los datos de firma a ejecutando el algoritmo Sig indicado en la Fórmula 150. En (S309), el dispositivo de firmas 200 distribuye los datos de firma a generados al dispositivo de verificación 300.
[Fórmula 150]
Sig{pk,skr,m^:=(Aí»)
si S:=(M,p) acepta P := {(ítx, )}f entonces calcular 1 y de manera que
:=I
e 0(0 = (í, vf) a P a vr xt = 0]
v 0(0 = -<(*» V£) a {UXt) € r A V, ■ Xt * 0]},
u
U
(j3¡).......fi}>
4 55 4k0 + ÍD > donde f¡) < U span^,1+li[)+],...,flo>l4„|)+1tb^,
■v*:“ 1 para'
donde r¡ span^„i+I((+1)...,6f„j+„(+w
y Yfyv= ^) se definen como
U
si i e I Ap(i) = (t,v¡), y{ := ah y¡ 4------{^ y¿ ^ = 0 a = #},
sife7A/?(z) = -.(?,v¿X 7i'-~
Vj - x¿
5
10
15
20
25
imagen44
Se describirán la función y la operación del dispositivo de verificación 300.
Como se muestra en la Fig. 8, el dispositivo de verificación 300 está dotado con una parte de adquisición de parámetro público 310, una parte de recepción de datos 320, una parte de generación de clave de verificación 330, y una parte de operación de emparejamiento 340.
La parte de generación de clave de verificación 330 está dotada con una parte de generación de número aleatorio 331, una parte de generación de vector f 332, una parte de generación de vector s 333, una parte de generación del elemento de verificación 0 334, una parte de generación del elemento de verificación i 335, y una parte de generación del elemento de verificación L+1 336.
El proceso del algoritmo Ver ejecutado por el dispositivo de verificación 300 se describirá con referencia a la Fig. 12. (S401: Paso de adquisición de parámetro público)
Por ejemplo, con el dispositivo de comunicación, la parte de adquisición de parámetro público 310 adquiere el parámetro público pk generado por el dispositivo de generación de claves 100, a través de la red.
(S402: Paso de recepción de datos de firma)
Por ejemplo, con el dispositivo de comunicación, la parte de recepción de datos 320 recibe los datos de firma a transmitidos por el dispositivo de firmas 200, a través de la red.
(S403: Paso de generación de vector f)
Con el dispositivo de procesamiento, la parte de generación de vector f 332 genera un vector f^ que tiene r partes de elementos, aleatoriamente como se indica en la Fórmula 151.
[Fórmula 151]
(S404: Paso de generación de vector s)
Con el dispositivo de procesamiento, la parte de generación de vector s 333 genera un vector s^T, en base a la matriz M (L filas x r columnas) de la estructura de acceso S incluida en los datos de firma a recibidos en (S402) y el vector f^ generado en (S403) y que tiene r partes de elementos, como se indica en la Fórmula 152.
[Fórmula 152]
imagen45
5
10
15
20
25
30
Con el dispositivo de procesamiento, la parte de generación de vector s 333 genera un valor so basado en el vector f^ generado en (S403), como se indica en la Fórmula 153. Obsérvese que 1^ es un vector que tiene un valor 1 en todos sus elementos.
[Fórmula 153]
imagen46
(S405: Paso de generación de número aleatorio)
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 331 genera un número aleatorio r|o,i para cada número entero i = 1, ..., zo, un número aleatorio r|L+1,¡ para cada número entero i = 1, ..., Zd+1, un número aleatorio 0l+1, y un número aleatorio sl+1, como se indica en la Fórmula 154.
[Fórmula 154]
imagen47
(S406: Paso de generación del elemento de verificación 0)
Con el dispositivo de procesamiento, la parte de generación del elemento de verificación 0 334 genera un elemento de verificación cq, que es un elemento de la clave de verificación, como se indica en la Fórmula 155.
[Fórmula 155]
imagen48
Como se ha descrito anteriormente, para las bases B y B* indicadas en la Fórmula 113, se establece la Fórmula 114. Por lo tanto, la Fórmula 155 significa que el coeficiente para el vector base de la base Bq se establece como se describe a continuación. Con el propósito de una representación simple, un vector base bo,¡ se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base bo,i. Los vectores base 1, ..., 3 significan los vectores base bo,i, ..., bo,3, respectivamente.
-sq-sl+i se establece como el coeficiente para el vector base 1 de la base Bq. 0 se establece como el coeficiente para los vectores base 1 + 1, ..., 1+uq+wq. Los números aleatorios no,i, no,zo (donde zO representa zo) se establecen cada uno como el coeficiente para los vectores base 1+uo+wo+ 1, ..., 1+uo+wo+zo (donde zO representa zo).
(S407: Paso de generación del elemento de verificación i)
Con el dispositivo de procesamiento, la parte de generación del elemento de verificación i 335 genera un elemento de verificación c¡, que es un elemento de la clave de verificación, para cada número entero i = 1, ..., L, como se indica en la Fórmula 156.
[Fórmula 156]
imagen49
5
10
15
20
25
30
35
imagen50
En resumen, como lo hace la Fórmula 155, la Fórmula 156 significa que el coeficiente para el vector base de la base Bt se establece como se describe a continuación. Con el propósito de una representación simple, un vector base bt,i se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base bt,1. Los vectores base 1, ..., 3 significan vectores base bt,1, ..., bt,3, respectivamente.
Cuando p(i) es una tupla positiva (t, v^¡), si + 0i v¡,1 se establece como el coeficiente para el vector base 1. 9¡v¡,2, .... 9iv¡,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base 2, ..., nt. 0 se establece como el coeficiente para los vectores base nt+1, ..., nt+ut+wt. n¡,1, ■ ■■, n¡,zt (donde zt representa zt) se establecen cada uno como el coeficiente para los vectores base r|t+ut+Wt+1, ..., nt+ut+wt+zt.
Cuando p(i) es una tupla negativa -(t, v^¡), s¡v¡,1 , ..., 9iv¡ nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base 1, ..., nt. -s¡ se establece como el coeficiente para los vectores base 2. 0 se establece como el coeficiente para los vectores base nt+1, ..., nt+ut+wt. n¡,1, ■■■, n¡,zt (donde zt representa zt) se establecen cada uno como el coeficiente para los vectores base nt+ut+Wt+1, ..., nt+ut+wt+zt.
Obsérvese que 0¡ y n¡,¡'(¡’ = 1, ..., zt) son números aleatorios uniformes generados por la parte de generación de número aleatorio 233.
(S408: Paso de generación del elemento de firma L+1)
Con el dispositivo de procesamiento, la parte de generación del elemento de verificación L+1 336 genera un elemento de verificación cl+1, que es un elemento de la clave de verificación, como se indica en la Fórmula 157.
[Fórmula 157]
imagen51
En resumen, como lo hace la Fórmula 155, la Fórmula 157 significa que el coeficiente para el vector base de la base Bd+1 se establece como se describe a continuación. Con el propósito de una representación simple, un vector base bd+1,¡ se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base bd+1,1. Los vectores base 1, ..., 3 significan vectores base bd+1,1, ..., bd+1,3, respectivamente.
sl+1-9l+1 ■ HhkA D (m||S) se establece como el coeficiente para el vector base 1. 9l+1 se establece como el coeficiente para el vector base 2. 0 se establece como el coeficiente para los vectores base 2+1, ..., 2+ud+1+wd+1. Los números aleatorios nL+1,1, ..., nL+1,zd+1 (donde zd+1 representa zd+1) se configuran cada uno como el coeficiente para los vectores base 2+ud+1+wd+1 + 1, ..., 2+ud+1+wd+1+zd+1.
(S409: Primer paso de operación de emparejamiento)
Con el dispositivo de procesamiento, la parte de operación de emparejamiento 340 conduce a una operación de emparejamiento e(bü,1, s*ü).
Si el resultado del cálculo de la operación de emparejamiento e(bü,1, s*ü) es el valor 1, la parte de operación de emparejamiento 340 emite el valor 0 que indica el fallo de la verificación de firma, y termina el proceso. Si el resultado del cálculo de la operación de emparejamiento e(bü,1, s*ü) no es el valor 1, la parte de operación de emparejamiento 340 avanza el proceso a S410.
5
10
15
(S410: Segundo paso de operación de emparejamiento)
Con el dispositivo de procesamiento, la parte de operación de emparejamiento 340 dirige una operación de emparejamiento indicada en la Fórmula 158.
[Fórmula 158]
imagen52
Si el resultado del cálculo de la operación de emparejamiento indicada en la Fórmula 158 es el valor 1, la parte de operación de emparejamiento 340 emite el valor 1 que indica el éxito de la verificación de firma; y, de otro modo, el valor 0 que indica el fallo de la verificación de firma.
Si el dato de firma a es auténtico, como consecuencia del cálculo de la fórmula 158, se obtiene el valor 1, como se indica en la Fórmula 159.
[Fórmula 159]
imagen53
En resumen, desde (S401) hasta (S410), el dispositivo de verificación 300 verifica los datos de firma a ejecutando el algoritmo Ver indicado en la Fórmula 160.
[Fórmula 160]
imagen54
imagen55
Como se ha descrito anteriormente, el sistema de procesamiento de firmas 10 según la Realización 1 implementa el esquema de firmas basado en atributos que usa la estructura de acceso S construida usando el programa de extensión, el predicado de producto interno y la distribución secreta. En particular, como el sistema de 5 procesamiento de firmas 10 según la Realización 1 usa un programa de extensión no monótono, implementa un esquema de firmas basado en atributos con un predicado no monótono.
El esquema de firmas basado en atributos implementado por el sistema de procesamiento de firmas 10 según la Realización 1 es altamente seguro y satisface los requisitos de privacidad. Ser altamente seguro significa que la firma no es probable que se falsifique por otros.
10 La operación de emparejamiento e(bo,1, s*o) en (S409) es comprobar que los datos de firma a no son datos de firma generados sin usar el vector base b*0,1 que es secreto (que es la clave maestra sk).
La operación de emparejamiento e(b0,1, s*0) es una operación para comprobar si el elemento de firma s*0 incluye el vector base b*0,1, esto es, si se establece un valor distinto de 0 como el coeficiente para el vector base b*0,1. Si la operación de emparejamiento e(b0,1, s*0) = 1, entonces en el elemento de firma s*0, 0 se establece como el 15 coeficiente para el vector base b*0,1, lo que significa que los datos de firma a son datos de firma generados sin usar el vector base b*0,1. Por lo tanto, en este caso, los datos de firma a se determinan como falsos.
En la descripción anterior, las dimensiones ut, wty zt (t = 0, ..., d+1) se proporcionan para mejorar la seguridad. Por lo tanto, si ut, wt y zt (t = 0, ..., d+1) se establecen cada uno a 0, las dimensiones ut, wt y zt (t = 0, ..., d+1) no necesitan ser proporcionadas, aunque la seguridad se puede degradar.
20 En la descripción anterior, en (S101), nt+ut+wt+zt se establece en Nt. Alternativamente, nt+ut+wt+zt se puede sustituir por nt+ nt+ nt+1, y 3 nt +1 se puede establecer en Nt. Obsérvese que n0 es 1 y que nt (t = 1, ..., d+1) es 2.
En este caso, el algoritmo Setup indicado en la Fórmula 135 se reescribe como se indica en la Fórmula 161. Obsérvese que Gob se escribe como se indica en la Fórmula 162.
[Fórmula 161]
Setup(lA,« :=(</; 2....2))
hk<------KH^, nd+1:=2>
(paramj, {B,, B*}(=0 d+<-?— Qoh(\Á,ñ),
A.
®< := (hi,l’ht,2’bij) p™
B* :=(*,*!,6*2.**5.*¡*6) paraí = l,...,rf + l,
sk :=%,
pk := (l'í.hk,params,{Bt}<=oj ¿+1,{Bj}(=j ¿+1,ft03)
devolver sk, pk.
[Fórmula 162]
Goh QÁtñ:={dX~¿)):
param^ := {q,G,GT,g,e)<r-^-—^pg(l^);
■- 1, n.f_- - :7, N( — -i- para / = í¡.. ..ul -1,
Para í = 0,...,d + 1,
paramj ^(?,VísGr,Aíle):=^jpw(l^tJVr> parame),
bt,i-(Xtjx-’Xt,t,Nt)a, =Y!jL\Xt¿tjaij> A¿v;)>
bt,i *= (vif,i\lí ■ * **vi A/, )a , = 2 _/=l vtj,jat,j > % (bt,l > ■ ■ -A ,N,) > Zt ™í&*zW* param- :=({paramVí devolver (param-, {Bt , >d+l).
El algoritmo KeyGen indicado en la Fórmula 140 se reescribe como se indica en Fórmula 163. 5 [Fórmula 163]
KeyGen(pk,sk,.T:= {(í,xf)|l út < ¿})
^0 > <Pt,i ’Vd+X^i ><Pd+\,2,i »*------*q Para / = / = 1,2
*5;= (<5,o,^q,o)b*,
^ 2 g _____2 1
** := 0, 0, <puh pu2, 0 )jb* para (t,xt) e r,
2 ? _____2_____
*3+1,1 °)> °> °> ^d+l.l.l’^d+l.l^» 0 )b;+1’
*3+1,2 O. °» °> ^d+1,2,1» ^<3+1,2,2» 0 )b¿+1»
T := {0, {d +1,1), (d +1,2)} U {í |1 ^ t < d, (í,xt) e T},
devolver sky := {.rt{k*}íej).
El algoritmo Sig indicado en la Fórmula 150 se reescribe como se indica en la Fórmula 164. [Fórmula 164]
Sig(pk?skr?wsS:-(M;p))
S' S .= (M,p) acepta r:={( *,*)},
entonces calcular / y de manera que
'■=1
e / c {í G Í1......£)| [p(0 - (t,Vi) A (t,Xt) € T A V¡ = X¡]
v [P(0 = "■& V/) A fox,) e r A V; * Xt]},
o»¡> <-y-{(A,..,A.)|i;f=1j9¡MI.=o)>
í¡$ := í*o +,ií. donde/J<-=— span^j),
'~r¡-í '■/ + | -'-V.: • 1 + \ para \<i< i„
span {K,5>%}>
* u
donde n <------
y /¿,yf '■= (y¿ jj y¿ 2) se definen como
¡ i € / a p(i)=(t, v¿), y i == > yr~ Pi (i, Vi),
si i e / a p(i) = -i(f,v¿)1 :=
SI
V/ - JO
v/ - y i
si í e / a p(i) = (f, v(), ^ := 0, j?(- p= /%{1, v¿),
Si/Í/A/?(i) = -i(ííVi)f Yí '-0,
A
>r :=
u
*1+1 - f(*2+l,l + H^Vll S) ■ ^+1>2) + r[+l!
span +1,5 ^5+1,6 )í
0,>V) (yi<-------Fa \ {ví>X
* U
donde rL+i<—
devolver S* := c-íov?4+i)‘
El algoritmo Ver indicado en la Fórmula 159 se reescribe como se indica en la Fórmula 165. [Fórmula 165]
imagen56
El algoritmo Setup se puede ejecutar solamente una vez en la configuración del sistema de procesamiento de firmas 10, y no necesita ser ejecutado cada vez que ha de ser generada una clave de firma. En la descripción anterior, el algoritmo Setup y el algoritmo KeyGen se ejecutan por el dispositivo de generación de claves 100. Alternativamente, 5 el algoritmo Setup y el algoritmo KeyGen se pueden ejecutar por diferentes dispositivos.
Realización 2.
Esta realización describe el “esquema de firmas basado en atributos multiautoridad descentralizada”.
En primer lugar, se explicará la noción de “multiautoridad descentralizada”.
En segundo lugar, se explicará el “esquema de firmas basado en atributos multiautoridad descentralizada” según 10 esta realización. Inicialmente, se explicará la estructura básica del “esquema de firmas basado en atributos multiautoridad descentralizada”. Luego, se explicará la estructura básica del “sistema de procesamiento de firmas 10” que implementa el “esquema de firmas basado en atributos multiautoridad descentralizada”. Después de eso, se explicarán en detalle el “esquema de firmas basado en atributos multiautoridad descentralizada” y el “sistema de procesamiento de firmas 10”.
15 <1. La noción de multiautoridad descentralizada>
Inicialmente, se explicará la “multiautoridad”. Multiautoridad significa la presencia de una pluralidad de autoridades que generan la clave de firma.
En un sistema general de procesamiento de firmas, la seguridad de todo el sistema depende de una cierta parte (autoridad). Por ejemplo, en el sistema de procesamiento de firmas 10 descrito en la Realización 1, la seguridad de
5
10
15
20
25
30
35
40
45
50
todo el sistema depende del dispositivo de generación de claves 100 que genera la clave maestra sk. Si se viola la seguridad del dispositivo de generación de claves 100 o se filtra la clave maestra sk, todo el sistema de procesamiento de firmas 10 ya no funciona más.
Con el esquema de multiautoridad, no obstante, incluso si se viola la seguridad de alguna autoridad o se filtra la clave secreta (clave maestra) de alguna autoridad, solamente parte del sistema de procesamiento de firmas deja de funcionar, y la parte restante del sistema puede funcionar normalmente.
La Fig. 13 es un dibujo explicativo de la multiautoridad.
En la Fig. 13, una oficina pública gestiona atributos tales como la dirección, el número de teléfono y la edad. La policía gestiona atributos tales como el tipo de carnet de conducir. Una empresa A gestiona atributos tales como la posición en la empresa A y el departamento correspondiente en la empresa A. Una clave de firma 1 para indicar los atributos gestionados por la oficina pública se emite por la oficina pública. Una clave de firma 2 para indicar los atributos gestionados por la policía se emite por la policía. Una clave de firma 3 para indicar los atributos gestionados por la empresa A se emite por la empresa A.
El firmante que firma genera datos de firma usando una clave de firma formada juntando las claves de firma 1, 2 y 3 emitidas por las autoridades respectivas, tales como la oficina pública, la policía y la empresa A. Esto es, cuando se ve desde el firmante, una clave de firma formada juntando las claves de firma emitidas por las autoridades respectivas es la clave de firma única emitida por él mismo o por ella misma.
Por ejemplo, en un caso donde se filtra la clave maestra de la empresa A, aunque el sistema de procesamiento de firmas no funciona con respecto a los atributos en la empresa A, funciona con respecto a los atributos gestionados por las otras autoridades. Esto es, si se verifican los datos de firma, aunque no se puede confiar en los atributos gestionados por la empresa A, se pueden confiar en los otros atributos.
Como se ve a partir del ejemplo de Fig. 13, según la firma basada en atributos, es normal que esté presente una pluralidad de autoridades, y que cada autoridad gestione una cierta categoría (subespacio) o intervalo de definición en los atributos y emita (una parte de) una clave de firma con respecto al atributo del usuario en esta categoría.
Se explicará la noción de “descentralizada”. Ser descentralizada significa que cualquier parte puede servir como autoridad y emitir (una parte de) la clave de firma sin interactuar con las otras partes, y que cada usuario puede adquirir (una parte de) la clave de firma sin interactuar con las otras partes.
Por ejemplo, si existe una autoridad central, el sistema no está descentralizado. Una autoridad central es una autoridad superior a las otras autoridades. Si se viola la seguridad de la autoridad central, se violará la seguridad de todas las autoridades.
<2. Estructura de esquema de firmas basado en atributos multiautoridad descentralizada>
<2-1. Estructura básica de esquema de firmas basado en atributos multiautoridad descentralizada>
Un esquema de firmas basado en atributos multiautoridad descentralizada consta de cuatro algoritmos: GSetup, ASetup, AttrGen, Sig y Ver.
(GSetup)
Un algoritmo GSetup es un algoritmo aleatorizado que toma como entrada un parámetro de seguridad A, y emite un parámetro público gparam.
(ASetup)
Un algoritmo ASetup es un algoritmo aleatorizado que toma como entrada el parámetro público gparam y la información de identificación de autoridad t, y emite una clave secreta de autoridad askt y un parámetro público de autoridad apkt.
(AttrGen)
Un algoritmo AttrGen es un algoritmo aleatorizado que toma como entrada el parámetro público gparam, la información de identificación de autoridad t, la clave secreta de autoridad askt, la información de identificación de usuario gid, y atributo x^t =: (xt,¡) (i = 1, ..., nt) e Fq, y emite una clave de firma uskgid,(t,xt).
(Sig)
Un algoritmo Sig es un algoritmo aleatorizado que toma como entrada el parámetro público gparam, la clave de firma uskgid,(t,xt), un mensaje m, y una estructura de acceso S := (M, p), y emite datos de firma a que incluyen: una firma s^*; el mensaje m; y la estructura de acceso S.
(Ver)
5
10
15
20
25
30
35
40
45
50
Un algoritmo Ver es un algoritmo que toma como entrada los datos de firma o, el parámetro público gparam, y el parámetro público de autoridad apkt, y emite un valor booleano 1 (aceptar) o 0 (rechazar).
<2-2 Sistema de procesamiento de firmas 10>
Se describirá un sistema de procesamiento de firmas 10 que ejecuta los algoritmos del esquema de firmas basado en firmas multiautoridad descentralizada descrito anteriormente.
La Fig. 14 es un diagrama de configuración del sistema de procesamiento de firmas 10 que ejecuta los algoritmos del esquema de firmas basado en atributos multiautoridad descentralizado.
El sistema de procesamiento de firmas 10 está dotado con una pluralidad de dispositivos de generación de claves 100, un dispositivo de firmas 200 y un dispositivo de verificación 300.
Un (único) dispositivo de generación de claves 100 ejecuta el algoritmo GSetup tomando como entrada el parámetro de seguridad A, y genera el parámetro público gparam. Este dispositivo de generación de claves 100 hace público el parámetro público generado gparam.
Cada dispositivo de generación de claves 100 ejecuta el algoritmo ASetup tomando como entrada el parámetro público gparam y la información de identificación de autoridad t asignada a este dispositivo de generación de claves 100, y genera la clave secreta de autoridad askt y el parámetro público de autoridad apkt. Cada dispositivo de generación de claves 100 ejecuta el Algoritmo AttrGen tomando como entrada el parámetro público gparam, la información de identificación de autoridad t asignada a este dispositivo de generación de claves 100, la clave secreta de autoridad askt, la información de identificación de usuario gid y el atributo xt:= (xt,i) (i = 1, ..., nt) e Fq, y genera la clave de firma uskgid,(t,xt) y la distribuye al dispositivo de firmas 200 en secreto.
El dispositivo de firmas 200 ejecuta el algoritmo Sig tomando como entrada el parámetro público gparam, la clave de firma uskgid,(t,xt), el mensaje m, y la estructura de acceso S := (M, p), y genera los datos de firma o incluyendo: la firma s^*; el mensaje m; y la estructura de acceso S. El dispositivo de firmas 200 transmite los datos de firma o generados al dispositivo de verificación 300.
El dispositivo de verificación 300 ejecuta el algoritmo Ver tomando como entrada los datos de firma o, el parámetro público gparam y el parámetro público de autoridad apkt, y emite un valor booleano 1 (aceptar) o 0 (rechazar).
<2-3. Esquema de firmas basado en atributos multiautoridad descentralizada y sistema de procesamiento de firmas 10 en detalle>
El esquema de firmas basado en atributos multiautoridad descentralizada, y la función y la operación del sistema de procesamiento de firmas 10 que ejecuta el esquema de firmas basado en atributos multiautoridad descentralizada se describirán con referencia a las Fig. 15 a 22.
La Fig. 15 es un diagrama de bloques de funciones que muestra la función de cada dispositivo de generación de claves 100. La Fig. 16 es un diagrama de bloques de funciones que muestra la función del dispositivo de firmas 200. La Fig. 17 es un diagrama de bloques de funciones que muestra la función del dispositivo de verificación 300.
Las Fig. 18 a 20 son diagramas de flujo que muestran la operación del dispositivo de generación de claves 100. Obsérvese que la Fig. 18 es un diagrama de flujo que muestra el proceso del algoritmo GSetup, que la Fig. 19 es un diagrama de flujo que muestra el proceso del algoritmo ASetup, y que la Fig. 20 es un diagrama de flujo que muestra el proceso del algoritmo AttrGen. La Fig. 21 es un diagrama de flujo que muestra la operación del dispositivo de firmas 200 y el proceso del algoritmo Sig. La Fig. 22 es un diagrama de flujo que muestra la operación del dispositivo de verificación 300 y el proceso del algoritmo Ver.
Se describirán la función y la operación del dispositivo de generación de claves 100.
Como se muestra en la Fig. 15, el dispositivo de generación de claves 100 está dotado con una parte de generación de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de información 130 (primera parte de entrada de información), una parte de generación de clave de firma 140 y una parte de distribución de clave 150 (parte de transmisión de clave de firma).
La parte de generación de clave maestra 110 está dotada con una parte de generación de parámetro global 111 y una parte de generación de clave secreta de autoridad 112. La parte de generación de clave de firma 140 está dotada con una parte de generación de número aleatorio 141 y una parte de generación de elemento de clave 145.
El proceso del algoritmo GSetup ejecutado por el dispositivo de generación de claves 100 se describirá primero con referencia a la Fig. 18. Como se ha descrito anteriormente, el algoritmo GSetup se puede ejecutar por un dispositivo de generación de claves 100 de entre la pluralidad de dispositivos de generación de claves 100.
(S501: Paso de entrada de parámetros de seguridad)
5
10
15
20
25
Con el dispositivo de entrada, la parte de generación de parámetros globales 111 toma como entrada un parámetro de seguridad A (1A).
(S502: Paso de generación de grupo de emparejamiento bilineal)
Con el dispositivo de procesamiento, la parte de generación de parámetros globales 111 ejecuta el algoritmo Gbpg tomando como entrada el parámetro de seguridad A (1A) introducido en S501, y genera aleatoriamente los valores de un parámetro paramG := (q, G, Gt, g, e) del grupo de emparejamiento bilineal.
(S503: Paso de generación de parámetros)
Las funciones de comprobación aleatoria H1 y H2 se determinan como funciones de comprobación aleatoria indicadas en la Fórmula 166.
[Fórmula 166]
Con el dispositivo de procesamiento, la parte de generación de parámetros globales 111 genera los elementos Go, G1, G2, G3 y G4 del parámetro global gparam indicados en la Fórmula 167.
[Fórmula 167]
G0:=Hi<^)eG,
G, :=i/j(l^)eG,
G2:=ffl(1,0M)eG,
G3 := //,((),LUA-2)eG,
G4:=/íl(1,l,0*-2)eG
La parte de generación de parámetros globales 111 también establece gt := e(Go, G1) y g4 := e(Go, G4).
(S504: Paso de almacenamiento de parámetros)
La parte de almacenamiento de clave maestra 120 almacena el paramG generado en (S502), las funciones de comprobación aleatoria H1 y H2 establecidas en (S503) por la parte de generación de parámetros globales 111, los elementos generados Go, G1, G3 y G4, y los valores establecidos gt y g4, como un parámetro global gparam en el dispositivo de almacenamiento.
En resumen, desde (S501) hasta (S503), el dispositivo de generación de claves 100 genera el parámetro global gparam ejecutando el algoritmo GSetup indicado en la Fórmula 168. Entonces, en (S504), el dispositivo de generación de claves 100 almacena el parámetro global público gparam generado, en el dispositivo de almacenamiento.
Obsérvese que el parámetro global gparam se hace público a través de, por ejemplo, una red, de modo que otros dispositivos de generación de claves 100, el dispositivo de firmas 200 y el dispositivo de verificación 300 puedan adquirirlo.
[Fórmula 168]
5
10
15
20
25
GSetup(l^): param& := 0bpg(lA),
Hi:{0,1}* H2
G0:=H{(0*)eG, G1:=//1(1a)gG, G2:=//1(1,0a-|)6G, G3 := ^(0,1,0^-2) e G, G4 := #1(1,1,0^*2) e G,
St •= e(Go,G¡), £M := e(G(,,G,t},
devolver gparam:=(parainG,//l,//2,G0,C1,G2,G3,C4,g7-,g4)
El proceso del algoritmo ASetup ejecutado por el dispositivo de generación de claves 100 se describirá con referencia a la Fig. 19. Como se ha descrito anteriormente, el algoritmo ASetup se puede ejecutar por todos de la pluralidad de dispositivos de generación de claves 100, o solamente algunos de la pluralidad de dispositivos de generación de claves 100.
(S601: Paso de entrada de información)
Con el dispositivo de entrada, la parte de entrada de información 130 toma como entrada la información de identificación t asignada a sí misma (su dispositivo de generación de claves 100). Obsérvese que se asigna diferente información de identificación t a los respectivos dispositivos de generación de claves 100.
Por ejemplo, con el dispositivo de comunicación, la parte de entrada de información 130 adquiere el parámetro global gparam a través de la red. Si esta parte de entrada de información 130 pertenece al dispositivo de generación de claves 100 que ha generado el parámetro global gparam, la parte de entrada de información 130 puede leer el parámetro global gparam de la parte de generación de clave maestra 120.
(S602: paso de generación de espacio)
Con el dispositivo de procesamiento, la parte de generación de clave secreta de autoridad 112 ejecuta el algoritmo Gdpvs tomando como entrada el parámetro de seguridad A (1A), Nt = 2nt + 2 + ut + wt + zt, y los valores de pararmG := (q, G, Gt, g, e), para generar los valores de un parámetro paramvt := (q, Vt, Gt, At, e) de los espacios vectoriales de emparejamiento dual.
Obsérvese que nt, ut, wt y zt son cada uno un número entero de 1 o más.
(S603: Paso de generación de base U)
Con el dispositivo de procesamiento, la parte de generación de clave secreta de autoridad 112 genera una base Ui para cada número entero l = 1, ..., 4, como se indica en la Fórmula 169.
[Fórmula 169]
u/ “ («r,i.......“/,w,).
1-1
donde U¡ ¿ '.= (0,...,0,G¿ ,O,...,0)
P^a / = 4; i =
(S604: Paso de generación de transformación lineal)
Con el dispositivo de procesamiento, la parte de generación de clave secreta de autoridad 112 toma como entrada nt + ut + wt + zt, y Fq, y genera la transformación lineal Xt := (Xt,i,j)i,j aleatoriamente, como se indica en la Fórmula 170.
[Fórmula 170]
Xt<r^—GUNt,¥q)
(S605: Paso de generación de base B)
Con el dispositivo de procesamiento, la parte de generación de clave secreta de autoridad 112 genera una base Bt y una base B*t, como se indica en la Fórmula 171.
[Fórmula 171]
imagen57
La parte de generación de clave secreta de autoridad 112 determina n, n' y p e Fq, como valores que satisfacen G2 = nG-i, G3 = n'G-i, y G3 = pG-i. Entonces, se establece la Fórmula 172.
[Fórmula 172]
imagen58
10 (S606: Paso de generación de base BA)
Con el dispositivo de procesamiento, la parte de generación de clave secreta de autoridad 112 genera una subbase BAt de la base Bt y una subbase BA*t de la base B* como se indica en la Fórmula 173.
[Fórmula 173]
imagen59
15 (S607: Paso de almacenamiento de clave maestra)
La parte de almacenamiento de clave maestra 120 almacena el parámetro paramvt generado en (S602), y la subbase BAt y la subbase BA*t generadas en (S606), en el dispositivo de almacenamiento como un parámetro público de autoridad apkt. La parte de almacenamiento de clave maestra 120 también almacena la transformación lineal Xt generada en (S604), en el dispositivo de almacenamiento como la clave secreta de autoridad askt.
20 En resumen, desde (S601) hasta (S606), el dispositivo de generación de claves 100 genera el parámetro público de autoridad apkt y la clave secreta de autoridad askt ejecutando el algoritmo ASetup indicado en la Fórmula 174. Entonces, en (S607), el dispositivo de generación de claves 100 almacena el parámetro público de autoridad apkt y la clave secreta de autoridad askt generados, en el dispositivo de almacenamiento.
Obsérvese que el parámetro público de autoridad apkt se hace público a través de, por ejemplo, una red, de modo 25 que el dispositivo de firmas 200 y el dispositivo de verificación 300 puedan adquirirlo.
[Fórmula 174]
ASetup(gpararrv):
Nt := + 2+,
paramV; ^(q,Yt>GT,At,e) :=£dpVS(lA,Ar„paramG),
, N'~l,
donde U¡ ¡ '= (0,...,0,G¡ ,0,...,0) para / = ( = 1,,..,^,
X,J^-GL(N„rí), (B,(U0),(2fT)-l (U,))
5
10
15
20
25
Permitamos que n,7r',/je S.t. G2 = 7lG\> G3 = n'G\, G4 = //G], entonces = (CA^T)-1 (U2)-l^3) ^T)-l(^4)),
•“ 1 +2'bty2n, +2+u,-i-w, +1 ■»^í,2ii, +2+ti, +w( +z,)>
í* ),’r,(b*n +h...,b*2nl XM*f*2n,+l A*2n,+2)>
bt,2nt +2+u, +!»•••> bl,2n, +2-t-u, +w, )»
askr := X„ apk, := (paramVf
devolver (ask¿, apk;).
El proceso del algoritmo AttrGen ejecutado por el dispositivo de generación de claves 100 se describirá con referencia a la Fig. 20. Obsérvese que, como se ha descrito anteriormente, el algoritmo AttrGen se ejecuta por el dispositivo de generación de claves 100, entre la pluralidad de dispositivos de generación de claves 100, que ha ejecutado el algoritmo ASetup.
(S701: Paso de entrada de información)
Con el dispositivo de entrada, la parte de entrada de información 130 toma como entrada la información de identificación t asignada a sí misma (su dispositivo de generación de claves 100), la información de identificación gid del usuario al que ha de ser emitida la clave de firma, y la información del atributo x^t := (xt,¡) (i = 1, ..., nt).
Por ejemplo, con el dispositivo de comunicación, la parte de entrada de información 130 también adquiere el parámetro global gparam a través de la red. Si esta parte de entrada de información 130 pertenece al dispositivo de generación de claves 100 que ha generado el parámetro global gparam, la parte de entrada de información 130 puede leer el parámetro global gparam de la parte de almacenamiento de clave maestra 120.
La parte de entrada de información 130 también lee la clave secreta de autoridad askt desde la parte de almacenamiento de clave maestra 120.
(S702: Paso de generación de número aleatorio)
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 141 genera un número aleatorio O^tj para la información de identificación t y cada número entero j = 1,2, como se indica en la Fórmula 175.
[Fórmula 175]
imagen60
(S703: Paso de generación de elemento de clave) Supongamos que se establece la Fórmula 176. [Fórmula 176]
imagen61
Con el dispositivo de procesamiento, la parte de generación de elemento de clave 145 genera un elemento de clave k*t,j, que es un elemento de la clave de firma uskgid,(t,xt), para la información de identificación t y cada número entero j = 1, 2, como se indica en la Fórmula 177.
[Fórmula 177]
imagen62
Como se describió anteriormente, para las bases B y B* indicadas en la Fórmula 113, se establece la Fórmula 114. Por lo tanto, la Fórmula 177 significa que el coeficiente para el vector base de una base B* se establece como se describe a continuación. Con el propósito de una representación simple, un vector base b*t,i se especifica solamente 5 por su parte i. Por ejemplo, un vector base 1 significa un vector base b*t,1. Los vectores base 1, ..., 3 significan vectores base b*t,1, ..., b*t,3, respectivamente.
(5j+1 )xt,1, ..., (5j+1)xt,nt (donde nt representa nt) se establecen como el coeficiente para los vectores base 1, ..., nt. - SjXt,1, ..., -5jXt,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base nt + 1, ..., 2nt. 0 se establece como el coeficiente para los vectores base 2nt+1, ..., 2nt+2+ut. Los números aleatorios Ot,j,1, ..., 10 Ot,j,wt (donde wt representa wt) se establecen cada uno como el coeficiente para los vectores base 2nt+2+ut+1, ..., 2nt+2+ut+Wt. 0 se establece como el coeficiente para los vectores base 2nt+2+ut+Wt+1, ..., 2nt+2+ut+Wt+Zt.
(S704: Paso de distribución de clave)
Por ejemplo, con el dispositivo de comunicación, la parte de distribución de clave 150 distribuye la clave de firma uskgid,(t,xt), constituida como elementos por la información de identificación de usuario gid, la información de 15 identificación t y la información de atributo x^t, y el elemento de clave k*tj, al dispositivo de firmas 200 en secreto a través de la red. Como cuestión de rutina, la clave de firma uskgid,(t,xt) se puede distribuir al dispositivo de firmas 200 por otro método.
En resumen, desde (S701) hasta (S703), el dispositivo de generación de claves 100 genera la clave de firma uskgid,(t,xt) ejecutando el algoritmo AttrGen indicado en la Fórmula 178. En (S704), el dispositivo de generación de 20 claves 100 distribuye la clave de firma generada uskgid,(t,xt) al dispositivo de firmas 200.
[Fórmula 178]
AttrGen(gpa
imagen63
imagen64
5
10
15
20
25
30
35
40
Se describirán la función y la operación del dispositivo de firmas 200.
Como se muestra en la Fig. 16, el dispositivo de firmas 200 está dotado con una parte de adquisición de clave de firma 210, una parte de entrada de información 220 (segunda parte de entrada de información), una parte de cálculo de programa de extensión 230, una parte de cálculo de coeficiente complementario 240, una parte de generación de datos de firma 250, y una parte de transmisión de datos de firma 260 (parte de salida de datos de firma).
La parte de entrada de información 220 está dotada con una parte de entrada de información de predicado 221 y una parte de entrada de mensaje 222. La parte de generación de datos de firma 250 está dotada con una parte de generación de número aleatorio 251 y una parte de generación de elemento de firma 255.
El proceso del algoritmo Sig ejecutado por el dispositivo de firmas 200 se describirá con referencia a la Fig. 21.
(S801: Paso de adquisición de clave de firma)
Por ejemplo, con el dispositivo de comunicación, la parte de adquisición de clave de firma 210 adquiere la clave de firma uskgid,(t,xt) generada por cada dispositivo de generación de claves 100, a través de la red. La parte de adquisición de clave de firma 210 también adquiere el parámetro público gparam generado por el dispositivo de generación de claves 100.
(S802: Paso de entrada de información)
Con el dispositivo de entrada, la parte de entrada de información de predicado 221 toma como entrada la estructura de acceso S := (M, p). La matriz M es una matriz de L filas x r columnas. L y r son cada uno un número entero de 1 o más.
Con el dispositivo de entrada, la parte de entrada de mensaje 220 toma como entrada el mensaje m a ser firmado.
La matriz M de la estructura de acceso S ha de ser establecida dependiendo de la condición del sistema a ser implementado.
(S803: Paso de cálculo de programa de extensión)
Con el dispositivo de procesamiento, la parte de cálculo de programa de extensión 230 comprueba si la estructura de acceso S introducida en (S802) acepta o no el conjunto r de la información de atributo x^t incluida en la clave de firma uskgid,(t,xt) adquirida en (S801).
El método de comprobación de si la estructura de acceso acepta o no el conjunto de atributos es el mismo que el descrito en “3. Concepto para implementar cifrado funcional” en la Realización 1.
Si la estructura de acceso S acepta el conjunto de atributos r (aceptar en S803), la parte de cálculo de programa de extensión 230 avanza el proceso a (S804). Si la estructura de acceso S rechaza el conjunto r de la información de atributo x^t (rechazar en S803), la parte de cálculo de programa de extensión 230 finaliza el proceso.
(S804: Paso de cálculo de coeficientes complementarios)
Con el dispositivo de procesamiento, la parte de cálculo de coeficiente complementario 430 calcula I y una constante (coeficiente complementario) ai para cada número entero i incluido en I, cuyos I y ai que satisfacen la Fórmula 179.
[Fórmula 179]
e [p(i) = (t,Vi)A(t,xt)erAvrx¿ = 0]
v 0(0 = )A(íJ^)e/' Avr^0]}
Obsérvese que Mi significa la fila de orden i de la matriz M.
(S805: Paso de generación de número aleatorio)
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 251 genera los números aleatorios y ^2, y los números aleatorios pi y (3¡‘ (i = 1, ..., L), como se indica en la Fórmula 180.
10
imagen65
(S806: Paso de generación de elemento de firma)
Con el dispositivo de procesamiento, la parte de generación de elemento de firma 255 genera un elemento de firma s*i que es un elemento de los datos de firma a, para cada número entero i = 1, ..., L, como se indica en la Fórmula 181.
[Fórmula 181]
imagen66
Obsérvese que r* se define por la Fórmula 182 (véanse las Fórmulas 110 hasta 112 y sus explicaciones). [Fórmula 182]
imagen67
Obsérvese que Yi, y^¡ := (y¡,¡ ) (i’ = 1, ..., nt), e y’^¡ := (y’¡,¡ ) (i’ = 1, ..., nt) se definen por la Fórmula 183. [Fórmula 183]
imagen68
5
5
10
imagen69
(S807: Paso de transmisión de datos)
Por ejemplo, con el dispositivo de comunicación, la parte de transmisión de datos de firma 260 transmite los datos de firma a, incluyendo el elemento de firma s* (i = 1, ..., L), el mensaje m, la estructura de acceso S := (M, p) y go := g4^2 (donde £2 representa £2), al dispositivo de verificación 300 a través de la red. Como cuestión de rutina, los datos de firma a se pueden transmitir al dispositivo de verificación 300 por otro método.
En resumen, desde (S801) hasta (S806), el dispositivo de firmas 200 genera los datos de firma a ejecutando el algoritmo Sig indicado en la Fórmula 184. En (S807), el dispositivo de firmas 200 distribuye los datos de firma a generados al dispositivo de verificación 300.
[Fórmula 184]
S¡g(gparam({apk,, uskg¡d(f jJC() :=(gid, (t, xt \ {k*j }yal2 }.«,§:= (M, p))
Si S:=(M,p) acepta F := {(i,*,) e uskgid>(í^)}, entonces calcular / y {af }ic/ de manera que
1 := cCjMj donde M¡ es la fila de orden i de M,
e / c {/ c [p(i) = (/,v,) a (t,xt) e T a vrxt = 0]
v 0(0 = -<*, vf) a {t,xt) e T a vr xt * 0]},
íi,Í2<-y-f,. W.W).....
U
f2
£0 S4 »
imagen70
5
10
15
20
25
30
35
ái¿IAp(t) = ^(i,Vj)l y,:=G,
y¡ |ír ¡i = A). y^-{y V | ? V• *¡=P '¡ >
devolver£* :=($£,.
Se describirán la función y la operación del dispositivo de verificación 300.
Como se muestra en la Fig. 17, el dispositivo de verificación 300 está dotado con una parte de adquisición de parámetro público 310, una parte de recepción de datos 320 (parte de adquisición de datos), una parte de generación de clave de verificación 330, y una parte de operación de emparejamiento 340.
La parte de generación de clave de verificación 330 está dotada con una parte de generación de número aleatorio 331, una parte de generación de vector f 332, una parte de generación de vector s 333 y una parte de generación de elemento de verificación 337.
El proceso del algoritmo Ver ejecutado por el dispositivo de verificación 300 se describirá con referencia a la Fig. 22. (S901: Paso de adquisición de parámetro público)
Por ejemplo, con el dispositivo de comunicación, la parte de adquisición de parámetro público 310 adquiere el parámetro global gparam y el parámetro público de autoridad apkt generado por cada dispositivo de generación de claves 100, a través de la red.
(S902: Paso de recepción de datos de firma)
Por ejemplo, con el dispositivo de comunicación, la parte de recepción de datos 320 recibe los datos de firma a transmitidos por el dispositivo de firmas 200, a través de la red.
(S903: Paso de generación de vector f)
Con el dispositivo de procesamiento, la parte de generación de vector f 332 genera un vector f^ que tiene r partes de elementos, aleatoriamente como se indica en la Fórmula 185.
[Fórmula 185]
7<r^—wr
(S904: Paso de generación de vector s)
Con el dispositivo de procesamiento, la parte de generación de vector s 333 genera un vector s^T como se indica en la Fórmula 186, en base a la matriz M (L filas x r columnas) de la estructura de acceso S incluida en los datos de firma a recibidos en (S902), y el vector f^ generado en (S403) y que tiene r partes de elementos, x.
[Fórmula 186]
imagen71
Con el dispositivo de procesamiento, la parte de generación de vector s 333 genera un valor s0, en base al vector f^ generado en (S903), como se indica en la Fórmula 187. Obsérvese que 1^ es un vector que tiene un valor 1 en todos sus elementos.
[Fórmula 187]
imagen72
(S905: Paso de generación de vector f)
Con el dispositivo de procesamiento, la parte de generación de vector f 332 genera un vector f^' que tiene r partes de elementos, aleatoriamente como se indica en la Fórmula 188.
[Fórmula 188]
imagen73
(S906: Paso de generación de vector s')
Con el dispositivo de procesamiento, la parte de generación de vector s 333 genera un vector (s^’)T, en base a la matriz M (L filas x r columnas) y el vector f^’ que tiene r partes de elementos, como se indica en la Fórmula 189.
5 [Fórmula 189]
imagen74
(S907: Paso de generación de número aleatorio)
Con el dispositivo de procesamiento, la parte de generación de número aleatorio 331 genera un número aleatorio a^ y un valor ao, como se indica en la Fórmula 190.
10 [Fórmula 190]
<j:= (q,i,-.,cr¿)< U F¿,
(Tq:=T<tt
(S908: Paso de generación de elemento de verificación)
Con el dispositivo de procesamiento, la parte de generación de elemento de verificación 337 genera un elemento de verificación q, que es un elemento de la clave de verificación, para cada número entero i = 1, ..., L, como se indica 15 en la Fórmula 191.
[Fórmula 191]
imagen75
ci := 0¿ + '+ °i \lA'vi,2>-A \n, »
2
w,
CT¡ - 9¡ "H1{m,§\ei \ 0“r, Qw<, 7n,...,77
si p(i) = -4t,vt)t
9¡ —FtfI 7j¡ := fe, v.
Ci ■ )>5/
2
w,
<ri-ei”H1im^\Oi", 0«r9 <M, j; )b
Como se ha descrito anteriormente, la Fórmula 114 se establece para las bases B y B* indicadas en la Fórmula 113. 20 Por lo tanto, la Fórmula 191 significa que el coeficiente para el vector base de la base Bt se establece como se
5
10
15
20
25
30
describe a continuación. Con el propósito de una representación simple, un vector base bt,¡ se especifica solamente por su parte i. Por ejemplo, un vector base 1 significa un vector base bt,1. Los vectores base 1, ..., 3 significan los vectores base bt,1, ..., bt,3, respectivamente.
Cuando p(i) es una tupla positiva (t, v^¡), s¡+9¡v¡1 se establece como el coeficiente para el vector base 1. 0¡v¡,2, ..., 0¡v¡,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base 2, ..., nt. s¡'+0¡'v¡,1 se establece como el coeficiente para un vector base nt+1. 0¡'v¡,2, ...., 9¡'v¡,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores bases nt+2, ..., 2nt. a¡-0¡”H2(m, S) se establece como el coeficiente para un vector base 2nt+1. Obsérvese que H2(m, S) significa que el mensaje m y la estructura de acceso S se dan como entrada a la función de comprobación aleatoria H2. Por ejemplo, H2(m||S) puede ser posible. 0¡'" se establece como el coeficiente para un vector base 2nt+2. 0 se establece como el coeficiente para los vectores base 2nt+2+1, ..., 2nt+2+ut+Wt. n¡,1, .., n¡,zt (donde zt representa zt) se establecen cada uno como el coeficiente para los vectores base 2nt+2+ut+Wt+1, ..., 2nt+2+ut+Wt+Zt.
Cuando p(i) es una tupla negativa -(t, v^¡), s¡v¡,1, ..., s¡v¡,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base 1, ..., nt. s¡'v¡,1, ..., s¡'v¡,nt (donde nt representa nt) se establecen cada uno como el coeficiente para los vectores base nt+1, ..., 2nt. a¡-0¡”H2(m, S) se establece como el coeficiente para el vector base 2nt+1. 0” se establece como el coeficiente para el vector base 2nt+2. 0 se establece como el coeficiente para los vectores base 2nt+2+1, ..., 2nt+2+ut+Wt. n¡,1, ■ ■■, n¡,zt (donde zt representa Zt) se establecen cada uno como el coeficiente para los vectores base 2nt+2+ut+Wt+1, ..., 2nt+2+ut+Wt+zt.
(S909: Paso de operación de emparejamiento)
Con el dispositivo de procesamiento, la parte de operación de emparejamiento 340 dirige una operación de emparejamiento indicada en la Fórmula 192.
[Fórmula 192]
imagen76
Si el resultado del cálculo de la operación de emparejamiento indicada en la Fórmula 192 es un valor gTs0 goa0 (donde s0 representa s0 y a0 representa a0), la parte de operación de emparejamiento 340 emite el valor 1 que indica el éxito de la verificación de firma; de otro modo, el valor 0 que indica el fallo de la verificación de firma.
Si los datos de firma a son auténticos, como consecuencia del cálculo de la Fórmula 192, se obtiene el valor 1, como se indica en la Fórmula 193.
[Fórmula 193]
imagen77
En resumen, desde (S901) hasta (S909), el dispositivo de verificación 300 verifica los datos de firma o ejecutando el algoritmo Ver indicado en la Fórmula 194.
[Fórmula 194]
imagen78
5
Como se ha descrito anteriormente, el sistema de procesamiento de firmas 10 según la Realización 2 implementa el esquema de firmas basado en atributos multiautoridad en el que la pluralidad de dispositivos de generación de claves 100 genera claves de firma. En particular, el esquema de firmas implementado por el sistema de procesamiento de firmas 10 es un esquema de firmas basado en atributos multiautoridad descentralizada sin 10 autoridad central.
Obsérvese que el sistema de procesamiento de firmas 10 según la Realización 2 implementa un esquema de firmas basado en atributos con un predicado no monótono, como lo hace el sistema de procesamiento de firmas 10 según lo hace la Realización 1.
El esquema de firmas basado en atributos implementado por el sistema de procesamiento de firmas 10 según la Realización 2 es altamente seguro y satisface los requisitos de privacidad.
En la descripción anterior, las dimensiones ut, wt y zt (t = 0, ..., d) se proporcionan para mejorar la seguridad. Por lo tanto, si ut, wt y zt (t = 1, ..., d) se establecen cada una en 0, las dimensiones ut, wt y zt (t = 1, ..., d) no necesitan ser 5 proporcionadas, aunque la seguridad se puede degradar.
En la descripción anterior, el número de dimensiones de cada una de la base Bt y la base B* se establece en 2nt+2+ut+wt+zt. Alternativamente, 2nt+2+ut+wt+zt se puede sustituir por 2+2+2+6+4+1, y el número de dimensiones de cada una de las bases Bt y la base B* se puede establecer en 17.
En este caso, el algoritmo GSetup indicado en Fórmula 168 se reescribe como la Fórmula 195.
10 [Fórmula 195]
GSetup(l^): paramG := (q,G,GT,gie)<r-^— £bpg(lÁ),
H2: {0,1}*->Fg;
G0 :=//,(O^eG, (Ia) eG, G2 := i/1(l,0A-1) e G,
G3 := (0,1,0**2) SG, G4 1,1,0a'2) eG,
gT := e(G0, Gj )7 g4 := e(G0, G4),
devolver gparam := (paramG, H¡, H2, G0, Gx, G2, G3, G4, gT, g4).
El algoritmo ASetup indicado en la Fórmula 174 se reescribe como Fórmula 196. [Fórmula 196]
ASetup(gparanv):
param^ :={q>Vt,<&T,±t7é):= Qdpvs(1A,17,paramG), u/ :=0*i,h-*ui,n)>
imagen79
El algoritmo AttrGen indicado en la Fórmula 178 se reescribe como la Fórmula 197. [Fórmula 197]
AttrGen(gparam,í,askf ,gid,xf g F?):
Gg«ij (= 8jG\) := ffi (y'.gid) g G,
Píj:=F<? > ParaJ = [>2>
ktJ := C^fT)_1 C(%dj + Q)» (<%dj + Gl)í -Ggidj > “*íGgidJ>
2 2 2 6 4 1
es decir k*j := {(ój + 1)(1,X¡), Sj (l,xt), O2, 06, pfj, 0 para j - 1( 2,
dev°iver(iiskg¡d (í Xí):Kgid: (^^)>{^j};=i?2))‘
El algoritmo Sig indicado en la Fórmula 184 se reescribe como la Fórmula 198.
[Fórmula 198]
S¡g(gparam,{apkf, uskgid ^} :=(gid, (í, ), {}y=1>2}, m, S := (yW, /?))
SiS :=(M,p) acepta r := {(f.X,) € USkg¡d>(# entonces calcular / y {úT:}¿er de manera que
1 := > . , d:M; donde M¡ es la fila de orden i de M,
1 1 '■
e 7 c {/ e (1,...,L}| [/7(0 = (t,v¡) A (/,*,) e Z’ a v, = xt]
v[/?(0 = ->(*,vf) a (/,*,) e T av,- * *,]},
Zf=1A^ = o}=
(AXW
&
§0 - 4 *
si ■= Yi <ii*¡i + 0" £l )**,2 ) + Zf=i A/ )
'%) + *((^5) + H2 («,S)0< 6))
+ /f, para 1 < j < L,
donde r* Span(¿*13,...,6*16),
y ft.j'/Mtt.i,4) se definen como
si í e /a/7(í) = (/,vi), r¿ := ait y¡ := (AO.nk/Víkn))»
si 1 e I a /?(0 = -i(í,v/), y i :=---—,
vi~x(
Pi<yt»yi'<^—*q Un})»
vi~yi ví~)!í
si i € / a /?(0 = (f.vj), := 0, y¡ := (#(l,vj), fit 'O»*,)),
si i í 1A /?(0 = ->(On), Yi := o,
imagen80
El algoritmo Ver indicado en la Fórmula 194 se reescribe como la Fórmula 199. [Fórmula 199]
imagen81
5
si p(i) = -.(fjV,),

* u u

devolver 0 si s¡ £ V¿, de otro modo 11 <---------, T]¡<--------------F^,
2 2 ________2________
Ci := -Oi'Hiim&W.

6 4 1
n¡ )b,.
devolver 1 si J”£e(c¿,S*) = gpgQ0, devolver 0de otro modo.
El algoritmo GSetup se puede ejecutar solamente una vez por un dispositivo de generación 100 en la configuración del sistema de procesamiento de firmas 10, y no necesita ser ejecutado todas las veces que ha de ser generada una clave de firma. Del mismo modo, el algoritmo ASetup se puede ejecutar solamente una vez por cada dispositivo de generación de claves 100 en la configuración del sistema de procesamiento de firmas 10, y no necesita ser 10 ejecutado todas las veces que ha de ser generada una clave de firma.
En la explicación anterior, el algoritmo GSetup, el algoritmo ASetup y el algoritmo KeyGen se ejecutan por el dispositivo de generación de claves 100. Alternativamente, el algoritmo GSetup, el algoritmo ASetup y el algoritmo KeyGen se pueden ejecutar por diferentes dispositivos.
Realización 3.
15 En las realizaciones anteriores, se ha descrito el método de implementación del proceso de firma en los espacios vectoriales duales. En la Realización 3, se describirá un método de implementación de un proceso de firma en grupos aditivos duales.
Más específicamente, en las realizaciones anteriores, el proceso de firma se implementa en el grupo cíclico del orden primo q. Cuando un anillo R se expresa como se indica en la Fórmula 200 usando un número compuesto M, el 20 proceso de firma descrito en las realizaciones anteriores también se puede aplicar a un módulo que tiene el anillo R como coeficiente.
[Fórmula 200]
10
imagen82
donde
Z.
M
un número entero; y
un número compuesto
Cuando el esquema de firmas basado en atributos descrito en la Realización 1 se implementa en el grupo aditivo que tiene el anillo R como coeficiente, entonces resultan las Fórmulas 201 a 205.
[Fórmula 201]
imagen83
devolver
[Fórmula 202]
5
d;nt>ut>wt>zt) (f = +1)):
parame ^(í1G,Gr#gJc)<-^—^)pfl0/)f
M\
jVf :=nt+ut +Wt+Zt para í = 0+ Para/ = 03-..f¿ + 1,
imagen84
gT -e(s>g)v'> param- := ({paramV( }í=0 ¿+lisr)
devolver (param-, {IB,,Bj }í=0j., ,¿+1).
[Fórmula 203]
KeyGen(pk,sk, r := {(í,icf := n¡) e Rn‘ )|l <,t < ¿})
ffO< u R*0,
—R * para/ = l5i„#¿s
^+1,1 > Prf+1,2 R W'i+1 =
¿0:=(^ 0“o , <p0 {....<pQ ^ , Ozo )B«,
«,_______ »,
:=( ó(xt¡l,...,xtifli) , 0“,, 0Z' )B;
para (í^)ef,
^<í+l
vd+1
6ít+1
*S+ltl H 0) , 0U^[7 í?d+1 ] v-,<Pá+l
Oz
^"y+l
■‘rf+1
W,
■J+]
¿r+l
£tí+1
>df+l
*5+1,2 “( 5(0. •) , «,d+l,2,l’-’«’d+l,2,wJ„’ °í''*1 'b;*,.
T ■.= {0, (d 4-1,1),(¿ +1,2)} u {/11 £ t S X,) e r],
devolverskr := {T
[Fórmula 204]
Sig(pk,skr?í7i,S:= {M,p))
Si ñ \=(M,p) acepta f := entonces calcular / y {«, }/6/ de manera que *“ 1
e /£{' e {|U->¿}I [p{í) = A(f,xf)ef /\vrxt = Oj
v[p(¡) = -.(íJvi)A(íJJf)er AVj'íf *0]},
í<_y_Rx5 Q9.) <-y-{(A,...,^)|2f=1A^/=óK
5o :=^o + /í > donde i <--------span{¿o^-n^+i,• •• >¿osi+Uo+Wo),
4 ■= Ti' £k*t + ‘ír + i' Para 1 ^ i ^ 4
donde if<-------span(¿Ji,<+ttf+l,...,^%f+Jlr+MV),
y í'íí.Ví se definen como
si js/a/?(/) = (/,V/), := or¿, ^< U {jp,\y¡• v, = 0 ay¡¿ = P¡},
si i e I a p{i) = ~{t,v¡}, Yi ■= -r-rr-,
v¡ -xt
yi+^—{yi\yivi=pi}>
si i £ I a p(í) = (¿,v,-)> /,■ - O, y¡ & \y¡ • v¿ = 0 a jv,i = Pi), si í í / a p(¡) = ^(rsVj), y¡ ■= 0,
u
y¡*-
) ih -vi =$}>
4+i := £(*í+i,i +Hihku NI S) - tí+12)+i+i>
donde í£+l <-!=!— span ^¿>5+1,2+urf+l+l>--->AÍ+l,2+t^+l+w,í+l )>
devolver j+ := (íq,.)■
[Fórmula 205]
imagen85
Cuando el esquema de firmas basado en atributos multiautoridad descentralizada descrito en la Realización 2 se 5 implementa en el grupo de aditivos que tiene el anillo R como coeficiente, entonces resultan las Fórmulas 206 a 210.
[Fórmula 206]
GSetup(lA): paramG *(q,G,GTíg,e)<J— ebpg<lA), fli: &1}*->G;
G0-Hx(Qb)eG, G1:=iy1(lA)GGJ G2 := ^a^1)e G,
G3 - ^(0,1,0a-2) eG, G4 := (1,1,0a"2) eG,
gT := e(GQ,G¡), g4 e(GQ7G4),
devolver gparam := (par&rr\G,Hi,H2,GQ,G\7G2>G2,G4,gT,g4)
[Fórmula 207]
ASetup(gparam,/):
Nt := 2 nt +2 +u¿ + w, + zti
param¥/ ;= {q,Vt, Gr, A,, e):= Qdpvs (1A,Nt,paramG),
i
donde «j ;= (0,...,0,G^ ,0,.,.,0) para 1 = 0,...,4; / = l;...,Afí?
(B„l*)^pr/(U0),(A7)-l(U1)),
Permitamos que w \fl e M s.t. Gi = 7tG\, 0?^ = jt ^= /íGi f
entonces
A
®i -= C^í,l»11 - ■* •1, 2^+2 í ,2 n,+2+ut-\-w, +1 > ■ - f1,2n¡ +2+u¡ +w, +r,) '>
^¡r,2/i¿ +2+^ +1 )> > ^Zrt, +2+u,+w,)>
ask^ := Xt> apk¿ ;= (paramv 3, ,f devolver (askf,apk¿).
[Fórmula 208]
imagen86
imagen87
[Fórmula 209]
Sig(gparam, {apk,, uskg[dj(í^f) :=(gid, (t, }/=i1,2} = (M > p))
s¡ $ (Ai, P) acepta T := {(í, x¡) e usk^^ >}, entonces calcular / y {or;}/e/ de manera que "l := donde Af¡ es la fila de orden I de M,
e / c {:' e L}| O(i) = (r, vf) A (f,*r) e F A ■ xt - 0]
v [p(0 = -<t, ?í) A (í3*¿ ) s r Avri^0]};
(fium ^L-{(A3-J/rx)|Zf=iW = 6},
:= n ■ (¿í^i + (l-i] )<2) + Z!=i >V)(í)
+1 i <*) + & ((M%,+l) ■+ üa (m> S)(^+2))
+ r*, para \/£í£L,
dcmde SPan^2^+2+af+í^".¿Í2Hi+2+uf+v)rr ),
y y i, Vi y'i -./,>,)«**«" ™»
s¡é€/a/Kí) = (ííví)i r,:"Oíí,
/í |^r V1 = 0 A yu = $} t y'¡ {y'j | y V < v/ = 0 a y } ,
si í eJ ApiO^^faVj), yf:=-^3
ví xt
u
^^P¡}tr¡<r^—{yti\y'iyi=J3'i},
imagen88
5 [Fórmula 210]
imagen89
Desde el punto de vista de la prueba de seguridad, en las realizaciones anteriores, p(i) para cada número entero i = 1, ..., L puede estar limitado a una tupla positiva (t, v^¡) o una tupla negativa -(t, v^¡) para información de 5 identificación t diferente.
En otras palabras, cuando p(i) = (t, v^¡) o p(i) = -(t, v^¡), permitamos que una función p~ sea un mapa de {1, ..., L} ^
{1, ..., d} con el cual se establece p~(i) = t. En este caso, p~ puede estar limitado a inyección. Obsérvese que p(i) es
p(i) en la estructura de acceso S := (M, p(i)) descrita anteriormente.
En la descripción anterior, el programa de extensión MA acepta la secuencia de entrada 8 si y sólo si la combinación 10 lineal de las filas de la matriz M5 obtenida a partir de la matriz a por la secuencia de entrada 8 da 1^. Alternativamente, el programa de extensión MA puede aceptar la secuencia de entrada 8 si y sólo si se obtiene otro vector h^ en lugar de 1^.
En este caso, en el algoritmo KeyGen, so := h^ ■ f^T se puede establecer en lugar de so := 1^ ■ f^T
Se describirá la configuración de hardware del sistema de procesamiento de firmas 10 (el dispositivo de generación
15 de claves 100, el dispositivo de firmas 200 y el dispositivo de verificación 300) en las realizaciones anteriores.
5
10
15
20
25
30
35
40
45
50
55
La Fig. 23 es un diagrama que muestra un ejemplo de la configuración de hardware de cada uno del dispositivo de generación de claves 100, el dispositivo de firmas 200 y el dispositivo 300 de verificación.
Como se muestra en la Fig. 23, cada uno del dispositivo de generación de claves 100, dispositivo de firmas 200 y dispositivo de verificación 300 incluye la CPU 911 (también conocida como Unidad Central de Procesamiento, dispositivo de procesamiento central, dispositivo de procesamiento, dispositivo de cálculo, microprocesador, microordenador o procesador) que ejecuta programas. La CPU 911 está conectada a la ROM 913, la RAM 914, un LCD 901 (Visualizador de Cristal Líquido), un teclado 902 (K/B), la placa de comunicación 915 y el dispositivo de disco magnético 920 a través de un bus 912, y controla estos dispositivos de hardware. En lugar del dispositivo de disco magnético 920 (dispositivo de disco fijo), se puede emplear un dispositivo de almacenamiento tal como un dispositivo de disco óptico o dispositivo de lectura/escritura de tarjeta de memoria. El dispositivo de disco magnético 920 está conectado a través de una interfaz predefinida de disco fijo.
La ROM 913 y el dispositivo de disco magnético 920 son ejemplos de una memoria no volátil. La RAM 914 es un ejemplo de una memoria volátil. La ROM 913, la RAM 914 y el dispositivo de disco magnético 920 son ejemplos del dispositivo de almacenamiento (memoria). El teclado 902 y la placa de comunicación 915 son ejemplos de un dispositivo de entrada. La placa de comunicación 915 es un ejemplo de un dispositivo de comunicación. Además, el LCD 901 es un ejemplo de un dispositivo de visualización.
El dispositivo de disco magnético 920, la ROM 913 o similar almacena un sistema operativo 921 (OS), un sistema de ventanas 922, programas 923 y archivos 924. La CPU 911, el sistema operativo 921 y el sistema de ventanas 922 ejecutan cada programa de los programas 923.
Los programas 923 almacenan software y programas que ejecutan las funciones descritas como la “parte de generación de clave maestra 110”, la “parte de almacenamiento de clave maestra 120”, la “parte de entrada de información 130”, la “parte de generación de clave de firma 140”, la “parte de distribución de clave 150”, la “parte de adquisición de clave de firma 210”, la “parte de entrada de información 220”, la “parte de cálculo de programa de extensión 230”, la “parte de cálculo de coeficiente complementario 240”, la “parte de generación de datos de firma 250”, la “parte de transmisión de datos de firma 260”, la “parte de adquisición de parámetros públicos 310”, la “parte de recepción de datos 320”, la “parte de generación de clave de verificación 330”, la “parte de operación de emparejamiento 340”, y similares en la descripción anterior. Los programas 923 almacenan otros programas también. Los programas se leen y se ejecutan por la CPU 911.
Los archivos 924 almacenan información, datos, valores de señal, valores de variables y parámetros tales como el “parámetro público”, la “clave maestra”, los “datos de firma a”, la “clave de firma”, la “estructura de acceso S”, la “información de atributos”, el “conjunto de atributos P, el “mensaje m” y similares de la explicación anterior, como los elementos de un “archivo” y una “base de datos”. El “archivo” y la “base de datos” se almacenan en un medio de grabación tal como un disco o memoria. La información, los datos, los valores de señal, los valores de variables y los parámetros almacenados en el medio de grabación tal como el disco o la memoria se leen de la memoria principal o la memoria caché por la CPU 911 a través de un circuito de lectura/escritura, y se usan para las operaciones de la CPU 911 tales como extracción, examen, búsqueda, comparación, computación, cálculo, proceso, salida, impresión y visualización. La información, los datos, los valores de señal, los valores de variables y los parámetros se almacenan temporalmente en la memoria principal, la memoria caché o el almacenador temporal durante las operaciones de la CPU 1911, que incluyen extracción, examen, búsqueda, comparación, computación, cálculo, proceso , salida, impresión y visualización.
Las flechas de los diagramas de flujo en la explicación anterior indican principalmente la entrada/salida de datos y señales. Los datos y los valores de señal se almacenan en la memoria de la RAM 914, el medio de grabación, tal como un disco óptico, o en un chip de IC. Los datos y las señales se transmiten en línea a través de un medio de transmisión tal como el bus 912, líneas de señal o cables; u ondas eléctricas
La “parte” en la explicación anterior puede ser un “circuito”, “dispositivo”, “equipo”, “medio” o “función”; o un “paso”, “procedimiento” o “proceso”. El “dispositivo” puede ser un “circuito”, “equipo”, “medio” o “función”; o un “paso”, “procedimiento” o “proceso”. El “proceso” puede ser un “paso”. Esto es, la “parte” se puede implementar como microprograma almacenado en la ROM 913. Alternativamente, la “parte” se puede poner en práctica solamente como software, solamente como hardware tal como un elemento, un dispositivo, un sustrato, o una línea de cableado; como una combinación de software y hardware; o además como una combinación de software, hardware y microprograma. El microprograma y el software se almacenan, como programas, en el medio de grabación tal como la ROM 913. El programa se lee por la CPU 911 y se ejecuta por la CPU 911. Esto es, el programa hace que el ordenador funcione como una “parte” descrita anteriormente. Alternativamente, el programa hace que el ordenador o similar ejecute el procedimiento y el método de la “parte” descrita anteriormente.
Lista de signos de referencia
10: sistema de procesamiento de firmas; 100: dispositivo de generación de claves; 110: parte de generación de clave maestra; 111: parte de generación de parámetro global; 112: parte de generación de clave secreta de autoridad; 120: parte de almacenamiento de clave maestra; 130: parte de entrada de información; 140: parte de
generación de clave de firma; 141: parte de generación de número aleatorio; 142: parte de generación del elemento de clave 0; 143: parte de generación del elemento de clave t; 144: parte de generación del elemento de clave d+1; 145: parte de generación de elemento de clave; 150: parte de distribución de clave; 200: dispositivo de firmas; 210: parte de adquisición de clave de firma; 220: parte de entrada de información; 221: parte de entrada de información 5 de predicado; 222: parte de entrada de mensaje; 230: parte de cálculo del programa de extensión; 240: parte de cálculo de coeficiente complementario; 250: parte de generación de datos de firma; 251: parte de generación de número aleatorio; 252: parte de generación del elemento de firma 0; 253: parte de generación del elemento de firma i; 254: parte de generación del elemento de firma L+1; 255: parte de generación de elemento de firma; 260: parte de transmisión de datos de firma; 300: dispositivo de verificación; 310: parte de adquisición de parámetro público; 320: 10 parte de recepción de datos; 330: parte de generación de clave de verificación; 331: parte de generación de número aleatorio; 332: parte de generación de vector f; 333: parte de generación de vector s; 334: parte de generación del elemento de verificación 0; 335: parte de generación del elemento de verificación i; 336: parte de generación del elemento de verificación L+1; 337: parte de generación de elemento de verificación; 340: parte de operación de emparejamiento.
15

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un sistema de procesamiento de firmas (10) que comprende un dispositivo de generación de claves (100), un dispositivo de firmas (200) y un dispositivo de verificación (300), y que sirve para ejecutar un proceso de firma usando una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d es un número entero de 1 o más),
    en donde el dispositivo de generación de claves incluye
    una primera parte de entrada de información (130) que toma como entrada un conjunto de atributos r que incluye información de identificación t e información de atributo x^t := (xt,i) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d,
    una parte de generación del elemento de clave 0 (142) que genera un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0,
    una parte de generación del elemento de clave t (143) que genera un elemento de clave k* donde 8xt,¡ (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base b*t,i (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r introducido por la primera parte de entrada de información,
    una parte de generación del elemento de clave d+1 (144) que genera un elemento de clave k*d+1,1 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y un elemento de clave k*d+1,2 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1, y
    una parte de transmisión de clave de firma (150) que transmite, al dispositivo de firma, una clave de firma skr que incluye: el elemento de clave k*0 generado por la parte de generación del elemento de clave 0; el elemento de clave k*t generado por la parte de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos r; el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se generan por la parte de generación del elemento de clave d+1; y el conjunto de atributos r,
    en donde el dispositivo de firmas incluye
    una segunda parte de entrada de información (220) que toma como entrada una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡, i ) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m,
    una parte de adquisición de clave de firma (210) que adquiere la clave de firma skr transmitida por la parte de transmisión de clave de firma,
    una parte de cálculo de coeficiente complementario (240) que, en base a la variable p(i) introducida por la segunda parte de entrada de información y el conjunto de atributos r incluido en la clave de firma skr adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i = 1, ..., L, un conjunto I de un número entero i para el cual la variable p(i) es una tupla positiva (t, v^¡) y con el cual un producto interno de v^i de la tupla positiva y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(i) es una tupla negativa -(t, v^¡) y con el cual un producto interno de v^¡ de la tupla negativa y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla negativa no llega a ser 0; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector h^ predeterminado,
    una parte de generación del elemento de firma 0 (252) que genera un elemento de firma s*0 que incluye el elemento de clave k*0 incluido en la clave de firma skr,
    una parte de generación del elemento de firma i (253) que genera, para cada número entero i = 1 ..., L, un elemento de firma s*¡ que incluye Y¡k*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skr por un valor y¡, estableciendo el valor y¡ para satisfacer y¡ := a¡ cuando el número entero i se incluye en el conjunto I especificado por la parte de cálculo de coeficiente complementario y la variable p(¡) es una tupla positiva (t, v^¡); estableciendo el valor y¡ para satisfacer y¡ := a¡/(v^¡ ■ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I,
    una parte de generación del elemento de firma L+1 (254) que genera un elemento de firma s\+1 que incluye una suma del elemento de clave k*d+1,1 incluido en la clave de firma skr y m'k*d+1,2 obtenido multiplicando el elemento de clave k*d+1,2 por un valor m' generado usando el mensaje m, y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    una parte de transmisión de datos de firma (260) que transmite, al dispositivo de verificación, datos de firma a que incluyen: el elemento de firma s*o generado por la parte de generación del elemento de firma 0; el elemento de firma s*¡ generado para cada número entero i = 1, ..., L por la parte de generación del elemento de firma i; el elemento de firma s*l+i generado por la parte de generación del elemento de firma L+1; el mensaje m; la variable p(i); y la matriz M, y
    en donde el dispositivo de verificación incluye
    una parte de adquisición de datos (320) que adquiere los datos de firma a transmitidos por la parte de transmisión de datos de firma,
    una parte de generación del elemento de verificación 0 (334) que genera un elemento de verificación co estableciendo, como coeficiente para un vector base b0,i de una base B0, -S0-sl+i calculado a partir de un valor S0 := h^ • f^ y un valor predeterminado sl+i, el valor S0 := h^ • f^ que se genera usando un vector f^ que tiene r partes de elementos, y el vector h^,
    una parte de generación del elemento de verificación i (335) que, para cada número entero i = 1, ..., L y usando un vector de columna s^t := (S1, ..., sl)t := M • f^T generado en base al vector f^ y la matriz M que se incluye en los datos de firma a adquiridos por la parte de adquisición de datos, y un número predeterminado 0i para cada número entero i = 1, ..., L, genera un elemento de verificación ci, cuando la variable p(i) es una tupla positiva (t, v^¡), estableciendo s¡+0¡v¡,1 como coeficiente para un vector base bt,1 de la base Bt indicado por la información de identificación t de la tupla positiva y estableciendo 0¡v¡,¡' (i' = 2, ..., nt) como coeficiente para un vector base bt,¡' (i' = 2, ..., nt), y genera un elemento de verificación c¡, cuando la variable p(i) es una tupla negativa -(t, v^¡) estableciendo s¡v¡,¡' (¡' = 1, ..., nt) como coeficiente para el vector base bt,¡' (¡' = 1, ..., nt) indicado por la información de identificación t de la tupla negativa,
    una parte de generación del elemento de verificación L+1 (336) que genera un elemento de verificación cl+1 estableciendo SL+1-0L+1m' calculado a partir del valor predeterminado sl+1, el valor m', y un valor predeterminado 0l+1 como coeficiente para un vector base bd+1,1 de una base Bd+1, y estableciendo el valor predeterminado 0l+1 como coeficiente para un vector base bd+1,2, y
    una parte de operación de emparejamiento (340) que verifica la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento n¡=0L+1e(c¡, s*¡) para el elemento de verificación c0 generado por la parte de generación del elemento de verificación 0, el elemento de verificación c¡ generado por la parte de generación del elemento de verificación i, el elemento de verificación cl+1 generado por la parte de generación del elemento de verificación L+1, y los elementos de firma s*0, s*¡ y s*l+1 incluidos en los datos de firma a.
  2. 2. El sistema de procesamiento de firmas según la reivindicación 1, que ejecuta el proceso de firma usando
    una base B0 que tiene al menos el vector base bt,¡ (i = 1, ..., 1+u0, ..., 1+u0+W0, ..., 1+u0+W0+Z0),
    la base Bt (t = 1, ..., d) que tiene al menos el vector base bt,¡ (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt)
    (ut, wt y zt son cada uno un número entero de 1 o más),
    la base Bd+1 que tiene al menos el vector base bt,¡ (i = 1, 2, ..., 2+ud+1, ..., 2+ud+1+Wd+1, ..., 2+ud+1+Wd+1+zd+1), la base B*0 que tiene al menos el vector base b*t,¡ (i = 1, ..., 1+u0, ..., 1+u0+W0, ..., 1+u0+W0+z0),
    la base B* (t = 1, ..., d) que tiene al menos el vector base b*t,¡ (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt) (ut, wt y zt son cada uno un número entero de 1 o más), y
    la base B*d+1 que tiene al menos el vector base b*t,¡ (i = 1,2, ..., 2+ud+1, ..., 2+ud+1+wd+1, ..., 2+ud+1+wd+1+zd+1), en donde, en el dispositivo de generación de claves,
    la parte de generación del elemento de clave 0 genera el elemento de clave k*0 indicado en la Fórmula 1 en base a un número aleatorio 8 y un número aleatorio 00,¡ (i = 1, ..., w0),
    la parte de generación del elemento de clave t genera el elemento de clave k*¡ indicado en la Fórmula 2 para cada información de identificación t incluida en el conjunto de atributos r en base al número aleatorio 8 y un número aleatorio 0¡,¡ (i = 1, ..., wt), y
    la parte de generación del elemento de clave d+1 genera el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se indican en la Fórmula 3 en base al número aleatorio 8, un número aleatorio Od+1,1,,¡ (i = 1, ..., wd+1), y un número aleatorio Od+1,2,,¡ (i = 1, ..., wd+1),
    en donde, en el dispositivo de firma,
    10
    15
    20
    la parte de generación del elemento de firma 0 genera el elemento de firma s*o indicado en la Fórmula 4 en base a un número aleatorio ^,
    la parte de generación del elemento de firma i genera el elemento de firma s*¡ indicado en la Fórmula 5 para cada número entero i = 1, ..., L en base a un número aleatorio ^, y
    la parte de generación del elemento de firma L+1 genera el elemento de firma s*l+i indicado en la Fórmula 6 en base al número aleatorio ^ y el valor m', y
    en donde, en el dispositivo de verificación,
    la parte de generación del elemento de verificación 0 genera el elemento de verificación co indicado en la Fórmula 7 en base al valor S0, el número aleatorio sl+i, y un número aleatorio r|0,i (i = 1, ..., Z0),
    la parte de generación del elemento de verificación i genera el elemento de verificación c¡ indicado en la Fórmula 8 para cada número entero i = 1, ..., L en base al vector de columna s^t, el número aleatorio 0i, y un número aleatorio h¡,¡' (i = 1, ..., L; i' = 1, ..., zt), y
    la parte de generación del elemento de verificación L+1 genera el elemento cl+i indicado en la Fórmula 9 en base al número aleatorio sl+1, el número aleatorio 0l+1, un número aleatorio hl+i,¡' (i' = 1, ..., Zd+1), y el valor m'.
    [Fórmula 1]
    imagen1
    [Fórmula 2]
    imagen2
    imagen3
    o2- )b;
    [Fórmula 3]
    imagen4
    [Fórmula 4]
    imagen5
    [Fórmula 5]
    ■v -K ■ V.!’ 1 v¡.t y, ';*para \a<L.
    donde
    pan^
    ‘ i+J’mO tl+7$‘tttíl+70 - l+7í) =: l+7J
    [i p
    n
    [6 einuuoj]
    a( ^ t l ^ ,u‘v---‘i7i) -s) =: h
    ^ „—* l-
    W ln
    'u
    ‘<V;i)- = (/>¿ \s
    <J®( " V "*1 7í ‘ vO ‘ ;nO * ÍM<W^í"í^V^íl<W^+ -s)~; b
    'M ‘n 'w
    t(;A*í) = (;y e
    [8 BinLUJOj]
    ®( r‘0u c oMo 1 üttQ ‘l+7A’- ®í-) =:0 o
    Om °n
    [/ einujjoj]
    / [^iH+^fí+ri+^t...(I+i^fl+^I+ÍJ(?\UBds-----------> 1+7/ apuop
    ^ ^ ^ J |” ^
    M+J/ + (ri+^.|W+l‘í+^)J=: 1+7*
    [g Biniujoj]
    {o=Ws^3
    *f-y=,á-,í|íí)-7¡-<’!í!
    (V......*eT)J——> (V)
    ‘0 =: ‘( 7)- = (;)tf v / ^; is
    *{'£/ = vq= 'íi. '/f| if}——> ‘o =; U ‘(íitV)- (i)tf v/?; e
    ‘{■y=,4-'í|,í}-ñ-^!í
    ír ■ -'4
    — =: *7 '( it *;)— = (/)</ v / 3 ; is
    a?
    * {^ = fifí-vo = ■4*^j---------►-if 4=4 U ‘{'47) = (1 )dv/b i
    is
    OUJOO
    auippas {
    5
    10
    15
    20
    25
    30
    35
    40
    45
    wd+1 zd+1
    r—----A-------S/-----------------A----------------^
    0^‘, í7£+y-..>7£+U((tJ)B<,tl
  3. 3. El sistema de procesamiento de firmas según la reivindicación 1 o 2,
    en donde, en el dispositivo de firma,
    la parte de generación del elemento de firma L+1 genera el elemento de firma s\+1 usando un valor de comprobación aleatoria obtenido a la introducción del mensaje m, la matriz M y la variable p(i) para cada número entero i = 1, ..., L, como el valor m', y
    en donde, en el dispositivo de verificación,
    la parte de generación del elemento de verificación L+1 genera el elemento de verificación cl+1 usando el valor de comprobación aleatoria como el valor m'.
  4. 4. Un dispositivo de generación de claves (100) que genera una clave de firma skr, en un sistema de procesamiento de firmas (10) que ejecuta un proceso de firma usando una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d es un número entero de 1 o más), el dispositivo de generación de claves que comprende:
    una primera parte de entrada de información (130) que toma como entrada un conjunto de atributos r que incluye información de identificación t e información de atributo x^t := (xt,¡) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d;
    una parte de generación del elemento de clave 0 (142) que genera un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0;
    una parte de generación del elemento de clave t (143) que genera un elemento de clave k* donde 8xt,¡ (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base b*t,i (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r introducido por la primera parte de entrada de información;
    una parte de generación del elemento de clave d+1 (144) que genera un elemento de clave k*d+1,1 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y un elemento de clave k*d+1,2 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1, y
    una parte de transmisión de clave de firma (150) que transmite, a un dispositivo de firma (200), la clave de firma skr que incluye: el elemento de clave k*0 generado por la parte de generación del elemento de clave 0; el elemento de clave k* generado por la parte de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos r; el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se generan por la parte de generación de elemento de clave d+1; y el conjunto de atributos r,
  5. 5. Un dispositivo de firmas (100) que genera datos de firma a, en un sistema de procesamiento de firmas que ejecuta un proceso de firma usando una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d es un número entero de 1 o más), el dispositivo de firmas que comprende:
    una parte de adquisición de clave de firma (210) que adquiere la clave de firma skr,
    un conjunto de atributos r que incluye información de identificación t e información de atributos x^t := (xt,i) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d,
    un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de base B*0,
    un elemento de clave k* donde 8xt,¡ (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base b*t,¡ (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r,
    un elemento de clave k*d+1,1 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y
    un elemento de clave k*d+1,2 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1;
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    una segunda parte de entrada de información (220) que toma como entrada una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡, i ) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m;
    una parte de cálculo de coeficiente complementario (240) que, en base a la variable p(i) introducida por la segunda parte de entrada de información y el conjunto de atributos r incluido en la clave de firma skr adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i = 1, ..., L, un conjunto I de un número entero i para el cual la variable p(i) es una tupla positiva (t, v^¡) y con el cual un producto interno de v^¡ de la tupla positiva y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(i) es una tupla negativa -(t, v^¡) y con el cual un producto interno de v^¡ de la tupla negativa y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla negativa no llega a ser 0; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector h^ predeterminado,
    una parte de generación del elemento de firma 0 (252) que genera un elemento de firma s*0 que incluye el elemento de clave k*0 incluido en la clave de firma skr;
    una parte de generación del elemento de firma i (253) que genera, para cada número entero i = 1 ..., L, un elemento de firma s*¡ que incluye Y¡k*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skr por un valor y¡, estableciendo el valor y¡ para satisfacer y¡ := a¡ cuando el número entero i se incluye en el conjunto I especificado por la parte de cálculo de coeficiente complementario y la variable p(i) es una tupla positiva (t, v^i); estableciendo el valor y¡ para satisfacer y¡ := a¡/(v^¡ ■ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(i) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I;
    una parte de generación del elemento de firma L+1 (254) que genera un elemento de firma s\+1 que incluye una suma del elemento de clave k*d+1,1 incluido en la clave de firma skr y m'k*d+1,2 obtenido multiplicando el elemento de clave k*d+1,2 por un valor m' generado usando el mensaje m, y
    una parte de transmisión de datos de firma (260) que transmite, a un dispositivo de verificación, los datos de firma a que incluyen: el elemento de firma s*0 generado por la parte de generación del elemento de firma 0; el elemento de firma s*¡ generado para cada número entero i = 1, ..., L por la parte de generación del elemento de firma i; el elemento de firma s\+1 generado por la parte de generación del elemento de firma L+1; el mensaje m; la variable p(i); y la matriz M.
  6. 6. Un dispositivo de verificación (300) que verifica los datos de firma a, en un sistema de procesamiento de firmas
    (10) que ejecuta un proceso de firma usando una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d
    es un número entero de 1 o más), el dispositivo de verificación que comprende:
    una parte de adquisición de datos (320) que adquiere los datos de firma a que incluyen: un elemento de firma s*0; un elemento de firma s*¡ para cada número entero i = 1, ..., L; un elemento de firma s*_+-i; un mensaje m; una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t =1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt) y una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más);
    una parte de generación del elemento de verificación 0 (334) que genera un elemento de verificación c0 estableciendo, como coeficiente para un vector base bü,1 de una base B0, -s0-sl+1 calculado a partir de un valor s0 := h^ ■ f^ y un valor predeterminado sl+1, el valor s0 := h^ ■ f^ que se genera usando un vector f^ que tiene r partes de elementos, y un vector h^ que tiene r partes de elementos;
    una parte de generación del elemento de verificación i (335) que, para cada número entero i = 1, ..., L y usando un vector de columna s^T := (s1, ..., sl)t := M ■ f^T generado en base al vector f^ y la matriz M que se incluye en los datos de firma a adquiridos por la parte de adquisición de datos, y un número predeterminado 0¡ para cada número entero i = 1, ..., L, genera un elemento de verificación c¡, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo s¡+0¡v¡,1 como coeficiente para un vector base bt,1 de la base Bt indicado por la información de identificación t de la tupla positiva y estableciendo 0¡v¡,¡' (i' = 2, ..., nt) como coeficiente para un vector base bt,¡' (i' = 2, ..., nt), y genera un elemento de verificación c¡, cuando la variable p(i) es una tupla negativa -(t, v^¡) estableciendo s¡v¡,¡' (i' = 1, ..., nt) como coeficiente para el vector base bt,¡' (i' = 1, ..., nt) indicado por la información de identificación t de la tupla negativa,
    una parte de generación del elemento de verificación L+1 (336) que genera un elemento de verificación cl+1 estableciendo sL+1-0L+1m' calculado a partir del valor predeterminado sl+1, un valor m' calculado a partir del
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    mensaje m, y un valor predeterminado 0l+i como coeficiente para un vector base bd+1,1 de una base Bd+i, y estableciendo el valor predeterminado 0l+1 como coeficiente para un vector base bd+1,2, y
    una parte de operación de emparejamiento (340) que verifica la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento ni=oL+1e(ci, s*i) para el elemento de verificación co generado por la parte de generación del elemento de verificación 0, el elemento de verificación c¡ generado por la parte de generación del elemento de verificación i, el elemento de verificación cl+1 generado por la parte de generación del elemento de verificación L+1, y los elementos de firma s*o, s*¡ y s\+1 incluidos en los datos de firma a.
  7. 7. Un sistema de procesamiento de firmas (10) que comprende d (d es un número entero de 1 o más) unidades de dispositivos de generación de claves (100), un dispositivo de firmas (200) y un dispositivo de verificación (300), y que sirve para ejecutar un proceso de firma usando una base Bt y una base B*t para al menos número entero t = 0, ..., d,
    en donde cada una de las d unidades de dispositivos de generación de claves incluye
    una primera parte de entrada de información (130) que toma como entrada información de atributo x^t := (xt,i) (i = 1, ..., nt donde nt es un número entero de 1 o más) para un número entero t entre los números enteros t = 1, ..., d, que se predetermina para cada uno de los dispositivos de generación de claves,
    una parte de generación de elemento de clave (145) que, para el número entero t y cada número entero j = 1, 2 genera un elemento de clave k*t,j incluyendo un vector indicado por la Fórmula 10 en base a una información de atributo x^t introducida por la primera parte de entrada de información, un valor 8 predeterminadoj, y un vector base b*t,i (i = 1, ..., 2nt) de la base B*t, y
    una parte de transmisión de clave de firma (150) que transmite, al dispositivo de firma, una clave de firma usk que incluye: el elemento de clave k*tj generado por la parte de generación de elemento de clave; y la información de atributo x^t.
    en donde el dispositivo de firmas incluye
    una segunda parte de entrada de información (220) que toma como entrada una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡, i ) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m,
    una parte de adquisición de clave de firma (210) que adquiere la clave de firma usk transmitida por la parte de transmisión de clave de firma de al menos un dispositivo de generación de claves entre las d unidades de dispositivos de generación de claves,
    una parte de cálculo de coeficiente complementario (240) que, en base a la variable p(i) introducida por la segunda parte de entrada de información y la información de atributo x^¡ incluida en la clave de firma usk adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i = 1, ..., L, un conjunto I de un número entero i para el cual la variable p(i) es una tupla positiva (t, v^¡), la clave de firma usk que incluye x^t indicado por la información de identificación t de la tupla positiva siendo adquirida por la parte de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla positiva y la información de atributo x^t indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡), la clave de firma usk que incluye x^t indicada por la información de identificación t de la tupla negativa siendo adquirida por la parte de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla negativa y la información de atributo x^t indicada por la información de identificación t de la tupla negativa no llega a ser 0; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector h^ predeterminado,
    una parte de generación de elemento de firma (255) que genera, para cada número entero i = 1, ..., L, un elemento de firma s*¡ que incluye un vector indicado en la Fórmula 11 usando el vector base b*t,¡ (i = 2nt+1, 2nt+2) de la base B*t, en base a un elemento de clave k*t,1 y un elemento de clave k*t,2 incluidos en la clave de firma usk, los valores predeterminados £1, E y p, y un valor m' calculado a partir del mensaje m, estableciendo un valor Y¡ para satisfacer y¡ := a¡ cuando el número entero i está incluido en el conjunto I especificado por la parte de cálculo de coeficiente complementario y la variable p(¡) es una tupla positiva (t, v^¡); estableciendo el valor y¡ para satisfacer y¡ := a¡/(v¡ xt) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I, y
    una parte de transmisión de datos de firma (260) que transmite, al dispositivo de verificación, los datos de firma a que incluyen: el elemento de firma s*¡ generado para cada número entero i = 1, ..., L por la parte de generación de elemento de firma; el mensaje m; la variable p(¡); y la matriz M, y
    10
    15
    20
    25
    30
    35
    en donde el dispositivo de verificación incluye
    una parte de adquisición de datos (320) que adquiere los datos de firma a transmitidos por la parte de transmisión de datos de firma,
    una parte de generación de vector (332, 333) que genera un vector de columna s^T := (s-i, ..., sl)t := Mf^T en base a un vector f^ que tiene r partes de elementos y la matriz M incluida en los datos de firma a adquiridos por la parte de adquisición de datos, y genera un vector de columna (s^’)T := (s-T, ..., sl')t := M(f^’)T en base a la matriz M y a un vector f^’ que tiene r partes de elementos y que satisface s0 = h^ (f^’)T donde s0 = h^f^T,
    una parte de generación de elemento de verificación (337) que, para cada número entero i = 1, ..., L y en base al vector de columna s^T y al vector de columna (s^’)T que se generan por la parte de generación de vector, y los valores predeterminados 0i, 0i’, 0”, y ai para cada número entero i = 1, ..., L, genera un elemento de verificación ci que incluye un vector indicado en la Fórmula 12, cuando la variable p(i) es una tupla positiva (t, v^¡), usando un vector base bt,i’ (i’ = 1, ..., 2nt+2) de la base Bt indicada por la información de identificación t de la tupla positiva, y genera un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 13, cuando la variable p(i) es una tupla negativa -(t, v^¡), usando un vector base bt,i (i = 1, ..., 2nt+2) indicado por la información de identificación t de la tupla negativa, y
    una parte de operación de emparejamiento (340) que verifica una autenticidad de los datos de firma a dirigiendo una operación de emparejamiento ni=1 Le(c¡, s*¡) para el elemento de verificación c¡ generado por la parte de generación de elemento de verificación, y el elemento de firma s*¡ incluido en los datos de firma a.
    [Fórmula 10]
    <(£/ + a, *-*>,*, j A-*.0)^*
    [Fórmula 11]
    imagen6
    [Fórmula 12]
    imagen7
    [Fórmula 13]
    imagen8
  8. 8. El sistema de procesamiento de firmas según la reivindicación 7, que ejecuta el proceso de firma usando, para al menos un número entero t = 1, ..., d, la base Bt que tiene al menos el vector base bt,¡ (i = 1, ..., 2nt+2 ..., 2nt+2+ut, ..., 2nt+2+ut+Wt, ..., 2nt+2+ut+Wt+Zt) (donde ut, wt y zt son cada uno un número entero de 1 o más), y la base B* que tiene al menos el vector base b*t,i (i = 1, ., 2nt+2 ., 2nt+2+ut, ., 2nt+2+ut+wt, ., 2nt+2+ut+wt+zt),
    en donde, en el dispositivo de generación de claves,
    el elemento de clave k*t,j indicado en la Fórmula 14 se genera para el número entero t y cada número entero j = 1, 2 en base a la información de atributo x^t, los valores predeterminados 8 y A, y un número aleatorio Otj,¡ (j = 1, 2; i = 1, ..., wt),
    en donde, en el dispositivo de firma,
    la parte de generación de elemento de firma genera, para cada número entero i = 1 ..., L, el elemento de firma s*¡ indicado en la Fórmula 16 usando r*i, Yi, y^¡ := (y¡,¡) (i = 1, ..., nt), e y'^¡ := (y'¡,¡) (i = 1, ..., nt) indicado en la Fórmula 15, en base al elemento de clave k*t,1 y al elemento de clave k*t,2, los números aleatorios y los valores predeterminados E, n, n', y p, y el valor m', y
    en donde, en el dispositivo de verificación,
    la parte de generación de elemento de verificación, para cada número entero i = 1, ..., L y en base al vector de columna s^T y el vector de columna (s^’)T, los números aleatorios 0¡, 0¡' y 0”, el valor predeterminado o¡, y un
    número aleatorio n¡,i’ (i = 1, ..., L; i' = 1, ..., zt), genera el elemento de verificación c¡ indicado en la Fórmula 17
    cuando la variable p(¡) es una tupla positiva (t, v^¡), y genera el elemento de verificación c¡ indicado en la Fórmula 18 cuando la variable p(¡) es una tupla negativa -(t, v^¡).
    [Fórmula 14]
    imagen9
    [Fórmula 15]
    ri * Sp3n^;2/i,+2+wí+l>**->^i,52rt,+2+uf+vt’f)
    si i e / a p(i) = (í, v( ), r¡ := «/,
    y i <^—{yi | h ■ n = o a y0 = Pi},
    y'i+^-{y'i\y'i-Vi = 0Ay\i
    a.
    Si í E / A p(i) = Vj )s Yi :=
    v¡-xt
    SI i£} ap(i) = (i,v¿), r¡ := 0,
    =0ajv, i =A>»
    r¡<ry-m\9'r*i=o*?v=0'ih
    si J g / A p(i) = Vj), y i := 0,
    (j'ilíi-vf =&},
    y¡<^—{y'¡\y'¡Vi=P'i).
    U
    Z j=iA«¡=6}
    5
    10
    15
    20
    25
    [Fórmula 16]
    imagen10
    [Fórmula 17]
    imagen11
    [Fórmula 18]
    imagen12
  9. 9. El sistema de procesamiento de firmas según la reivindicación 7 u 8, en donde, en el dispositivo de firma,
    la parte de generación de elemento de firma genera el elemento de firma s* usando un valor de comprobación aleatoria obtenido tras la introducción del mensaje m, la matriz M y la variable p(i) para cada número entero i = 1, ..., L, como el valor m', y
    en donde, en el dispositivo de verificación,
    la parte de generación de elemento de verificación genera el elemento de verificación c¡ usando el valor de comprobación aleatoria como el valor m'.
  10. 10. Un dispositivo de generación de claves (100) que genera una clave de firma usk, en un sistema de procesamiento de firmas (10) que ejecuta un proceso de firma usando una base Bt y una base B*t para al menos número entero t = 1, ..., d, el dispositivo de generación de claves que comprende:
    una primera parte de entrada de información (130) que toma como entrada la información de atributo x^t := (xt,¡) (i = 1, ..., nt) para un número entero t predeterminado entre los números enteros t = 1, ..., d;
    una parte de generación de elemento de clave (145) que, para el número entero t y cada número entero j = 1, 2, genera un elemento de clave k*tj que incluye un vector indicado en la Fórmula 19, en base a la información de atributo x^t introducida por la primera parte de entrada de información, un valor 8j predeterminado, y un vector base b*t,i (i = 1, ..., 2nt) de la base atributo B*; y
    una parte de transmisión de clave de firma (150) que transmite la clave de firma usk que incluye: el elemento de clave k*t,j generado por la parte de generación de elemento de clave; y la información de atributo x^t, a un dispositivo de firma (200).
    [Fórmula 19]
    5
    10
    15
    20
    25
    30
    35
    40
    45
    imagen13
  11. 11. Un dispositivo de firmas (200) que genera datos de firma o, en un sistema de procesamiento de firmas (10) que ejecuta un proceso de firma usando una base Bt y una base B*t para al menos número entero t = 1, ..., d, el dispositivo de firmas que comprende:
    una parte de adquisición de clave de firma (210) que, para al menos uno de los números enteros t de t = 1, ..., d, y cada número entero j = 1, 2 y en base a la información de atributo x^t := (xt,¡) (i = 1, ..., nt) un valor Sj predeterminado, y un vector base b*t,i (i = 1, ..., 2nt) de la base B*t, adquiere una clave de firma usk que incluye: un elemento de clave k*t,j generado para incluir un vector indicado en la Fórmula 20; y la información de atributo
    x^ti
    una segunda parte de entrada de información (220) que toma como entrada una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m;
    una parte de cálculo de coeficiente complementario (240) que, en base a la variable p(¡) introducida por la segunda parte de entrada de información y la información de atributo x^t incluida en la clave de firma usk adquirida por la parte de adquisición de clave de firma, especifica, entre los números enteros i = 1, ..., L, un conjunto I de un número entero i para el cual la variable p(¡) es una tupla positiva (t, v^¡), la clave de firma usk que incluye x^t indicado por la información de identificación t de la tupla positiva que se adquiere por la parte de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla positiva y la información de atributo x^t indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡), la clave de firma usk que incluye x^t indicada por la información de identificación t de la tupla negativa que se adquiere por la parte de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla negativa y la información de atributo x^t indicada por la información de identificación t de la tupla negativa no llega a ser 0; y v^¡ y x^t no son iguales; y calcula, concerniente a i incluido en el conjunto I especificado, un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida por la segunda parte de entrada de información llega a ser un vector h^ predeterminado;
    una parte de generación de elemento de firma (255) que genera, para cada número entero i = 1, ..., L, un elemento de firma s*¡ que incluye un vector indicado en la Fórmula 21 usando el vector base b*t,¡ (i = 2nt+1, 2nt+2) de la base B*t, en base a un elemento de clave k*t,1 y un elemento de clave k*t,2 incluidos en la clave de firma usk, los valores predeterminados £i, E y p, y un valor m' calculado a partir del mensaje m, estableciendo un valor Y¡ para satisfacer y¡ := a¡ cuando el número entero i está incluido en el conjunto I especificado por la parte de cálculo de coeficiente complementario y la variable p(¡) es una tupla positiva (t, v^¡), estableciendo el valor y¡ para satisfacer y¡ := a¡/(v^¡ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I; y
    una parte de transmisión de datos de firma (260) que transmite, a un dispositivo de verificación (300), los datos de firma o que incluyen: el elemento de firma s*¡ generado para cada número entero i = 1, ..., L por la parte de generación de elemento de firma; el mensaje m; la variable p(¡); y la matriz M.
    [Fórmula 20]
    imagen14
    [Fórmula 21]
    imagen15
  12. 12. Un dispositivo de verificación (300) que verifica los datos de firma o, en un sistema de procesamiento de firmas (10) que ejecuta un proceso de firma usando una base Bt y una base B* para al menos número entero t = 1, ..., d, el dispositivo de verificación que comprende:
    5
    10
    15
    20
    25
    30
    35
    40
    una parte de adquisición de datos (320) que adquiere los datos de firma a que incluyen: un elemento de firma s*¡ para cada número entero i = 1, ..., L; un mensaje m; una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^i) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt); y una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más);
    una parte de generación de vector (332, 333) que genera un vector de columna s^T := (s-i, ..., sl)t := Mf^T en base a un vector f^ que tiene r partes de elementos y la matriz M incluida en los datos de firma a adquiridos por la parte de adquisición de datos, y genera un vector de columna (s^’)T := (s-T, ..., sl')t := M(f^’)T en base a la matriz M y a un vector f^’ que tiene r partes de elementos y que satisface s0 = h^ (f^’)T donde s0 = h^ f^T;
    una parte de generación de elemento de verificación (337) que, para cada número entero i = 1, ..., L y en base al vector de columna s^T y al vector de columna (s^’)T que se generan por la parte de generación de vector, y los valores predeterminados 0¡, 0i’, 0”, y ai para cada número entero i = 1, ..., L, genera un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 22, cuando la variable p(i) es una tupla positiva (t, v^¡), usando un vector base bt,¡’ (¡’ = 1, ..., 2nt+2) de la base Bt indicada por la información de identificación t de la tupla positiva, y genera un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 23, cuando la variable p(¡) es una tupla negativa -(t, v^¡), usando un vector base bt,¡ (i = 1, ..., 2nt+2) indicado por la información de identificación t de la tupla negativa; y
    una parte de operación de emparejamiento (340) que verifica una autenticidad de los datos de firma a dirigiendo una operación de emparejamiento n¡=1Le(c¡, s*¡) para el elemento de verificación c¡ generado por la parte de generación de elemento de verificación, y el elemento de firma s*¡ incluido en los datos de firma a.
    [Fórmula 22]
    imagen16
    [Fórmula 23]
    imagen17
  13. 13. Un método de procesamiento de firmas de ejecución de un proceso de firma que usa una base Bt y una base B*t para cada número entero t = 0, ..., d+1, (d es un número entero de 1 o más), que comprende:
    un primer paso de entrada de información de, con un dispositivo de generación de claves (100), toma como entrada de un conjunto de atributos r que incluye la información de identificación t y la información de atributo x^t := (xt,¡) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d;
    un paso de generación del elemento de clave 0 de, con el dispositivo de generación de claves, generación de un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0;
    un paso de generación del elemento de clave t de, con el dispositivo de generación de claves, generación de un elemento de clave k* donde 8xt,¡ (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base bt,¡ (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r introducido en el primer paso de entrada de información;
    un paso de generación del elemento de clave d+1 de, con el dispositivo de generación de claves, generación de un elemento de clave k*d+1,1 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y un elemento de clave k*d+1,2 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1;
    un paso de transmisión de clave de firma de, con el dispositivo de generación de clave, transmisión, a un dispositivo de firmas (200), de una clave de firma skr que incluye: el elemento de clave k*0 generado en el paso
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    de generación del elemento de clave 0; el elemento de clave k*t generado en el paso de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos r; el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se generan en el paso de generación del elemento de clave d+1; y el conjunto de atributos r;
    un segundo paso de entrada de información de, con el dispositivo de firma, toma como entrada de una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1,. .., d) y la información de atributo v^¡ := (v¡,¡ ) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m;
    un paso de adquisición de clave de firma de, con el dispositivo de firma, adquisición de la clave de firma skr transmitida en el paso de transmisión de clave de firma;
    un paso de cálculo de coeficiente complementario de, con el dispositivo de firma, en base a la variable p(¡) introducida en el segundo paso de entrada de información y el conjunto de atributos r incluido en la clave de firma skr adquirida en el paso de adquisición de clave de firma, que especifica, entre los números enteros i = 1, ..., L, un conjunto I de un número entero i para el cual la variable p(¡) es una tupla positiva (t, v^¡) y con el cual un producto interno de v^¡ de la tupla positiva y x^t incluida en el conjunto de atributos r indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡) y con el cual un producto interno de v^¡ de la tupla negativa y x^t incluida en el conjunto de atributos r indicado por la información de identificación t de la tupla negativa no llega a ser 0; y de cálculo, concerniente a i incluido en el conjunto I especificado, de un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida en el segundo paso de entrada de información llega a ser un vector h^ predeterminado;
    un paso de generación del elemento de firma 0 de, con el dispositivo de firma, generación de un elemento de firma s*0 que incluye el elemento de clave k*0 incluido en la clave de firma skr;
    un paso de generación del elemento de firma i de, con el dispositivo de firma, generación, para cada número entero i = 1 ..., L, de un elemento de firma s*¡ que incluye Y¡k*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skr por un valor y¡, estableciendo el valor y¡ para satisfacer y¡ := a¡ cuando el número entero i se incluye en el conjunto I especificado en el paso de cálculo de coeficiente complementario y la variable p(¡) es una tupla positiva (t, v^¡); estableciendo el valor y¡ para satisfacer y¡ := a¡/(v^¡ ■ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I;
    un paso de generación del elemento de firma L+1 de, con el dispositivo de firma, generación de un elemento de firma s\+1 que incluye una suma del elemento de clave k*d+1,1 incluido en la clave de firma skr y m'k*d+1,2 obtenido multiplicando el elemento de clave k*d+1,2 por un valor m' generado usando el mensaje m;
    un paso de transmisión de datos de firma de, con el dispositivo de firma, transmisión, al dispositivo de verificación (300), de datos de firma a que incluyen: el elemento de firma s*0 generado en el paso de generación del elemento de firma 0; el elemento de firma s*¡ generado para cada número entero i = 1, ..., L en el paso de generación del elemento de firma i; el elemento de firma s\+1 generado en el paso de generación del elemento de firma L+1; el mensaje m; la variable p(¡); y la matriz M;
    un paso de adquisición de datos de, con el dispositivo de verificación, adquisición de los datos de firma a transmitidos por el paso de transmisión de datos de firma;
    un paso de generación del elemento de verificación 0 de, con el dispositivo de verificación, generación de un elemento de verificación c0 estableciendo, como coeficiente para un vector base bü,1 de una base B0, -s0 -sl+1 calculado a partir de un valor s0 := h^ ■ f^ y un valor predeterminado sl+1, el valor s0 := h^ ■ f^ que se genera usando un vector f^ que tiene r partes de elementos, y el vector h^;
    un paso de generación del elemento de verificación i de, con el dispositivo de verificación, para cada número entero i = 1, ..., L y usando un vector de columna s^T := (s1, ..., sl)t := M ■ f^T generado en base al vector f^ y la matriz M que se incluye en los datos de firma a adquiridos en el paso de adquisición de datos, y un número predeterminado 0¡ para cada número entero i = 1, ..., L, generación de un elemento de verificación c¡, cuando la variable p(¡) es una tupla positiva (t, v^¡), estableciendo s¡+0¡v¡,1 como coeficiente para un vector base bt,1 de la base Bt indicado por la información de identificación t de la tupla positiva y estableciendo 0¡v¡,¡' (¡' = 2, ..., nt) como coeficiente para un vector base bt,¡' (¡' = 2, ..., nt), y generación de un elemento de verificación c¡, cuando la variable p(¡) es una tupla negativa -(t, v^¡), estableciendo s¡v¡,¡' (¡' = 1, ..., nt) como coeficiente para el vector base bt,¡' (¡' = 1, ..., nt) indicado por la información de identificación t de la tupla negativa;
    un paso de generación del elemento de verificación L+1 de, con el dispositivo de verificación, generación de un elemento de verificación cl+1 estableciendo sL+1-0L+1m' calculado a partir del valor predeterminado sl+1, el valor
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    m', y un valor predeterminado 0l+i como coeficiente para un vector base bd+1,1 de una base Bd+i, y estableciendo el valor predeterminado 0l+1 como coeficiente para un vector base bd+1,2; y
    un paso de operación de emparejamiento de, con el dispositivo de verificación, verificación de la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento ni=oL+1e(ci, s*i) para el elemento de verificación co generado en el paso de generación del elemento de verificación 0, el elemento de verificación c¡ generado en el paso de generación del elemento de verificación i, el elemento de verificación cl+1 generado en el paso de generación del elemento de verificación L+1, y los elementos de firma s*o, s*¡ y s\+1 incluidos en los datos de firma a.
  14. 14. Un programa de procesamiento de firmas que comprende un programa de generación de claves para ejecutar en un dispositivo de generación de claves (100), un programa de firma para ejecutarse en un dispositivo de firmas (200), y un programa de verificación para ejecutarse en un dispositivo de verificación (300), y que sirve para ejecutar un proceso de firma usando una base Bt y una base B*t para cada número entero t = 0, ..., d+1 (d es un número entero de 1 o más),
    en donde el programa de generación de claves hace que un ordenador (911) ejecute
    un primer proceso de entrada de información de toma como entrada de un conjunto de atributos r que incluye la información de identificación t y la información de atributo x^t := (xt,i) (i = 1, ..., nt donde nt es un número entero de 1 o más) para al menos un número entero t = 1, ..., d,
    un proceso de generación del elemento de clave 0 de generación de un elemento de clave k*0 donde un valor 8 predeterminado se establece como coeficiente para un vector base b*0,1 de una base B*0,
    un proceso de generación del elemento de clave t de generación de un elemento de clave k* donde 8xt,¡ (i = 1, ..., nt) obtenido multiplicando la información de atributo x^t por el valor 8 predeterminado se establece como coeficiente para un vector base b*t,i (i = 1, ..., nt) de la base B*t, que concierne a cada información de identificación t incluida en el conjunto de atributos r introducido por el primer proceso de entrada de información,
    un proceso de generación del elemento de clave d+1 de generación de un elemento de clave k*d+1,1 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,1 de una base B*d+1, y un elemento de clave k*d+1,2 donde el valor 8 predeterminado se establece como coeficiente para un vector base b*d+1,2 de la base B*d+1, y
    un proceso de transmisión de clave de firma de transmisión, a un dispositivo de firma, de una clave de firma skr que incluye: el elemento de clave k*0 generado en el proceso de generación del elemento de clave 0; el elemento de clave k* generado en el proceso de generación del elemento de clave t que concierne a cada información de identificación t incluida en el conjunto de atributos r; el elemento de clave k*d+1,1 y el elemento de clave k*d+1,2 que se generan en el proceso de generación del elemento de clave d+1; y el conjunto de atributos r,
    en donde el programa de firma hace que el ordenador ejecute
    un segundo proceso de entrada de información de toma como entrada de una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m,
    un proceso de adquisición de clave de firma de adquisición de la clave de firma skr transmitida en el proceso de transmisión de clave de firma,
    un proceso de cálculo de coeficiente complementario de, en base a la variable p(i) introducida en el segundo proceso de entrada de información y el conjunto de atributos r incluido en la clave de firma skr adquirida en el proceso de adquisición de clave de firma, especificación, entre los números enteros i = 1, ..., L, de un conjunto I de un número entero i para el cual la variable p(i) es una tupla positiva (t, v^¡) y con el cual un producto interno de v^¡ de la tupla positiva y x^t incluido en el conjunto de atributos r indicado por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡) y con el cual un producto interno de v^¡ de la tupla negativa y x^t incluida en el conjunto de atributos r indicada por la información de identificación t de la tupla negativa no llega a ser 0; y de cálculo, concerniente a i incluido en el conjunto I especificado, de un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida en el segundo proceso de entrada de información llega a ser un vector h^ predeterminado,
    un proceso de generación del elemento de firma 0 de generación de un elemento de firma s*0 que incluye el elemento de clave k*0 incluido en la clave de firma skr,
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    un proceso de generación del elemento de firma i de generación, para cada número entero i = 1, ..., L, de un elemento de firma s*¡ que incluye Yik*t obtenido multiplicando el elemento de clave k*t incluido en la clave de firma skr por un valor Yi, estableciendo el valor Yi para satisfacer Yi := ai cuando el número entero i se incluye en el conjunto I especificado en el proceso de cálculo de coeficiente complementario y la variable p(i) es una tupla positiva (t, v^¡); estableciendo el valor Yi para satisfacer Yi := a¡/(v^¡ ■ x^t) cuando el número entero i está incluido en el conjunto I y la variable p(i) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I,
    un proceso de generación del elemento de firma L+1 de generación de un elemento de firma s*l+i que incluye una suma del elemento de clave k*d+i,i incluido en la clave de firma skr y m' k*d+i,2 obtenido multiplicando el elemento de clave k*d+i,2 por un valor m' generado usando el mensaje m, y
    un proceso de transmisión de datos de firma de transmisión, a un dispositivo de verificación, de datos de firma a que incluyen: el elemento de firma s*o generado en el proceso de generación del elemento de firma 0; el elemento de firma s*¡ generado para cada número entero i = 1, ..., L en el proceso de generación del elemento de firma i; el elemento de firma s\+i generado en el proceso de generación del elemento de firma L+1; el mensaje m; la variable p(¡); y la matriz M, y
    en donde el programa de verificación hace al ordenador ejecutar
    un proceso de adquisición de datos de adquisición de los datos de firma a transmitidos en el proceso de transmisión de datos de firma,
    un proceso de generación del elemento de verificación 0 de generación de un elemento de verificación co estableciendo, como coeficiente para un vector base bo,i de una base Bo, -so -sl+i calculado a partir de un valor so := h^ ■ f^ y un valor predeterminado sl+i, el valor so := h^ ■ f^ que se genera usando un vector f^ que tiene r partes de elementos, y el vector h^,
    un proceso de generación del elemento de verificación i de, para cada número entero i = 1, ..., L y usando un vector de columna s^T := (s1, ..., sl)t := M ■ f^T generado en base al vector f^ y la matriz M que se incluye en los datos de firma a adquiridos en el proceso de adquisición de datos, y un número predeterminado 0¡ para cada número entero i = 1, ..., L, generación de un elemento de verificación c¡, cuando la variable p(¡) es una tupla positiva (t, v^¡), estableciendo s¡+0¡v¡,1 como coeficiente para un vector base bt,1 de la base Bt indicado por la información de identificación t de la tupla positiva y estableciendo 0¡v¡,¡' (i' = 2, ..., nt) como coeficiente para un vector base bt,¡' (¡' = 2, ..., nt), y generación de un elemento de verificación c¡, cuando la variable p(¡) es una tupla negativa -(t, v^¡) estableciendo s¡v¡,¡' (i' = 1, ..., nt) como coeficiente para el vector base b¡,¡' (i' = 1, ..., nt) indicado por la información de identificación t de la tupla negativa,
    un proceso de generación del elemento de verificación L+1 de generación de un elemento de verificación cl+1 estableciendo sL+1-0L+1m' calculado a partir del valor predeterminado sl+1, el valor m', y un valor predeterminado 0l+1 como coeficiente para un vector base bd+1,1 de una base Bd+1, y estableciendo el valor predeterminado 0l+1 como coeficiente para un vector base bd+1,2, y
    un proceso de operación de emparejamiento de verificación de la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento n¡=oL+1e(c¡, s*¡) para el elemento de verificación co generado en el proceso de generación del elemento de verificación o, el elemento de verificación c¡ generado en el proceso de generación del elemento de verificación i, el elemento de verificación cl+1 generado en el proceso de generación del elemento de verificación L+1, y los elementos de firma s*o, s*¡, y s\+1 incluidos en los datos de firma a.
  15. 15. Un método de procesamiento de firmas de ejecución de un proceso de firma que usa una base Bt y una base B*t para al menos un número entero t = o, ..., d (d es un número entero de 1 o más), el método de procesamiento de firmas que incluye:
    un primer paso de entrada de información de, con al menos un dispositivo de generación de claves entre d unidades de dispositivos de generación de claves (1oo), toma como entrada de la información de atributo x^t : = (xt,¡) (i = 1, ..., nt) para un número entero t entre t = 1, ..., d que se predetermina para cada uno de los dispositivos de generación de claves;
    un paso de generación del elemento de clave de, con el al menos un dispositivo de generación de claves, para el número entero t y cada número entero j = 1, 2, generación de un elemento de clave k*t,j que incluye un vector indicado en la Fórmula 24 en base a la información de atributo x^t introducida en el primer paso de entrada de información, un valor 5j predeterminado, y un vector base b*tj (i = 1, ..., 2nt) de una base B*;
    un paso de transmisión de clave de firma de, con el al menos un dispositivo de generación de claves, transmisión, a un dispositivo de firmas (2oo), de una clave de firma usk que incluye: el elemento de clave k*t,j generado en el paso de generación del elemento de clave; y la información de atributo x^t;
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    un segundo paso de entrada de información de, con el dispositivo de firma, toma como entrada de una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^¡) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m;
    un paso de adquisición de clave de firma de, con el dispositivo de firma, adquisición de la clave de firma usk transmitida en el paso de transmisión de clave de firma del al menos un dispositivo de generación de claves entre las d unidades de dispositivos de generación de claves;
    un paso de cálculo de coeficiente complementario de, con el dispositivo de firma y en base a la variable p(¡) introducida en el segundo paso de entrada de información y la información de atributo x^t incluida en la clave de firma usk adquirida en el paso de adquisición de clave de firma, especificación, entre los números enteros i = 1, ..., L, de un conjunto I de un número entero i para el cual la variable p(¡) es una tupla positiva (t, v^¡), la clave de firma usk que incluye x^t indicado por la información de identificación t de la tupla positiva que se adquiere en el paso de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla positiva y la información de atributo x^t indicada por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡), la clave de firma usk que incluye x^t indicado por la información de identificación t de la tupla negativa que se adquiere en el paso de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla negativa y la información de atributo x^t indicada por la información de identificación t de la tupla negativa no llega a ser 0, y cálculo, concerniente a i incluido en el conjunto I especificado, de un coeficiente complementario a¡ con el cual un total de a¡M¡ en base a M¡ que es un elemento en una fila de orden i de la matriz M introducida en el segundo paso de entrada de información llega a ser un vector h^ predeterminado;
    un paso de generación del elemento de firma de, con el dispositivo de firma, generación, para cada número entero i = 1 ..., L, de un elemento de firma s*¡ que incluye un vector indicado en la Fórmula 25 usando el vector base b*t,¡ (i = 2nt+1, 2nt+2) de la base B*t, en base a un elemento de clave k*t,1 y un elemento de clave k*t,2 incluidos en la clave de firma usk, los valores predeterminados £i, E y p, y un valor m' calculado a partir del mensaje m, estableciendo un valor y¡ para satisfacer y¡ := a¡ cuando el número entero i está incluido en el conjunto I especificado en el paso de cálculo de coeficiente complementario y la variable p(¡) es una tupla positiva (t, v^¡), estableciendo el valor y¡ para satisfacer y¡ := a¡/(v¡ xt) cuando el número entero i está incluido en el conjunto I y la variable p(¡) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I;
    un paso de transmisión de datos de firma de, con el dispositivo de firma, transmisión, al dispositivo de verificación (300), de datos de firma a que incluyen: el elemento de firma s*¡ generado para cada número entero i = 1, ..., L por en el paso de generación de elemento de firma; el mensaje m; la variable p(¡); y la matriz M;
    un paso de adquisición de datos de, con el dispositivo verificación, adquisición de los datos de firma a transmitidos en el paso de transmisión de datos de firma;
    un paso de generación de vector de, con el dispositivo verificación, generación de un vector de columna s^T : = (s-i, ..., sl)t := M f^T en base a un vector f^T que tiene r partes de elementos y la matriz M incluida en los datos de firma a adquiridos en el paso de adquisición de datos, y generación de un vector de columna (s^’)T := (sV, ..., sl')t := M (f^’)T en base a la matriz M y a un vector f^’ que tiene r partes de elementos y que satisface s0 = h^ (f^’)T donde s0 = h^ f^T;
    un paso de generación de elemento de verificación de, con el dispositivo verificación, para cada número entero i = 1, ..., L y en base al vector de columna s^T y al vector de columna (s^’)T que se generan en el paso de generación de vector, y los valores predeterminados 0¡, 0¡’, 0¡’’, y a¡ para cada número entero i = 1, ..., L, generación de un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 26, cuando la variable p(¡) es una tupla positiva (t, v^¡), usando un vector base bt,¡’ (i’ = 1, ..., 2nt+2) de la base Bt indicada por la información de identificación t de la tupla positiva, y generación de un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 27, cuando la variable p(¡) es una tupla negativa -(t, v^¡), usando un vector base bt,¡ (i’ = 1, ., 2nt+2) indicado por la información de identificación t de la tupla negativa; y
    un paso de operación de emparejamiento de, con el dispositivo verificación, verificación de la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento n¡=1Le(c¡, s*¡) para el elemento de verificación c¡ generado en el paso de generación de elemento de verificación y el elemento de firma s*¡ incluido en los datos de firma a.
    [Fórmula 24]
    imagen18
    5
    10
    15
    20
    25
    30
    35
    40
    [Fórmula 25]
    imagen19
    [Fórmula 26]
    imagen20
    [Fórmula 27]
    imagen21
  16. 16. Un programa de procesamiento de firmas que comprende un programa de generación de claves para ejecutarse en d (d es un número entero de 1 o más) unidades de dispositivos de generación de claves (100), un programa de firma para ejecutarse en un dispositivo de firmas (200), y un programa de verificación para ejecutarse en un dispositivo de verificación (300), y que sirven para ejecutar un proceso de firma usando una base Bt y base B* para al menos un número entero t = 0, ..., d,
    en donde el programa de generación de claves hace que un ordenador (911) ejecute
    un primer proceso de entrada de información de toma como entrada la información de atributo x^t := (xt,¡) (i = 1, ..., nt) para un número entero t entre los números enteros t = 1, ..., d que se predetermina para cada uno de los dispositivos de generación de claves,

    un proceso de generación de elemento de clave de, para el número entero t y cada número entero j = 1, 2,

    generación de un elemento de clave k*t,j que incluye un vector indicado en la Fórmula 28 en base a la

    información de atributo x^t introducida en el primer proceso de entrada de información, un valor 6j

    predeterminado, y un vector base b*t,¡ (i = 1, ..., 2nt) de una base B*t, y
    un proceso de transmisión de clave de firma de transmisión, a un dispositivo de firmas, de una clave de firma usk que incluye: el elemento de clave k*tj generado en el proceso de generación de elemento de clave; y la información de atributo x^t,
    en donde el programa de firma hace que el ordenador ejecute
    un segundo proceso de entrada de información de toma como entrada de una variable p(i) para cada número entero i = 1, ..., L (L es un número entero de 1 o más), cuya variable p(i) es cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^¡) de la información de identificación t (t es cualquier número entero de t = 1, ..., d) y la información de atributo v^¡ := (v¡,¡) (i' = 1, ..., nt); una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y un mensaje m,
    un proceso de adquisición de clave de firma de adquisición de la clave de firma usk transmitida en el proceso de transmisión de clave de firma del al menos un dispositivo de generación de claves entre las d unidades de dispositivos de generación de claves,
    un proceso de cálculo de coeficiente complementario de, en base a la variable p(¡) introducida en el segundo proceso de entrada de información y la información de atributo xt incluida en la clave de firma usk adquirida en el proceso de adquisición de clave de firma, especificación, entre los números enteros i = 1, ..., L, de un conjunto I de un número entero i para el cual la variable p(¡) es una tupla positiva (t, v^¡), la clave de firma usk que incluye x^t indicado por la información de identificación t de la tupla positiva que se adquiere en el proceso de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla positiva y la información de atributo x^t indicada por la información de identificación t de la tupla positiva llega a ser 0, y un número entero i para el cual la variable p(¡) es una tupla negativa -(t, v^¡), la clave de firma usk que incluye x^t indicada por la información de identificación t de la tupla negativa que se adquiere en el proceso de adquisición de clave de firma, y con el cual un producto interno de v^¡ de la tupla negativa y la información de atributo x^t indicada por la información de identificación t de la tupla negativa no llega a ser 0; y cálculo, concerniente a i incluido en el
    10
    15
    20
    25
    30
    35
    40
    conjunto I especificado, de un coeficiente complementario ai con el cual un total de aiMi en base a Mi que es un elemento en una fila de orden i de la matriz M introducida en el segundo proceso de entrada de información llega a ser un vector h^ predeterminado,
    un proceso de generación de elemento de firma de generación, para cada número entero i = 1, ..., L, de un elemento de firma s*¡ incluyendo un vector indicado en la Fórmula 29 usando el vector base b*t,i (i = 2nt+1, 2nt+2) de la base B*t, en base a un elemento de clave k*t,i y un elemento de clave k*t,2 incluidos en la clave de firma usk, los valores predeterminados £i, E y p, y un valor m' calculado a partir del mensaje m, estableciendo un valor Yi para satisfacer Yi := ai cuando el número entero i está incluido en el conjunto I especificado en el proceso de cálculo de coeficiente complementario y la variable p(i) es una tupla positiva (t, v^¡); estableciendo el valor Yi para satisfacer y¡ := a¡/(v^¡x^t) cuando el número entero i está incluido en el conjunto I y la variable p(i) es una tupla negativa -(t, v^¡); y estableciendo el valor y¡ para satisfacer y¡ := 0 cuando el número entero i no está incluido en el conjunto I, y
    un proceso de transmisión de datos de firma de transmisión, al dispositivo de verificación, de datos de firma a que incluyen: el elemento de firma s*¡ generado para cada número entero i = 1, ..., L en el proceso de generación de elemento de firma; el mensaje m; la variable p(¡); y la matriz M, y
    en donde el programa de verificación hace que el ordenador ejecute
    un proceso de adquisición de datos de adquisición de los datos de firma a transmitidos en el proceso de transmisión de datos de firma,
    un proceso de generación de vector de generación de un vector de columna s^T := (s-i, ..., sl)t := M f^T en base a un vector f^ que tiene r partes de elementos y la matriz M incluida en los datos de firma a adquiridos en el proceso de adquisición de datos, y generación de un vector de columna (s^’)T := (sV, ..., sl')t := M(f^’)T en base a la matriz M y a un vector f^’ que tiene r partes de elementos y que satisface s0 = h^ (f^’)T donde s0 = h^ f^T,
    un proceso de generación de elemento de verificación de, para cada número entero i = 1, ..., L y en base al vector de columna s^T y al vector de columna (s^’)T que se generan en el proceso de generación de vector, y los valores predeterminados 0¡, 0¡’, 0¡’’, y a¡ para cada número entero i = 1, ..., L, generación de un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 30, cuando la variable p(¡) es una tupla positiva (t, v^¡), usando un vector base bt,¡’ (¡’ = 1, ..., 2nt+2) de la base Bt indicada por la información de identificación t de la tupla positiva, y generación de un elemento de verificación c¡ que incluye un vector indicado en la Fórmula 31, cuando la variable p(¡) es una tupla negativa -(t, v^¡), usando un vector base bt,¡ (i = 1, ., 2nt+2) indicado por la información de identificación t de la tupla negativa, y
    un proceso de operación de emparejamiento de verificación de la autenticidad de los datos de firma a dirigiendo una operación de emparejamiento n¡=1Le(c¡, s*¡) para el elemento de verificación c¡ generado en el proceso de generación de elemento de verificación, y el elemento de firma s*¡ incluido en los datos de firma a.
    [Fórmula 28]
    imagen22
    [Fórmula 29]
    imagen23
    [Fórmula 30]
    imagen24
    [Fórmula 31]
ES11856860.9T 2011-01-25 2011-12-08 Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas Active ES2684945T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011013281 2011-01-25
JP2011013281A JP5606344B2 (ja) 2011-01-25 2011-01-25 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム
PCT/JP2011/078463 WO2012101913A1 (ja) 2011-01-25 2011-12-08 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム

Publications (1)

Publication Number Publication Date
ES2684945T3 true ES2684945T3 (es) 2018-10-05

Family

ID=46580497

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11856860.9T Active ES2684945T3 (es) 2011-01-25 2011-12-08 Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas

Country Status (7)

Country Link
US (1) US9106408B2 (es)
EP (1) EP2670081B1 (es)
JP (1) JP5606344B2 (es)
KR (1) KR101431412B1 (es)
CN (1) CN103348624B (es)
ES (1) ES2684945T3 (es)
WO (1) WO2012101913A1 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2755158A1 (en) * 2013-01-09 2014-07-16 Thomson Licensing Method and device for privacy-respecting data processing
EP2860904A1 (en) * 2013-10-08 2015-04-15 Thomson Licensing Method for signing a set of binary elements, and updating such signature, corresponding electronic device and computer program product
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
JP6087849B2 (ja) * 2014-01-17 2017-03-01 日本電信電話株式会社 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム
JP6053983B2 (ja) 2014-02-24 2016-12-27 三菱電機株式会社 暗号システム、署名システム、暗号プログラム及び署名プログラム
JP6204271B2 (ja) * 2014-06-05 2017-09-27 日本電信電話株式会社 署名システム、鍵生成装置、およびプログラム
WO2016014048A1 (en) * 2014-07-23 2016-01-28 Hewlett-Packard Development Company, L.P. Attribute-based cryptography
WO2019199283A1 (en) * 2018-04-10 2019-10-17 Visa International Service Association Tamper-resistant data encoding for mobile devices
CN109728910A (zh) * 2018-12-27 2019-05-07 北京永恒纪元科技有限公司 一种高效的门限分布式椭圆曲线密钥生成及签名方法和系统
JP7233265B2 (ja) * 2019-03-15 2023-03-06 三菱電機株式会社 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
CN114189340B (zh) * 2021-12-09 2023-05-23 电子科技大学 一种基于素数阶群的基于属性签名方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016903A1 (en) * 1995-11-03 1997-05-09 Stefanus Alfonsus Brands Cryptographic methods for demonstrating satisfiable formulas from propositional logic
US6320966B1 (en) 1996-10-23 2001-11-20 Stefanus A. Brands Cryptographic methods for demonstrating satisfiable formulas from propositional logic
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
CN1954548B (zh) * 2005-04-18 2010-07-21 松下电器产业株式会社 签名生成装置及签名验证装置
US8280039B2 (en) * 2005-12-28 2012-10-02 Panasonic Corporation Signature generating device, signature generating method and signature generating program
KR101071790B1 (ko) * 2006-05-21 2011-10-11 인터내셔널 비지네스 머신즈 코포레이션 어써션 메세지 시그너처
US8009829B2 (en) * 2006-10-25 2011-08-30 Spyrus, Inc. Method and system for deploying advanced cryptographic algorithms
US8281131B2 (en) * 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP5253567B2 (ja) * 2009-04-24 2013-07-31 日本電信電話株式会社 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
WO2011007697A1 (ja) * 2009-07-13 2011-01-20 日本電気株式会社 匿名認証署名システム、ユーザ装置、検証装置、署名方法、検証方法およびそれらのプログラム
JP5693206B2 (ja) 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Also Published As

Publication number Publication date
KR101431412B1 (ko) 2014-08-19
EP2670081A1 (en) 2013-12-04
US9106408B2 (en) 2015-08-11
EP2670081B1 (en) 2018-07-11
KR20130130810A (ko) 2013-12-02
CN103348624A (zh) 2013-10-09
WO2012101913A1 (ja) 2012-08-02
US20130322627A1 (en) 2013-12-05
JP5606344B2 (ja) 2014-10-15
CN103348624B (zh) 2016-04-27
JP2012155088A (ja) 2012-08-16
EP2670081A4 (en) 2017-07-26

Similar Documents

Publication Publication Date Title
ES2684945T3 (es) Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas
ES2627124T3 (es) Sistema de procesamiento de código, dispositivo de generación de claves, dispositivo codificador, dispositivo descodificador, procedimiento de procesamiento de código y programa de procesamiento de código
ES2693146T3 (es) Sistema de procesamiento criptográfico, dispositivo de generación de claves, dispositivo de cifrado, dispositivo de descifrado, sistema de procesamiento de firmas, dispositivo de firma y dispositivo de verificación
Ali et al. An efficient hybrid signcryption scheme with conditional privacy-preservation for heterogeneous vehicular communication in VANETs
ES2873230T3 (es) Sistema de procesamiento de encriptado
EP2824652A1 (en) Cipher system, cipher method, and cipher program
EP2503533B1 (en) Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method and cipher processing program
EP2613472A1 (en) Encryption processing system, key generation device, encryption device, decryption device, encryption processing method, and encryption processing program
KR20130027061A (ko) 사인크립션 방법 및 장치와 대응하는 사인크립션 검증 방법 및 장치
EP2523178B1 (en) Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
ES2645072T3 (es) Sistema criptográfico
Al-Qutayri et al. Security and privacy of intelligent VANETs
Shim An efficient ring signature scheme from pairings
KR101432462B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 키 위양 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
Yue et al. A practical privacy-preserving communication scheme for CAMs in C-ITS
Azougaghe et al. Electronic voting scheme based on additive homomorphic encryption.
Wang et al. An efficient attribute-based signature scheme with claim-predicate mechanism
Mei et al. A privacy preserving communication scheme for VANETs
Park et al. Cryptanalysis of Two Signature Schemes Based on Bilinear Pairings in CISC’05
Pattanayak Encoding Efficient Attributes Using Prime Modulo Method For Anonymous Credentials
Dang et al. Hierarchical pseudonym-based signature scheme and self-generated pseudonym system in Ad Hoc networks
Gao et al. Research on Attribute Based Encryption Schemes and Its Advanced Functions