ES2645072T3 - Sistema criptográfico - Google Patents
Sistema criptográfico Download PDFInfo
- Publication number
- ES2645072T3 ES2645072T3 ES13846805.3T ES13846805T ES2645072T3 ES 2645072 T3 ES2645072 T3 ES 2645072T3 ES 13846805 T ES13846805 T ES 13846805T ES 2645072 T3 ES2645072 T3 ES 2645072T3
- Authority
- ES
- Spain
- Prior art keywords
- index
- coefficient
- base vector
- formula
- value
- 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/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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
- H04L9/007—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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
-
- 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/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
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)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Sistema criptográfico (10) que comprende un dispositivo (200) de cifrado y un dispositivo (300) de descifrado, en donde el dispositivo (200) de cifrado incluye una unidad (230) de generación de textos cifrados que está configurada para generar un texto cifrado que tiene un elemento c0 en el cual un valor ω ~ se fija como coeficiente de un vector de base b0,r, y un elemento ct en el cual información de atributos xt se fija como coeficiente de un vector de base bp y el valor ω~ se fija como coeficiente de un vector de base bq, para cada índice t incluido en un conjunto Ix→ , y en donde el dispositivo (300) de descifrado incluye una unidad (320) de almacenamiento de claves de descifrado que está configurada para almacenar una clave de descifrado que tiene un elemento k0 y un elemento kt que se generan usando un valor st y un valor s0 que es una suma del valor st para cada índice t incluido en un conjunto Iv→ , siendo el elemento k0 un elemento en el cual un valor -s0 se fija como coeficiente de un vector de base b* 0,r correspondiente al vector de base b0,r, siendo el elemento kt un elemento en el cual información de predicados vt se fija como coeficiente de un vector de base b* p correspondiente al vector de base bp y el valor st se fija como coeficiente de un vector de base b* q correspondiente al vector de base bq, para cada índice t incluido en el conjunto Iv→ ; y una unidad (340, 350) de descifrado que está configurada para descifrar el texto cifrado generado por la unidad (230) de generación de textos cifrados con la clave de descifrado almacenada por la unidad (320) de almacenamiento de claves de descifrado, estando configurada la unidad (340, 350) de descifrado para descifrar el texto cifrado calculando un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento c0 y el elemento k0 y sobre el elemento ct y el elemento kt para cada índice t incluido en el conjunto Iv→ .
Description
5
10
15
20
25
30
35
40
45
DESCRIPCION
Sistema criptografico Campo tecnico
La presente invencion se refiere a un esquema generalizado de cifrado mediante predicados de productos internos, y a un esquema de cifrado funcional y un esquema de firma basado en atributos que presentan, como estructura inferior, cada uno de ellos, un esquema generalizado de cifrado mediante predicados de productos internos.
Antecedentes de la tecnica
El documento EP 2 613 472 A1 se refiere a un sistema de procesado de cifrado, a un dispositivo de generacion de claves, a un dispositivo de cifrado, a un dispositivo de descifrado, a un metodo de procesado de cifrado, y a un programa de procesado de cifrado. El objetivo de este documento es proporcionar un esquema de cifrado funcional y seguro que disponga de muchas funciones criptograficas. Una estructura de acceso se constituye aplicando el producto interno de vectores de atributos a un programa de subespacios generados. La estructura de acceso tiene un grado de libertad en el diseno del programa de subespacios generados y en el diseno de los vectores de atributos, disponiendo, asf, de un grado alto de libertad en el diseno del control de acceso. Se implementa un proceso de cifrado funcional dotando de la estructura de acceso a cada uno de un texto cifrado y una clave de descifrado.
Las referencias bibliograficas 30 y 31, que no son patentes, describen esquemas de cifrado mediante predicados de productos internos.
La referencia bibliografica 31, que no es una patente, describe un esquema de cifrado funcional.
La referencia bibliografica 32, que no es patente, describe un esquema de firma basado en atributos.
Lista de referencias
Bibliografia que no forma parte del ambito de las patentes
Referencia bibliografica 1, no documento de patente: Attrapadung, N. y Libert, B., Functional Encryption for Inner Product: Achieving Constant-Size Ciphertexts with Adaptive Security or Support for Negation, PKC 2010, pags. 384 a 402. Springer Heidelberg (2010)
Referencia bibliografica 2, no documento de patente: Beimel, A., Secure schemes for secret sharing and key distribution. PhD Thesis, Israel Institute of Technology, Technion, Haifa, Israel, 1996.
Referencia bibliografica 3, no documento de patente: Bellare, M., Waters, B., Yilek, S.: Identity-based encryption secure against selective opening attack. En: Ishai, Y.(ed.) TCC 2011. pags. 235 a 252. Springer Heidelberg (2011)
Referencia bibliografica 4, no documento de patente: Bethencourt, J., Sahai, A., Waters, B.: Ciphertext-policy attribute-based encryption. En: 2007 IEEE Symposium on Security and Privacy, pags. 321 a 334. IEEE Press (2007)
Referencia bibliografica 5, no documento de patente: Boneh, D., Boyen, X.: Efficient selective-ID secure identity based encryption without random oracles. En: Cachin, C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3.027, pags. 223 a 238. Springer Heidelberg (2004)
Referencia bibliografica 6, no documento de patente : Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. En: Franklin, M.K. (ed.) cRyPT02004. LNCS, vol. 3.152, pags. 443 a 459. Springer Heidelberg (2004)
Referencia bibliografica 7, no documento de patente: Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. En: Cramer, R. (ed.) EURoCrYPT 2005. LNCS, vol. 3.494, pags. 440 a 456. Springer Heidelberg (2005)
Referencia bibliografica 8, no documento de patente: Boneh, D., Boyen, X., Shacham, H.: Short group signatures. En: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3.152, pags. 41 a 55. Springer, Heidelberg (2004)
Referencia bibliografica 9, no documento de patente: Boneh, D., Franklin, M.: Identity-based encryption from the Weil pairing. En: Kilian, J. (ed.) CRYPTO 2001.LNCS, vol. 2.139, pags. 213 a 229. Springer Heidelberg (2001)
Referencia bibliografica 10, no documento de patente: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5.350, pags. 455 a 470. Springer Heidelberg (2008)
Referencia bibliografica 11, no documento de patente: Boneh, D., Katz, J., Improved efficiency for CCA-secure
5
10
15
20
25
30
35
40
45
50
cryptosystems built using identity based encryption. RSA-CT 2005, LNCS, Springer Verlag (2005)
Referencia bibliografica 12, no documento de patente: Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. En: Vadhan, S.P. (ed.) TCC2007. LNCS, vol. 4.392, pags. 535 a 554. Springer Heidelberg (2007)
Referencia bibliografica 13, no documento de patente: Boyen, X., Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). En: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4.117, pags. 290 a 307. Springer Heidelberg (2006)
Referencia bibliografica 14, no documento de patente: Canetti, R., Halevi S., Katz J.: Chosen-ciphertext security from identity-based encryption. EUROCRYPT 2004, LNCS, Springer Heidelberg (2004)
Referencia bibliografica 15, no documento de patente: Chase, M.: Multi-authority attribute based encryption. TCC, LNCS, pags. 515 a 534, Springer Heidelberg (2007).
Referencia bibliografica 16, no documento de patente: Chase, M. y Chow, S.: Improving privacy and security in multiauthority attribute-based encryption, ACM Conference on Computer and Communications Security, pags. 121 a 130, ACM (2009).
Referencia bibliografica 17, no documento de patente: Cocks, C.: An identity based encryption scheme based on quadratic residues. En: Honary, B. (ed.) IMA Int. Conf. LNCS, vol. 2.260, pags. 360 a 363. Springer Heidelberg (2001)
Referencia bibliografica 18, no documento de patente: Gentry, C.: Practical identity-based encryption without random oracles. En: Vaudenay, S. (ed.) EUROCRYPT2006. LNCS, vol. 4.004, pags. 445 a 464. Springer Heidelberg (2006)
Referencia bibliografica 19, no documento de patente: Gentry, C., Halevi, S.: Hierarchical identity-based encryption with polynomially many levels. En: Reingold, O.(ed.) TCC 2009. LNCS, vol. 5.444, pags. 437 a 456. Springer Heidelberg (2009)
Referencia bibliografica 20, no documento de patente: Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. En: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2.501, pags. 548 a 566. Springer Heidelberg (2002)
Referencia bibliografica 21, no documento de patente: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for fine-grained access control of encrypted data. En: ACM Conference on Computer and Communication Security 2006, pags. 89 a 98, ACM (2006)
Referencia bibliografica 22, no documento de patente: Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4.965, pags. 146 a 162. Springer Heidelberg (2008)
Referencia bibliografica 23, no documento de patente: Lewko, A., Okamoto, T., Sahai, A., Takashima, K., Waters, B.: Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption, EuRoCRYPT 2010. LNCS, Springer Heidelberg (2010) La version completa esta disponible en
http://eprint.iacr.org/2010/110
http://eprint.iacr.org/2010/110
Referencia bibliografica 24, no documento de patente: Lewko, A.B., Waters, B.: New techniques for dual system encryption and fully secure HIBE with short ciphertexts. En: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5.978, pags. 455 a 479. Springer Heidelberg (2010)
Referencia bibliografica 25, no documento de patente: Lewko, A.B., Waters, B.: Decentralizing Attribute-Based Encryption, EUROCRYPT 2011. LNCS, vol. 6.632, pags. 568 a 588. Springer Heidelberg (2011)
Referencia bibliografica 26, no documento de patente: Lewko, A.B., Waters, B.: Unbounded HIBE and attribute- based encryption, EUROCRYPT 2011. LNCS, vol. 6.632, pags. 547 a 567. Springer Heidelberg (2011)
Referencia bibliografica 27, no documento de patente: H. Lin, Z. Cao, X. Liang, y J. Shao.: Secure threshold multi authority attribute based encryption without a central authority, INDOCRYPT, LNCS, vol. 5.365, pags. 426 a 436, Springer Heidelberg (2008).
Referencia bibliografica 28, no documento de patente: S. Mueller, S. Katzenbeisser, y C. Eckert.; On multi-authority ciphertext-policy attribute-based encryption, Bull. Korean Math Soc. 46, n.° 4, pags. 803 a 819 (2009).
Referencia bibliografica 29, no documento de patente: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5.209, pags. 57 a 74, Springer Heidelberg (2008)
Referencia bibliografica 30, no documento de patente: Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner-products, En: ASIACRYPT 2009, Springer Heidelberg (2009)
5
10
15
20
25
30
35
40
45
Referencia bibliografica 31, no documento de patente: Okamoto, T., Takashima, K.: Fully secure functional encryption with general relations from the decisional linear assumption. En: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6.223, pags. 191 a 208. Springer Heidelberg (2010). La version completa esta disponible en
http://eprint.iacr.org/2010/563
http://eprint.iacr.org/2010/563
Referencia bibliografica 32, no documento de patente: Okamoto, T., Takashima, K.: Efficient attribute-based signatures for non-monotone predicates in the standard model, En: PKC 2011, Springer Heidelberg (2011)
Referencia bibliografica 33, no documento de patente: Okamoto, T., Takashima, K.: Achieving Short Ciphertexts or Short Secret-Keys for Adaptively Secure General Inner-Product Encryption. CANS 2011, LNCS, vol. 7.092, pags. 138 a 159 Springer Heidelberg (2011).
Referencia bibliografica 34, no documento de patente: Okamoto, T., Takashima, K.: Adaptively Attribute-Hiding (Hierarchical) Inner Product Encryption. EUROcRyPT 2012, LNCS, vol. 7.237, pags. 591 a 608, Springer Heidelberg (2012)
Referencia bibliografica 35, no documento de patente: Ostrovsky, R., Sahai, A., Waters, B.: Attribute-based encryption with non-monotonic access structures. En: ACM Conference on Computer and Communication Security 2007, pags. 195 a 203, ACM (2007)
Referencia bibliografica 36, no documento de patente: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: ACM Conference on Computer and Communication Security 2006, pags. 99 a 112, ACM, (2006)
Referencia bibliografica 37, no documento de patente: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3.494, pags. 457 a 473. Springer Heidelberg (2005)
Referencia bibliografica 38, no documento de patente: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En: Aceto, L., Damgaard, L, Goldberg, L.A., Halldoersson, M.M., Ingoelfsdoettir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol. 5.126, pags. 560 a 578. Springer Heidelberg (2008)
Referencia bibliografica 39, no documento de patente: Waters, B.: Efficient identity based encryption without random oracles. Eurocrypt 2005, LNCS, vol. 3.152, pags. 443 a 459. Springer Verlag, (2005)
Referencia bibliografica 40, no documento de patente: Waters, B.: Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. PKC 2011, LNCS, vol. 6.571, pags. 53 a 70. Springer Heidelberg (2011). ePrint, iAcR,
http://eprint.iacr.org/2008/290
http://eprint.iacr.org/2008/290
Referencia bibliografica 41, no documento de patente: Waters, B.: Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5.677, pags. 619 a 636. Springer Heidelberg (2009)
Sumario de la invencion
Problema tecnico
En los esquemas de cifrado por predicados de productos internos descritos en las referencias bibliograficas 30 y 31, que no son documentos de patente, existe la restriccion de que las dimensiones de un vector de atributos x^ (parametro usado para el cifrado) y un vector de predicados v^ (parametro usado para una clave secreta) debenan ser equivalentes.
Es un objetivo de la presente invencion lograr un esquema de cifrado mediante predicados de productos internos con una flexibilidad mejorada.
Solucion al problema
El objetivo de la presente invencion se logra con las reivindicaciones independientes. Las reivindicaciones dependientes describen realizaciones ventajosas.
Un sistema criptografico de acuerdo con la presente invencion es un sistema criptografico que incluye un dispositivo de cifrado y un dispositivo de descifrado,
en donde el dispositivo de cifrado incluye
una unidad de generacion de textos cifrados que genera un texto cifrado que tiene un elemento c0 en el cual un valor o~ se fija como coeficiente de un vector de base b0,r, y un elemento ct en el cual la informacion de atributo xt se fija como coeficiente de un vector de base bp y el valor o~ se fija como coeficiente de un vector de base bq, para cada mdice t incluido en un conjunto I^, y
5
10
15
20
25
30
35
40
45
en donde el dispositivo de descifrado incluye
una unidad de almacenamiento de claves de descifrado que almacena una clave de descifrado que tiene un elemento ko y un elemento kt que se generan usando un valor st y un valor so el cual es una suma del valor st para cada mdice t incluido en un conjunto Iv_, siendo el elemento k0 un elemento en el cual un valor -s0 se fija como coeficiente de un vector de base b*0,r correspondiente al vector de base b0,r, siendo el elemento kt un elemento en el cual la informacion de predicado vt se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp y el valor st se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, para cada mdice t incluido en el conjunto Ivj y
una unidad de descifrado que descifra el texto cifrado generado por la unidad de generacion de textos cifrados con la clave de descifrado almacenada por la unidad de almacenamiento de claves de descifrado, de manera que la unidad de descifrado descifra el texto cifrado calculando un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base en el elemento c0 y el elemento k0 y en el elemento c y el elemento kt para cada mdice t incluido en el conjunto Iv_.
Efectos ventajosos de la invencion
En un sistema criptografico de acuerdo con la presente invencion, se lleva a cabo una operacion de emparejamiento sobre solamente un mdice t incluido en un conjunto Iv_, y no se requiere que las dimensiones de un vector de atributos x~ y un vector de predicados v~ sean equivalentes. De este modo, el sistema criptografico de acuerdo con la presente invencion puede materializar un esquema de cifrado mediante predicados de productos internos con una flexibilidad mejorada.
Breve descripcion de los dibujos
La Fig. 1 es un diagrama de configuracion de un sistema 10 de procesado criptografico segun la Realizacion 1;
la Fig. 2 es un diagrama de bloques funcional que ilustra la funcion de un dispositivo 100 de generacion de claves segun la Realizacion 1;
la Fig. 3 es un diagrama de bloques funcional que ilustra la funcion de un dispositivo 200 de cifrado segun la Realizacion 1;
la Fig. 4 es un diagrama de bloques funcional que ilustra la funcion de un dispositivo 300 de descifrado segun la Realizacion 1;
la Fig. 5 es un diagrama de flujo que ilustra el proceso de un algoritmo Setup segun la Realizacion 1;
la Fig. 6 es un diagrama de flujo que ilustra el proceso de un algoritmo KeyGen segun la Realizacion 1;
la Fig. 7 es un diagrama de flujo que ilustra el proceso de un algoritmo Enc segun la Realizacion 1;
la Fig. 8 es un diagrama de flujo que ilustra el proceso de un algoritmo Dec segun la Realizacion 1;
la Fig. 9 es un diagrama de flujo que ilustra el proceso de un algoritmo KeyGen segun la Realizacion 2;
la Fig. 10 es un diagrama de flujo que ilustra el proceso de un algoritmo Enc segun la Realizacion 2;
la Fig. 11 es un diagrama de flujo que ilustra el proceso de un algoritmo Dec segun la Realizacion 2;
la Fig. 12 es un diagrama de flujo que ilustra el proceso de un algoritmo Setup segun la Realizacion 3;
la Fig. 13 es un diagrama de flujo que ilustra el proceso de un algoritmo KeyGen segun la Realizacion 3;
la Fig. 14 es un diagrama de flujo que ilustra el proceso de un algoritmo Enc segun la Realizacion 3;
la Fig. 15 es un diagrama de flujo que ilustra el proceso de un algoritmo Dec segun la Realizacion 3; y
la Fig. 16 es un diagrama que ilustra un ejemplo de una configuracion de hardware del dispositivo 100 de generacion de claves, el dispositivo 200 de cifrado y el dispositivo 300 de descifrado.
Descripcion de realizaciones
En lo sucesivo en la presente se describiran realizaciones de esta invencion en referencia a los dibujos adjuntos.
En la siguiente descripcion, un dispositivo de procesado es una CPU 911 o similar, que se describira posteriormente. Un dispositivo de almacenamiento es una ROM 913, una RAM 914, un disco magnetico 920 o similares que se describiran posteriormente. Un dispositivo de comunicaciones es una placa 915 de comunicaciones o similar que se describira posteriormente. Un dispositivo de entrada es un teclado 902, la placa 915 de comunicaciones o similares
5
10
15
20
25
30
35
que se describiran posteriormente. Un dispositivo de salida es la RAM 914, el disco magnetico 920, la placa 915 de comunicaciones, un LCD 901 o similares que se describiran posteriormente. Es decir, el dispositivo de procesado, el dispositivo de almacenamiento, el dispositivo de comunicaciones, el dispositivo de entrada y el dispositivo de salida son hardware.
Se explicaran las notaciones que se van a utilizar en la siguiente descripcion.
Cuando A es una distribucion o variable aleatoria, la Formula 101 designa que y se selecciona aleatoriamente de A de acuerdo con la distribucion de A. Es decir, y es un numero aleatorio en la Formula 101.
[Formula 101]
Cuando A es un conjunto, la Formula 102 designa que y se selecciona uniformemente de A. Es decir, y es un numero aleatorio uniforme en la Formula 102.
[Formula 102]
La Formula 103 designa que y es un conjunto definido o sustituido por z.
[Formula 103]
^:=z
Cuando a es un valor fijo, la Formula 104 designa que una maquina (algoritmo) A da salida a a con una entrada x. [Formula 104]
A(x) —> a Por ejemplo,
A( x) —»1
La Formula 105, a saber Fq, designa un cuerpo finito de orden q.
[Formula 105]
Un sfmbolo de vector designa una representacion vectorial sobre el cuerpo finito Fq, segun se indica en la Formula 106.
[Formula 106]
—i
A designa
(xj,...,xn) g F".
La Formula 107 designa el producto interno, indicado en la Formula 109, de dos vectores x~ y v~ indicados en la Formula 108.
[Formula 107]
[Formula 108]
X — (x^ ,..., Xfl )
[Formula 109]
5
10
15
20
25
30
35
40
ir^
Observese que XT designa la transposicion de una matriz X.
Para una base B y una base B* indicadas en la Formula 110, se establece la Formula 111.
[Formula 110]
E:= (b\,...,bN),
B* :=
[Formula 111]
OV-^aOb* :=ZhM*
En la siguiente descripcion, cuando “Si,j” se representa como un supenndice, este 5i,j designa Sy.
Cuando “^” que representa un vector se adjunta a un submdice o supenndice, se pretende significar que este “^” se adjunta como supenndice al submdice o supenndice.
En la siguiente descripcion, los procesos de primitivas criptograficas incluyen no solamente un proceso criptografico estrechamente definido para mantener la seguridad de informacion con respecto a un tercero, sino que incluyen tambien un proceso de firma. Los procesos de las primitivas criptograficas incluyen un proceso de generacion de claves, un proceso de cifrado, un proceso de descifrado, un proceso de firma y un proceso de verificacion.
Realizacion 1
En la Realizacion 1, se describiran conceptos basicos en los cuales se basa un esquema de cifrado por predicados de productos internos, y, a continuacion, se describira una realizacion del esquema de cifrado por predicados de productos internos.
En primer lugar, se describiran las dimensiones de un vector de atributos x~ y un vector de predicados v~.
En segundo lugar, se describira la adicion de una categona de atributo.
En tercer lugar, se describira un espacio que presenta una estructura matematica enriquecida denominada “espacios vectoriales con emparejamiento dual (DPVS)”, que es un espacio para implementar el esquema de cifrado mediante predicados de productos internos.
En cuarto lugar, se describira un esquema de cifrado mediante predicados de productos internos (Tipo 1) segun la Realizacion 1.
<1. Dimensiones del vector de atributos x^ y de v^>
En los esquemas de cifrado mediante predicados de productos internos, descritos en las referencias bibliograficas 30 y 31, que no son documentos de patente, existe la restriccion de que las dimensiones del vector de atributos x~ y el vector de predicados v~ debenan ser equivalentes. Se considera que esta restriccion es inevitable para la relacion de producto interno en x~-v~ No obstante, es necesario que esta restriccion se relaje para mejorar la eficiencia en varias aplicaciones.
Como ejemplo, se consideraran datos geneticos de un individuo. Los datos geneticos de un individuo debenan tratarse con cuidado, y se debenan cifrar con vistas al procesado y las recuperaciones de datos. Aunque los datos geneticos pueden incluir una cantidad enorme de informacion, en muchas aplicaciones se usa caractensticamente solo una parte de los datos geneticos.
Por ejemplo, para comprobar si los datos geneticos de Alice presentan una cierta caractenstica, se determina para unas pocas (por ejemplo, tres) propiedades geneticas diana de entre muchas (por ejemplo, 100) propiedades geneticas, si los datos geneticos de Alice cumplen la condicion. No es necesario determinar para el resto (97 elementos) de las propiedades geneticas si se cumple la condicion.
Por ejemplo, sean X1,..., X100 100 propiedades geneticas y sean x-i, ..., X100 los valores de Alice de las 100 propiedades geneticas. Para evaluar si f(x1,..., X100) = 0 para un polinomio de comprobacion (multivariable) f con grado 3, o para evaluar el valor de verdad de un predicado correspondiente 9f (X1, ..., X100), el vector de atributos de
5
10
15
20
25
30
35
40
45
50
Alice x~ se convierte en un vector monomico de valores de Alice con grado 3, x~ := (1, xi, ..., X100, xi2, X1X2, ..., X1002, xi3, x12x2, ..., x1003). La dimension de este vector de atributos x~ es aproximadamente 106.
Sea una expresion de comprobacion (predicado) usada para la comprobacion bc ((X5 = a) v (Xia=b)) a (X57 = c), que se centra en solamente tres propiedades geneticas X5, Xia y X57. Esto se representa con un polinomio ri(X - a) (Xia - b) + r2(X57 - c) = 0 (donde ri y r2 son numeros aleatorios uniformes). Este polinomio se puede convertir en (riab- r2c) - ribX5 - riaXia + ^57 + riX5Xia = 0. Para que ri(X5-a)(Xia-b) + r2(X57 - c) = 0 si y solamente si x~-v~ = 0, el vector de predicados v~ se convierte en ((riab - r2c), 0, ..., 0, -rib, 0, ..., 0, -ria, 0, ..., 0, r2, 0, ..., 0, ri, 0, ..., 0). La dimension de este vector de predicados v~ es equivalente a la del vector de atributos x~, es decir, aproximadamente i0a, aunque la dimension efectiva (dimension con elementos diferentes de 0) es solamente 5.
De esta manera, se requiere que la dimension del vector de predicados v~ sea aproximadamente i0a, aunque la dimension efectiva real es 5. Esto es debido a la restriccion de que las dimensiones del vector de atributos x~ y el vector de predicados v~ debenan ser equivalentes. La eliminacion de esta restriccion permite que el vector de predicados v~ se construya con solamente la dimension efectiva (5 en este caso).
Se ha descrito en la presente que el vector de predicados v~ se construye con solamente la dimension efectiva. De manera similar, el vector de atributos x~ se puede construir con solamente la dimension efectiva.
<2. Adicion de categona de atributo>
Una categona de atributo es una clasificacion de un atributo de cada usuario, tal como organizacion de pertenencia, departamento de pertenencia, posicion en la empresa, edad y genero.
Los esquemas de cifrado mediante predicados de productos internos que se describiran en las siguientes realizaciones materializan un control de acceso basandose en el atributo del usuario. Por ejemplo, con un proceso criptografico estrechamente definido para proteger informacion contra un tercero, el hecho de si el usuario puede descifrar o no un texto cifrado se controla basandose en el atributo del usuario.
En general, las categonas de atributo usadas para el control de acceso se determinan de antemano en la fase de diseno de un sistema. No obstante, puede darse un caso en el que las reglas operativas del sistema se cambien en una fase posterior, requiriendo la adicion de una categona de atributo usada para el control de acceso.
Por ejemplo, supongase que se construye un sistema criptografico considerando que el sistema se va a utilizar solamente dentro de la Empresa A. En este caso, se supone que las categonas de atributo a utilizar seran, por ejemplo, departamento de pertenencia, posicion en la empresa, e ID individual. No obstante, supongase que las reglas operativas se cambian en una fase posterior, de manera que el sistema criptografico se usa, no solamente en la Empresa A, sino tambien en empresas asociadas de la Empresa A. En este caso, es necesario fijar nuevamente la empresa de pertenencia como categona de atributo a utilizar.
Si las categonas de atributo usadas para el control de acceso se especifican mediante un parametro publico, la adicion de una categona de atributo en una fase posterior requiere que el parametro publico se vuelva a emitir y que se vuelva a distribuir para cada usuario. Por este motivo, una categona de atributo no se puede anadir facilmente en una fase posterior, y no se puede adoptar de manera flexible un modo operativo que no se haya tenido en cuenta en la fase de diseno del sistema.
Por lo tanto, es importante permitir la adicion de una categona de atributo sin volver a emitir el parametro publico.
Para permitir la adicion de una categona de atributo sin volver a emitir el parametro publico, se aplica una tecnica de indexacion a un cifrado de sistema dual en espacios vectoriales con emparejamiento dual.
En el cifrado de^ sistema dual en espacios vectoriales con emparejamiento dual, se generan aleatoriamente una base B y una base B* las cuales son bases duales. A continuacion, una parte (base BA) de la base B usa como parametro publico.
En el esquema de cifrado por predicados de productos internos que se describe en la referencia bibliografica 3i, la cual no es documento de patente, se generan una base BAi..., y una base BAd como parametro publico. A continuacion, se asigna una categona de atributo a una base BAt para cada entero t =i,..., d. Es decir, pueden gestionarse d elementos de categonas de atributo.
Observese en este caso que la base BAV.., y la base BAd se usan como parametro publico. Tal como resulta evidente a partir de esto, se requiere que el parametro publico se vuelva a emitir para anadir una base BA, es decir, para incrementar el valor de d en una fase posterior. Es decir, el valor de d queda acotado por el parametro publico.
En el esquema de cifrado mediante predicados de productos internos que se describira posteriormente en la presente, como parametro publico se genera una base BA. A continuacion, vectores de indices bidimensionales, Ot(i, t) y |ii(t, -i), se fijan en un texto cifrado c y una clave secreta k*, respectivamente, para cada entero t = i, ..., d, y se asigna una categona de atributo a cada entero t. Es decir, se pueden gestionar d elementos de categonas de
10
15
20
25
30
atributo.
Observese en este caso que el parametro publico incluye la base BA, pero no incluye los vectores de indices. Asf, no se requiere que el parametro publico se vuelva a emitir para anadir un vector de mdice con el fin de incrementar el valor de d en una fase posterior. Es decir, el valor de d no queda acotado por el parametro publico.
<3. Espacios vectoriales con emparejamiento dual>
El esquema de cifrado mediante predicados de productos internos que se describira posteriormente en la presente se materializa en espacios vectoriales con emparejamiento dual.
En primer lugar, se describiran grupos con emparejamiento bilineal simetrico.
Los grupos con emparejamiento bilineal simetrico (q, G, GT, g, e) son una tupla de un numero primo q, un grupo aditivo ciclico G de orden q, un grupo multiplicativo dclico GT de orden q, g t 0 e G, y un emparejamiento bilineal no degenerado, calculable en tiempo polinomico e: G x G Gt. Emparejamiento bilineal no degenerado significa e(sg,
tg) = e(g, g)st, y e(g, g) t 1.
En la siguiente descripcion, sea Gbpg un algoritmo que toma como entrada 1A y da salida a valores de un parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineal con un parametro de seguridad X.
A continuacion se describiran espacios vectoriales con emparejamiento dual.
Los espacios vectoriales con emparejamiento dual (q, V, Gt, A, e) se pueden construir mediante un producto directo de los grupos de emparejamiento bilineal simetrico (paramG := (q, G, Gt, g, e)). Los espacios vectoriales con emparejamiento dual (q, V, Gt, A, e) son una tupla de un numero primo q, un espacio vectorial N-dimensional V sobre Fq indicado en la Formula 112, un grupo dclico Gt de orden q, y una base canonica A := (a-i, ..., aN) del espacio V, y presentan las siguientes operaciones (1) y (2), donde ai es tal como se indica en la Formula 113.
[Formula 112]
N
V:=Gx---xG [Formula 113]
N-i
:= (0,...,0,g,0,.-.,0)
Operacion (1): emparejamiento bilineal no degenerado
Un emparejamiento en el espacio V se define mediante la Formula 114. [Formula 114]
donde
{Gj,..GjV) := x e V,
(Hh...,HN):=yeV.
Este es bilineal no degenerado, es decir, e(sx, ty) = e(x, y)st y si e(x, y) = 1 para todo y e V, entonces x = 0. Para todo i y j, e(ai, aj) = e(g, g)si,j, donde 5i,j = 1 si i = j, y Sy = 0 si i t j, y e(g, g) t 1 e Gt.
Operacion (2): mapas de distorsion
Transformaciones lineales 9y en el espacio V indicado en la Formula 115 pueden materializar la Formula 116. [Formula 115]
Si #,/(«/) = «i V k entonces 0itJ(ak) = 0.
5
10
15
20
25
30
35
40
45
[Formula 116]
i-1 N-i
0ij(x) :=
donde
(g\,---8N):=*
A las transformaciones lineales cpi,j se les denominaran mapas de distorsion.
En la siguiente descripcion, sea Gdpvs un algoritmo que toma como entrada 1X (X e numero natural), N e numero natural, y valores de un parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineal, y da salida a valores de un parametro paramv := (q, V, Gt, A, e) de espacios vectoriales con emparejamiento dual con un parametro de seguridad X y un espacio N-dimensional V.
La descripcion se centrara aqu en un caso en el que los espacios vectoriales con emparejamiento dual se construyen usando los grupos de emparejamiento bilineal simetrico antes descritos. Los espacios vectoriales con emparejamiento dual tambien se pueden construir usando grupos de emparejamiento bilineal asimetrico. La siguiente descripcion se puede adaptar facilmente a un caso en el que los espacios vectoriales con emparejamiento dual se construyen usando grupos de emparejamiento bilineal asimetrico.
<4. Esquema de cifrado mediante predicados de productos internos>
El esquema de cifrado mediante predicados de productos internos tiene cuatro algoritmos probabilfsticos de tiempo polinomico: Setup, KeyGen, Enc y Dec.
(Setup)
Un algoritmo Setup toma como entrada un parametro de seguridad 1X, y da salida a una clave publica maestra pk y a una clave secreta maestra sk.
(KeyGen)
Un algoritmo KeyGen toma como entrada la clave publica maestra pk, la clave secreta maestra sk, y un vector de predicado v~, y da salida a una clave secreta skv.
(Enc)
Un algoritmo Enc toma como entrada la clave publica maestra pk, un vector de atributos x~, y un mensaje m, y da salida a un texto cifrado ctx.
(Dec)
Un algoritmo Dec toma como entrada la clave publica maestra pk, la clave secreta skv, y el texto cifrado ctx, y da salida al mensaje m o a un sfmbolo distinguido 1. El sfmbolo distinguido 1 es informacion que indica un fallo de descifrado.
Se describira un sistema 10 de procesado criptografico que ejecuta los algoritmos del esquema de cifrado mediante predicados de productos internos.
La Fig. 1 es un diagrama de configuracion del sistema 10 de procesado criptografico segun la Realizacion 1.
El sistema 10 de procesado criptografico tiene un dispositivo 100 de generacion de claves, un dispositivo 200 de cifrado (transmisor), y un dispositivo 300 de descifrado (receptor).
El dispositivo 100 de generacion de claves ejecuta el algoritmo Setup tomando como entrada un parametro de seguridad X, y genera asf una clave publica maestra pk y una clave secreta maestra sk. A continuacion, el dispositivo 100 de generacion de claves publica la clave publica maestra generada pk. El dispositivo 100 de generacion de claves ejecuta tambien el algoritmo KeyGen tomando como entrada la clave publica maestra pk, la clave secreta maestra sk, y un vector de predicado v~, y genera asf una clave secreta skv, y distribuye la clave secreta skv al dispositivo 300 de descifrado en secreto.
El dispositivo 200 de cifrado ejecuta el algoritmo Enc tomando como entrada la clave publica maestra pk, un vector de atributo x~, y un mensaje m, y genera asf un texto cifrado ctx. El dispositivo 200 de cifrado transmite el texto cifrado generado ctx al dispositivo 300 de descifrado.
El dispositivo 300 de descifrado ejecuta el algoritmo Dec tomando como entrada la clave publica maestra pk, la clave
10
5
10
15
20
25
30
secreta skv, y el texto cifrado ctx, y da salida al mensaje m o al sfmbolo distinguido ±.
La Fig. 2 es un diagrama de bloques funcional que ilustra la funcion del dispositivo 100 de generacion de claves segun la Realizacion 1. La Fig. 3 es un diagrama de bloques funcional que ilustra la funcion del dispositivo 200 de cifrado segun la Realizacion 1. La Fig. 4 es un diagrama de bloques funcional que ilustra la funcion del dispositivo 300 de descifrado segun la Realizacion 1.
Las Figs. 5 y 6 son diagramas de flujo que ilustran el funcionamiento del dispositivo 100 de generacion de claves segun la Realizacion 1. La Fig. 5 es un diagrama de flujo que ilustra el proceso del algoritmo Setup segun la Realizacion 1, y la Fig. 6 es un diagrama de flujo que ilustra el proceso del algoritmo KeyGen segun la Realizacion 1. La Fig. 7 es un diagrama de flujo que ilustra el funcionamiento del dispositivo 200 de cifrado segun la Realizacion 1 y que ilustra el proceso del algoritmo Enc segun la Realizacion 1. La Fig. 8 es un diagrama de flujo que ilustra el funcionamiento del dispositivo 300 de descifrado segun la Realizacion 1 y que ilustra el proceso del algoritmo Dec segun la Realizacion 1.
Se describiran la funcion y el funcionamiento del dispositivo 100 de generacion de claves.
Tal como se ilustra en la Fig. 2, el dispositivo 100 de generacion de claves tiene una unidad 110 de generacion de claves maestras, una unidad 120 de almacenamiento de claves maestras, una unidad 130 de introduccion de informacion, una unidad 140 de generacion de claves de descifrado, y una unidad 150 de distribucion de claves.
En primer lugar, en referencia a la Fig. 5, se describira el proceso del algoritmo Setup.
(S101: etapa de generacion de bases ortonormales)
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras calcula la Formula 117, y genera asf un parametro param, una base B0 y una base B*0, y una base B1 (base B) y una base B*1 (base B).
[Formula 117]
(1) entrada 1*
(2) paramG :=(tf,G,Gr,g,<?)-<-^- SbpgO'1)
(3) lf/< U --F*,
jV() := 1 + wq +1 + vi>o + zq , jVj := 4 + u + w + z El proceso (4) a (8) se ejecuta para cada t =0, 1.
(4) paramV; := (cj,V.,Gr,At,e):-0dpvs(1A.N,,paratr^)
(5) Xt '■= (Zf,(,/)(,;=1,at GL(Nt,¥g)
(6) X*t := {9V‘(Xf
O) f,/)A, = Syi Xt,t,jatj para / = 1, Nt)
1, ^ -,b( N )
(8) Kf= (3M)A( = X % 3t,i,jat,j Para / = 1, .... A/f, B?
(9) gj :-4g,g)'i/*
param :=({paramVi}^0J,g7.)
Es decir, la unidad 110 de generacion de claves maestras ejecuta el siguiente proceso.
11
5
10
15
20
25
30
35
(1) Usando el dispositivo de entrada, la unidad 110 de generacion de claves maestras toma como entrada un parametro de seguridad X (1X).
(2) Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras ejecuta el algoritmo Gbpg tomando como entrada el parametro de seguridad X(1X) introducido en (1), y genera asf valores de un parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineal.
(3) Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera un numero aleatorio
y, fija 1 + uo + 1 + wo + zo en No, y fija 4 + u + w + z + en N1, donde uo, wo, zo, u, w, y z son, cada uno de ellos, un
entero de o o mas.
A continuacion, la unidad 11o de generacion de claves maestras ejecuta el siguiente proceso (4) a (8) para cada t =
o, 1.
(4) Usando el dispositivo de procesado, la unidad 11o de generacion de claves maestras ejecuta el algoritmo Gdpvs tomando como entrada el parametro de seguridad X(1X) introducido en (1), la Nt fijada en (3), y los valores de paramG := (q, G, Gt, g, e) generados en (2), y genera asf valores de un parametro paramvt := (q, Vt, Gt, At, e) de espacios vectoriales con emparejamiento dual.
(5) Usando el dispositivo de procesado, la unidad 11o de generacion de claves maestras toma como entrada la Nt fijada en (3) y Fq, y genera aleatoriamente una transformacion lineal Xt := (xt,i,j)i,j. Observese que GL significa lineal general. En otras palabras, GL es un grupo lineal general, un conjunto de matrices cuadradas con determinantes diferentes de o, y un grupo bajo multiplicacion. Observese que (xt,i,j)i,j indica una matriz con respecto a los sufijos i y j de la matriz xuj, donde i, j, = 1, .., Nt.
(6) Usando el dispositivo de procesado y basandose en el numero aleatorio y y la transformacion lineal Xt, la unidad 11o de generacion de claves maestras genera (vt,i,j)i,j := y (XtT)-1. Igual que (xt,i,j)i,j, (vt,i,j)i,j indica una matriz con respecto a los sufijos i y j de la matriz vtij, donde i, j = 1, ...., Nt.
(7) Usando el dispositivo de procesado y basandose en la transformacion lineal Xt generada en (5), la unidad 11o de generacion de claves maestras genera una base Bt a partir de la base ortonormal At generada en (4). Observese que x~t,i indica la fila i-esima de la transformacion lineal Xt.
(8) Usando el dispositivo de procesado y basandose en la (vt,i,j)i,j generada en (6), la unidad 11o de generacion de claves maestras genera una base B*t a partir de la base ortonormal At generada en (4). Observese que v~t,i indica la fila i-esima de la transformacion lineal Xt.
(9) Usando el dispositivo de procesado, la unidad 11o de generacion de claves maestras fija e(g,g)y en gT. La unidad 11o de generacion de claves maestras fija tambien {paramvt}t=o,1 generada en (4) y gT en param.
Resumiendo, en S1o1, la unidad 11o de generacion de claves maestras genera param, la base Bo y la base B*o, y la base B1 (base B) y la base B*1 (base B ) ejecutando el algoritmo Gob indicado en la Formula 118.
[Formula 118]
0obd*):
paramo := (q,G,GT, g, e) <-5— Sbpg (), y F* A^0 *= 1 + uq +1 + + zq , iVj *= 4+& + w+.z,
para t = o,1,
parang :=(qy1,GT,kt,e)^Gdpws(l'1-,Nh paramG), Xt:={Xtjj)itM_Ni^-GL{Nt, F?X
xt '■=(&tj,j)i,j=\,..^Nl'=V/-ixt)~l> en lo sucesivo, Ztj
5
10
15
20
25
30
y St i indica que las filas/'-esimas deXf bt/■= (Xtj)A, = Z% Xt,i,jat,j para / = 1,
= 0a)A, = Z% 9t,ij*tj para / = 1,
y Xt para i= 1, ..., Nt, respectivamente,
A/(, Bf
.... A/f, B;:={A*i...6*^),
gT:~e(Sig)v< paramo({paramy}f=o,i>gr)>
devolver, (param,B(,l*).
Por motivos de simplicidad, la base Bi y la base B*1 se describiran como la base B y la base B*. (S102: etapa de generacion de parametros publicos)
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera una sub-base BAo de la base Bo y una sub-base Ba de la base B, segun se indica en la Formula 119, habiendose generado las bases Bo y B en S101.
[Formula 119]
®0 (^0,1 ’ ^0,l+w0+l> A0,l+uo+l+w0+b-^0,l+M0+l+w0+z0X
B :={bb4+u+w+h.., h4+u+w+z)
La unidad 110 de generacion de claves maestras genera un parametro publico pk juntando la sub-base BAo y la subbase BA generadas, el parametro de seguridad X(1x) introducido en S101, y el param generado en S101.
(S103: etapa de generacion de claves maestras)
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera una sub-base BA*o de la base B*o y una sub-base BA* de la base B*, segun se indica en la Formula 12o, habiendose generado las bases B*o y B* en S1o1.
[Formula 120]
®0 := (^0,1 > ^0,l+u0+l> ^O.l+Wo+l+l,... *0,1+U0+1+W0)>
B*:=ti,,blb*4+u+l,..,b'4+u+w)
Launidad 11o de generacion de claves maestras genera una clave maestra sk que esta constituida por la sub-base BA*o y la sub-base BA* generadas.
(S104: etapa de almacenamiento de claves maestras)
La unidad 12o de almacenamiento de claves maestras almacena el parametro publico pk generado en S1o2 en el dispositivo de almacenamiento. La unidad 12o de almacenamiento de claves maestras almacena tambien la clave maestra sk generada en S1o3 en el dispositivo de almacenamiento.
Resumiendo, en S1o1 a S1o3, el dispositivo 1oo de generacion de claves genera el parametro publico pk y la clave maestra sk ejecutando el algoritmo Setup indicado en la Formula 121. En S1o4, el dispositivo 1oo de generacion de claves almacena el parametro publico generado pk y la clave maestra sk en el dispositivo de almacenamiento.
El parametro publico se publica por medio de la red, por ejemplo, y se hace que este disponible para el dispositivo 2oo de cifrado y el dispositivo 3oo de descifrado.
5
10
15
20
25
Setup(l/'):
(param, (B0. ®o )> (®> ®*)) <—— Gob O'* )>
®0:=(*0,1> *0,l+u0+l> A),l+«0 +l+w0+l>••• A),l+w0+l+w0+z0)>
® := ^4+u+w+b") ^4+m+w+z)>
®0 ^(*0,1» *0,l+uo+l- *0,l+«0+l+lr..,*0,l+M„+l+%)’
TTb* . /I* I* t* I* \
n .-(^,..,04, ftj+ii+i,.., ty+u+wh
. A A A A
devolver pk := (1*, param, B0,B), sk:= ).
En referencia a la Fig. 6, se describira el proceso del algoritmo KeyGen.
(S201: etapa de introduccion de informacion)
Usando el dispositivo de entrada, la unidad 130 de introduccion de informacion toma como entrada un vector de predicados v~ := {(t, vt) | t e IyJ. Es decir, el vector de predicados v~ es un vector que tiene, como elementos, un mdice t e informacion de predicado vt para el mdice t incluido en un conjunto I^. Como informacion de predicado vt, se fija, por ejemplo, informacion de atributos de un usuario de una clave de descifrado skv.
(S202: etapa de generacion de informacion secreta)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera informacion secreta st y so, tal como se indica en la Formula 122.
[Formula 122]
st<r^—Wq para (/,v,)ev, s0 •= X Jt
(f,vJev
(S203: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera numeros aleatorios, tal como se indica en la Formula 123.
[Formula 123]
para (f.v^ev,
Vt (%,!»••■>Vt,w)^
F™ para
(S204: etapa de generacion de elementos de clave)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera un elemento k*o de la clave de descifrado skv, tal como se indica en la Formula 124.
5
10
15
20
25
30
35
40
Tal como se ha descrito anteriormente, para la base B y la base B* indicadas en la Formula 110, se establece la Formula 111. Asf, la Formula 124 significa que -s0 se fija^como coeficiente de un vector de base b*0,1 de la base B*0, que 0 se fija como coeficiente de los vectores de base b*0,1+1,..., b*0,1+u0, que 1 se fija como coeficiente de un vector de base b*0,1+u0+1, que ^0,1, ..., ^0,w0 se fijan respectivamente como coeficiente de los vectores de base b*0,1+u0+1+1, ..., b*0,1+u0+1+w0, y que 0 se fija como coeficiente de los vectores de base b*0,1+u0+1+w0+1, ..., b*0,1+u0+1+w0+z0, donde u0, w0 y z0 indican respectivamente u0, w0 y Z0.
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera tambien un elemento k*t de la clave de descifrado skv para el mdice t incluido en el conjunto I^, segun se indica en la Formula
125.
[Formula 125]
4 U Z
-1.). Svt, st 0«, T)t, 0Z )r
Es decir, igual que la Formula 124, la Formula 125 significa que |itt se fija como coeficiente de un vector de base b*1 de la base^ B*, que -|it se fija como coeficiente de un vector de base b*2, que Svt se fija como coeficiente de un vector de base b*3, que st se fija como coeficiente de un vector de base b*4, que 0 se fija como coeficiente de los vectores de base b*4+1,..., b*4+u, que ^1,..., ’Ht.w se fijan respectivamente como coeficiente de los vectores de base b*4+u+1,..., b*4+u+w, y que 0 se fija como coeficiente de los vectores de base b*4+u+w+1, ..., b*4+u+w+z.
(S205: etapa de distribucion de claves)
Usando el dispositivo de comunicaciones y por medio de la red, por ejeimplo, la unidad 150 de distribucion de claves distribuye la clave de descifrado skv que tiene, como elementos, k*0 y k*t generados en S204, para el dispositivo 300 de descifrado en secreto. Naturalmente, la clave de descifrado skv se puede distribuir al dispositivo 300 de descifrado mediante otro metodo.
Resumiendo, en S201 a S204, el dispositivo 100 de generacion de claves genera la clave de descifrado skv ejecutando el algoritmo KeyGen indicado en la Formula 126. En S205, el dispositivo 100 de generacion de claves distribuye la clave de descifrado generada skv al dispositivo 300 de descifrado.
[Formula 126]
KeyGen(pk, sk, v := {0, v,) 11 e M):
q para
((>V()€V,
70 :=0Jt),l>—
L'U := X sf-
(t,V,)EV
Ao“(”J0> '?()’ °Zl1’ )®o
Para (t, vt) e v,
devolver sk„. V[)&>
5
10
15
20
25
30
35
Se describiran la funcion y el funcionamiento del dispositivo 200 de cifrado.
El dispositivo 200 de cifrado tiene una unidad 210 de adquisicion de parametros publicos, una unidad 220 de introduccion de informacion, una unidad 230 de generacion de textos cifrados, y una unidad 240 de transmision de datos.
En referencia a la Fig. 7, se describira el proceso del algoritmo Enc.
(S301: etapa de adquisicion de parametros publicos)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 210 de adquisicion de parametros publicos obtiene el parametro publico pk generado por el dispositivo 100 de generacion de claves.
(S302: etapa de introduccion de informacion)
Usando el dispositivo de entrada, la unidad 220 de introduccion de informacion toma como entrada un mensaje m que se va a transmitir hacia el dispositivo 300 de descifrado. Usando el dispositivo de entrada, la unidad 220 de introduccion de informacion toma tambien como entrada un vector de atributos x~ := {(t, xt) | t e IxJ. Es decir, el vector de atributos x~ es un vector que tiene, como elementos, un mdice t e informacion de atributos xt para el mdice t incluido en un conjunto I^. En el vector de atributos x~, se fija, por ejemplo, informacion de atributos de un usuario, compatible con el descifrado.
(S303: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera numeros aleatorios, tal como se indica en la Formula 127.
[Formula 127]
CO,&,4< U Fg,
crt<r-^—¥q para (t,xt)ex,
—F| para (t,xt)ex (S304: Etapa de generacion de elementos cifrados)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera un elemento c0 de un texto cifrado ctx, tal como se indica en la Formula 128.
[Formula 128]
c0:=(a>, 0Mo, C, 0H'o; <p() )B(.
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera tambien un elemento ct del texto cifrado ctx para el mdice t incluido en el conjunto I^, tal como se indica en la Formula 129.
[Formula 129]
4 u
Ct=( <Jt (1, !.)> 0)Xt, O) 0“.
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera tambien un elemento ct del texto cifrado ctx, tal como indica en la Formula 130.
[Formula 130]
(S305: etapa de transmision de datos)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 240 de transmision de datos transmite el texto cifrado ctx que tiene, como elementos, los c0, ct y ct generados en S304, al dispositivo 300 de 5 descifrado. Naturalmente, el texto cifrado ctx se puede transmitir al dispositivo 300 de descifrado mediante otro metodo.
Resumiendo, en S301 a S304, el dispositivo 200 de cifrado genera el texto cifrado ctx ejecutando el algoritmo Enc indicado en la Formula 131. En S305, el dispositivo 200 de cifrado transmite el texto cifrado generado ctx al dispositivo 300 de descifrado.
10 [Formula 131]
Enc( pk, m, x := {(t,xt) \ t e/-}):
a, m, £<r^—Wq, f>0 := (^),1 ’" wo Zq ^
CQ ■■={&, 0% £, 0W0, <pu )b0, para (t,xt)ex,
F?> Vi =(<Pt,b-><Pi,z) Ff,
4 u w ' z ^
15 c, = ( (7,(1, t), coxt! & 0“, 0M', <pt )B,
cT =gj,m
devolver ct,. := (c0,{ct}(t x^, cT).
Se describiran la funcion y el funcionamiento del dispositivo 300 de descifrado.
El dispositivo 300 de descifrado tiene una unidad 310 de adquisicion de claves de descifrado, una unidad 320 de 20 almacenamiento de claves de descifrado, una unidad 330 de adquisicion de textos cifrados, una unidad 340 de operaciones de emparejamiento, y una unidad 350 de calculo de mensajes. A la unidad 340 de operaciones de emparejamiento y a la unidad 350 de calculo de mensajes se les hara referencia en conjunto como unidad de descifrado.
En referencia a la Fig. 8, se describira el proceso del algoritmo Dec.
25 (S401: etapa de adquisicion de claves de descifrado)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 310 de adquisicion de claves de descifrado obtiene la clave de descifrado skv distribuida por el dispositivo 100 de generacion de claves. La unidad 310 de adquisicion de claves de descifrado obtiene tambien el parametro publico pk generado por el dispositivo 100 de generacion de claves.
30 La unidad 310 de adquisicion de claves de descifrado almacena la clave de descifrado obtenida skv y el parametro publico pk en la unidad 320 de almacenamiento de claves de descifrado.
(S402: etapa de adquisicion de textos cifrados)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 330 de adquisicion de textos cifrados recibe el texto cifrado ctx transmitido por el dispositivo 200 de cifrado.
35 (S403: etapa de operaciones de emparejamiento)
Usando el dispositivo de procesado, la unidad 340 de operaciones de emparejamiento calcula la Formula 132, y genera asf una clave de sesion K = gTZ.
[Formula 132]
K:=e{c0X0)U^)
tel-
5 Si se cumple la Formula 133, la clave K = gTZ puede obtenerse calculando la Formula 132, tal como se indica en la Formula 134.
[Formula 133]
/-<=/- V
V X ”
Zf€/;Vr^=0
10
[Formula 134]
K := e{c^kl)Y\e(ct,k*t) tel-
v
Ssn+c i—r 5a>vtx,+Sst
= ST # ■ 11 sT ‘' '
tel-
_ -<as0+f
~£t Sr
_ „-®®0+f+<®s0 -St
= gf-
Es decir, si el conjunto I^ es un subconjunto del conjunto Ix_, y si la suma de VtXt es 0 para el mdice t incluido en el conjunto I^, la clave K = gTZ se puede obtener calculando la Formula 132.
15 (S404: etapa de calculo de mensajes)
Usando el dispositivo de procesado, la unidad 350 de calculo de mensajes calcula m' = ct/K, y genera as^ un mensaje m' (=m). Observese que ct es gTZm tal como se indica en la Formula 130, y K es gTZ Asf, el mensaje m se puede obtener calculando m' = ct/K.
Resumiendo, en S401 a S404, el dispositivo 300 de descifrado genera el mensaje m' (=m) ejecutando el algoritmo 20 Dec indicado en la Formula 135.
[Formula 135]
25
Dec(pk, skv(A0.{A( v j£v), ctx. si ^<=7- y 'Ztel-Vrxt= °= K := e(cQ, fto) O ’ **
t&I-
devolver m’:=cT/K.
Tal como se ha descrito anteriormente, en el esquema de cifrado mediante predicados de productos internos segun la Realizacion 1, incluso si las dimensiones del vector de atributos x~ y el vector de predicados v~ no son equivalentes, el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto 30 del conjunto I^ y si la suma de vtXt es 0 para el mdice t incluido en el conjunto I^.
5
10
15
20
25
30
35
40
En el esquema de cifrado por predicados de productos internos segun la Realizacion 1, jLitt y -pt se fijan respectivamente como el coeficiente de los vectores de base b*1 y b*2 (vectores de base bodice) para el elemento k*t de la clave de descifrado skv. En el sistema criptografico 10, at y att se fijan respectivamente como el coeficiente de los vectores de base b1 y b2 (vectores de base bmdice) para el elemento ct del texto cifrado ctx.
Debido a estas disposiciones, cuando se ejecuta una operacion de emparejamiento sobre el elemento k*t y el elemento ct para el fndice correspondiente t, el producto interno se convierte en 0 para aquellas partes constituidas por los vectores de base b*1 y b*2 y los vectores de base b1 y b2, que de este modo se anulan. Es decir, cuando se lleva a cabo una operacion de emparejamiento sobre el elemento k*t y el elemento ct para el fndice correspondiente t, las partes de fndice que se fijan como coeficientes de los vectores de base (partes constituidas por los vectores de base b*1 y b*2 y los vectores de base b1 y b2) se anulan, y se obtiene un resultado de la operacion de emparejamiento para las partes restantes.
En el esquema de cifrado mediante predicados de productos internos segun la Realizacion 1, las partes de fndice se proporcionan de manera que las bases que se usan para cada categorfa de atributo se pueden construir como bases comunes (base B y base B*). Como consecuencia, solamente es necesario incluir en un parametro publico la base B y la base B*, eliminando la necesidad de volver a emitir el parametro publico cuando vaya a anadirse una categorfa de atributo en una fase posterior.
Se requiere para las partes de fndice que se obtenga 0 como consecuencia de una operacion de productos internos. Por lo tanto, aunque en la descripcion anterior se utilizan las partes de fndice bidimensionales, concretamente los vectores de base b*1 y b*2 y los vectores de base b1 y b2, las partes de fndice no se limitan a ser bidimensionales y pueden ser tridimensionales o ser de una dimension mayor. Los valores asignados a las partes de fndice no se limitan a aquellos que se han descrito anteriormente, y puede utilizarse una disposicion de asignacion diferente.
En la anterior descripcion, las partes de fndice se proporcionan de manera que las bases que se usan para cada categorfa de atributo se construyen como bases comunes (base B y base B). No obstante, en un caso en el que se permita volver a emitir el parametro publico para anadir una categorfa de atributo en una fase posterior, no hay necesidad de proporcionar las partes de fndice si se dispone que las bases que se usan para cada categorfa de atributo sean respectivamente diferentes.
En este caso, el algoritmo Gob, el algoritmo Setup, el algoritmo KeyGen y el algoritmo Enc del esquema de cifrado mediante predicados de productos internos descrito anteriormente son tal como se indica en la Formula 136 a la Formula 139. El algoritmo Dec es tal como se indica en la Formula 135, sin ningun cambio.
[Formula 136]
0obOA):
parang F*
Nq i— 1+i/0 +1 + W'}] *— 2+Wf +vt^ para t— d,
para t = 0, ..., d,
paramV; :=(?,V(,Gr,4,e}>6dpvs(l^,A^, param^),
•= (X t.i.j Uj-l,.. ,A', * GL(Nt ,F?),
en lo sucesivo, Xt,i
y 9ti indican las filas /-esimas deXtyXf para /= 1, Nt, respectivamente, bt,i:=(Zt,i)A=X% para / = 1,..., Nt, B t:={bt^...,b,A),
= 2/=l ^UJalJ Para / = - ’
8r~e(Z’f?)5". paramo({paramy,h=o,...j.gr)
devolver (param,{Bf,B*}r=0...j).
5
10
15
20
Setup(l^):
(param,{Bt,Bn/=0,...,d))<-^&b(li')>
«o:= (*oa> *o,i+u„-i’ *o,i+M0+i+w(1+i>-»*o,i+Ht,+i+w()-n„)>
%-.= {buh..,bti2, 6a+u,+Wi+1,-, blMUi+Wi+Z/) para t = 0....d,
®0 :-(*n,b *0,l+i<„+l’ *0!1+h)+1+1,...*D,1-H<„+1+wo).
■? := <2+a,+!=•■: para t = 0,...,d,
devolver pk:=(l^, param, f/)5 sk:=(Bn,{B;}._1- j;/).
[Formula 138]
KeyGen(pk, sk, v := {((,v() | te /-}): —F? para {7,vf)ev,
para (/,v()sv,
devolver skv := ^ )ev)-
5
10
15
20
25
30
para
devolver ctY cr)•
Es decir, se usan una base Bt diferente y una base B*t diferente para cada mdice t.
En la anterior descripcion, se especifica que uo, wo, zo, u, w y z son, cada uno de ellos, un entero de 0 o mas. Por ejemplo, se puede especificar que u0 = 1, w0 = 1, z0 = 1, u= 9, w = 2, y z= 2.
Realizacion 2
En la Realizacion 1, se ha descrito el esquema de cifrado mediante predicados de productos internos (Tipo 1) en el que el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto del conjunto I^ y si la suma de VtXt es 0 para el mdice t incluido en el conjunto Iy_.
En la Realizacion 2, se describira un esquema de cifrado mediante predicados de productos internos (Tipo 2) en el cual el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto del conjunto I^ y si la suma de vxt es 0 para el mdice t incluido en el conjunto I^.
En la Realizacion 2, se describiran principalmente diferencias con respecto a la Realizacion 1.
La configuracion del sistema 10 de procesado criptografico segun la Realizacion 2 es la misma que la configuracion del sistema 10 de procesado criptografico segun la Realizacion 1 ilustrado en la Fig. 1. Las configuraciones del dispositivo 100 de generacion de claves, del dispositivo 200 de cifrado, y del dispositivo 300 de descifrado segun la Realizacion 2, son respectivamente iguales que las configuraciones del dispositivo 100 de generacion de claves, del dispositivo 200 de cifrado, y del dispositivo 300 de descifrado segun la Realizacion 1 ilustrada en la Fig. 2 a la Fig. 4.
La Fig. 9 es un diagrama de flujo que ilustra el proceso de un algoritmo KeyGen segun la Realizacion 2. La Fig. 10 es un diagrama de flujo que ilustra el proceso de un algoritmo Enc segun la Realizacion 2. La Fig. 11 es un diagrama de flujo que ilustra el proceso de un algoritmo Dec segun la Realizacion 2.
Un algoritmo Setup de acuerdo con la Realizacion 2 es igual al algoritmo Setup segun la Realizacion 1.
En referencia a la Fig. 9, se describira el proceso del algoritmo KeyGen.
El proceso de S501 es igual al proceso de S201 ilustrado en la Fig. 6.
(S502: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera numeros aleatorios, tal como se indica en la Formula 140.
5
10
15
20
25
'?0:= 07o,iv^o,Wo)<-^— F^°>
¥q,
Fg Para (/,V,)£V,
7f Para (>’vt)£v
(S503: etapa de generacion de elementos de clave)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera un elemento k*o de una clave de descifrado skv, tal como se indica en la Formula 141.
[Formula 141]
*0 := (A 0«°, 1, ?0, °z°> )b*0
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera tambien un elemento k*t de la clave de descifrado skv para el mdice t incluido en el conjunto Iv , tal como se indica en la Formula 142. ~
[Formula 142]
0", Vt> 07 )b-
(S504: etapa de distribucion de claves)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 150 de distribucion de claves distribuye en secreto la clave de descifrado skv que tiene, como elementos, k*o y k*t generadas en S503, al dispositivo 300 de descifrado. Naturalmente, la clave de descifrado skv se puede distribuir al dispositivo 300 de descifrado mediante otro metodo.
Resumiendo, en S501 a S503, el dispositivo 100 de generacion de claves genera la clave de descifrado skv ejecutando el algoritmo KeyGen indicado en la Formula 143. En S504, el dispositivo 100 de generacion de claves distribuye la clave de descifrado generada skv al dispositivo 300 de descifrado.
[Formula 143]
KeyGen(pk, sk, v:= {(t,v() | r e /-}):
S,S- (70,1 7o,hs^,
kf,:=(lWo, 1, 70, 02°,)bJ>
para (/,v()ev,
ut^Wq,
______4______ u w z
k*:=(/jt{t, -1,), Svt, S 0«, iit, 0Z )B-
5
10
15
20
25
30
devolver skv := (A(*,{k,
f *(/,vf)ev
).
En referencia a la Fig. 10, se describira el proceso del algoritmo Enc.
El proceso de S601 y S602 es igual al proceso de S301 y S302 ilustrado en la Fig. 7.
(S603: etapa de generacion de informacion secreta)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera informacion secreta ft y fg, tal como se indica en la Formula 144.
[Formula 144]
‘■■q para (t,xt)( x,
(S604: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera numeros aleatorios, tal como se indica en la Formula 145.
[Formula 145]
a,£^—Fq, n :=Oc1,1....
para
para
(S605: etapa de generacion de elementos cifrados)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera un elemento c0 de un texto cifrado ctx, tal como se indica en la Formula 146.
[Formula 146]
c0:=(-f0, OX c, OX <pQ )Bo
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera tambien un elemento ct del texto cifrado ctx para el mdice t incluido en el conjunto X tal como se indica en la Formula 147.
[Formula 147]
4 U W ^ Z ^
ct=( ot(\, t), a>xt,ft 0U, 0W, (fn )i
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera tambien un elemento ct del texto cifrado ctx, tal como se indica en la Formula 148.
[Formula 148]
cT := gfm
(S606: etapa de transmision de datos)
5
10
15
20
25
30
35
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 240 de transmision de datos transmite el texto cifrado ctx que tiene, como elementos, c0, ct y ct generados en S605, al dispositivo 300 de descifrado. Naturalmente, el texto cifrado ctx se puede transmitir al dispositivo 300 de descifrado mediante otro metodo.
Resumiendo, en S601 a S605, el dispositivo 200 de descifrado genera el texto cifrado ctx ejecutando el algoritmo Enc indicado en la Formula 149. En S606, el dispositivo 200 de cifrado transmite el texto cifrado generado ctx al dispositivo 300 de descifrado.
[Formula 149]
Enc( pk, m, x:={(t,xt)\t e/-}): ft,6>,£+^— F, para (t,xt)ex,
para (t,Xf)ex,
devolver ctx:=(c0,{cj(^)ef, cT).
En referencia a la Fig. 11, se describira el proceso del algoritmo Dec.
El proceso de S701 y S702 es igual al proceso de S401 y S402 ilustrado en la Fig. 8. El proceso de S704 es el mismo que el proceso de S404 ilustrado en la Fig. 8.
(S703: etapa de operaciones de emparejamiento)
Usando el dispositivo de procesado, la unidad 340 de operaciones de emparejamiento calcula la Formula 150, y genera asf una clave de sesion K = gTZ
[Formula 150]
K:= e(c-0,Aj)]^[ e(L't,k*)
tel-
X
Si se cumple la Formula 151, la clave K = gTZ puede obtenerse calculando la Formula 150, segun se indica en la Formula 152.
[Formula 151]
l - c 1 v
x v y
5
10
15
20
25
K := e(c0,kQ)Y[e(ct,k*)
tel-
X
=gffo+g-Hgfv‘x,+Sf‘
tel-
X
_ Sf0+g (I,+ )£/-•/()
-St ■ St
_ -$fo+b+3fo
-St
= 4
Es decir, si el conjunto I^ es un subconjunto del conjunto Iy_, y si la suma de VtXt es 0 para el mdice t incluido en el conjunto I^, la clave K=gTZ puede obtenerse calculando la Formula 150.
Resumiendo, en S701 a S704, el dispositivo 300 de descifrado genera el mensaje m' (=m) ejecutando el algoritmo Dec en la Formula 153.
[Formula 153]
Dec(pk, skv := ct, :=(c0:
si Y Zfe7i’Wf= °’
K := e( Cq , Ay ) ]""J e(ctXt)> t£l-
devolver m' := cT ! K.
Tal como se ha descrito anteriormente, en el esquema de cifrado por predicados de productos internos segun la Realizacion 2, incluso si las dimensiones del vector de atributos x~ y el vector de predicados v~ no son equivalentes, el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto del conjunto Iv_, y si la suma de vtXt es 0 para el mdice t incluido en el conjunto I^.
En la anterior descripcion, las partes de los indices se proporcionan de manera que las bases que se usan para cada categona de atributo se construyen como bases comunes (base B y base B*). No obstante, en un caso en el que se permita volver a emitir el parametro publico para anadir una categona de atributo en una fase posterior, no hay necesidad de proporcionar las partes de los indices si se dispone que las bases que se utilizan para cada categona de atributo sean respectivamente diferentes.
En este caso, el algoritmo KeyGen y el algoritmo Enc del esquema de cifrado por predicados de productos internos antes descrito son tal como se indica en la Formula 154 y la Formula 155. El algoritmo Gob es el mismo que el que se indica en la Formula 136, el algoritmo Setup es el mismo que el que se indica en la Formula 137, y el algoritmo Dec es tal como se indica en la Formula 153, sin ningun cambio.
[Formula 154]
KeyGen(pk, sk. v :={(/,vf) | ^ e /-}):
S,S^-¥q, no :-(77o,l>"->77o,w'0)<_^—
*0:=(£ O"0’ !. 70’ °"°> )l*>
5
10
15
20
25
30
35
40
para (^v^ev,
devolver skv := (A'0, {A( )Efv }- [Formula 155]
Enc( pk. m, x:= {(t.,xt)\t e/-|):
U para (t,xt)ex,
n (fly )<-----, /0 := X Jt
(<.v,)e*
c0:=(-/0! 0lfu, C, 0»b,
para
■=(<Pt,b-’iPt,zt) < U
2 u.‘ wi z;
)b,>
base diferente Bt y una base diferente B*t.
Realizacion 3
En la Realizacion 1, se ha descrito el esquema de cifrado por predicados de productos internos (Tipo 1) en el cual el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto del conjunto Ix^ y si la suma de VtXt es 0 para el mdice t incluido en el conjunto I^.
En la Realizacion 2, se ha descrito el esquema de cifrado por predicados de productos internos (Tipo 2) en el cual el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es un subconjunto del conjunto Iv^ y si la suma de vxt es 0 para el mdice t incluido en el conjunto I^.
En la Realizacion 3, se describira un esquema de cifrado por predicados de productos internos (Tipo 0) en el cual el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es igual al conjunto I^ y si la suma de vtxt es 0 para el mdice t incluido en el conjunto I^ (o el conjunto IxJ.
Observese que “el conjunto I^ es igual al conjunto IxJ’ significa que el conjunto I^ es un subconjunto del conjunto Ix_ y que el conjunto I^ es un subconjunto del conjunto I^. Asf, el esquema de cifrado por predicados de productos internos (Tipo 0) puede considerarse como una combinacion del esquema de cifrado por predicados de productos internos (Tipo 1) descrito en la Realizacion 1 y el esquema de cifrado por predicados de productos internos (Tipo 2) descrito en la Realizacion 2.
En la Realizacion 3, se describiran principalmente diferencias con respecto a las Realizaciones 1 y 2.
La configuracion del sistema 10 de procesado criptografico segun la Realizacion 3 es la misma que la configuracion del sistema 10 de procesado criptografico segun la Realizacion 1 ilustrada en la Fig. 1. Las configuraciones del
ct=(a>xt,ft 0-\ 0"i, a,
. c
cT ~ gfrn
devolver ct^ := (c0,{cj(/ t. ^ cr). Es decir, para cada mdice t se usan una
5
10
15
20
25
30
35
dispositivo 100 de generacion de claves, el dispositivo 200 de cifrado, y el dispositivo 300 de descifrado segun la Realizacion 3 son respectivamente las mismas que las configuraciones del dispositivo 100 de generacion de claves, el dispositivo 200 de cifrado, y el dispositivo 300 de descifrado segun la Realizacion 1 ilustrada en la Fig. 2 a la Fig. 4.
La Fig. 12 es un diagrama de flujo que ilustra el proceso de un algoritmo Setup segun la Realizacion 3. La Fig. 13 es un diagrama de flujo que ilustra el proceso de un algoritmo KeyGen segun la Realizacion 3. La Fig. 14 es un diagrama de flujo que ilustra el proceso de un algoritmo Enc segun la Realizacion 3. La Fig. 15 es un diagrama de flujo que ilustra el proceso de un algoritmo Dec segun la Realizacion 3.
Se describira el algoritmo Setup en referencia a la Fig. 12.
El proceso de S801 es el mismo que el proceso de S101 ilustrado en la Fig. 5, excepto que N0 = 2 + u0 + 1 + W0 + z0 y N1 = 5 + u + w + z.
Resumiendo, en S801, la unidad 110 de generacion de claves maestras genera param, la base B0 y la base B 0, y la base B1 (base B) y la base B*1 (base B*) ejecutando el algoritmo Gob indicado en la Formula 156.
[Formula 156]
parang ■=(q,G,GT,g,e)<r-^— £w(lA),
-F*
Vq,
Nq 1= 2, + 1£q +1 + + Zq f N\ 5 + U + W + Zy
para t = 0,1,
paramv := (q,Vt,G7,At,e) := t?dpVS(l/, Nt, param^),
A",
-GL(Nt,V\
t (Zt,1,7)1,*
X* :=(&t ij)ij=i >N -.= iq• (Xfy{, en lo sucesivo, Ztj
y Sti indican las filas i-esimas deX(yX* para/= 1, N?, respectivamente,
btf=v')A,= 2y=i Zijjat,j para i =\Mt:=(btj,...,b^Ni),
btj■-(&t,i)A, /-I ®t,i,jat,j Para 1 ~
St retetgy, param:={{paramV;}(=01,grX devolver (param,B^B*).
(S802: etapa de generacion de parametros publicos)
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera una sub-base BA0 de la base B0 y una sub-base Ba de la base B, tal como se indica en la Formula 157, habiendose generado las bases B0 y B en S801.
[Formula 157]
B0 := (*0,1= *0,2' *0,2+h„+1> *0,2+h0+1+^+1....*0,2+1^+1h-w0+zo)’
B *5+m+w+1:--> b5+u+w+z)
La unidad 110 de generacion de claves maestras genera un parametro publico pk agrupando la sub-base Baq y la sub-base BA generadas, el parametro de seguridad X (1X) introducido en S801, y el param generado en S801.
(S803: etapa de generacion de claves maestras)
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera una sub-base BA*0 de base B*0 y una sub-base BA* de la base B*, tal como se indica en la Formula 158, habiendose generado las bases B*0 y B* en S801.
[Formula 158]
5
10
15
20
25
30
®0 (*0,1 ’ *0,2> *0,2+h0+1> *O,2+u0+1+1,...,A012+hs+1+wo)>
La unidad 110 de generacion de claves maestras genera una clave maestra sk que esta constituida por la sub-base BA*o y la sub-base BA* generadas.
El proceso de S804 es el mismo que el proceso de S104 ilustrado en la Fig. 5.
Resumiendo, en S801 a S803, el dispositivo 100 de generacion de claves genera el parametro publico pk y la clave maestra sk ejecutando el algoritmo Setup indicado en la Formula 159. En S804, el dispositivo l00 de generacion de claves almacena el parametro publico generado pk y la clave maestra sk en el dispositivo de almacenamiento.
El parametro publico se publica por medio de la red, por ejemplo, y se hace que este disponible para el dispositivo 200 de cifrado y el dispositivo 300 de descifrado.
[Formula 159]
Setup(l^):
(param,(B0,r0),(B,l+))<-5-eob(l/'),
B0 “ (*0,1. *0,2’ *0,2+uu+l’ *0,2+u0+l+wtt+lv--’*0,2+z/u+l+w0+z0)>
B :=(*L>-->*5> *5+w+w+l>-> *5+w+w+z)>
®o ?= (*0,1> ^0,2 > *0,2+wo+l> *0.2+wo+1+1,...,*0,2+wo+1+wo)>
B* **+!V+|,~, b$+u+w),
devolver pK:=(l^, param, B0,B), sk:=(Bo,B*).
En referencia a la Fig. 13 se describira el algoritmo KeyGen.
(S901: etapa de entrada de informacion)
Usando el dispositivo de entrada, la unidad 130 de introduccion de informacion toma como entrada un vector de predicados v~ := (v-i, ..., vn). Como informacion de predicado vt, se fija, por ejemplo, informacion de atributo de un usuario de una clave de descifrado skv.
(S902: etapa de generacion de informacion secreta)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera informacion secreta st y s0, tal como se indica en la Formula 160.
[Formula 160]
para t = 1, ..., n,
(S903: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera numeros aleatorios, tal como se indica en la Formula 161.
[Formula 161]
70 := (ffo,l> ~>70,wo)*
fj/<r——F(/ para t = 1,..., n ht wq' para f = 1....n
5
10
15
20
25
30
35
(S904: etapa de generacion de elementos de clave)
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera un elemento k*o de la clave de descifrado skv, tal como se indica en la Formula 162.
[Formula 162]
'■'u wl) -fi
*0 :-(-■% S, 0W0, 1, TJ0, Ozo, )B.
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado tambien genera un elemento k*t de la clave de descifrado skv para cada mdice t =1,..., n, tal como se indica en la Formula 163.
[Formula 163]
H1 ^ Z
7h> °z )b*
(S905: etapa de distribucion de claves)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 150 de distribucion de claves distribuye la clave de descifrado skv que tiene, como elementos, k*0 y k*t generadas en S904, al dispositivo 300 de descifrado en secreto. Naturalmente, la clave de descifrado skv se puede distribuir al dispositivo 300 de descifrado mediante otro metodo.
Resumiendo, en las etapas S901 a S904, el dispositivo 100 de generacion de claves genera la clave de descifrado skv ejecutando el algoritmo KeyGen indicado en la Formula 164. En S905, el dispositivo 100 de generacion de claves distribuye la clave de descifrado generada skv al dispositivo 300 de descifrado.
[Formula 164]
KeyGen(pk, sk, v:=(vi,...,vn))
- T7 para t = 1,..., n, 5,S,st^—¥q
para t = 1,..., n,
________5____________u w z
k* -I), Svn st, S 0“, T]t, (F )r,
devolver
En referencia a la Fig. 14, se describira el proceso del algoritmo Enc.
El proceso de S1001 es el mismo que el proceso de S301 ilustrado en la Fig. 7. (S1002: etapa de introduccion de informacion)
5
10
15
20
25
30
35
40
Usando el dispositivo de entrada, la unidad 220 de introduccion de informacion toma como entrada un mensaje m a transmitir hacia el dispositivo 300 de descifrado. Usando el dispositivo de entrada, la unidad 220 de introduccion de informacion tambien toma como entrada un vector de atributos x~ := (xi, ..., Xn). En el vector de atributos x~, se fija, por ejemplo, informacion de atributo de un usuario con capacidad de descifrado.
(S1003: etapa de generacion de informacion secreta)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera informacion secreta ft y f0, tal como se indica en la Formula 165.
[Formula 165]
fi<r——F? para t = 1, n\
/o = S&/*
(S1004: etapa de generacion de numeros aleatorios)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera numeros aleatorios, tal como se indica en la Formula 166.
[Formula 166]
- „ u „
<-------¥q,
<Po '■=
rr, <—1-—¥q para t = 1, n\
9t -Om*1 para f = 1, n'
(S1005: etapa de generacion de elementos cifrados)
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera un elemento c0 de un texto cifrado ctx, tal como se indica en la Formula 167.
[Formula 167]
ut> tp
co :=(<*>, - Jo 0U°> £, <Po )b0
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera tambien un elemento ct del texto cifrado ctx para cada mdice t = 1,..., n’, tal como se indica en la Formula 168.
[Formula 168]
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera un elemento ct del texto cifrado ctx, tal como se indica en la Formula 169.
[Formula 169]
(S1006: etapa de transmision de datos)
Usando el dispositivo de comunicaciones y por medio de la red, por ejemplo, la unidad 240 de transmision de datos transmite el texto cifrado ctx que tiene, como elementos, c0, ct y ct generados en S1005 al dispositivo 300 de descifrado. Naturalmente, el texto cifrado ctx se puede transmitir al dispositivo 300 de descifrado a traves de otro metodo.
Resumiendo, en las etapas S1001 a S1005, el dispositivo 200 de cifrado genera el texto cifrado ctx ejecutando el algoritmo Enc indicado en la Formula 170. En S1006, el dispositivo 200 de cifrado transmite el texto cifrado ctx al
5
10
15
20
25
30
35
dispositivo 300 de descifrado.
[Formula 170]
Enc( pk, m, x -(xh...,xn')):
para t = 1, n’,
<?0 := :=
"o wo 'a
Co ■= (&, -/o^~ c,^7 n )Bfl. para t = 1, ..., n’,
<?tFr cpl ■-{(pl],...,cptz) < U F|,
5 » w f z, ^
cL =( <yt{\. o, axt, a,ft o», ow, <?t )B:
cr := gfm
devolver ct* :=(co>{cr}r=l,.,.fn'* cr)■
En referencia a la Fig. 15, se describira el proceso del algoritmo Dec.
El proceso de S1101 y S1102 es el mismo que el proceso de S401 y S402 ilustrado en la Fig. 8.
(S1103: etapa de operaciones de emparejamiento)
Usando el dispositivo de procesado, la unidad 340 de operaciones de emparejamiento calcula la Formula 171, y genera asf una clave de sesion K = gTZ
[Formula 171]
Si se cumple la Formula 172, la clave K = gTZ puede obtenerse calculando la Formula 171, tal como se indica en la Formula 173.
[Formula 172]
n = n’ y
v ■ x = 0
[Formula 173]
K := e(co»>n ”=le(c*' >
- „~&s0-#fo+S FT n cr8l,)vtxi +<ost+ 8f,
11 t=\%T
- „-®s0-6f0+g. Uv,xt)+«KZ?=i^)+<?(! Uf)
&T *7'
Es decir, si el conjunto I^ es igual al conjunto y si la suma de vtXt es 0 para el mdice t incluido en el conjunto Iv (o el conjunto IxJ, la clave K=gTZ puede obtenerse calculando la Formula 171.
El proceso de S1104 es el mismo que el proceso de S404 ilustrado en la Fig. 8.
31
5
10
15
20
25
30
35
Resumiendo, en las etapas S1101 a S1104, el dispositivo 300 de descifrado ejecuta el algoritmo Dec en la Formula 174, y genera asf el mensaje m' (= m).
[Formula 174]
Dec(pk, skv :=(*o,{**}f=irct.v ■=(.coMt=lf../t^cT))
s\n=n’y ytx{ =Q}
devolver m’ := ct/ K.
Tal como se ha descrito anteriormente, en el esquema de cifrado por predicados de productos internos segun la Realizacion 3, el texto cifrado ctx se puede descifrar con la clave de descifrado skv si el conjunto I^ es igual al conjunto I^ y si la suma de vtXt es 0 para el mdice t incluido en el conjunto I^ (el conjunto IxJ.
En la anterior descripcion, las partes de mdice se proporcionan de manera que las bases que se usan para cada categona de atributo se construyen como bases comunes (base B y base B ). No obstante, en un caso en el que se permita volver a emitir el parametro publico para anadir una categona de atributo en una fase posterior, no hay necesidad de proporcionar las partes de mdice si se dispone que las bases que se usan para cada categona de atributo sean respectivamente diferentes.
En este caso, el algoritmo Gob, el algoritmo Setup, el algoritmo KeyGen y el algoritmo Enc del esquema de cifrado mediante predicados de productos internos descrito anteriormente son tal como se indica en la Formula 175 a la Formula 178. El algoritmo Dec es tal como se indica en la Formula 174, sin ningun cambio.
[Formula 175]
parang ■-(q.&,GT,g,e)<r^— Qbpg(lJi),
Nq'-I + uq + X + wq+Zq, Nt :=3+«j +wt +zt para t = 1, ...,d,
para t = 0, ...,d,
paramV; := (q,Vt,Gr,At,e)■-£dpvs(l'l> param^),
•- (Xtjj)(j-l,..< U—GI^Nt,Fq), x* ;= Wtjj)ij=l„...A' ■= V' en lo sucesivo, Ztj
y $ indican las filas /-esimas de Xf y X* para / = 1, Nt, respectivamente,
-X/=i Xt,i,jat,j para / = 1, ...,A/?, bu:=(.$u)k. = T!y—i $t,ijat,j para i= 1, Nt,
-(f>h....biN:),
gT--e(g,gy, paramo ({paramv},=0_d,gr), devolver (param,{!(,B*}i=0...d).
5
10
15
20
25
30
35
[Formula 176]
Setup(p'):
p
(param,{B[,B;}f=()) ^)<-----Sob(l''},
% :=%,b %2' ^),2+M„+i> ^0,2+u,, +1+w# +1 s■ ■ ■ A),2+«o +l+wc +z„)>
®(-= ^r,3+M(+w(+l)"= ^f,3+«,+w,+z()>
®0:= C4D4- *D:2? *0,2+u, +1> ^,2+«i)+l+l,-.$,2+u9+1+w0)>
^t,3+w;+l>"> ^.',3+u,+h,)’
devolver pk:=(1^, param, %{B(},=urf), Sk..^).
[Formula 177]
KeyGen(pk, sk, v:=(vh,.„v„)):
para t = 1, ...,n,
para t = 1, ...,n,
devolver
sk v:=(*3,
[Formula 178]
Enc( pk, m, x:=(xj,....x,;-)):
r - /, U ip Para f = 1,
5
10
15
20
25
30
35
40
45
para t = 1, ...,n',
3 «j w, zt
ct-( mt , 5), ft' m, m, 7h )B;
c
cT := gfm
devolver Ct* :=(<*),{<*...CT).
Es dedr, se usan una base Bt diferente y una base B*t diferente para cada mdice t.
En la anterior descripcion, se especifica que uo, wo, zo, u, w y z son, cada uno de ellos, un entero de 0 o mayor. Por ejemplo, se puede especificar que uo = 2, wo = 2, zo = 2, u = 1l, w = 3, y z = 3.
Realizacion 4
Se describiran un esquema de cifrado funcional y un esquema de firma basado en atributos que tienen, cada uno de ellos, el esquema de cifrado por predicados de productos internos descrito en una de las realizaciones anteriores como estructura inferior.
La referencia bibliografica 31, que no es documento de patente, describe un esquema de cifrado funcional.
En el esquema de cifrado funcional descrito en la referencia bibliografica 31, no documento de patente, se calcula el producto interno del vector de atributos x~ y el vector de predicados v~ para cada mdice t. A continuacion, si el producto interno del vector de atributos x~ y el vector de predicados v~ es o para todo mdice t dado, puede descifrarse un texto cifrado con una clave de descifrado.
El esquema de cifrado por predicados de productos internos descrito en una de las realizaciones anteriores se aplica al calculo del producto interno del vector de atributos x~ y el vector de predicados v~ para cada mdice t. Con esta disposicion, se construye el esquema de cifrado funcional que presenta el esquema de cifrado por predicados de productos internos descrito en una de las realizaciones anteriores como estructura inferior.
En el esquema de cifrado funcional descrito en la referencia bibliografica 31, no documento de patente, se requiere que las dimensiones del vector de atributos x~ y el vector de predicados v~ sean equivalentes para cada mdice t. No obstante, en el esquema de cifrado funcional que presenta el esquema de cifrado por predicados de productos internos descrito en una de las realizaciones anteriores como estructura inferior, no se requiere que las dimensiones del vector de atributos x~ y el vector de predicados v~ sean equivalentes para cada mdice t.
En la siguiente descripcion, se expondra un caso en el que el esquema de cifrado por predicados de productos internos descrito en la Realizacion 1 se aplica al esquema de cifrado funcional con polftica de claves (esquema KP- FE) descrito en la referencia bibliografica 31, no documento de patente, como ejemplo.
En la presente se describiran principalmente cambios en el esquema KP-FE que se producen como consecuencia de aplicar el esquema de cifrado por predicados de productos internos descrito en la Realizacion 1.
En el esquema de cifrado funcional descrito en la referencia bibliografica 31, no documento de patente, se utiliza una variable p(i) para especificar para cada mdice t si se permite el descifrado si el producto interno del vector de atributos x~ y el vector de predicados v~ es o o se permite el descifrado si el producto interno del vector de atributos x~ y el vector de predicados v~ es diferente de o. No obstante, para simplificar la descripcion, en la presente se describira un caso en el que se permite el descifrado si el producto interno del vector de atributos x~ y el vector de predicados v~ es o para todo mdice t dado.
En la Realizacion 1, las partes de los indices se proporcionan de manera que las bases que se usan para cada categona de atributos se construyen como bases comunes (base B y base B). No obstante, para simplificar la descripcion, en la presente se describira un caso en el que las partes de los indices no se proporcionan y las bases que se usan para cada categona de atributo son respectivamente diferentes.
Observese tambien que, en la referencia bibliografica 31, no documento de patente, y en la Realizacion 1, se produce un uso solapado de los alfabetos t y s del mdice t y la informacion secreta s. Asi, el mdice t de la referencia bibliografica 31, no documento de patente, se describira en la presente como mdice t, y la informacion secreta s de la referencia bibliografica 31, no documento de patente, se describira como informacion secreta a.
5
10
15
20
25
30
35
El esquema KP-FE tiene cuatro algoritmos: un algoritmo Setup, un algoritmo KeyGen, un algoritmo Enc y un algoritmo Dec.
Se describira el algoritmo Setup.
Usando el dispositivo de procesado, la unidad 110 de generacion de claves maestras genera una base Bx,t y una base B*x,t para cada mdice x,t. Es decir, la unidad 110 de generacion de claves maestras genera la base Bx,t y la base B*x,t para cada mdice x,t, en lugar de generar la base Bt y la base B*t para cada mdice t.
Resumiendo, el algoritmo Setup es tal como se indica en la Formula 179. El algoritmo Gob usado en el algoritmo Setup es tal como se indica en la Formula 180.
[Formula 179]
SetUp(lA,n :=(A;d;nhl...nAj))
(param-, B0 > ®o {®r>(, K,t }r=l,...,A;r=i, ■ -4)'gob -«)
®0 := (*0,1 ’*0,3^0,5)’
®r,£ :=(br,£,!*■ para = r, 1, A; t= 1, d,
®0 ^(^.l^,3.^0,4).
®r,r ’bT,t,2n,+l’-• -A,!,3n,)
pk := (l^param-Jo,^^}^ 4;(=l M), Sk := (®0’{®*A=1,....A,/=L. .A
para = x, 1, ..., A; t = 1, ..., d,
devolver pk, sk.
[Formula 180]
paramG :=(9>G,Gr,g,e)<-^—GbpgO''),
N^:=5, Ntj :=2 + 2nTJ + \ para = z = 1, A; t = 1, d, parany i=(g,Vo,G7Ao,<0:AdPvs0X%ParamGX xo:= (Xojj)ijGL(No>Fq)- (%•,;)/,/•-V'-(*oV1’ b0,i '■= (*0,1,1, ■ ■ • >X0,i,Nti)a, = ZOjJ%j-
^0,i:= (%',!,•••»%',^„)a0 ®0 ;= (Ao,l»—.^0)»
Para x=1, ..., A; t = 1, ..., d,
paramVr(:= (g, Vrf,GT,Ar_,,e) - 6dpvs(l'',JVV,paramG)>
- ^•=(Xrj,u)iJ^-~GL{Nu,
- F9). <WA
- bt,t,i *' ■■
- Xylj %Tj,i,jaT:tJ > ®r,r ;= (^r,r,1 >■
- bT,l,i ~ (vr
- )xu = Xj=lVr,r,(,A,(,y= ®r,r
St Paramr; :=({paramVtj}r=]...A;J=0i
devolver (param^, {lji(, B*;( }r=]v,i(i^=ov. .4)
5
10
15
20
25
30
35
Se describira el algoritmo KeyGen.
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado genera informacion secreta a e informacion secreta s, tal como se indica en la Formula 181.
[Formula 181]
q Para i = 1,6 Vj,
* X Si,t Para (r,vM)ev,
Usando el dispositivo de procesado, la unidad 140 de generacion de claves de descifrado^ genera un elemento ko de una clave de descifrado sks tal como se indica en la Formula 182, y genera un elemento k*i,t de la clave de descifrado sks para cada i = 1,..., L (L es un entero de 1 o mayor) y cada mdice t incluido en un conjunto Iy^, tal como se indica en la Formula 183.
[Formula 182]
*0 :=(-<To>CUr7o>t
[Formula 183]
Resumiendo, el algoritmo KeyGen es tal como se indica en la Formula 184. [Formula 184]
si,! *■ siJ para i — e v/,
para i=1,..., L para (t,vu)evi,
si p(i) = (r,v;), ilt i,...,%n *■
devolver
5
10
15
20
25
30
35
Se describira el algoritmo Enc.
Usando el dispositivo de procesado, la unidad 230 de generacion de textos cifrados genera un elemento cT,t del texto cifrado ctx para uno o mas indices t y cada mdice t incluido en un conjunto I»_, segun se indica en la Formula 185.
[Formula 185]
Resumiendo, el algoritmo Enc es tal como se indica en la Formula 186. [Formula 186]
Enc(pk,m,r :={(t,xt\= t e/- } 11 <r <rf})
--------Fg para (T,xT)er;(t,xTt)exT,
cQ:= {vT,0,CA<k\, para (r,xT) e r:(t,xr t) e xt
devolver
c/p.
Se describira el algoritmo Dec.
Usando el dispositivo de procesado, la unidad 340 de operaciones de emparejamiento calcula la Formula 187, y genera asf una clave de sesion K = gTZ y calcula un mensaje m' = cd+i/K.
[Formula 187]
K-eico.kt))- fl e(cuJcl,r.
i£/A/>(i)=(r,V,)Af S/j
Resumiendo, el algoritmo Dec es tal como se indica en la Formula 188.
5
10
15
20
25
30
[Formula 188]
Dec(pk,sks, ctr)
Si S := (M,p) acepta r:={(r,xT)}, entonces calcular I y {a}£i de tal manera que
tT0=Hai^b Y /c{!e{l,..,£}
irl
\[p(i) = {T,Vi)j\(j,xT) el' av; xT = 0]}
K:=e(c0,k£). n.
iel A p(i)={Ti Vi) A tGlv
m' = cd+I / K. devolver m’.
De esta manera, puede implementarse el esquema de cifrado funcional que presenta el esquema de cifrado por predicados de productos internos descrito en una de las anteriores realizaciones como estructura inferior.
En la anterior descripcion, se ha descrito el esquema de cifrado funcional en el cual se requiere que el parametro publico se vuelva a emitir para anadir una categona de atributo en una fase posterior. No obstante, tal como se describe en las Realizaciones 1 a 3, las partes de los indices se pueden proporcionar de manera que pueda anadirse una categona de atributos sin volver a emitir el parametro publico.
En el esquema de cifrado funcional antes descrito, se utilizan la base Bx,t y la base B*x,t. Asf, es necesario proporcionar las partes de los indices para cada uno del mdice x y el mdice t.
En este caso, el algoritmo Gob, el algoritmo Setup, el algoritmo KeyGen y el algoritmo Enc del esquema de cifrado por predicados de productos internos descrito anteriormente son tal como se indica en la Formula 189 a la Formula 192. El algoritmo Dec es tal como se indica en la Formula 188, sin ningun cambio.
[Formula 189]
£obdA):
parar% :=(tf,G,Gr,g,e)<-5— Sbpg(lA>, —F£,
Ac:=5, N] :=6+2n+],
para t = 0,1,
paramy (g,¥(,Gj,A(,e):= Sdpvs(^>^r’ParanflGX
:= Olt,ij)iJ+^-GLiNt>¥9), (vU;J)u
hi ~ 3I ’■■■An,)’
hi := )a, = 'Z%Vt,Uat,P B* := (hb-’blv,).
St ~e(g,g)¥- param:= ({paramVf}(=ugr}
devolver
5
10
15
20
25
[Formula 190]
Setup(l^)
(param,(B0,Bo),(B,B*))«-5- ft,b(lA),
devolver
[Formula 191]
KeyGen(pk,sk,S:= r,vt := {(?,v;V) 11 e/- } | i = 1
<rT :=(<7h...,aL)T :=M fT, aQ\=\-fT, Stj+^-Vg, cr(-:=
(*.vfi,)ev(
^0 := (-<70>0!l>'70fO)]||jt
para j=1L
para (*,Vi,)ev/,
devolver sk§
5
10
15
20
25
30
35
40
45
[Formula 192]
Enc(pk,m,r := {(r,xr := {(,t,xTj) \t e /- } 11 £ x < d})
-Fa para (r,xT)er;(t,xTt)<=xr,
U
i . 0.
para (rrtf)e/’;((,^()exT
devolver c/p.
En la anterior descripcion, se ha descrito el caso en el que el esquema de cifrado por predicados de productos internos de la Realizacion 1 se aplica al esquema KP-FE descrito, por ejemplo, en la referencia bibliografica 31, que no es documento de patente.
No obstante, de una manera similar, el esquema de cifrado por predicados de productos internos descrito en la Realizacion 1 se puede aplicar a un esquema de cifrado funcional con polftica de textos cifrados (esquema CP-FE) o un esquema de cifrado funcional con polftica unificada (esquema UP-FE) descrito en la referencia bibliografica 31, no documento de patente. Alternativamente, el esquema de cifrado por predicados de productos internos descrito en la Realizacion 2 o 3 se puede aplicar a cada uno de los esquemas de cifrado funcional descritos en la referencia bibliografica 31, que no es documento de patente. Naturalmente, los esquemas de cifrado por predicados de productos internos, descritos en las anteriores realizaciones, se pueden aplicar a otros esquemas de cifrado funcional, no limitados a los esquemas de cifrado funcional descritos en la referencia bibliografica 31, no documento de patente. De una manera similar, los esquemas de cifrado por predicados de productos internos, descritos en las realizaciones anteriores, se pueden aplicar a esquemas de firmas basadas en atributos, descritos en la referencia bibliografica 32, no documento de patente, y otras referencias bibliograficas.
En cualquiera de los casos, los esquemas de cifrado por predicados de productos internos, descritos en las anteriores realizaciones, se pueden aplicar al calculo del producto interno del vector de atributos x" y el vector de predicados v~ para cada mdice t.
Realizacion 5
En las realizaciones anteriores, se han descrito los metodos para implementar los procesos de las primitivas criptograficas en los espacios de vectores duales. En la Realizacion 5, se describira un metodo para implementar los procesos de las primitivas criptograficas en grupos aditivos duales.
Mas espedficamente, en las realizaciones anteriores, los procesos de las primitivas criptograficas se implementan en el grupo ciclico del orden primo q. No obstante, cuando un anillo R se expresa usando un numero compuesto M tal como se indica en la Formula 193, los procesos de las primitivas criptograficas descritos en las realizaciones anteriores tambien se pueden aplicar a un grupo aditivo que tenga el anillo R como coeficiente.
[Formula 193]
donde
Z: entero, y
M: numero compuesto.
Cambiando Fq por R en los algoritmos descritos en las realizaciones anteriores, pueden implementarse los procesos de las primitivas criptograficas en grupos aditivos duales.
A continuacion se describira una configuracion de hardware del sistema 10 de procesado criptografico (el dispositivo
40
5
10
15
20
25
30
35
40
45
50
55
100 de generacion de claves, el dispositivo 200 de cifrado, el dispositivo 300 de descifrado) en las realizaciones.
La Fig. 16 es un diagrama que ilustra un ejemplo de la configuracion de hardware del dispositivo 100 de generacion de claves, el dispositivo 200 de cifrado, y el dispositivo 300 de descifrado.
Tal como se ilustra en la Fig. 16, cada uno del dispositivo 100 de generacion de claves, el dispositivo 200 de cifrado, y el dispositivo 300 de descifrado tiene la CPU 911 (a la que se hace referencia tambien como Unidad de Procesado Central, dispositivo de procesado central, dispositivo de procesado, dispositivo aritmetico, microprocesador, microordenador o procesador) que ejecuta programas. La CPU 911 esta conectada, por medio de un bus 912, a la ROM 913, la RAM 914, la LCD 901 (Pantalla de Cristal Lfquido), el teclado 902 (K/B), la placa 915 de comunicaciones, y el dispositivo 920 de disco magnetico, y controla estos dispositivos de hardware. En lugar del dispositivo 920 de disco magnetico (dispositivo de disco fijo), puede utilizarse un dispositivo de almacenamiento, tal como un dispositivo de disco optico o un dispositivo de lectura/escritura de tarjetas de memoria. El dispositivo 920 de disco magnetico se conecta por medio de una interfaz de disco fijo predeterminada.
La ROM 913 y el dispositivo 920 de disco magnetico 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 920 de disco magnetico son ejemplos del dispositivo de almacenamiento (memoria). El teclado 902 y la placa 915 de comunicaciones son ejemplos del dispositivo de entrada. La placa 915 de comunicaciones es un ejemplo del dispositivo de comunicaciones. La LCD 901 es un ejemplo de un dispositivo de visualizacion.
El dispositivo 920 de disco magnetico, la ROM 913, o similares, almacena un sistema operativo 921 (OS), un sistema 922 de ventanas, programas 923, y archivos 924. Los programas 923 son ejecutados por la CPU 911, el sistema operativo 921 y el sistema 922 de ventanas.
Los programas 923 almacenan software y programas que ejecutan las funciones descritas en la exposicion anterior como la unidad 110 de generacion de claves maestras, la unidad 120 de almacenamiento de claves maestras, la unidad 130 de introduccion de informacion, la unidad 140 de generacion de claves de descifrado, la unidad 150 de distribucion de claves, la unidad 210 de adquisicion de parametros publicos, la unidad 220 de introduccion de informacion, la unidad 230 de generacion de textos cifrados, la unidad 240 de transmision de datos, la unidad 310 de adquisicion de claves de descifrado, la unidad 320 de almacenamiento de claves de descifrado, la unidad 330 de adquisicion de textos cifrados, la unidad 340 de operaciones de emparejamiento, la unidad 350 de calculo de mensajes, y similares. Los programas 923 tambien almacenan otros programas. Los programas son lefdos y ejecutados por la CPU 911.
Los archivos 924 almacenan informacion, datos, valores de senales, valores de variables y parametros, tales como el parametro publico pk, la clave secreta maestra sk, la clave de descifrado skv, el texto cifrado ctx, el vector de predicados v, el vector de atributos x y el mensaje m en la descripcion anterior, como elementos de un “archivo” y una “base de datos”. El “archivo” y la “base de datos” se almacenan en un soporte de grabacion, tal como un disco o memoria. La informacion, datos, valores de senales, valores de variables y parametros almacenados en el soporte de grabacion, tal como el disco o la memoria, se leen a la memoria principal o memoria cache por medio de la CPU 911, a traves de un circuito de lectura/escritura, y se usan para operaciones de la CPU 911, tales como extraccion, busqueda, consulta, comparacion, calculo, computo, procesado, salida, impresion y visualizacion. La informacion, datos, valores de senales, valores de variables y parametros se almacenan temporalmente en la memoria principal, la memoria cache o la memoria intermedia durante las operaciones de la CPU 911 que incluyen extraccion, busqueda, consulta, comparacion, calculo, computo, procesado, salida, impresion y visualizacion.
Las flechas en los diagramas de flujo de la descripcion anterior indican principalmente entrada/salida de datos y senales. Los datos y los valores de senales se almacenan en la memoria de la RAM 914, el soporte de grabacion, tal como un disco optico, o en un chip IC. Los datos y las senales se transmiten en lmea a traves de un medio de transmision, tal como el bus 912, lmeas de senales, o cables, o por medio de ondas electricas.
Lo que se describe como “unidad” en la anterior descripcion puede ser un “circuito”, un “dispositivo”, un “equipo”, unos “medios” o una “funcion”, y tambien puede ser una “etapa”, un “procedimiento”, o un “proceso”. Lo que se describe como “dispositivo” puede ser un “circuito”, un “equipo”, unos medios “medios”, o una “funcion”, y tambien puede ser una “etapa”, un “procedimiento”, o un “proceso”. Lo que se describe como un “proceso” puede ser una “etapa”. En otras palabras, lo que se describe como una “unidad” se puede realizar mediante microprogramas almacenados en la ROM 913. Alternativamente, lo que se describe como una “unidad” se puede implementar meramente mediante software, o meramente mediante hardware, tal como un elemento, un dispositivo, un sustrato, o una lmea de cableado, o mediante una combinacion de software y microprogramas, o mediante una combinacion que incluye microprogramas. Los microprogramas y el software se almacenan como programas en el soporte de grabacion, tal como la ROM 913. Los programas son lefdos por la CPU 911 y son ejecutados por la CPU 911. Es decir, cada programa provoca que el ordenador o similares funcione como cada “unidad” antes descrita. Alternativamente, cada programa provoca que el ordenador o similares ejecute un procedimiento o un metodo de cada “unidad” descrita anteriormente.
Lista de referencias
100: dispositivo de generacion de claves, 110: unidad de generacion de claves maestras, 120: unidad de almacenamiento de claves maestras, 130: unidad de introduccion de informacion, 140: unidad de generacion de claves de descifrado, 150: unidad de distribucion de claves, 200: dispositivo de cifrado, 210: unidad de adquisicion de parametros publicos, 220: unidad de introduccion de informacion, 230: unidad de generacion de textos cifrados, 5 240: unidad de transmision de datos, 300: dispositivo de descifrado, 310: unidad de adquisicion de claves de
descifrado, 320: unidad de almacenamiento de claves de descifrado, 330: unidad de adquisicion de textos cifrados, 340: unidad de operaciones de emparejamiento, 350: unidad de calculo de mensajes
Claims (12)
- 51015202530354045REIVINDICACIONES1. Sistema criptografico (10) que comprende un dispositivo (200) de cifrado y un dispositivo (300) de descifrado,en donde el dispositivo (200) de cifrado incluyeuna unidad (230) de generacion de textos cifrados que esta configurada para generar un texto cifrado que tiene un elemento c0 en el cual un valor o~ se fija como coeficiente de un vector de base b0,r, y un elemento ct en el cual informacion de atributos xt se fija como coeficiente de un vector de base bp y el valor o~ se fija como coeficiente de un vector de base bq, para cada mdice t incluido en un conjunto I^, yen donde el dispositivo (300) de descifrado incluyeuna unidad (320) de almacenamiento de claves de descifrado que esta configurada para almacenar una clave de descifrado que tiene un elemento k0 y un elemento kt que se generan usando un valor st y un valor s0 que es una suma del valor st para cada mdice t incluido en un conjunto Iy_, siendo el elemento k0 un elemento en el cual un valor -s0 se fija como coeficiente de un vector de base b*0,r correspondiente al vector de base b0,r, siendo el elemento kt un elemento en el cual informacion de predicados vt se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp y el valor st se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, para cada mdice t incluido en el conjunto Ivj yuna unidad (340, 350) de descifrado que esta configurada para descifrar el texto cifrado generado por la unidad (230) de generacion de textos cifrados con la clave de descifrado almacenada por la unidad (320) de almacenamiento de claves de descifrado, estando configurada la unidad (340, 350) de descifrado para descifrar el texto cifrado calculando un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento c0 y el elemento k0 y sobre el elemento ct y el elemento kt para cada mdice t incluido en el conjunto Iv_.
- 2. Sistema criptografico segun la reivindicacion 1,en el que la unidad (230) de generacion de textos cifrados esta configurada ademas para generar un elemento ct en el cual informacion J que se asigna de antemano al mdice t se fija como coeficiente de un vector de base bmdice, yen el que la unidad (320) de almacenamiento de claves de descifrado esta configurada ademas para generar un elemento kt en el cual informacion J' que tiene un producto interno de 0 con la informacion J que se asigna de antemano al mdice t, se fija como coeficiente de un vector de base bodice correspondiente al vector de base bmdice.
- 3. Sistema criptografico segun la reivindicacion 2,en el que la unidad (230) de generacion de textos cifrados esta configurada para generar el elemento c0 y el elemento ct tal como se indica en la Formula 1,en el que la unidad (320) de almacenamiento de claves de descifrado esta configurada para almacenar el elemento k0 y el elemento kt tal como se indica en la Formula 2, yen el que la unidad (340, 350) de descifrado esta configurada para llevar a cabo un calculo tal como se indica en la Formula 3,[Formula 1]
imagen1 dondeC,<Jt,oo,d),(pQ '.= (<Pq\,—,<Pq Zq),<Px :=(<Vt z) son numeros aleatorios, y u0, w0, z0, u, w, zson, cada uno deellos, un entero de 0 o mayor,[Formula 2]51015202530354045imagen2 dondeson numeros aleatorios, y uo, wo, zo, u, w, z son, cada uno de ellos, unentero de 0 6 mayor,[Formula 3]K:=e(CQ,kl)Y\e(ct,k*)t<=l- - 4. Sistema criptografico (10) que esta configurado para realizar un proceso de una primitiva criptografica determinando, para cada mdice x, si un producto interno es 0 entre un vector de atributos xx" que tiene, como elemento, informacion de atributos xx,t para cada mdice t incluido en un conjunto Ix,x_, y un vector de predicados vx" que tiene, como elemento, informacion de atributos vT,t para cada mdice t incluido en un conjunto Ix,v_, comprendiendo el sistema criptografico un transmisor (200) y un receptor (300),en donde el transmisor (200) incluyeuna unidad (230) de generacion de informacion de transmision que esta configurada para generar, para cada mdice x, informacion de transmision que tiene un elemento cx,t en el cual informacion de atributos xx,t se fija como coeficiente de un vector de base bp para cada mdice t incluido en el conjunto Ix,^ y un valor o~x se fija como coeficiente de un vector de base bq, yen donde el receptor (300) incluyeuna unidad (320) de almacenamiento de informacion de recepcion que esta configurada para almacenar, para cada mdice x, informacion de recepcion que tiene un elemento kx,t en el cual informacion de atributos vx,t se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp y un valor sx,t se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, para cada mdice t incluido en el conjunto Ix,vj yuna unidad (340) de operaciones de emparejamiento que esta configurada para calcular, para cada mdice x, un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento cx,t y el elemento kx,t para cada mdice t incluido en el conjunto Ix,v_.
- 5. Sistema criptografico (10) que comprende un dispositivo (200) de cifrado y un dispositivo (300) de descifrado,en donde el dispositivo (200) de cifrado incluyeuna unidad (230) de generacion de textos cifrados que esta configurada para generar un texto cifrado que tiene un elemento c0 y un elemento ct que se generan usando un valor ft y un valor f0 el cual es una suma del valor ft para cada mdice t incluido en un conjunto I^, siendo el elemento c0 un elemento en el cual un valor -f0 se fija como coeficiente de un vector de base b0,r, siendo el elemento ct un elemento en el cual informacion de atributos xt se fija como coeficiente de un vector de base bp y el valor ft se fija como coeficiente de un vector de base bq, para cada mdice t incluido en el conjunto I^, yen donde el dispositivo (300) de descifrado incluyeuna unidad (320) de almacenamiento de claves de descifrado que esta configurada para almacenar una clave de descifrado que tiene un elemento k0 en el cual un valor 8' se fija como coeficiente de un vector de base b*0,r correspondiente al vector de base b0,r, y un elemento kt en el cual informacion de predicados vt se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp y el valor 8' se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq para cada mdice t incluido en un conjunto Ivj yuna unidad (340, 350) de descifrado que esta configurada para descifrar el texto cifrado generado por la unidad (230) de generacion de textos cifrados con la clave de descifrado almacenada por la unidad (320) de almacenamiento de claves de descifrado, estando configurada la unidad (340, 350) de descifrado para descifrar el texto cifrado mediante el calculo de un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento c0 y el elemento k0 y sobre el elemento ct y el elemento kt para cada mdice t incluido en el conjunto I^.510152025303540
- 6. Sistema criptografico segun la reivindicacion 5,en el que la unidad (230) de generacion de textos cifrados esta configurada ademas para generar un elemento ct en el cual informacion J que se asigna de antemano al mdice t se fija como coeficiente de un vector de base bmdice, yen el que la unidad (320) de almacenamiento de claves de descifrado esta configurada ademas para generar un elemento kt en el cual informacion J' que presenta un producto intemo de 0 con la informacion J que se asigna de antemano al mdice t, se fija como coeficiente de un vector de base bodice correspondiente al vector de base bmdice.
- 7. Sistema criptografico segun la reivindicacion 6,en el que la unidad (230) de generacion de textos cifrados esta configurada para generar el elemento c0 y el elemento ct segun se indica en la Formula 4,en el que la unidad (320) de almacenamiento de claves de descifrado esta configurada para almacenar el elemento k0 y el elemento kt segun se indica en la Formula 5, yen el que la unidad (340, 350) de descifrado esta configurada para realizar un calculo segun se indica en la Formula 6,[Formula 4]
imagen3 donde~{(Pof\,-,<pQ,Za ),(Pi := (<pt\,...,<ptz) son numeros aleatorios, y u0, w0, z0, u, w, zson, cada uno de ellos, un entero de 0 6 mayor,[Formula 5]imagen4 donde:= (Jlo,{’--’rl0,w0)’rh := ..,//,„) son numeros aleatorios, y u0, wo, z0, u, w, zson, cada uno deellos, un entero de 0 o mayor,[Formula 6]K •= e{C(),kl)Y[e{ct,k*)*e/- 'X - 8. Sistema criptografico (10) que esta configurado para realizar un proceso de una primitiva criptografica determinando, para cada mdice x, si un producto interno es 0 entre un vector de atributos xx" que tiene, como elemento, informacion de atributos xx,t para cada mdice t incluido en un conjunto Ix,x_, y un vector de predicados vx" que tiene, como elemento, informacion de atributos vT,t para cada mdice t incluido en un conjunto Ix,^, comprendiendo el sistema criptografico un transmisor (200) y un receptor (300),en donde el transmisor (200) incluyeuna unidad (230) de generacion de informacion de transmision que esta configurada para generar, para cada mdice x, informacion de transmision que tiene un elemento cx,t en el cual informacion de atributos xx,t se fija como coeficiente de un vector de base bp y un valor fx,t se fija como coeficiente de un vector de base bq, para cada mdice t incluido en el conjunto Ix,^, y5101520253035404550en donde el receptor (300) incluyeuna unidad (320) de almacenamiento de informacion de recepcion que esta configurada para almacenar, para cada mdice x, informacion de recepcion que tiene un elemento kx,t en el cual informacion de atributos vx,t se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp y un valor 8~x se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, para cada mdice t incluido en el conjunto Ix,yj yuna unidad (340) de operaciones de emparejamiento que esta configurada para calcular, para cada mdice x, un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento cx,t y el elemento kx,t para cada mdice t incluido en el conjunto Ix,^.
- 9. Sistema criptografico (10) que comprende un dispositivo (200) de cifrado y un dispositivo (300) de descifrado,en el que el dispositivo (200) de cifrado incluyeuna unidad (230) de generacion de textos cifrados que esta configurada para generar un texto cifrado que tiene un elemento c0 y un elemento ct que se generan usando un valor ft y un valor f0 el cual es una suma del valor ft para cada mdice t de t = 1, ..., n (siendo n un entero de 1 o mayor), siendo el elemento c0 un elemento en el cual un valor ro~ se fija como coeficiente de un vector de base b0,r y un valor -f0 se fija como coeficiente de un vector de base b0,r', siendo el elemento ct un elemento en el cual informacion de atributos xt se fija como coeficiente de un vector de base bp para cada mdice t incluido en un conjunto Ix, el valor o~ se fija como coeficiente de un vector de base bq, y el valor ft se fija como coeficiente de un vector de base bq , yen el que el dispositivo (300) de descifrado incluyeuna unidad (320) de almacenamiento de claves de descifrado que esta configurada para almacenar una clave de descifrado que tiene un elemento k0 y un elemento kt que se generan usando un valor st y un valor s0 el cual es una suma del valor st para cada mdice t, siendo el elemento k0 un elemento en el cual un valor -s0 se fija como coeficiente de un vector de base b*0,r correspondiente al vector de base b0,r y un valor 8' se fija como coeficiente de un vector de base b*0,r correspondiente al vector de base bet, siendo el elemento kt un elemento en el cual informacion de predicados vt se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp, el valor st se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, y el valor 8' se fija como coeficiente de un vector de base b*q- correspondiente al vector de base bq ; yuna unidad (340, 350) de descifrado que esta configurada para descifrar el texto cifrado generado por la unidad (230) de generacion de textos cifrados con la clave de descifrado almacenada por la unidad (320) de almacenamiento de claves de descifrado, estando configurada la unidad (340, 350) de descifrado para descifrar el texto cifrado mediante el calculo de un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento c0 y el elemento k0 y sobre el elemento ct y el elemento kt para cada mdice t.
- 10. Sistema criptografico segun la reivindicacion 9,en el que la unidad (230) de generacion de textos cifrados esta configurada ademas para generar un elemento ct en el cual informacion J que se asigna de antemano al mdice t se fija como coeficiente de un vector de base bmdice, yen el que la unidad (320) de almacenamiento de claves de descifrado esta configurada ademas para generar un elemento kt en el cual informacion J’ que tiene un producto interno de 0 con la informacion J que se asigna de antemano al mdice t, se fija como coeficiente de un vector de base bodice correspondiente al vector de base bmdice.
- 11. Sistema criptografico segun la reivindicacion 10,en el que la unidad (230) de generacion de textos cifrados esta configurada para generar el elemento c0 y el elemento ct tal como se indica en la Formula 7,en el que la unidad (320) de almacenamiento de claves de descifrado esta configurada para almacenar el elemento k0 y el elemento kt tal como se indica en la Formula 8, yen el que la unidad (340, 350) de descifrado esta configurada para llevar a cabo un calculo tal como se indica en la Formula 9,[Formula 7]
imagen5 c0(®s -/o 0"o, C, 0'X n )M5 u w -C(=( <y,(l i); 0jxt, ox f 0“, 0W, <px )B51015202530dondeC,(J(,a>,a),(pQ := son numeros aleatorios, y uo, wo, zo, u, w, zson, cada uno deellos, un entero de 0 o mayor,[Formula 8]imagen6 dondeS,S,jut,tjQ (z/ojf---5^7o,w0 son numeros aleatorios, y uo, wo, zo, u, w, z son, cada uno deellos, un entero de 0 o mayor,[Formula 9]imagen7 - 12. Sistema criptografico (10) que esta configurado para realizar un proceso de una primitiva criptografica determinando para cada mdice x si un producto interno es 0 entre un vector de atributos xx" que tiene, como elemento, informacion de atributos xx,t para cada mdice t de t = 1, ..., n (siendo n un entero de 1 o mayor), y un vector de predicados vx" que tiene, como elemento, informacion de atributos vx,t para cada mdice t, comprendiendo el sistema criptografico un transmisor (200) y un receptor (300),en donde el transmisor (200) incluyeuna unidad (230) de generacion de informacion de transmision que esta configurada para generar, para cada mdice x, informacion de transmision que tiene un elemento cx,t en el cual informacion de atributos xx,t se fija como coeficiente de un vector de base bp, un valor o~x se fija como coeficiente de un vector de base bq, y un valor ft se fija como coeficiente de un vector de base bq, para cada mdice t incluido en un conjunto Ix,^, yen donde el receptor (300) incluyeuna unidad (320) de almacenamiento de informacion de recepcion que esta configurada para almacenar, para cada mdice x, informacion de recepcion que tiene un elemento kx,t en el cual informacion de atributos vx,t se fija como coeficiente de un vector de base b*p correspondiente al vector de base bp, un valor sx,t se fija como coeficiente de un vector de base b*q correspondiente al vector de base bq, y un valor 8' se fija como coeficiente de un vector de base b*q' correspondiente al vector de base bq , para cada mdice t incluido en un conjunto Ix,yj yuna unidad (340) de operaciones de emparejamiento que esta configurada para calcular un producto de operaciones de emparejamiento entre pares correspondientes de los vectores de base sobre el elemento cx,t y el elemento kx,t para cada mdice x y cada mdice t.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012231293A JP5921410B2 (ja) | 2012-10-19 | 2012-10-19 | 暗号システム |
| JP2012231293 | 2012-10-19 | ||
| PCT/JP2013/069364 WO2014061324A1 (ja) | 2012-10-19 | 2013-07-17 | 暗号システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2645072T3 true ES2645072T3 (es) | 2017-12-04 |
Family
ID=50487902
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13846805.3T Active ES2645072T3 (es) | 2012-10-19 | 2013-07-17 | Sistema criptográfico |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US9722783B2 (es) |
| EP (1) | EP2911137B1 (es) |
| JP (1) | JP5921410B2 (es) |
| KR (1) | KR101676977B1 (es) |
| CN (1) | CN104718566B (es) |
| ES (1) | ES2645072T3 (es) |
| WO (1) | WO2014061324A1 (es) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6719339B2 (ja) * | 2016-08-30 | 2020-07-08 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
| US11139952B2 (en) * | 2017-01-18 | 2021-10-05 | Mitsubishi Electric Corporation | Homomorphic computation device, encryption system, and computer readable medium |
| KR101994236B1 (ko) * | 2017-04-21 | 2019-09-30 | 한국전자통신연구원 | 프라이버시 보존형 각도 기반 이상치 검출 방법 및 장치 |
| JP6971917B2 (ja) * | 2018-06-11 | 2021-11-24 | 三菱電機株式会社 | 復号装置、暗号化装置及び暗号システム |
| JP7087965B2 (ja) * | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
| KR102123435B1 (ko) * | 2019-08-19 | 2020-06-16 | 세종대학교산학협력단 | 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치 |
| KR102123440B1 (ko) * | 2019-09-02 | 2020-06-16 | 세종대학교산학협력단 | 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치 |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| US20230291553A1 (en) * | 2020-09-08 | 2023-09-14 | Nippon Telegraph And Telephone Corporation | Cypher system, method and program |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0823331A (ja) * | 1994-07-07 | 1996-01-23 | Murata Mach Ltd | 暗号化通信方法及び装置 |
| JP3917507B2 (ja) * | 2002-01-28 | 2007-05-23 | 株式会社東芝 | コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム |
| US7634085B1 (en) | 2005-03-25 | 2009-12-15 | Voltage Security, Inc. | Identity-based-encryption system with partial attribute matching |
| JP2008011092A (ja) * | 2006-06-28 | 2008-01-17 | Fuji Xerox Co Ltd | 暗号化コンテンツ検索方式 |
| US20090080658A1 (en) | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
| CN101188496B (zh) * | 2007-12-10 | 2010-09-29 | 中兴通讯股份有限公司 | 一种短信加密传输方法 |
| KR101351789B1 (ko) * | 2009-04-24 | 2014-01-15 | 니뽄 덴신 덴와 가부시키가이샤 | 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체 |
| EP2525340B1 (en) * | 2010-01-15 | 2018-06-06 | Mitsubishi Electric Corporation | Confidential search system and encryption processing system |
| JP5424974B2 (ja) * | 2010-04-27 | 2014-02-26 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置 |
| US8634563B2 (en) * | 2010-12-17 | 2014-01-21 | Microsoft Corporation | Attribute based encryption using lattices |
| JP5693206B2 (ja) | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
-
2012
- 2012-10-19 JP JP2012231293A patent/JP5921410B2/ja active Active
-
2013
- 2013-07-17 CN CN201380050410.0A patent/CN104718566B/zh not_active Expired - Fee Related
- 2013-07-17 ES ES13846805.3T patent/ES2645072T3/es active Active
- 2013-07-17 WO PCT/JP2013/069364 patent/WO2014061324A1/ja not_active Ceased
- 2013-07-17 KR KR1020157013141A patent/KR101676977B1/ko not_active Expired - Fee Related
- 2013-07-17 EP EP13846805.3A patent/EP2911137B1/en not_active Not-in-force
- 2013-07-17 US US14/421,282 patent/US9722783B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014085358A (ja) | 2014-05-12 |
| JP5921410B2 (ja) | 2016-05-24 |
| EP2911137A4 (en) | 2016-09-07 |
| EP2911137B1 (en) | 2017-09-27 |
| EP2911137A1 (en) | 2015-08-26 |
| KR20150070383A (ko) | 2015-06-24 |
| CN104718566B (zh) | 2017-06-16 |
| WO2014061324A1 (ja) | 2014-04-24 |
| US20150229472A1 (en) | 2015-08-13 |
| US9722783B2 (en) | 2017-08-01 |
| KR101676977B1 (ko) | 2016-11-16 |
| CN104718566A (zh) | 2015-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2565862B1 (en) | Encryption processing system, key generation device, encryption device, decryption device, signature processing system, signature device and verification device | |
| Döttling et al. | Identity-based encryption from the Diffie-Hellman assumption | |
| 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 | |
| ES2684945T3 (es) | Sistema de procesamiento de firmas, dispositivo de generación de claves, dispositivo de firmas, dispositivo de verificación, método de procesamiento de firmas y programa de procesamiento de firmas | |
| Seo et al. | Revocable identity-based encryption revisited: Security model and construction | |
| Seo et al. | Efficient delegation of key generation and revocation functionalities in identity-based encryption | |
| EP2613472A1 (en) | Encryption processing system, key generation device, encryption device, decryption device, encryption processing method, and encryption processing program | |
| EP2503533A1 (en) | Cipher processing system, key generating device, key delegating device, encrypting device, decrypting device, cipher processing method, and cipher processing program | |
| KR101588992B1 (ko) | 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
| EP2523178B1 (en) | Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program | |
| JP5921410B2 (ja) | 暗号システム | |
| Lee et al. | Anonymous HIBE with short ciphertexts: full security in prime order groups | |
| 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 | |
| Chiku et al. | How to Apply Fujisaki-Okamoto Transformation to Registration-Based Encryption | |
| Poulakis | On the cryptographic long term security | |
| Preetha Mathew et al. | Efficient Code Based Hybrid and Deterministic Encryptions in the Standard Model |