ES2627124T3 - 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 - Google Patents

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 Download PDF

Info

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

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Un sistema (10) de procesamiento criptográfico que comprende d, en el que d es un número entero de 1 o más, unidades de dispositivos (100) de generación de claves, un dispositivo (200) de encriptación y un dispositivo (300) de desencriptación, y que sirve para ejecutar un procedimiento criptográfico usando una base Bt y una base B*t para al menos un número entero t >= 1, ..., d, en el que cada dispositivo de generación de claves de entre las d unidades de dispositivos de generación de claves incluye una primera parte (130) de entrada de información que toma como entrada información de atributo x→ t :>= (xt,i), en la que i >= 1, ..., nt donde nt es un número entero de 1 o más, para un número entero t de entre los números enteros t >= 1, ..., d que está predeterminado para cada dispositivo de generación de claves, una parte (142) de generación de elementos de clave que genera un elemento k*t de clave que incluye un vector indicado en la Fórmula 1 basado en el número entero t, la información x→ t de atributos introducida por la primera parte de entrada de información, un valor δ predeterminado, y un vector base b*t,i con i >= 1, ..., 2nt, de la base B*t, y una parte (150) de transmisión de clave de desencriptación que transmite al dispositivo de desencriptación, una clave usk de desencriptación que incluye el elemento k*t de clave generado por la parte de generación de elementos de clave y la información x→ t de atributos, en el que el dispositivo de encriptación incluye una segunda parte (220) de entrada de información que toma como entrada una variable ρ(i) para cada número entero i >= 1, ..., L, en el que L es un número entero de 1 o más, cuya variable ρ(i) es una de entre una tupla (t, v→ i) positiva y una tupla ¬(t, v→ i) negativa de la información t de identificación, en el que t es cualquier número entero de t >= 1, ..., d, e información de atributos v→ i :>= (vi,i') con i'>= 1, ..., nt; y una matriz M predeterminada que tiene L filas y r columnas, en el que r es un número entero de 1 o más, una parte (232, 233) de generación de vectores que genera vectores columna s→T:>= (s1, ..., sL)T :>= M·f→T basado en un vector f→ 25 que tiene r piezas de elementos y la matriz M introducida por la segunda parte de entrada de información, y genera un vector columna (s→')T:>= (s1, ..., sL)T :>= M·(f→')T basado en la matriz M y un vector f→' que tiene r piezas de elementos y que satisface s0 >= h→·(f→')T donde s0 >= h→·f→T, una parte (234) de generación de elemento ci de encriptación que, para cada número entero i >= 1, ..., L y en base a los vectores columna s→T y el vector columna (s→')T que son generados por la parte de generación de vectores, y valores θi y θi' predeterminados para cada número entero i >= 1, ..., L, genera un elemento ci de encriptación, incluyendo un vector indicado en la Fórmula 2, cuando la variable ρ (i) es una tupla positiva (t, v→ i), usando un vector base bt,i', con i' >= 1, ..., 2nt, de la base Bt indicado por la información t de identificación de la tupla positiva, y genera un elemento ci de encriptación incluyendo un vector indicado en la Fórmula 3, cuando la variable ρ (i) es una tupla negativa ¬(t, v→ i), usando un vector base bt,i, con i >= 1, ..., 2nt, indicado por la información t de identificación de la tupla negativa, y una parte (240) de transmisión de texto encriptado que transmite al dispositivo de desencriptación, un texto cts encriptado incluyendo: el elemento ci de encriptación generado para cada número entero i >= 1, ..., L por la parte de generación de elemento ci de encriptación; la variable ρ (i); y la matriz M, y en el que el dispositivo de desencriptación incluye una parte (310) de recepción de clave de desencriptación que recibe la clave usk de desencriptación transmitida por la parte de transmisión de clave de desencriptación de al menos un dispositivo de generación de clave de entre las d unidades de dispositivos de generación de claves, una parte (320) de recepción de datos que recibe el texto cts encriptado transmitido por la parte de transmisión de texto encriptado, una parte (340) de cálculo de coeficiente complementario que, en base a la información x→ t de atributos incluida en la clave usk de desencriptación recibida por la parte de recepción de clave de desencriptación, y la variable rho; (i) incluida en el texto cts encriptado recibido por la parte de recepción de datos, especifica, de entre los números enteros i >= 1, ..., L, un conjunto I de un número entero i para el cual la variable ρ(i) es una tupla positiva (t, v→ i), en el que la clave usk de desencriptación incluye x→ t indicado por la información t de identificación de la tupla positiva recibida por la parte de recepción de clave de desencriptación, y con la que un producto interno de v→ i de la tupla positiva y la información x→ t de atributos indicada por la información t de identificación de la tupla positiva es igual a 0 y un número entero i para el cual la variable ρ (i) es una tupla negativa ¬(t, v→ i), en el que la clave usk de desencriptación incluye x→ t indicado por la información t de identificación de la tupla negativa recibida por la parte de recepción de clave de desencriptación y con la que un producto interno de v→ i de la tupla negativa y la información x→ t de atributos indicada por la información t de identificación de la tupla negativa no es igual a 0; y calcula, con respecto a i incluido en el conjunto I especificado, un coeficiente αi complementario con el cual un total de αiMi en base a Mi que es un elemento en una i-ésima fila de la matriz M incluida en el texto cts encriptado se convierte en el vector h→ predeterminado, y una parte (350) de operación de emparejamiento que calcula una información K predeterminada realizando una operación de emparejamiento indicada en la Fórmula 4 para el elemento ci de encriptación incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptación en base al conjunto I y el coeficiente αi complementario que son calculados por la parte de cálculo del coeficiente complementario**Fórmula**

Description

5
10
15
20
25
30
35
40
DESCRIPCION
Sistema de procesamiento de codigo, dispositivo de generation de claves, dispositivo codificador, dispositivo descodificador, procedimiento de procesamiento de codigo y programa de procesamiento de codigo
Campo tecnico
La presente invention se refiere a la encriptacion funcional multi-autoridad descentralizada.
Antecedentes
La literatura distinta de la de patentes 31 describe la encriptacion funcional.
Las literaturas distintas de la de patentes 12, 13, 25, 26 y 28 describen la encriptacion multi-autoridad basada en atributos. La encriptacion basada en atributo es una clase de encriptacion funcional.
La literatura distinta de la de patentes 25 describe la encriptacion basada en atributos multi-autoridad descentralizada. Lista de citas Literatura de patentes
Literatura distinta de la de patentes 1: Beimel, A., Secure schemes for secret sharing and key distribution. PhD Thesis, Israel Institute of Technology, Technion, Haifa, Israel, 1996.
Literatura distinta de la de patentes 2: Bethencourt, J., Sahai, A., Waters, B.: Ciphertext-policy attribute-based encryption. En: 2007 IEEE Symposium on Security and Privacy, pp. 321-34. IEEE Press (2007)
Literatura distinta de la de patentes 3: Boneh, D., Boyen, X.: Efficient selective-ID secure identity based encryption without random oracles. En: Cachin, C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 223-38. Springer Heidelberg (2004)
Literatura distinta de la de patentes 4: Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. En: Franklin, M.K. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 443-59. Springer Heidelberg (2004)
Literatura distinta de la de patentes 5: Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 440-56. Springer Heidelberg (2005)
Literatura distinta de la de patentes 6: Boneh, D., Franklin, M.: Identity-based encryption from the Weil pairing. En: Kilian, J. (ed.) CRYPTO02001. LNCS, vol. 2139, pp. 213-29. Springer Heidelberg (2001)
Literatura distinta de la de patentes 7: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J.(ed.) ASIACRYPT 2008. LNCS, vol. 5350, pp. 455-70. Springer Heidelberg (2008)
Literatura distinta de la de patentes 8: Boneh, D., Katz, J., Improved efficiency for CCA-secure cryptosystems built using identity based encryption.RSA-CT 2005, LNCS, Springer Verlag (2005)
Literatura distinta de la de patentes 9: Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. En: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 535- 54. Springer Heidelberg (2007)
Literatura distinta de la de patentes 10: Boyen, X., Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). En: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, pp. 290-07. Springer Heidelberg (2006)
Literatura distinta de la de patentes 11: Canetti, R., Halevi S., Katz J.: Chosen-ciphertext security from identity-based encryption. EUROCRYPT2004, LNCS, Springer Heidelberg (2004)
Literatura distinta de la de patentes 12: Chase, M.: Multi-authority attribute based encryption. TCC, LNCS, pp. 515-34, Springer Heidelberg (2007).
Literatura distinta de la de patentes 13: Chase, M. y Chow, S.: Improving privacy and security in multi-authority attribute- based encryption, ACM Conference on Computer and Communications Security, pp. 121-30, ACM (2009).
Literatura distinta de la de patentes 14: Cocks, C.: An identity based encryption scheme based on quadratic residues. En: Honary, B. (ed.) IMAInt. Conf. LNCS, vol. 2260, pp. 360-63. Springer Heidelberg (2001)
Literatura distinta de la de patentes 15: Estibals, N.: Compact hardware for computing the Tate pairing over 128-bit-
5
10
15
20
25
30
35
40
45
security supersingular curves, IACR ePrint Archive: Report 2010/371 (2010).
Literatura distinta de la de patentes 16: SECURE HASH STANDARD, FIPS PUB 180-1, 180-2, NIST, USA (1995,2002)
Literatura distinta de la de patentes 17: Gentry, C.: Practical identity-based encryption without random oracles. En: Vaudenay, S. (ed.) EUROCRYPT2006. LNCS, vol. 4004, pp. 445-64. Springer Heidelberg (2006)
Literatura distinta de la de patentes 18: Gentry, C., Halevi, S.: Hierarchical identity-based encryption with polynomially many levels. En: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, pp. 437-56. Springer Heidelberg (2009)
Literatura distinta de la de patentes 19: Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. En: Zheng, Y. (ed.) ASIACRYPT 2002.LNCS, vol. 2501, pp. 548-66. Springer Heidelberg (2002)
Literatura distinta de la de patentes 20: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for finegrained access control of encrypted data. En: ACM Conference on Computer and Communication Security 2006, pp. 89-8, ACM (2006)
Literatura distinta de la de patentes 21: ISO/IEC 15946-5, Information technology ■ Security techniques Cryptographic techniques based on elliptic curves Part 5: Elliptic curve generation (2009).
Literatura distinta de la de patentes 22: Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 146-62. Springer Heidelberg (2008)
Literatura distinta de la de patentes 23: 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)
Literatura distinta de la de patentes 24: 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. 5978, pp. 455-79. Springer Heidelberg (2010)
Literatura distinta de la de patentes 25: Lewko, A.B., Waters, B.: Decentralizing Attribute-Based Encryption, IACR ePrint Archive: Report 2010/351 (2010).
Literatura distinta de la de patentes 26: H. Lin, Z. Cao, X. Liang, and J. Shao.: Secure threshold multi authority attribute based encryption without a central authority, INDOCRYPT, LNCS, vol. 5365, pp. 426-36, Springer Heidelberg (2008).
Literatura distinta de la de patentes 27: Maji, H., Prabhakaran, M., Rosulek, M.: Attribute-Based Signatures.
http://www. cs.uiuc.edu/-mm p/research. html
Literatura distinta de la de patentes 28: S. Muller, S. Katzenbeisser, and C. Eckert.; On multi-authority ciphertext-policy attribute-based encryption, Bull. Korean Math Soc. 46, No.4, pp. 803-19 (2009).
Literatura distinta de la de patentes 29: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5209, pp. 57-4, Springer Heidelberg (2008)
Literatura distinta de la de patentes 30: Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner- products, En: ASIACRYPT 2009, Springer Heidelberg (2009)
Literatura distinta de la de patentes 31: Okamoto, T., Takashima, K.: Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption, 5 de Noviembre 2010, recuperado de Internet: URL:
http://eprint.iacr.org/eprint-bin/getfile.pl?entry=2010/563&version=20101105:113344& file=563.pdf
Literatura distinta de la de patentes 32: Ostrovsky, R., Sahai, A., Waters, B.: Attribute-based encryption with nonmonotonic access structures. En: ACM Conference on Computer and Communication Security 2007, pp. 195-03, ACM (2007)
Literatura distinta de la de patentes 33: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: ACM Conference on Computer and Communication Security 2006, pp. 99-12, ACM, (2006)
Literatura distinta de la de patentes 34: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, pp. 457-73. Springer Heidelberg (2005)
Literatura distinta de la de patentes 35: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En:
5
10
15
20
25
30
35
40
45
50
Aceto, L., Damgard, I., Goldberg, L.A., Halldorsson, M.M., Ingolfsdottir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol.5126, pp. 560.578. Springer Heidelberg (2008)
Literatura distinta de la de patentes 36: Waters, B.: Efficient identity based encryption without random oracles. Eurocrypt 2005, LNCS, vol. 3152, pp.443-59. Springer Verlag, (2005)
Literatura distinta de la de patentes 37: Waters, B.: Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. ePrint, IACR,
http://eprint.iacr.org/2008/290
Literatura distinta de la de patentes 38: Waters, B.: Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, pp. 619-36. Springer Heidelberg (2009)
Sumario de la invencion
Problema tecnico
La encriptacion funcional tiene un problema en el sentido de que la seguridad de todo el sistema depende de una sola parte.
La presente invencion tiene por objeto proporcionar una encriptacion funcional multi-autoridad descentralizada en la que la seguridad de todo el sistema no dependa de una sola parte.
Solucion al problema
Un sistema de procesamiento criptografico segun la presente invencion es un sistema de procesamiento criptografico que incluye d (d es un numero entero de 1 o mas) unidades de dispositivos de generacion de claves, un dispositivo de encriptacion y un dispositivo de desencriptacion y que sirve para ejecutar un procedimiento criptografico usando una base Bt y una base B*t para al menos un numero entero t = 1, ..., d, en el que cada dispositivo de generacion de claves de las d unidades de dispositivos de generacion de claves incluye
una primera parte de entrada de informacion que toma como entrada informacion de atributo x^t := (xt,i) (i = 1, ..., nt) donde nt es un numero entero de 1 o mas) para un numero entero t entre los numeros enteros t = 1, ..., d que esta predeterminado para cada dispositivo de generacion de claves,
una parte de generacion de elementos de clave que genera un elemento k*t de clave que incluye un vector indicado en la Formula 1 basado en el numero entero t, la informacion x^t de atributos introducida por la primera parte de entrada de informacion, un valor 5 predeterminado, y un vector base b*t,i (i = 1, ..., 2nt) de la base B*t, y una parte de transmision de clave de desencriptacion que transmite al dispositivo de desencriptacion, una clave usk de desencriptacion que incluye el elemento k*t de clave generado por la parte de generacion de elementos de clave y la informacion x^t de atributos,
en el que el dispositivo de encriptacion incluye
una segunda parte de entrada de informacion que toma como entrada una variable p(i) para cada numero entero i = 1, ..., L (L es un numero entero de 1 o mas), cuya variable p(i) es una de entre una tupla (t, v^i) positiva y una tupla -(t, v^i) negativa de la informacion t de identificacion (t es cualquier numero entero de t = 1, ..., d) e informacion de atributos v^i := (vi,i) (i'= 1, ..., nt); y una matriz M predeterminada que tiene L filas y r columnas (r es un numero entero de 1 o mas),
una parte de generacion de vectores que genera un vector columna s^T:= (s1, ..., sL)T := M-PT basado en un vector V que tiene r piezas de elementos y la matriz M introducida por la segunda parte de entrada de informacion, y genera un vector columna (s^')T: = (s1, ..., sL)T := M- (f^')T basado en la matriz M y un vector f"*' que tiene r piezas de elementos y que satisface s0 = h^f)T donde s0 = h^f^T,
una parte de generacion de elemento ci de encriptacion que, para cada numero entero i = 1, ..., L y en base al vector columna s^T y el vector columna (s^')T que son generados por la parte de generacion de vectores, y valores 0i y 0i' predeterminados para cada numero entero i = 1, ..., L, genera un elemento ci de encriptacion, incluyendo un vector indicado en la Formula 2, cuando la variable p(i) es una tupla positiva (t, v^i), usando un vector base bt,i' (i' = 1, ..., 2nt) de la base Bt indicado por la informacion t de identificacion de la tupla positiva, y genera un elemento ci de encriptacion incluyendo un vector indicado en la Formula 3, cuando la variable p(i) es una tupla negativa -(t, v^i), usando un vector base bti (i = 1, ..., 2nt) indicado por la informacion t de identificacion de la tupla negativa, y
una parte de transmision de texto encriptado que transmite al dispositivo de desencriptacion, un texto cts encriptado incluyendo: el elemento ci de encriptacion generado para cada numero entero i = 1, ..., L por la parte de generacion de elemento ci de encriptacion; la variable p(i); y la matriz M, y
5
10
15
20
25
30
35
40
en el que el dispositivo de desencriptacion incluye
una parte de recepcion de clave de desencriptacion que recibe la clave usk de desencriptacion transmitida por la parte de transmision de clave de desencriptacion de al menos un dispositivo de generacion de clave de entre las d unidades de dispositivos de generacion de claves,
una parte de recepcion de datos que recibe el texto cts encriptado transmitido por la parte de transmision de texto encriptado,
una parte de calculo de coeficiente complementary que, en base a la informacion x^t de atributos incluida en la clave usk de desencriptacion recibida por la parte de recepcion de clave de desencriptacion, y la variable p(i) incluida en el texto cts encriptado recibido por la parte de recepcion de datos, especifica, de entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v^i), en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla positiva recibida por la parte de recepcion de clave de desencriptacion, y con la que un producto interno de v^i de la tupla positiva y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla positiva es igual a 0 y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i), en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla negativa recibida por la parte de recepcion de clave de desencriptacion y con la que un producto interno de v^i de la tupla negativa y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla negativa no es igual a 0; y calcula, con respecto a i incluido en el conjunto I especificado, un coeficiente ai complementary con el cual un total de aiMi en base a Mi que es un elemento en una i-esima fila de la matriz M incluida en el texto cts encriptado se convierte en el vector predeterminado, y
una parte de operacion de emparejamiento que calcula una informacion K predeterminada realizando una operacion de emparejamiento indicada en la Formula 4 para el elemento ci de encriptacion incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptacion en base al conjunto I y el coeficiente ai complementary que son calculados por la parte de calculo del coeficiente complementario.
[Formula 1]
nt nt
0----*----w----A----f
((<5+l)x^l, “■ S, 50?
imagen1
[Formula 2]
_
(si + &ivi}l s ®ivi,2 *si 1 *3
imagen2
[Formula 3]
ft,
ft,
( »*"vhni *
imagen3
[Formula 4]
K-- n e(CnK)a‘ ■ n «(ciV
iGl a p(i)=U,vt) iel a vf)
Efectos ventajosos de la invencion
En un sistema de procesamiento criptografico segun la presente invencion, cada uno de entre la pluralidad de dispositivos de generacion de claves genera una parte de una clave de desencriptacion. Por lo tanto, incluso si las seguridades de algunos de los dispositivos de generacion de claves se ven comprometidas, solo se pierde la funcion de una parte de la clave de desencriptacion y no se compromete la seguridad de todo el sistema.
5
10
15
20
25
30
35
Breve descripcion de los dibujos
La Fig. 1 es un dibujo explicativo de multi-autoridad.
La Fig. 2 es un dibujo explicativo de una matriz MA.
La Fig. 3 es un dibujo explicativo de una matriz M5.
La Fig. 4 es un dibujo explicativo de so.
La Fig. 5 es un dibujo explicativo de s^T.
La Fig. 6 es un diagrama de configuracion de un sistema 10 de procesamiento criptografico que ejecuta la encriptacion funcional multi-autoridad descentralizada.
La Fig. 7 es un diagrama de bloques de funciones que muestra una funcion de un dispositivo 100 de generacion de claves.
La Fig. 8 es un diagrama de bloques de funciones que muestra una funcion de un dispositivo 200 de encriptacion.
La Fig. 9 es un diagrama de bloques de funciones que muestra una funcion de un dispositivo 300 de
desencriptacion.
La Fig. 10 es un diagrama de flujo que muestra el procedimiento del algoritmo GSetup.
La Fig. 11 es un diagrama de flujo que muestra el procedimiento del algoritmo ASetup.
La Fig. 12 es un diagrama de flujo que muestra el procedimiento del algoritmo AttrGen.
La Fig. 13 es un diagrama de flujo que muestra el procedimiento del algoritmo Enc.
La Fig. 14 es un diagrama de flujo que muestra el procedimiento del algoritmo Dec.
La Fig. 15 es un diagrama que muestra un ejemplo de la configuracion de hardware del dispositivo 100 de generacion de claves, el dispositivo 200 de encriptacion y el dispositivo de desencriptacion.
Descripcion de realizaciones
A continuacion, se describiran realizaciones de la presente invencion con referencia a los dibujos adjuntos.
En la siguiente descripcion, un dispositivo de procesamiento es, por ejemplo, una CPU 911 (que se describira mas adelante). Un dispositivo de almacenamiento es, por ejemplo, una ROM 913, una RAM 914, o un disco 920 magnetico (cada uno se describira mas adelante). Un dispositivo de comunicacion es, por ejemplo, una placa 915 de comunicacion (que se describira mas adelante). Un dispositivo de entrada es, por ejemplo, un teclado 902 o la placa 915 de comunicacion (cada uno se describira mas adelante). Concretamente, el dispositivo de procesamiento, el dispositivo de almacenamiento, el dispositivo de comunicacion y el dispositivo de entrada son hardware.
Se explicara la notacion en la descripcion siguiente.
Cuando A es una variable o distribucion aleatoria, la Formula 101 denota que y se selecciona aleatoriamente de A segun la distribucion de A. Concretamente, en la Formula 101, y es un numero aleatorio.
[Formula 101]
R
------
A
5
10
15
20
25
30
35
Cuando A es un conjunto, la Formula 102 denota que y se selecciona de manera uniforme de A. Concretamente, en la Formula 102, y es un numero aleatorio uniforme.
[Formula 102]
imagen4
La Formula 103 denota que y es un conjunto, definido o sustituido por z. [Formula 103]
Cuando a es un valor fijo, la Formula 104 denota un evento en el que una maquina (algoritmo) A emite a en la entrada x.
[Formula 104]
La Formula 105, es decir, Fq, denota un campo finito de orden q. [Formula 105]
imagen5
Un slmbolo vectorial denota una representacion vectorial sobre el campo Fq finito. Es decir, se establece la Formula
y z
A(x) —> a
Por ejemplo,
A(x) i
106.
[Formula 106]
X denota
imagen6
La Formula 107 denota el producto interno, indicado por la Formula 109, de dos vectores x^ y v^ indicados en la Formula 108.
[Formula 107]
X * V
[Formula 108]
imagen7
[Formula 109]
imagen8
5
10
15
20
25
30
35
40
Observese que XT denota la transpuesta de la matriz M.
Observese que para las bases B y B* indicadas en la Formula 110, se establece la Formula 111. [Formula 110]
B := (b\.....£>yv),
....b*N)
[Formula 111]
(xh,.,,xN)E
Observese que eWt,j indica un vector base normal mostrado en la Formula 112.
[Formula 112]
j 71 *hy
etj :(0"*0»l,0*"0)eljg‘ forj
En la siguiente descripcion, cuando "nt" se indica como un sublndice o superlndice, nt es nt. De manera similar, cuando "Vt" se indica como un sublndice o superlndice, Vt es Vt. De manera similar, cuando "5i,j" se indica como superlndice, 5i,j es 5i,j.
Cuando "w", que indica un vector, esta asociado a un sublndice o superlndice, "W se adjunta como un superlndice al sublndice o superlndice.
Ademas, xt en una clave uskGid,(t,xt) de desencriptacion representa xt.
En la siguiente descripcion, un procedimiento criptografico incluye un procedimiento de generacion de claves, un procedimiento de encriptacion y un procedimiento de desencriptacion.
Realizacion 1.
Esta realizacion describe un concepto basico para implementar la "encriptacion funcional multi-autoridad descentralizada" y, a continuacion, describe la estructura de la encriptacion funcional multi-autoridad descentralizada.
En primer lugar, se describira brevemente la encriptacion funcional multi-autoridad descentralizada: se describira la encriptacion funcional y, a continuacion, se describira la multi-autoridad descentralizada.
En segundo lugar, se describira un espacio que tiene una rica estructura matematica denominado "espacios vectoriales de doble emparejamiento (DPVS, Dual Pairing Vector Spaces)" que es un espacio para implementar la encriptacion funcional.
En tercer lugar, se describira un concepto para implementar la encriptacion funcional. Aqul se describira el "programa span", "el producto interno de los vectores de atributo y una estructura de acceso" y "la distribucion secreta (intercambio secreto)".
En cuarto lugar, se describira la "encriptacion funcional multi-autoridad descentralizada" segun esta realizacion. Inicialmente, se describira la estructura basica de la “encriptacion funcional multi-autoridad descentralizada". Posteriormente, se describira la estructura basica de un "sistema 10 de procesamiento criptografico" que implementa la “encriptacion funcional multi-autoridad descentralizada". A continuacion, se describiran en detalle la “encriptacion funcional multi-autoridad descentralizada" y un "sistema 10 de procesamiento criptografico" segun esta realizacion.
5
10
15
20
25
30
35
40
45
<1. Encriptacion funcional multi-autoridad descentralizada>
<1-1. Encriptacion funcional>
La encriptacion funcional es una nocion avanzada (detallada) de encriptacion de clave publica que cubre a encriptacion basada en ID (encriptacion basada en identidad, Identity-Based Encryption, IBE) (veanse las Literaturas distintas de las de patentes 3, 4, 6, 14 y 17), encriptacion de vector oculto (vease la Literatura distinta de la de patentes 9), encriptacion de predicado (vease la Literatura distinta de la de patentes 22) y encriptacion basada en atributo (ABE, vease las Literaturas distintas de las de patentes, 2, 20 y 32-34) como casos especiales.
Una clave de desencriptacion, skv (clave secreta), en la encriptacion funcional se asocia con un parametro, ^, y un mensaje m es encriptado a un texto encriptado Enc(m, pk, y) usando una clave pk publica junto con un parametro y que es diferente del parametro ^. La clave skv de desencriptacion puede desencriptar un texto encriptado Enc(m, pk, y) si y solo si se cumple una relacion R(^, y).
La encriptacion funcional requiere un grupo de confianza denominado una autoridad. La autoridad genera una clave pk publica y una clave msk secreta maestra. La clave pk publica es distribuida como un parametro del sistema. La clave secreta maestra es usada para generar la clave skv de desencriptacion de un usuario que esta asociado con el parametro del usuario, ^.
En el caso de encriptacion basada en ID, el parametro ^ es el ID del usuario y la relacion R es la igualdad, es decir, la relacion R(^, y) se cumple si y solo si ^ = y.
En una encriptacion basada en atributos CP (Ciphertext-Policy, polltica de acceso por texto encriptado) para una estructura de acceso general, un parametro ^ es una tupla (x1, ... , xi) de atributos de usuario, y una relacion R(-, y) es una estructura de acceso general. Mas precisamente, la relacion R(-, y) se expresa mediante (MA, (v1, ..., vi)), y las relaciones de igualdad entre componentes para componentes de atributo, es decir, {xt = vt} t£{1,...,i>, se introducen en un programa (monotono) MA, y la relacion R(^, y) se cumple si y solo si el vector de valor verdadero de (T(x1 = v1), ..., T (xi = vi) es aceptado por el programa span MA, donde T(^) := 1 si ^ es verdadero, y T(^) := 0 si ^ es falso. Por ejemplo, T (x = v) := 1 si x = v, y T(x = v) := 0 si x t v.
Aunque la encriptacion funcional tiene muchas aplicaciones, un gran problema en la nocion es que la seguridad de todo el sistema depende de una sola parte. En otras palabras, si la autoridad esta corrompida o la clave secreta maestra esta comprometida, el sistema dejara de funcionar.
<1-2. Multi-Autoridad descentralizada>
Inicialmente, se explicara la "multi-autoridad". Multi-autoridad significa la presencia de una pluralidad de autoridades que generan la clave de desencriptacion del usuario.
Tal como se ha descrito anteriormente, en una encriptacion funcional ordinaria, la seguridad de todo el sistema depende de una parte determinada (autoridad). Con el esquema multi-autoridad, sin embargo, incluso si la seguridad de alguna autoridad esta danada o la clave secreta (clave maestra) de alguna autoridad esta comprometida, solo parte del sistema deja de funcionar y la parte restante del sistema puede funcionar normalmente.
La Fig. 1 es un dibujo explicativo de la multi-autoridad.
En la Fig. 1, una oficina publica gestiona atributos tales como la direccion, el numero de telefono y la edad. La policla gestiona atributos tales como el tipo de licencia de conducir. Una empresa A gestiona atributos tales como la posicion en la empresa A y el departamento de pertenencia en la empresa A. Una clave 1 de desencriptacion asociada con los atributos gestionados por la oficina publica es emitida por la oficina publica. Una clave 2 de desencriptacion asociada con los atributos gestionados por la policla es emitida por la policla. Una clave 3 de desencriptacion asociada con los atributos gestionados por la empresa A es emitida por la empresa A.
El desencriptador que desencripta un texto encriptado desencripta el texto encriptado usando una clave de desencriptacion formada por la union de las claves 1, 2 y 3 de desencriptacion emitidas por las autoridades respectivas tales como la oficina publica, la policla y la empresa A. Concretamente, desde el punto de vista del
5
10
15
20
25
30
35
40
desencriptador, una clave de desencriptacion formada mediante la union de las claves de desencriptacion emitidas por las respectivas autoridades es la unica clave de desencriptacion emitida al mismo.
Por ejemplo, en un caso en el que la clave maestra de la empresa A esta comprometida, aunque el sistema de procesamiento criptografico no funcione con respecto a los atributos de la empresa A, funciona con respecto a los atributos gestionados por las otras autoridades. Concretamente, aunque con respecto a los atributos gestionados por la empresa A existe un riesgo de desencriptacion por un usuario que tiene atributos distintos de los atributos especificados, con respecto a los atributos distintos de los gestionados por la empresa A, la desencriptacion es posible unicamente por un usuario que tiene los atributos especificados.
Tal como se observa en el ejemplo de la Fig. 1, segun la encriptacion funcional, es normal que una pluralidad de autoridades esten presentes y que cada autoridad gestione una cierta categorla (subespacio) o rango de definicion en los atributos y emita (una parte de) una clave de desencriptacion con respecto al atributo del usuario en esta categorla.
Se explicara la nocion "descentralizada". “Descentralizada” significa que cualquier parte puede servir como una autoridad y puede emitir (una parte de) la clave de desencriptacion sin interactuar con las otras partes, y que cada usuario puede adquirir (una parte de) la clave de desencriptacion sin interactuar con las otras partes.
Por ejemplo, si existe una autoridad central, el sistema no es descentralizado. Una autoridad central es una autoridad superior a las demas autoridades. Si la seguridad de la autoridad central esta corrompida, la seguridad de cada autoridad estara corrompida.
<2. Espacios vectoriales de doble emparejamiento>
En primer lugar, se describiran grupos de emparejamientos bilineales simetricos.
Los grupos de emparejamientos bilineales simetricos (q, G, GT, G, e) son una tupla de un numero primo q, un grupo aditivo clclico G de orden q, un grupo multiplicativo clclico GT de orden q, g t 0 £ G, y un emparejamiento bilineal no degenerado calculable en tiempo polinomial e: G x G ^ Gt. El emparejamiento bilineal no degenerado significa e (sg, tg) = e(g, g)st, y e(g, g) t 1.
En la siguiente descripcion, supongase que la Formula 113 es un algoritmo que toma como entrada 1A y emite los valores de un parametro paramG := (q, G, GT, G, e) de grupos de emparejamiento bilineales con un parametro A de seguridad.
[Formula 113]
£bpg
Ahora se describiran espacios vectoriales de doble emparejamiento.
Los espacios vectoriales de doble emparejamiento (q, V, Gt, A, e) pueden estar constituidos por un producto directo de grupos de emparejamientos bilineales simetricos (paramG := (q, G, GT, G, e)). Los espacios vectoriales de doble emparejamiento (q, V, Gt, A, e) son una tupla de un numero primo q, un espacio V vectorial N-dimensional sobre Fq indicado en la Formula 114, un grupo GT clclico de orden q, y una base canonica A := (a1, ..., aN) del espacio V, y tienen las siguientes operaciones (1) y (2) donde ai es tal como se indica en la Formula 115.
[Formula 114]
N
---------*--.
V G x * ■ * x G
[Formula 115]
5
10
15
20
25
30
35
imagen9
Operacion (1): Emparejamiento bilineal no degenerado El emparejamiento en el espacio V esta definido por la Formula 116. [Formula 116]
en la que
(Gi,...,Gn):=}ieV,
(Hh...,IIN)--yeV
Esto es bilineal no degenerado, es decir, e(sx, ty) = e(s, y)st y si e(x, y) = 1 para todo y £ V, entonces x = 0. Para todo i y j, e(ai, aj) = e(g, g)5i,j en la que 5i,j = 1 si i = j, y 5i,j = 0 si i t j. Ademas, e(g, g) t 1 £ Gj.
Operacion (2): Mapas de distorsion
Una transformacion lineal Oi,j en el espacio V indicado en la Formula 117 puede conseguir la Formula 118.
[Formula 117]
&M=ai
si k st j entonces y03&) = 0 [Formula 118]
imagen10
Observese que
La transformacion lineal Oi,j se denominara mapas de distorsion.
En la siguiente descripcion, supongase que la Formula 119 es un algoritmo que toma como entrada, 1A (A £ numeros naturales), N £ numeros naturales, y los valores del parametro paramG := (q, G, Gj, G, e) de grupos de emparejamiento bilineales, y emite los valores de un parametro paramv := (q, V, Gj, A, e) de los espacios vectoriales de doble emparejamiento que tienen un parametro A de seguridad y que forman un espacio V N- dimensional.
[Formula 119]
Sdpvs
imagen11
Se describira un caso en el que los espacios vectoriales de doble emparejamiento se construyen a partir de los grupos de emparejamientos bilineales simetricos descritos anteriormente. Tambien pueden construirse espacios
5
10
15
20
25
30
35
40
vectoriales de doble emparejamiento a partir de grupos de emparejamiento bilineales asimetricos. La siguiente descripcion puede aplicarse facilmente a un caso en el que los espacios vectoriales de doble emparejamiento se construyen a partir de grupos de emparejamiento bilineales asimetricos.
<3. Concepto para implementar la encriptacion funcional>
<3-1. Programa Span>
La Fig. 2 es un dibujo explicativo de una matriz MA.
Supongase que {p1, ..., pn} es un conjunto de variables. MA := (M, p) es una matriz etiquetada donde la matriz M es una matriz (L filas x r columnas) sobre Fq, y p es una etiqueta de cada fila de la matriz M y esta relacionada con uno de los literales { p1, ..., pn -p1, ..., -pn}. Una etiqueta pi (i = 1, ..., L) de cada fila de M esta relacionado con uno de los literales, concretamente, p: {1, ..., L} ^ {p1, ..., pn -p1, ..., -pn}.
Para cada secuencia de entrada 5 £ {0, 1}n, se define una submatriz Ms de la matriz M. La matriz Ms es una submatriz que consiste en aquellas filas de la matriz M, cuyas etiquetas p estan relacionadas con el valor "1" por la secuencia 5 de entrada. Concretamente, la matriz Ms es una submatriz que consiste en las filas de la matriz M que estan relacionadas con pi con el que 5i = 1 y las filas de la matriz M que estan relacionadas con -pi con el que 5i = 0.
La Fig. 3 es un dibujo explicativo de la matriz Ms. Observese que en la Fig. 3, n = 7, L = 6 y r = 5. Es decir, el conjunto de variables es {p1, ..., p7}, y la matriz M es una matriz (6 filas x 5 columnas). En la Fig. 3, supongase que las etiquetas p estan relacionadas de manera que p1 corresponde a -p2, p2 a p1, p3 a p4, p4 a -p5, p5 a -p3 y p6 a
-p5.
Supongase que en una secuencia de entrada 5 £ {0,1}7, 51 = 1, 52 = 0, 53 = 1, 54 = 0, 55 = 0, 56 = 1 y 57 = 1. En este caso, una submatriz que consiste en las filas de la matriz M que estan relacionadas con los literales (p1, p3, p6, -p2, -p4, -p5) rodeada de llneas discontinuas es la matriz M5. Es decir, la submatriz que consiste en la primera fila (M1), la 2a fila (M2) y la cuarta fila (M4) de la matriz M es la matriz M5.
En otras palabras, cuando el mapa y: {1, ..., L} ^ {0, 1} es [p(j) = pi] A [5i = 1] o [p(j) = -pi] A [5i = 0], entonces Y(j) = 1; De lo contrario Y(j) = 0. En este caso, M5 := (Mj)Y(j)=1. Observese que Mj es la j-esima fila de la matriz M.
Es decir, en la Fig. 3, el mapa Y(j) = 1 (j = 1, 2, 4), y el mapa Y(j) = 0 (j = 3, 5, 6). Por lo tanto, (Mj)Y(j)=1 Es M1, M2 y M4, y la matriz M5.
Mas especlficamente, la inclusion o no de la j-esima fila de la matriz M en la matriz M5 se determina en funcion de si el valor del mapa Y(j) es "0" o "1".
El programa span MA acepta una secuencia de entrada 5 si y solo si 1^ £ span <Ms>, y de lo contrario rechaza la secuencia de entrada 5. Concretamente, el programa span MA acepta la secuencia de entrada 5 si y solo si la combinacion lineal de las filas de la matriz M5 que se obtienen a partir de la matriz MA por la secuencia de entrada 5 da 1^. 1^ es un vector de fila que tiene el valor "1" en cada elemento.
Por ejemplo, en la Fig. 3, el programa span MA acepta la secuencia de entrada 5 si y solo si la combinacion lineal de las filas respectivas de la matriz M5 que consisten en las filas 1a, 2a y 4a de la matriz M da 1^. Es decir, si existen a1, a2, y a4 con los que a1(M1)+ a2(M2)+ (a4(M4) = 1^, el programa span MA acepta la secuencia de entrada 5.
El programa span se denomina monotono si sus etiquetas p estan relacionadas solo con literales positivos {p1, ..., pn}. El programa span se denomina no monotono si sus etiquetas p estan relacionadas con los literales {p1, ...,pn, -p1, ..., -pn}. Supongase que el programa span es no monotono. Se constituye una estructura de acceso (estructura de acceso no monotona) usando el programa span no monotono. En pocas palabras, una estructura de acceso controla el acceso a la encriptacion, es decir, controla si un texto encriptado debe ser desencriptado o no.
Debido a que el programa span no es monotono sino no monotono, tal como se describira mas adelante en detalle, se amplla la aplicacion del esquema de encriptacion funcional constituido usando el programa span.
Observese que en la matriz M, Mi 1 0^ para cada numero entero i = 1, L donde Mi es la i-esima fila de la matriz M.
<3-2. Producto Interno de los vectores de atributos y la estructura de acceso>
El mapa Y(j) descrito anteriormente se calculara utilizando el producto interno de los vectores de atributo. 5 Concretamente, la determinacion de que fila de la matriz M debe incluirse en la matriz MB se realizara usando el producto interno de los vectores de atributo.
Ut (t = 1, ..., d y Ut c {0, 1}*) es un sub-universo y un conjunto de atributos. Cada Ut incluye informacion (t) de identification del sub-universo y un vector (v^) nt-dimensional. Concretamente, Ut es (t, v^) donde t £ {1, ..., d} y v^
£ F nt
£ Fq .
10 Supongase que Ut := (t, v^) es una variable p del programa span MA := (M, p), es decir, p:= (t, v^). Supongase que el programa span MA:= (M, p) que tiene la variable (p := (t, v^), (t', v'^), ...) es una estructura de acceso S.
Es decir, la estructura de acceso S := (M, p) y p: {1, ..., L} ^ {(t, v^), (t', v1^), -(t, v^), -(t', v'^), ...}.
Supongase que r es un conjunto de atributos, es decir, r := {(t, x^t) | x^t £ Fqnt, 1 < t < d}.
Cuando se proporciona r a la estructura de acceso S, el mapa y: {1, ..., L} ^ {0, 1} para el programa span MA := (M, 15 p) se define como sigue. Para cada numero entero i = 1, ..., L, se establece Y(i) = 1 si [p(i) = (t, v^i)] a [(t, x^t) £ r] a
[v^i x^t = 0] o [p(i) = -(t, v^)] a [(t, x^t) t r] a [v^i x^t 1 0]. Establezca Y(i) = 0 en caso contrario.
Concretamente, el mapa y se calcula en base al producto interno de los vectores de atributos v^ y x^. Tal como se ha descrito anteriormente, la decision de que fila de la matriz M debe incluirse en la matriz Ms esta determinada por el mapa y. Mas especlficamente, la decision de que fila de la matriz M debe incluirse en la matriz Ms esta 20 determinada por el producto interno de los vectores de atributos v^ y x^. La estructura de acceso S := (M, p) acepta
r si y solo si 1^ £ span <(Mi)Y(i)=1 >.
<3-3. Esquema de distribution secreto>
Se describira un esquema de distribucion secreto para la estructura de acceso S := (M, p).
El esquema de distribucion secreto esta distribuyendo informacion secreta para hacer que sea una informacion 25 distribuida sin sentido. Por ejemplo, se permite que la informacion s secreta sea distribuida entre 10 partes para generar 10 piezas de informacion distribuida. Cada una de las 10 piezas de informacion distribuida no tiene informacion acerca de la informacion s secreta. Por lo tanto, incluso si se obtiene una determinada informacion distribuida, no puede obtenerse informacion acerca de la informacion s secreta. Por otro lado, si se obtienen todas las 10 piezas de informacion distribuida, puede recuperarse la informacion s secreta.
30 Tambien esta disponible otro esquema de distribucion secreto segun el cual incluso cuando no pueden obtenerse la
totalidad de las 10 piezas de informacion distribuida, si pueden obtenerse una o mas piezas, pero no todas (por ejemplo, 8 piezas), de informacion distribuida, entonces la informacion s secreta puede ser recuperada. Un caso como este en el que la informacion s secreta puede ser recuperada usando 8 piezas de entre 10 piezas de informacion distribuida se denominara 8-de-10. Es decir, un caso en el que la informacion s secreta puede ser 35 recuperada usando t piezas de entre n piezas de informacion distribuida se denominara t-de-n. Este t se denominara un umbral.
Todavla esta disponible otro esquema de distribucion secreto segun el cual cuando se generan 10 piezas de informacion d1, d1o distribuida, la informacion s secreta puede ser recuperada si se proporcionan las 8 piezas de informacion distribuida d1, d8, pero no puede ser recuperada si se proporcionan las 8 piezas de informacion 40 distribuida d3, d10. Concretamente, este es un esquema de distribucion secreto con el que se controla si la informacion s secreta puede ser recuperada o no, no solo por el numero de piezas de informacion distribuida obtenidas, sino tambien en funcion de la combination de la informacion distribuida.
La Fig. 4 es un dibujo explicativo de s0. La Fig. 5 es un dibujo explicativo de S^T.
Sea una matriz M una matriz (L filas x r columnas). Sea f^ un vector columna indicado en la Formula 120.
5
10
15
20
25
30
35
40
45
[Formula 120]
f1 ~(fh-fr)T
Sea S0 indicado en la Formula 121 una informacion s secreta a ser compartida.
[Formula 121]
i0:=l/T-2i=lA
Sea s^T indicado en la Formula 122 un vector de L piezas de informacion distribuida de S0.
[Formula 122]
-T —T
s :=(si,."SL)t \-M' f
Supongase que la informacion si distribuida pertenecen a p(i).
Si la estructura de acceso S := (M, p) acepta r, es decir, 1^ £ span <(Mi)V(i)=1> para y: {1, ..., L} ^ {0. 1}, entonces existen constantes {ai £ Fq| i £ I} tal que I c {i £ {1, ..., L} | y(i) = 1}.
Esto es obvio a partir de la explicacion de la Fig. 3 en el sentido de que si existe a1, a2 y a4 con los que a1(M1)+ a2(M2)+ (a4(M4) = 1^, el programa span MA acepta la secuencia de entrada 5. Es decir, si el programa span MA acepta la secuencia de entrada 5 cuando existe a1, a2 y a4 con los cuales a1(M1)+ a2(M2)+ (a4(M4) = 1^, entonces existen a1, a2 y a4 con los cuales a1(M1)+ a2(M2)+ (a4(M4) = 1^.
Observese la Formula 123.
[Formula 123]
S ielaisi := ^0
Observese que las constantes {ai} puede ser calculadas en tiempo polinomial en el tamano de la matriz M.
Con el esquema de encriptacion funcional segun esta y las siguientes realizaciones, se construye una estructura de acceso aplicando el predicado de producto interno y el esquema de distribucion secreto al programa span, tal como se ha descrito anteriormente. Por lo tanto, el control de acceso puede ser disenado de manera flexible disenando la matriz M en el programa span y la informacion x de atributos y la informacion v de atributos (informacion de predicado) en el predicado de producto interno. Concretamente, el control de acceso puede ser disenado de manera muy flexible. El diseno de la matriz M corresponde a condiciones de diseno tales como el umbral del esquema de distribucion secreto.
Por ejemplo, el esquema de encriptacion basado en atributos corresponde a un caso, en la estructura de acceso en el esquema de encriptacion funcional segun esta realizacion, en el que el diseno del predicado del producto interno esta limitado a cierta condicion. Es decir, cuando se compara con la estructura de acceso en el esquema de encriptacion funcional segun esta realizacion, la estructura de acceso en el esquema de encriptacion basado en atributos tiene una menor flexibilidad en diseno de control de acceso ya que carece de flexibilidad en el diseno de la informacion x de atributos y la informacion v de atributo (informacion de predicado) en el predicado de producto interno. Mas especlficamente, el esquema de encriptacion basado en atributos corresponde a un caso en el que la informacion de atributo {x^t}t£{1,...,d> y {v^t}t£{1,...,d> estan limitadas a vectores bidimensionales para la relacion de igualdad, por ejemplo, x^t := (1, xt) y v^t := Vt, -1).
En particular, la estructura de acceso en el esquema de encriptacion funcional segun esta y las realizaciones siguientes constituye una estructura de acceso no monotona que usa un programa span no monotono. De esta manera, mejora la flexibilidad en el diseno de control de acceso.
Mas especlficamente, debido a que el programa span no monotono incluye un literal negativo (-p), puede establecerse una condicion negativa. Por ejemplo, supongase que la primera empresa incluye cuatro departamentos de A, B, C y D. Supongase que debe realizarse un control de acceso de manera que solo los
5
10
15
20
25
30
35
40
usuarios pertenecientes a departamentos distintos del departamento B de la primera empresa puedan acceder (tienen capacidad de desencriptacion). En este caso, si no puede establecerse una condicion negativa, debe establecerse una condicion de que "el usuario pertenece a uno cualquiera de los departamentos A, C y D de la primera empresa"'. Por otro lado, si puede establecerse una condicion negativa, puede establecerse una condicion de que "el usuario sea un empleado de la primera empresa y pertenezca a un departamento que no sea el departamento B". Concretamente, debido a que puede establecerse una condicion negativa, es posible establecer una condicion natural. Aunque el numero de departamentos es pequeno en este caso, este esquema es muy efectivo en un caso donde el numero de departamentos es grande.
<4. Estructura basica de la encriptacion funcional multi-autoridad descentralizada>
<4-1. Estructura Basica de la encriptacion funcional multi-autoridad descentralizada>
Se describira brevemente la estructura de una encriptacion funcional multi-autoridad descentralizada.
El esquema de encriptacion funcional multi-autoridad descentralizada consiste en cinco algoritmos: GSetup, ASetup, AttrGen, Enc y Dec.
(GSetup)
Un algoritmo GSetup es un algoritmo aleatorio que toma como entrada un parametro A de seguridad y genera un parametro gparam publico global. El algoritmo GSetup es ejecutado por una parte determinada. El parametro gparam publico global se publica.
(ASetup)
Un algoritmo ASetup es un algoritmo aleatorio que toma como entrada el parametro gparam publico global, la informacion t de identificacion de autoridad y un formato n^ de atributo, y genera una clave apkt publica de autoridad y una clave askt secreta de autoridad. El algoritmo ASetup es ejecutado por una autoridad t que tiene como informacion de identificacion al menos un t que satisface 1 < t < d. La clave apkt publica de autoridad se divulga, y la clave askt secreta de autoridad la posee la autoridad t.
(AttrGen)
Un algoritmo AttrGen es un algoritmo aleatorio que toma como entrada el parametro gparam publico global, la informacion t de identificacion de autoridad, la clave askt secreta de autoridad, informacion gid de identificacion del usuario y un atributo x^t := (xti) (i = 1, ..., nt) £ Fq, y emite una clave uskgid(t,xt) de desencriptacion. El algoritmo AttrGen es ejecutado por la autoridad t cuando la autoridad t genera una clave de desencriptacion relacionada con el atributo x^t, al usuario indicado por la informacion gid de identificacion. La autoridad t proporciona la clave uskgid(txt) de desencriptacion al usuario indicado por la informacion gid de identificacion.
(Enc)
Un algoritmo Enc es un algoritmo aleatorio que toma como entrada el parametro gparam publico global, la clave apkt publica de autoridad, un mensaje m £ Gt y una estructura de acceso S, y emite un texto cts encriptado. El algoritmo Enc es ejecutado por un usuario que genera el texto cts encriptado.
(Dec)
Un algoritmo Dec es un algoritmo que toma como entrada el parametro gparam publico global, el parametro apkt publico de autoridad, la clave uskgid(txt) de desencriptacion y el texto cts encriptado, y emite el mensaje m o slmbolo l distinguido. El algoritmo Dec es ejecutado por un usuario que desencripta el texto cts encriptado.
<4-2 Sistema de procesamiento criptografico 10>
Se describira el sistema 10 de procesamiento criptografico que ejecuta los algoritmos de la encriptacion funcional multi-autoridad descentralizada descrita anteriormente.
La Fig. 6 es un diagrama de configuracion del sistema 10 de procesamiento criptografico que ejecuta la encriptacion funcional multi-autoridad descentralizada.
5
10
15
20
25
30
35
40
45
Un (unico) dispositivo de generacion de claves 100 ejecuta el algoritmo GSetup tomando como entrada el parametro A de seguridad, y genera el parametro gparam publico global. Este dispositivo 100 de generacion de claves publica el parametro gparam publico global generado.
Cada dispositivo 100 de generacion de claves ejecuta el algoritmo ASetup tomando como entrada el parametro gparam publico global, la informacion t de identificacion asignada a este dispositivo 100 de generacion de claves y el formato n^ de atributo, y genera la clave apkt publica de autoridad y la clave askt secreta de autoridad. Cada dispositivo 100 de generacion de claves ejecuta el algoritmo AttrGen tomando como entrada global el parametro publico gparam, la informacion t de identificacion asignada a este dispositivo 100 de generacion de claves, la clave askt secreta de autoridad, la informacion gid de identificacion del usuario y el atributo x^t := (xt,i) (i = 1, ..., nt) e Fq, y genera la clave uskgid(txt) de desencriptacion y la distribuye al dispositivo 300 de desencriptacion en secreto.
El dispositivo 200 de encriptacion ejecuta el algoritmo Enc tomando como entrada el parametro gparam publico global, la clave apkt publica de autoridad, el mensaje m e GT, y la estructura de acceso S, y genera el texto cts encriptado. El dispositivo 200 de encriptacion transmite el texto cts encriptado generado al dispositivo 300 de desencriptacion.
El dispositivo 300 de desencriptacion ejecuta el algoritmo Dec tomando como entrada el parametro gparam publico global, la clave apkt publica de autoridad, la clave uskgid(t,xt) de desencriptacion y el texto cts encriptado, y emite el mensaje m o slmbolo ± distinguido.
<4-3. Encriptacion funcional multi-autoridad descentralizada y sistema 10 de procesamiento criptografico en detalle>
La encriptacion funcional multi-autoridad descentralizada segun la Realizacion 1, y la funcion y operacion del sistema 10 de procesamiento criptografico que ejecuta la encriptacion funcional multi-autoridad descentralizada se describiran con referencia a las Figs. 7 a 14.
La Fig. 7 es un diagrama de bloques de funciones que muestra la funcion del dispositivo 100 de generacion de claves. La Fig. 8 es un diagrama de bloques de funciones que muestra la funcion del dispositivo 200 de encriptacion. La Fig. 9 es un diagrama de bloques de funciones que muestra la funcion del dispositivo 300 de desencriptacion.
Las Figs. 10 a 12 son diagramas de flujo que muestran la operacion del dispositivo 100 de generacion de claves. Observese que la Fig. 10 es un diagrama de flujo que muestra el procedimiento del algoritmo GSetup, que la Fig. 11 es un diagrama de flujo que muestra el procedimiento del algoritmo ASetup, y que la Fig. 12 es un diagrama de flujo que muestra el procedimiento del algoritmo AttrGen. La Fig. 13 es un diagrama de flujo que muestra la operacion del dispositivo 200 de encriptacion y el procedimiento del algoritmo Enc. La Fig. 14 es un diagrama de flujo que muestra la operacion del dispositivo 300 de desencriptacion y el procedimiento del algoritmo Dec.
Se describira la funcion y la operacion del dispositivo 100 de generacion de claves.
Tal como se muestra en la Fig. 7, el dispositivo 100 de generacion de claves esta provisto de una parte 110 de generacion de clave maestra, una parte 120 de almacenamiento de clave maestra, una parte 130 de entrada de informacion (primera parte de entrada de informacion), una parte 140 de generacion de clave de desencriptacion y una parte 150 de distribucion de claves (parte de transmision de clave de desencriptacion).
La parte 110 de generacion de clave maestra esta provista de una parte 111 de generacion de parametros globales y de una parte 112 de generacion de clave secreta de autoridad. La parte 140 de generacion de clave de desencriptacion esta provista de una parte 141 de generacion de numeros aleatorios y de una parte 145 de generacion de elemento de clave.
El procedimiento del algoritmo GSetup ejecutado por el dispositivo 100 de generacion de claves se describira en primer lugar con referencia a la Fig. 10. Tal como se ha descrito anteriormente, el algoritmo GSetup puede ser ejecutado por un dispositivo 100 de generacion de claves de entre la pluralidad de dispositivos 100 de generacion de claves.
(S101: Etapa de entrada de parametros de seguridad)
Con el dispositivo de entrada, la parte 111 de generacion de parametros globales toma como entrada un parametro A de seguridad (1A).
5
10
15
20
25
30
35
40
Con el dispositivo de procesamiento, la parte 111 de generacion de parametros globales ejecuta el algoritmo Gbpg tomando como entrada el parametro A de seguridad (1A) introducido en S101, y genera aleatoriamente los valores de un parametro paramG := (q, G, GT, g, e) del grupo de emparejamiento bilineal.
(S103: Etapa de generacion de parametros)
Una funcion hash H se determina como una funcion hash indicada en la Formula 124.
[Formula 124]
H: {0,1}* -> G
Con el dispositivo de procesamiento, la parte 111 de generacion de parametros globales genera los elementos G0 y G1 del parametro gparam global indicado en la Formula 125.
[Formula 125]
G0 :=H(0A)eG,
G, := iYCl^eG
La parte 111 de generacion de parametros globales establece tambien gT := e(Go, G1).
S104: Etapa de almacenamiento de parametros)
La parte 120 de almacenamiento de la clave maestra almacena el paramG generado en (S102), y la funcion hash H, los elementos G0, G1, y el valor gT que se establecen en (S103), como el parametro gparam global en el dispositivo de almacenamiento.
En resumen, de (S101) a (S103), el dispositivo 100 de generacion de claves genera el parametro gparam global ejecutando el algoritmo GSetup indicado en la Formula 126. A continuacion, en (S104), el dispositivo 100 de generacion de claves almacena el parametro gparam global publico generado, en el dispositivo de almacenamiento.
Observese que el parametro gparam global es publicado a traves, por ejemplo, de una red, de manera que otros dispositivos 100 de generacion de claves, el dispositivo 200 de encriptacion y el dispositivo 300 de desencriptacion puedan adquirirlo.
[Formula 126]
GSetup(l^): paramG := (<?,G,Gr,g,e)<-^-Sbpg(l''),
Gb:=ff(0^)eG, Gj s=fl(l*)eG, gfe(Ga, G,), devuelve gparam := (pa ramiq,Sri
El procedimiento del algoritmo ASetup ejecutado por el dispositivo 100 de generacion de claves se describira con referencia a la Fig. 11. Tal como se ha descrito anteriormente, el algoritmo ASetup puede ser ejecutado por todos los dispositivos 100 de generacion de claves, o por solo algunos de entre la pluralidad de dispositivos 100 de generacion de claves.
(S201: Etapa de entrada de informacion)
Con el dispositivo de entrada, la parte 130 de entrada de informacion toma como entrada la informacion t de identificacion asignada a si misma (su dispositivo 100 de generacion de claves). Observese que se asignan diferentes informaciones t de identificacion a los dispositivos 100 de generacion de claves respectivos.
Por ejemplo, con el dispositivo de comunicacion, la parte 130 de entrada de informacion adquiere el parametro gparam global a traves de la red. Si esta parte 130 de entrada de informacion pertenece al dispositivo 100 de generacion de claves que ha generado el parametro gparam global, la parte 130 de entrada de informacion puede leer el parametro gparam global a partir de la parte 120 de generacion de clave maestra.
5
10
15
20
25
30
35
Con el dispositivo de procesamiento, la parte 112 de generacion de clave secreta de autoridad ejecuta el algoritmo Gdpvs tomando como entrada el parametro A de seguridad (1A), Nt = 2nt+ut+wt+zt, y los valores de paramG := (q, G, Gt, g, e), para generar los valores de un parametro paramVt := (q, Vt, GT, At, e) de los espacios vectoriales de doble emparejamiento.
Observese que nt, ut, wt y zt son cada uno un numero entero de 1 o mas.
(S203) Etapa de generacion de base U)
Con el dispositivo de procesamiento, la parte 112 de generacion de clave secreta de autoridad genera una base Uj para cada numero entero j = 0, 1, tal como se indica en la Formula 127.
[Formula 127]
imagen12
donde Uj j :=(0,...,0JG;J0,...J0) para J = 0,1; i -l9,..3Nt
(S204: Etapa de generacion de transformacion lineal)
Con el dispositivo de procesamiento, la parte 112 de generacion de clave secreta de autoridad toma como entrada Nt y Fq, y genera una transformacion lineal Xt := (Xt,i,j)i,j aleatoriamente, tal como se indica en la Formula 128.
[Formula 128]
xt<r^— GL{Nt,Wq)
Observese que GL significa General Lineal. Concretamente, GL es un grupo lineal general, un conjunto de matrices cuadradas en las que el determinante no es 0, y un grupo con respecto a la multiplicacion. Observese que (xt,i,j)i,j significa una matriz relativa a los sufijos i y j de la matriz Xt,i,j donde i, j = 1, ..., Nt.
(S605: Etapa de generacion de base B)
Con el dispositivo de procesamiento, la parte 112 de generacion de clave secreta de autoridad genera una base Bt y una base B*t, tal como se indica en la Formula 129.
[Formula 129]
(S206: Etapa de generacion de Base BA)
Con el dispositivo de procesamiento, la parte 112 de generacion de clave secreta de autoridad genera una subbase BAt de la base Bt y una sub-base BA*t de la base B*t tal como se indica en la Formula 130.
[Formula 130]
,1},2nf +u(4 wt +1»■"»^t,2nt +wr + wt +zt )>
*b*2nt+ut+i>'-’btlK'+U'+W')
5
10
15
20
25
30
35
40
La parte 120 de almacenamiento de la clave maestra almacena el parametro paramVt generado en (S202), y la subbase BAt generada en (S206), en el dispositivo de almacenamiento como una clave apkt publica de autoridad. La parte 120 de almacenamiento de la clave maestra almacena tambien la transformacion Xt lineal generada en (S204), en el dispositivo de almacenamiento como la clave askt secreta de autoridad.
Brevemente, de (S201) a (S206), el dispositivo 100 de generacion de claves genera el parametro apkt publico de autoridad y la clave askt secreta de autoridad ejecutando el algoritmo ASetup indicado en la Formula 131. A continuacion, en (S207), el dispositivo 100 de generacion de claves almacena el parametro apkt publico de autoridad generado y la clave askt secreta de autoridad, en el dispositivo de almacenamiento.
Observese que parametro apkt publico de autoridad es divulgado, por ejemplo, a traves de una red, de manera que el dispositivo 200 de encriptacion y el dispositivo 300 de desencriptacion puedan adquirirlo.
[Formula 131]
ASetup(g param,/, nt, ut ,whzt):
Nr2H[ +uc + zt)
paramY/ ,Gr,At>e) s(KN,,paramG),
Vj:=(ujjh...,Uj N ), donde ujj para; = 0,1;
GUN'.F^), (Bj.B?),■= (X,CU0),(^)-' C1J,)),
nr\-uf+w,+11 ■ -, ■t2n, +ut+)-
% '■= C^i J—$t2nt $,2n, +u,+l ^
askf := X(t apk; := (paramv^ devuefve {ask^apkj.
El procedimiento del algoritmo AttrGen ejecutado por el dispositivo 100 de generacion de claves se describira con referencia a la Fig. 12. Observese que, tal como se ha descrito anteriormente, el algoritmo AttrGen es ejecutado por el dispositivo 100 de generacion de claves, de entre la pluralidad de dispositivos 100 de generacion de claves, que ha ejecutado el algoritmo ASetup.
(S301: Etapa de entrada de informacion)
Con el dispositivo de entrada, la parte 130 de entrada de informacion toma como entrada la informacion t de identificacion asignada a si misma (su dispositivo 100 de generacion de claves), la informacion gid de identificacion del usuario al que se va a emitir la clave de desencriptacion, y la informacion de atributo x^t := (xt,i) (i = 1, ..., nt) indicada en la Formula 132.
Por ejemplo, con el dispositivo de comunicacion, la parte 130 de entrada de informacion adquiere tambien el parametro gparam global a traves de la red. Si esta parte 130 de entrada de informacion pertenece al dispositivo 100 de generacion de claves que ha generado el parametro gparam global, la parte 130 de entrada de informacion puede leer el parametro gparam global a partir de la parte 120 de almacenamiento de clave maestra.
La parte 130 de entrada de informacion lee tambien la clave askt secreta de autoridad a partir de la parte 120 de almacenamiento de la clave maestra.
[Formula 132]
5
10
15
20
25
30
35
40
Xt := -{ o } demaneiraque xtX :=I
(S302: Etapa de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte 141 de generacion de numeros aleatorios genera un numero aleatorio O^t para la informacion t de identificacion, tal como se indica en la Formula 133.
[Formula 133]
■= (ft.i........)<-=—&q'
(S303: Etapa de generacion de elementos de clave)
Supongase que se establece la Formula 134.
[Formula 134]
%d(=<*?l> :=ff(gld)eG
Con el dispositivo de procesamiento, la parte 142 de generacion de elementos de clave genera un elemento k*t de clave que es un elemento de la clave uskgid(t,xt) de desencriptacion, para la informacion t de identificacion, tal como se indica en la Formula 135.
[Formula 135]
imagen13
Tal como se ha descrito anteriormente, para las bases B y B* indicadas en la Formula 110, se establece la Formula 111. Por lo tanto, la Formula 135 significa que el coeficiente para el vector base de una base B*t se establece tal como se describe a continuacion. Para el proposito de representacion simple, un vector base b*t,i se especifica solo por su parte i. Por ejemplo, un vector base 1 significa un vector base b*t,1. Los vectores base 1, ..., 3 significan vectores base b*t,1, ..., b*t,3, respectivamente.
Cada uno de entre (5+1)xt1, ..., (5+1)xtnt (donde nt representa nt) se establece como el coeficiente para los vectores base 1, ..., nt. Cada uno de entre -5xt,1, ..., -5xt,nt (donde nt representa nt) se establece como el coeficiente para los vectores base nt+1, ..., 2nt. 0 se establece como el coeficiente para los vectores base 2nt+1, ..., 2nt+ut. Cada uno de los numeros aleatorios Ot,1, ..., $t,wt (donde wt representa wt) se establece como el coeficiente para los vectores base 2nt+ut+1, ..., 2nt+ut+wt. 0 se establece como el coeficiente para los vectores base 2nt+ut+wt+1, ..., 2nt+ut+wt+zt.
(S304: Etapa de distribucion de claves)
Por ejemplo, con el dispositivo de comunicacion, la parte 150 de distribucion de claves distribuye la clave uskgid(t,xt) de desencriptacion, constituida como elementos por la informacion gid de identificacion de usuario, la informacion t de identificacion y la informacion x^t de atributo y el elemento k*t de clave al dispositivo 300 de desencriptacion en secreto a traves de la red. Por supuesto, la clave uskgid(t,xt) de desencriptacion puede ser distribuida al dispositivo 300 de desencriptacion mediante otro procedimiento.
Brevemente, de (S301) a (S303), el dispositivo 100 de generacion de claves genera la clave uskgid(t,xt) de desencriptacion ejecutando el algoritmo AttrGen indicado en la Formula 136. En (S304), el dispositivo 100 de generacion de claves distribuye la clave uskgid(t,xt) de desencriptacion generada al dispositivo 300 de desencriptacion.
5
10
15
20
25
30
35
40
[Formula 136]
AttrGen(gparam, t} askp gid, Xf :=
-{ 0 } tal que xt^ := 1):
Ggfd(=^) ^ :=(^v
:= ) * ((^,1 (^gid + Q)s ■ ■ >*;,«, (^gid + ^ X—^l^gid> ■r>~xttn( fd>
Qu‘ y9tjfhr- ^>®z> ))>
esdecir
imagen14
n,
n.
u,
((<? + »*„ -Sx„ 0“,,
w.
<pt>
imagen15
devuelve uskgid,(i,x,) Kgicica, ),*;).
Se describiran la funcion y la operacion del dispositivo 200 de encriptacion.
Tal como se muestra en la Fig. 8, el dispositivo 200 de encriptacion esta provisto de una parte 210 de adquisicion de clave publica, una parte 220 de entrada de informacion (segunda parte de entrada de informacion), una parte 230 de generacion de texto encriptado y una parte 240 de transmision de texto encriptado.
La parte 220 de entrada de informacion esta provista de una parte 221 de entrada de informacion de atributo y una parte 222 de entrada de mensaje. La parte 230 de generacion de texto encriptado esta provista de una parte 231 de generacion de numero aleatorio, una parte 232 de generacion de vector f, una parte 233 de generacion de vector s, una parte 234 de generacion de elemento c de encriptacion y una parte 235 de generacion de elemento cd+1 de encriptacion.
El procedimiento del algoritmo Enc ejecutado por el dispositivo 200 de encriptacion se describira con referencia a la Fig. 13.
(S401: Etapa de adquisicion de clave publica)
Por ejemplo, con el dispositivo de comunicacion, la parte 210 de adquisicion de clave publica adquiere la clave apkt publica de autoridad generada por cada dispositivo 100 de generacion de claves, a traves de la red. La parte 210 de adquisicion de clave publica adquiere tambien el parametro gparam global generado por el dispositivo 100 de generacion de claves.
(S402: Etapa de entrada de informacion)
Con el dispositivo de entrada, la parte 221 de entrada de informacion de atributo toma como entrada la estructura de acceso S := (M, p). La matriz M es una matriz de L filas x r columnas. L y r son cada uno un numero entero de 1 o mas.
Con el dispositivo de entrada, la parte 220 de entrada de mensaje toma como entrada el mensaje m a ser encriptado.
La estructura de acceso S se establecera en funcion del estado del sistema a ser implementado.
(S403: Etapa de generacion de vector f)
Con el dispositivo de procesamiento, la parte 232 de generacion de vector f genera un vector f^ que tiene r piezas de elementos, aleatoriamente tal como se indica en la Formula 137.
[Formula 137]
5
10
15
20
25
30
35
(S404: Etapa de generacion de vector s)
Con el dispositivo de procesamiento, la parte 233 de generacion de vector s genera un vector s^T, en base a la matriz M de la estructura de acceso S introducida en (S402) y el vector f^ generado (L filas x r columnas) en (S403) y que tiene r piezas de elementos, tal como se indica en la Formula 138.
[Formula 138]
?T :=(ji,...,s£)t --M- /T
Con el dispositivo de procesamiento, la parte 233 de generacion de vector s genera un valor s0, en base al vector generado en (S403), tal como se indica en la Formula 139. Observese que 1^ es un vector que tiene un valor 1 en todos sus elementos.
[Formula 139]
j0=i/T
(S405: Etapa de generacion de vector f)
Con el dispositivo de procesamiento, la parte 232 de generacion de vector f genera un vector f^' que tiene r piezas de elementos, aleatoriamente tal como se indica en la Formula 140 bajo la condicion de s0 = 1^-f^'.
[Formula 140]
F£ S.t S0 = T • 7’T
(S406: Etapa de generacion de vector s')
Con el dispositivo de procesamiento, la parte 233 de generacion de vector s genera un vector (s^')T, en base a la matriz M de la estructura de acceso S introducida en (S402) y el vector f^' (L filas x r columnas) que tiene r piezas de elementos, tal como se indica en la Formula 141.
[Formula 141]
imagen16
(S407: Etapa de generacion de numeros aleatorios)
Con el dispositivo de procesamiento, la parte 231 de generacion de numeros aleatorios genera numeros aleatorios n^i, 0i y 0'i, para cada numero entero i = 1, ..., L, tal como se indica en la Formula 142.
[Formula 142]
Vi (< = l,
Con el dispositivo de procesamiento, la parte 234 de generacion de elemento de encriptacion genera el elemento c de encriptacion que es un elemento del texto cts encriptado, Para cada numero entero i = 1, ..., L, tal como se indica en la Formula 143.
10
15
[Formula 143]
para i = 1
si pit) = (tyvt := viffl() e - { 0 } tal que vijBf # 0),
nt nt u( * .-----*-----„ WI A zt
Cj := {
4+^-,; OH, 0W<, m )j®f
ii '<75
'{^5 - { 0 } tal que vi,nt ^ 0),
nJ nJ wf ^-----------A-----------^ t____________A---------- Z(
<H - <
0wr, m, ~v—A— *h m\ )b(
Tal como se ha descrito anteriormente, la Formula 111 se establece para las bases B y B* indicadas en la Formula 110. Por lo tanto, la Formula 143 significa que el coeficiente para el vector base de la base Bt se establece tal como se describe a continuacion. Para el proposito de representacion simple, un vector base bt,i se especifica solo por su parte i. Por ejemplo, un vector base 1 significa un vector base bt,1. Los vectores base 1, ..., 3 significan vectores 20 base bt,1, ..., bt,3, respectivamente.
Cuando p(i) es una tupla positiva (t, v^i), si+0w,1 se establece como el coeficiente para el vector base 1. Cada uno de entre 0^,2, ..., 0M,nt (donde nt representa nt) se establece como el coeficiente para los vectores base 2, ..., nt. si'+0i'vi,1 se establece como el coeficiente para un vector base nt+1. Cada uno de entre 0i'vi,2, ..., 0i'vi,nt (donde nt representa nt) se establece como el coeficiente para los vectores base nt+2, ..., 2nt. 0 se establece como el 25 coeficiente para los vectores base 2nt+1, ..., 2nt+ut+wt. Cada uno de entre qi,1, ..., qi,zt (donde zt representa zt) se establece como el coeficiente para los vectores base 2nt+ut+Wt+1, ..., 2nt+ut+wt+zt.
Cuando p(i) es una tupla negativa -(t, v^i), cada uno de entre s^, ...., sivi,nt (donde nt representa nt) se establece como el coeficiente para los vectores base 1, ..., nt. Cada uno de entre si'vi,1, ..., si'vint (donde nt representa nt) se establece como el coeficiente para los vectores base nt+1, ..., 2nt. 0 se establece como el coeficiente para los 30 vectores base 2nt+1, ..., 2nt+ut+Wt. Cada uno de entre r|i,1, ..., r|i,zt (donde zt representa zt) se establece como el coeficiente para los vectores base 2nt+ut+Wt+1, ..., 2nt+ut+wt+zt.
(S409: Etapa de generacion de elemento cd+1 de encriptacion)
Con el dispositivo de procesamiento, la parte 235 de generacion de elemento cd+1 de encriptacion genera un elemento cd+1 de encriptacion que es un elemento del texto cts encriptado, tal como se indica en la Formula 144.
35 [Formula 144]
cd+l:= St m
(S410: Etapa de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte 240 de transmision de texto encriptado transmite el texto 40 cts encriptado, incluyendo la estructura de acceso S := (M, p), el elemento c de encriptacion (i = 1, ..., L), y el
elemento cd+1 de encriptacion, al dispositivo 300 de desencriptacion a traves de la red. Por supuesto, el texto cts encriptado puede ser transmitido al dispositivo 300 de desencriptacion mediante otro procedimiento.
5
10
15
20
25
30
Brevemente, de (S401) a (S409), el dispositivo 200 de encriptacion genera el texto cts encriptado ejecutando el algoritmo Enc indicado en la Formula 145. En (S410), el dispositivo 200 de encriptacion distribuye el texto cts encriptado generado al dispositivo 300 de desencriptacion.
[Formula 145]
Enc(gparam?{apkf }, m,, S^(M,/?)): f< U s0 = \ 'P,
f'^— wq s.t.^=I-/VT.?T -(4:= M■ 7'T, (i = L),
&.0<
u
para i =
si p(i) = (f,V; - (vy ) elFj - { 6 } tal que * 0),
u.
w,
Ci '-(Si%\+eiVUSl%\+eiVb j 0«*, 7]i )jgfJ
si/X0 = ^v,'),
n.
JS_
q :=( *vf,
4vi>
0ut
Cm
Vi
cd+i ■= Srm> := Cs*qy^L^d+i)' devuelve cts.
Se describira la funcion y la operacion del dispositivo 300 de desencriptacion.
Tal como se muestra en la Fig. 9, el dispositivo 300 de desencriptacion esta provisto de una parte 310 de recepcion de clave de desencriptacion (parte de adquisicion de clave de desencriptacion), una parte 320 de recepcion de datos (parte de adquisicion de datos), una parte 330 de calculo de programa span, una parte 340 de calculo de coeficiente complementario, una parte 350 de operacion de emparejamiento y una parte 360 de calculo de mensaje.
El procedimiento del algoritmo Dec se describira con referencia a la Fig. 14.
(S501: Etapa de adquisicion de clave de desencriptacion)
Por ejemplo, con el dispositivo de comunicacion, la parte 310 de adquisicion de clave de desencriptacion recibe la clave uskgid(t,xt) de desencriptacion distribuida por el dispositivo 100 de generacion de claves, a traves de la red. La parte 310 de adquisicion de clave de desencriptacion adquiere tambien la clave apkt publica de autoridad generada por el dispositivo 100 de generacion de claves.
5
10
15
20
25
30
Por ejemplo, con el dispositivo de comunicacion, la parte 320 de recepcion de datos recibe el texto cts encriptado transmitido por el dispositivo 200 de encriptacion, a traves de la red.
(S503: Etapa de calculo del programa span)
Con el dispositivo de procesamiento, la parte 330 de calculo del programa span comprueba si la estructura de acceso S incluida en el texto cts encriptado recibido en (S502) acepta o no el conjunto r de la informacion x^t de atributos incluida en la clave uskgid(t,xt) de desencriptacion adquirida en (S501). El procedimiento para comprobar si la estructura de acceso S acepta o no r es el mismo que el descrito en "3. Concepto para implementar la encriptacion funcional".
Si la estructura de acceso S acepta r (acepta en S503), la parte 330 de calculo del programa span avanza el procedimiento a (S504). Si la estructura de acceso S rechaza r (rechazo en S503), la parte 330 de calculo de programa span determina que el texto cts encriptado no puede ser desencriptado con la clave skgid,(t,xt) de desencriptacion, y termina el procedimiento.
(S504: Etapa de calculo del coeficiente complementario)
Con el dispositivo de procesamiento, la parte 340 de calculo de coeficiente complementario calcula I y una constante (coeficiente complementario) {a^Ei, cuyos I y {a^Ei satisfacen la Formula 146.
[Formula 146]
1 =
donde M/ es la i-esima fila de M, y
7 c {ie{l........L) | [p(i) = (l,v,) a a v,*< = 0]
v = a (t,x,)era vt xt *0]}
(S505: Etapa de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte 350 de operacion de emparejamiento calcula la Formula 147, generando de esta manera una clave de sesion K = gjs0 (donde s0 representa s0).
[Formula 147]
imagen17
Tal como se indica en la Formula 148, la clave K = gjs0 (donde s0 representa so) se obtiene calculando la Formula 147.
[Formula 148]
5
10
15
20
25
30
n*‘e/ A FU A p(i^(^v/)e(ci***)aff^Vi'JC^
-n n*
r , w ie; A p{i)={tyi)ST
((J+l)o^-Sa)(vrxt )/(v; -xs) isl a p(i)=^(t,vt)gT
(^+l)s0-&0 ~gT ~£t
(S506: Etapa de calculo del mensaje)
La parte 360 de calculo de mensaje genera un mensaje m' (= m) calculando m' = cd+1/K con el dispositivo de procesamiento. Observese que cd+i es g-rs0m (donde s0 representa s0), tal como se indica en la Formula 144. Debido a que K es gTs0 (donde s0 representa s0), el mensaje m puede obtenerse calculando m' = cd+1/K.
Brevemente, de (S501) a (S506), el dispositivo 300 de desencriptacion genera el mensaje m' (= m) ejecutando el algoritmo Dec indicado en la Formula 149.
[Formula 149]
Decfgparam, {apk?tuskgid ;= (gidU^),#)},
:= (§>cb“ >cL>cd+\)) '■
siS- (M,p) acepta F := &t>x() e uskgid(f entonces, calcula I y tal que
donde M/ es la i-esima fila de M, y
7c {i e{I.......L}\ |Xi) = (r,Vj) A (t,xt)era. vrx( = 0]
v W0 = ^(Lvi) a (t,x,)era v, -5, ^0]},
K:= e{ciXtT< ■ II
A tel A p{i)=^(t,vt)
devuelve m1c^+i ( K.
Tal como se ha descrito anteriormente, el sistema 10 de procesamiento criptografico segun la Realizacion 1 implementa el esquema de encriptacion funcional multi-autoridad en el que la pluralidad de dispositivos 100 de generacion de claves genera claves de desencriptacion. En particular, el esquema de encriptacion implementado por el sistema 10 de procesamiento criptografico es un esquema de encriptacion funcional multi-autoridad descentralizada sin autoridad central.
Observese que el sistema 10 de procesamiento criptografico segun la Realizacion 1 implementa un esquema de encriptacion funcional con un predicado no monotono.
En la descripcion anterior, las dimensiones ut, wt y zt (t = 1, ..., d) se proporcionan para mejorar la seguridad. Por lo tanto, cada uno de entre ut, wt y zt (t = 1, ..., d) puede establecerse a 0, es decir, no es necesario proporcionar las dimensiones ut, wt y zt (t = 1, ..., d), aunque la seguridad puede ser degradada.
5
10
15
20
25
30
35
En la descripcion anterior, el numero de dimensiones de cada una de las bases Bt y la base B* se establece a Nt = 2nt+ut+wt+zt. De manera alternativa, 2nt+ut+wt+zt puede ser reemplazado por 2nt+3nt+2nt+ 1 (= 7nt +1), de manera que el numero de dimensiones de cada una de las bases Bt y la base B*t puede establecerse a 7nt+1.
En este caso, el algoritmo ASetup indicado en la Formula 131 se reescribe como la Formula 150.
[Formula 150]
ASetup(gparam,^):
paramVf := (?,VfAt>e)~ Gdpvsfl^t + l,paramc),
Uy ujtjft'+iX donde ujj ;= )
para /-0>l;j =*!,,..,7/^ + 1,
— GW«,+l¥q), CM,=(U0)s)-l(XTj)),
Xt<r
B, := 2ff,A,7w,+l)> B* :== (^4j‘“Aj2bti A,5fl,+1>'-A,7b,)>
askf := Xt> apkf(paramVj
devuelve (ask^apk,).
El algoritmo AttrGen indicado en la Formula 136 se reescribe como la Formula 151.
[Formula 151]
AitrGenCgparam, t, ask„ gid, xt :=
e — { 0 } tal que xt ] ;= 1);
U Tt2n,
Gbid(=^Gl) -#(flid)eGs $ := (<p(>h...,<p[2ni)<---------
7
W ) ((^ifjK^gid (Ggj(j + Gl)i v.-,
03ni {pt2ilt Gi, 0}),
n,
ni
3nt
2n,
ie * '-----------------''-------------------T \--------------------------ti—.
'k, -((<?+l)x„ -S.O3”;, (p,, 0 )B.,
return uskgi^) :=(gid,(t,i(),*j*).
El algoritmo Enc indicado en la Formula 145 se reescribe como Formula 152. [Formula 152]
5
10
15
20
25
30
35
40
imagen18
El algoritmo GSetup y el algoritmo Dec se mantienen inalterados.
El algoritmo GSetup puede ser ejecutado solo una vez por un dispositivo 100 de generacion en la configuracion del sistema 10 de procesamiento criptografico, y no es necesario que sea ejecutado cada vez que deba generarse una clave de desencriptacion. De manera similar, el algoritmo ASetup puede ser ejecutado solo una vez por cada dispositivo 100 de generacion de claves en la configuracion del sistema 10 de procesamiento criptografico y no es necesario que sea ejecutado cada vez que deba generarse una clave de desencriptacion.
En la explicacion anterior, el algoritmo GSetup, el algoritmo ASetup y el algoritmo KeyGen son ejecutados por el dispositivo 100 de generacion de claves. De manera alternativa, el algoritmo GSetup, el algoritmo ASetup y el algoritmo KeyGen pueden ser ejecutados respectivamente por dispositivos diferentes.
Realizacion 2.
En la Realizacion 1, se ha descrito el procedimiento de implementacion del procedimiento criptografico en los espacios vectoriales dobles. En la Realizacion 2, se describira un procedimiento para implementar un procedimiento criptografico en grupos aditivos dobles.
Mas especlficamente, en la Realizacion 1, el procedimiento criptografico se implementa en el grupo clclico del orden primo q. Cuando un anillo R se expresa tal como se indica en la Formula 153 usando un numero compuesto M, el procedimiento criptografico descrito en la Realizacion 1 puede aplicarse tambien a un grupo aditivo que tiene el anillo R como un coeficiente.
[Formula 153]
imagen19
donde
5
10
15
20
25
30
35
tu\ es un numero entero, y M : es un numero compuesto
Cuando el esquema de encriptacion funcional multi-autoridad descentralizada descrito en la realizacion 1 se implementa en el grupo aditivo que tiene el anillo R como un coeficiente, se obtienen las Formulas 154 a 158.
[Formula 154]
GSetupO''): paramG^(?,G,Grj^,e)<-5—ebpg(l^),
H -»<G; Go:=II(0*)tG, G, := € G, gr — c(Gq, Gj),
return gparam := (param,E,//,Go,Gll£j-).
[Formula 155]
ASetup(gparam,^^3^ ,wtizt):
Nt := 2nt -\~Uf + Vt^ ■+■ Zf ,
paramV( := (q,Vt ,Gr,A(,e) := 5dpvs(l'1-Ni-PararriG),
i-i lf,-i _
Uy l=(wyj....)» donde Uji\=(0,...i0iGJt0>„,iQ)
paraj = 0,1; i =
X,^L. GL(NtMl (»„»;):=
A.
:= i^t,l J2n^ty,2nt+ut +wt 4-1 *■” ■fy,2ns- Hi, +14;+zt)3
(fyl*****^^ j^jf t2nt+ut-\') ,+Wf )>
ask, := Xt, apk, := (param¥; ,B*), devuelve (ask,?apk,).
[Formula 156]
5
10
15
20
25
30
35
AttrGen(gparam, t, askf, gid, xt := )
e RM' - { 0 } tal que := 1):
Ggid^Gi) :=ff(gid)eG, Vt ■=(<?,,,
H '= (Xt.^'(fat.l^gid (Ggid + f,gid >
0U1, tptjfil ’ ■ ■ Pt,wt G\. °Z( ))>
n.
n.
“M-%=«s+i)x„ -<>x„
0ut,
devuelve uskgid ^ := (gid,(^),A*).
imagen20
[Formula 157]
Enc(gparam? {apkr}; rn, §^(M,p)):
f ^ ~ Kr, s1 :=(^i, >sl)t * = 1./T
/'■f-5- Kr s.t. ,y0 = l./T g'T ;= (j(,...,^)T :=M-/'X,
iji <—— (< =
R(i = 1,
para i =
si p(i) = (/,V/ := ) e R*! - { 6 } tal que * 0),
ci- si pii)
imagen21
imagen22
c{
nr
n. ut
___A^_
f------- -----
v st% 0 0wr
imagen23
Cdrt:=gTm> 1>-
devuelve Ct§.
5
10
15
20
25
30
35
40
45
[Formula 158]
Dec(gparam, Japk,, usk^,^ := (gid, (/, ),
Cts := :
si S:= (M,p) acepta r uskgidj(/>A.-[},
a continuacion, calcula / y tal que
1 = doinde Mi es la i-esima fila de M/ y
1 £ £e{U,£}| W0 = M) A (f^)^rA vr^ = 0]
v |>(i) = ^tv/) a (^)€f a vrxt *0]},
k- n darty* ■ n Kc^rA^,),
tel A p(i)=(t,Vi) A p{i)=^(f,v.)
devuelve m':=c^+] / K.
Desde el punto de vista de la prueba de seguridad, en las realizaciones anteriores, p(i) para cada numero entero i = 1, ..., L puede limitarse a una tupla positiva (t, vAi) o una tupla negativa -(t, vAi) para information t de identification diferente.
En otras palabras, cuando p(i) = (t, vAi) o p(i) = -(t, vAi), supongase que una funcion p~ es un mapa de {1, ..., L} a {1, ..., d} con el que se establece p~(I) = t. En este caso, p~ puede limitarse a inyeccion. Observese que p(i) es p(i) en la estructura de acceso S := (M, p(i)) descrita anteriormente.
En la descripcion anterior, el programa span MA acepta la secuencia de entrada 5 si y solo si la combinacion lineal de las filas de la matriz M5 obtenida a partir de la matriz a por la secuencia de entrada 5 da 1A De manera alternativa, el programa span MA puede aceptar la secuencia de entrada 5 si y solo si se obtiene otro vector tA en lugar de 1A
En este caso, en el algoritmo Enc, puede establecerse s0 := hA'ET en lugar de s0 := 1A fA1, y puede establecerse s0 := hAfA'T en lugar de s0 := 1AfA'T.
Se describira la configuracion de hardware del sistema 10 de procesamiento criptografico (el dispositivo 100 de generacion de claves, el dispositivo 200 de encriptacion y el dispositivo 300 de desencriptacion) en las realizaciones anteriores.
La Fig. 15 es un diagrama que muestra un ejemplo de la configuracion de hardware de cada dispositivo 100 de generacion de claves, dispositivo 200 de encriptacion y dispositivo 300 de desencriptacion.
Tal como se muestra en la Fig. 15, cada uno de entre el dispositivo 100 de generacion de claves, el dispositivo 200 de encriptacion y el dispositivo 300 de desencriptacion incluye la CPU 911 (denominada tambien unidad central de procesamiento, dispositivo de procesamiento central, dispositivo de procesamiento, dispositivo de calculo, microprocesador, microordenador o procesador) que ejecuta programas. La CPU 911 esta conectada a la ROM 913, la RAM 914, una pantalla LCD 901 (pantalla de cristal llquido), un teclado 902 (K/B), la placa 915 de comunicacion y el dispositivo 920 de disco magnetico a traves de un bus 912 y controla estos dispositivos de hardware. En lugar del dispositivo 920 de disco magnetico (dispositivo de disco fijo), puede emplearse un dispositivo de almacenamiento tal como un dispositivo de disco optico o un dispositivo de lectura/escritura de tarjeta de memoria. El dispositivo 920 de disco magnetico esta conectado a traves 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 comunicacion son ejemplos de un
5
10
15
20
25
30
35
40
45
50
dispositivo de entrada. La placa 915 de comunicacion es un ejemplo de un dispositivo de comunicacion. Ademas, la pantalla LCD 901 es un ejemplo de un dispositivo de visualizacion.
El dispositivo 920 de disco magnetico, la ROM 913 o similar almacena un sistema operativo 921 (OS), un sistema 922 de ventanas, programas 923 y archivos 924. La CPU 911, el sistema operativo 921 y el sistema 922 de ventanas ejecutan cada programa de entre los programas 923.
Los programas 923 almacenan software y programas que ejecutan las funciones descritas como "parte 110 de generacion de clave maestra", "parte 120 de almacenamiento de clave maestra", "parte 130 de entrada de informacion", "parte 140 de generacion de clave de desencriptacion", “parte 150 de distribucion de claves”, "parte 210 de adquisicion de clave publica”, “parte 220 de entrada de informacion", "parte 230 de generacion de texto encriptado", "parte 240 de transmision de texto encriptado", "parte 310 de recepcion de clave de desencriptacion", "parte 320 de recepcion de datos" “parte 330 de calculo de programa span", "parte 340 de calculo de coeficiente complementario", "parte 350 de operacion de emparejamiento", "parte 360 de calculo de mensaje" y similares en la descripcion anterior. Los programas 923 almacenan tambien otros programas. Los programas son leldos y ejecutados por la CPU 911.
Los archivos 924 almacenan informacion, datos, valores de serial, valores de variables y parametros tales como el "parametro gparam global", " clave apk publica de autoridad", " clave ask secreta de autoridad", " clave uskgid(t,xt) de desencriptacion” “texto cts encriptado", "estructura S de acceso", "informacion de atributos", "mensaje m" y similares de la explicacion anterior, como los elementos de un "archivo" y una "base de datos". El "archivo" y la "base de datos" se almacenan en un medio de grabacion tal como un disco o memoria. Los datos de informacion, datos, valores de serial, valores de variables y parametros almacenados en el medio de grabacion tal como el disco o la memoria son leldos a la memoria principal o la memoria cache por la CPU 911 a traves de un circuito de lectura/escritura y son usados para las operaciones de la CPU 911 tales como extraccion, busqueda, comparacion, calculo, computacion, procesamiento, salida, impresion y visualizacion. La informacion, datos, valores de serial, valores de variables y parametros se almacenan temporalmente en la memoria principal, memoria cache o memoria intermedia durante las operaciones de la CPU 1911 incluyendo extraccion, busqueda, comparacion, calculo, computacion, procesamiento, salida, impresion y visualizacion.
Las flechas de los diagramas de flujo en la explicacion anterior indican principalmente la entrada/salida de datos y senales. Los valores de datos y senales se almacenan en la memoria de la RAM 914, el medio de grabacion tal como un disco optico, o en un chip IC. Los datos y las senales se transmiten en llnea a traves de un medio de transmision tal como el bus 912, llneas de senal o cables; u ondas electricas.
La "parte" en la explicacion anterior puede ser un "circuito", "dispositivo", "equipo", "medio" o "funcion"; o una "etapa", "procedimiento" o "proceso". El "dispositivo" puede ser un "circuito", "equipo", "medio" o "funcion"; o una "etapa", "procedimiento" o "proceso". El "procedimiento" puede ser una "etapa". Es decir, la "parte" puede ser llevada a la practica como firmware almacenado en la ROM 913. De manera alternativa, la "parte" puede ser llevada a la practica como solo software; como solo hardware tal como un elemento, un dispositivo, un sustrato o una llnea de cableado; como una combinacion de software y hardware; o ademas como una combinacion de software, hardware y firmware. El firmware y el software se almacenan, como programas, en el medio de grabacion tal como la ROM 913. El programa es leldo por la CPU 911 y es ejecutado por la CPU 911. Concretamente, el programa causa que el ordenador funcione como una "parte" descrita anteriormente. De manera alternativa, el programa causa que el ordenador o similar ejecute el procedimiento y el metodo de la "parte" descrita anteriormente.
Lista de Signos de Referenda
100: dispositivo de generacion de claves; 110: parte de generacion de clave maestra; 111: parte de generacion de parametros globales; 112: parte de generacion de clave secreta de autoridad; 120: pieza de almacenamiento de clave maestra; 130: parte de entrada de informacion; 140: parte de generacion de clave de desencriptacion; 141: parte de generacion de numeros aleatorios; 142: parte de generacion de elementos de clave; 150: parte de distribucion de claves; 200: dispositivo de encriptacion; 210: parte de adquisicion de clave publica; 220: parte de entrada de informacion; 221: parte de entrada de informacion de atributos; 222: parte de entrada de mensaje; 230: parte de generacion de texto encriptado; 231: parte de generacion de numeros aleatorios; 232: parte de generacion de vector f; 233: parte de generacion de vector s; 234: parte de generacion de elemento ci de encriptacion; 235: parte de generacion de elemento cd+1 de encriptacion; 240: parte de transmision de texto encriptado; 300: dispositivo de desencriptacion; 310: parte de recepcion de clave de desencriptacion; 320: parte de recepcion de datos; 330: parte de calculo del programa span; 340: parte del calculo del coeficiente complementario; 350: parte de operacion de emparejamiento; 360: parte de calculo de mensaje

Claims (8)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un sistema (10) de procesamiento criptografico que comprende d, en el que d es un numero entero de 1 o mas, unidades de dispositivos (100) de generacion de claves, un dispositivo (200) de encriptacion y un dispositivo (300) de desencriptacion, y que sirve para ejecutar un procedimiento criptografico usando una base Bt y una base B* para al menos un numero entero t = 1, ..., d,
    en el que cada dispositivo de generacion de claves de entre las d unidades de dispositivos de generacion de claves incluye
    una primera parte (130) de entrada de informacion que toma como entrada informacion de atributo x-t := (xti), en la que i = 1, ..., nt donde nt es un numero entero de 1 o mas, para un numero entero t de entre los numeros enteros t = 1, ..., d que esta predeterminado para cada dispositivo de generacion de claves,
    una parte (142) de generacion de elementos de clave que genera un elemento k*t de clave que incluye un vector indicado en la Formula 1 basado en el numero entero t, la informacion x-t de atributos introducida por la primera parte de entrada de informacion, un valor 5 predeterminado, y un vector base b*ti con i = 1, ..., 2nt, de la base B*t, y
    una parte (150) de transmision de clave de desencriptacion que transmite al dispositivo de desencriptacion, una clave usk de desencriptacion que incluye el elemento k*t de clave generado por la parte de generacion de elementos de clave y la informacion x-t de atributos,
    en el que el dispositivo de encriptacion incluye
    una segunda parte (220) de entrada de informacion que toma como entrada una variable p(i) para cada numero entero i = 1, ..., L, en el que L es un numero entero de 1 o mas, cuya variable p(i) es una de entre una tupla (t, v^i) positiva y una tupla -(t, v^i) negativa de la informacion t de identificacion, en el que t es cualquier numero entero de t = 1, ..., d, e informacion de atributos v- := (vi,i) con i'= 1, ..., nt; y una matriz M predeterminada que tiene L filas y r columnas, en el que r es un numero entero de 1 o mas,
    una parte (232, 233) de generacion de vectores que genera vectores columna s-T:= (s1,..., sl)t := M-FT basado en un vector f- que tiene r piezas de elementos y la matriz M introducida por la segunda parte de entrada de informacion, y genera un vector columna (s-')T:= (s1,..., sl)t := M(f-')T basado en la matriz M y un vector f-' que tiene r piezas de elementos y que satisface so = h—■(f-')T donde so = h^f^T,
    una parte (234) de generacion de elemento c de encriptacion que, para cada numero entero i = 1, ..., L y en base a los vectores columna s-T y el vector columna (s-')T que son generados por la parte de generacion de vectores, y valores 0i y 9i' predeterminados para cada numero entero i = 1, ..., L, genera un elemento c de encriptacion, incluyendo un vector indicado en la Formula 2, cuando la variable p(i) es una tupla positiva (t, v-i), usando un vector base bti', con i' = 1, ..., 2nt, de la base Bt indicado por la informacion t de identificacion de la tupla positiva, y genera un elemento ci de encriptacion incluyendo un vector indicado en la Formula 3, cuando la variable p(i) es una tupla negativa -(t, v-i), usando un vector base bti, con i = 1, ..., 2nt, indicado por la informacion t de identificacion de la tupla negativa, y
    una parte (240) de transmision de texto encriptado que transmite al dispositivo de desencriptacion, un texto cts encriptado incluyendo: el elemento ci de encriptacion generado para cada numero entero i = 1, ..., L por la parte de generacion de elemento ci de encriptacion; la variable p(i); y la matriz M, y
    en el que el dispositivo de desencriptacion incluye
    una parte (310) de recepcion de clave de desencriptacion que recibe la clave usk de desencriptacion transmitida por la parte de transmision de clave de desencriptacion de al menos un dispositivo de generacion de clave de entre las d unidades de dispositivos de generacion de claves,
    una parte (320) de recepcion de datos que recibe el texto cts encriptado transmitido por la parte de transmision de texto encriptado,
    una parte (340) de calculo de coeficiente complementario que, en base a la informacion x-t de atributos incluida en la clave usk de desencriptacion recibida por la parte de recepcion de clave de desencriptacion, y la variable p(i) incluida en el texto cts encriptado recibido por la parte de recepcion de datos, especifica, de entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla positiva (t, v-i), en el que la clave usk de desencriptacion incluye x-t indicado por la informacion t de identificacion de la tupla positiva recibida por la parte de recepcion de clave de desencriptacion, y con la que un producto interno de v- de la tupla positiva y la informacion x-t de atributos indicada por la informacion t de
    5
    10
    15
    20
    25
    30
    35
    40
    identificacion de la tupla positiva es igual a 0 y un numero entero i para el cual la variable p(i) es una tupla negativa -(t, v^i), en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla negativa recibida por la parte de recepcion de clave de desencriptacion y con la que un producto interno de v^i de la tupla negativa y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla negativa no es igual a 0; y calcula, con respecto a i incluido en el conjunto I especificado, un coeficiente ai complementario con el cual un total de aiMi en base a Mi que es un elemento en una i-esima fila de la matriz M incluida en el texto cts encriptado se convierte en el vector predeterminado, y
    una parte (350) de operacion de emparejamiento que calcula una informacion K predeterminada realizando una operacion de emparejamiento indicada en la Formula 4 para el elemento ci de encriptacion incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptacion en base al conjunto I y el coeficiente ai complementario que son calculados por la parte de calculo del coeficiente complementario.
    [Formula 1]
    nt
    _A,_
    A.
    imagen1
    [Formula 2]
    n,
    n,
    r —------------------------------------------------
    ,s} + 0iVi^O}vi2^--Avunt
    imagen2
    [Formula 3]
    *h
    ,----------------------------------
    [Formula 4]
    K := Y[ eici>kJ)a< ■ J~[ e(chk*)aAvrxt)
    re/ a iGl *
  2. 2. Sistema de procesamiento criptografico segun la reivindicacion 1, que ejecuta el procedimiento criptografico usando, para al menos un numero entero t = 1, ..., d, la base Bt que tiene al menos el vector base bti, en el que i = 1, ..., 2nt, ..., 2nt+ut, ..., 2nt+ut+wt, ..., 2nt+ut+wt+zt y donde ut, wt y zt son cada uno un numero entero de 1 o mas, y la base B*t tiene al menos el vector base b*t,i, en el que i = 1, ..., 2nt, ..., 2nt+ut, ..., 2nt+ut+wt, ..., 2nt+ut+wt+zt,
    en el que, en el dispositivo de generacion de claves,
    la parte de generacion del elemento de clave genera el elemento k*t de clave indicado en la Formula 5 para el entero t en base a la informacion x^t de atributos, el valor 5 predeterminado y un numero Ot,i aleatorio para cada numero entero i = 1, ..., wt, y
    en el que, en el dispositivo de encriptacion,
    la parte de generacion de elemento ci de encriptacion, para cada numero entero i = 1, ..., L y en base al vector columna s^1" y el vector columna (s^')T, los valores 0i y 0i' predeterminados para cada numero entero i = 1, ..., L, y un numero r^r aleatorio para cada numero entero i = 1, ..., L y cada numero entero i’ = 1, ..., zt, genera el elemento ci de encriptacion indicado en la Formula 6 cuando la variable p(i) es una tupla (t, v^i) positiva, y genera el elemento ci de encriptacion indicado en la Formula 7 cuando la variable p (i) es una tupla -(t, v^i) negativa.
    [Formula 5]
    "r
    A_____
    i--A:
    «r s
    o,—,0)b,
    5
    10
    15
    20
    25
    30
    35
    40
    nt
    — ((^ + 0^,1 !"■! Jr j ^Xi,nt>
    u.
    W,
    0ut,
    PfJv.Pf, T*'» QZ‘ )B*
    [Formula 6]
    tt,
    n.
    ci isi + &ivi,l’fyvit2> ">@ivt,nt + ^i'vi,b^vi,2**“^ivi3ra,T
    W,
    W,
    ou<, m, )b,
    [Formula 7]
    nf
    n,
    t
    A.
    ci ( sivi, 1 ****s5; vrfnr 1 iVfvit\ "j5 v/,«, *
    M,
    VF,
    _A_
    I ~ ' )
  3. 3. Sistema de procesamiento criptografico segun la reivindicacion 1 en el que el dispositivo de encriptacion comprende ademas
    0Ut , O^f , )Br
    una parte (235) de elemento cd+i de encriptacion que genera un elemento cd+i de encriptacion indicado en la Formula 8 y obtenido encriptando un mensaje m, en base al s0 prescrito y un valor gt que se calcula realizando una operacion de emparejamiento del vector base bt,i de la base Bt y el vector base b*t,i de la base B*t para un numero entero i predeterminado,
    en el que la parte de transmision de texto encriptado transmite al dispositivo de desencriptacion, un texto ct encriptado que incluye el elemento ci de encriptacion y el elemento cd+1 de encriptacion que es generado por la parte de generacion de elemento cd+1 de encriptacion, y
    en el que el dispositivo de desencriptacion incluye ademas
    una parte (360) de calculo de mensaje que calcula el mensaje m dividiendo el elemento cd+1 de encriptacion por la informacion K predeterminada calculada por la parte de operacion de emparejamiento.
    [Formula 8]
    cd+i '■= g'r"1
  4. 4. Un dispositivo (100) de generacion de claves que genera una clave usk de desencriptacion en un sistema (10) de procesamiento criptografico que ejecuta un procedimiento criptografico usando una base Bt y una base B*t para al menos un numero entero t = 1, ..., d, en el que d es un numero entero de 1 o mas, en el que el dispositivo de generacion de claves comprende:
    una primera parte (130) de entrada de informacion que toma como entrada informacion de atributo x^t := (xti), en el que i = 1, ..., nt donde nt es un numero entero de 1 o mas, para un numero entero t predeterminado de entre t = 1, ..., d;
    5
    10
    15
    20
    25
    30
    35
    40
    una parte (142) de generacion de elementos de clave que genera un elemento k*t de clave que incluye un vector indicado en la Formula 9 en base al entero t, la informacion x^t de atributos introducida por la primera parte de entrada de informacion, un valor 5 predeterminado y un vector base b*ti, en el que i = 1, ..., 2nt, de la base B*t; y
    una parte (150) de transmision de clave de desencriptacion que transmite a un dispositivo de desencriptacion, una clave usk de desencriptacion que incluye el elemento k*t de clave generado por la parte de generacion de elementos de clave y la informacion x^t de atributos.
    [Formula 9]
    t
    _Aw_
    «J + l)*f].......+ -5xti,0„„f0)B-
  5. 5. Un dispositivo (200) de encriptacion que genera un texto cts encriptado en un sistema (10) de procesamiento criptografico que ejecuta un procedimiento criptografico usando una base Bt y una base B*t para al menos un numero entero t = 1, ..., d, en el que d es un numero entero de 1 o mas, en el que el dispositivo de encriptacion comprende:
    una segunda parte (220) de entrada de informacion que toma como entrada una variable p(i) para cada numero entero i = 1, ..., L, en el que L es un numero entero de 1 o mas, cuya variable p(i) es una de entre una tupla (t, v^i) positiva y una tupla -(t, v^i) negativa de la informacion t de identificacion, en el que t es cualquier numero entero de entre t = 1, ..., d, e informacion de atributos v^i := (vi,i) con i' = 1, ..., nt donde nt es un numero entero de 1 o mas; y una matriz M predeterminada que tiene L filas y r columnas, donde r es un numero entero de 1 o mas;
    una parte (232, 233) de generacion de vector que genera un vector columna s^T := (s1,..., sl)t := M-f6 7 en base a un vector V que tiene r piezas de elementos y la matriz M introducida por la segunda parte de entrada de informacion, y genera un vector columna (s^')T := (sV,..., sl')t := Mf)T en base a la matriz M y un vector f"*' que tiene r piezas de elementos y que satisface s0 = h^f)T donde s0 = h^f^T;
    un elemento ci de encriptacion (234) que, para cada numero entero i = 1, ..., L y en base al vector columna s^T y el vector columna (s^')T que son generados por la parte de generacion de vectores, y valores 0i y 9i' predeterminados para cada numero entero i = 1, ..., L, genera un elemento ci de encriptacion que incluye un vector indicado en la Formula 10, cuando la variable p(i) es una tupla (t, v^i) positiva, usando un vector base bti', con i' = 1, ..., 2nt, de la base Bt indicada por la informacion t de identificacion de la tupla positiva, y genera un elemento ci de encriptacion que incluye un vector indicado en la Formula 11, cuando la variable p(i) es una tupla -(t, v^i) negativa, usando un vector base bti, con i = 1, ..., 2nt, indicado por la informacion t de identificacion de la tupla negativa; y
    una parte (240) de transmision de texto encriptado que transmite a un dispositivo de desencriptacion, el texto cts encriptado incluyendo: el elemento ci de encriptacion generado para cada numero entero i = 1, ..., L por la parte de generacion de elemento ci de encriptacion; la variable p(i); y la matriz M.
    [Formula 10]
    n
    t
    n.
    (•*« + &ivi,\ AviJ...>si + .. ,0,...,0)B(
    [Formula 11]
    n
    i
    f I,
    ( 5 viInl > 0>”’>0)b,
  6. 6. Un dispositivo (300) de desencriptacion que desencripta un texto cts encriptado por una clave usk de
    desencriptacion en un sistema (10) de procesamiento criptografico que ejecuta un procedimiento criptografico
    5
    10
    15
    20
    25
    30
    35
    usando una base Bt y una base B* para al menos un numero entero t = 1, d, en el que d es un numero entero de 1 o mas, en el que el dispositivo de desencriptacion comprende:
    una parte (310) de recepcion de clave de desencriptacion que recibe la clave usk de desencriptacion que incluye, para al menos uno de los numeros enteros t de entre t = 1, ..., d, informacion de atributos x^t := (xti), en el que i = 1, ..., nt donde nt es un numero entero de 1 o mas, y un elemento k*t de clave que se genera para incluir un vector indicado en la Formula 12;
    una parte (320) de recepcion de datos que recibe el texto cts encriptado que incluye: una variable p(i) para cada numero entero i = 1, ..., L, en el que L es un numero entero de 1 o mas, cuya variable p(i) es una de entre una tupla (t, v^i) positiva y una tupla -(t, v^i) negativa de informacion t de identificacion, en el que t es un numero entero cualquiera de entre t = 1, ..., d, e informacion de atributos v^i := (vi,i), en el que i' = 1, ..., nt; una matriz M predeterminada que tiene L filas y r columnas, en el que r es un numero entero de 1 o mas; y un elemento ci de encriptacion generado para incluir un vector indicado en la Formula 13 para cada numero entero i = 1, .., L;
    una parte (340) de calculo de coeficiente complementario que, en base a la informacion x^t de atributos incluida en la clave usk de desencriptacion recibida por la parte de recepcion de clave de desencriptacion, y la variable p(i) incluida en el texto cts encriptado recibido por la parte de recepcion de datos, especifica, de entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla (t, v^i) positiva, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla positiva recibida por la parte de recepcion de clave de desencriptacion, y con la que un producto interno de v^i de la tupla positiva y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla positiva es igual a 0 y un numero entero i para el cual la variable p(i) es una tupla -(t, v^i) negativa, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla negativa recibida por la parte de recepcion de clave de desencriptacion y con la que un producto interno de v^i de la tupla negativa y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla negativa no es igual a 0; y calcula, con respecto a i incluido en el conjunto I especificado, un coeficiente ai complementario con lo que un total de aiMi basado en Mi que es un elemento en una i-esima fila de la matriz M incluida en el texto cts encriptado se convierte en un vector predeterminado; y
    una parte (350) de operacion de emparejamiento que calcula informacion K predeterminada llevando a cabo una operacion de emparejamiento indicada en la Formula 14 para el elemento ci de encriptacion incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptacion basado en el conjunto I y el coeficiente ai complementario que son calculados por la parte de calculo del coeficiente complementario.
    [Formula 12]
    n,
    /--------------------- ------------------------ ^------------------- -----------------
    ({^ + "I" tyxt,nt ? — ^-^,1 —1$xt,nt 3
    imagen3
    donde 5 es un valor predeterminado.
    [Formula 13]
    5
    10
    15
    20
    25
    30
    35
    si p(i) = (t,vi\
    fh
    n,
    (si+0pij,0iVj'2,-..,0iViAM + 0l\l’%vi,2>-">0’ivi,nl’0..°>B,
    si p{() = -(t,Vi),
    nt
    n.
    ( sivi,l->'->sivitnt * vi\tnt * 0,...,Q)b^
    donde
    sT :=(su„.tsL)T :=M fT,
    f es un vector predeterminado que tiene r piezas de elementos
    s0 = h.fT,
    h es un vector predeterminado que tiene r piezas de elementos f es un vector predeterminado que satisface 5q =h ' f ’ ^,
    s’T := := M -/'T, y
    oho; son valores predeterminados.
    [Formula 14]
    imagen4
  7. 7. Un procedimiento de procesamiento criptografico para ejecutar un procedimiento criptografico usando una base Bt y una base B*t para al menos un numero entero t = 1, ..., d, en el que d es un numero entero de 1 o mas, en el que el procedimiento de procesamiento criptografico comprende:
    una primera etapa de entrada de informacion para, con al menos un dispositivo de generacion de claves de entre una pluralidad de dispositivos (100) de generacion de claves, tomar como entrada informacion de atributos x^t := (xti), en el que i = 1, ..., nt donde nt es un numero entero de 1 o mas, para un numero entero t de entre los numeros enteros t = 1, ..., d que esta predeterminado para cada uno de los dispositivos de generacion de claves;
    una etapa de generacion de elementos de clave para, con al menos un dispositivo de generacion de claves, generar un elemento k*t de clave que incluye un vector indicado en la Formula 15 basado en el numero entero t, la informacion x^t de atributos introducida en la primera etapa de entrada de informacion, un valor 5 predeterminado, y un vector base b*ti, en el que i = 1, ..., 2nt, de la base B*t;
    una etapa de transmision de clave de desencriptacion para, con al menos un dispositivo de generacion de claves, transmitir a un dispositivo (300) de desencriptacion una clave de desencriptacion que incluye el elemento k*t de clave generado en la etapa de generacion de elementos de clave y la informacion x^t de atributos;
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    una segunda etapa de entrada de informacion para, con un dispositivo (200) de encriptacion, tomar como entrada una variable p(i) para cada numero entero i = 1, ..., L, en el que L es un numero entero de 1 o mas, cuya variable p (i) es una de entre una tupla (t, v^i) positiva y una tupla -(t, v^i) negativa de la informacion t de identificacion, en el que t es cualquier numero entero de entre t = 1, ..., d, e informacion de atributos v^i : = (vii), en el que i' = 1, ..., nt; y una matriz M predeterminada que tiene L filas y r columnas, en el que r es un numero entero de 1 o mas;
    una etapa de generacion de vectores para, con el dispositivo de encriptacion, generar un vector columna s^T: = (s1, ..., sl)t := M f^T basado en un vector que tiene r piezas de elementos y la matriz M introducida en la segunda etapa de entrada de informacion, y generar un vector columna (s^')T:= (si',..., sL')T := M ■ (f^')T basado en la matriz M y un vector f^' que tiene r piezas de elementos y satisface s0 = h^(f^')T en el que s0 = h^f^T;
    una etapa de generacion de elemento ci de encriptacion para, con el dispositivo de encriptacion, para cada numero entero i = 1, ..., L y basado en el vector columna s^T y el vector columna (s^')T que son generados en la etapa de generacion de vectores, y valores 0i y 0i' predeterminados para cada numero entero i = 1, ..., L, generar un elemento ci de encriptacion que incluye un vector indicado en la Formula 16, cuando la variable p(i) es una tupla (t, v^i) positiva, usando un vector base bti, en el que i' = 1, ..., 2nt, de la base Bt indicado por la informacion t de identificacion de la tupla positiva, y generar un elemento ci de encriptacion que incluye un vector indicado en la Formula 17, cuando la variable p(i) es una tupla negativa -(t, v^i), usando un vector base bti, en el que i = 1, ..., 2nt, indicado por la informacion t de identificacion de la tupla negativa;
    una etapa de transmision de texto encriptado para, con el dispositivo de encriptacion, transmitir al dispositivo de desencriptacion, un texto cts encriptado que incluye: el elemento ci de encriptacion generado para cada numero entero i = 1, ..., L en la etapa de generacion de elemento ci de encriptacion; la variable p(i); y la matriz
    M;
    una etapa de recepcion de clave de desencriptacion para, con el dispositivo de desencriptacion, recibir la clave de desencriptacion transmitida en la etapa de transmision de clave de desencriptacion de al menos un dispositivo de generacion de claves de entre la pluralidad de dispositivos de generacion de claves;
    una etapa de recepcion de datos para recibir el texto cts encriptado transmitido en la etapa de transmision de texto encriptado;
    una etapa de calculo de coeficiente complementario para, con el dispositivo de desencriptacion y en base a la informacion de atributos x^t incluida en la clave usk de desencriptacion recibida en la etapa de recepcion de clave de desencriptacion, y la variable p(i) incluida en el texto cts encriptado recibido en la etapa de recepcion de datos, especificar, de entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla (t, v^i) positiva, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla positiva recibida en la etapa de recepcion de clave de desencriptacion, y con el que un producto interno de v^i de la tupla positiva y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla positiva es igual a 0, y un numero entero i para el cual la variable p(i) es una tupla -(t, v^i) negativa, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla negativa recibida en la etapa de recepcion de clave de desencriptacion, y con el que un producto interno de v^i de la tupla negativa y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla negativa no es igual a 0; y calcular, con respecto a i incluido en el conjunto I especificado, un coeficiente ai complementario con el cual un total de aiMi basado en Mi que es un elemento en una i-esima fila de la matriz M incluida en el texto cts encriptado se convierte en un vector h^ predeterminado; y
    una etapa de operacion de emparejamiento para, con el dispositivo de desencriptacion, calcular informacion K predeterminada realizando una operacion de emparejamiento indicada en la Formula 18 para el elemento ci de encriptacion incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptacion basado en el conjunto I y el coeficiente ai complementario que se calculan en la etapa de calculo del coeficiente complementario.
    [Formula 15]
    5
    10
    15
    20
    25
    30
    35
    40
    (((5-I-l)x^]5 , 0?...}0)r'
    [Formula 16]
    nr
    n,
    isi + 8iviy\Avi^'-'Avi,nt *sl + Givi,\Avii2>'"*&lvijit j°>B,
    [Formula 17]
    n
    n.
    sivi,i
    [Formula 18]
    K:= f] e{chk,*)«<• ]1 e{chk;r^^
    ;e/ a p(i)=(_trVi) i'e/ a /?(0=—'C^i)
  8. 8. Un programa de procesamiento criptografico que comprende un programa de generacion de claves a ser ejecutado sobre d, en el que d es un numero entero de 1 o mas, unidades de dispositivos (100) de generacion de claves, un programa de encriptacion a ser ejecutado en un dispositivo (200) de encriptacion y un programa de desencriptacion a ser ejecutado en un dispositivo (300) de desencriptacion, y que sirve para ejecutar un procedimiento criptografico usando una base Bt y una base B*t para al menos un numero entero t = 1, ..., d,
    en el que el programa de generacion de claves causa que un ordenador ejecute
    un primer procedimiento de entrada de informacion que toma como entrada informacion de atributos x^t : = (xt,i), en el que i = 1, ..., nt donde nt es un numero entero de 1 o mas, para un numero entero t de entre los numeros enteros t = 1, ..., d que esta predeterminado para cada uno de los dispositivos de generacion de claves,
    un procedimiento de generacion de elementos de clave para generar un elemento k*t de clave que incluye un vector indicado en la Formula 19 basado en el entero t, la informacion x^t de atributos introducida en el primer procedimiento de entrada de informacion, un valor 5 predeterminado, y un vector base b*t,i, en el que i = 1, ..., 2nt, de la base B*t, y
    un procedimiento de transmision de clave de desencriptacion para transmitir al dispositivo de desencriptacion, una clave usk de desencriptacion que incluye el elemento k*t de clave generado en el procedimiento de generacion de elementos de clave y la informacion x^t de atributos,
    en el que el programa de encriptacion causa que el ordenador ejecute
    un segundo procedimiento de entrada de informacion que toma como entrada una variable p(i) para cada numero entero i = 1, ..., L, en el que L es un numero entero de 1 o mas, cuya variable p(i) es una tupla (t, v^i) positiva o una tupla -(t, v^i) negativa de la informacion t de identificacion, en el que t es cualquier numero entero de entre t = 1, ..., d, e informacion de atributos v^i := (vi,i), donde i' = 1, ..., nt; y una matriz M predeterminada que tiene L filas y r columnas, en el que r es un numero entero de 1 o mas,
    un procedimiento de generacion de vectores para generar un vector columna s^T: = (s1, ..., sL)T := Mf^T basado en un vector V que tiene r piezas de elementos y la matriz M introducida en el segundo procedimiento de entrada de informacion, y generar un vector columna (s^’)T := (s1', ..., sL')T := Mf)T basado en la matriz M y un vector f"*' que tiene r piezas de elementos y satisface s0 = h^f)T donde s0 = h^f^T,
    un elemento ci de encriptacion para, para cada numero entero i = 1, ..., L y en base al vector columna s^T y el vector columna (s^')T que son generados en el procedimiento de generacion de vectores, y valores 0i y 9i' predeterminados para cada numero entero i = 1, ..., L, generar un elemento ci de encriptacion que incluye un vector indicado en la Formula 20, cuando la variable p(i) es una tupla (t, v^i) positiva, usando un vector base
    5
    10
    15
    20
    25
    30
    35
    40
    45
    bt,i', en el que i' = 1, 2nt, de la base Bt indicada por la informacion t de identificacion de la tupla positiva, y
    generar un elemento c de encriptacion que incluye un vector indicado en la Formula 21, cuando la variable p(i) es una tupla -(t, v^i) negativa, usando un vector base bti, en el que i = 1, ..., 2nt, indicado por la informacion t de identificacion de la tupla negativa, y
    un procedimiento de transmision de texto encriptado para transmitir al dispositivo de desencriptacion, un texto cts encriptado que incluye: el elemento c de encriptacion generado para cada numero entero i = 1, ..., L en el procedimiento de generacion de elemento ci de encriptacion; la variable p(i); y la matriz M, y
    en el que el programa de desencriptacion causa que el ordenador ejecute
    un procedimiento de recepcion de clave de desencriptacion para recibir la clave usk de desencriptacion transmitida en el procedimiento de transmision de clave de desencriptacion,
    un procedimiento de recepcion de datos para recibir el texto cts encriptado transmitido en el procedimiento de transmision de texto encriptado,
    un procedimiento de calculo de coeficiente complementario para, en base a la informacion de atributos x^t incluida en la clave usk de desencriptacion recibida en el procedimiento de recepcion de clave de desencriptacion, y la variable p(i) incluida en el texto cts encriptado recibido en el procedimiento de recepcion de datos, especificar, de entre los numeros enteros i = 1, ..., L, un conjunto I de un numero entero i para el cual la variable p(i) es una tupla (t, v^i) positiva, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla positiva recibida en el procedimiento de recepcion de clave de desencriptacion, y con la que un producto interno de v^i de la tupla positiva y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla positiva es igual a 0 y un numero entero i para el cual la variable p(i) es una tupla -(t, v^i) negativa, en el que la clave usk de desencriptacion incluye x^t indicado por la informacion t de identificacion de la tupla negativa recibida en el procedimiento de recepcion de clave de desencriptacion, y con la que un producto interno de v^i de la tupla negativa y la informacion x^t de atributos indicada por la informacion t de identificacion de la tupla negativa no es igual a 0; y calcular, con respecto a i incluido en el conjunto I especificado, un coeficiente ai complementario con el que un total de aiMi, basado en Mi que es un elemento en una i-esima fila de la matriz M incluida en el texto cts de encriptacion se convierte en un vector predeterminado, y
    un procedimiento de operacion de emparejamiento para calcular informacion K predeterminada mediante la realizacion de una operacion de emparejamiento indicada en la Formula 22 para el elemento ci de encriptacion incluido en el texto cts encriptado y el elemento k*t de clave incluido en la clave usk de desencriptacion en base al conjunto I y el coeficiente ai complementario que se calculan en el procedimiento de calculo del coeficiente complementario.
    [Formula 19]
    «<? + !)*,,i.......(4+0*
    imagen5
    [Formula 20]
    imagen6
    [Formula 21]
    imagen7
    [Formula 22]
    K:= n eCCf.k ;)“<■ II
    iel a p(i'M^v.) ie/ a p(i)=-<^)
    5
ES11862602.7T 2011-03-25 2011-12-16 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 Active ES2627124T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011067471 2011-03-25
JP2011067471A JP5618881B2 (ja) 2011-03-25 2011-03-25 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
PCT/JP2011/079176 WO2012132136A1 (ja) 2011-03-25 2011-12-16 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Publications (1)

Publication Number Publication Date
ES2627124T3 true ES2627124T3 (es) 2017-07-26

Family

ID=46929933

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11862602.7T Active ES2627124T3 (es) 2011-03-25 2011-12-16 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

Country Status (7)

Country Link
US (1) US9183411B2 (es)
EP (1) EP2690817B1 (es)
JP (1) JP5618881B2 (es)
KR (1) KR101443553B1 (es)
CN (1) CN103444126B (es)
ES (1) ES2627124T3 (es)
WO (1) WO2012132136A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5841955B2 (ja) * 2013-01-21 2016-01-13 日本電信電話株式会社 関数型暗号システム及び方法
CN105637799B (zh) * 2013-10-09 2019-06-25 三菱电机株式会社 加密系统、加密装置、重加密密钥生成装置以及重加密装置
US20170148357A1 (en) * 2014-07-02 2017-05-25 Mitsubishi Electric Corporation Matrix generation apparatus, matrix generation method, and non-transitory computer-readable recording medium storing matrix generation program
US9900769B2 (en) 2015-05-29 2018-02-20 Nagravision S.A. Methods and systems for establishing an encrypted-audio session
US10122767B2 (en) 2015-05-29 2018-11-06 Nagravision S.A. Systems and methods for conducting secure VOIP multi-party calls
US9891882B2 (en) 2015-06-01 2018-02-13 Nagravision S.A. Methods and systems for conveying encrypted data to a communication device
US10356059B2 (en) 2015-06-04 2019-07-16 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
DE102016207635A1 (de) * 2016-05-03 2017-11-09 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Gerätezugriffen
CN107689867B (zh) * 2017-09-08 2019-12-10 晋商博创(北京)科技有限公司 一种在开放环境下的密钥保护方法和系统
JP6936482B2 (ja) * 2017-11-10 2021-09-15 地方独立行政法人東京都立産業技術研究センター 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム
CN109067528B (zh) * 2018-08-31 2020-05-12 阿里巴巴集团控股有限公司 密码运算、创建工作密钥的方法、密码服务平台及设备
KR102123435B1 (ko) * 2019-08-19 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 동치 질의를 지원하는 암호화 방법 및 이를 이용한 장치
KR102123440B1 (ko) * 2019-09-02 2020-06-16 세종대학교산학협력단 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치
CN110738513B (zh) * 2019-09-11 2022-08-02 完美世界(北京)软件科技发展有限公司 一种用于生成、验证兑换码的方法和装置
CN114301613B (zh) * 2020-09-22 2023-08-22 华为技术有限公司 安全通信的方法和装置
WO2022232042A1 (en) * 2021-04-26 2022-11-03 Ntt Research, Inc. Decentralized multi-authority attribute-based encryption with fully adaptive security
WO2024013924A1 (ja) * 2022-07-14 2024-01-18 日本電気株式会社 暗号システム、鍵発行装置、鍵発行方法及び鍵発行プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257836B1 (en) * 2000-04-24 2007-08-14 Microsoft Corporation Security link management in dynamic networks
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
WO2008146546A1 (ja) * 2007-05-25 2008-12-04 Nec Corporation 鍵生成装置、暗号化装置及び復号装置
EP2201491A1 (en) * 2007-10-10 2010-06-30 Telefonaktiebolaget LM Ericsson (PUBL) Apparatus for reconfiguration of a technical system based on security analysis and a corresponding technical decision support system and computer program product
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置

Also Published As

Publication number Publication date
EP2690817A4 (en) 2014-11-26
US20130339754A1 (en) 2013-12-19
KR101443553B1 (ko) 2014-09-23
EP2690817A1 (en) 2014-01-29
KR20130136555A (ko) 2013-12-12
CN103444126B (zh) 2017-04-12
EP2690817B1 (en) 2017-04-26
US9183411B2 (en) 2015-11-10
WO2012132136A1 (ja) 2012-10-04
CN103444126A (zh) 2013-12-11
JP5618881B2 (ja) 2014-11-05
JP2012203182A (ja) 2012-10-22

Similar Documents

Publication Publication Date Title
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
EP2565862B1 (en) Encryption processing system, key generation device, encryption device, decryption device, signature processing system, signature device and verification device
EP2424154B1 (en) Encryption processing system
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US9407438B2 (en) Cryptographic system, cryptographic method, and cryptographic program
US8577030B2 (en) Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
US8929542B2 (en) Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
EP2670081B1 (en) Signature processing system, key generation device, signature device, verification device, signature processing method and signature processing program
Seo et al. Attribute-based proxy re-encryption with a constant number of pairing operations
EP2675107B1 (en) Encryption processing system, key generation device, encryption device, decryption device, key delegation device, encryption processing method, and encryption processing program