ES2693146T3 - 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 - Google Patents
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 Download PDFInfo
- Publication number
- ES2693146T3 ES2693146T3 ES11774680.0T ES11774680T ES2693146T3 ES 2693146 T3 ES2693146 T3 ES 2693146T3 ES 11774680 T ES11774680 T ES 11774680T ES 2693146 T3 ES2693146 T3 ES 2693146T3
- Authority
- ES
- Spain
- Prior art keywords
- base
- vector
- integer
- coefficient
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
Un sistema de procesamiento criptográfico (10) que comprende un dispositivo de generación de claves (100), un dispositivo de cifrado (200) y un dispositivo de descifrado (300), y que sirve para ejecutar un proceso criptográfico usando una base Bt y una base B*t para cada número entero t >= 0, ..., d (d es un número entero de 1 o más), en donde el dispositivo de generación de claves (100) incluye una primera parte de entrada de información (130) 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 una 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 un vector de atributo v→ i :>= (vi, i') (i' >= 1, ..., nt donde nt es un número entero de 1 o más), y una matriz M predeterminada que tiene L filas y r columnas (r es un número entero de 1 o más); y una parte de generación de clave de descifrado (140) que genera un elemento k*0 y un elemento k*i para cada número entero i >= 1, ..., L, en base a un vector de columna s→ T :>= (s1, ..., sL)T :>= M · f→ T generado en base a un vector f→ y un vector w→ , cada uno que tiene r partes de elementos, y la matriz M introducida por la primera parte de entrada de información; un valor s0 :>= w→· f→ ; y un valor predeterminado θi (i >= 1, ..., L), la parte de generación de clave de descifrado (140) que está configurada para generar el elemento k*0 estableciendo el valor -s0 como coeficiente para un vector base b*0,p (p es un valor predeterminado) de la base B*0 y estableciendo un valor predeterminado ζ como coeficiente para un vector base b*0,q (q es un valor predeterminado diferente del p prescrito), y para generar el elemento k*i para cada número entero i >= 1, ..., L, cuando la variable ρ (i) es una tupla positiva (t, v→ i) estableciendo siθivi,1 como coeficiente para un vector base b*t,1 de la base B*t indicado por la información de identificación t de la tupla positiva, y estableciendo -ivi,i' como coeficiente para un vector base b*t,i' indicado por la información de identificación t y cada número entero i' >= 2, ..., nt, y cuando la variable ρ (i) es una tupla negativa ¬(t, v→ i), estableciendo sivi,i' como coeficiente para el vector base b*t,i' indicado por la información de identificación t de la tupla negativa y por cada número entero i' >= 1, ..., nt, en donde el dispositivo de cifrado (200) incluye una segunda parte de entrada de información (220) que toma como entrada, un conjunto de atributos Γ que tiene la información de identificación t y un vector 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, y una parte de generación de datos cifrados (230) que genera un elemento c0, y un elemento ct que conciernen a cada información de identificación t incluida en el conjunto de atributos Γ , en base al conjunto de atributos Γ introducido por la segunda parte de entrada de información, la parte de generación de datos cifrados que está configurada para generar el elemento c0 donde un valor aleatorio δ se establece como coeficiente para un vector base b0,p (p es un p prescrito) de la base B0, y donde un valor predeterminado ζ se establece como coeficiente para un vector base b0,q (q es un q prescrito) de la base B0, y para generar el elemento ct donde xt,i' multiplicado por el valor aleatorio δ se establece como coeficiente para un vector base bt,i' (i' >= 1, ..., nt) de la base Bt para cada información de identificación t incluida en el conjunto de atributos Γ , y en donde el dispositivo de descifrado (300) incluye una parte de adquisición de datos (320) que adquiere datos cifrados c que incluyen los elementos c0 y ct y el conjunto de atributos Γ , los elementos c0 y ct que se generan por la parte de generación de datos cifrados (230), una parte de adquisición de clave de descifrado (310) que adquiere una clave de descifrado sks que incluye los elementos k*0 y k*i y el número variable ρ(i), los elementos k*0 y k*i que se generan por la parte de generación de clave de descifrado (140), una parte de cálculo de coeficiente complementario (340) que, en base al conjunto de atributos Γ incluido en los datos cifrados c adquiridos por la parte de adquisición de datos, y la variable ρ (i) incluida en la clave de descifrado sks adquirida por la parte de adquisición de clave de descifrado, 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 la cual un producto interno de v→ i de la tupla positiva y x→ t incluido en Γ 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 la cual un producto interno de v→ i de la tupla negativa y x→ t incluido en Γ indicado por la información de identificación t de la tupla negativa no llega a ser 0; y calcula un coeficiente complementario αi con el cual un total de αisi para i incluido en el conjunto I especificado llega a ser s0, y una parte de operación de emparejamiento (350) que calcula un valor K >= gT ζ λ dirigiendo una operación de emparejamiento indicada en la Fórmula 1 para los elementos c0 y ct incluidos en los datos cifrados c y los elementos k*0 y k*i incluidos en la clave de descifrado sks, en base al conjunto I especificado por la parte de cálculo de coeficiente complementario (340) y al coeficiente complementario αi calculado por la parte de cálculo de coeficiente complementario (340).**Fórmula**
Description
5
10
15
20
25
30
35
40
45
DESCRIPCION
Sistema de procesamiento criptografico, dispositivo de generacion de claves, dispositivo de cifrado, dispositivo de descifrado, sistema de procesamiento de firmas, dispositivo de firma y dispositivo de verificacion
Campo tecnico
La presente invencion se refiere a un esquema de cifrado funcional (FE). La invencion se define en las reivindicaciones independientes.
Antecedentes de la tecnica
Las Citas Bibliograficas no de Patente 3 a 6, 10, 12, 13, 15 y 18 describen un esquema de cifrado basado en ID (Identidad) (IBE) que constituye una clase del esquema de cifrado funcional. Las Citas Bibliograficas no de Patente 2, 7, 9, 16, 19, 23 a 26 y 28 describen un esquema de cifrado basado en atributos (ABE) que constituye otra clase del esquema de cifrado funcional.
Lista de referencias
Citas Bibliograficas no de Patente
Cita Bibliografica no de Patente 1: Beimel, A., Secure schemes for secret sharing and key distribution. Tesis doctoral, Instituto de Tecnologfa de Israel, Technion, Haifa, Israel, 1996.
Cita Bibliografica no de Patente 2: Bethencourt, J., Sahai, A., Waters, B.: Ciphertext policy attribute-based encryption. En: Simposio sobre Seguridad y Privacidad del IEEE 2007, paginas 321-34. IEEE Press (2007)
Cita Bibliografica no de Patente 3: 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, paginas 223-38. Springer Heidelberg (2004)
Cita Bibliografica no de Patente 4: Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. En: Franklin, M.K. (ed.) CRYPTO 2004. LNCS, vol. 3152, paginas 443-59. Springer Heidelberg (2004)
Cita Bibliografica no de Patente 5: Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. En: Cramer, R. (ed.) EuRoCRYPT 2005. LNCS, vol. 3494, paginas 440-56. Springer Heidelberg (2005)
Cita Bibliografica no de Patente 6: Boneh, D., Franklin, M.: Identity-based encryption from the Weil pairing. En: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, paginas 213-29. Springer Heidelberg (2001)
Cita Bibliografica no de Patente 7: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, paginas 455-70. Springer Heidelberg (2008)
Cita Bibliografica no de Patente 8: Boneh, D., Katz, J., Improved efficiency for CCA-secure cryptosystems built using identity based encryption. RSA-CT 2005, LNCS, Springer Verlag (2005)
Cita Bibliografica no de Patente 9: Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. En: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, paginas 535-54. Springer Heidelberg (2007)
Cita Bibliografica no de Patente 10: Boyen, X., Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). En: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, paginas 290-07. Springer Heidelberg (2006)
Cita Bibliografica no de Patente 11: Canetti, R., Halevi S., Katz J., Chosen-ciphertext security from identity-based encryption. EUROCRYPT 2004, LNCS, Springer-Verlag (2004)
Cita Bibliografica no de Patente 12: Cocks, C.: An identity based encryption scheme based on quadratic residues. En: Honary, B. (ed.) Conf. Int. IMA. LNCS, vol. 2260, paginas 360-63. Springer Heidelberg (2001)
Cita Bibliografica no de Patente 13: Gentry, C.: Practical identity-based encryption without random oracles. En: Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, paginas 445-64. Springer Heidelberg (2006)
Cita Bibliografica no de Patente 14: Gentry, C., Halevi, S.: Hierarchical identity-based encryption with polynomially many levels. En: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, paginas 437-56. Springer Heidelberg (2009)
Cita Bibliografica no de Patente 15: Gentry, C., Silverberg, A: Hierarchical ID-based cryptography. En: Zheng, Y. (ed.) ASIACRYPT 2002.LNCS, vol. 2501, paginas 548-66. Springer Heidelberg (2002)
5
10
15
20
25
30
35
40
45
Cita Bibliografica no de Patente 16: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for finegrained access control of encrypted data. En: Conferencia ACM sobre Seguridad Informatica y de Comunicaciones 2006, paginas 89-8, ACM (2006)
Cita Bibliografica no de Patente 17: Groth, J., Sahai, A.: Efficient non-interactive proof systems for bilinear groups. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, paginas 415-32. Springer Heidelberg (2008)
Cita Bibliografica no de Patente 18: Horwitz, J., Lynn, B.: Towards hierarchical identity-based encryption. En: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, paginas 466-81. Springer Heidelberg (2002)
Cita Bibliografica no de Patente 19: 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, paginas 14662. Springer Heidelberg (2008)
Cita Bibliografica no de Patente 20: Lewko, A.B., Waters, B.: Fully secure HIBE with short ciphertexts. ePrint, IACR,
http://eprint.iacr.org/2009/482
http://eprint.iacr.org/2009/482
Cita Bibliografica no de Patente 21: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5209, paginas 57-4. Springer Heidelberg (2008)
Cita Bibliografica no de Patente 22: Okamoto, T., Takashima, K.: Hierarchical predicate encryption for Inner- Products, En: ASIACRYPT 2009, Springer Heidelberg (2009)
Cita Bibliografica no de Patente 23: Ostrovsky, R., Sahai, A., Waters, B.: Attribute-based encryption with nonmonotonic access structures. En: Conferencia ACM sobre Seguridad Informatica y de Comunicaciones 2007, paginas 195-03, ACM (2007)
Cita Bibliografica no de Patente 24: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: Conferencia ACM sobre Seguridad Informatica y de Comunicaciones 2006, paginas 99-12, ACM, (2006)
Cita Bibliografica no de Patente 25: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, paginas 457-73. Springer Heidelberg (2005)
Cita Bibliografica no de Patente 26: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En: Aceto, L., Damgard, I., Goldberg, L. A., Halldosson, M.M., Ingofsdotir, A., Walukiewicz, l. (eds.) ICALP (2) 2008. LNCS, vol. 5126, paginas 560-78. Springer Heidelberg (2008)
Cita Bibliografica no de Patente 27: Waters, B.: Efficient identity based encryption without random oracles. Eurocrypt 2005, LNCS N° 3152, paginas 443-59. Springer Verlag, 2005.
Cita Bibliografica no de Patente 28: Waters, B.: Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. ePrint, IACR,
http://eprint.iacr.org/2008/290
http://eprint.iacr.org/2008/290
Cita Bibliografica no de Patente 29: Waters, B.: Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, paginas 619-36. Springer Heidelberg (2009)
Compendio de la invencion
Problema tecnico
Es un objeto de la presente invencion proporcionar un esquema de cifrado funcional seguro que tiene funciones criptograficas diversificadas.
Solucion al problema
Un sistema de procesamiento criptografico segun la presente invencion incluye un dispositivo de generacion de claves, un dispositivo de cifrado y un dispositivo de descifrado, y que sirve para asegurar un proceso criptografico usando una base Bt y una base B*t para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas),
en donde el dispositivo de generacion de claves incluye
una primera parte de entrada de informacion que toma como entrada una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), cuya variable p(i) es o bien una de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de la informacion de identificacion t (t es cualquier numero entero de t = 1, ..., d) y un vector de atributo v^i := (vi, i ) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas); y una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas); y
5
10
15
20
25
30
35
40
45
50
una parte de generacion de clave de descifrado que genera un elemento k*o y un elemento k*i para cada numero entero i = 1, ..., L, en base a un vector de columna s^T := (si, ..., sl)t := M ■ f^T generado en base a un vector f^ y un vector w^, cada uno que tiene r partes de elementos, y la matriz M introducida por la primera parte de entrada de informacion; un valor so := w^ f^; y un valor predeterminado 0i (i = 1, ..., L), la parte de generacion de clave de descifrado que esta configurada
para generar el elemento k*o estableciendo el valor -so como coeficiente para el vector base b*o,p (p es un valor predeterminado) de la base B*o y estableciendo un valor predeterminado k como coeficiente para un vector base b*o,q (q es un valor predeterminado diferente del p prescrito), y
para generar un elemento k* para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i) estableciendo si+0M,i como coeficiente para un vector base b*t,i de la base B* indicado por la informacion de identificacion t de la tupla positiva, y estableciendo 0M,i' como coeficiente para un vector base b*,r indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i) estableciendo sm,? como coeficiente para el vector base b*,r indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt,
en donde el dispositivo de cifrado incluye
una segunda parte de entrada de informacion que toma como entrada, un conjunto de atributos r que tiene la informacion de identificacion t y un vector de atributo x^t := (xt,i) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, y
una parte de generacion de datos cifrados que genera un elemento co y un elemento ct que conciernen a cada informacion de identificacion t incluida t incluida en el conjunto de atributos r, en base al conjunto de atributos r introducido por la segunda parte de entrada de informacion, la parte de generacion de datos cifrados que esta configurada
para generar el elemento co donde un valor aleatorio 8 se establece como coeficiente para un vector base bo,p (p es un p prescrito) de la base Bo, y donde un valor predeterminado C se establece como coeficiente para un vector base bo,q (q es un q prescrito) de la base Bo, y
para generar el elemento ct donde xt,i' multiplicado por el valor aleatorio 8 se establece como coeficiente para un vector base bt,i' (i' = 1, ..., nt) de la base Bt para cada informacion de identificacion t incluida en el conjunto de atributos r, y
en donde el dispositivo de descifrado incluye
una parte de adquisicion de datos que adquiere datos cifrados c que incluyen los elementos co y ct y el conjunto de atributos r, los elementos co y ct que se generan por la parte de generacion de datos cifrados,
una parte de adquisicion de clave de descifrado que adquiere una clave de descifrado sks que incluye los elementos k*o y k*i y el numero variable p(i), los elementos k*o y k* que se generan por la parte de generacion de la clave de descifrado,
una parte de calculo de coeficiente complementario que, en base al conjunto de atributos r incluido en los datos cifrados c adquiridos por la parte de adquisicion de datos, y la variable p(i) incluida en la clave de descifrado sks adquirida por la parte de adquisicion de clave de descifrado, especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i) y con la cual un producto interno de v^i de la tupla positiva y x^t incluido en r indicado por la informacion de identificacion t de la tupla positiva llega a ser o, y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i) y con la cual un producto interno de v^i de la tupla negativa y x^t incluido en r indicado por la informacion de identificacion t de la tupla negativa no llega a ser o; y calcula un coeficiente complementario ai con el cual un total de aisi para i incluido en el conjunto I especificado llega a ser so, y
una parte de operacion de emparejamiento que calcula un valor K = gT=A dirigiendo una operacion de emparejamiento indicada en la Formula 1 para los elementos co y ct incluidos en los datos cifrados c y los elementos k*o y k* incluidos en la clave de descifrado sks, en base al conjunto I especificado por la parte de calculo de coeficiente complementario y al coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario.
[Formula 1]
5
10
15
20
25
30
35
40
Efectos ventajosos de la invencion
El sistema de procesamiento criptografico segun la presente criptograficas, e implementa cifrado funcional empleando un interno. Tambien este sistema de procesamiento criptografico convencional.
Breve descripcion 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 configuracion de un sistema de procesamiento criptografico 10 que ejecuta un esquema de cifrado funcional de polftica de clave.
La Fig. 6 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de polftica de clave.
La Fig. 7 es un diagrama de flujo que muestra el proceso del algoritmo Setup.
La Fig. 8 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen.
La Fig. 9 es un diagrama de flujo que muestra el proceso del algoritmo Enc.
La Fig. 10 es un diagrama de flujo que muestra el proceso del algoritmo Dec.
La Fig. 11 es un diagrama de configuracion de un sistema de procesamiento criptografico 10 que ejecuta el algoritmo de un esquema de cifrado funcional de polftica de texto cifrado.
La Fig. 12 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de polftica de texto cifrado.
La Fig.13 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen.
La Fig. 14 es un diagrama de flujo que muestra el proceso del algoritmo Enc.
La Fig. 15 es un diagrama de flujo que muestra el proceso del algoritmo Dec.
La Fig. 16 es un diagrama de configuracion de un sistema de procesamiento de firmas 20.
La Fig. 17 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento de firmas 20.
La Fig. 18 es un diagrama de flujo que muestra el proceso del algoritmo Setup.
La Fig. 19 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen.
La Fig. 20 es un diagrama de flujo que muestra el proceso del algoritmo Enc.
La Fig. 21 es un diagrama de flujo que muestra el proceso del algoritmo Dec.
La Fig. 22 es un diagrama que muestra un ejemplo de la configuracion de hardware de cada uno del dispositivo de generacion de claves 100, un dispositivo de cifrado 200, un dispositivo de descifrado 300, un dispositivo de firma 400 y un dispositivo de verificacion 500.
Descripcion de realizaciones
Se describiran en lo sucesivo realizaciones de la presente invencion con referencia a los dibujos anexos.
En la siguiente descripcion, un dispositivo de procesamiento es, por ejemplo, una CPU 911 (a ser descrita mas tarde). El dispositivo de almacenamiento es, por ejemplo, una ROM 913, una RAM 914 o un disco magnetico 920 (cada uno se describira mas tarde). El dispositivo de comunicacion es, por ejemplo, una placa de comunicacion 915 (a ser descrita mas tarde). El dispositivo de entrada es, por ejemplo, un teclado 902 o la placa de comunicacion 915 (a ser descrita mas tarde). Esto es, el dispositivo de procesamiento, el dispositivo de almacenamiento, el dispositivo de comunicacion y el dispositivo de entrada son hardware.
invencion implementa un gran numero de funciones programa de intervalo y un predicado de producto es mas seguro que un esquema de cifrado funcional
5
10
15
20
25
30
Se explicara la notacion en la siguiente descripcion.
Cuando A es una variable o distribucion aleatoria, la Formula 101 indica que y se selecciona aleatoriamente a partir de A segun la distribucion de A. Esto es, en la Formula 101, y es un numero aleatorio.
[Formula 101]
Cuando A es un conjunto, la Formula 102 indica que y se selecciona uniformemente a partir de A. Esto es, en la Formula 102, y es un numero aleatorio uniforme.
[Formula 102]
La Formula 103 indica que y es un conjunto, definido o sustituido por z.
[Formula 103]
y := z
Cuando a es un valor fijo, la Formula 104 indica un evento que una maquina (algoritmo) A emite a en la entrada x. [Formula 104]
A(x) ^ a
Por ejemplo,
A(x) ^ 1
La Formula 105, esto es, Fq, indica un campo finito de orden q.
[Formula 105]
Un sfmbolo vectorial indica una representacion vectorial sobre el campo finito Fq. Esto es, se establece la Formula 106.
[Formula 106]
X
indica
La Formula 107 indica el producto interno, indicado por la Formula 109, de dos vectores x^ e y^ indicados en la Formula 108.
[Formula 107]
X-V
[Formula 108]
5
10
15
20
25
[Formula 109]
Observese que XT indica la transpuesta de la matriz M.
Cuando bi (i = 1, ..., n) es un elemento de un vector de un espacio V, esto es, cuando se establece la Formula 110, la Formula 111 indica un subespacio generado por la Formula 112.
[Formula 110]
[Formula 111]
intervalo(&j,...,£w^ c V (resp. intervalo^jq,.
[Formula 112]
b\,...,bn (resp. xi,
Observese que para las bases B y B* indicadas en la Formula 113, se establece la Formula 114.
[Formula 113]
B:=
r :=(&f
[Formula 114]
(^1,..., Xft )]g — 5
O'l.-.ywlir :=
En la siguiente descripcion, cuando “nt” se indica para incluir un subrndice o un supermdice, nt es nt. Del mismo modo, cuando “Vt” se indica para incluir un subrndice o un supermdice, Vt es Vt. Del mismo modo, cuando “5ij” se indica para incluir un supermdice, 5i,j es 5y.
Cuando ‘W que indica que un vector esta unido a un subrndice o supermdice, ‘W se une como supermdice al subrndice o supermdice.
Cuando B0 y Bd+1 que representan una base se indica para incluir un subrndice, B0 o Bd+1 representa Bo o Bd+1. Del mismo modo, cuando B*0 y B*d+1 que representan una base se indican para incluir un subrndice, B*0 o B*d+1 representa B*o o B*d+1.
En la siguiente descripcion, un proceso criptografico incluye un proceso de generacion de claves, un proceso de cifrado y un proceso de descifrado, y un proceso de firma incluye un proceso de generacion de claves, un proceso de firma y un proceso de verificacion.
Realizacion 1.
5
10
15
20
25
30
35
40
45
50
Esta realizacion describe un concepto basico para implementar el “esquema de cifrado funcional a ser descrito en las siguientes realizaciones, y una estructura del cifrado funcional.
En primer lugar, se explicara brevemente el cifrado funcional.
En segundo lugar, se describira un espacio que tiene una estructura matematica rica llamada "espacios vectoriales de emparejamiento dual (DPVS)” que es un espacio para implementar el cifrado funcional.
En tercer lugar, se describira un concepto para implementar el cifrado funcional. Aqm, se describiran un “programa de intervalo”, “el producto interno de vectores de atributo, y una estructura de acceso”, y un “esquema de distribucion de secreto (esquema de comparticion de secreto)”.
En cuarto lugar, se describira un “esquema de cifrado funcional” segun esta realizacion. En esta realizacion, se describira un “esquema de cifrado funcional de polftica de clave (KP-FE)”. Inicialmente, se describira la estructura basica del “esquema de cifrado funcional de polftica de clave”. Posteriormente, se describira la estructura basica de un “sistema de procesamiento criptografico 10” que implementa el “esquema de cifrado funcional de polftica de clave”. Luego, se describiran en detalle un “esquema de cifrado funcional de polftica de clave” y un “sistema de procesamiento criptografico 10” segun esta realizacion.
<1. Esquema de cifrado funcional>
El esquema de cifrado funcional es un esquema de cifrado que proporciona relaciones mas sofisticadas y flexibles entre una clave de cifrado (ek) y una clave de descifrado (dk).
Segun el esquema de cifrado funcional, un atributo x y un atributo y se establecen en una clave de cifrado y una clave de descifrado, respectivamente. Una clave de descifrado dkv := (dk, v) puede descifrar un texto cifrado, cifrado con una clave de cifrado ekx := (ek, x) solo si R(x, v) se mantiene para la relacion R.
El esquema de cifrado funcional tiene distintas aplicaciones en las areas de control de acceso de bases de datos, servicios de correo, distribucion de contenidos y similares (veanse las Citas Bibliograficas no de Patente 2, 7, 9, 16, 19, 23 a 26 y 28).
Cuando R es una relacion de igualdad, es decir, cuando R(x, v) se mantiene solo si x = v, el esquema de cifrado funcional es el esquema de cifrado basado en ID.
Como una clase mas general de esquema de cifrado funcional que el esquema de cifrado basado en ID, se han propuesto esquemas de cifrado basado en atributos.
Segun los esquemas de cifrado basado en atributos, cada atributo que se establece para una clave de cifrado y una clave de descifrado es una tupla de atributos. Por ejemplo, los atributos que se establecen para una clave de cifrado y una clave de descifrado son X := (x-i, ..., xd) y V := (v-i, ..., vd), respectivamente.
Las relaciones de igualdad en modo componente para los componentes de atributo (por ejemplo, {xt = vt}te {1, ..., d}) se introducen en una estructura de acceso S, y R(X, V) se mantiene si y solo si la entrada se acepta por la estructura de acceso S. Esto es, el texto cifrado, cifrado con la clave de cifrado se puede descifrar con la clave de descifrado.
Si la estructura de acceso S esta integrada en la clave de descifrado dkv, el esquema de cifrado basado en atributos (ABE) se denomina ABE de polftica de clave (KP-ABE). Si la estructura de acceso S esta integrada en un texto cifrado, el esquema de cifrado basado en atributos (ABE) se denomina ABE de polftica de texto cifrado (CP-ABE).
El cifrado de producto interno (IPE) descrito en la Cita Bibliografica no de Patente 19 es tambien una clase de cifrado funcional, donde cada atributo para la clave de cifrado y la clave de descifrado es un vector sobre un campo o anillo. Por ejemplo, x^ := (x1, ..., xn) e Fqn y v^ := (v1, ..., vn) e Fqn se establecen para la clave de cifrado y la clave de
descifrado. R(x^, v^) se mantiene si y solo si x^ y^ = 0.
<2. Espacios vectoriales de emparejamiento dual>
En primer lugar, se describiran grupos de emparejamiento bilineal simetricos.
Los grupos de emparejamiento bilineal simetricos (q, G, GT, g, e) son una tupla de un primo q, un grupo aditivo dclico G de orden q y un grupo multiplicativo dclico GT de orden q, g £ 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) 11.
En la siguiente descripcion, permitamos que la Formula 115 sea un algoritmo que tome como entrada 1A y emita un valor de un parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineales con un parametro de seguridad A.
[Formula 115]
5
10
15
20
25
Se describiran 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 simetricos (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 Formula 116, un grupo dclico Gt del orden q, y una base canonica A := (a-i, ..., aN) del espacio V, y tienen las siguientes operaciones (1) y (2) donde ai es como se indica en la Formula 117.
[Formula 116]
[Formula 117]
Operacion (1): Emparejamiento bilineal no degenerado El emparejamiento en el espacio V se define por la Formula 118. [Formula 118]
donde
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. Tambien, e(g, g) £ 1 e Gt.
Operacion (2): Mapas de distorsion
La transformacion lineal O i, j en el espacio V indicada en la Formula 119 puede lograr la Formula 120.
[Formula 119]
= ai
Si k*j faj(ak) = 0
[Formula 120]
Observese que
(gi, ..., gN) :=x
La transformacion lineal Oi, j se denominara “mapas de distorsion”.
5
10
15
20
25
30
35
40
45
50
En la siguiente descripcion, permitamos que la Formula 121 sea un algoritmo que toma como entrada, 1A (A e numero natural), N e numero natural, y el valor del parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineales, y emite el valor de un parametro paramv := (q, V, Gt, A, e) de espacios vectoriales de emparejamiento dual que tienen un parametro de seguridad A, y que forman espacio N-dimensional V.
[Formula 121]
Se describira un caso donde se construyen espacios vectoriales de emparejamiento dual a partir de los grupos de emparejamiento bilineal simetricos descritos anteriormente. Los espacios vectoriales de emparejamiento dual se pueden construir tambien a partir de grupos de emparejamiento bilineal asimetricos. La siguiente descripcion se puede aplicar facilmente a un caso donde se construyen espacios vectoriales de emparejamiento dual a partir de grupos de emparejamiento bilineal asimetricos.
<3. Concepto para implementar un cifrado funcional>
<3-1. Programa de intervalo>
La Fig. 1 es un dibujo explicativo de una matriz MA
Permitamos que {p- ..., 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 la columna de la matriz M y esta relacionada con uno de los literales {p- ..., pn, -p- ..., -pn}. Una etiqueta pi (i = 1, ..., L) de cada fila de M esta relacionada con uno de los literales, esto es, p : {1, ..., L} ^-{p-i, ..., pn, -p-i, ..., -pn}.
Para cada secuencia de entrada 8 e {0, 1}n, se define una submatriz Ms de la matriz M. La matriz Ms es una submatriz que consiste en aquellas filas de la matriz M, cuyas etiquetas p se relacionan con un valor “1” mediante la secuencia de entrada 8. Esto es, la matriz Ms es una submatriz que consiste en las filas de la matriz M que estan relacionadas con pi con los cuales Si = 1 y las filas de la matriz M que estan relacionadas con -pi con los cuales Si = 0.
La Fig. 2 es un dibujo explicativo de la matriz Ms. Observese que en la Fig. 2, n = 7, L = 6 y r = 5. Es decir, el conjunto de variables es {p- ..., pz}, y la matriz M es una matriz (6 filas x 5 columnas). En la Fig. 2, suponemos que las etiquetas p estan relacionadas de manera que p1 corresponde a -p2, p2 a p- p3 a p4, p4 a -p5, p5 a -p3 y p6 a -p5.
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 estan relacionadas con los literales (p- p3, p6, pz, -p2, -p4, -p5) rodeados por lmeas 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(j) = 1. Observese que Mj es la fila de orden j de la matriz M.
Es decir, en la Fig. 2, el mapa Y(j) = 1 (j = 1,2, 4), asf el mapa Y(j) = 0 (j = 3, 5, 6). Por lo tanto, (Mj)v® = 1 es M1, M2 y M4, y la matriz M5.
Mas espedficamente, si la fila de orden i 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 intervalo MA acepta una secuencia de entrada 8 si y solo si 1^ e intervalo <Mb>, y rechaza la secuencia de entrada 8 de otro modo. Esto es, el programa de intervalo MA acepta la secuencia de entrada 8 si y solo si la combinacion lineal de las filas de la matriz M5 que se obtienen de la matriz MA mediante la secuencia de entrada 8 da 1d 1^ es un vector de fila que tiene un valor de “1” en cada elemento.
Por ejemplo, en la Fig. 2, el programa de intervalo MA acepta la secuencia de entrada 8 si y solo si la combinacion lineal de las respectivas filas de la matriz M5 que consiste en la 1a, 2a y 4a filas de la matriz M da 1d Es decir, si existen a- a2 y a4 con las cuales a-i(M-i) + a2(M2) + a4(M4) = 1^, el programa de intervalo MA acepta la secuencia de entrada 8.
Un programa de intervalo se llama monotono si las etiquetas p se relacionan solamente con los literales positivos {p1, ..., pn}. Un programa de intervalo se llama no monotono si las etiquetas p se relacionan con los literales {p- ..., pn, -p1, ., -pn}. Supongamos que el programa de intervalo es no monotono. Una estructura de acceso (estructura de acceso no monotona) se constituye usando el programa de intervalo no monotono. En resumen, una estructura de acceso controla el acceso al cifrado, esto es, controla si ha de ser descifrado o no un texto cifrado.
Debido a que el programa de intervalo no es monotono sino no monotono, se amplfa la aplicacion de los esquemas de cifrado funcional constituidos usando el programa de intervalo. Esto se describira en detalle mas tarde.
5
10
15
20
25
30
35
40
45
<3-2. Producto interno de los vectores de atributo y la estructura de acceso>
El mapa Y(j) descrito anteriormente se calculara usando los productos internos de los vectores de atributos. Esto es, que fila de la matriz M ha de ser incluida en la matriz M5 se determinara usando los productos internos de los vectores de atributo.
Ut (t = 1, ..., d y Ut ^ {0, 1}*) es un subuniverso y conjunto de atributos. Cada Ut incluye informacion de identificacion (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 intervalo MA := (M, p), es decir, p := (t, v^).
Permitamos que un programa de intervalo MA := (M, p) que tiene la variable (p := (t, v^), (t', v'^), ...) sea una
estructura de acceso S.
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 intervalo MA := (M, p) se define como sigue. Para cada numero entero i = 1, ..., L, establecemos Y(j) = 1 si [p(i) = (t, v^i)] a [(t, x^t)]e H a [v^i-x^t = 0 ] o [p(i) = -(t, v^i)] a [(t, x^t)]G r] a [v^ x^t ^ 0 ]. Establecemos yG) = 0 de otro modo.
Esto es, el mapa y se calcula en base al producto interno de los vectores de atributo v^ y xd Como se ha descrito
anteriormente, que fila de la matriz M ha de ser incluida en la matriz M5 se determina por el mapa y. Mas espedficamente, que fila de la matriz M ha de ser incluida en la matriz M5 se determina por el producto interno de los vectores de atributo v^ y xd La estructura de acceso S := (M, p) acepta r si y solo si 1^ e intervalo <(Mi)V(i)=1 >.
<3-3. Esquema de comparticion de secreto>
Se describira un esquema de comparticion de secreto para la estructura de acceso S := (M, p).
El esquema de comparticion de secreto esta permitiendo que la informacion de secreto sea compartida para presentarla como informacion compartida sin sentido. Por ejemplo, la informacion de secreto s se permite que sea compartida entre 10 paquetes para generar 10 partes de informacion compartida. Cada una de las 10 partes de informacion compartida no tiene informacion sobre la informacion de secreto s. Por lo tanto, incluso cuando se obtiene una cierta parte de informacion compartida, no se puede obtener informacion sobre la informacion de secreto s. Por otra parte, si se obtienen todas de las 10 partes de informacion compartida, se puede recuperar la informacion de secreto s.
Otro esquema de comparticion de secreto tambien esta disponible segun el cual, incluso cuando no se puedan obtener todas de las 10 partes de informacion compartida, si se pueden obtener una o mas, pero no todas, (por ejemplo, 8 partes) de informacion compartida, entonces se puede recuperar la informacion de secreto. Un caso como este donde la informacion de secreto s se puede recuperar usando 8 de entre las 10 partes de informacion compartida se llamara 8 de entre 10. Es decir, un caso donde la informacion de secreto s se puede recuperar usando t de entre n partes de informacion compartida se llamara t de entre n. Esta t se llamara umbral.
Tambien, otro esquema de comparticion de secreto mas esta disponible segun el cual cuando se generan 10 partes de informacion compartida d-i, ..., dm la informacion de secreto s se puede recuperar si se dan 8 partes de informacion compartida d1, ..., da, pero no se puede si se dan 8 partes de informacion compartida d3, ..., dm Esto es, hay un esquema de comparticion de secreto con el que si se puede recuperar o no la informacion de secreto s se controla no solamente por el numero de partes de informacion compartida obtenido, sino tambien dependiendo de la combinacion de la informacion compartida.
La Fig. 3 es un dibujo explicativo de s0. 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 Formula 122.
[Formula 122]
Permitamos que s0 indicado en la Formula 123 sea la informacion de secreto a ser compartida. [Formula 123]
5
10
15
20
25
30
35
40
45
Permitamos que s^T indicado en la Formula 124 sea el vector de L partes de informacion compartida de so. [Formula 124]
Permitamos que la informacion compartida si pertenezca a p(i).
Si la estructura de acceso S := (M, p) acepta r, es decir, 1^ G intervalo <(Mi)V(i) = i> para y : {1, ..., L} ^ {0, 1}, entonces existen constantes {ai G Fq | i G I}, de manera que I ^ {i G {1, ..., L} | y(i) = 1}.
Esto es obvio a partir de la explicacion de la Fig. 2 en que si existen a-i, a2 y a4 con las cuales a-i(M-i) + a2(M2) + a4(M4) = 1^, el programa de intervalo MA acepta una secuencia de entrada 8. Esto es, si el programa de intervalo 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) = 1d
Observese la Formula 125.
[Formula 125]
Observese que las constantes {ai} se pueden calcular en polinomios de tiempo en el tamano de la matriz M.
Con el esquema de cifrado funcional segun esta y las siguientes realizaciones, se construye una estructura de acceso aplicando el predicado de producto interno y el esquema de comparticion de secreto al programa de intervalo, como se ha descrito anteriormente. Por lo tanto, se puede disenar un control de acceso de manera flexible disenando la matriz M en el programa de intervalo y la informacion de atributo x y la informacion de atributo v (informacion de predicado) en el predicado de producto interno. Esto es, se puede disenar un control de acceso con un grado de libertad muy alto. El diseno de la matriz M corresponde al diseno de condiciones tales como el umbral del esquema de comparticion de secreto.
Por ejemplo, el esquema de cifrado basado en atributos descrito anteriormente corresponde a un caso, en la estructura de acceso en el esquema de cifrado funcional segun esta y las siguientes realizaciones, donde el diseno del predicado del producto interno esta limitado a una cierta condicion. Es decir, cuando se compara con la estructura de acceso en el esquema de cifrado funcional segun esta y las siguientes realizaciones, la estructura de acceso en el esquema de cifrado basado en atributos tiene un grado de libertad menor en el diseno de un control de acceso debido a que carece del grado de libertad en el diseno de la informacion de atributo x y la informacion de atributo v (informacion de predicado) en el predicado del producto interno. Mas espedficamente, el esquema de cifrado basado en atributos corresponde a un caso donde la informacion de atributo {x^t}tG {1, ..., d} y {v^t}tG {1, ..., d} esta limitada a vectores bidimensionales para la relacion de igualdad, por ejemplo, x^t := (1, xt) y v^t := (vt, -1).
El esquema de cifrado de predicado del producto interno descrito anteriormente corresponde a un caso, en la estructura de acceso en el esquema de cifrado funcional segun esta y las siguientes realizaciones, donde el diseno de la matriz M en el programa de intervalo esta limitado a una cierta condicion. Es decir, cuando se compara con la estructura de acceso en el esquema de cifrado funcional segun esta y las siguientes realizaciones, la estructura de acceso en el esquema de cifrado de predicado del producto interno tiene un grado de libertad menor en el diseno de un control de acceso debido a que carece del grado de libertad en el diseno de la matriz M en el programa de intervalo. Mas espedficamente, el esquema de cifrado de predicado del producto interno corresponde a un caso donde el esquema de comparticion de secreto esta limitado a 1 de entre 1 (o d de entre d).
En particular, la estructura de acceso en el esquema de cifrado funcional segun esta y las siguientes realizaciones constituye una estructura de acceso no monotona que usa un programa de intervalo no monotono. De esta manera, el grado de libertad en el diseno de un control de acceso mejora.
Mas espedficamente, dado que el programa de intervalo no monotono incluye un literal negativo (-p), se puede establecer una condicion negativa. Por ejemplo, supongamos que Primera Empresa incluye cuatro departamentos de A, B, C y D. Supongamos que ha de ser realizado el control de acceso que solamente los usuarios que pertenecen a departamentos distintos del departamento B de la Primera Empresa sean capaces de acceder (capaces de descifrado). En este caso, si no se puede establecer una condicion negativa, se debe establecer una
5
10
15
20
25
30
35
40
45
condicion de que “el usuario pertenezca a cualquiera de los departamentos A, C y D de la Primera Empresa”. Por otra parte, si se puede establecer una condicion negativa, se puede establecer una condicion en la que “el usuario es empleado de la Primera Empresa y pertenece a un departamento distinto del departamento B”. Esto es, dado que se puede establecer una condicion negativa, es posible establecer una condicion natural. Aunque el numero de departamentos es pequeno en este caso, este esquema es muy eficaz en un caso donde el numero de departamentos es grande.
<4 Estructura basica de esquema de cifrado funcional>
<4-1. Estructura basica de esquema de cifrado funcional de politica de clave>
Se describira brevemente la estructura de un esquema de cifrado funcional de polftica de clave. Observese que politica de clave significa que la politica esta integrada en la clave de descifrado, es decir, que una estructura de acceso esta integrada en la clave de descifrado.
El esquema funcional de politica de clave consiste en cuatro algoritmos: Setup, KeyGen, Enc y Dec.
(Setup)
Un algoritmo Setup es un algoritmo aleatorizado que toma como entrada un parametro de seguridad Ay un formato de atributo := (d; n-i, ..., nd), y emite los parametros publicos pk y la clave maestra sk.
(KeyGen)
Un algoritmo KeyGen es un algoritmo aleatorizado que toma como entrada una estructura de acceso S := (M, p), los parametros publicos pk y la clave maestra sk, y emite una clave de descifrado sks.
(Enc)
Un algoritmo Enc es un algoritmo aleatorizado que toma como entrada un mensaje m, un conjunto de atributos r : = {(t, x^t) | x^t) £ Fqnt, 1 < t < d} y los parametros publicos pk, y emite los datos cifrados c.
(Dec)
Un algoritmo Dec es un algoritmo que toma como entrada los datos cifrados c cifrados bajo el conjunto de atributos r, la clave de descifrado sks, para la estructura de acceso S, y los parametros publicos pk, y emite o bien el mensaje m o bien el sfmbolo distinguido -^.
Un esquema de cifrado funcional de politica de clave debena tener la siguiente propiedad: para todas las estructuras de acceso S, el conjunto de atributos r, los parametros publicos pk generados correctamente, la clave maestra sk, y el texto cifrado c indicado en la Formula 126, mantiene que m = Dec(pk, sks, c) si la estructura de acceso S acepta el conjunto de atributos r Si la estructura de acceso S rechaza el conjunto de atributos r, la probabilidad de m = Dec(pk, sks, c) es despreciable.
[Formula 126]
Enc(pk,/«fr)
<4-2. Sistema de procesamiento criptografico 10>
Se describira un sistema de procesamiento criptografico 10 que ejecuta los algoritmos del esquema de cifrado funcional de politica de clave descrito anteriormente.
La Fig. 5 es un diagrama de configuracion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de politica de clave.
El sistema de procesamiento criptografico 10 esta dotado con un dispositivo de generacion de claves 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300.
El dispositivo de generacion de claves 100 ejecuta el algoritmo Setup tomando como entrada un parametro de seguridad A y un formato de atributo p^ := (d; n-i, ..., nd), y genera los parametros publicos pk y una clave maestra sk. El dispositivo de generacion de claves 100 hace publicos los parametros publicos pk generados. El dispositivo de generacion de claves 100 tambien ejecuta el algoritmo KeyGen tomando como entrada una estructura de acceso S, genera una clave de descifrado sks, y distribuye la clave de descifrado sks al dispositivo de descifrado 300 en secreto.
5
10
15
20
25
30
35
40
El dispositivo de cifrado 200 ejecuta el algoritmo Enctomando como entrada un mensaje m, un conjunto de atributos r, y los parametros publicos pk, y genera los datos cifrados c. El dispositivo de cifrado 200 transmite los datos cifrados c generados al dispositivo de descifrado 300.
El dispositivo de descifrado 300 ejecuta el algoritmo Dec tomando como entrada los parametros publicos pk, la clave de descifrado sks y los datos cifrados c, y emite un mensaje m o sfmbolo distinguido -^.
<4-3. Esquema de cifrado funcional de politica de clave y sistema de procesamiento criptografico 10 en detalle>
El esquema de cifrado funcional de polftica de clave, y la funcion y la operacion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de politica de clave se describiran con referencia a las Fig. 6 a 10.
La Fig. 6 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de polftica de clave. El sistema de procesamiento criptografico 10 esta dotado con el dispositivo de generacion de claves 100, el dispositivo de cifrado 200 y el dispositivo de descifrado 300, como se ha descrito anteriormente.
Las Fig. 7 y 8 son diagramas de flujo que muestran la operacion del dispositivo de generacion de claves 100. Observese que la Fig. 7 es un diagrama de flujo que muestra el proceso del algoritmo Setup, y que la Fig. 8 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen. La Fig. 9 es un diagrama de flujo que muestra la operacion del dispositivo de cifrado 200 y el proceso del algoritmo Enc. La Fig. 10 es un diagrama de flujo que muestra la operacion del dispositivo de descifrado 300 y el proceso del algoritmo Dec.
Supongamos que xt,i := 1 en la siguiente descripcion.
Se describira la funcion y la operacion del dispositivo de generacion de claves 100. El dispositivo de generacion de claves 100 esta dotado con una parte de generacion de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de informacion 130 (primera parte de entrada de informacion), una parte de generacion de clave de descifrado 140, y una parte de distribucion de clave 150. La parte de generacion de clave de descifrado 140 esta dotada con una parte de generacion de vector f 141, una parte de generacion de vector s 142, una parte de generacion de numero aleatorio 143 y una parte de generacion de elemento de clave 144.
El proceso del algoritmo Setup se describira primero con referencia a la Fig. 7.
(S101: Paso de generacion de base ortogonal regular)
La parte de generacion de clave maestra 110 calcula la Formula 127 con el dispositivo de procesamiento para generar paramM^, y las bases Bt y B*t para cada numero entero t = 0, ..., d.
[Formula 127]
(1)
(2)
(3)
y/<r——F*,iV0:=5, Nt:=4nt Para t = l,...,d
Los procesos de (4) a (8) se ejecutan para cada t = 0, ..., d. (4)
5
10
15
20
25
30
35
u
(7)
(8)
(9)
ST :== e(s.gY
param- :=({param Ylh=o,...,d,gr)
Esto es, la parte de generacion de clave maestra 110 ejecuta los siguientes procesos.
(1) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 toma como entrada el parametro de seguridad A(1A) y el formato de atributo := (d; n1, ..., nd), donde d es un numero entero de 1 o mas, y nt es un numero entero de 1 o mas para cada numero entero t = 1, ..., d.
(2) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 ejecuta el algoritmo Gbpg tomando como entrada el parametro de seguridad A(1A) introducido en (1), y genera el valor de un parametro paramG := (q, G, Gt, g, e) del grupo de emparejamiento bilineal.
(3) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 genera un numero aleatorio y, y establece 5 en N0 y 4nt en Nt para cada numero entero t = 1, ..., d.
Posteriormente, la parte de generacion de clave maestra 110 ejecuta los procesos de los siguientes (4) a (8) para cada numero entero t = 0, ..., d.
(4) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 ejecuta el algoritmo Gdpvs tomando como entrada el parametro de seguridad A(1A) introducido en (1), Nt establecido en (3) y el valor de paramG := (q, G, Gt, g, e) generado en (2), y genera el valor del parametro paramvt := (q, Vt, Gt, A, e) de los espacios vectoriales de emparejamiento dual.
(5) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 toma como entrada Nt establecido en (3), y Fq, y genera la transformacion lineal Xt := (Xt,i,j)u aleatoriamente. Observese que GL representa Lineal General. Esto es, GL es un grupo lineal general, un conjunto de matrices cuadradas en el que el determinante no es 0, y un grupo con respecto a multiplicacion. Observese que (Xt,i,j)u significa una matriz: concerniente a los sufijos i y j de la matriz Xt,i,j donde i, j = 1, ..., nt.
(6) Con el dispositivo de procesamiento y en base al numero aleatorio y y la transformacion lineal Xt, la parte de generacion de clave maestra 110 genera (vt,i,j)i,j := Y(XtT)-1. Como lo hace (Xt,i,j)i,j, (vt,i,j)i,j significa una matriz concerniente a los sufijos i y j de la matriz: vt,i,j donde i, j = 1, ..., nt.
(7) Con el dispositivo de procesamiento y en base a la transformacion lineal Xt generada en (5), la parte de generacion de clave maestra 110 genera la base Bt a partir de la base canonica At generada en (4).
(8) Con el dispositivo de procesamiento y en base a (vt,i,j)i,j generada en (6), la parte de generacion de clave maestra 110 genera la base B*t a partir de la base canonica At generada en (4).
(9) Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 establece e(g, g)* en gT. La parte de generacion de clave maestra 110 tambien establece {paramvt}t = o, ..., d generado en (4), y gT, en paramM^. Observese que gT = e (bt,i, b*t,i) para cada numero entero t = 0, ..., d y cada numero entero i = 1, ..., Nt.
En resumen, en (S101), la parte de generacion de clave maestra 110 ejecuta el algoritmo Gob indicado en la Formula 5 128, y genera paramM^ y las bases Bt y B*t para cada numero entero t = 0, ..., d.
[Formula 128]
(S102: Paso de generacion de parametros publicos)
Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 genera una subbase BA0 de la 10 base Bt generada en (S101), y una subbase BAt para cada numero entero t = 1, ..., d, como se indica en la Formula 129.
[Formula 129]
A
®0 := <\b&0,3A,5)>
A.
para
La parte de generacion de clave maestra 110 trata las subbases generadas BA0 y BAt, el parametro de seguridad 15 A(1A) introducido en (S101) y paramM^ generado en (S101), como los parametros publicos pk.
(S103: Paso de generacion de clave maestra)
Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 genera una subbase BA*0 de la base B*t generada en (S101), y una subbase BA*t para cada numero entero t = 1, ..., d, como se indica en la Formula 130.
20 [Formula 130]
La parte de generacion de clave maestra 110 trata las subbases generadas BA*o y BA*t, como la clave maestra sk,. (S104: Paso de almacenamiento de clave maestra)
La parte de almacenamiento de clave maestra 120 almacena los parametros publicos pk incluyendo la subbase BA*t generada en (S102) para cada numero entero t = 0, ..., d, en el dispositivo de almacenamiento. La parte de 5 almacenamiento de clave maestra 120 tambien almacena la clave maestra sk incluyendo la subbase BA*t generada en (S103) para cada numero entero t = 0, ..., d, en el dispositivo de almacenamiento.
En resumen, desde (S101) hasta (S103), la parte de generacion de clave maestra 110 genera los parametros publicos pk y la clave maestra sk ejecutando el algoritmo Setup indicado en la Formula 131. Entonces, en (S104), la parte de almacenamiento de clave maestra 120 almacena los parametros publicos pk y la clave maestra sk 10 generados, en el dispositivo de almacenamiento.
Observese que los parametros publicos se hacen publicos a traves de, por ejemplo, una red, de modo que el dispositivo de cifrado 200 y el dispositivo de descifrado 300 pueden adquirirlos.
[Formula 131]
15 El proceso del algoritmo KeyGen se describira con referencia a la Fig. 8.
(S201: Paso de entrada de informacion)
Con el dispositivo de entrada, la parte de entrada de informacion 130 toma como entrada la estructura de acceso S := (M, p) descrita anteriormente. La matriz M de la estructura de acceso S se establece dependiendo de la condicion del sistema que el usuario desee realizar. Tambien, por ejemplo, la informacion de atributo del usuario de la clave de 20 descifrado sks se establece en p de la estructura de acceso S.
(S202: Paso de generacion de vector f)
Con el dispositivo de procesamiento, la parte de generacion de vector f 141 genera un vector f^ que tiene r partes de elementos, aleatoriamente como se indica en la Formula 132.
[Formula 132]
25
(S203: Paso de generacion de vector s)
Con el dispositivo de procesamiento, la parte de generacion de vector s 142 genera un vector s^T := (s-i, ..., sl)t en base a la matriz M (L filas x r columnas) incluida en la estructura de acceso S introducida en (S201) y el vector f^ generado en (S202), como se indica en la Formula 133.
30 [Formula 133]
Con el dispositivo de procesamiento, la parte de generacion de vector s 142 genera un valor so en base al vector f^ generado en (S202), como se indica en la Formula 134.
[Formula 134]
5
(S204: Paso de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 143 genera un numero aleatorio Ho, y un numero aleatorio 0i para cada numero entero i = 1, ..., L, como se indica en la Formula 135.
[Formula 135]
10 (S205: Paso de generacion de elemento de clave)
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 144 genera un elemento k*0 de la clave de descifrado sks, como se indica en la Formula 136.
[Formula 136]
15 Como se ha descrito anteriormente, para las bases B y B* indicadas en la Formula 113, se establece la Formula 114. Por lo tanto, la Formula 136 significa establecer -s0 como el coeficiente para un vector base b*0,1 de una base B*0, 0 como el coeficiente para un vector base b*0,2, 1 como el coeficiente para un vector base b*0,3, 00 como el coeficiente para un vector base b*0,4, y 0 como el coeficiente para un vector base b*0,5.
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 144 tambien genera un elemento 20 k*i de la clave de descifrado sks para cada numero entero i = 1, ..., L, como se indica en la Formula 137.
[Formula 137]
Mas espedficamente, como lo hace la Formula 136, la Formula 137 significa, cuando p(i) es una tupla positiva (t, v^i), estableciendo s i + 0m,1 como el coeficiente para un vector base b*t,1, 0m,2, ..., 0M,nt como los coeficientes para 25 los vectores base b*t,2, ..., b*t,nt, 0 como los coeficientes para los vectores base b*t,nt+1, ..., b*t,2nt, nu, ..., Hi,nt como los coeficientes para los vectores base b*t,2nt+1, ..., b*t,3nt, y 0 como los coeficientes para los vectores base b*t,3nt+1, ..., b*t,4nt, de la base B*.
La Formula 137 tambien significa, cuando p(i) es una tupla negativa -(t, v^i), estableciendo sm,1, ..., sw,nt como los coeficientes para los vectores de base b*t,1,, ..., b%t, 0 como los coeficientes para los vectores de base b*t,nt+1, ..., 30 b*t,2nt, ni,1, . ., Hi,nt como los coeficientes para los vectores de base b*t,2nt+1, ..., b*t,3nt, y 0 como los coeficientes para
los vectores base b*t,3nt+1, ..., b*t,4nt, de la base B*t.
(S206: Paso de distribucion de claves)
5
10
15
20
25
Por ejemplo, con el dispositivo de comunicacion, la parte de distribucion de claves 150 distribuye la clave de descifrado sks constituida por, como elementos, la estructura de acceso S introducida en (S201) y k*0, k*1, ..., k*t generados en (S205), en el dispositivo de descifrado 300 en secreto a traves de la red. Como cuestion de rutina, la clave de descifrado sks se puede distribuir al dispositivo de descifrado 300 por otro metodo.
Mas espedficamente, desde (S201) hasta (S205), la parte de entrada de informacion 130 y la parte de generacion de clave de descifrado 140 generan la clave de descifrado sks ejecutando el algoritmo KeyGen indicado en la Formula 138. Luego, en (S206), la parte de distribucion de claves 150 distribuye la clave de descifrado sks generada al dispositivo de descifrado 300.
[Formula 138]
Se describira la funcion y la operacion del dispositivo de cifrado 200. El dispositivo de cifrado 200 esta dotado con una parte de adquisicion de parametros publicos 210, una parte de entrada de informacion 220 (segunda parte de entrada de informacion), una parte de generacion de datos cifrados 230 y una parte de transmision de datos 240 (parte de salida de datos). La parte de generacion de datos cifrados 230 esta dotada con una parte de generacion de numeros aleatorios 231 y una parte de generacion de elementos criptograficos 232.
El proceso del algoritmo Enc se describira con referencia a la Fig. 9.
(S301: Paso de adquisicion de parametros publicos)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de parametros publicos 210 adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100, a traves de la red.
(S302: Paso de entrada de informacion)
Con el dispositivo de entrada, la parte de entrada de informacion 220 toma como entrada el mensaje m a ser transmitido al dispositivo de descifrado 300. Con el dispositivo de entrada, la parte de entrada de informacion 220 tambien toma como entrada el conjunto de atributos r := {(t, x^t := (xt,1, ..., xt,nt £ Fqnt)) {1 < t < d}. Observese que t no necesita ser todos los numeros enteros t que caen dentro del intervalo de 1 < t < d, sino que puede ser uno o mas de los numeros enteros t que caen dentro del intervalo de 1 < t < d. Tambien, por ejemplo, la informacion de atributo de un usuario descifrable se establece en el conjunto de atributos r
(S303: Paso de Generacion de Numeros Aleatorios)
5
10
15
20
25
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 231 genera los numeros aleatorios 8, Oo, Ot,1, ..., Ot.nt, y C, como se indica en la Formula 139.
[Formula 139]
(S304: Paso de generacion de vector c)
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 genera un elemento co de los datos cifrados c como se indica en la Formula 140.
[Formula 140]
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 tambien genera un elemento ct de los datos cifrados c para cada numero entero t de (t, x^t) incluido en r, como se indica en la Formula 141.
[Formula 141]
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 tambien genera un elemento cd+1 de los datos cifrados c, como se indica en la Formula 142.
[Formula 142]
(S305: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de transmision de datos 240 transmite los datos cifrados c, constituidos por el conjunto de atributos r introducidos en (S302) y c0, ct, y cd+1 generados en (S304), como elementos al dispositivo de descifrado 300 a traves de la red. Como cuestion de rutina, los datos cifrados c se pueden transmitir al dispositivo de descifrado 300 por otro metodo.
Mas espedficamente, desde (S301) hasta (S304), la parte de adquisicion de parametros publicos 210, la parte de entrada de informacion 220 y la parte de generacion de datos cifrados 230 generan los datos cifrados c ejecutando el algoritmo Enc indicado en la Formula 143. En (S305), la parte de transmision de datos 240 transmite los datos cifrados c generados al dispositivo de descifrado 300.
[Formula 143]
5
10
15
20
25
30
Se describira la funcion y la operacion del dispositivo de descifrado 300. El dispositivo de descifrado 300 esta dotado con una parte de adquisicion de clave de descifrado 310, una parte de recepcion de datos 320 (parte de adquisicion de datos), una parte de calculo de programa de intervalo 330, una parte de calculo de coeficiente complementario 340, una parte de operacion de emparejamiento 350 y una parte de calculo de informacion de texto plano 360.
El proceso del algoritmo Dec se describira con referencia a la Fig. 10.
(S401: Paso de adquisicion de clave de descifrado)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de clave de descifrado 310 adquiere la clave de descifrado sks := (S, k*0, k*1, ..., k\) distribuida desde el dispositivo de generacion de claves 100, a traves de la red. La parte de adquisicion de clave de descifrado 310 tambien adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100.
(S402: Paso de recepcion de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de recepcion de datos 320 recibe los datos cifrados c transmitidos por el dispositivo de cifrado 200, a traves de la red.
(S403: Paso de calculo de programa de intervalo)
Con el dispositivo de procesamiento, la parte de calculo de programa de intervalo 330 comprueba si la estructura de acceso S incluida en la clave de descifrado sks adquirida en (S401) acepta o no r incluido en los datos cifrados c recibidos en (S402). El metodo de comprobacion de si la estructura de acceso S acepta o no r es el mismo que el descrito en “3. Concepto para implementar cifrado funcional”.
La parte de calculo de programa de intervalo 330 avanza el proceso a (S404) si la estructura de acceso S acepta r (aceptar en S403). Si la estructura de acceso S rechaza r (rechazar en S403), la parte de calculo de programa de intervalo 330 juzga que los datos cifrados c no se pueden descifrar con la clave de descifrado sks y finaliza el proceso.
(S404: Paso de calculo de coeficiente complementario)
Con el dispositivo de procesamiento, la parte de calculo de coeficiente complementario 340 calcula I y una constante (coeficiente complementario) {a^e i, con la cual se establece la Formula 144.
[Formula 144]
(S405: Paso de operacion de emparejamiento)
La parte de operacion de emparejamiento 350 genera una clave de sesion K = gT= calculando la Formula 145 con el dispositivo de procesamiento.
[Formula 145]
5
10
15
20
25
K:=e(cQ,ko)- fj e{ctJc*)a, • e(ctJc*)aAvrx,)
iel Ap(i)=(t,vi) iel Ap(i)=-,(t,vi)
Calculando la Formula 145, se obtiene la clave K = gT=, como se indica en la Formula 146.
[Formula 146]
(S406: Paso de calculo de informacion de texto plano)
La parte de calculo de informacion de texto plano 360 genera un mensaje m' (= m) calculando m' = cd+i/K con el dispositivo de procesamiento. Observese que cd+i es gT=m como se indica en la Formula 142. Dado que K es gT=, el mensaje m se puede obtener calculando m' = cd+1/K.
Mas espedficamente, desde (S401) hasta (S406), el dispositivo de descifrado 300 genera el mensaje m' (= m) ejecutando el algoritmo Dec indicado en la Formula 147.
[Formula 147]
Dec(pk,sk§:= (S,£g,c:=(r,c0,{ct} (/-|)er,crf+1))
Si S:=(M,p) acepta r \={{t,xt)}, entonces calcular I y {«/}/e/ de manera que
s0 =Y<aisi' e 1 c{*e{l,—»-t}|[p(0”(^v/)A(r,JC/)6/’Av/ xt =0]
;<=/
v[p(i) = -*(*>v/) A(t,xt)erAVi-xt *0]}.
K:=e(c0,k*o)- IT ]! e^Jc^'Orx,)
iel Ap(i)=(t,vi) i<=lAp(i)=-(t,Vi)
m’ = cd+l/K‘
devolver m'.
Como se ha descrito anteriormente, el sistema de procesamiento criptografico 10 implementa el esquema de cifrado (esquema de cifrado funcional) usando la estructura de acceso S construida usando el programa de intervalo, el predicado de producto interno y la comparticion de secreto. Por lo tanto, el sistema de procesamiento criptografico 10 implementa un esquema de cifrado que puede disenar un control de acceso con un grado de libertad muy alto.
El esquema de cifrado implementado por el sistema de procesamiento criptografico 10 es muy seguro. Como se ha descrito anteriormente, el esquema de cifrado funcional incluye, como su clase (la clase mas limitada), cifrado basado en ID. Incluso cuando se compara con un cifrado basado en ID existente, practico, el esquema de cifrado implementado por el sistema de procesamiento criptografico 10 es mas seguro en un cierto sentido de significado.
En la descripcion anterior, en (3) de (S101), 5 se establece en N0, y 4nt (= nt + nt + nt + nt) se establece en Nt. Por lo tanto, las bases At, Bt y B*t son todas (4nt+5) dimensionales.
Alternativamente, nt + nt + nt + nt se puede sustituir por nt + ut + wt + zt. Mas espedficamente, el primer nt puede
permanecer nt, el segundo nt se puede cambiar a ut, el tercer nt se puede cambiar a wt, y el cuarto nt se puede cambiar a zt. Es decir, nt + ut + wt + zt se puede establecer en Nt. Observese que nt, ut, wt y zt pueden ser valores
5
diferentes donde nt es un numero entero de 1 o mas, como se ha descrito anteriormente, y cada uno de ut, wt y zt es un numero entero de 0 o mas.
En este caso, el algoritmo Setup indicado en la Formula 131 se reescribe como se indica en la Formula 148. Esto es, se cambian los sufijos de los vectores base de las bases BAt y BA\
[Formula 148]
Setups
Tambien, el algoritmo KeyGen indicado en la Formula 138 se reescribe como se indica en la Formula 149. [Formula 149]
Tambien, el algoritmo Enc indicado en la Formula 143 se reescribe como se indica en la Formula 150. [Formula 150]
5
10
15
20
25
30
35
Observese que el algoritmo Dec indicado en la Formula 147 permanece sin cambios.
Tambien, no es necesario que N0 sea 5, sino que puede ser un numero entero de 2 o mas. Cuando No es 2, las bases B0 y B*0 llegan a ser bidimensionales. En este caso, permitamos que k*0 := (-s0, 1)b*0 en el algoritmo KeyGen y c0 := (8, Qb0 en el algoritmo Enc.
En la descripcion anterior, k*0 := (-s0, 0, 1, r|0, 0)b*0 se establece en el algoritmo KeyGen. Alternativamente, empleando un valor predeterminado k, se puede establecer k*0 := (-s0, 0, k, r|0, 0)b*0. En este caso, dado que K := g^i se calcula en el algoritmo Dec, cd+1 := g^m se puede establecer en el algoritmo Enc.
En la descripcion anterior, el valor de Vi nt no esta particularmente limitado. No obstante, una limitacion de Vi nt := 1 se puede colocar desde el punto de vista de la prueba de seguridad.
Desde el punto de vista de la prueba de seguridad, p(i) para cada numero entero i = 1, ..., L se puede limitar a una tupla positiva (t, v^) o una tupla negativa -(t, v^) para informacion de identificacion t diferente.
En otras palabras, permitamos que una funcion p~ sea un mapa de {1, ..., L} ^ {1, ..., d} con el cual p~(i) = t se establece cuando p(i) = (t, v^) o p(i) = -(t, v^). En este caso, p~ se puede limitar a inyeccion. Observese que p(i) es p(i) en la estructura de acceso S := (M, p(i)) descrita anteriormente.
Realizacion 2.
Esta realizacion describe un “esquema de cifrado funcional de polftica de texto cifrado (CP-FE)”. El cifrado funcional de polftica de texto cifrado descrito en esta realizacion esta constituido en base al concepto descrito en la Realizacion 1.
En esta realizacion, inicialmente, se describira la estructura basica del “esquema de cifrado funcional de polftica de texto cifrado”. Posteriormente, se describira la estructura basica de un “sistema de procesamiento criptografico 10” que implementa el “esquema de cifrado funcional de polftica de texto cifrado”. Luego, se describiran en detalle un “esquema de cifrado funcional de polftica de texto cifrado” y un “sistema de procesamiento criptografico 10” segun esta realizacion.
<Estructura basica de esquema de cifrado funcional de polftica de texto cifrado>
La estructura del esquema de cifrado funcional de polftica de texto cifrado se describira brevemente. Observese que la polftica de texto cifrado significa que la polftica esta integrada en el texto cifrado, es decir, una estructura de acceso esta integrada en el texto cifrado.
El esquema funcional de polftica de texto cifrado consta de cuatro algoritmos: Setup, KeyGen, Enc y Dec, de la misma manera que el esquema de cifrado funcional de polftica de clave.
(Setup)
Un algoritmo Setup es un algoritmo aleatorizado que toma como entrada un parametro de seguridad A, y un formato de atributo := (d; n-i, ..., nd), y emite los parametros publicos 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, 1 < t < d}, los parametros publicos pk y la clave maestra sk, y emite una clave de descifrado skr.
5
10
15
20
25
30
35
40
45
(Enc)
Un algoritmo Enc es un algoritmo aleatorizado que toma como entrada un mensaje m, una estructura de acceso S : = (M, p) y los parametros publicos pk, y emite datos descifrados c.
(Dec)
Un algoritmo Dec es un algoritmo que toma como entrada los datos cifrados c cifrados bajo la estructura de acceso S, la clave de descifrado skr para el conjunto de atributos r y los parametros publicos pk, y emite o bien el mensaje m o bien el sfmbolo distinguido -^.
El esquema de cifrado funcional de polftica de texto cifrado debena tener la siguiente propiedad: para todas las estructuras de acceso S, el conjunto de atributos r, los parametros publicos pk generados correctamente, la clave maestra sk y el texto cifrado c indicado en la Formula 151, mantiene que m = Dec(pk, skr, c) si la estructura de acceso S acepta el conjunto de atributos r. Si la estructura de acceso S rechaza el conjunto de atributos r, la probabilidad de m = Dec (pk, skr, c) es despreciable.
[Formula 151]
<Sistema de procesamiento criptografico 10>
Se describira el sistema de procesamiento criptografico 10 que ejecuta los algoritmos del esquema de cifrado funcional de polftica de texto cifrado descrito anteriormente.
La Fig. 11 es un diagrama de configuracion del sistema de procesamiento criptografico 10.
El sistema de procesamiento criptografico 10 esta dotado con un dispositivo de generacion de claves 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300.
El dispositivo de generacion de claves 100 ejecuta el algoritmo Setup tomando como entrada un parametro de seguridad Ay el formato de atributo := (d; n-i, ..., nd), y genera los parametros publicos pk y la clave maestra sk. El dispositivo de generacion de claves 100 hace publicos los parametros publicos pk generados. El dispositivo de generacion de claves 100 tambien ejecuta el algoritmo KeyGen tomando como entrada el conjunto de atributos r, genera una clave de descifrado skr, y distribuye la clave de descifrado skr al dispositivo de descifrado 300 en secreto.
El dispositivo de cifrado 200 ejecuta el algoritmo Enc tomando como entrada un mensaje m, una estructura de acceso S y los parametros publicos pk, y genera datos cifrados c. El dispositivo de cifrado 200 transfiere los datos cifrados c generados al dispositivo de descifrado 300.
El dispositivo de descifrado 300 ejecuta el algoritmo Dec tomando como entrada los parametros publicos pk, la clave de descifrado sks y los datos cifrados c, y emite el mensaje mo el sfmbolo distinguido -^.
<Esquema de cifrado funcional de polftica de texto cifrado y sistema de procesamiento de criptografico 10 en detalle>
El esquema de cifrado funcional de polftica de texto cifrado, y la funcion y operacion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de polftica de texto cifrado se describiran con referencia a las Fig. 12 a 15.
La Fig. 12 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado funcional de polftica de texto cifrado. El sistema de procesamiento criptografico 10 esta dotado con el dispositivo de generacion de claves 100, el dispositivo de cifrado 200 y el dispositivo de descifrado 300, como se ha descrito anteriormente.
La Fig. 13 es un diagrama de flujo que muestra la operacion del dispositivo de generacion de claves 100 y el proceso del algoritmo Gen. El algoritmo Setup es el mismo que el del esquema de cifrado funcional de polftica de clave, y por consiguiente se omitira su descripcion detallada. La Fig. 14 es un diagrama de flujo de la operacion del dispositivo de cifrado 200 y el proceso del algoritmo Enc. La Fig. 15 es un diagrama de flujo que muestra la operacion del dispositivo de descifrado 300 y el proceso del algoritmo Dec.
Supongamos que xt,1 := 1 en la siguiente descripcion.
Se describira la funcion y la operacion del dispositivo de generacion de claves 100. El dispositivo de generacion de claves 100 esta dotado con una parte de generacion de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de informacion 130 (primera parte de entrada de informacion), una parte de
5
10
15
20
25
30
35
generacion de clave de descifrado 140 y una parte de distribucion de clave 150. La parte de generacion de clave de descifrado 140 esta dotada con una parte de generacion de numeros aleatorios 143 y una parte de generacion de elemento de clave 144.
Como se ha descrito anteriormente, el algoritmo Setup es similar al del esquema de cifrado funcional de polftica de clave, y es como se indica en la Formula 131.
El proceso del algoritmo KeyGen se describira con referencia a la Fig. 13.
(S501: Paso de entrada de informacion)
Con un dispositivo de entrada, la parte de entrada de informacion 130 toma como entrada el conjunto de atributos r := {(t, x^t := (xt,1, ..., xt,n G Fqnt)) | 1 < t < d}. Observese que, por ejemplo, la informacion de atributo del usuario de la clave de descifrado skr se establece en el conjunto de atributos r
(S502: Paso de generacion de numeros aleatorios)
Con un dispositivo de procesamiento, la parte de generacion de numeros aleatorios 143 genera los numeros aleatorios 8, O0, Ot,1, ..., y $t,nt, como se indica en la Formula 152.
[Formula 152]
S,(f,0,^1,...,^ <—y—demaneraque (t,Xt)eT
(S503: Paso de generacion de elemento de clave)
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 144 genera un elemento k*0 de la clave de descifrado skr, como se indica en la Formula 153.
[Formula 153]
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 144 tambien genera un elemento k*t de la clave de descifrado skr para cada numero entero t de (t, x^t) incluido en r, como se indica en la Formula 154.
[Formula 154]
(S504: Paso de distribucion de clave)
Por ejemplo, con un dispositivo de comunicacion, la parte de distribucion de clave 150 distribuye la clave de descifrado skr constituida por el conjunto de atributos r introducido en (S501) y k*0 y k*t generados en (S503) como elementos, al dispositivo de descifrado 300 en secreto a traves de la red. Como cuestion de rutina, la clave de descifrado skr se puede distribuir al dispositivo de descifrado 300 por otro metodo.
Mas espedficamente, desde (S501) hasta (S503), la parte de entrada de informacion 130 y la parte de generacion de clave de descifrado 140 generan la clave de descifrado skr ejecutando el algoritmo KeyGen indicado en la Formula 155. Entonces, en (S504), la clave de descifrado skr generada por la parte de distribucion de clave 150 se distribuye al dispositivo de descifrado 300.
[Formula 155]
5
10
15
20
25
30
Se describiran la funcion y la operacion del dispositivo de cifrado 200. El dispositivo de cifrado 200 esta dotado con una parte de adquisicion de parametros publicos 210, una parte de entrada de informacion 220 (segunda parte de entrada de informacion), una parte de generacion de datos cifrados 230 y una parte de transmision de datos 240 (parte de salida de datos). La parte de generacion de datos cifrados 230 esta dotada con una parte de generacion de numeros aleatorios 231, una parte de generacion de elementos criptograficos 232, una parte de generacion de vector f 233 y una parte de generacion de vector s 234.
El proceso del algoritmo Enc se describira con referencia a la Fig. 14.
(S601: Paso de adquisicion de parametros publicos)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de parametros publicos 210 adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100, a traves de la red.
(S602: Paso de entrada de informacion)
Con el dispositivo de entrada, la parte de entrada de informacion 220 toma como entrada la estructura de acceso S := (M, p). La estructura de acceso S se establece dependiendo de la condicion del sistema que el usuario desea realizar. Tambien, por ejemplo, la informacion de atributo del usuario que puede descifrar los datos se establece en p de la estructura de acceso S.
Con el dispositivo de entrada, la parte de entrada de informacion 220 tambien toma como entrada el mensaje m a ser transmitido al dispositivo de descifrado 300.
(S603: Paso de generacion de vector f)
Con el dispositivo de procesamiento, la parte de generacion de vector f 233 genera un vector f^ que tiene r partes de elementos, aleatoriamente como se indica en la Formula 156.
[Formula 156]
(S604: Paso de generacion de vector s)
Con el dispositivo de procesamiento, la parte de generacion de vector s 234 genera un vector s^T := (s-i, ..., sl)t en base a la matriz M (L filas x r columnas) incluida en la estructura de acceso S introducida en (S602) y el vector f^ generado en (S603), como se indica en Formula 157.
[Formula 157]
Con el dispositivo de procesamiento, la parte de generacion de vector s 234 tambien genera un valor s0 en base al vector f^ generado en (S603), como se indica en la Formula 158.
[Formula 158]
5
10
15
20
25
(S605: Paso de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 231 genera un numero aleatorio no, un numero aleatorio 0i para cada numero entero i = 1, ..., L y un numero aleatorio Q, como se indica en la Formula 159.
[Formula 159]
(S606: Paso de generacion de elementos criptograficos)
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 genera un elemento co de los datos cifrados c, como se indica en la Formula 160.
[Formula 160]
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 tambien genera un elemento c de los datos cifrados c para cada numero entero i = 1, ..., L, como se indica en la Formula 161.
[Formula 161]
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 232 tambien genera un elemento cd+1 de los datos cifrados c, como se indica en la Formula 162.
[Formula 162]
(S607: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de transmision de datos 240 transmite los datos cifrados c, constituidos por la estructura de acceso S introducida en (S602) y c0, c-i, ..., cl, y cd+1 generados en (S606), como elementos al dispositivo de descifrado 300 a traves de la red Como cuestion de rutina, los datos cifrados c se pueden transmitir al dispositivo de descifrado 300 por otro metodo.
Mas espedficamente, desde (S601) hasta (S606), la parte de adquisicion de parametros publicos 210, la parte de entrada de informacion 220 y la parte de generacion de datos cifrados 230 generan los datos cifrados c ejecutando el algoritmo Enc indicado en la Formula 163. En (S607), la parte de transmision de datos 240 transmite los datos cifrados c generados al dispositivo de descifrado 300.
5
10
15
20
25
[Formula 163]
Enc(pk
Se describira la funcion y la operacion del dispositivo de descifrado 300. El dispositivo de descifrado 300 esta dotado con una parte de adquisicion de clave de descifrado 310, una parte de recepcion de datos 320 (parte de adquisicion de datos), una parte de calculo de programa de intervalo 330, una parte de calculo de coeficiente complementario 340, una parte de operacion de emparejamiento 350 y una parte de calculo de informacion de texto plano 360.
El proceso del algoritmo Dec se describira con referencia a la Fig. 15.
(S701: Paso de adquisicion de clave de descifrado)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de clave de descifrado 310 adquiere la clave de descifrado skr distribuida desde el dispositivo de generacion de claves 100, a traves de la red. La parte de adquisicion de la clave de descifrado 310 tambien adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100.
(S702: Paso de recepcion de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de recepcion de datos 320 recibe los datos cifrados c transmitidos por el dispositivo de cifrado 200, a traves de la red.
(S703: Paso de calculo de programa de intervalo)
Con el dispositivo de procesamiento, la parte de calculo del programa de intervalo 330 comprueba si la estructura de acceso S incluida en los datos cifrados c adquiridos en (S702) acepta o no r incluido en la clave de descifrado skr recibida en (S701). El metodo de comprobacion de si la estructura de acceso S acepta o no r es el mismo que el descrito en “3. Concepto para implementar cifrado funcional”.
La parte de calculo de programa de intervalo 330 avanza el proceso a (S704) si la estructura de acceso S acepta r (aceptar en S703). Si la estructura de acceso S rechaza r (rechazar en S403), la parte de calculo de programa de intervalo 330 juzga que los datos cifrados c no se pueden descifrar con la clave de descifrado sks, y finaliza el proceso.
(S704) hasta (S706) son los mismos que (S404) hasta (406) mostrados en la Fig. 9 de la Realizacion 1.
Mas espedficamente, desde (S701) hasta (S706), la parte de adquisicion de parametros publicos 210, la parte de entrada de informacion 220 y la parte de generacion de datos cifrados 230 generan un mensaje m' (= m) ejecutando el algoritmo Dec indicado en la Formula 164.
[Formula 164]
Dec(pk,skr :=(/">koAk*}^t^er), c:=(S,cQ,ch...,cL,cd+l))
Si §:= (Af,/?) acepta F := {(/,*/)}, entonces calcular / y {<2(}/e/ de manera que
so ~ yi ^ >e
iel
I c{ie {l,...,L}\[p(i) = (t,vi) A(t,xt) e T AVi-xt=0]
v 0(0 = —.(r, v/) a (t,xt) € Z’ A Vi *0]}.
-£:=e(c0,£o)- n IT
ie/ Ap(i)=(/,vi) iel /\p(i)--i(t,vi)
m'=cd+1IK.
devolver m'.
El sistema de procesamiento criptografico 10 segun la Realizacion 2 implementa un esquema de cifrado que puede disenar un control de acceso con un grado de libertad muy alto, de la misma manera que el sistema de 5 procesamiento criptografico 10 segun la Realizacion 1. Tambien, el sistema de procesamiento criptografico 10 segun la Realizacion 2 es muy seguro, como lo es el sistema de procesamiento criptografico 10 segun la Realizacion 1.
Como en la Realizacion 1, Nt = nt + nt + nt + nt se puede sustituir por nt + ut + wt + zt. Mas espedficamente, el primer nt puede permanecer nt, el segundo nt se puede cambiar a ut, el tercer nt se puede cambiar a wt y el cuarto nt se puede cambiar a zt. Es decir, nt + ut + wt + zt se pueden establecer en Nt. Observese que nt, ut, wt y zt pueden ser 10 valores diferentes donde nt es un numero entero de 1 o mas, como se ha descrito anteriormente, y cada uno de ut, wt y zt es un numero entero de 0 o mas.
En este caso, el algoritmo Setup se reescribe como se indica en la Formula 148, de la misma manera que en la Realizacion 1.
Tambien, el algoritmo KeyGen indicado en la Formula 155 se reescribe como se indica en la Formula 165.
15 [Formula 165]
Tambien, el algoritmo Enc indicado en la Formula 163 se reescribe como se indica en la Formula 166. [Formula 166]
5
10
15
20
25
Observese que el algoritmo Dec indicado en la Formula 164 permanece sin cambios.
Tambien, N0 no necesita ser 5, sino que puede ser un numero entero de 2 o mas. Cuando No es 2, las bases Bo y B*o llegan a ser bidimensionales. En este caso, k*o := (8, 1)b*o se puede establecer en el algoritmo KeyGen, y co := (so, Qbo se puede establecer en el algoritmo Enc.
En la descripcion anterior, k*o := (8, o, 1, Oo, o)b*o se establece en el algoritmo KeyGen. Alternativamente, empleando un valor predeterminado k, se puede establecer k*o := (8, o, k, Oo, o)b*o. En este caso, dado que K := g^y se calcula en el algoritmo Dec, cd+1 := g^m se puede establecer en el algoritmo Enc.
En la descripcion anterior, el valor de Vi nt no esta particularmente limitado. No obstante, el valor de Vi nt se puede limitar para satisfacer vi nt := 1 desde el punto de vista de probar la seguridad.
Desde el punto de vista de probar la seguridad, p(i) para cada numero entero i = 1, ..., L se puede limitar a una tupla positiva (t, v^) o tupla negativa -(t, v^) para diferente informacion de identificacion t.
En otras palabras, permitamos que una funcion p~ sea un mapa de {1, ..., L} ^ {1, ..., d} con el cual p~(i) = t cuando se establece p(i) = (t, v^) o p(i) = -(t, v^). En este caso, p~ se puede limitar a inyeccion. Observese que p(i) es p(i) en la estructura de acceso S := (M, p(i)) descrita anteriormente.
La Realizacion 1 ha descrito el cifrado funcional de politica de clave con el que la estructura de acceso S esta contenida en la clave de descifrado sks y el conjunto de atributos r esta contenido en los datos cifrados c. Tambien, la Realizacion 2 ha descrito el cifrado funcional de polftica de texto cifrado con el que la estructura de acceso S esta contenida en los datos cifrados c y el conjunto de atributos r esta contenido en la clave de descifrado skr.
Alternativamente, se pueden preparar dos estructuras de acceso S1 y S2. Esto es, una estructura de acceso S1 puede estar contenida en la clave de descifrado, y la otra estructura de acceso S2 puede estar contenida en los datos cifrados c. Al mismo tiempo, un conjunto de atributos r2 correspondiente a la estructura de acceso S2 puede estar contenido en la clave de descifrado, y un conjunto de atributos H correspondiente a la estructura de acceso S1 puede estar contenido en los datos descifrados c. Los datos cifrados c pueden ser descifrables con la clave de descifrado si y solo si la estructura de acceso S1 acepta el conjunto de atributos H y la estructura de acceso S2 acepta el conjunto de atributos r2.
Esto es, se puede emplear un esquema de cifrado en el que se combinan el cifrado funcional de polftica de clave y el cifrado funcional de politica de texto cifrado.
Realizacion 3.
5
10
15
20
25
30
35
40
45
En esta realizacion, se describira un esquema de firma al que se aplica el “esquema de cifrado funcional de polftica de texto cifrado” descrito en la Realizacion 2.
En esta realizacion, inicialmente, se describira la estructura basica del “esquema de firma basado en el esquema de cifrado funcional de polftica de texto cifrado”. Posteriormente, se describira la estructura basica de un “sistema de procesamiento de firmas 20” que implementa este “esquema de firma”. Entonces, se describira en detalle un “esquema de firma” y un “sistema de procesamiento de firmas 20” segun esta realizacion.
<Estructura basica de esquema de firma basado en el esquema de cifrado funcional de polftica de texto cifrado>
El esquema de firma basado en el esquema de cifrado funcional de polftica de texto cifrado consta de cuatro algoritmos: Setup, KeyGen, Sig y Ver.
(Setup)
Un algoritmo Setup es un algoritmo aleatorizado que toma como entrada un parametro de seguridad A y un formato de atributo := (d; ni, ..., nd), y emite los parametros publicos 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, 1 < t < d}, los parametros publicos 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, la clave de firma skr, una estructura de acceso S := (M, p), y los parametros publicos pk, y emite los datos de firma sig.
(Ver)
Un algoritmo Ver es un algoritmo que toma como entrada el mensaje m, la estructura de acceso S := (M, p), los datos de firma sig y los parametros publicos pk, y emite un valor “1” que representa el exito de la verificacion de la firma, o un valor “0” que representa el fallo de verificacion de la falta de firma.
<Sistema de procesamiento de firmas 20>
Se describira el sistema de procesamiento de firmas 20 que ejecuta los algoritmos del proceso de firma descrito anteriormente.
La Fig. 16 es un diagrama de configuracion del sistema de procesamiento de firmas 20.
El sistema de procesamiento de firmas 20 esta dotado con un dispositivo de generacion de claves 100, un dispositivo de firma 400 y un dispositivo de verificacion 500.
El dispositivo de generacion de claves 100 ejecuta el algoritmo Setup tomando como entrada un parametro de seguridad A y un formato de atributo p^ := (d; n1, ..., nd), y genera los parametros publicos pk y una clave maestra sk. El dispositivo de generacion de claves 100 hace publicos los parametros publicos pk generados. El dispositivo de generacion de claves 100 tambien ejecuta el algoritmo KeyGen tomando como entrada un conjunto de atributos r, genera una clave de firma skr y distribuye la clave de firma skr al dispositivo de firma 400 en secreto.
El dispositivo de firma 400 ejecuta el algoritmo Sig tomando como entrada un mensaje m, una estructura de acceso S, los parametros publicos pk y la clave de firma skr, y genera un vector de firma s^*. El dispositivo de firma 400 transmite el vector de firma s^* generado, el mensaje m y la estructura de acceso S al dispositivo de verificacion 500.
El dispositivo de verificacion 500 ejecuta el algoritmo Ver tomando como entrada el vector de firma s^*, el mensaje m, la estructura de acceso S y los parametros publicos pk, y emite un valor “1” o “0”.
<Esquema de firma y sistema de procesamiento de firmas 20 en detalle>
El esquema de firma, y la funcion y la operacion del sistema de procesamiento de firmas 20 se describiran con referencia a las Fig. 17 a 21.
La Fig. 17 es un diagrama de bloques de funciones que muestra la funcion del sistema de procesamiento de firmas 20. El sistema de procesamiento de firmas 20 esta dotado con el dispositivo de generacion de claves 100, el dispositivo de firma 400 y el dispositivo de verificacion 500, como se ha descrito anteriormente.
Las Fig. 18 y 19 son diagramas de flujo que muestran la operacion del dispositivo de generacion de claves 100. La Fig. 18 es un diagrama de flujo que muestra el proceso del algoritmo Setup, y la Fig. 19 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen. La Fig. 20 es un diagrama de flujo que muestra el funcionamiento del
5
10
15
20
25
30
dispositivo de firma 400 y el proceso del algoritmo Sig. La Fig. 21 es un diagrama de flujo que muestra la operacion del dispositivo de verificacion 500 y el proceso del algoritmo Ver.
Supongamos que xt,i := 1 en la siguiente descripcion.
Se describira la funcion y la operacion del dispositivo de generacion de claves 100. El dispositivo de generacion de claves 100 esta dotado con una parte de generacion de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de informacion 130 (primera parte de entrada de informacion), una parte de generacion de clave de firma 160 y una parte de distribucion de clave 150. La parte de generacion de clave de firma 160 esta dotada con una parte de generacion de numeros aleatorios 161, una parte de generacion de elemento de clave 162 y una parte de generacion de elemento confidencial 163.
El proceso del algoritmo Setup se describira primero con referencia a la Fig. 18.
(S801: Paso de generacion de base ortogonal regular)
La parte de generacion de clave maestra 110 calcula la Formula 167 con un dispositivo de procesamiento para generar paramM^, y las bases Bt y B*t para cada numero entero t = 0, ..., d+2.
[Formula 167] (1)
(2)
paramc :=(«,G,G7.„g,e) *-5—^(1'')
(3)
u
V<------Fg, «o := nd+1 := 1* nd+2 := 2> Nt:= 4nt Para + 2
Los procesos de (4) a (8) se ejecutan para cada t = 0, ..., d+2.
(4)
paramv := (9, vf, Gr, A, ,e) := fitavs , JV,, paramo)
(5)
u
Xt-(xvjhj<-^-GLWt>vq)
(6)
(7)
(9)
St ~e(g,g)V
param- := ({paramy^.^gr)
Se hara una explicacion sobre la Formula 167, pero solamente para las partes que son diferentes de las de la 5 Formula 127 mostrada en (S101) de la Realizacion 1. Primero, para la Formula 167, en (3), 1 se establece en n0 y nd+i, y 2 se establece en nd+2. Para el numero entero t = 0, ..., d+2, 4 nt se establece en Nt. Los procesos de (4) a (8) se repiten para cada numero entero t = 0, ..., d+2.
Mas espedficamente, en (S801), la parte de generacion de clave maestra 110 ejecuta el algoritmo Gob indicado en la Formula 168, para generar paramM^, y las bases Bt y B*t para cada numero entero t = 0, ..., d+2.
10 [Formula 168]
(S802: Paso de generacion de subbase BAt)
Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 genera una subbase BA0 para cada numero entero t = 1, ..., d+2, como se indica en la Formula 169.
15 [Formula 169]
(S803: Paso de generacion de subbase BA*t)
Con el dispositivo de procesamiento, la parte de generacion de clave maestra 110 genera una subbase BA*t para cada numero entero t = 1, ..., d+2, como se indica en la Formula 170.
20 [Formula 170]
5
10
15
20
25
(S804: Paso de almacenamiento de clave maestra)
La parte de generacion de la clave maestra 110 trata la subbase BAt para cada numero entero t = 0, ..., d+2, la subbase BA*0 para cada numero entero t = 1, ..., d+2, el vector base b*0,3, el parametro de seguridad A(1A) introducido en (S101), y paramM^ generado en (S101), como los parametros publicos pk.
La parte de generacion de clave maestra 110 trata el vector base b*0,1 como la clave maestra sk.
La parte de almacenamiento de clave maestra 120 almacena los parametros publicos pk y la clave maestra sk, en el dispositivo de almacenamiento.
Mas espedficamente, desde (S801) hasta (S803), la parte de generacion de clave maestra 110 genera los parametros publicos pk y la clave maestra sk ejecutando el algoritmo Setup indicado en la Formula 171. Entonces, en (S804), la parte de almacenamiento de clave maestra 120 almacena los parametros publicos pk generados y la clave maestra sk, en el dispositivo de almacenamiento.
Observese que los parametros publicos se hacen publicos a traves de, por ejemplo, una red, de modo que el dispositivo de firma 400 y el dispositivo de verificacion 500 puedan adquirirlos.
[Formula 171]
El proceso del algoritmo KeyGen se describira con referencia a la Fig. 19.
(S901: Paso de entrada de informacion)
Con un dispositivo de entrada, la parte de entrada de informacion 130 toma como entrada un conjunto de atributos r := {(t, x^t := (xt,1, ..., xt,nt £ Fqnt)) | 1 < t < d}. Por ejemplo, la informacion de atributo del usuario de la clave de firma skr se establece en el conjunto de atributos r
(S902: Paso de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 161 genera un numero aleatorio 8 y los numeros aleatorios O0, Ot,r, Od+2,T, y $d+3,T para cada numero entero t = 1, ..., d y cada numero entero t= 1, ..., nt, como se indica en la Formula 172.
[Formula 172]
para t = \,...,d, i=\,...,nt
(S903: paso de generacion de elemento de clave)
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 162 genera un elemento k*o de la clave de firma skr, como se indica en la Formula 173.
[Formula 173]
5 Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 162 tambien genera un elemento k*t de la clave de firma skr para cada numero entero t de (t, x^t) incluido en r, como se indica en la Formula 174.
[Formula 174]
Tambien, con el dispositivo de procesamiento, la parte de generacion de elemento de clave 162 genera los 10 elementos k*d+2 y k*d+3 de la clave de firma skr, como se indica en la Formula 175.
[Formula 175]
(S904: Paso de distribucion de clave)
Por ejemplo, con el dispositivo de comunicacion, la parte de distribucion de clave 150 distribuye la clave de firma skr 15 constituida por, como elementos, el conjunto de atributos r introducido en (S901) y k*o, k*t, k*d+2 y k*d+3 generados en (S903), al dispositivo de firma 400 en secreto a traves de la red. Como cuestion de rutina, la clave de descifrado skr se puede distribuir al dispositivo de firma 400 por otro metodo.
Mas espedficamente, desde (S901) hasta (S903), la parte de entrada de informacion 130 y la parte de generacion de clave de firma 160 generan la clave de firma skr ejecutando el algoritmo KeyGen indicado en la Formula 176. 20 Entonces, en (S904), la parte de distribucion de clave 150 distribuye la clave de firma generada skr al dispositivo de firma 400.
[Formula 176]
Se describira la funcion y la operacion del dispositivo de firma 400. El dispositivo de firma 400 esta dotado con una parte de adquisicion de clave de firma 410, una parte de entrada de informacion 420 (segunda parte de entrada de informacion), una parte de calculo de coeficiente complementary 430, una parte de generacion de matriz 440, una 5 parte de generacion de firma 450 y una parte de transmision de datos 460 (parte de salida de datos). La parte de generacion de firma 450 esta dotada con una parte de generacion de numeros aleatorios 451 y una parte de generacion de elemento de firma 452.
El proceso del algoritmo Sig se describira con referencia a la Fig. 20.
(S1001: Paso de adquisicion de clave de firma)
10 Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de clave de firma 410 adquiere la clave de firma skr := (r, k*0, k*t, k*d+2, k*d+3) distribuida por el dispositivo de generacion de claves 100, a traves de la red. La parte de adquisicion de clave de firma 410 tambien adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100.
(S1002: Paso de entrada de informacion)
15 Con el dispositivo de entrada, la parte de entrada de informacion 420 toma como entrada la estructura de acceso S := (M, p). Observese que como la estructura de acceso S a ser introducida, se acepta el conjunto de atributos r incluido en la clave de firma skr introducida en (S1001).
Con el dispositivo de procesamiento, la parte de entrada de informacion 220 toma como entrada el mensaje m al que ha de ser unida la firma.
20 (S1003: Paso de calculo de coeficiente complementario)
Con el dispositivo de procesamiento, la parte de calculo de coeficiente complementario 430 calcula I y una constante (coeficiente complementario) {a^e i, con la cual se establece la Formula 177.
[Formula 177]
5
10
15
20
25
Observese que Mi indica la fila de orden i de una matriz M.
(S1004: Paso de adicion de fila)
Con el dispositivo de procesamiento, la parte de generacion de matriz 440 genera un vector Ml+i a ser anadido a la matriz M, y una etiqueta p(L+1) del vector Ml+i, como se indica en la Formula 178.
[Formula 178]
Mi+i:=U F/
p(L+1):= -.(rf + l.vi+i)
Permitamos que VL+1 := (1).
(S1005: Paso de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 451 genera un numero aleatorio 5, como se indica en la Formula 179.
[Formula 179]
(S1006: Paso de generacion de elemento de firma)
Con el dispositivo de procesamiento, la parte de generacion de elemento de firma 452 genera s*o que es un elemento del vector de firma s^*, como se indica en la Formula 180.
[Formula 180]
Observese que
rg —intervalo^>g?3^
Con el dispositivo de procesamiento, la parte de generacion de elemento de firma 452 tambien genera s* que es un elemento del vector de firma s^*, para cada numero entero i = 1, ..., L+1, como se indica en la Formula 180.
[Formula 181]
Observese que r* se define como sigue.
r* intervalo(b*2n +l)
Tambien, Yi e y^i := (yi,1, ..., yin) se definen como sigue.
si i e / a p(i) si i 6 / a /?(/) si i £ / a /;{i) si i £ l a /?(/)
Tambien, pi se define como sigue.
Con el dispositivo de procesamiento, la parte de generacion de elemento de firma 452 tambien genera s\+2 que es 5 un elemento del vector de firma s^*, como se indica en la Formula 182.
[Formula 182]
Observese que
rL+2 mterva'°{bd+2,5>bd+2fi)
10 (S1007: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de transmision de datos 460 transmite los datos de firma sig, incluyendo el mensaje m y la estructura de acceso S := (M, p) que se introducen en (S1002) y s^* generado en (S1007), al dispositivo de verificacion 500 a traves de la red. Como cuestion de rutina, los datos de firma sig se pueden transmitir al dispositivo de verificacion 500 por otro metodo.
15 Mas espedficamente, desde (S1001) hasta (S1006), la parte de adquisicion de clave de firma 410, la parte de entrada de informacion 420, la parte de calculo de coeficiente complementario 430, la parte de generacion de matriz 440 y la parte de generacion de firma 450 generan los datos de firma sig ejecutando el algoritmo Sig indicado en la Formula 183. En (S1007), la parte de transmision de datos 460 transmite los datos de firma generados al dispositivo de verificacion 500.
20 [Formula 183]
Sig(pk,sk/-,m,§:= (M,p))
Si S~(M,p) acepta r := {(/,*>)}, entonces calcular / y {or,} iej de manera que
HliziaiMi = *> e
I c {i e {l,...,L}|[p(i) = (/,v/) a (t,xt) &T Avi-xt =0]
v [P(i) = a (t,xt) e/’ AVi'Xt 5*0]},
^L+i vi+i := (1), p(L +1):= -{d +1,vi+i)
{#><-^-{(0.-,/?i+i)|Zf=;1 A'^i = o>,
|^r . fc^l :: J ■ ^ \
Sq := £kq + , donde Tq «------intervalo/6g 3
para l < 1 < L +1,
si := Yi • ft* + A • (Zil At • t) + >/*>
donde tj* ^-— intervalo (b*2nt +] >—»K,3nt ) >
y Yi,Yi := O'/,! »* • •»Yi,nt) se definen como
Se describira la funcion y la operacion del dispositivo de verificacion 500. El dispositivo de verificacion 500 esta dotado con una parte de adquisicion de parametros publicos 510, una parte de recepcion de datos 520 (parte de 5 adquisicion de datos), una parte de generacion de datos cifrados 530 y una parte de operacion de emparejamiento 540. La parte de generacion de datos cifrados 530 esta dotada con una parte de generacion de numeros aleatorios 531, una parte de generacion de elementos criptograficos 532, una parte de generacion de vector f 533 y una parte de generacion de vector s 534.
El proceso del algoritmo Ver se describira con referencia a la Fig. 21.
10 (S1101: Paso de adquisicion de parametros publicos)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de parametros publicos 510 adquiere los parametros publicos pk generados por el dispositivo de generacion de claves 100, a traves de la red.
(S1102: Paso de recepcion de datos)
5
10
15
20
25
30
Por ejemplo, con el paso de comunicacion, la parte de recepcion de datos 320 recibe los datos de firma sig transmitidos por el dispositivo de firma 400, a traves de la red.
(S1103: Paso de generacion de vector f)
Con el dispositivo de procesamiento, la parte de generacion de vector f 533 genera aleatoriamente un vector f^ que tiene r partes de elementos, como se indica en la Formula 184.
[Formula 184]
/X-5—V
(S1104: Paso de generacion de vector s)
Con el dispositivo de procesamiento, la parte de generacion de vector s 534 genera un vector s^T := (s-i, ..., sl)t en base a la matriz M (L filas x r columnas) incluida en la estructura de acceso S recibida en (S1102) y el vector f^ generado en (S1103), como se indica en la Formula 185.
[Formula 185]
Con el dispositivo de procesamiento, la parte de generacion de vector s 534 tambien genera los valores s0 y sl+1 en base al vector f^ generado en (S1103), como se indica en la Formula 186.
[Formula 186]
(S1105: Paso de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte de generacion de numeros aleatorios 531 genera los numeros aleatorios r|0, nL+2,1, nL+2,2, 0i y sl+2 para cada numero entero i = 1, ..., L+2, como se indica en la Formula 187.
[Formula 187]
(S1106: Paso de generacion de elementos criptograficos)
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 532 genera un elemento c0 de los datos cifrados c, como se indica en la Formula 188.
[Formula 188]
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 532 tambien genera un elemento c de los datos cifrados c para cada numero entero i = 1, ..., L+1, como se indica en la Formula 189.
[Formula 189]
5
Con el dispositivo de procesamiento, la parte de generacion de elementos criptograficos 532 tambien genera un elemento cl+2 de los datos cifrados c, como se indica en la Formula 190.
[Formula 190]
(S1107: Paso de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 540 calcula la Formula 191. [Formula 191]
L+2
i=0
10 Permitamos que p(L+1) := -(d+1, v^l+1 := (1)).
La parte de operacion de emparejamiento 540 emite un valor “1” si el resultado del calculo de la Formula 191 es un valor “1”; y un valor “0” de otro modo. Si el resultado del calculo de la Formula 191 es un valor “1”, esto indica que la firma esta verificada; de otro modo, la firma no esta verificada.
Si los datos de firma sig son datos correctos, se obtiene un valor “1” calculando la Formula 191, como se indica por 15 la Formula 192.
[Formula 192]
Mas espedficamente, desde (S1101) hasta (S1107), la parte de adquisicion de parametros publicos 510, la parte de recepcion de datos 520, la parte de generacion de datos cifrados 530 y la parte de operacion de emparejamiento 20 540 verifican los datos de firma sig ejecutando el algoritmo Ver indicado en la Formula 193.
[Formula 193]
Como se describio anteriormente, el sistema de procesamiento de firmas 20 implementa el esquema de firma usando la estructura de acceso S construida usando el programa de intervalo, el predicado de producto interno y la comparticion de secreto.
5 En el algoritmo Sig, el elemento del vector de firma s^* se genera usando los numeros aleatorios ^ y r, de modo que se aleatorizan las variables 8 y O de los elementos k de la clave de firma skr que es informacion sobre el generador del elemento del vector de firma s^* Si las se aleatorizan las variables 8 y O de los elementos k de la clave de firma skr, se puede evitar que estas variables sean lefdas desde s^* que es un elemento de los datos de firma. Esto es, en base a que clave de firma skr se generan los datos de firma, se puede evitar que se lean. Es decir, se puede 10 aumentar la capacidad del enlace.
En la descripcion anterior, en (S801), 4nt (= nt + nt + nt + nt) se establece en Nt.
Alternativamente, nt + nt + nt + nt se puede sustituir por nt + ut + wt + zt. Mas espedficamente, el primer nt puede
permanecer nt, el segundo nt se puede cambiar a ut, el tercer nt se puede cambiar a wt, y el cuarto nt se puede
cambiar a zt. Es decir, nt + ut + wt + zt se puede establecer en Nt. Observese que nt, ut y zt pueden ser valores 15 diferentes donde nt es un numero entero de 1 o mas, como se ha descrito anteriormente, y cada uno de ut, wt y zt es un numero entero de 0 o mas.
En este caso, el algoritmo Setup indicado en la Formula 171 se reescribe como se indica en la Formula 194. Esto es, se cambian los sufijos de los vectores base de las bases BAt y BA\
[Formula 194]
Tambien, el algoritmo KeyGen indicado en la Formula 176 se reescribe como se indica en la Formula 195. [Formula 195]
5 Tambien, el algoritmo Sig indicado en la Formula 183 se reescribe como se indica en la Formula 196. [Formula 196]
Slg(pk>skjr
Si S:=(M,p) acepta r := {(f,x*)}, entonces calcular/ y {«/},-,=/ demaneraque
e
SL+2 := €(kd+2 + m * *5+3) + rL+2> donde rL+2 mtervalo {/>J+2)5 >5+2,6}
jf* := >^Z+2)» sig:={m,S,s*}
devolver sig.
Tambien, el algoritmo Ver indicado en la Formula 193 se reescribe como se indica en la Formula 197. [Formula 197]
5
Ver(pk,?n,S:= (A*»,s‘)
—¥qr, sT \=(sh.,.,sL)r >= M-fT, s0:=sL+l:=l^fT
%> VL+1,1 >VlMt2. &i >SL+2 < U Ff/ (i *= 1,. ■ -,X + 2),
Cq := C-5q - ^+1)0,0,7^)^, para 1 < i <L +1 si jO(i) = (f,v* - (vitl
^',1 i ‘ 1 ‘ j ^ ^5
5
10
15
20
25
30
Tambien, cada uno de No y Nd+i no necesita ser 4, sino que puede ser un numero entero de 1 o mas. Cuando No es 1, las bases B0 y B*0 llegan a ser unidimensionales. En este caso, k*0,j := (8)b*o se puede establecer en el algoritmo KeyGen y co := (-so-sl+2)bo se puede establecer en el algoritmo Ver.
Tambien, Nd+2 no necesita ser 8, sino que puede ser un numero entero de 2 o mas. Cuando Nd+2 es 2, las bases Bd+2 y B*d+2 llegan a ser bidimensionales. En este caso, k*d+2 := (5j(1,0))B*d+2 y k*d+3 := (5j(0,1))B*d+2 se pueden establecer en el algoritmo KeyGen, y co := (sL+2-0L+2m, 0L+2)Bd+2 se puede establecer en el algoritmo Ver.
En la descripcion anterior, el valor de Vi nt no esta particularmente limitado. No obstante, una limitacion de Vi,nt := 1 se puede colocar desde el punto de vista de la prueba de seguridad.
Desde el punto de vista de la prueba de seguridad, p(i) para cada numero entero i = 1, ..., L puede ser una tupla positiva (t, v^) o una tupla negativa -(t, v^) para diferente informacion de identificacion t.
En otras palabras, permitamos que una funcion p~ sea un mapa de {1, ..., L} ^ {1, ..., d} con el cual p~(i) = t se establece cuando p(i) = (t, v^) o p(i) = -(t, v^). En este caso, p~ puede ser inyeccion. Observese que p(i) es p(i) en la estructura de acceso S := (M, p(i)) descrita anteriormente.
En la descripcion anterior, en el paso de adicion de filas (S1004) del algoritmo Sig, la primera fila del vector Ml+1 se anade, como la fila de orden (L+1), a la matriz M. No obstante, se puede anadir cualquier numero de una o mas filas a la matriz M. En (S1004), las filas anadidas son Ml+1 := 1^. No obstante, las filas a ser anadidas no estan limitadas a 1^ sino a otros vectores.
En la descripcion anterior, la etiqueta p de la fila anadida de orden (L+1) fue p(L+1) := -(d+1, vA+1 := (1)). No obstante, la etiqueta de la fila a ser anadida no se limita a esto, sino que es suficiente en la medida en que se establece el proceso.
Mas espedficamente, la etiqueta de la fila se puede establecer de manera que la informacion en las filas anadidas sea 0 cuando la operacion de emparejamiento se realiza en el paso de operacion de emparejamiento (S1107) del algoritmo Ver.
Si se anaden dos o mas filas, el numero de veces de repeticion del proceso del algoritmo Sig o del algoritmo Ver necesita ser cambiado segun el numero de filas anadidas.
Con el fin de mejorar la seguridad del proceso de firma, el algoritmo de firma indicado en la Formula 171 se puede cambiar como en la Formula 198, y el algoritmo Sig indicado en la Formula 183 se puede cambiar como en la Formula 199.
[Formula 198]
Setup(l^,/h= ..->«(#»
p
(parang,{B1,B*}f=(W+2)*-------fibbed)
1*2
®f pA^+IviA^fj, ) Para / = 0,...,rf + 2*
®? == -•»*?«,)i & Para t ~ U***s^ + 2,
■Fg Paraf = l>—»rf + l, *'= 1....../ =
^________________% fl, »,
ft*, := (0,_11er10n<-', 0",. ^,i,„.)B;
para / = l,...,<f + l, £ = sk :-(ilQ-.(Bl}/=|....rf.|.2
pk 5= (l/l,param^,B0,A0i3,{B,,B! ^+2,(ft,,}(=i,...,,i+2;,=i„..A).
devoK/er sk, pk,
[Formula 199]
Sig(pk,skr,m,S:= (M,p))
Si§:=(A/,p) acepta F :={(t,X[)}, entonces calcular / y {<ft},e/ demaneraque
= ^ e
/ c {/ e {1,...,1} |[/? (i) = (/, v/) a (/,x/) e i" a v/ xt = 0]
V [P(0 = A € .T A Vi •*/*()]},
Ml+i r=IeF/, vi+i := (1), /?(L + 1):=^ + l,v£+i)
.....PiM^^Wi=5).
Sq := > donde r$ ^-— intervalo {bq 3 V
para l<i<Z + l,
4 ■= ft ■ £*? + A ■ (Xii ft,f * pit)+V,
* u
donde rj- <--------intervalo
y ft ,ft := (ftj »• • *»ft,« ) se defi nen como
U
si i s / a /?(/) = (/, Vj), ft := cr?, ft <--------{ft ft • v/ = 0 a y{ l = 1},
U ,---------
si i e / a /?(/) = ft := «/ / (v/ or,), ft <-------{ft ft • v; = 1},
U ,---------
si i* I a/?(/) = {t, Vi), n := 0, ft <------{ft ft • v/ = Oa^j = 1},
5
10
15
20
25
30
u
4+2 := £(*2+2 + m • *2+3)+ 4+2, donde 4+2 <---------interval° {^2+2,5>*2+2,6 )
s* := (jjr■■ ■. 4+2)i sig{m?§, **}
devolver sig.
Mas espedficamente, el algoritmo Setup se cambia en que se genera el vector confidencial p*t,T en el que se establece un valor aleatorio y el algoritmo Sig se cambia en que el elemento s* del vector de firma s^* se genera usando el vector confidencial p*,r. Tambien, el algoritmo Setup se cambia en que la base BA*t esta incluida en la clave maestra sk en lugar de en los parametros publicos pk, y se mantiene en secreto. Esto mejora la seguridad del proceso de firma.
Incluso cuando el algoritmo Setup y el algoritmo Sig se cambian de esta manera, si los datos de firma sig son datos correctos, se puede obtener un valor “1” realizando la operacion de emparejamiento en el algoritmo, como se indica en la Formula 199.
[Formula 200]
En el algoritmo Ver, q_+2 := (so-0L+2m, 0l+2, 0, 0, 0, 0, r|L+2,t, nL+2,2) se puede establecer en el paso de generacion de elementos criptograficos (S1106), en lugar de generar c0. Entonces, en el paso de operacion de emparejamiento (S1107), se puede calcular ni=iL+2 e (0, s*i).
Esto es, en la descripcion anterior, c0 y o_+2 estan vinculados por un numero aleatorio sl+2, y sl+2 se cancela entre c0 y cl+2 cuando se ejecuta la operacion de emparejamiento. Alternativamente, sl+2 no necesita ser usado por adelantado, de modo que se simplifica el proceso.
En este caso, k*0 no necesita ser generado en el algoritmo KeyGen. Del mismo modo, s*0 no necesita ser generado en el algoritmo Sig.
Realizacion 4.
En la Realizacion 1, desde el punto de vista de la prueba de seguridad, p(i) para cada numero entero i = 1, ..., L se describio como una tupla positiva (t, v^) o una tupla negativa -(t, v^) para diferente informacion de identificacion t. Es decir, p~ puede ser inyeccion. No obstante, p~ no necesita ser inyeccion.
En este caso, desde el punto de vista de la prueba de seguridad, el algoritmo Setup, el algoritmo KeyGen y el algoritmo Enc del cifrado funcional de Politica de Clave descrito en la Realizacion 1 se pueden modificar como sigue. Solamente se explicaran las partes modificadas de los algoritmos respectivos del cifrado funcional de Polftica de Clave descrito en la Realizacion 1.
En esta realizacion, permitamos que O sea un valor indicado en la Formula 201.
[Formula 201]
<p > | p{i) = t]
El algoritmo Setup ejecuta Setup(1A, p'^ := (d; nV, ..., nd')) cuando se introduce (1A, := (d; n1, ..., nd). Observese
que nt' := nt + O para cada numero entero t = 1, ..., d.
5
10
15
20
25
Con respecto al algoritmo KeyGen, el metodo de generacion de k*i se modifica como se indica en la Formula 202. [Formula 202]
Con respecto al algoritmo Enc, el metodo de generacion de ct se modifica como se indica en la Formula 203. [Formula 203]
La modificacion del proceso para un caso donde p~ no es inyeccion se ha descrito anteriormente solamente con respecto al cifrado funcional de Politica de Clave descrito en la Realizacion 1. El proceso criptografico y el proceso de firma descritos en otras realizaciones se pueden modificar en base al mismo concepto.
Realizacion 5.
En las realizaciones anteriores, se ha descrito el metodo de implementacion del proceso criptografico y del proceso de firma en los espacios vectoriales duales. En la Realizacion 5, se describira un metodo de implementacion de un proceso criptografico y un proceso de firma en grupos aditivos duales.
Mas espedficamente, en las realizaciones anteriores, el proceso criptografico se implementa en el grupo dclico de orden primo q. Cuando un anillo R se expresa usando un numero compuesto M como se indica en la Formula 204, el proceso criptografico descrito en las realizaciones anteriores tambien se puede aplicar a un grupo aditivo que tiene el anillo R como coeficiente.
[Formula 204]
donde
z
: un numero entero; y
M
un numero compuesto
Por ejemplo, cuando se implementa el cifrado funcional de Polftica de Clave descrito en la Realizacion 1 en un grupo aditivo que tiene un anillo R como coeficiente, entonces resultan las Formulas 205 a 208.
[Formula 205]
Setup(l^,/j :=(d-nh.. ,,nd))
(pararrig, (B,, Bj }(=0....d) <-5— Sob (l-1, ft)
A A
®0 :=CiD,lA13^a5)» 1®>t:=(bt,\> --\n!’hOnl+b---AAn1) para t = 1,,,,*d>
para / = 17..
sk:= Pk ' (1''.Param^>{®i}(=o,..,d)-
devolver sk, pk.
Observese que
^ob0^>/^:= (d;«i •••,«£/)):paramG := —'^pgO^X
—M,
N0 :=S, Nt :=4nt Para t =
Para t = paramVt := (9, V,,GJ., A,,e} := yd?vs(I■<,A1,,paramR),
X, ~(Xijj'kjG£(JV,,M), (^y)(J :=^.(A’T)-1,
—_Y
~ "'*Xt,i,Nt )Af — ^jy=] %t,i,jat,j> ®/ >• • •)^5/jyVf )>
^ )a, = Sy=l^t,iJat,j> ®r )»
:*e(GsG)P, param- :=({paramY ^
devolver (param-, {%,!*} M),.
[Formula 206]
KeyGen(pk,sk,S:= (M,/>))
5
[Formula 207]
Enc(pk,m,r;={(r,^ := (x/tl....xtA)eFgn,)\\<t:=1)
ttji,>C< U R de manera que (f,xt} e F,
cq:=(#,0,£Mo\,
It, *, n, n
—-—'-----------^-------A------w------A-----v--------A
ct:=(S(xt ly...,xt n ), 0",» On,> para (t,xt) e T,
:= St c \=(r,c0, {ct} ((^ )er ,crf+l).
devolver c.
[Formula 208]
5
Dec(pk,sks c■.= (r,c^{ct)
Si S:=(A/» acepta r := {(f,Xf)}, entonces calcular / y {(Z/J.w de manera que
s0=£ajJi> e /c{/€{l,...,i}|[p(i) = (r,v,)A(/,x,)erAVl-jr/ = 0] iel
m’ = cd^l !K- devolver m!.
El metodo de implementacion del proceso criptografico y del proceso de firma en un grupo aditivo que tiene un anillo R como coeficiente se ha indicado solamente para el cifrado funcional de Politica de Clave descrito en la Realizacion 1. Como principio, si el proceso descrito como un campo Fq en las realizaciones anteriores se sustituye por un anillo R, tambien se pueden implementar otros procesos criptograficos y procesos de firma descritos en las realizaciones 10 anteriores en un grupo aditivo que tiene un anillo R como coeficiente.
El algoritmo Setup en las realizaciones anteriores se puede ejecutar solamente una vez en la configuracion del sistema de procesamiento criptografico 10 o del sistema de procesamiento de firmas 20, y no necesita ser ejecutado cada vez que ha de ser generada una clave de descifrado. En la descripcion anterior, el algoritmo Setup y el algoritmo KeyGen se ejecutan por el dispositivo de generacion de claves 100. Alternativamente, el algoritmo Setup y 15 el algoritmo KeyGen se pueden ejecutar por diferentes dispositivos respectivamente.
5
10
15
20
25
30
35
40
45
50
55
En las realizaciones anteriores, el programa de intervalo MA acepta la secuencia de entrada 8 si y solo si la combinacion 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 intervalo MA puede aceptar la secuencia de entrada 8 solamente si se obtiene otro vector v^ en lugar de 1^.
En este caso, en el algoritmo KeyGen, so := v^ ■ f^T se puede establecer en lugar de so := 1^ ■ f^T. Del mismo modo, cuando se calcula ai en el algoritmo Sig, se puede calcular ai con el cual Z e aiMi = v^.
El proceso criptografico en la descripcion anterior se puede adoptar para delegacion de autoridad. Delegacion de autoridad significa que una persona que tiene una clave de descifrado genera una clave de descifrado de nivel mas bajo que tiene una autoridad mas debil que la clave de descifrado suya propia. Una autoridad mas debil significa que estan limitados los datos cifrados que la clave de descifrado puede descifrar.
Por ejemplo, en la primera capa jerarquica (orden mas alto), se usan las bases Bt y B*t para t = 1, en la segunda capa jerarquica, se usan las bases Bt y B*t para t = 1,2, ..., en la capa jerarquica de orden k, se usan las bases Bt y B*t para t = 1, ..., k. A medida que aumentan las bases Bt y B*t a ser usadas, se establece un numero mayor de partes de informacion de atributo. Por consiguiente, la autoridad de la clave de descifrado se limita mas.
Se describira la configuracion de hardware del sistema de procesamiento criptografico 10 (el dispositivo de generacion de claves 100, el dispositivo de cifrado 200 y el dispositivo de descifrado 300) y del sistema de procesamiento de firmas 20 (el dispositivo de generacion de claves 100, el dispositivo de firma 400 y el dispositivo de verificacion 500) en las realizaciones anteriores.
La Fig. 22 es una ilustracion que muestra un ejemplo de la configuracion de hardware de cada uno del dispositivo de generacion de claves 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300, el dispositivo de firma 400 y el dispositivo de verificacion 500.
Como se muestra en la Fig. 22, cada uno del dispositivo de generacion de claves 100, dispositivo de cifrado 200, dispositivo de descifrado 300, dispositivo de firma 400 y dispositivo de verificacion 500 incluye una CPU 911 (tambien conocida como Unidad Central de Procesamiento, dispositivo de procesamiento central, dispositivo de procesamiento, dispositivo de calculo, microprocesador, microordenador o procesador) que ejecuta programas. La CPU 911 esta conectada a la ROM 913, la Ram 914, un LCD 901 (Visualizador de Cristal Lfquido), el teclado 902 (K/B), la placa de comunicacion 915 y el dispositivo de disco magnetico 920 a traves de un bus 912, y controla estos dispositivos de hardware. En lugar del dispositivo de disco magnetico 920 (dispositivo de disco fijo), se puede conectar un dispositivo de almacenamiento tal como un dispositivo de disco optico o un dispositivo de lectura/escritura de tarjeta de memoria. El dispositivo de disco magnetico 920 esta conectado a traves de una interfaz predeterminada de disco fijo.
La ROM 913 y el dispositivo de disco magnetico 920 son ejemplos de una memoria no volatil. La RAM 914 es un ejemplo de una memoria volatil. La ROM 913, la RAM 914 y el dispositivo de disco magnetico 920 son ejemplos del dispositivo de almacenamiento (memoria). El teclado 902 y la placa de comunicacion 915 son ejemplos de un dispositivo de entrada. La placa de comunicacion 915 es un ejemplo de un dispositivo de comunicacion (interfaz de red). Ademas, el LCD 901 es un ejemplo de un dispositivo de visualizacion.
El dispositivo de disco magnetico 920, la ROM 913 o similar almacena un sistema operativo (OS) 921, 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 generacion de clave maestra 110”, la “parte de almacenamiento de clave maestra 120”, la “parte de entrada de informacion 130”, la “parte de generacion de clave de descifrado 140”, la “parte de distribucion de clave 150”, la “parte de adquisicion de parametros publicos 210”, la “parte de entrada de informacion 220”, la “parte de generacion de datos cifrados 230”, la “parte de transmision de datos 240”, la “parte de adquisicion de clave de descifrado 310”, la “parte de recepcion de datos 320”, la “parte de calculo de programa de intervalo 330”, la “parte de calculo de coeficiente complementario 340”, la “parte de operacion de emparejamiento 350”, la “parte de calculo de informacion de texto plano 360”, la “parte de adquisicion de clave de firma 410”, la “parte de entrada de informacion 420”, la “parte de calculo de coeficiente complementario 430”, la “parte de generacion de firma 450”, la “parte de transmision de datos 460”, la “parte de adquisicion de parametros publicos 510”, la “parte de recepcion de datos 520”, la “parte de generacion de datos cifrados 530”, la “parte de operacion de emparejamiento 540”, y similares en la descripcion anterior. Los programas 923 almacenan otros programas tambien. Los programas se leen y se ejecutan por la CPU 911.
Los archivos 924 almacenan informacion, datos, valores de senal, valores de variables y parametros tales como los “parametros publicos pk”, la “clave maestra sk”, los “datos cifrados c”, la “clave de descifrado sks”, la “clave de descifrado skr”, la “estructura de acceso S”, el “conjunto de atributos r”, el “mensaje m”, los “datos de firma sig” y similares de la explicacion 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 grabacion tal como un disco o memoria. La informacion, los datos, los valores de senal, los valores de variables y los parametros almacenados en el medio de grabacion tal como el disco
5
10
15
20
25
30
35
40
o la memoria se leen de la memoria principal o la memoria cache por la CPU 911 a traves de un circuito de lectura/escritura, y se usan para las operaciones de la CPU 911 tales como extraccion, examen, busqueda, comparacion, computacion, calculo, proceso, salida, impresion y visualizacion. La informacion, los datos, los valores de senal, los valores de variables y los parametros se almacenan temporalmente en la memoria principal, la memoria cache, la memoria de almacenador temporal o similares durante las operaciones de la CPU 1911, que incluyen extraccion, examen, busqueda, comparacion, computacion, calculo, proceso, salida, impresion y visualizacion.
Las flechas de los diagramas de flujo en la explicacion anterior indican principalmente la entrada/salida de datos y senales. Los valores de datos y senales se almacenan en la memoria de la RAM 914, el medio de grabacion, tal como un disco optico, o en un chip de IC. Los datos y las senales se transmiten en lmea a traves de un medio de transmision tal como el bus 912, lmeas de senal o cables, u ondas electricas.
La “parte” en la explicacion anterior puede ser un “circuito”, “dispositivo”, “equipo”, “medio” o “funcion”; o un “paso”, “procedimiento” o “proceso”. El “dispositivo” puede ser un “circuito”, “equipo”, “medio” o “funcion”; 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 implementar mediante solamente software, mediante solamente hardware tal como un elemento, un dispositivo, un sustrato, o una lmea de cableado; mediante una combinacion de software y hardware; o ademas mediante una combinacion de software, hardware y microprograma. El microprograma y el software se almacenan, como programas, en el medio de grabacion 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 metodo de la “parte” descrita anteriormente.
Lista de signos de referencia
10: sistema de procesamiento criptografico; 20: sistema de procesamiento de firmas; 100: dispositivo de generacion de claves; 110: parte de generacion de clave maestra; 120: parte de almacenamiento de clave maestra; 130: parte de entrada de informacion; 140: parte de generacion de clave de descifrado; 141: parte de generacion de vector f; 142: parte de generacion de vector s; 143: parte de generacion de numeros aleatorios; 144: parte de generacion de elemento de clave; 145: parte de generacion de elemento confidencial; 150: parte de distribucion de clave; 160: parte de generacion de clave de firma; 161: parte de generacion de numeros aleatorios; 162: parte de generacion de elemento de clave; 200: dispositivo de cifrado; 210: parte de adquisicion de parametro publico; 220: parte de entrada de informacion; 230: parte de generacion de datos cifrados; 231: parte de generacion de numeros aleatorios; 232: parte de generacion de elementos criptograficos; 233: parte de generacion de vector f; 234: parte de generacion de vector s; 240: parte de transmision de datos; 300: dispositivo de descifrado; 310: parte de adquisicion de clave de descifrado; 320: parte de recepcion de datos; 330: parte de calculo del programa de intervalo; 340: parte de calculo de coeficiente complementario; 350: parte de operacion de emparejamiento; 360: parte de calculo de informacion de texto plano; 400: dispositivo de firma; 410: parte de adquisicion de clave de firma; 420: parte de entrada de informacion; 430: parte de calculo de coeficiente complementario; 440: parte de generacion de matriz; 450: parte de generacion de firma; 451: parte de generacion de numeros aleatorios; 452: parte de generacion de elemento de firma; 460: parte de transmision de datos; 500: dispositivo de verificacion; 510: parte de adquisicion de parametros publicos; 520: parte de recepcion de datos; 530: parte de generacion de datos cifrados; 540: parte de operacion de emparejamiento; 531: parte de generacion de numeros aleatorios; 532: parte de generacion de elementos criptograficos; 533: parte de generacion de vector f; 534: parte de generacion de vector s.
Claims (15)
- 5101520253035404550REIVINDICACIONES1. Un sistema de procesamiento criptografico (10) que comprende un dispositivo de generacion de claves (100), un dispositivo de cifrado (200) y un dispositivo de descifrado (300), y que sirve para ejecutar un proceso criptografico usando una base Bt y una base B*t para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas),en donde el dispositivo de generacion de claves (100) incluyeuna primera parte de entrada de informacion (130) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), cuya variable p(i) es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de la informacion de identificacion t (t es cualquier numero entero de t = 1, ..., d) y un vector de atributo v^i := (vi, i) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), y una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas); yuna parte de generacion de clave de descifrado (140) que genera un elemento k*0 y un elemento k* para cada numero entero i = 1, ..., L, en base a un vector de columna s^T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^ y un vector w^, cada uno que tiene r partes de elementos, y la matriz M introducida por la primera parte de entrada de informacion; un valor s0 := w^- f^; y un valor predeterminado 0i (i = 1, ..., L), la parte de generacion de clave de descifrado (140) que esta configuradapara generar el elemento k*0 estableciendo el valor -s0 como coeficiente para un vector base b*Q,p (p es un valor predeterminado) de la base B*0 y estableciendo un valor predeterminado k como coeficiente para un vector base b*0,q (q es un valor predeterminado diferente del p prescrito), ypara generar el elemento k* para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i) estableciendo si+0M,1 como coeficiente para un vector base b*t,1 de la base B* indicado por la informacion de identificacion t de la tupla positiva, y estableciendo 0M,i' como coeficiente para un vector base b*t? indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i), estableciendo sM,i' como coeficiente para el vector base b*t,i' indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt,en donde el dispositivo de cifrado (200) incluyeuna segunda parte de entrada de informacion (220) que toma como entrada, un conjunto de atributos r que tiene la informacion de identificacion t y un vector de atributo x^t := (xt,i ) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, yuna parte de generacion de datos cifrados (230) que genera un elemento c0, y un elemento ct que conciernen a cada informacion de identificacion t incluida en el conjunto de atributos r, en base al conjunto de atributos r introducido por la segunda parte de entrada de informacion, la parte de generacion de datos cifrados que esta configuradapara generar el elemento c0 donde un valor aleatorio 8 se establece como coeficiente para un vector base bo,p (p es un p prescrito) de la base B0, y donde un valor predeterminado C se establece como coeficiente para un vector base b0,q (q es un q prescrito) de la base B0, ypara generar el elemento ct donde xt,i' multiplicado por el valor aleatorio 8 se establece como coeficiente para un vector base bt,i' (i' = 1, ..., nt) de la base Bt para cada informacion de identificacion t incluida en el conjunto de atributos r, yen donde el dispositivo de descifrado (300) incluyeuna parte de adquisicion de datos (320) que adquiere datos cifrados c que incluyen los elementos c0 y ct y el conjunto de atributos r, los elementos c0 y ct que se generan por la parte de generacion de datos cifrados (230),una parte de adquisicion de clave de descifrado (310) que adquiere una clave de descifrado sks que incluye los elementos k*0 y k* y el numero variable p(i), los elementos k*0 y k* que se generan por la parte de generacion de clave de descifrado (140),una parte de calculo de coeficiente complementario (340) que, en base al conjunto de atributos r incluido en los datos cifrados c adquiridos por la parte de adquisicion de datos, y la variable p(i) incluida en la clave de descifrado sks adquirida por la parte de adquisicion de clave de descifrado, especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i) y con la cual un producto interno de v^i de la tupla positiva y x^t incluido en r indicado por la informacion de identificacion t de la tupla positiva llega a ser 0, y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i) y con la cual un producto interno de v^i de la tupla negativa y x^t incluido en r indicado por la informacion de identificacion t de la tupla negativa no llega a ser 0; y calcula un coeficiente complementario ai con el cual un total de aisi para i incluido en el conjunto I especificado llega a ser sq, yuna parte de operacion de emparejamiento (350) que calcula un valor K = gT=A dirigiendo una operacion de emparejamiento indicada en la Formula 1 para los elementos c0 y ct incluidos en los datos cifrados c y los elementos k*o y k* incluidos en la clave de descifrado sks, en base al conjunto I especificado por la parte de calculo de coeficiente complementario (340) y al coeficiente complementary ai calculado por la parte de calculo de coeficiente 5 complementario (340).[Formula 1]K~e(c0,k$)- n _ ■ f[ _ e(c,tfiel a p(i )=(/, Vi) iel Ap(i)=-,(t,v,)
- 2. El sistema de procesamiento criptografico (10) segun la reivindicacion 1, que ejecuta el proceso criptografico usando la base B0 que tiene al menos un vector base b0,i (i = 1, ..., 5), la base Bt(t = 1, ..., d) que tiene al menos un 10 vector base bt,i (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt) (ut, wty zt son cada uno un numero entero de 1 o mas), la base B*0 que tiene al menos un vector base b*0,i (i = 1, ..., 5), y la base B* (t = 1, ..., d) que tiene al menos un vector base b*t,i (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt),en donde, la parte de generacion de clave de descifrado (140) del dispositivo de generacion de claves (100) genera el elemento k*0 indicado en la Formula 2 en base a un valor aleatorio r|0 y el valor predeterminado k, genera el 15 elemento k* indicado en la Formula 3 en base al valor aleatorio 0i (i = 1, ., L) y un valor aleatorio r|i,i’ (i = 1, ., L, i’ = 1, ..., wt) cuando la variable p(i) es una tupla positiva (t, v^i), y genera el elemento k* indicado en la Formula 4 en base al valor aleatorio r|i,i’ (i = 1, ., L, i’ = 1, ., wt) cuando la variable p(i) es una tupla negativa -(t, v^i), yen donde la parte de generacion de datos cifrados (230) del dispositivo de cifrado (200) genera el elemento c0 indicado en la Formula 5 en base al valor aleatorio 8, un valor aleatorio O0, y un valor predeterminado Q, y genera el 20 elemento ct indicado la Formula 6 en base al valor aleatorio 8, y un valor aleatorio Ot,i (i = 1, ..., zt).[Formula 2]
imagen1 [Formula 3]imagen2 25 [Formula 4]imagen3 [Formula 5]c„ :=(<?,[Formula 6]imagen4 imagen5 - 3. Un dispositivo de generacion de claves (100) que genera una clave de descifrado sks, en un sistema de procesamiento criptografico (10) que ejecuta un proceso criptografico usando una base Bt y una base B* para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas), el dispositivo de generacion de claves (100) que comprende:5101520253035404550una primera parte de entrada de informacion (130) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t =1, ..., d) y un vector de atributo v^i := (vy) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), y una matriz predeterminada M que tiene L filas y r columnas (r es un numero entero de 1 o mas);una parte de generacion de clave de descifrado (140) que genera un elemento k*o, y un elemento k* para cada numero entero i = 1 ..., L, en base a un vector de columna s^T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^ y a un vector w^, cada uno que tiene r partes de elementos, y la matriz M introducida por la primera parte de entrada de informacion; un valor so := w^ f^; y un valor predeterminado 0i (i = 1, ..., L), la parte de generacion de clave de descifrado (140) que se configurapara generar el elemento k*o estableciendo un valor -so como coeficiente para un vector base b*o,p (p es un valor predeterminado) de la base B*o y estableciendo un valor predeterminado k como coeficiente para el vector base b*o,q (q es un valor predeterminado diferente del p prescrito), ypara generar el elemento k* para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo si+0M,1 como coeficiente para un vector base b*t,1 de la base B* indicado por la informacion de identificacion t de la tupla positiva, y estableciendo 0M,i' como coeficiente para un vector base b*t? indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i) estableciendo sm,? como coeficiente para el vector base b*t,i' indicado por la informacion de identificacion t de la tupla negativa y para cada numero entero i' = 1, ..., nt; yuna parte de distribucion de clave (15o) que distribuye datos que incluyen la variable p(i) introducida por la primera parte de entrada de informacion (13o) y los elementos k*o y k* generados por la parte de generacion de clave de descifrado (14o), como la clave de descifrado sks.
- 4. Un dispositivo de cifrado (2oo) que genera datos cifrados c en un sistema de procesamiento criptografico (1o) que ejecuta un proceso de cifrado criptografico usando una base Bt y una base B* para cada numero entero t = o, ..., d (1 es un numero entero de 1 o mas), el dispositivo de cifrado (2oo) que comprende:una segunda parte de entrada de informacion (22o) que toma como entrada, un conjunto de atributos r que tiene la informacion de identificacion t y el vector de atributo x^t := (xt,i ) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d;una parte de generacion de datos cifrados (23o) que genera un elemento co, y un elemento ct concerniente a cada informacion de identificacion t incluida en el conjunto de atributos r, en base al conjunto de atributos r introducido por la segunda parte de entrada de informacion, la parte de generacion de datos cifrados que esta configuradapara generar el elemento co donde se establece un valor aleatorio 8 como coeficiente para un vector base bo,p (p es un p prescrito) de una base Bo, y donde un valor predeterminado C se establece como coeficiente para un vector base bo,q (q es un q prescrito) de una base Bo, ypara generar el elemento ct donde xt,i' multiplicado por el valor aleatorio 8 se establece como coeficiente para un vector base bt,i' (i' = 1, ..., nt) de la base Bt para cada informacion de identificacion t incluida en el conjunto de atributos; yuna parte de salida de datos (24o) que emite el conjunto de atributos r introducido por la segunda parte de entrada de informacion (22o) y los elementos coy ct generados por la parte de generacion de datos cifrados (23o), como los datos cifrados c.
- 5. Un dispositivo de descifrado (3oo) que descifra los datos cifrados c con una clave de descifrado sks en un sistema de procesamiento criptografico (1o) que ejecuta un proceso criptografico usando una base Bt y una base B*t para cada numero entero t = o, ..., d (d es un numero entero de 1 o mas), el dispositivo de descifrado (3oo) que comprende:una parte de adquisicion de datos (32o) que adquiereun elemento co y un elemento ct (cada numero entero incluido en el conjunto de atributos r) generados en base a un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, junto con el conjunto de atributos r, como los datos cifrados c,el elemento co que se establece con un valor aleatorio 8 como un coeficiente para un vector base bo,p (p es un valor predeterminado) de una base Bo y que se establece con un valor predeterminado C como coeficiente para un vector base bo,q (q es un valor predeterminado diferente del p prescrito) de la base Bo,51015202530354045el elemento ct que se establece con xt,i' multiplicado por el valor aleatorio 5, como coeficiente para un vector base bt,i' (i' = 1, ..., nt) de la base Bt, para cada informacion de identificacion t incluida en el conjunto de atributos;una parte de adquisicion de clave de descifrado (310) que adquiereun elemento k*o y un elemento k* (cada numero entero i = 1 ..., L) generado en base a un vector de columna s^T : = (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^y un vector w^ cada uno que tiene r (r es un entero de 1 o mas) partes de elementos, y una matriz M predeterminada que tiene L filas y r columnas; un valor so := w^ ■ f^; un valor predeterminado 0i (i = 1, ..., L); y una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), junto con la variable p(i), la variable p(i) que es una cualquiera de una tupla positiva (t, v^i), y una tupla negativa -(t, v^i), de la informacion de identificacion t (t es cualquier numero entero de t = 1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt, nt es un numero entero de 1 o mas), como la clave de descifrado sks,el elemento k*o que se establece con el valor -so como coeficiente para un vector base b*o, p (p es un p prescrito) de una base B*o y que se establece con un valor predeterminado k como coeficiente para el vector base b*o,q (q es un q prescrito) de la base B*o, yel elemento k* para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i), que se establece con si+0M,1 como coeficiente para un vector base b*t,1 de la base B*t indicado por la informacion de identificacion t de la tupla positiva, y que se establece con 0m,? como coeficiente de un vector base b*t,t indicado por la informacion de identificacion t y por cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i), que se establece con sm,? como coeficiente para el vector base b*t,t indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt;una parte de calculo de coeficiente complementario (34o) que, en base al conjunto de atributos r incluido en los datos cifrados c adquiridos por la parte de adquisicion de datos, y la variable p(i) incluida en la clave de descifrado sks adquirida por la parte de adquisicion de clave de descifrado, especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i), y con la cual un producto interno de v^i de la tupla positiva y x^t incluido en r indicado por la informacion de identificacion t de la tupla positiva llega a ser o, y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i) y con la cual un producto interno de v^i de la tupla negativa y x^t incluido en el r indicado por la informacion de identificacion t de la tupla negativa no llega a ser o; y calcula un coeficiente complementario ai con el cual un total de aisi para i incluido en el conjunto I especificado llega a ser so; yuna parte de operacion de emparejamiento (35o) que calcula un valor K = gT=x dirigiendo una operacion de emparejamiento indicada en la Formula 7 para los elementos co y ct incluidos en los datos cifrados c y los elementos k*o y k* incluidos en la clave de descifrado sks, en base al conjunto I especificado por la parte de calculo de coeficiente complementario y al coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario (34o).[Formula 7]K:=e(c0,k5)- n _e<ctJ4r<-
- 6. Un sistema de procesamiento criptografico (1o) que comprende un dispositivo de generacion de claves (1oo), un dispositivo de cifrado (2oo) y un dispositivo de descifrado (3oo), y que sirve para ejecutar un proceso criptografico usando una base Bt y base B*t para cada numero entero t = o, ..., d (d es un numero entero de 1 o mas),en donde el dispositivo de generacion de claves (1oo) incluyeuna primera parte de entrada de informacion (13o) que toma como entrada, un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i ) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, yuna parte de generacion de clave de descifrado (14o) que genera un elemento k*o, y un elemento k*t que conciernen a cada informacion de identificacion t incluida en el conjunto de atributos r, en base al conjunto de atributos r introducido por la primera parte de entrada de informacion, la parte de generacion de clave de descifrado (14o) que esta configuradapara generar el elemento k*o donde un valor aleatorio 5 se establece como coeficiente para un vector base b*o,p (p es un valor predeterminado) de una base B*o, y donde un valor k predeterminado se establece como coeficiente para un vector base b*o,q (q es un valor predeterminado diferente de un p prescrito), y5101520253035404550para generar el elemento k*t donde xt,i' multiplicado por el valor aleatorio 5 se establece como coeficiente para un vector base b*t,i' (i '= 1, ..., nt) de la base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r,en donde el dispositivo de cifrado (200) incluyeuna segunda parte de entrada de informacion (220) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i), de la informacion de identificacion t (t es cualquier numero entero de t = 1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), y una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas), yuna parte de generacion de datos cifrados (230) que genera un elemento co y un elemento c para cada numero entero i = 1 ..., L, en base a un vector de columna s^T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^y un vector w^ cada uno que tiene r partes de elementos, y la matriz M introducida por la segunda parte de entrada de informacion; un valor s0 := w^ ■ f^; y un valor predeterminado 0i (i = 1, ..., L); la parte de generacion de datos cifrados (230) que esta configuradapara generar el elemento c0 estableciendo el valor -s0 como un coeficiente para un vector base b0,p (p es un p prescrito) de la base B0 y estableciendo un valor predeterminado C como coeficiente para el vector base b0,q (q es un q prescrito), ypara generar el elemento c para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo si+0M,1 como coeficiente para un vector base bt,1 de la base Bt indicada por la informacion de identificacion t de la tupla positiva, y estableciendo 0m,? como coeficiente de un vector base bt,i' indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i) estableciendo sm,? como coeficiente para el vector base bt,i' indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt, yen donde el dispositivo de descifrado (300) incluyeuna parte de adquisicion de datos (320) que adquiere datos cifrados c que incluyen los elementos c0 y ct y la variable p(i), los elementos c0 y ct que se generan por la parte de generacion de datos cifrados (230),una parte de adquisicion de clave de descifrado (310) que adquiere la clave de descifrado skr que incluye los elementos k*0 y k* y el conjunto de atributos r, los elementos k*0 y k* que se generan por la parte de generacion de clave de descifrado (140),una parte de calculo de coeficiente complementario (340) que, en base a la variable p(i) que concierne a cada numero entero i = 1, ..., L incluido en los datos cifrados c adquiridos por la parte de adquisicion de datos (320) y el conjunto de atributos r incluido en la clave de descifrado skr adquirida por la parte de adquisicion de clave de descifrado, especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla positiva llega a ser 0, y un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla negativa no llega a ser 0; y calcula un coeficiente complementario ai con el cual un total de aisi para i incluido en el conjunto I especificado llega a ser s0; yuna parte de operacion de emparejamiento (350) que calcula un valor K = gT=% dirigiendo una operacion de emparejamiento indicada en la Formula 8 para los elementos c0 y ct incluidos en los datos cifrados c y los elementos k*0 y k* incluidos en la clave de descifrado skr, en base al conjunto I especificado por la parte de calculo de coeficiente complementario (340) y el coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario (340).[Formula 8]K ?=e(c0,*o)- Y[ e{chk*)a> ■ Yl e(CiJc*rA^xt)ie / a/?(i )=(*, Vi) fel A/?(i)=-1(1, Vi)
- 7. El sistema de procesamiento criptografico segun la reivindicacion 6, que ejecuta el proceso criptografico usando la base B0 que tiene al menos un vector base b0,i (i = 1, ..., 5), la base Bt (t = 1, ..., d) que tiene al menos un vector base bt,i, (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+ wt+zt) (ut, wt y zt son cada uno un numero entero de 1 o mas), la base B*0 que tiene al menos un vector base b*0,i (i = 1, ..., 5), y la base B*t (t = 1, ..., d) que tiene al menos un vector base b*t,i (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+ wt+zt),en donde la parte de generacion de clave de descifrado (140) del dispositivo de generacion de claves (100) genera el elemento k*0 indicado en la Formula 9 en base al valor aleatorio 8, un valor aleatorio Oo y el valor predeterminado k, y genera el elemento k*t indicado en la Formula 10 en base a los valores aleatorios 8 y Ot,i (i = 1, ..., wt), yen donde la parte de generacion de datos cifrados (230) del dispositivo de cifrado (200) genera el elemento c0 5 indicado en la Formula 11 en base a un valor aleatorio r|0 y un valor predeterminado Q, genera un elemento c indicado en la Formula 12 en base a un valor aleatorio 0i (i = 1, ..., L) y un valor aleatorio r|i,i’ (i = 1, ..., L, i '= 1, ..., zt) cuando la variable p(i) es una tupla positiva (t, v^i), y genera un elemento c indicado en la Formula 13 en base al valor aleatorio r|i,i’ (i = 1, ..., L, i '= 1, ..., zt) cuando la variable p(i) es una tupla negativa -(t, v^i).[Formula 9]10[Formula 10]
imagen6 imagen7 [Formula 11]e0:=(-s-0,0,<r,015 [Formula 12]imagen8 imagen9 [Formula 13]imagen10 - 8. Un dispositivo de generacion de claves (100) que genera una clave de descifrado skr en un sistema de 20 procesamiento criptografico (10) que ejecuta un proceso criptografico usando una base Bt y una base B*t para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas), el dispositivo de generacion de claves (100) que comprende:una primera parte de entrada de informacion (130) que toma como entrada, un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i) (i’ = 1, ..., nt donde nt es un numero entero de 1 o 25 mas) para al menos un numero entero t = 1, ..., d;una parte de generacion de clave de descifrado (140) que genera un elemento k*0 y un elemento k*t que conciernen a cada informacion de identificacion t incluida en el conjunto de atributos r, en base al conjunto de atributos r introducido por la primera parte de entrada de informacion, la parte de generacion de clave de descifrado (140) que esta configurada30 para generar el elemento k*0 donde un valor aleatorio 8 se establece como coeficiente para un vector base b*0,p (p es un valor predeterminado) de una base B*0, y donde un valor predeterminado k se establece como coeficiente para un vector base b*0,q (q es un valor predeterminado diferente de un p prescrito), ypara generar el elemento k*t donde xt,i’ multiplicado por el valor aleatorio 8 se establece como coeficiente para un vector base b*t? (i’ = 1, ..., nt) de la base B*t, para cada informacion de identificacion t incluida en el conjunto de 35 atributos f; y5101520253035404550una parte de distribucion de claves (150) que distribuye datos que incluyen el conjunto de atributos r introducido por la primera parte de entrada de informacion (130) y los elementos k*0 y k*i generados por la parte de generacion de clave de descifrado (140), como la clave de descifrado sks.
- 9. Un dispositivo de cifrado (200) que genera datos cifrados c en un sistema de procesamiento criptografico (10) que ejecuta un proceso criptografico usando una base Bt y una base B*t para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas), el dispositivo de cifrado (200) que comprende:una segunda parte de entrada de informacion (220) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y unatupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t =1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), y una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas);una parte de generacion de datos cifrados (230) que genera un elemento c0, y un elemento c para cada numero entero i = 1 ..., L, en base a un vector de columna s^T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^y un vector w^ cada uno que tiene r partes de elementos, y la matriz M introducida por la segunda parte de entrada de informacion; un valor s0 := w^ ■ f^; y un valor predeterminado 0i (i = 1, ..., L), la parte de generacion de datos cifrados (230) que esta configuradapara generar el elemento c0 estableciendo un valor -s0 como coeficiente para un vector base b*0,p (p es un p prescrito) de una base B0 y estableciendo un valor predeterminado C como coeficiente para un vector base b0,q (q es un q prescrito), ypara generar el elemento c para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo si+0M,1 como coeficiente para un vector base bt,1 de la base Bt indicada por la informacion de identificacion t de la tupla positiva, y estableciendo 0m,? como coeficiente de un vector base bt,t indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i), estableciendo sm,? como coeficiente para el vector base bt,t indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt; yuna parte de salida de datos (240) que emite la variable p(i) introducida por la segunda parte de entrada de informacion (220) y los elementos c0 y ct generados por la parte de generacion de datos cifrados (230), como los datos cifrados c.
- 10. Un dispositivo de descifrado (300) que descifra los datos cifrados c con una clave de descifrado skr en un sistema de procesamiento criptografico (10) que ejecuta un proceso criptografico usando una base Bt y una base B* para cada numero entero t = 0, ..., d (d es un numero entero de 1 o mas), el dispositivo de descifrado que comprende:una parte de adquisicion de datos (320) que adquiereun elemento c0 y un elemento c (para cada numero entero i = 1 ..., L) generado en base a un vector de columna s^T := (s1, ..., sl)t := M ■ f^T generado en base a un vector f^y un vector w^ cada uno que tiene r (r es un numero entero de 1 o mas) partes de elementos, y la matriz M predeterminada que tiene L filas y r columnas; un valor s0 := w^ ■ f^; un valor predeterminado 0i (i = 1, ..., L); y una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), junto con la variable p(i), la variable p(i) que es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t = 1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt, nt es un numero entero de 1 o mas), como los datos cifrados c,el elemento c0 que se establece con un valor -80 como coeficiente para un vector base b0,p (p es un valor predeterminado) de una base B0 y que se establece con un valor predeterminado C como coeficiente para un vector base b0,q (q es un valor predeterminado diferente del p prescrito) de la base B0, yel elemento c para cada numero entero i = 1, ..., L, cuando la variable p(i) es una tupla positiva (t, v^i), que se establece con si+0ivi,1 como coeficiente para un vector base bt,1 de la base Bt indicada por la informacion de identificacion t de la tupla positiva, y que se establece con 0M,i' como coeficiente para un vector base bt,t indicado por la informacion de identificacion t y por cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i) que se establece con sm,? como coeficiente para el vector base bt,t indicado por la informacion de identificacion t de la tupla negativa y por cada numero entero i' = 1, ..., nt;una parte de adquisicion de clave de descifrado (310) que adquiereun elemento k*0 generado en base a un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, y un elemento k*t (t es cada numero entero incluido en el conjunto de atributos r), como la clave de descifrado skr junto con el conjunto de atributos r,51015202530354045el elemento k*o que se establece con un valor aleatorio 5 como coeficiente para un vector base b*o,p (p es un p prescrito) de una base B*o y que se establece con un valor predeterminado k como coeficiente para un vector base b*o,q (q es un q prescrito) de la base B*o,el elemento k*t que se establece con xt,i' multiplicado por el valor aleatorio 5, como coeficiente para un vector base b*t,i' (i' = 1, ..., nt) de una base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r;una parte de calculo de coeficiente complementario (34o) que, en base a la variable p(i) incluida en los datos cifrados c adquiridos por la parte de adquisicion de datos (32o), y el conjunto de atributos r incluido en la clave de descifrado sks adquirida por la parte de adquisicion de clave de descifrado (3io), especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i) y con la cual un producto interno de v^i de la tupla positiva y x^t incluido en r indicado por la informacion de identificacion t de la tupla positiva llega a ser o, y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i) y con la cual un producto interno de v^i de la tupla negativa y x^t incluido en el r indicado por la informacion de identificacion t de la tupla negativa no llega a ser o; y calcula un coeficiente complementario ai con el cual un total de aisipara i incluido en el conjunto I especificado llega a ser so; yuna parte de operacion de emparejamiento (35o) que calcula un valor K = gT=% dirigiendo una operacion de emparejamiento indicada en la Formula 14 para los elementos co y c incluidos en los datos cifrados c y los elementos k*o y k* incluidos en la clave de descifrado sks, en base al conjunto I especificado por la parte de calculo de coeficiente complementario (34o) y el coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario (34o).[Formula 14]K-=e{cQ^)- e{chk*)a,' n „ e(cl$yxi/(*x‘'>ielAp(i)=(t,vi) tel/\p(i)=-(t,vt)
- 11. Un sistema de procesamiento de firmas (2o) que comprende un dispositivo de generacion de claves (1oo), un dispositivo de firma (4oo) y un dispositivo de verificacion (5oo), y que sirve para ejecutar un proceso de firma usando una base Bt y una base B*t para cada numero entero t = 1, ..., d, d+2 (d es un numero entero de 1 o mas),en donde el dispositivo de generacion de claves (1oo) incluyeuna primera parte de entrada de informacion (13o) que toma como entrada, un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i ) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d, yuna parte de generacion de clave de firma (16o) que genera un elemento k*t que concierne a cada informacion de identificacion t incluida en el conjunto de atributos r, y un elemento k*d+2 y un elemento k*d+3 en base al conjunto de atributos r introducido por la primera parte de entrada de informacion, la parte de generacion de clave de firma (16o) que esta configuradapara generar el elemento k*t donde x t,i' multiplicado por un valor aleatorio 5 se establece como coeficiente para un vector base b* t,i' (i' = 1, ..., n t) de la base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r,para generar el elemento k*d+2 donde el valor aleatorio 5 se establece como coeficiente para un vector base b*d+2,p' (p' es un valor predeterminado) de una base B*d+2, ypara generar el elemento k*d+3 donde el valor aleatorio 5 se establece como coeficiente para un vector base b*d+2,q' (q' es un valor predeterminado diferente de un p' prescrito) de la base B*d+2,en donde el dispositivo de firma (4oo) incluyeuna segunda parte de entrada de informacion (42o) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t =1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas), y un mensaje m,una parte de adquisicion de clave de firma (41o) que adquiere los elementos k*t, k*d+2 y k*d+3 generados por la parte de generacion de clave de firma (16o), y el conjunto de atributos r, como clave de firma skr,una parte de calculo de coeficiente complementario (43o) que, en base a la variable p(i) para cada numero entero i = 1, ..., L y el conjunto de atributos r incluido en la clave de firma skr adquirida por la parte de adquisicion de clave de51015202530354045firma (410), especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i) y con la cual un producto interno de v^i de la tupla positiva y x^t incluido en r indicado por la informacion de identificacion t de la tupla positiva llega a ser 0, y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i) y con la cual un producto interno de v^i de la tupla negativa y x^t incluido en r indicado por la informacion de identificacion t de la tupla negativa no llega a ser 0; y calcula un coeficiente complementary ai con el cual un total de aiMi para i incluido en el conjunto I especificado, 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 informacion (420), llega a ser un vector predeterminado w^, yuna parte de generacion de firma (450) que, en base a la variable p(i), el conjunto de atributos r, el conjunto I especificado por la parte de calculo de coeficiente complementario (430), y el coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario (430), genera s* para cada numero entero i = 1, ..., L que representa cada numero de fila de la matriz M, y s*x, como se indica en la Formula 15, dondepi es un valor con el que cada elemento llega a ser 0 cuando piMi se suma para cada numero entero i que representa cada numero de fila de la matriz M, ypara cada numero entero i que representa cada numero de fila de la matriz M,
cuando esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := ai, y
permitamos que un vector y^i := (yij) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1,cuando esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := a/(v^i ■ x^t), y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1,
cuando no esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := 0, y
permitamos que un vector y^i := (yij) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1, ycuando no esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := 0, y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1, yen donde el dispositivo de verificacion (500) incluyeuna parte de adquisicion de datos (520) que adquiere datos de firma sig que incluyen s* y s*x generados por la parte de generacion de firma (450), el mensaje m, la variable p(i), y la matriz M,una parte de generacion de datos cifrados (530) que genera un elemento c y un elemento cx, el elemento c que se genera para cada numero entero i que representa un numero de fila de la matriz M, en base a un vector de columna s-T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^ que tiene r partes de elementos, el vector w^, y la matriz M adquirida por la parte de adquisicion de datos (520); un valor s0 := w^ ■ f^; y un valor predeterminado 0i (i es cada numero de fila de la matriz M, y X), la parte de generacion de datos cifrados (530) que esta configuradapara generar el elemento c para cada numero entero i = 1 que representa un numero de fila de la matriz M, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo si+0M,1 como coeficiente para un vector base bt,1 de la base Bt indicada por la informacion de identificacion t de la tupla positiva, y estableciendo 0m,? como coeficiente para un vector base bt,t indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i), estableciendo sM,i' como coeficiente para el vector base bt,t indicado por la informacion de identificacion t de la tupla negativa y cada numero entero i' = 1, ..., nt, ypara generar el elemento cx estableciendo s0+0xm en un vector base bd+2,p' (p' es una p' prescrita) de un vector base Bd+2 y estableciendo 0x en un vector base bd+2,q' (q' es una q' prescrita) del vector base Bd+2, yuna parte de operacion de emparejamiento (540) que verifica la validez de los datos de firma sig realizando una operacion de emparejamiento indicada en la Formula 16 para cada numero entero i que indica X y un numero de fila de la matriz M.[Formula 15]imagen11 donde51015202530imagen12 - 12. El sistema de procesamiento de firmas (20) segun la reivindicacion 11, que ejecuta el proceso de firma usando una base B0 que tiene al menos un vector base b0,i (i = 1, ..., 4), una base Bt (t = 1, ..., d) que tiene al menos un vector base bt,i (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt) (ut, wt y zt son cada uno un numero entero de 1 omas), una base Bd+1 que tiene al menos un vector base bd+1,i (i = 1, ..., 4), una base Bd+2 que tiene al menos un vector base bd+2,i (i = 1, ..., 8), una base B*0 que tiene al menos un vector base b*0,i (i = 1, ..., 4), una base B*t (t = 1, ..., d) que tiene al menos un vector base b*t,i (i = 1, ..., nt, ..., nt+ut, ..., nt+ut+wt, ..., nt+ut+wt+zt), una base B*d+1 que tiene al menos un vector base b*d+1 i (i = 1, ..., 4), y la base B*d+2 que tiene al menos un vector base b*d+2i (i = 1, ..., 8),en donde la parte de generacion de clave de firma (160) del dispositivo de generacion de claves (100) genera un elemento k*0, un elemento k*t, un elemento k*d+2 y un elemento k*d+3, para cada informacion de identificacion t incluida en el conjunto de atributos r y cada numero entero t = 1, ..., wt, en base a valores aleatorios 8, O0, Ot,r, Od+2,1, Od+2,2, Od+3,1 y Od+3,2, como se indica en la Formula 17,en donde el dispositivo de firma (400) incluye ademasuna parte de generacion de matriz (440) que anade un vector de fila predeterminado Ml+1 a una fila de orden (L+1) de la matriz M,en donde la parte de generacion de firma (450) del dispositivo de firma (400) genera s* para cada numero entero i = 1, ..., L+1, y s*0 y s\+2 como s*x, en base a los elementos k*0, k*t,. k*d+2 y k*d+3, y el valor aleatorio ^, como se indica en Formula 18,en donde la parte de generacion de datos cifrados (530) del dispositivo de verificacion (500) genera un elemento 0, y los elementos c0 y q_+2 como un elemento cx, para cada numero entero i = 1, ..., L+1 y cada numero entero i' = 1, ..., zt, en base a valores aleatorios 0i, ni,i', nL+2,1 y nL+2,2, como se indica en la Formula 19, yen donde la parte de operacion de emparejamiento (540) realiza la operacion de emparejamiento para cada numero entero i = 0, .., L+2.[Formula 17]
imagen13 [Formula 18]^0 := £^0 + r0:= n *#f +A *(Sli y^t ■bh)+ri4+2 := S (k*l+2 + m - ^+3) + rL+2donde5101520253035imagen14 - 13. Un dispositivo de generacion de claves (100) que genera una clave de firma skr en un sistema de procesamiento de firmas (20) que ejecuta un proceso de firma usando una base Bt y una base B*t para cada numero entero t = 1, ..., d, d+2 (d es un numero entero de 1 o mas),el dispositivo de generacion de claves (100) que comprende:una primera parte de entrada de informacion (130) que toma como entrada, un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i ) (i’ = 1, ..., nt donde nt es un numero entero de 1 o mas) para al menos un numero entero t = 1, ..., d;una parte de generacion de clave de firma (160) que genera un elemento k*t, un elemento k*d+2 y un elemento k*d+3 en base al conjunto de atributos r introducido por la primera parte de entrada de informacion, el elemento k* que concierne a cada informacion de identificacion t incluida en el conjunto de atributos r, la parte de generacion de clave de firma (160) que esta configuradapara generar el elemento k*t donde xt,i’ multiplicado por el valor aleatorio 8 se establece como coeficiente para un vector base b*t,i’ (i’ = 1, ..., nt) de una base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r,para generar el elemento k*t+2 donde el valor aleatorio 8 se establece como coeficiente para un vector base b*d+2,p’ (p’ es un valor predeterminado) de una base B*d+2, ypara generar el elemento k*d+3 donde el valor aleatorio 8 se establece como coeficiente para un vector base b*d+2,q’ (q’ es un valor predeterminado diferente de un p’ prescrito) de la base B*d+2, yuna parte de distribucion de claves (150) que distribuye datos que incluyen el conjunto de atributos r introducido por la parte de entrada de informacion (130) y los elementos k*t, k*d+2 y k*d+3, como la clave de firma skr.
- 14. Un dispositivo de firma (400) que genera datos de firma sig en un sistema de procesamiento de firmas (20) que ejecuta un proceso de firma usando una base Bt y una base B*t para cada numero entero t = 1, ..., d, d + 2 (d es un numero entero de 1 o mas), el dispositivo de firma (400) que comprende:una segunda parte de entrada de informacion (420) que toma como entrada, una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y unatupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t =1, ..., d) y un vector de atributo v^i := (v^) (i’ = 1, ..., nt donde nt es un numero entero de 1 o mas), una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas), y un mensaje m;una parte de adquisicion de clave de firma (410) que adquiere un elemento k*t, un elemento k*d+2 y un elemento k*d+3 generado para al menos un numero entero t = 1, ..., d, en base a un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i ) (i’ = 1, ..., nt donde nt es un numero entero de 1 o mas) (t es cada51015202530354045informacion de identificacion incluida en el conjunto de atributos r), junto con el conjunto de atributos r, como una clave de firma skr, la parte de adquisicion de clave de firma (410) que esta configuradapara generar el elemento k*t que se establece con xt,i' multiplicado por el valor aleatorio 8 como coeficiente para un vector base b*t,i' (i' = 1, ..., nt) de una base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r,para generar el elemento k*d+2 que se establece con el valor aleatorio 8 como coeficiente para un vector base b*d+2,p' (p' es un valor predeterminado) de una base B*d+2, ypara generar el elemento k*d+3 que se establece con el valor aleatorio 8 como coeficiente para un vector base b*d+2,q' (q' es un valor predeterminado diferente de un p' prescrito) de la base B*d+2iuna parte de calculo de coeficiente complementario (430) que, en base a la variable p(i) para cada numero entero i = 1, ..., L y el conjunto de atributos r incluido en la clave de firma skr adquirida por la parte de adquisicion de clave de firma (410), especifica, entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla positiva llega a ser 0, y un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla negativa no llega a ser 0; y calcula un coeficiente complementario ai con el cual un total de aiMi para i incluido en el conjunto I especificado, 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 informacion (420), llega a ser un vector w^ predeterminado;una parte de generacion de firma (450) que, en base a la variable p(i), el conjunto de atributos r, el conjunto I especificado por la parte de calculo de coeficiente complementario (430), y el coeficiente complementario ai calculado por la parte de calculo de coeficiente complementario (430), genera s* para cada numero entero i que representa cada numero de fila de la matriz M, y s*x, como se indica en la Formula 20, dondepi es un valor con el que cada elemento llega a ser 0 cuando piMi se suma para cada numero entero i que representa cada numero de fila de la matriz M, ypara cada numero entero i que representa cada numero de fila de la matriz M,cuando esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := ai, y permitamos que un vector y^i := (yij) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1,cuando esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := a/(v^i ■ x^t), y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1,cuando no esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := 0, y permitamos que un vector y^i := (yij) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1, ycuando no esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := 0, y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1, yuna parte de salida de datos (460) que emite datos que incluyen la variable p(i), la matriz M y el mensaje m que se introducen por la parte de entrada de informacion (420), y s*0, s* y s*x generados por la parte de generacion de firma (450), como los datos de firma sig.[Formula 20]
imagen15 donde£, r*i y r*x son valores predeterminados. - 15. Un dispositivo de verificacion (500) que verifica los datos de firma sig en un sistema de procesamiento de firmas (20) que ejecuta un proceso de firma usando una base Bt y una base B*t para cada numero entero t = 1, ..., d, d+2 (d es un numero entero de 1 o mas), el dispositivo de verificacion (500) que comprende:5101520253035404550una parte de adquisicion de datos (520) que adquiere los datos de firma sig que incluyen s*i, s*x, un mensaje m, un numero variable p(i) y una matriz M, de entre: los elementos k*t, k*d+2, k*d+3; un conjunto I y un coeficiente complementary ai; y S* y S*x;en donde los elementos k*t, k*d+2 y k*d+3 se generan para al menos un numero entero t = 1, ..., d, en base a un conjunto de atributos r que tiene informacion de identificacion t y un vector de atributo x^t := (xt,i) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas) (t es cada informacion de identificacion incluida en el conjunto de atributos r),el elemento k* que se establece con xt,i' multiplicado por el valor aleatorio 8, como coeficiente para un vector base b*t,i' (i' = 1, ..., nt) de una base B*t, para cada informacion de identificacion t incluida en el conjunto de atributos r,el elemento k*d+2 que se establece con el valor aleatorio 8, como coeficiente para un vector base b*d+2,p' (p' es un valor predeterminado) de una base B*d+2, yel elemento k*d+3 que se establece con el valor aleatorio 8, como coeficiente para un vector base b*d+2,q' (q' es un valor predeterminado diferente de un p' prescrito) de la base B*d+2,en donde el conjunto I y el coeficiente complementario ai se calculan en base a una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), que es una cualquiera de una tupla positiva (t, v^i) y una tupla negativa -(t, v^i) de informacion de identificacion t (t es cualquier numero entero de t =1, ..., d) y un vector de atributo v^i := (v^) (i' = 1, ..., nt donde nt es un numero entero de 1 o mas), y en base al conjunto de atributos r,el conjunto I que es un conjunto de, entre los numeros enteros i = 1, ..., L, un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla positiva llega a ser 0, y un numero entero i para el cual la variable p(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 r indicado por la informacion de identificacion t de la tupla negativa no llega a ser 0,el coeficiente complementario ai que es de manera que con el cual un total de aiMi para i incluido en el conjunto I, en base a Mi que es un elemento en una fila de orden i de la matriz M introducida, llega a ser un vector w^ predeterminado, yen donde s* (cada numero entero de i = 1, ..., L) y s*x se generan en base a la variable p(i), el conjunto de atributos r, el conjunto I y el coeficiente complementario ai, como se indica en la Formula 21, dondepi es un valor con el que cada elemento llega a ser 0 cuando piMi se suma para cada numero entero i que representa cada numero de fila de la matriz M, ypara cada numero entero i que representa cada numero de fila de la matriz M,cuando esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := ai, ypermitamos que un vector y^i := (yi,t) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1,cuando esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := a/(v^i ■ x^t), y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1,cuando no esta establecido i e I y la variable p(i) es una tupla positiva (t, v^i), permitamos un valor Yi := 0, ypermitamos que un vector y^i := (yij) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 0 eyi,1 = 1, ycuando no esta establecido i e I y la variable p(i) es una tupla negativa -(t, v^i), permitamos un valor Yi := 0, y permitamos que un vector y^i := (y^) (t := 1, ..., nt) sea un vector con el cual un producto interno de y^i y v^i es 1;una parte de generacion de datos cifrados (530) que genera un elemento c y un elemento cx, el elemento c que se genera para cada numero entero i = 1, ..., L, en base a un vector de columna s^T := (s-i, ..., sl)t := M ■ f^T generado en base a un vector f^ que tiene r partes de elementos, el vector w^ y la matriz M introducida por la parte de adquisicion de datos (520); un valor s0 := w^ ■ f^; y un valor predeterminado 0i (i es cada numero de fila de la matriz M, y X), la parte de generacion de datos cifrados (530) que esta configuradapara generar el elemento ci, para cada numero entero i = 1 que representa un numero de fila de la matriz M, cuando la variable p(i) es una tupla positiva (t, v^i), estableciendo si+0M,1 como coeficiente para un vector base bt,1 de la base Bt indicada por la informacion de identificacion t de la tupla positiva, y estableciendo 0m,? como coeficiente para un vector base bt,i' indicado por la informacion de identificacion t y cada numero entero i' = 2, ..., nt, y cuando la variable p(i) es una tupla negativa -(t, v^i), estableciendo sM,i' como coeficiente para el vector base bt,i' indicado por la informacion de identificacion t de la tupla negativa y cada numero entero i' = 1, ..., nt, ypara generar el elemento cx estableciendo s0-0xm en un vector base bd+2,p' (p' es una p' prescrita) de un vector base Bd+2 y estableciendo 0x en un vector base bd+2,q' (q' es una q' prescrita) del vector base Bd+2; yuna parte de operacion de emparejamiento (540) que verifica la validez de los datos de firma sig realizando una operacion de emparejamiento indicada en la Formula 22 para cada numero entero i que indica X y un numero de fila de la matriz M.[Formula 21]
imagen16 donde£ r*i y r*x son valores predeterminados. [Formula 22]imagen17 10
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101657A JP5424974B2 (ja) | 2010-04-27 | 2010-04-27 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
JP2010101657 | 2010-04-27 | ||
PCT/JP2011/053174 WO2011135895A1 (ja) | 2010-04-27 | 2011-02-15 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2693146T3 true ES2693146T3 (es) | 2018-12-07 |
Family
ID=44861216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11774680.0T Active ES2693146T3 (es) | 2010-04-27 | 2011-02-15 | 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 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8913742B2 (es) |
EP (1) | EP2565862B1 (es) |
JP (1) | JP5424974B2 (es) |
KR (1) | KR101386294B1 (es) |
CN (1) | CN102859571B (es) |
ES (1) | ES2693146T3 (es) |
WO (1) | WO2011135895A1 (es) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5492007B2 (ja) * | 2010-08-04 | 2014-05-14 | 日本放送協会 | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム |
JP5693206B2 (ja) | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5618881B2 (ja) * | 2011-03-25 | 2014-11-05 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
JP5677273B2 (ja) | 2011-11-18 | 2015-02-25 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
JP5650630B2 (ja) * | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム |
JP2013150026A (ja) * | 2012-01-17 | 2013-08-01 | Mitsubishi Electric Corp | データ処理システム及び秘匿化装置及び秘密鍵生成装置及び秘匿化方法及び秘密鍵生成方法及びプログラム |
JP5680007B2 (ja) * | 2012-03-06 | 2015-03-04 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
JP5814880B2 (ja) | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
JP5921410B2 (ja) | 2012-10-19 | 2016-05-24 | 三菱電機株式会社 | 暗号システム |
KR101493212B1 (ko) * | 2012-10-31 | 2015-02-23 | 삼성에스디에스 주식회사 | 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치 |
EP2945313B1 (en) | 2013-01-12 | 2017-09-06 | Mitsubishi Electric Corporation | Key generation device, key generation program, concealed data search system, and key distribution method |
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 |
EP3057262B1 (en) * | 2013-10-09 | 2021-07-28 | Mitsubishi Electric Corporation | Cipher system, encryption device, re-encryption key generation device, re-encryption device, and cipher program |
EP3079299A4 (en) * | 2013-12-02 | 2017-07-19 | Mitsubishi Electric Corporation | Data processing system, encryption apparatus, decryption apparatus, and program |
CN106031080B (zh) | 2014-02-24 | 2019-07-16 | 三菱电机株式会社 | 加密系统 |
JP6104469B2 (ja) * | 2014-07-02 | 2017-03-29 | 三菱電機株式会社 | 行列生成装置及び行列生成方法及び行列生成プログラム |
DE112014007235B4 (de) | 2014-12-05 | 2024-10-10 | Mitsubishi Electric Corporation | Kryptografisches System, Hauptschlüsselaktualisierungseinrichtung und Hauptschlüsselaktualisierungsprogramm |
CN106922210B (zh) * | 2014-12-05 | 2018-07-10 | 三菱电机株式会社 | 解密条件追加装置、加密系统和计算机可读介质 |
CN107251479B (zh) * | 2015-02-20 | 2020-08-11 | 三菱电机株式会社 | 数据保管装置和数据处理方法 |
CN107251480B (zh) * | 2015-02-20 | 2018-07-10 | 三菱电机株式会社 | 数据保管装置、数据更新系统和数据处理方法 |
US10516534B2 (en) | 2015-04-07 | 2019-12-24 | Mitsubishi Electric Corporation | Cryptographic system and key generation apparatus |
US9209974B1 (en) * | 2015-05-03 | 2015-12-08 | Zeutro, Llc | Functional encryption key management |
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
JP6366883B2 (ja) | 2016-04-27 | 2018-08-01 | 三菱電機株式会社 | 属性連携装置、転送システム、属性連携方法及び属性連携プログラム |
WO2018026944A1 (en) * | 2016-08-02 | 2018-02-08 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US10873568B2 (en) | 2017-01-20 | 2020-12-22 | Enveil, Inc. | Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US10771237B2 (en) | 2017-01-20 | 2020-09-08 | Enveil, Inc. | Secure analytics using an encrypted analytics matrix |
US11290252B2 (en) | 2017-01-20 | 2022-03-29 | Enveil, Inc. | Compression and homomorphic encryption in secure query and analytics |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
SG10201701044SA (en) * | 2017-02-09 | 2018-09-27 | Huawei Int Pte Ltd | System and method for computing private keys for self certified identity based signature schemes |
WO2019016916A1 (ja) * | 2017-07-20 | 2019-01-24 | 三菱電機株式会社 | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム |
EP3675086B1 (en) | 2017-09-12 | 2021-10-27 | Mitsubishi Electric Corporation | Registration terminal, search terminal, search server, search system, registration program, and search program |
JP6456451B1 (ja) | 2017-09-25 | 2019-01-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信装置、通信方法、及びプログラム |
US10193690B1 (en) * | 2017-09-29 | 2019-01-29 | U.S. Bancorp, National Association | Systems and methods to secure data using computer system attributes |
JP7024666B2 (ja) * | 2018-08-28 | 2022-02-24 | 日本電信電話株式会社 | Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム |
JP7117964B2 (ja) * | 2018-10-04 | 2022-08-15 | 三菱電機株式会社 | 復号装置、暗号システム、復号方法及び復号プログラム |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US11469903B2 (en) * | 2019-02-28 | 2022-10-11 | Microsoft Technology Licensing, Llc | Autonomous signing management operations for a key distribution service |
WO2021001990A1 (ja) * | 2019-07-04 | 2021-01-07 | 三菱電機株式会社 | データ処理装置、復号装置、データ処理方法、復号方法、データ処理プログラム及び復号プログラム |
WO2021112877A1 (en) * | 2019-12-06 | 2021-06-10 | Hewlett-Packard Development Company, L.P. | Key distribution |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
CN112733111B (zh) * | 2020-12-31 | 2023-05-23 | 暨南大学 | 一种基于片段分割的阈值谓词加密生物特征认证方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113594B2 (en) * | 2001-08-13 | 2006-09-26 | The Board Of Trustees Of The Leland Stanford University | Systems and methods for identity-based encryption and related cryptographic techniques |
JP2006107274A (ja) * | 2004-10-07 | 2006-04-20 | Matsushita Electric Ind Co Ltd | ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム |
JP2007235659A (ja) | 2006-03-02 | 2007-09-13 | Mebius Corp | 鍵管理方法、暗号処理方法、電子署名方法、アクセス管理方法 |
JP5131187B2 (ja) * | 2006-03-14 | 2013-01-30 | 日本電気株式会社 | 情報処理システム、情報処理方法および情報処理プログラム |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
EP2120227B1 (en) * | 2007-01-19 | 2015-04-15 | Mitsubishi Electric Corporation | Cryptogram generating device, cryptogram communication system, and group parameter generating device |
JP5349261B2 (ja) | 2009-04-23 | 2013-11-20 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
US8964982B2 (en) | 2009-04-24 | 2015-02-24 | Nippon Telegraph And Telephone Corporation | Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium |
EP2423904B1 (en) | 2009-04-24 | 2015-01-07 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium |
-
2010
- 2010-04-27 JP JP2010101657A patent/JP5424974B2/ja active Active
-
2011
- 2011-02-15 KR KR1020127025089A patent/KR101386294B1/ko active IP Right Grant
- 2011-02-15 CN CN201180020997.1A patent/CN102859571B/zh active Active
- 2011-02-15 US US13/640,885 patent/US8913742B2/en active Active
- 2011-02-15 ES ES11774680.0T patent/ES2693146T3/es active Active
- 2011-02-15 EP EP11774680.0A patent/EP2565862B1/en active Active
- 2011-02-15 WO PCT/JP2011/053174 patent/WO2011135895A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20130028415A1 (en) | 2013-01-31 |
KR101386294B1 (ko) | 2014-04-17 |
US8913742B2 (en) | 2014-12-16 |
EP2565862A4 (en) | 2017-07-19 |
EP2565862A1 (en) | 2013-03-06 |
CN102859571A (zh) | 2013-01-02 |
JP2011232475A (ja) | 2011-11-17 |
CN102859571B (zh) | 2015-06-10 |
JP5424974B2 (ja) | 2014-02-26 |
KR20120139753A (ko) | 2012-12-27 |
WO2011135895A1 (ja) | 2011-11-03 |
EP2565862B1 (en) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
JP5253567B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
ES2873230T3 (es) | Sistema de procesamiento de encriptado | |
JP5985123B1 (ja) | 秘匿検索システム、管理装置、秘匿検索方法及び秘匿検索プログラム | |
KR101393899B1 (ko) | 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
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 | |
EP2423903B1 (en) | Encryption apparatus, deccryption apparatus, encryption method, decryption method, security method, program, and recording medium | |
JP5606344B2 (ja) | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム | |
Zhandry | How to avoid obfuscation using witness PRFs | |
Zhou et al. | Identity-based proxy re-encryption version 2: Making mobile access easy in cloud | |
WO2013133158A1 (ja) | 暗号システム、暗号方法及び暗号プログラム | |
WO2012011565A1 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 | |
ES2645072T3 (es) | Sistema criptográfico | |
Wang et al. | Fuzzy matching and direct revocation: a new CP-ABE scheme from multilinear maps | |
ES2699535T3 (es) | Sistema de procesamiento de cifrado, dispositivo de generación de claves, dispositivo de cifrado, dispositivo de desciframiento, dispositivo de delegación de claves, método de procesamiento de cifrado y programa de procesamiento de cifrado | |
Wang et al. | A new proxy re-encryption scheme for protecting critical information systems | |
Cong et al. | Optimizing registration based encryption | |
Lee et al. | Anonymous HIBE with short ciphertexts: full security in prime order groups | |
Liu et al. | Efficient subtree-based encryption for fuzzy-entity data sharing | |
JP5097137B2 (ja) | 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム | |
Yu et al. | Achieving flexibility for ABE with outsourcing via proxy re-encryption |