ES2955589T3 - Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico - Google Patents

Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico Download PDF

Info

Publication number
ES2955589T3
ES2955589T3 ES10842191T ES10842191T ES2955589T3 ES 2955589 T3 ES2955589 T3 ES 2955589T3 ES 10842191 T ES10842191 T ES 10842191T ES 10842191 T ES10842191 T ES 10842191T ES 2955589 T3 ES2955589 T3 ES 2955589T3
Authority
ES
Spain
Prior art keywords
vector
key
formula
basis
encryption
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
ES10842191T
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 ES2955589T3 publication Critical patent/ES2955589T3/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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • H04L9/007Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models involving hierarchical structures
    • 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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

Se logra un cifrado predicado capaz de delegar autoridad. Un proceso de cifrado se realiza utilizando un espacio V y un espacio V* que son espacios vectoriales duales (espacios vectoriales de distorsión dual) relacionados entre sí mediante una operación de emparejamiento. Un dispositivo de cifrado genera un vector en el espacio V, en el que se coloca la información de transmisión, como vector de cifrado. Un dispositivo de decodificación realiza la operación de emparejamiento con respecto al vector de cifrado generado por el dispositivo de cifrado y un vector de clave, que es un vector predeterminado en el espacio V*, y decodifica el vector de cifrado, extrayendo así información relacionada con la información de transmisión. En particular, el dispositivo de cifrado y el dispositivo de decodificación realizan el proceso de cifrado sin utilizar una parte de la dimensión del espacio V y del espacio V*. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico
Campo técnico
La presente invención se refiere a un esquema de mecanismo de encapsulación de clave de predicado jerárquico (HPKEM) y a un esquema de cifrado de predicado jerárquico (HPE).
Técnica anterior
La literatura no de patentes 18 analiza la implementación de esquemas de HPKEM y HPE en espacios duales emparejados a través de una operación de emparejamiento.
Lista de referencias
Literatura no de patentes
Literatura no de patentes 1: Bethencourt, J., Sahai, A., Waters, B.: Ciphertext-policy attribute-based encryption. En: Simposio del IEEE de 2007 sobre seguridad y privacidad, págs. 321-334. Prensa del IEEE (2007)
Literatura no de patentes 2: Boneh, D., Boyen, X.: Efficient selective-ID secure identity based encryption without random oracles. En: Cachin, C., Camenisch, J. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, págs.
223-238. Springer Heidelberg (2004)
Literatura no de patentes 3: Boneh, D., Boyen, X.: Secure identity based encryption without random oracles. En: Franklin, M. K. (ed.) CRYPTO 2004. LNCS, vol. 3152, págs. 443-459. Springer Heidelberg (2004) Literatura no de patentes 4: Boneh, D., Boyen, X., Goh, E.: Hierarchical identity based encryption with constant size ciphertext. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, págs. 440-456. Springer Heidelberg (2005)
Literatura no de patentes 5: Boneh, D., Franklin, M.: Identity-based encryption from the Weil pairing. En: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, págs. 213-229. Springer Heidelberg (2001)
Literatura no de patentes 6: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, págs. 455-470. Springer Heidelberg (2008)
Literatura no de patentes 7: Boneh, D., Waters, B.: Conjunctive, subset, and range queries on encrypted data. En: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, págs. 535-554. Springer Heidelberg (2007) Literatura no de patentes 8: Boyen, X., Waters, B.: Anonymous hierarchical identity-based encryption (without random oracles). En: Dwork, C. (ed.) CRYPTO 2006. LNCS, vol. 4117, págs. 290-307. Springer Heidelberg (2006)
Literatura no de patentes 9: Cocks, C.: An identity based encryption scheme based on quadratic residues. En: Honary, B. (ed.) IMAInt. Conferencia LNCS, vol. 2260, págs. 360-363. Springer Heidelberg (2001) Literatura no de patentes 10: Gentry, C.: Practical identity-based encryption without random oracles. En: Vaudenay, S. (ed.) EUROCRYPT 2006. LNCS, vol. 4004, págs. 445-464. Springer Heidelberg (2006) Literatura no de patentes 11: Gentry, C., Halevi, S.: Hierarchical identity-based encryption with polynomially many levels. En: Reingold, O. (ed.) TCC 2009. LNCS, vol. 5444, págs. 437-456. Springer Heidelberg (2009) Literatura no de patentes 12: Gentry, C., Silverberg, A.: Hierarchical ID-based cryptography. En: Zheng, Y (ed.) ASIACRYPT 2002. LNCS, vol. 2501, págs. 548-566. Springer Heidelberg (2002)
Literatura no de patentes 13: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for fine-grained access control of encrypted data. En: Conferencia ACM sobre seguridad informática y de las comunicaciones 2006, págs. 89-98, Ac M (2006)
Literatura no de patentes 14: Groth, J., Sahai, A.: Efficient non-interactive proof systems for bilinear groups.
En: Smart, N. P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, págs. 415-432. Springer Heidelberg (2008) Literatura no de patentes 15: Horwitz, J., Lynn, B.: Towards hierarchical identity-based encryption. En: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, págs. 466-481. Springer Heidelberg (2002) Literatura no de patentes 16: Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. En: Smart, N.P. (ed.) EUROCRYPT 2008. l Nc S, vol. 4965, págs.
146-162. Springer Heidelberg (2008)
Literatura no de patentes 17: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. Ln Cs , vol. 5209, págs. 57-74. Springer Heidelberg (2008)
Literatura no de patentes 18: Okamoto, T., Takashima, K.: A geometric approach on pairing and hierarchical predicate encryption. En: Sesión de pósters, EUROCRYPT 2009. (2009)
Literatura no de patentes 19: Ostrovsky, R., Sahai, A., Waters, B.: Attribute-based encryption with non-monotonic access structures. En: Conferencia ACM sobre seguridad informática y de las comunicaciones 2007, págs. 195-203, ACM, (2007)
Literatura no de patentes 20: Pirretti, M., Traynor, P., McDaniel, P., Waters, B.: Secure attribute-based systems. En: Conferencia ACM sobre seguridad informática y de las comunicaciones 2006, págs. 99-112, ACM, (2006)
Literatura no de patentes 21: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, págs. 457-473. Springer Heidelberg (2005)
Literatura no de patentes 22: Shi, E., Waters, B.: Delegating capability in predicate encryption systems. En: Aceto, L., Damgard, I., Goldberg, L.A., Halldorsson, M.M., Ingolfsdottir, A., Walukiewicz, I. (eds.) ICALP (2) 2008. LNCS, vol. 5126, págs. 560-578. Springer Heidelberg (2008)
Literatura no de patentes 23: Takashima, K.: Efficiently computable distortion maps for supersingular curves. En: van der Poorten, AJ, Stein, A. (eds.) ANTS VIII, LNc S, vol. 5011, págs. 88-101. Springer Heidelberg (2008)
Literatura no de patentes 24: Waters, B: Ciphertext-policy attribute-based encryption: an expressive, efficient, and provably secure realization. ePrint, IACR, http://eprint.iacr.org/2008/290
Literatura no de patentes 25: T. Okamoto y K. Takashima, "Hierarchical predicate encryption for inner-products", Asiacrypt 2009, LNCS vol. 5912, págs. 214-231. Springer Heidelberg (2009) Literatura no de patentes 26: B. Waters, "Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions", CRYPTO 2009, LNCS vol. 5677, págs. 619-636. Springer Heidelberg (2009) Literatura no de patentes 27: A. Lewko y B. Waters, "New techniques for dual system encryption and fully secure HIBE with short ciphertexts", ePrint, IACR, http://eprint.iacr.org/2009/482
"Hierarchical Predicate Encryption for Inner-Products" (TATSUAKI OKAMOTO ET AL, ADVANCES IN CRYPTOLOGY - ASIACRYPT 2009, SPRINGER BERLIN HEIDELBERG, BERLÍN, HEIDELBERG, PÁGINA(S) 214-231, (20091206), ISBN 978-3-642-10365-0, XP047030525 [X] 1-35) presenta un esquema de cifrado de predicado jerárquico para predicados de producto interno que es seguro en el modelo estándar bajo nuevos supuestos.
"Delegate predicate encryption and its application to anonymous authentication" (RIBAO WEI ET AL, INFORMATION, COMPUTER, AND COMMUNICATIONS SECURITY, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 EE. UU., (20090310), doi:10.1145/1533057.1533107, ISBN978-1-60558-394-5, páginas 372-375, XP058175338) describe un esquema de autenticación anónima, en el que las reglas de autenticación se pueden describir de una manera muy expresiva, mientras que el anonimato del usuario está protegido y las reglas de autenticación también están ocultas.
"Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", (JONATHAN KATZ Y AMIT SAHAI Y BRENT WATERS, (20070708), páginas 1 a 29, ARCHIVO DE CRIPTOLOGÍA DE EPRINT: INFORME 2007, XP008149983) construye un esquema para predicados correspondiente a la evaluación de productos internos sobre Zn.
"A New Approach on Bilinear Pairings and Its Applications" (TATSUAKI OKAMOTO, ASIACRYPT 2009, (20091210), XP055381606) divulga una construcción general de generadores pseudoaleatorios sobre grupos abelianos generales.
"Delegating Capabilities in Predicate Encryption Systems" (ELAINE SHI ET AL, AUTOMATA, LANGUAGES
AND PROGRAMMING (SERIE DE LIBROS: LECTURE NOTES IN COMPUTER SCIENCE); [LECTURE
NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLÍN, HEIDELBERG,
PÁGINA(S) 560-578, (20080707), ISBN 978-3-540-70582-6, XP019092661) divulga que en sistemas de cifrado de predicado, dada una capacidad, se pueden evaluar uno o más predicados en el texto sin formato cifrado.
"Predicate Privacy in Encryption Systems" (EMILY SHEN ET AL, THEORY OF CRYPTOGRAPHY,
SPRINGER BERLIN HEIDELBERG, BERLÍN, HEIDELBERG, PÁGINAS 457-473, (20090315), ISBN
978-3-642-00456-8, XP047029884) considera una nueva noción denominada privacidad del predicado, la propiedad de que los tokens no revelan información sobre el predicado de consulta codificado.
"Hierarchical Identity Based Encryption with Polynomially Many Levels" (CRAIG GENTRY ET AL, THEORY
OF CRYPTOGRAPHY, SPRINGER BERLIN HEIDELBERG, BERLÍN, HEIDELBERG, PÁGINA(S) 437-456,
(20090315), ISB N978-3-642-00456-8, XP047029883) ofrece una estricta prueba de seguridad, independientemente del número de niveles; por lo tanto, nuestro sistema es seguro para muchos niveles polinómicos.
"HODGE THEORY FOR R-MANIFOLDS" (Pedro Acosta, (20080101), (20170613), XP055381318) divulga LA TEORÍA DE HODGE PARA COLECTORES R.
Divulgación de la invención
Problema técnico
En los esquemas de HPKEM y HPE propuestos en la literatura no de patentes 18, la prueba de seguridad se proporciona en un modelo idealizado (genérico). Sin embargo, en los esquemas de HPKEM y HPE propuestos en la literatura no de patentes 18, la prueba de seguridad no se proporciona en un modelo estándar.
Un objetivo de la presente invención es proporcionar un esquema de cifrado de predicado (PE) y un esquema de mecanismo de encapsulación de clave de predicado (PKEM) con seguridad mejorada. En particular, un objetivo de la presente invención es proporcionar un esquema de PE y un esquema de PKEM con capacidad de delegación.
Solución al problema
La presente invención se define por las reivindicaciones independientes adjuntas. Otras implementaciones se describen en las reivindicaciones dependientes adjuntas, la descripción y las figuras. Un sistema de procesamiento criptográfico de acuerdo con esta invención, por ejemplo, realiza un proceso de cifrado de predicado usando espacios vectoriales duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 1, y el sistema de procesamiento criptográfico comprende:
un dispositivo de cifrado al que se le proporciona una base BA e información de atributo predeterminada como una clave pública, teniendo la base BA, de entre los vectores de base bi (i = 1,..., n,..., S,..., N) (siendo N un número entero mayor o igual que 3, siendo S un número entero desde n+1 hasta N-1, y siendo n un número entero desde 1 a N-2) que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1 , . , n+1) excluyendo los vectores de base bi (i = S+1,..., N), y, usando un dispositivo de procesamiento, genera como un vector de cifrado c1 un vector en el que se establece la información de atributos como coeficientes de uno o más vectores de base de entre los vectores de base bi (i = 1,..., n) de la base BA, y la información predeterminada se establece como un coeficiente del vector de base bn+1; y
un dispositivo de descifrado que, usando el dispositivo de procesamiento, realiza la operación de emparejamiento e (ci, k*L, dec) mostrada en la Fórmula 1 sobre el vector de cifrado c1 generado por el dispositivo de cifrado y un vector de clave k*L, dec para descifrar el vector de cifrado c1 y extraer un valor relativo a la información predeterminada, siendo el vector de clave k*L,dec un vector, de una base B* del espacio V*, en el que la información de predicado se establece como coeficientes de uno o más vectores de base de los vectores de base b*i (i =1, ..., n) de entre los vectores de base b*i (i =1, ..., n, ..., S, ..., N) que constituyen la base B*, y se establece un valor predeterminado como un coeficiente de un vector de base b*n+1 de la base B*.
[Fórmula 1]
donde
Figure imgf000005_0001
xi,qí. coeficientes.
Efectos ventajosos de la invención
Un sistema criptográfico de acuerdo con esta invención puede implementar un esquema de cifrado de predicado (PE) y un esquema de mecanismo de encapsulación de clave de predicado (PKEM) con seguridad mejorada. Breve descripción de los dibujos
La fig. 1 es un diagrama para explicar una noción de "delegación (delegación jerárquica)";
la fig. 2 es un diagrama para explicar la delegación que salta un nivel;
la fig. 3 es un diagrama que muestra estructuras jerárquicas de información de atributo e información de predicado;
la fig. 4 es un diagrama que muestra un ejemplo de un esquema de cifrado basado en identidad jerárquico (HIBE) que es un ejemplo de aplicación de un esquema de cifrado de predicado jerárquico (HPE) para predicados de producto interno;
la fig. 5 es un diagrama para explicar una base y un vector de base;
la fig. 6 es un diagrama para explicar un ejemplo de un procedimiento para implementar una estructura jerárquica en un espacio vectorial;
la fig. 7 es un diagrama de configuración de un sistema de procesamiento criptográfico 10;
la fig. 8 es un diagrama de flujo que muestra las operaciones de un dispositivo de generación de clave 100, un dispositivo de cifrado de L-ésimo nivel 200 y un dispositivo de descifrado de L-ésimo nivel 300 del sistema de procesamiento criptográfico 10;
la fig. 9 es un diagrama de flujo que muestra las operaciones de un dispositivo de delegación de clave de L-ésimo nivel 400, un dispositivo de cifrado de (L+1)-ésimo nivel 200 y un dispositivo de descifrado de (L+1)-ésimo nivel 300 del sistema de procesamiento criptográfico 10;
la fig. 10 es un diagrama para explicar un procedimiento de cambio de base;
la fig. 11 es un diagrama de bloques funcionales que muestra funciones del sistema de procesamiento criptográfico 10 que implementa un esquema de HPE de acuerdo con un segundo modo de realización; la fig. 12 es un diagrama de flujo que muestra las operaciones del dispositivo de generación de clave 100 de acuerdo con el segundo modo de realización;
la fig. 13 es un diagrama de flujo que muestra las operaciones del dispositivo de cifrado 200 de acuerdo con el segundo modo de realización;
la fig. 14 es un diagrama de flujo que muestra las operaciones del dispositivo de descifrado 300 de acuerdo con el segundo modo de realización;
la fig. 15 es un diagrama de flujo que muestra las operaciones del dispositivo de delegación de clave 400 de acuerdo con el segundo modo de realización;
la fig. 16 es un diagrama conceptual que muestra una estructura de una base de espacios vectoriales de emparejamiento dual de acuerdo con el segundo modo de realización;
la fig. 17 es un diagrama de bloques funcionales que muestra funciones del sistema de procesamiento criptográfico 10 que implementa un esquema de mecanismo de encapsulación de clave de predicado jerárquico (HPKEM) de acuerdo con el segundo modo de realización;
la fig. 18 es un diagrama de flujo que muestra las operaciones del dispositivo de cifrado 200 de acuerdo con el segundo modo de realización;
la fig. 19 es un diagrama de flujo que muestra las operaciones del dispositivo de descifrado 300 de acuerdo con el segundo modo de realización;
la fig. 20 es un diagrama de bloques funcionales que muestra funciones del sistema de procesamiento criptográfico 10 que implementa un esquema de cifrado de predicado (PE) con capacidad de delegación de acuerdo con un tercer modo de realización; y
la fig. 21 es un diagrama que muestra un ejemplo de una configuración de hardware del dispositivo de generación de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y el dispositivo de delegación de clave 400.
Descripción de los modos de realización preferentes
Ahora se describirán modos de realización de la invención con referencia a los dibujos.
En la siguiente descripción, un dispositivo de procesamiento es una CPU 911 o similar que se describirá más adelante. Un dispositivo de almacenamiento es una ROM 913, una RAM 914, un disco magnético 920 o similares que se describirán más adelante. Un dispositivo de comunicación es una placa de comunicación 915 o similar que se describirá más adelante. Un dispositivo de entrada es un teclado 902, la placa de comunicación 915 o similares que se describirán más adelante. Un dispositivo de salida es la RAM 914, el disco magnético 920, la placa de comunicación 915, una pantalla LCD 901 o similares que se describirán más adelante. Es decir, el dispositivo de procesamiento, el dispositivo de almacenamiento, el dispositivo de comunicación, el dispositivo de entrada y el dispositivo de salida son hardware.
Se describirán las notaciones que se van a usar en la siguiente descripción.
Cuando A es una variable o distribución aleatoria, la Fórmula 101 indica que y se selecciona aleatoriamente a partir de A de acuerdo con la distribución de A. Es decir, y es un número aleatorio en la Fórmula 101.
[Fórmula 101]
Figure imgf000006_0001
Cuando A es un conjunto, la Fórmula 102 indica que y se selecciona uniformemente a partir de A. Es decir, y es un número aleatorio uniforme en la Fórmula 102.
[Fórmula 102]
Figure imgf000006_0002
La fórmula 103 indica que y se establece, define o sustituye por z.
[Fórmula 103]
Figure imgf000006_0003
Cuando a es un valor fijo, la Fórmula 104 indica que una máquina (algoritmo) A genera a en una entrada x. [Fórmula 104]
Figure imgf000006_0004
Por ejemplo,
Figure imgf000006_0005
Un símbolo de vector indica una representación vectorial sobre un campo finito Fq, es decir, la Fórmula 105. [Fórmula 105]
Figure imgf000007_0001
indica
Figure imgf000007_0002
La fórmula 106 indica el producto interno de dos vectores y mostrados en la Fórmula 107, y la Fórmula 108 muestra este producto interno.
[Fórmula 106]
Figure imgf000007_0003
[Fórmula 107]
x
v
Figure imgf000007_0004
[Fórmula 108]
Figure imgf000007_0005
XT indica la transpuesta de una matriz X.
En la siguiente descripción, un proceso criptográfico incluirá un proceso de cifrado, un proceso de descifrado y un proceso de generación de clave, y también incluirá un proceso de encapsulación de clave.
Primer modo de realización
En este modo de realización, se describirán conceptos básicos para implementar un "esquema de cifrado de predicado (PE) con delegación" y un "esquema de mecanismo de encapsulación de clave de predicado (PKEM) con delegación" que se analizarán en realizaciones posteriores, conjuntamente con restricciones básicas del esquema de PE (PKEM) con delegación.
En primer lugar, se describirá la noción de un "esquema de PE (PKEM) con delegación para predicados de producto interno", que es un tipo de esquema de PE (PKEM) con delegación. Los esquemas de PE (PKEM) con delegación que se van a analizar en los modos de realización posteriores son esquemas de PE (PKEM) con delegación para predicados de producto interno. Para describir la noción de esquema de PE con delegación para predicados de producto interno, se describirá primero una noción de "delegación", conjuntamente con una noción de "delegación jerárquica". A continuación, se describirá el "esquema de PE para predicados de producto interno". A continuación, se describirá un "esquema de PE jerárquico (HPE) para predicados de producto interno (esquema de PKEM jerárquico (HPKEM) para predicados de producto interno), que es un tipo de esquema de PE para predicados de producto interno con la noción de delegación jerárquica. Además, para reforzar la comprensión del esquema de HPE para predicados de producto interno, se describirá un ejemplo de aplicación del esquema de HPE para predicados de producto interno.
En segundo lugar, se describirá el esquema de HPE para predicados de producto interno en espacios vectoriales. En este y posteriores modos de realización, los esquemas de HPE y HPKEM para predicados de producto interno se implementan en espacios vectoriales. En primer lugar se describirán una "base" y un "vector de base". A continuación, se describirá el "esquema de PE para predicados de producto interno en espacios vectoriales". A continuación, se describirá un "procedimiento para implementar una estructura jerárquica en un espacio vectorial". Además, para reforzar la comprensión, se describirá un ejemplo de implementación de la estructura jerárquica.
En tercer lugar, se describirán las construcciones básicas de los "esquemas de HPE y HPKEM" de acuerdo con este y los modos de realización posteriores. También se describirá un resumen de un "sistema de procesamiento criptográfico 10" que implementa los esquemas de HPE y HPKEM.
En cuarto lugar, se describirán conceptos para implementar los esquemas de HPKEM y HPE. Se describirán "grupos de emparejamiento bilineal", "espacios vectoriales V y V*", "bases duales canónicas A y A*", "operación de emparejamiento", "cambio de base" y "mapas de distorsión".
En quinto lugar, se describirán los "espacios vectoriales de emparejamiento dual (DPVS)" que tienen estructuras matemáticas ricas para implementar los esquemas de HPKEM y HPE.
En sexto lugar, en base a las descripciones anteriores, se describirá en resumen un procedimiento para implementar los esquemas de HPE y HPKEM que se analizarán en detalle en los modos de realización posteriores.
<1. Esquema de HPE para predicados de producto interno>
<1-1. Noción de delegación (delegación jerárquica)>
La fig. 1 es un diagrama para explicar la noción de "delegación (delegación jerárquica)".
Delegación significa que un usuario que tiene una clave de nivel superior genera una clave de nivel inferior que tiene capacidades más limitadas que la clave (de nivel superior) del usuario.
En la fig. 1, una raíz (dispositivo de generación de clave) genera claves secretas para usuarios de primer nivel (nivel 1) usando una clave secreta maestra. Es decir, la raíz genera las claves 1,2 y 3 para los usuarios de primer nivel 1, 2 y 3, respectivamente. A continuación, usando la clave 1, por ejemplo, el usuario 1 puede generar las claves 11, 12 y 13 para los usuarios 11, 12 y 13, respectivamente, que son usuarios de (primer) nivel inferior del usuario 1. Las claves 11, 12 y 13 que poseen los usuarios 11, 12 y 13 tienen capacidades más limitadas que la clave 1 que posee el usuario 1. Las capacidades limitadas significan que los textos cifrados que se pueden descifrar con esa clave secreta son limitados. Es decir, una clave secreta de nivel inferior sólo puede descifrar algunos de los textos cifrados que se pueden descifrar mediante una clave secreta de nivel superior. Esto significa que las claves 11, 12 y 13 que poseen los usuarios 11, 12 y 13 solo pueden descifrar algunos de los textos cifrados que se pueden descifrar con la clave 1 que posee el usuario 1. Normalmente, las claves 11, 12 y 13 pueden descifrar respectivamente diferentes textos cifrados. Por otro lado, un texto cifrado que se puede descifrar con las claves 11, 12 o 13 se puede descifrar con la clave 1.
Como se muestra en la fig. 1, cada clave secreta se proporciona para un nivel específico. Esto se describe como "jerárquico". Es decir, como se muestra en la fig. 1, la generación jerárquica de claves de nivel inferior se denomina "delegación jerárquica".
En la fig. 1, se ha descrito que la raíz genera las claves secretas para los usuarios de primer nivel, los usuarios de primer nivel generan las claves secretas para los usuarios de segundo nivel y los usuarios de segundo nivel generan las claves secretas para los usuarios de tercer nivel. Sin embargo, como se muestra en la fig. 2, la raíz puede generar no sólo las claves secretas para los usuarios de primer nivel, sino también las claves secretas para los usuarios de segundo nivel o inferior. Asimismo, los usuarios de primer nivel pueden generar no sólo las claves secretas para los usuarios de segundo nivel, sino también las claves secretas para los usuarios de tercer nivel o inferior. Es decir, la raíz o cada usuario pueden generar las claves secretas para niveles inferiores al nivel de su propia clave secreta.
<1-2. Esquema de PE para predicados de producto interno>
A continuación se describirá el "esquema de PE para predicados de producto interno".
El esquema de PE es un esquema criptográfico en el que se puede descifrar un texto cifrado si el resultado de introducir la información de atributo x en la información de predicado fv es 1 (verdadero) (fv(x) = 1). Normalmente, la información de atributo x está incrustada en un texto cifrado, y la información de predicado fv está incrustada en una clave secreta. Es decir, en el esquema de PE, un texto cifrado c cifrado en base a la información de atributo x se descifra mediante una clave secreta SKf generada en base a la información de predicado fv. El esquema de PE se puede describir como un esquema criptográfico en el que, por ejemplo, la información de predicado fv es una expresión condicional y la información de atributo x es información que se introducirá en la expresión condicional, y un texto cifrado se puede descifrar si la información de entrada (información de atributo x) satisface la expresión condicional (información de predicado fv) (fv(x) = 1).
El esquema de PE se analiza en detalle en la literatura no de patentes 16.
El esquema de PE para predicados de producto interno es un tipo de esquema de PE en el que fv(x) = 1 si el producto interno de la información de atributo x y la información de predicado fv es un valor predeterminado. Es decir, un texto cifrado c cifrado mediante la información de atributo x se puede descifrar mediante una clave secreta SKf generada en base a la información de predicado fv si y sólo si el producto interno de la información de atributo x y la información de predicado fv es un valor predeterminado. En la siguiente descripción, se supone que fv(x) = 1 si el producto interno de la información de atributo x y la información de predicado fv es 0.
<1-3. Esquema de HPE para predicados de producto interno>
El esquema de HPE (HPKEM) para predicados de producto interno es un tipo de "esquema de PE para predicados de producto interno" con la noción descrita anteriormente de "delegación jerárquica".
En el esquema de HPE para predicados de producto interno, la información de atributo y la información de predicado tienen estructuras jerárquicas, para añadir un sistema de delegación jerárquica al esquema de PE para predicados de producto interno.
La fig. 3 es un diagrama que muestra estructuras jerárquicas de información de atributo e información de predicado.
En la fig. 3, la información de atributo y la información de predicado con los mismos números de referencia se corresponden entre sí (es decir, su producto interno es 0). Es decir, el producto interno de un atributo 1 y un predicado 1 es 0, el producto interno de un atributo 11 y un predicado 11 es 0, el producto interno de un atributo 12 y un predicado 12 es 0, y el producto interno de un atributo 13 y un predicado 13 es 0. Esto significa que un texto cifrado c1 cifrado mediante el atributo 1 se puede descifrar mediante una clave secreta k1 generada en base al predicado 1. Un texto cifrado c11 cifrado mediante el atributo 11 se puede descifrar mediante una clave secreta k11 generada en base al predicado 11. Lo mismo puede decirse del atributo 12 y el predicado 12 así como del atributo 13 y el predicado 13.
Como se describe anteriormente, el esquema de HPE para predicados de producto interno tiene el sistema de delegación jerárquica. Por tanto, la clave secreta k11 se puede generar en base al predicado 11 y la clave secreta k1 se puede generar en base al predicado 1. Es decir, un usuario que tiene la clave secreta de nivel superior k1 puede generar su clave secreta de nivel inferior k11 a partir de la clave secreta k1 y el predicado de nivel inferior 11. Asimismo, se puede generar una clave secreta k12 a partir de la clave secreta k1 y el predicado 12, y se puede generar una clave secreta k13 a partir de la clave secreta k1 y el predicado 13.
Un texto cifrado cifrado mediante una clave (clave pública) correspondiente a una clave secreta de nivel inferior se puede descifrar mediante una clave secreta de nivel superior. Por otra parte, un texto cifrado cifrado mediante una clave (clave pública) correspondiente a una clave secreta de nivel superior no se puede descifrar mediante una clave secreta de nivel inferior. Es decir, los textos cifrados c11, c12 y c13 cifrados mediante los atributos 11, 12 y 13, respectivamente, se pueden descifrar mediante la clave secreta k1 generada en base al predicado 1. Por otra parte, el texto cifrado c1 cifrado mediante el atributo 1 no se puede descifrar mediante las claves secretas k11, k12 y k13 generadas en base a los predicados 11, 12 y 13, respectivamente. Es decir, el producto interno del atributo 11, 12 o 13 y el predicado 1 es 0. Por otra parte, el producto interno del atributo 1 y el predicado 11, 12 o 13 no es 0.
<1-4. Ejemplo de aplicación del esquema de HPE para predicados de producto interno>
La fig. 4 es un diagrama que muestra un ejemplo de un esquema de cifrado basado en identidad jerárquico (HIBE), que es un ejemplo de aplicación del esquema de HPE para predicados de producto interno que se describirá más adelante. El esquema de HIBE es un proceso criptográfico en el que la noción de jerárquico se aplica a un esquema de cifrado basado en identidad (IBE). El esquema de IBE es un tipo de esquema de Pe , a saber, un esquema de PE coincidente, que permite descifrar un texto cifrado si un ID incluido en el texto cifrado coincide con un ID incluido en una clave secreta.
En el ejemplo mostrado en la fig. 4, en base a una clave secreta maestra sk y a un ID "A" de la Compañía A, una raíz (dispositivo de generación de clave) genera una clave secreta (clave A) correspondiente al ID "A". Por ejemplo, en base a la clave A y el ID de cada división, un administrador de seguridad de la Compañía A genera una clave secreta correspondiente a ese ID. Por ejemplo, el administrador de seguridad genera una clave secreta (clave 1) correspondiente a un ID "A-1" de una división de ventas. A continuación, en base a la clave secreta de cada división y el ID de cada unidad que pertenece a esa división, por ejemplo, un administrador de cada división genera una clave secreta correspondiente a ese ID. Por ejemplo, un administrador de la división de ventas genera una clave secreta (clave 11) correspondiente a un ID "A-11" de una unidad de ventas 1.
En este caso, un texto cifrado cifrado mediante el ID "A-11" de la unidad de ventas 1 se puede descifrar mediante la clave 11, que es la clave secreta correspondiente al ID "A-11" de la unidad de ventas 1. Sin embargo, un texto cifrado cifrado mediante el ID de una unidad de ventas 2 o de una unidad de ventas 3 no se puede descifrar mediante la clave 11. Además, un texto cifrado cifrado mediante el ID de la división de ventas no se puede descifrar mediante la clave 11.
Un texto cifrado cifrado mediante el ID "A-1" de la división de ventas se puede descifrar mediante la clave 1, que es la clave secreta correspondiente al ID "A-1" de la división de ventas. Además, un texto cifrado cifrado mediante el ID de una unidad perteneciente a la división de ventas se puede descifrar con la clave 1. Es decir, un texto cifrado cifrado mediante el ID de la unidad de ventas 1,2 o 3 se puede descifrar mediante la clave 1. Sin embargo, un texto cifrado cifrado mediante el ID de una división de fabricación (ID: A-2) o una división de personal (ID: A-3) no se puede descifrar mediante la clave 1. Además, un texto cifrado cifrado mediante el ID de Compañía A no se puede descifrar mediante la clave 1.
Un texto cifrado cifrado mediante el ID "A" de Compañía A se puede descifrar mediante la clave A, que es la clave secreta correspondiente al ID "A" de Compañía A. Además, un texto cifrado cifrado mediante el ID de cada división perteneciente a Compañía A o el ID de una unidad que pertenece a cada división se puede descifrar mediante la clave A.
El esquema de HPE para predicados de producto interno se puede adaptar a diversas aplicaciones además del esquema de IBE. En particular, los procesos criptográficos que se van a describir más adelante no se limitan a una clase de pruebas de igualdad, de modo que pueden aplicarse a una gran cantidad de aplicaciones. Por ejemplo, los procesos criptográficos también se pueden adaptar a otros tipos de esquema de PE para predicados de producto interno, tales como un esquema de cifrado con capacidad de búsqueda, haciendo posible implementar aplicaciones que no son posibles con un esquema de PE de la técnica anterior con el sistema de delegación, tal como como limitar un intervalo de búsqueda en cada nivel usando una expresión condicional tal como AND u OR. Es decir, los esquemas de HPKEM y HPE que se van a describir en los modos de realización posteriores se pueden aplicar a una amplia variedad de aplicaciones tales como IBE y esquemas de cifrado con capacidad de búsqueda.
<2. Esquema de HPE para predicados de producto interno en espacios vectoriales>
Los esquemas de HPKEM y HPE se implementan en espacios vectoriales de altas dimensiones denominados espacios vectoriales de emparejamiento dual (DPVS) que se describirán más adelante. Por tanto, se describirá el esquema de HPE para predicados de producto interno en espacios vectoriales.
<2-1. Base y vector de base>
En primer lugar, se explicarán en resumen una "base" y un "vector de base", que se van a usar para explicar un espacio vectorial.
La fig. 5 es un diagrama para explicar la base y el vector de base.
La fig. 5 muestra un vector v de un espacio vectorial bidimensional. El vector v es c1a1 + c 2a2. Además, el vector v es y1 b1 + y2b2. Aquí, a1 y a2 se denominan vectores de base en una base A y se representan como base A: = (a1, a2). b1 y b2 se denominan vectores de base en una base B y se representan como base B: = (b1, b2 ). c1, c2 , y1 e y2 son coeficientes de los respectivos vectores de base. La fig. 5 muestra un espacio vectorial bidimensional, de modo que hay dos vectores de base en cada base. En un espacio vectorial N-dimensional, hay un número N de vectores de base en cada base.
<2-2. Esquema de PE para predicados de producto interno en espacios vectoriales>
Se describirá ahora el esquema de PE para predicados de producto interno en espacios vectoriales.
Como se describe anteriormente, el esquema de PE para predicados de producto interno es un tipo de esquema de PE en el que fy(x) = 1 si el producto interno de la información de atributo x y la información de predicado fv es un valor predeterminado (0 en este caso). Cuando la información de atributo x y la información de predicado fv son vectores, a saber, un vector de atributox^ y un vector de predicado v^, su predicado de producto interno se define como se muestra en la Fórmula 109.
[Fórmula 109]
Figure imgf000010_0001
donde
Figure imgf000011_0001
Es decir, es un tipo de esquema de PE en el que el resultado de introducir la información de atributo x en la información de predicado fv es 1 (verdadero) si el producto interno del vector de atributox^ y el vector de pred icado^ (es decir, la suma de los productos internos por elementos) es 0, y el resultado de introducir la información de atributo x en la información de predicado fv es 0 (falso) si el producto interno del vector de atributox^ y el vector de predicado^ no es 0.
<2-3. Procedimiento para implementar una estructura jerárquica en un espacio vectorial>
Se describirá ahora un procedimiento para implementar una estructura jerárquica en un espacio vectorial.
La fig. 6 es un diagrama para explicar un ejemplo del procedimiento para implementar una estructura jerárquica en un espacio vectorial.
Aquí se supone que el espacio vectorial es un espacio vectorial de altas dimensiones (N-dimensional). Es decir, existe un número N de vectores de base ci (i = 1,..., N) en una base C predeterminada del espacio vectorial.
Se usan un número n de vectores de base (vectores de base ci (i = 1 , . , n)) de entre el número N de vectores de base para representar la estructura jerárquica. Los vectores de base ci (i = 1, . , n) se dividen en un número d de grupos cada uno, a saber, vectores de base ci (i = 1, ..., pi), vectores de base ci (i = pi 1, ..., p2 ), ..., y vectores de base ci (i= pd-i 1, ..., n), donde d indica una profundidad de jerarquía.
A continuación, se asigna un número pi de vectores de base ci (i = 1 , . , pi) para representar información de atributo e información de predicado del primer nivel. Se asigna un número (p2-pi) de vectores de base ci (i = pi+1,..., p2 ) para representar información de atributo e información de predicado del segundo nivel. Asimismo, se asigna un número (pd-pd-i) de vectores de base ci (i = pd-i 1, ..., pd (= n)) para representar información de atributo e información de predicado del d-ésimo nivel.
Para generar un texto cifrado mediante la información de atributo de L-ésimo nivel, no sólo se usa información de atributo de L-ésimo nivel sino del primer nivel al L-ésimo nivel para generar un texto cifrado. Del mismo modo, para generar una clave secreta mediante información de predicado de L-ésimo nivel, no sólo se usa información de predicado de L-ésimo nivel sino también información de predicado de primer nivel a L-ésimo nivel para generar una clave secreta. Es decir, para generar un texto cifrado mediante la información de atributo de L-ésimo nivel, o para generar una clave secreta mediante la información de predicado de L-ésimo nivel, se usa un número pL de vectores de base ci (i = 1 , . , μL) asignados del primer nivel al L-ésimo nivel. Por ejemplo, para generar un texto cifrado mediante información de atributo de tercer nivel, se usa un número p3 de vectores de base ci (i = 1 , . , p3) asignados del primer al tercer nivel para generar un texto cifrado, de modo que se refleja la información de atributo de primer a tercer nivel. Asimismo, para generar una clave secreta mediante información de predicado de tercer nivel, se usa el número p3 de vectores de base ci (i = 1 , . , p3) asignados del primer al tercer nivel para generar una clave secreta, de modo que se refleja la información de predicado del primer al tercer nivel. Es decir, la información de atributo o la información de predicado que se van a usar en un nivel inferior incluye información de atributo o información de predicado que se van a usar en un nivel superior. De esta manera, la información de atributo y la información de predicado tienen cada una una estructura jerárquica. A continuación, usando las estructuras jerárquicas de información de atributo e información de predicado, se incorpora un sistema de delegación en el esquema de PE para predicados de producto interno.
En la siguiente descripción, se usa un formato de jerarquíap^ para indicar una estructura jerárquica de un espacio vectorial. El formato de jerarquíap^se muestra en la Fórmula i i0.
[Fórmula 110 ]
Figure imgf000011_0002
donde
Figure imgf000011_0003
Es decir, el formato de jerarquía tiene información n que indica el número de vectores de base (número de dimensiones) asignados para representar la estructura jerárquica, información d que indica la profundidad de la jerarquía e información |Ji,..., pd que indica los vectores de base asignados a cada nivel.
Se describirá ahora el esquema de HPE para predicados de producto interno en espacios vectoriales.
Sea un espacio de atributos£L(L = 1,..., d) un espacio asignado para representar información de atributo de L-ésimo nivel , donde cada £ L es como se muestra en la Fórmula 111.
[Fórmula 111]
Figure imgf000012_0001
Sea un conjunto de atributos jerárquicos £ como se muestra en la Fórmula 112, donde la unión es una unión disjunta.
[Fórmula 112]
Figure imgf000012_0006
Entonces, los predicados jerárquicos que se muestran en la Fórmula 114 sobre los atributos jerárquicos que se muestran en la Fórmula 113 se definen como se muestra en la Fórmula 115.
[Fórmula 113]
Figure imgf000012_0002
[Fórmula 114]
Figure imgf000012_0007
donde
Figure imgf000012_0003
[Fórmula 115]
Si y sólo si L < h y
^ x¡ ^ V¡ = 0 para todo 1 < i < L, entonces
Figure imgf000012_0004
Sea el espacio de predicados jerárquicos F mostrado en la Fórmula 116.
[Fórmula 116]
Figure imgf000012_0005
Llámese nivel a h en la Fórmula 117 y a L en la Fórmula 118.
[Fórmula 117]
Figure imgf000013_0001
[Fórmula 118]
Figure imgf000013_0002
<2-4. Ejemplo de implementación de la estructura jerárquica>
La estructura jerárquica se explicará usando un ejemplo sencillo, donde se emplea un espacio de 6 dimensiones que tiene tres niveles, consistiendo cada nivel en un espacio de bidimensional. Es decir,p^: = (n, d; p1, ..., pd) = (6, 3; 2, 4, 6).
Un usuario que tiene una clave secreta de primer nivel sk1 generada en base a un vector de predicado de primer nivel v ^ 1: = (v1, v2 ) puede generar una clave secreta de segundo nivel sk2 basada en la clave secreta de primer nivel sk1 y un vector de predicado de segundo nivel v ^ 2 : = (v3, v4). Es decir, la clave secreta de segundo nivel sk2 se genera en base a los vectores de predicado (v^ 1v^2). Asimismo, un usuario que tiene la clave secreta de segundo nivel sk2 puede generar una clave secreta de tercer nivel sk3 en base a la clave secreta de segundo nivel sk2 y un vector de predicado de tercer nivel v^z. = (v5, v6). Es decir, la clave secreta de tercer nivel sk3 se genera en base a los vectores de predicado (v^1,v^2,v^3).
La clave secreta de primer nivel sk1 generada en base al vector de predicado de primer nivel v ^ 1 es una clave secreta generada por (v ^ 1, (0, 0), (0, 0)). Por tanto, la clave secreta de primer nivel sk1 puede descifrar un texto cifrado cifrado mediante un vector de atributo (x ^ 1, (*, *), (*, *)): = ((x1, X2 ), (*, *), (*, *)) si v ^ 1 ■ x ^ 1 = 0. Esto se debe a que (*, *) (0, 0) = 0. Aquí, indica un valor arbitrario.
Asimismo, la clave secreta de segundo nivel sk2 generada en base a los vectores de predicado de segundo nivel (v ^ 1,v ^ 2 ) es una clave secreta generada por (v ^ 1,v ^ 2 , (0, 0)). Por lo tanto, la clave secreta de segundo nivel sk2 puede descifrar un texto cifrado cifrado mediante vectores de atributo (x ^ 1,x ^ 2 , (*, *)): = ((x1, X2 ), (x3, X4), (*, *)) si v ^ 1 ■ x ^ 1 = 0 y v ^ 2 ■ x ^ 2 = 0.
Sin embargo, la clave secreta de segundo nivel sk2 no puede descifrar un texto cifrado cifrado mediante el vector de atributo de primer nivel x ^ 1: = (x1, x2 ) (es decir, (x ^ 1, (*, *), (*, *)). Esto se debe a que si no v ^ 2 = (0, 0), entonces (*, *) ■ v ^ 2 ^ 0 y v ^ 2 ■ x ^ 2^0. Por lo tanto, se puede afirmar que la clave secreta de segundo nivel sk2 tiene capacidades más limitadas que la clave secreta original sk2.
<3. Construcciones de los esquemas de HPE y HPKEM>
<3-1. Esquema de HPE>
Se describirá en resumen una construcción del esquema de HPE.
El esquema de HPE incluye cinco algoritmos probabilísticos de tiempo polinómico: Setup, GenKey, Enc, Dec y DelegateL (L = 1 , . , d-1).
(Setup)
El algoritmo Setup toma como entrada un parámetro de seguridad 1A y un formato de jerarquía p^, y genera una clave pública maestra pk y una clave secreta maestra sk. La clave secreta maestra sk es una clave de nivel superior.
(GenKey)
El algoritmo GenKey toma como entrada la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado que se muestran en la Fórmula 119, y genera una clave secreta de nivel L que se muestra en la Fórmula 120.
[Fórmula 119]
Figure imgf000013_0003
[Fórmula 120]
Figure imgf000014_0001
(Enc)
El algoritmo Enc toma como entrada la clave pública maestra pk, los vectores de atributo mostrados en la Fórmula 121 y un mensaje m, y genera un texto cifrado c. Es decir, el algoritmo Enc genera el texto cifrado c que contiene el mensaje m y cifrado mediante los vectores de atributo que se muestran en la Fórmula 121.
[Fórmula 121]
Figure imgf000014_0002
donde
Figure imgf000014_0003
(Dec)
El algoritmo Dec toma como entrada la clave pública maestra pk, la clave secreta de nivel L que se muestra en la Fórmula 122 y el texto cifrado c, y genera el mensaje m o un símbolo distinguido ±. El símbolo distinguido ± es información que indica un error de descifrado. Es decir, el algoritmo Dec descifra el texto cifrado c mediante la clave secreta de L-ésimo nivel y extrae el mensaje m. En caso de error de descifrado, el algoritmo Dec genera el símbolo distinguido 1.
[Fórmula 122]
Figure imgf000014_0004
Donde
Figure imgf000014_0005
(DelegateL)
DelegateL toma como entrada la clave pública maestra pk, la clave secreta de L-ésimo nivel que se muestra en la Fórmula 123 y un vector de predicado de (L+1)-ésimo nivel que se muestra en la Fórmula 124, y genera una clave secreta de (L+1)-ésimo nivel que se muestra en la Fórmula 125. Es decir, el algoritmo DelegateL genera una clave secreta de nivel inferior.
[Fórmula 123]
Figure imgf000014_0006
[Fórmula 124]
Figure imgf000014_0007
[Fórmula 125]
Figure imgf000014_0008
<3-2. Esquema de HPE>
Se explicará en resumen la construcción del esquema de HPKEM.
Al igual que el esquema de HPE, el esquema de HPKEM incluye cinco algoritmos probabilísticos de tiempo polinómico: Setup, GenKey, Enc, Dec y DelegateL (L = 1, d-1).
(Setup)
El algoritmo Setup toma como entrada un parámetro de seguridad 1A y un formato de jerarquía y genera una clave pública maestra pk y una clave secreta maestra sk. La clave secreta maestra sk es una clave de nivel superior.
(GenKey)
El algoritmo GenKey toma como entrada la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado que se muestran en la Fórmula 126, y genera una clave secreta de nivel L que se muestra en la Fórmula 127.
[Fórmula 126]
Figure imgf000015_0001
[Fórmula 127]
Figure imgf000015_0004
(Enc)
El algoritmo Enc toma como entrada la clave pública maestra pk y los vectores de atributo mostrados en la Fórmula 128, y genera un texto cifrado c y una clave de sesión K. Es decir, el algoritmo Enc genera el texto cifrado c que contiene información predeterminada (p) y cifrado mediante los vectores de atributo mostrados en la Fórmula 128 así como la clave de sesión K generada a partir de la información predeterminada (p).
[Fórmula 128]
Figure imgf000015_0002
donde
Figure imgf000015_0005
(Dec)
El algoritmo Dec toma como entrada la clave pública maestra pk, la clave secreta de nivel L que se muestra en la Fórmula 129 y el texto cifrado c, y genera la clave de sesión K o un símbolo distinguido - .^ El símbolo distinguido -L es información que indica un error de descifrado. Es decir, el algoritmo Dec descifra el texto cifrado c mediante la clave secreta de L-ésimo nivel, extrae la información de la información predeterminada (p) y genera la clave de sesión K. En caso de error de descifrado, el algoritmo Dec genera el símbolo distinguido 1.
[Fórmula 129]
Figure imgf000015_0003
(DelegateL)
El algoritmo DelegateL toma como entrada la clave pública maestra pk, la clave secreta de L-ésimo nivel que se muestra en la Fórmula 130 y un vector de predicado de (L+1)-ésimo nivel que se muestra en la Fórmula 131, y genera una clave secreta de (L+1)-ésimo que se muestra en la Fórmula 132. Es decir, el algoritmo DelegateL genera una clave secreta de nivel inferior.
[Fórmula 130]
Figure imgf000016_0001
[Fórmula 131]
Figure imgf000016_0003
[Fórmula 132]
Figure imgf000016_0002
<3-3. Sistema de procesamiento criptográfico 10>
Se describirá el sistema de procesamiento criptográfico 10. El sistema de procesamiento criptográfico 10 ejecuta los algoritmos descritos anteriormente de los esquemas de HPE y HPKEM.
La fig. 7 es un diagrama de configuración del sistema de procesamiento criptográfico 10.
El sistema de procesamiento criptográfico 10 incluye un dispositivo de generación de clave 100, un dispositivo de cifrado 200, un dispositivo de descifrado 300 y un dispositivo de delegación de clave 400. Aquí, el dispositivo de descifrado 300 incluye el dispositivo de delegación de clave 400. Como se describe anteriormente, el sistema de procesamiento criptográfico 10 implementa procesos criptográficos jerárquicos, de modo que incluye una pluralidad de dispositivos de cifrado 200, una pluralidad de dispositivos de descifrado 300 y una pluralidad de dispositivos de delegación de clave 400.
El dispositivo de generación de clave 100 ejecuta los algoritmos Setup y GenKey de los esquemas de HPKEM y HPE.
El dispositivo de cifrado 200 ejecuta el algoritmo Enc de los esquemas de HPKEM y HPE.
El dispositivo de descifrado 300 ejecuta el algoritmo Dec de los esquemas de HPKEM y HPE.
El dispositivo de delegación de clave 400 ejecuta el algoritmo DelegateL de los esquemas de HPKEM y HPE.
La fig. 8 es un diagrama de flujo que muestra las operaciones del dispositivo de generación de clave 100, un dispositivo de cifrado de L-ésimo nivel 200 y un dispositivo de descifrado de L-ésimo nivel 300 del sistema de procesamiento criptográfico 10. Es decir, la fig. 8 es un diagrama de flujo que muestra las operaciones desde la generación de claves maestras (una clave pública maestra y una clave secreta maestra) y la generación de una clave secreta de L-ésimo nivel hasta el cifrado y descifrado en el L-ésimo nivel.
(S101: Etapa de generación de clave)
El dispositivo de generación de clave 100 ejecuta el algoritmo Setup para generar una clave pública maestra pk y una clave secreta maestra sk. En base a la clave pública maestra generada pk, la clave secreta maestra generada sk y un vector de predicado v^l (v^L = (v1,..., vi) (i = pl)) correspondiente a un dispositivo de descifrado predeterminado 300 (el dispositivo de descifrado de L-ésimo nivel 300), el dispositivo de generación de clave 100 ejecuta el algoritmo GenKey para generar una clave secreta de L-ésimo nivel. A continuación, el dispositivo de generación de clave 100 publica (distribuye) la clave pública maestra pk generada y proporciona secretamente la clave secreta de L-ésimo nivel al dispositivo de descifrado predeterminado 300. El dispositivo de generación de clave 100 mantiene en secreto la clave secreta maestra.
(S102: Etapa de cifrado)
En base a la clave pública maestra pk distribuida por el dispositivo de generación de clave 100 en (S101) y un vector de atributo x^l (x^l = (x1 x;) (i = pl)) del dispositivo de descifrado 300, el dispositivo de cifrado 200 ejecuta el algoritmo Enc para generar un texto cifrado c. En el caso del esquema de HPKEM, el dispositivo de cifrado 200 también genera una clave de sesión K. A continuación, el dispositivo de cifrado 200 transmite el texto cifrado c generado al dispositivo de descifrado 300 a través de una red o similar. El vector de atributo x^l puede ser público o se puede obtener mediante el dispositivo de cifrado 200 a partir del dispositivo de generación de clave 100 o el dispositivo de descifrado 300.
(S103: Etapa de descifrado)
En base a la clave pública maestra pk y la clave secreta de nivel L proporcionada por el dispositivo de generación de clave 100 en (S101), el dispositivo de descifrado 300 ejecuta el algoritmo Dec para descifrar el texto cifrado c recibido desde el dispositivo de cifrado 200. Como resultado de descifrar el texto cifrado c, el dispositivo de descifrado 300 obtiene la clave de sesión K en el caso del esquema de HPKEM, u obtiene un mensaje m en el caso del esquema de HPE. En caso de error de descifrado, el dispositivo de descifrado 300 genera un símbolo distinguido 1.
La fig. 9 muestra un diagrama de flujo que muestra las operaciones de un dispositivo de delegación de clave de L-ésimo nivel 400, un dispositivo de cifrado de (L+1)-ésimo nivel 200 , y un dispositivo de descifrado de (L+1 )-ésimo nivel 300 del sistema de procesamiento criptográfico 10. Es decir, la fig. 9 es un diagrama de flujo que muestra las operaciones desde la generación de una clave secreta de (L+1)-ésimo nivel hasta el cifrado y descifrado en el (L+1 )-ésimo nivel.
(S201: Etapa de delegación de clave)
En base a la clave pública maestra pk distribuida por el dispositivo de generación de clave 100 en (S101), la clave secreta de L-ésimo nivel proporcionada por el dispositivo de generación de clave 100 o un dispositivo de delegación de clave de (L-1)-ésimo nivel 400, y un vector de predicado v^L+1 (v^l+1 = (v1,..., vj) (i = pl+1, j = pL+1)) correspondiente al dispositivo de descifrado de (L+1)-ésimo nivel 300, el dispositivo de delegación de L-ésimo nivel 400 (el dispositivo de delegación de clave 400 incluido en el dispositivo de descifrado de L-ésimo nivel 300) ejecuta el algoritmo DelegateL para generar una clave secreta de (L+1)-ésimo nivel. A continuación, el dispositivo de delegación de clave de L-ésimo nivel 400 proporciona secretamente la clave secreta generada al dispositivo de descifrado de (L+1)-ésimo nivel 300.
(S202: Etapa de cifrado)
En base a la clave pública maestra pk distribuida por el dispositivo de generación de clave 100 en (S101) y los vectores de atributo x^ 1 a x \ +1 (xT (i = 1,..., L+1) (= x 1,..., xi) (i = pL+1)) de los dispositivos de descifrado de primer nivel a (L+1)-ésimo nivel 300, el dispositivo de cifrado 200 ejecuta el algoritmo Enc para generar un texto cifrado c. En el caso del esquema de HPKEM, el dispositivo de cifrado 200 también genera una clave de sesión K. A continuación, el dispositivo de cifrado 200 transmite el texto cifrado c generado al dispositivo de descifrado 300 a través de una red o similar. Los vectores de atributo x^ 1 a x^L+1 (x^ (i = 1,..., L+1)) pueden ser públicos, o se pueden obtener mediante el dispositivo de cifrado 200 a partir del dispositivo de generación de clave 100 o el dispositivo de descifrado 300.
(S203: Etapa de descifrado)
En base a la clave pública maestra pk distribuida por el dispositivo de generación de clave 100 en (S101) y la clave secreta proporcionada por el dispositivo de delegación de clave de L-ésimo nivel 400 en (S201), el dispositivo de descifrado 300 ejecuta el algoritmo Dec para descifrar el texto cifrado c recibido del dispositivo de cifrado 200. Como resultado de descifrar el texto cifrado c, el dispositivo de descifrado 300 obtiene la clave de sesión K en el caso del esquema de HPKEM, u obtiene un mensaje m en el caso del esquema de HPE.
<4. Conceptos para implementar los esquemas de HPKEM y HPE>
Se describirán ahora los conceptos necesarios para implementar los algoritmos descritos anteriormente de los esquemas de HPKEM y HPE.
El procedimiento para implementar los procesos criptográficos se describirá usando un ejemplo en el que los espacios vectoriales de emparejamiento dual (DPVS) que se describirán más adelante se construyen mediante productos directos de grupos de emparejamiento asimétricos. Sin embargo, los DPVS no se limitan a los realizados mediante productos directos de grupos de emparejamiento asimétricos. Es decir, los procesos criptográficos que se describirán a continuación se pueden implementar en DPVS construidos mediante otros procedimientos. Tres ejemplos típicos de DPVS se analizan en la literatura no de patentes 17.
<4-1. Grupos de emparejamiento bilineal>
Se describirán los grupos de emparejamiento bilineal (q, G1, G2 , Gt, g1, g2 , gT).
Los grupos de emparejamiento bilineal (q, G1, G2 , Gt, g1, g2, gT) son una tupla de tres grupos cíclicos G1, G2 y Gt de orden q. g1 es un generador de G1 y g2 es un generador de G2. Los grupos de emparejamiento bilineal (q, G1, G2 , Gt, g1, g2 , gT) satisfacen la siguiente condición de emparejamiento bilineal no degenerado:
(Condición: emparejamiento bilineal no degenerado)
Existe un emparejamiento bilineal no degenerado computable de tiempo polinómico que se muestra en la Fórmula 133.
[Fórmula 133]
Figure imgf000018_0003
y
Figure imgf000018_0004
Esto se denomina emparejamiento bilineal simétrico cuando G1 = G2 (=: G), y emparejamiento bilineal asimétrico cuando G1 t G2. El emparejamiento bilineal simétrico se puede construir usando curvas (hiper) elípticas supersingulares. Por otra parte, el emparejamiento bilineal asimétrico se puede construir usando cualquier curva (hiper) elíptica. Se puede construir un emparejamiento bilineal asimétrico usando, por ejemplo, curvas elípticas ordinarias.
<4-2. Espacios vectoriales V y V*>
Un grupo cíclico (espacio unidimensional) se extiende a un espacio (vectorial) de dimensiones superiores. Es decir, como se muestra en la Fórmula 134, los espacios vectoriales N-dimensionales V y V* se construyen mediante productos directos de G1 y G2.
[Fórmula 134]
Figure imgf000018_0001
donde un elemento x del espacio V está representado por un vector N-dimensional como x := (xigi,..., x A/g-i), y de la misma manera, un elemento y del espacio V * está representado por un vector N-dimensional como y:= (yig2 ,..., Yn gi), donde x‘ ,y' paray=1,..., N.
<4-3. Bases duales canónicas A y A*>
Se describirán las bases canónicas A y A* de los espacios vectoriales N-dimensionales V y V*.
La Fórmula 135 muestra las bases canónicas A y A*.
[Fórmula 135]
Figure imgf000018_0002
donde
Figure imgf000019_0001
Las bases canónicas A y A* satisfacen las condiciones mostradas en la Fórmula 136.
[Fórmula 136]
Figure imgf000019_0002
donde
5: 5 de Kronecker (es decir, Si,j = 1 si i = j y <5¡,j = 0 si i t j),
gT := e(g1,g2) t 1
Es decir, las bases canónicas A y A* son bases ortonormales duales, y los espacios V y V* son espacios vectoriales duales emparejados a través de la operación de emparejamiento e.
Se explicará con más detalle la afirmación de que las bases canónicas A y A* satisfacen las condiciones mostradas en la Fórmula 136.
En primer lugar, se explicará la ecuación e(ai, a*i) = gT. Para tomar un ejemplo, se calculará e(a1, a*1). En base a a1 = (g1, 0,..., 0) y a*1 = (g2 , 0,..., 0) como se describe anteriormente, se deduce que: e(a1, a*1) = e(g1, g2 ) x e(0, 0) x,..., x e(0, 0). Aquí, como se describe anteriormente, se cumple la ecuación e(g1, g2 ) = gT. Además, en base a e(0, 0) = e(0 g1, 0 g2 ) = e(g1, g2 )°, se deduce que: e(0, 0) = 1. Por tanto, se cumple la ecuación e(a1, a*1) = gT. Los mismos cálculos también son válidos para otros e(ai, a*i), de modo que se cumple la ecuación e(ai, a*i) = gT.
A continuación, se explicará la ecuación e(ai, a*j) = 1 (i t j). Para tomar un ejemplo, se calculará e(a1, a*2 ). En base a a1 = (g1, 0,..., 0) y a*2 = (0, g2 , 0,..., 0) como se describe anteriormente, se deduce que: e(a1, a*2 ) = e(g1, 0) x e(0, g2) x e(0, 0) x,..., x e(0, 0). En base a e(g1, 0) = e(g1, 0 g2 ) = e(g1, g2) 0, se cumple la ecuación e(g1, 0) = 1. Asimismo, se cumple la ecuación e(0, g2 ) = 1. Además, como se describe anteriormente, se cumple la ecuación e(0, 0) = 1. Por tanto, se cumple la ecuación e(ai, a j = 1. Los mismos cálculos también son válidos para otros e(ai, a*j), de modo que se cumple la ecuación e(ai, a j = 1.
Por tanto, las ecuaciones e(ai, a*i) = gT y e(ai, a j = 1 (i t j) se cumplen sobre las bases canónicas A y A*.
<4-4. Operación de emparejamiento>
Una operación de emparejamiento e en los espacios vectoriales N-dimensionales V y V* se define como se muestra en la Fórmula 137.
[Fórmula 137]
Figure imgf000019_0003
Es decir, la operación de emparejamiento e (x, y) sobre un vector x: = (X1g1, X2g1, ..., XNg1) del espacio vectorial N-dimensional V y un vector y: = (y1g2 , y2g2 , ..., yNg2) del
espacio vectorial N-dimensional V* se define como el producto de operaciones de emparejamiento sobre los elementos respectivos de los vectores x e y. Entonces, en base a la condición de emparejamiento bilineal no degenerado descrita anteriormente, la operación de emparejamiento e (x, y) se puede expresar como se muestra en la Fórmula 138.
[Fórmula 138]
Figure imgf000020_0001
<4-5. Cambio de base>
Se describirá un procedimiento de cambio de base para cambiar las bases canónicas A y A* por otras bases B y B*. La fig. 10 es un diagrama para explicar el procedimiento de cambio de base.
Se cambia la base canónica A del espacio V por otra base B: = (b1,..., bN) del espacio V. Usando una transformación lineal X elegida uniformemente que se muestra en la Fórmula 139, la base canónica A del espacio V se cambia por otra base B del espacio V como se muestra en la Fórmula 140.
[Fórmula 139]
Figure imgf000020_0002
[Fórmula 140]
Figure imgf000020_0003
donde
Figure imgf000020_0004
Aquí, GL significa lineal general. Es decir, GL es un grupo lineal general, un conjunto de matrices cuadradas con determinantes distintos de cero y un grupo bajo multiplicación.
Usando X, la base B*: = (b*1,..., b*N) del espacio V* se puede calcular eficazmente a partir de la base canónica A* del espacio V*. La base B* del espacio V* se calcula usando X como se muestra en la Fórmula 141.
[Fórmula 141]
Figure imgf000020_0005
donde
Figure imgf000020_0006
Aquí, se cumple la Fórmula 142.
[Fórmula 142]
Figure imgf000021_0005
donde
5 : 5 de Kronecker (es decir, 5¡,j =1 si i = j y 5¡,j = 0 si i t j),
Figure imgf000021_0001
Es decir, las bases B y B* son bases ortonormales duales de los espacios duales V y V*. Esto significa que incluso cuando las bases canónicas A y A* se cambian usando X, se conservan las bases ortonormales duales.
<4-6. Mapas de distorsión>
Se describirá una transformación lineal, denominada mapa de distorsión, para un generador x en el espacio V sobre la base canónica A.
Un mapa de distorsión cpi.j sobre la base canónica A del espacio V es un mapa que se muestra en la Fórmula 143.
[Fórmula 143]
Figure imgf000021_0002
Como se cumple la Fórmula 144, el mapa de distorsión pi,j puede conseguir la transformación que se muestra en la Fórmula 145.
[Fórmula 144]
Figure imgf000021_0004
j )
[Fórmula 145]
Figure imgf000021_0003
Es decir, un elemento, a saber, un vector de base j, en la base canónica A del vector x se puede transformar en otro elemento, a saber, un vector de base i, en la base canónica A. En este momento, todos los elementos distintos del vector de base j que se transforma se vuelven 0. Es decir, en el vector x, el vector de base j se convierte en el vector de base i y los demás elementos se vuelven 0.
Un mapa de distorsión p*i,j sobre la base canónica A* del espacio V* se puede representar de la misma manera que el mapa de distorsión p¡,j sobre la base canónica A del espacio V.
Usando el mapa de distorsión pi,j (p*u), cualquier transformación lineal W, expresada como una matriz N*N mostrada en la Fórmula 146, para xe V se puede calcular eficazmente mediante la Fórmula 147.
[Fórmula 146]
Figure imgf000022_0002
<5. Espacios vectoriales de emparejamiento dual (DPVS)>
En base a los conceptos descritos en el punto 4 anterior, se describirán los espacios vectoriales de emparejamiento dual (DPVS). Los esquemas de HPE y HPKEM que se describirán más adelante se implementan en DPVS. Un DPVS (q, V, V*, Gt, A, A*) incluye un orden primo q, dos espacios vectoriales N-dimensionales V y V* sobre Fq, un grupo cíclico Gt de orden q, una base canónica A: = (a1,..., aN-1) del espacio V, y una base canónica A*: = (a*1,..., a*N-1) del espacio V*. El DPVS (q, V, V*, Gt, A, A*) satisface las tres condiciones siguientes: (1) existe un emparejamiento bilineal no degenerado, (2) las bases canónicas A y A* son bases ortonormales duales, y (3) existen mapas de distorsión.
(1) Emparejamiento bilineal no degenerado (véase el punto 4-1 anterior).
Existe un emparejamiento bilineal no degenerado calculable en tiempo polinómico e.
Es decir, la primera condición es que exista un emparejamiento bilineal no degenerado e que se muestra en la Fórmula 148.
[Fórmula 148]
Figure imgf000022_0003
Es decir, si e(sx,ty)=e(x,y)st y
e(x, y) =1 para todo
Figure imgf000022_0004
, entonces x = 0.
(2) Bases ortonormales duales (véase el punto 4-2 anterior).
Las bases canónicas A y A* de los espacios V y V* son bases ortonormales duales.
Es decir, la segunda condición es que las bases canónicas A y A* de los espacios V y V* satisfagan la condición que se muestra en la Fórmula 149.
[Fórmula 149]
Figure imgf000022_0001
para todo i y j,
donde
5 : 5 de Kronecker (es decir, 5¡j = 1 si i = j y 5¡j = 0 si i t j),
Figure imgf000022_0005
(3) Mapas de distorsión (véase el punto 4-6 anterior).
Existen mapas de distorsión calculables en tiempo polinómico cpij y cp*¡,j.
Es decir, la tercera condición es que los endomorfismos pi,j y p*i,j de los espacios V y V* mostrados en la Fórmula 150 sean calculables en tiempo polinómico.
[Fórmula 150]
Figure imgf000023_0001
Satisfaciendo la tercera condición, también se puede afirmar que los espacios V y V* son espacios duales emparejados a través de la operación de emparejamiento e (véase el punto 4-2 anterior).
<6. Resumen de un procedimiento para implementar los esquemas de HPKEM y HPE>
En base a los conceptos (véase el punto 4 anterior) y el DPVS (véase el punto 5 anterior) descritos anteriormente, se describirá en resumen un procedimiento mediante el cual el sistema de procesamiento criptográfico 10 mencionado anteriormente (véase el punto 3 anterior) implementa los esquemas de HPE y HPKEM.
En primer lugar, se describirá un resumen del esquema de PE para predicados de producto interno que se implementará mediante el sistema de procesamiento criptográfico 10. Para simplificar la descripción, se omitirá la noción de jerárquico y se describirá un resumen del esquema de PE para predicados de producto interno con un solo nivel.
El sistema de procesamiento criptográfico 10 implementa el esquema de PE para predicados de producto interno en el DPVS (q, V, V*, Gt, A, A*), donde los espacios V y V* son espacios (n+4)-dimensionales.
El dispositivo de generación de clave 100 genera bases ortonormales B: = (b1, ..., bn+4) y B*: = (b*1,..., b*n+4) a partir de las bases canónicas A y A* mediante el procedimiento de cambio de base descrito en los puntos 4-5 anteriores. El dispositivo de generación de clave 100 genera una base B: = (b1,..., bn+2) compuesta por los vectores de base bi (i = 1,..., n+2) de la base B (b1,..., bn+ 4 ). La base BA se usa como clave pública maestra pk y la base B* se usa como clave secreta maestra sk. Además, el dispositivo de generación de clave 100 genera una clave secreta k* a partir de un vector de predicado v ^ (v^ = (v1,..., vn)eFnq como se muestra en la Fórmula 151, y transmite secretamente la clave secreta k al dispositivo de descifrado 300.
[Fórmula 151]
Figure imgf000023_0002
donde
Figure imgf000023_0003
El dispositivo de cifrado 200 genera dos textos cifrados c1 y c2 a partir de un vector de atributo (x^ = (X1,..., Xn)eFnq y un mensaje m. Los textos cifrados ci y C2 se generan como se muestra en la Fórmula 152.
[Fórmula 152]
Figure imgf000024_0003
En base a los textos cifrados c y c2 y la clave secreta k*, el dispositivo de descifrado 300 calcula la Fórmula 153 para extraer el mensaje m.
[Fórmula 153]
Figure imgf000024_0001
Si v ^ x ^ = 0, el dispositivo de descifrado 300 puede obtener el mensaje m calculando la Fórmula 153 como se muestra en la Fórmula 154.
[Fórmula 154]
Figure imgf000024_0002
A continuación, se describirá usando un ejemplo sencillo un resumen del esquema de PE para predicados de producto interno con capacidad de delegación jerárquica, es decir, el esquema de HPE para predicados de producto interno. El ejemplo emplea espacios 10-dimensionales, teniendo cada espacio seis dimensiones (tres niveles, teniendo cada uno dos dimensiones) que se usan para vectores de predicado y vectores de atributo y otras cuatro dimensiones. Es decir, los espacios V y V* son espacios 10-dimensionales. Por lo tanto, una clave pública maestra incluye una base B": = (b1, ba, d7, bs). Una clave maestra secreta incluye una base B = (b*1,..., b*10). En la siguiente descripción, un subíndice "dec" significa "descifrado" e indica un vector de clave usado para descifrar un texto cifrado. Un subíndice "ran" significa "aleatorización" e indica un vector de aleatorización para aleatorizar el coeficiente de un vector de base predeterminado de una clave de nivel inferior. Un subíndice "del" significa "delegación" e indica un vector de generación de clave para generar un vector de clave de nivel inferior. Los textos cifrados c y c2 se generan mediante vectores de atributo (x ^ 1, x ^ 2 , x^3) = ((x1, x2 ), (x3, x4), (xs, xa)) y un mensaje m, como se muestra en la Fórmula 155.
[Fórmula 155]
Figure imgf000025_0002
Si el vector de atributo es de un nivel superior, tal como x ^ i: = (xi, X2), el vector de atributo se modifica como se muestra en la Fórmula 156.
[Fórmula 156]
Figure imgf000025_0003
Es decir, el texto cifrado c1 generado mediante el vector de atributo x^ 1 se genera como el texto cifrado c1 generado mediante el vector de atributo x^+ mostrado en la Fórmula 156.
Una clave secreta de primer nivel k^ 1: = (k*1,dec, k*1,ran,1, k*1,ran,2 , k*1,ran,3, ..., k*1,del,6 ) generada en base a un vector de predicado de primer nivel v ^ 1: = (v1, v2 )e F2q consiste en tres tipos de elementos: k*1,dec, (k*1 ,ran,1, k*1,ran,2) y (k*1 ,del, 3 ,..., k*1, del,6). k*1,dec es un vector de clave usado para descifrar un texto cifrado. (k* 1,ran,1, k*1,ran,2, son vectores de aleatorización para aleatorizar el coeficiente de un vector de base predeterminado de un vector de clave de nivel inferior. k*1,del,3, ..., k*1,del,6)son vectores de generación de clave para generar un vector de clave de nivel inferior. k*1,dec, (k*1,ran,1, k*1,ran,2 ) y (k*1,del,3, ..., k*1,del,6) se generan como se muestra en la Fórmula 157.
[Fórmula 157]
Figure imgf000025_0001
Si los vectores de atributo usados para generar el texto cifrado ci son ((xi, X2), (*, *), (*, *)) de modo que (x-i, X2) ■ (v-i, V2 ) = 0, entonces se cumple la Fórmula 158. Por lo tanto, k*i,o puede descifrar los textos cifrados ci y C2 calculando la Fórmula 159.
[Fórmula 158]
Figure imgf000026_0001
Una clave secreta de segundo nivel k^ 2 : = k*2 ,dec, k*2,ran,1, k*2,ran,2, k*2,ran,3, k*2,del,5, k*2,del,6) se genera mediante un vector de predicado de segundo nivel v ^ 2. = (v3, v4).
Para generar k*2,dec, se suma 02 ,0 (v3k*1,del,3, v4k*1,del,4) a k*1,dec. Para generar k*2,ran,j, se suma 02 ,j (v3k*1,del,3 v4k*1,del,4) a 0 (j = 1,2, 3). Para generar k*2,del,j, se suma 02 ,j (v3k*1,del,3 v4k*1,del,4) a y+k*1,del,j (j = 5, 6). Aquí, 02 ,j (j = 0, 1, 2, 3, 5, 6) y y+ son valores seleccionados uniformemente.
Además, los coeficientes de (v1b*1 + v2b*2 ), b*7 y b*8 de la clave secreta de segundo nivel son aleatorios (distribuidos uniformemente). Por lo tanto, para generar k*2 ,dec, también se suma ( a0,1k*1,ran,1 + 00 ,2 k*1,ran,2). Para generar k*2,ran,j, se suma (aj,1k*1,ran,1 + aj,2k*1,ran,2) (j = 1, 2, 3). Para generar k*2,del,j, se suma (aj,1k*1,ran,1 + aj,2k*1,ran,2) (j = 5, 6). Aquí, aj,1 y aj,2 (j = 0, 1, 2, 3, 5, 6) son valores seleccionados uniformemente.
Para resumir, la clave secreta de segundo nivel k^ 2 : = (k*2,dec, k*2,ran,1, k*2,ran,2, k*2,ran,3, k*2,del,5, k*2,del,6) se genera como se muestra en la Fórmula 160.
[Fórmula 160]
Figure imgf000026_0003
donde
Figure imgf000026_0002
k*2,dec es un vector de clave usado para descifrar un texto cifrado. (k*2,ran,1, k*2,ran,2, k*2,ran,3) son vectores de aleatorización para aleatorizar el coeficiente de un vector de base predeterminado de un vector de clave de nivel inferior. (k*2,dei,5, k*2,dei,a) se usan para generar una clave de nivel inferior.
En general, en una clave secreta de L-ésimo nivel k ^ \ : = (k*L,dec, k\,ranj, k*L,delj), k*L,dec es un vector de clave usado para descifrar un texto cifrado. k*L,ran,j es un vector de aleatorización para aleatorizar el coeficiente de un vector de base predeterminado de un vector de clave de nivel inferior. k*L,dei,j es un vector de generación de clave para generar un vector de clave de nivel inferior.
Segundo modo de realización
En este modo de realización, en base a los conceptos descritos en el primer modo de realización, se describirá el sistema de procesamiento criptográfico 10 que implementa el esquema de HPE.
En referencia a las figs. 11 a 16, se describirán funciones y operaciones del sistema de procesamiento criptográfico 10 de acuerdo con el segundo modo de realización.
La fig. 11 es un diagrama de bloques funcional que muestra las funciones del sistema de procesamiento criptográfico 10 que implementa el esquema de HPE. Como se describe anteriormente, el sistema de procesamiento criptográfico 10 incluye el dispositivo de generación de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y el dispositivo de delegación de clave 400. También se supone en este modo de realización que el dispositivo de descifrado 300 incluye el dispositivo de delegación de clave 400.
La fig. 12 es un diagrama de flujo que muestra las operaciones del dispositivo de generación de clave 100. La fig.
13 es un diagrama de flujo que muestra las operaciones del dispositivo de cifrado 200. La fig. 14 es un diagrama de flujo que muestra las operaciones del dispositivo de descifrado 300. La fig. 15 es un diagrama de flujo que muestra las operaciones del dispositivo de delegación de clave 400.
La fig. 16 es un diagrama conceptual que muestra una estructura de una base de espacios vectoriales de emparejamiento dual (DPVS).
Se describirán las funciones y operaciones del dispositivo de generación de clave 100. El dispositivo de generación de clave 100 incluye una unidad de generación de clave maestra 110, una unidad de almacenamiento de clave maestra 120, una unidad de generación de vector de clave 130, una unidad de generación de vector de aleatorización 140, una unidad de generación de vector de generación de clave 150 y una unidad de distribución de clave 160.
(S301: Etapa de generación de clave maestra)
Usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 calcula la Fórmula 161 para generar una clave pública maestra pk y una clave secreta maestra sk, y almacena las claves generadas en la unidad de almacenamiento de clave maestra 120.
[Fórmula 161]
Figure imgf000028_0001
(7)
Figure imgf000028_0002
Es decir: (1) usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 genera el DPVS (q, V, V*, Gt, A, A*) N(= n+2+s+r)-dimensional con un parámetro de seguridad 1 \ Gdpvs es un algoritmo de generación de DPVS que toma como entrada 1A y N, y genera el DPVS (q, V, V*, Gt, A, A*) con el parámetro de seguridad 1A y espacios N-dimensionales. Se supone que n es un número entero mayor o igual que 1, s es un número entero mayor o igual que 1 y r es un número entero mayor o igual que 0, n+2=R y n+2+r=s. En particular, los casos en los que (s, r) = (1, 0), (1, 1), (n, 1), (1, n) y (n, n) son importantes, donde n es un valor arbitrario mayor o igual que 2. Cuando s y r son valores pequeños, se mejora la eficacia. Cuando s y r son valores grandes, se mejora la seguridad.
(2) Usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 selecciona aleatoriamente una transformación lineal X para generar una base B a partir de una base canónica A.
(3) Usando el dispositivo de procesamiento y en base a la transformación lineal seleccionada X, la unidad de generación de clave maestra 110 genera la base B: = (b1, bN) a partir de la base A: = (a1, aN).
(4) Usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 genera un vector de base B": = (b1, . . bn, bn+1, bn+2 ) que tiene los vectores de base bi (i = 1, . . n+2) de la base B.
(5) Usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 genera una transformación lineal (XT)-1 a partir de la transformación lineal X para generar una base B*: = (b*1, ..., b*N) a partir de una base A*: = (a*1, ..., a*N).
(6) Usando el dispositivo de procesamiento y en base a la transformación lineal generada (XT)-1, la unidad de generación de clave maestra 110 genera la base B*: = (b*1, ..., b*N) a partir de la base A*.
(7) La unidad de generación de clave maestra 110 designa la transformación lineal generada X y la base B como la clave secreta maestra sk, y (1A, q, V, V*, Gt, A, A*, B") incluyendo la base generada B" como la clave pública maestra pk. La unidad de almacenamiento de clave maestra 120 almacena en un dispositivo de almacenamiento la clave pública maestra pk y la clave secreta maestra sk generadas mediante la unidad de generación de clave maestra 110.
Se supone que hay un número N (= n+2+r+s) de dimensiones en el DPVS, donde n indica el número de bases asignadas para representar la estructura jerárquica del formato de jerarquía p^. Es decir, además del número n de bases asignadas para representar la estructura jerárquica, se proporciona un número (2+r+s) de vectores de base.
Como se muestra en la fig. 16, el número n de vectores de base de entre el número N (= n+2+r+s) de vectores de base se asigna para los vectores de predicado y los vectores de atributo. La estructura de los vectores de base asignados para los vectores de predicado y los vectores de atributo es la misma que la estructura que se muestra en la fig. 6. De entre el número (2+r+s) de vectores de base restantes, el (n+1)-ésimo vector de base se usa como información para generar una clave de sesión. El (n+2)-ésimo vector de base se usa para aleatorizar un texto cifrado c1. Los (n+3)-ésimo a (n+2+r)-ésimo vectores de base se usan para aleatorizar una clave k*L. Los (n+2+r+1)-ésimo a (n+2+r+s)-ésimo vectores de base no se usan.
Para resumir, en (S301), la unidad de generación de clave maestra 110 ejecuta el algoritmo Setup mostrado en la Fórmula 162 para generar la clave pública maestra pk y la clave secreta maestra sk.
[Fórmula 162]
Figure imgf000029_0001
return (param,®,®*)
(S302: Etapa de generación del vector de clave k* L, dec)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado (v^1,..., v^ l) mostrados en la Fórmula 163, la unidad de generación de vector de clave 130 calcula la Fórmula 164 para generar una vector de clave k*L, dec que es el primer elemento de una clave secreta de L-ésimo nivel (nivel L).
[Fórmula 163]
Figure imgf000030_0001
Es decir: (1) usando el dispositivo de procesamiento, la unidad de generación de vector de clave 130 genera números aleatorios (00 ,¡ (i = 1,..., L) y r|0, h (h = 1,..., r).
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de clave 130 genera un vector w estableciendo cada uno de los vectores de predicado aleatorizados mediante el número aleatorio generado 00 ,t como el coeficiente del vector de base b*i (i = 1, ..., pl). Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1 , . , pl).
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de clave 130 genera un vector rv estableciendo el número aleatorio generado r|0, h como el coeficiente del vector de base b*i (i = n+2+1,..., n 2+r).
(4) La unidad de generación de vector de clave 130 genera el vector de clave k*L, dec sumando los vectores generados w y rv a un vector en el que 1 se establece como el coeficiente del vector de base b*n+1.
(S303: Etapa de generación del vector de aleatorización k*L,ran,j)
En base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado (v^ 1, ..., v^ l) mostrados en la Fórmula 163, la unidad de generación de vector de aleatorización 140 calcula la Fórmula 165 para generar un vector de aleatorización k*L,ran,j (j = 1, ..., L+1). El vector de aleatorización k*L,ran,j (j = 1 , . , L+1) es un vector, en una clave de nivel inferior, para distribuir uniformemente el coeficiente de un vector de base en el que está incrustado cada uno de los vectores de predicado. El vector de aleatorización k*L,ran,j es el j-ésimo elemento de la clave secreta de L-ésimo nivel.
[Fórmula 165]
Figure imgf000031_0001
Es decir, (1) usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 140 genera números aleatorios Oj,i(j = 1, ..., L+1; i = 1, ..., L) y r|j,h (j = 1, L+1; h = 1, ..., r).
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 140 genera un vector vvj, para cada j de j = 1,..., L+1, estableciendo cada uno de los vectores de predicado aleatorizados mediante el número aleatorio Oj,t como el coeficiente del vector de base b*i (i = 1 , . , pi_). Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1 , . , pi_).
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 140 genera un vector rvj, para cada j de j = 1,..., L+1, estableciendo el número aleatorio r|j, h como el coeficiente del vector de base b* i (i = n+2+1, . , n+2+r).
(4) La unidad de generación de vector de aleatorización 140 genera el vector de aleatorización k*L,ran,j (j = 1, ..., L+1), para cada j de j = 1, ..., L+1, sumando los vectores generados vvj y rvj.
(S304: Etapa de generación del vector de generación de clave k*L,del,j)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado (v^ 1 ,..., v^ l) mostrados en la Fórmula 163, la unidad de generación de vector de generación de clave 150 calcula la Fórmula 166, para generar un vector de generación de clave k*L,del,j (j = |Jl+1,..., n). El vector de generación de clave k*L,d,j (J = jil+1,..., n) es un vector para generar una clave secreta de nivel inferior (vector de clave de nivel inferior). El vector de generación de clave k*L,dei,j es el j-ésimo elemento de la clave secreta de L-ésimo nivel.
[Fórmula 166]
Figure imgf000032_0001
Es decir, (1) usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 150 genera números aleatorios Oj,i (j = pi_+1,..., n; i = 1,..., L), ^ y j (j = pi_ 1, n; h = 1, ..., r).
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 150 genera un vector vvj, para cada j de j = pi_+1,..., n, estableciendo cada uno de los vectores de predicado aleatorizados mediante el número aleatorio Oj,t como el coeficiente del vector de base b*i (i = 1 , . , pi_). Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1 , . , pi_).
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 150 genera un vector ^vj, para cada j de j = pi_+1,..., n, estableciendo el número aleatorio ^ como el coeficiente del vector de base b*j.
(4) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 150 genera un vector rvj, para cada j de j = pi_ 1, . , n, estableciendo el número aleatorio j como el coeficiente del vector de base b*i (i = n+2+1,..., n+2+r).
(5) La unidad de generación de vector de generación de clave 150 genera el vector de generación de clave k*L,del,j (j = pl+1,..., n), para cada j de j = pl+1, ..., n, sumando los vectores vvj, ^vj y dvj.
Para resumir, en (S302) a (S304), usando el dispositivo de procesamiento, la unidad de generación de vector de claves 130, la unidad de generación de vector de aleatorización 140 y la unidad de generación de vector de clave 150 ejecutan el algoritmo GenKey mostrado en la Fórmula 167. Esto genera la clave secreta de L-ésimo nivel (información de clave k ^ \ ) que incluye el vector de clave k*L,dec, el vector de aleatorización k*L,ran,j (j = 1 , . , L+1), y el vector de generación de clave k*L,del,j (j = Ml + 1, . , n).
[Fórmula 167]
Figure imgf000033_0001
(S305: Etapa de distribución de clave)
La unidad de distribución de clave 160 transmite la clave pública maestra generada por la unidad de generación de clave maestra 110 y la información de clave k^Y generada por la unidad de generación de vector de clave 130, la unidad de generación de vector de aleatorización 140 y la unidad de generación de vector de generación de clave 150 al dispositivo de descifrado 300 a través del dispositivo de comunicación. La unidad de distribución de clave 160 también transmite la clave pública maestra al dispositivo de cifrado 200 a través del dispositivo de comunicación. La información de clave k^Y se transmite secretamente al dispositivo de descifrado 300. Se puede usar cualquier procedimiento para transmitir secretamente la información de clave k^Y al dispositivo de descifrado 300. Por ejemplo, la información de clave k^*1 se puede transmitir usando un proceso criptográfico de la técnica anterior.
Se describirán las funciones y operaciones del dispositivo de cifrado 200. El dispositivo de cifrado 200 incluye una unidad de establecimiento de información de transmisión 210, una unidad de generación de vector de cifrado 220, una unidad de generación de información de cifrado 230, una unidad de transmisión de datos 240 y una unidad de adquisición de clave pública 250.
Se supone que la unidad de adquisición de clave pública 250 ha obtenido la clave pública maestra y los vectores de información de atributo correspondientes a los vectores de información de predicado del dispositivo de descifrado 300 antes de las etapas que se describirán a continuación.
(S401: Etapa de establecimiento de información de transmisión)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la unidad de establecimiento de información de transmisión 210 calcula la Fórmula 168 para generar un vector de información de transmisión Zv.
[Fórmula 168]
(1)
Figure imgf000033_0002
Es decir, (1) usando el dispositivo de procesamiento, la unidad de establecimiento de información de transmisión 210 genera un número aleatorio Z.
( 2) Usando el dispositivo de procesamiento, la unidad de establecimiento de información de transmisión 210 genera el vector de información de transmisión Zv estableciendo el número aleatorio Z como el coeficiente del vector de base bn+i de la base BA incluida en la clave pública maestra pk.
(S402: Etapa de generación del vector de cifrado ci)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk y los vectores de atributo (x^ i, x A ) mostrados en la Fórmula 169, la unidad de generación de vector de cifrado 220 calcula la Fórmula 170 para generar un vector de cifrado c1.
[Fórmula 169]
Figure imgf000034_0001
Es decir, (1) usando el dispositivo de procesamiento, la unidad de generación de vector de cifrado 220 genera números aleatorios (xA+1,..., x^d) y Si (i = 1 , . , d, n+2).
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de cifrado 220 establece cada uno de los vectores de atributo como el coeficiente del vector de base bi (i = 1, ..., pi_) de la base B incluida en la clave pública maestra pk. Es decir, cada uno de los vectores de atributo está incrustado en el coeficiente del vector de base bi (i = 1,..., pi_). Usando el dispositivo de procesamiento, la unidad de generación de vector de cifrado 220 establece el número aleatorio como el coeficiente del vector de base bi (i = pl+1, ..., n). La unidad de generación de vector de cifrado 220 genera, por tanto, un vector xv.
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de cifrado 220 genera un vector rv estableciendo el número aleatorio Sn+2 como el coeficiente del vector de base bn+2 de la base B incluida en la clave pública maestra pk.
(4) Usando el dispositivo de procesamiento, la unidad de generación de vector de cifrado 220 genera el vector de cifrado c1 sumando los vectores generados xv y rv al vector de información de transmisión Zv generado por la unidad de establecimiento de información de transmisión 210.
El vector rv se suma para mejorar la seguridad y no es un elemento obligatorio.
(S403: Etapa de generación de información de cifrado c2 )
Usando el dispositivo de procesamiento y en base a un mensaje m, la unidad de generación de información de cifrado 230 calcula la Fórmula 171 para generar la información de cifrado c2.
[Fórmula 171]
Figure imgf000035_0001
(S404: Etapa de transmisión de datos)
La unidad de transmisión de datos 240 transmite el vector de cifrado c1 generado por la unidad de generación de vector de cifrado 220 y la información de cifrado c2 generada por la unidad de generación de información de cifrado 230 al dispositivo de descifrado 300 a través del dispositivo de comunicación.
Para resumir, el dispositivo de cifrado 200 ejecuta el algoritmo Enc mostrado en la Fórmula 172 para generar el vector de cifrado c1 y la información de cifrado c2.
[Fórmula 172]
Figure imgf000035_0002
Se describirán las funciones y operaciones del dispositivo de descifrado 300. El dispositivo de descifrado 300 incluye una unidad de entrada de vector 310, una unidad de almacenamiento de vector de clave 320 y una unidad de operación de emparejamiento 330.
(S501: Etapa de entrada de vector)
La unidad de entrada de vector 310 recibe a través del dispositivo de comunicación e introduce el vector de cifrado c1 y la información de cifrado c2 transmitida por la unidad de transmisión de datos 240 del dispositivo de cifrado 200. (S502: Etapa de descifrado)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk y el vector de clave k*L,dec, que es el primer elemento de la clave secreta de L-ésimo nivel, la unidad de operación de emparejamiento 330 calcula la Fórmula 173 para generar un mensaje m'.
[Fórmula 173]
Figure imgf000036_0001
Es decir, usando el dispositivo de procesamiento, la unidad de operación de emparejamiento 330 realiza la operación de emparejamiento e sobre el vector de cifrado c1 introducido por la unidad de entrada de vector 310 y el vector de clave k*L,dec almacenado en el dispositivo de almacenamiento por la unidad de almacenamiento de vector de clave 320. Por tanto, la unidad de operación de emparejamiento 330 calcula gzT. A continuación, dividiendo la información de cifrado c2 (=gzTm) por el g^ T calculado, se calcula el mensaje m' (= m). Cuando el vector de clave k*L,dec se proporciona por el dispositivo de generación de clave 100 o el dispositivo de delegación de clave 400 de un nivel superior, la unidad de almacenamiento de vector de clave 320 almacena el vector de clave k*L,dec en el dispositivo de almacenamiento.
Si se cumple L < h para el vector de atributo x^¡ (i = 1,..., h) usado por el dispositivo de cifrado 200 para el cifrado y el vector de predicado v^¡ (i = 1,..., L) usado por el dispositivo de descifrado 300 para el descifrado y si x^¡ ■ v^¡ = 0 para todo i (i = 1,..., L), entonces gzT se puede obtener realizando la operación de emparejamiento e sobre el vector de cifrado c1 y el vector de clave k*L,dec como se muestra en la Fórmula 174.
[Fórmula 174]
Figure imgf000036_0002
Para resumir, el dispositivo de descifrado 300 ejecuta el algoritmo Dec mostrado en la Fórmula 175 para generar el mensaje m'.
[Fórmula 175]
Figure imgf000036_0004
Se describirán las funciones y operaciones del dispositivo de delegación de clave 400. El dispositivo de delegación de clave 400 incluye una unidad de adquisición de vector de clave 410 (unidad de adquisición de vector de generación de clave), una unidad de generación de vector de clave 420, una unidad de generación de vector de aleatorización 430, una unidad de generación de vector de generación de clave 440 y una unidad de distribución de clave 450,.
(S601: Etapa de adquisición de información de clave K*l)
La unidad de adquisición de vector de clave 410 obtiene, a través del dispositivo de comunicación, la clave secreta de L-ésimo nivel (información de clave k A ) incluyendo el vector de clave k*L,dec, que es el primer elemento de la clave secreta de L-ésimo nivel, el vector de aleatorización k*L,ran,j (j = 1, ..., L+1), y el vector de generación de clave k*L,del,j (j = Ml+1, ■■■, n).
(S602: Etapa de generación del vector de clave k*L+1,dec)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la información de clave k l, un vector de predicado v A +1 mostrado en la Fórmula 176, la unidad de generación de vector de clave 420 calcula la Fórmula 177 para generar un vector de clave k*L+1,dec, que es el primer elemento de una clave secreta de (L+1 )-ésimo nivel.
[Fórmula 176]
Figure imgf000036_0003
[Fórmula 177]
Figure imgf000037_0001
(3)
Figure imgf000037_0002
(4)
Figure imgf000037_0003
Es decir: (1) usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420 genera números aleatorios a0 ,i (i = 1, L+1) y 0.
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420 genera un vector rv sumando los vectores en los que el coeficiente del vector de aleatorización k*L,ran,i se multiplica por el número aleatorio a 0,i para cada i de i = 1, ..., L+1. Cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1, ..., pl) del vector de aleatorización k*L,ran,i (i = 1, ..., L 1). Por tanto, cada uno de los vectores de predicado multiplicados por el número aleatorio está incrustado en el coeficiente del vector de base b*i (i = 1, ..., pl) del vector rv.
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420 genera un vector w sumando los vectores en los que cada vector de los vectores de predicado v A +1 se establece como el coeficiente del vector de generación de clave k*L,del,i (i = Pl+1, pL+1) y multiplicando la suma por el número aleatorio 0. Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = pl+1, PL+1).
(4) Usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420 genera el vector de clave k*L+1,dec sumando el vector de clave k*L,dec, el vector rv y el vector w.
(S603: Etapa de generación del vector de aleatorización k*L+1,ran,j)
En base a la clave pública maestra pk, la información de clave k^*L y el vector de predicado v^L+1 mostrado en la Fórmula 176, la unidad de generación de vector de aleatorización 430 calcula la Fórmula 178 para generar un vector de aleatorización k*L,ran,j (j = 1, ..., L+2). El vector de aleatorización k*L,ran,j (j = 1, ..., L+2) es un vector, en una clave de nivel inferior, para distribuir uniformemente el coeficiente de un vector de base en el que está incrustado cada uno de los vectores de predicado. El vector de aleatorización k*L,ran,j es el j-ésimo elemento de la clave secreta de (L+1)-ésimo nivel.
[Fórmula 178]
( i )
Figure imgf000037_0004
= L 1 )
(2)
Figure imgf000038_0001
Es decir, (1) usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 430 genera números aleatorios oj,i (j = 1, ..., L+2; i = 1, ..., L) y Oj. (j = 1, ..., L+2).
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 430 genera un vector rvj, para cada j de j = 1, ..., L+2, multiplicando el coeficiente del vector de aleatorización k*L,ran,i (i = 1, ..., L+1) por el número aleatorio aj,¡, (i = 1, ..., L+1). Como se describe anteriormente, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1,..., pl) del vector de aleatorización k*L,ran,i (i = 1, ..., L+1). Por tanto, cada uno de los vectores de predicado multiplicados por el número aleatorio está incrustado en el coeficiente del vector de base b*i (i = 1, ..., pl) del vector rvj.
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 430 genera un vector vvj, para cada j de j = 1, ..., L+2, sumando los vectores en los que cada uno de los vectores de predicado se establece como el coeficiente del vector de generación de clave k*L,dei,¡ (i = pl+1,..., pl+1 ) y multiplicando la suma por el número aleatorio Oj. Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = pl 1, ..., pl+1 ).
(4) Usando el dispositivo de procesamiento, la unidad de generación de vector de aleatorización 430 genera el vector de aleatorización k*L+1,ran,j, para cada j de j = 1, ..., L+2, sumando los vectores generados rvj y vvj.
(S604: Etapa de generación del vector de generación de clave k*L+1, del,j)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la información de clave k^-*L y el vector de predicado v ^ t +1 mostrados en la Fórmula 176, la unidad de generación de vector de generación de clave 440 calcula la Fórmula 179 para generar un vector de generación de clave k*L+1,del,j (j = pl+1 + 1, ..., n). El vector de generación de clave k*L+1,del,j (j = pl+1 + 1, ..., n) es un vector para generar una clave secreta de nivel inferior (vector de clave de nivel inferior). El vector de generación de clave k*L+1,del, j es el j-ésimo elemento de la clave secreta de (L+1 )-ésimo nivel.
[Fórmula 179]
( 1)
Figure imgf000038_0002
(3)
Figure imgf000039_0001
Es decir, (1) usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 440 genera números aleatorios aj.i (j = pl+i 1, ..., L+1),oj (j = pl+i 1, ..., n), yy'.
(2) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 440 genera un vector rvj, para cada j de j = pl+i +1, ..., n, multiplicando el coeficiente del vector de aleatorización k*L,ran,i (i = 1, ..., L+1) por el número aleatorio oj,¡. Como se describe anteriormente, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = 1 , . , pl) del vector de aleatorización k*L,ran,i (i = 1, ..., L 1). Por tanto, cada uno de los vectores de predicado multiplicados por el número aleatorio está incrustado en el coeficiente del vector de base b*i (i = 1 , . , pl) del vector rvj.
(3) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 440 genera un vector vvj, para cada j de j = pl+i + 1, ..., n, sumando los vectores en los que cada uno de los vectores de predicado se establece como el coeficiente del vector de generación de clave k*L,del,i (i = Pl +1, ..., Pl+i ) y multiplicando la suma por el número aleatorio o Es decir, cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*i (i = pl+1,..., pl+i ).
(4) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 440 genera un vector yvj, para cada j de j = pl+i + 1, ..., n, multiplicando el coeficiente del vector de generación de clave k*L,del,j por el número aleatorio y 1. Cada uno de los vectores de predicado está incrustado en el coeficiente del vector de base b*j (j = pl+i + 1,..., n) del vector de generación de clave k*L,delj. Por tanto, cada uno de los vectores de predicado multiplicados por el número aleatorio está incrustado en el coeficiente del vector de base b*j del vector yvj (j = pl+i 1, ..., n)
(5) Usando el dispositivo de procesamiento, la unidad de generación de vector de generación de clave 440 genera el vector de generación de clave k*L+i,delj (j = pl+i 1, ..., n), para cada j de j = pl+i 1, ..., n, sumando los vectores generados rvj, vvj, y yvj.
Para resumir, en (S602) a (S604), usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420, la unidad de generación de vector de aleatorización 430 y la unidad de generación de vector de generación de clave 440 ejecutan el algoritmo DelegateL mostrado en la Fórmula 180 para generar la clave secreta de (L+1)-ésimo nivel (información de clave k—»*l+1 ) incluyendo el vector de clave k*L+1,dec, el vector de aleatorización k*L+1,ranj (j = 1, ..., L+2), y el vector de generación de clave k*L+1,del,j (j = Pl+1 + 1, ..., n).
[Fórmula 180]
Figure imgf000040_0001
(S605: Etapa de distribución de clave)
La unidad de distribución de clave 440 transmite la información de clave k^Vn generada por la unidad de generación de vector de clave 420, la unidad de generación de vector de aleatorización 430 y la unidad de generación de vector de generación de clave 440 al dispositivo de descifrado 300 de un nivel inferior a través del dispositivo de comunicación. La información de clave k^*L+1 se transmite secretamente al dispositivo de descifrado 300. Se puede usar cualquier procedimiento para transmitir secretamente la información de clave k a l dispositivo de descifrado 300. Por ejemplo, la información de clave k^Vn se puede transmitir usando un proceso criptográfico de la técnica anterior.
Como se describe anteriormente, los procesos criptográficos que se implementarán mediante el sistema de procesamiento criptográfico 10 tienen mayor seguridad que los procesos criptográficos propuestos en la literatura no de patentes 18, y la prueba de seguridad se puede proporcionar en un modelo estándar.
Esto se debe principalmente a las siguientes tres características (1) a (3).
(1) Los espacios V y V* usados para los procesos criptográficos son N (= n+2+r+s)-dimensionales, mientras que el dispositivo de cifrado 2 0 0 usa sólo un número (n+2 ) de dimensiones de los vectores de base bi (i = 1 , n+2) para generar el vector de cifrado C1. El dispositivo de descifrado 300 usa sólo un número (n+2+r) de dimensiones de los vectores de base b*i (i = 1, ..., n+2+r) para el descifrado. Es decir, en los procesos criptográficos no se usa un número s de dimensiones (vectores de base bn+2+r+1, ..., bn+2+r+s) de los espacios V y V*. En otras palabras, la clave pública maestra y la clave secreta maestra se generan en espacios con un número s de dimensiones adicionales, en comparación con los espacios (n+2 +r)-dimensionales usados para los procesos criptográficos. Por este motivo, en comparación con cuando la clave secreta maestra y la clave pública maestra se generan en los espacios (n+2 +r)-dimensionales usados para los procesos criptográficos, los elementos aleatorios de la transformación lineal X, etc., usados para generar la clave secreta maestra y la clave pública maestra aumentan en el número s de dimensiones. Debido al aumento de elementos aleatorios, se mejora la seguridad.
(2) Se suman elementos aleatorios al vector de clave k*L,dec,, el vector de aleatorización k*L,ran,j (j = 1, ..., L+1) y el vector de generación de clave k*L,del,j(j = |Jl+1, ..., n) generados por el dispositivo de generación de clave 100. Es decir, se establece un número aleatorio en el vector de base b*n+3 en cada uno del vector de clave k*L,dec, aleatorización k*L ,ran,j (j = 1, ..., L+1) y el vector de generación de clave k*L,del,j (j =ML+1, ■■■, n). Sumando los elementos aleatorios al vector de clave k*L,dec, el vector de aleatorización k*L,ran,j (j = 1, ..., L+1) y el vector de generación de clave k\,delj (j =|Jl+1,..., n), se mejora la seguridad.
(3) El dispositivo de delegación de clave 400 genera una clave de nivel inferior usando un vector de aleatorización. Debido a esta característica, el coeficiente de un vector de base predeterminado de la clave de nivel inferior puede ser aleatorio. Como resultado, la seguridad de una clave no se ve comprometida generando su clave de nivel inferior.
Cuando no se usa el vector de aleatorización, dos vectores de clave de nivel inferior k*L+i, dec (A) y k*L+i, dec (B) generados a partir de la información de clave k ^ - \ se construyen como se muestra en la Fórmula 1 8 1.
[Fórmula 181]
Figure imgf000041_0001
Es decir, cuando no se usa el vector de aleatorización, el coeficiente del vector de base b*i (i = 1, ..., |Jl) incluido en el vector de clave k*L,dec y en el que está incrustada la información de predicado es el mismo entre los vectores de clave kL+1,dec (A) y k*L+1,dec (B).
Sin embargo, cuando se usa el vector de aleatorización, los dos vectores de clave de nivel inferior k*L+1,dec (A) y k*L+1,dec (B) generados a partir de la información de clave k^*L se construyen como se muestra en Fórmula 182.
[Fórmula 182]
Figure imgf000041_0002
Es decir, cuando se usa el vector de aleatorización, el vector de aleatorización k*L,ran,j en el que el coeficiente se distribuye uniformemente mediante el número aleatorio aA,i se suma al vector de clave kL+1,dec (A). El vector de aleatorización k*L,ran,i en el que el coeficiente se distribuye uniformemente mediante el número aleatorio aB,¡ se suma al vector de clave k*L+1,dec(B). El vector de aleatorización k*L,ran,i incluye el vector de base b*i (i = 1, ..., jl). Por tanto, en los vectores de clave k*L+1,dec (A) y k*L+1,dec (B), el coeficiente del vector de base b*i (i = 1, ..., jl) está distribuido uniformemente. Es decir, el coeficiente del vector de base b*i (i = 1, ..., jl) en el que se establece la información de predicado es diferente entre los vectores de clave kL+1,dec (A) y k*L+ 1,dec (B).
En la descripción anterior, los procesos criptográficos se implementan en espacios vectoriales N(= n+2+r+s)-dimensionales. Para los procesos criptográficos sin delegación, n es un número entero mayor o igual que 1. Para los procesos criptográficos con delegación, n es un número entero mayor o igual que 2. Además, r es un número entero mayor o igual que 0 y s es un número entero mayor o igual que 1.
Cuando r es 0, los elementos aleatorios no se suman al vector de clave k*L,dec, al vector de aleatorización k\,ran,j (j = 1, ..., L+1) y al vector de generación de clave k*L,del,j (j =Ml+1, ..., n).
Como se describe anteriormente, en (S402), no es esencial que el dispositivo de cifrado 200 genere el vector rv usando el vector de base bn+2. Cuando no se genera el vector rv, los procesos criptográficos se pueden implementar en espacios vectoriales N(= n+1+r+s)-dimensionales.
Por tanto, para los procesos criptográficos sin delegación, N es un número entero mayor o igual que 2. Para los procesos criptográficos con delegación, N es un número entero mayor o igual que 3.
En los procesos criptográficos descritos anteriormente, no se usan mapas de distorsión que se han descrito como una de las condiciones de DPVS. Los mapas de distorsión no se usan en los algoritmos para implementar los procesos criptográficos, sino para demostrar la seguridad de los procesos criptográficos. Por tanto, los procesos criptográficos descritos anteriormente se pueden establecer en espacios sin mapas de distorsión. Es decir, no es imprescindible que existan mapas de distorsión en los espacios para implementar los procesos criptográficos descritos anteriormente. Lo mismo se aplica a los procesos criptográficos que se describen a continuación.
El esquema de HPE se ha descrito anteriormente. A continuación, se describirá el esquema de HPKEM. Sólo se describirán las porciones del esquema de HPKEM que son diferentes del esquema de HPE anterior.
La fig. 17 es un diagrama de bloques funcional que muestra funciones del sistema de procesamiento criptográfico 10 que implementa el esquema de HPKEM.
Las etapas de procesamiento del dispositivo de generación de clave 100 y las etapas de procesamiento del dispositivo de delegación de clave 400 son las mismas que las del esquema de HPE descrito anteriormente. Por tanto, sólo se describirán las etapas de procesamiento del dispositivo de cifrado 2 0 0 y las etapas de procesamiento del dispositivo de descifrado 300.
La fig. 18 es un diagrama de flujo que muestra las operaciones del dispositivo de cifrado 200. La fig. 19 es un diagrama de flujo que muestra las operaciones del dispositivo de descifrado 300.
Se describirán las funciones y operaciones del dispositivo de cifrado 200.
El dispositivo de cifrado 200 mostrado en la fig. 17 incluye una unidad de generación de clave de sesión 260, además de las funciones incluidas en el dispositivo de cifrado 200 mostrado en la fig. 11. El dispositivo de cifrado 200 mostrado en la fig. 17 no incluye la unidad de generación de información de cifrado 230 incluida en el dispositivo de cifrado 2 0 0 mostrado en la fig. 1 1.
(S701) y (S702) son iguales que (S401) y (S402).
En (S703: etapa de transmisión de datos), el vector de cifrado c1 generado por la unidad de generación de vector de cifrado 220 en (S702) se transmite al dispositivo de descifrado 300 a través del dispositivo de comunicación. Es decir, en el esquema de HPKEM, la información de cifrado c2 en la que está incrustado un mensaje m no se genera y no se transmite al dispositivo de descifrado 300.
En (S704: etapa de generación de clave de sesión), usando el dispositivo de procesamiento, la unidad de generación de clave de sesión 260 calcula la Fórmula 183 para generar una clave de sesión K.
[Fórmula 183]
Figure imgf000042_0001
donde
Figure imgf000042_0002
Para resumir, el dispositivo de cifrado 200 ejecuta el algoritmo Enc mostrado en la Fórmula 184 para generar el vector de cifrado c1 y la clave de sesión K.
[Fórmula 184]
Figure imgf000043_0001
Se describirán las funciones y operaciones del dispositivo de descifrado 300.
La configuración de las funciones del dispositivo de descifrado 300 mostrado en la fig. 17 es la misma que la del dispositivo de descifrado 300 mostrado en la fig. 11.
(S801: Etapa de entrada de vector)
La unidad de entrada de vector 310 recibe a través del dispositivo de comunicación e introduce el vector de cifrado c 1 transmitido por la unidad de transmisión de datos 240 del dispositivo de cifrado 200.
(S802: Etapa de descifrado)
[ Usando el dispositivo de procesamiento y en base a la clave pública maestra pk y el vector de clave k*L,dec que es el primer elemento de la clave secreta de L-ésimo nivel, la unidad de operación de emparejamiento 330 calcula la Fórmula 185 para generar una clave de sesión K.
[
Figure imgf000043_0002
Es decir, usando el dispositivo de procesamiento, la unidad de operación de emparejamiento 330 realiza la operación de emparejamiento e sobre el vector de cifrado c 1 introducido por la unidad de entrada de vector 310 y el vector de clave k*L,dec almacenado en el dispositivo de almacenamiento por la unidad de almacenamiento de vector 320. Por tanto, la unidad de operación de emparejamiento 330 calcula gZT (= K), que es un valor relativo a Z incrustado por el dispositivo de cifrado 200.
Para resumir, el dispositivo de descifrado 300 ejecuta el algoritmo Dec mostrado en la Fórmula 186 para generar la clave de sesión K' (= K).
[Fórmula 186]
Figure imgf000043_0003
Como se describe anteriormente, de acuerdo con el esquema de HPKEM, la clave de sesión K se puede transmitir secretamente desde el dispositivo de cifrado 200 al dispositivo de descifrado 300. Esto significa que la clave de sesión se puede compartir entre el dispositivo de cifrado 200 y el dispositivo de descifrado 300.
Tercer modo de realización
En un tercer modo de realización, se describirá un esquema de PE con delegación que es más genérico que los esquemas de HPE y HPKEM descritos en el segundo modo de realización.
Como se describe anteriormente, en los esquemas de HPE y HPKEM descritos en el segundo modo de realización, se usan vectores de base como se muestra en la fig. 16. Es decir, el número n de vectores de base de entre el número (n+2+r+s) de vectores de base se usa para representar la estructura jerárquica de los vectores de base para vectores de atributo y vectores de predicado. En particular, se usa un primer número pi de vectores de base como vectores de base para los vectores de atributo y los vectores de predicado de primer nivel. Se usa un número (p2-pi) de vectores de base como vectores de base para los vectores de atributo y los vectores de predicado de segundo nivel. Asimismo, se usa un número (pi_-pi_-i) de vectores de base como vectores de base para los vectores de atributo y los vectores de predicado de L-ésimo nivel.
El vector de clave de L-ésimo nivel k*L,dec se calcula como se muestra en la Fórmula 164. Es decir, en el vector de clave de L-ésimo nivel k*L,dec, cada uno de los vectores de predicado se asigna como el coeficiente del vector de base b*i (i = 1, ..., L), y se asigna 0 como el coeficiente del vector de base b*i (i = L+1, ..., n).
El vector de cifrado de L-ésimo nivel c1 se calcula como se muestra en la Fórmula 170. Es decir, en el vector de cifrado de L-ésimo nivel ci, cada uno de los vectores de atributo se asigna como el coeficiente del vector de base bi (i = 1, ..., L), y el número aleatorio se asigna como el coeficiente del vector de base bi (i = L+1, ..., n).
Con esta disposición, se implementa la delegación jerárquica.
En el esquema de PE (PKEM) que se describirá en el tercer modo de realización, como en el segundo modo de realización, el número n de vectores de base de entre el número (n+2 +r+s) de vectores de base se usan como vectores de base para los vectores de atributo y los vectores de predicado. Sin embargo, para cualquier clave (independientemente del nivel), todos los n números de vectores de base se usan como vectores de base para los vectores de predicado. Es decir, todos los n números de vectores de base siempre se usan como vectores de base para los vectores de atributo o los vectores de predicado.
En el vector de clave k*L,dec, cada uno de los vectores de predicado se asigna como el coeficiente del vector de base b*i (i = 1, ..., n). En el vector de cifrado de L-ésimo nivel c1, cada uno de los vectores de atributo se asigna como el coeficiente del vector de base bi (i = 1 , . , n).
Es decir, no existe un concepto de estructura jerárquica para el número n de vectores de base. Tampoco existe el concepto de delegación jerárquica para claves secretas. Por lo tanto, se puede realizar una delegación más flexible, en comparación con los procesos criptográficos descritos en el segundo modo de realización.
En primer lugar, se describirá la implementación del esquema de PE con delegación.
La fig. 20 es un diagrama de bloques funcional que muestra funciones del sistema de procesamiento criptográfico 10 que implementa el esquema de PE con delegación. Las funciones incluidas en el sistema de procesamiento criptográfico 10 mostrado en la fig. 2 0 son las mismas que las funciones incluidas en el sistema de procesamiento criptográfico 10 mostrado en la fig. 1 1.
El flujo de operaciones del sistema de procesamiento criptográfico 10 para implementar el esquema de PE con delegación de acuerdo con el tercer modo de realización es el mismo que el flujo de operaciones del sistema de procesamiento criptográfico 10 de acuerdo con el segundo modo de realización. Por tanto, las funciones y operaciones del sistema de procesamiento criptográfico 10 de acuerdo con el tercer modo de realización se describirán con referencia a las figs. 2 0 y 12 a 16.
Se describirán las funciones y operaciones del dispositivo de generación de clave 100.
(S301: Etapa de generación de clave maestra)
Como en (S301) del segundo modo de realización, usando el dispositivo de procesamiento, la unidad de generación de clave maestra 110 calcula la Fórmula 187 para generar una clave pública maestra pk y una clave secreta maestra sk y almacena las claves en la unidad de almacenamiento de clave maestra 1 2 0.
[Fórmula 187]
Figure imgf000044_0001
donde
Figure imgf000045_0001
(S302: Etapa de generación del vector de clave k*L,dec)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado ( v ^ 1, ...,v^ l) mostrados en la Fórmula 188, la unidad de generación de vector de clave 130 calcula la Fórmula 189 para generar un vector de clave k*L,dec, que es el primer elemento de una clave secreta de L-ésimo nivel (nivel L).
[Fórmula 188]
Figure imgf000045_0002
(S303: Etapa de generación del vector de aleatorización k*L,ran,j)
En base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado (v - * 1 , ..., v^ l) mostrados en la Fórmula 188, la unidad de generación de vector de aleatorización 140 calcula la Fórmula 190 para generar un vector de aleatorización k* L,ran,j (j = 1, ..., L+1).
[Fórmula 190]
Figure imgf000046_0001
(S304: Etapa de generación del vector de generación de clave k*L,dei,j)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la clave secreta maestra sk y los vectores de predicado ( v ^ 1, v^ l) mostrados en la Fórmula 188, la unidad de generación de vector de generación de clave 150 calcula la Fórmula 191 para generar un vector de generación de clave k*L,del,j (j = 1, ..., n).
[Fórmula 191]
Figure imgf000047_0001
Para resumir, en (S302) a (S304), usando el dispositivo de procesamiento, la unidad de generación de vector de claves 130, la unidad de generación de vector de aleatorización 140 y la unidad de generación de vector de clave 150 ejecutan el algoritmo GenKey mostrado en la Fórmula 192. Esto genera la clave secreta de L-ésimo nivel (información de clave k ^ \ ) incluyendo el vector de clave k*L,dec, el vector de aleatorización k*L,ran,j (j = 1, L+1) y el vector de generación de clave k*L,del,j (j = 1, . , n).
[Fórmula 192]
Figure imgf000048_0001
(S305: Etapa de distribución de clave)
Como en (S305) del segundo modo de realización, la unidad de distribución de clave 160 transmite la clave pública maestra generada por la unidad de generación de clave maestra 110 y la información de clave k ^ \ generada por la unidad de generación de vector de clave 130, la unidad de generación de vector de aleatorización 140 y la unidad de generación de vector de clave 150 al dispositivo de descifrado 300 a través del dispositivo de comunicación. La unidad de distribución de clave 160 transmite la clave pública maestra al dispositivo de cifrado 2 0 0 a través del dispositivo de comunicación.
Se describirán las funciones y operaciones del dispositivo de cifrado 200.
(S401: Etapa de establecimiento de información de transmisión)
Como en (S401) del segundo modo de realización, usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la unidad de establecimiento de información de transmisión 210 calcula la Fórmula 193 para generar un vector de información de transmisión Zv. [Fórmula 193]
(1)
Figure imgf000048_0002
(2)
Figure imgf000048_0003
(S402: Etapa de generación del vector de cifrado c1 )
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk y los vectores de atributo ( x ^ 1, ..., x^ l) mostrados en la Fórmula 194, la unidad de generación de vector de cifrado 220 calcula la Fórmula 195 para generar un vector de cifrado c1.
[Fórmula 194]
Figure imgf000049_0001
[Fórmula 195]
Figure imgf000049_0002
£ bn+ 1
(S403: Etapa de generación de información de cifrado C2 )
Como en (S403) del segundo modo de realización, usando el dispositivo de procesamiento y en base a un mensaje m, la unidad de generación de información cifrada 230 calcula la Fórmula 196 para generar información cifrada c2.
[Fórmula 196]
Figure imgf000049_0003
(S404: Etapa de transmisión de datos)
Como en (S404) del segundo modo de realización, la unidad de transmisión de datos 240 transmite el vector de cifrado c1 generado por la unidad de generación de vector de cifrado 2 2 0 y la información de cifrado c2 generada por la unidad de generación de información de cifrado 230 al dispositivo de descifrado 300 a través del dispositivo de comunicación.
Para resumir, el dispositivo de cifrado 200 ejecuta el algoritmo Enc mostrado en la Fórmula 197 para generar el vector de cifrado c1 y la información de cifrado c2.
[Fórmula 197]
Figure imgf000050_0001
Se describirán las funciones y operaciones del dispositivo de descifrado 300.
(S501: Etapa de entrada de vector)
Como en (S501) del segundo modo de realización, la unidad de entrada de vector 310 recibe a través del dispositivo de comunicación e introduce el vector de cifrado c1 y la información de cifrado c2 transmitida por la unidad de transmisión de datos 240 del dispositivo de cifrado 200.
(S502: Etapa de descifrado)
Como en (S502) del segundo modo de realización, usando el dispositivo de procesamiento y en base a la clave pública maestra pk y el vector de clave k*L,dec, que es el primer elemento de la clave secreta de L-ésimo nivel, la unidad de operación de emparejamiento 330 calcula la Fórmula 198 para generar un mensaje m'.
[Fórmula 198]
Figure imgf000050_0002
Si se cumple x^¡ ■ v ^j = 0 para el vector de atributo x^¡ (i = 1, . . h) usado por el dispositivo de cifrado 200 para el cifrado y el vector de predicado v^j (j = 1, L) del vector de clave usado por el dispositivo de descifrado 300 para el descifrado para cada i de (i = 1, h) y cada j de (j = 1, L), entonces la unidad de operación de emparejamiento 330 puede generar el mensaje m. Se supone que el mensaje meGi.
Para resumir, el dispositivo de descifrado 300 ejecuta el algoritmo Dec mostrado en la Fórmula 199 para generar el mensaje m'.
[Fórmula 199]
Figure imgf000050_0003
Se describirán las funciones y operaciones del dispositivo de delegación de clave 400.
(S601 : Etapa de adquisición de información de clave k ^ \ )
Como en (S601) del segundo modo de realización, la unidad de adquisición de vector de clave 410 obtiene a través del dispositivo de comunicación la clave secreta de L-ésimo nivel (información de clave k ^ \ ) incluyendo el vector de clave k*L,dec, que es el primer elemento de la clave secreta de L-ésimo nivel, el vector de aleatorización k*L,ran,j (j = 1, ..., L+1) y el vector de generación de clave k\,delj (j = 1 ,..., n).
(S602: Etapa de generación del vector de clave k*L+1,dec)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la información de clave k*L y un vector de predicado v^ l+1 mostrado en la Fórmula 200, la unidad de generación de vector de clave 420 calcula la Fórmula 201 para generar un vector de clave k*L+1,dec, que es el primer elemento de una clave secreta de (L+1 )-ésimo nivel.
[Fórmula 200]
Figure imgf000051_0001
(4)
Figure imgf000051_0002
(S603: Etapa de generación de vector de aleatorización k*L+i ran,j )
En base a la clave pública maestra pk, la información de clave k ^ \ y el vector de predicado v ^ l+1 mostrado en la Fórmula 200, la unidad de generación de vector de aleatorización 430 calcula la Fórmula 202 para generar un vector de aleatorización k*L+1,ranj (j = 1, L+2).
[Fórmula 202]
Figure imgf000052_0001
(S604: Etapa de generación del vector de generación de clave k*L+i dei,j)
Usando el dispositivo de procesamiento y en base a la clave pública maestra pk, la información de clave k^ * l y el vector de predicado v ^ l+1 mostrados en la Fórmula 200, la unidad de generación de vector de generación de clave 440 calcula la Fórmula 203 para generar un vector de generación de clave k*L+1,del,j (j = 1, n).
[Fórmula 203]
Figure imgf000052_0002
Figure imgf000053_0002
Para resumir, en (S602) a (S604), usando el dispositivo de procesamiento, la unidad de generación de vector de clave 420, la unidad de generación de vector de aleatorización 430 y la unidad de generación de vector de generación de clave 440 ejecutan el algoritmo DelegateL mostrado en la Fórmula 204 para generar la clave secreta de (L+1)-ésimo nivel (información de clave k ^ \ +1) incluyendo el vector de clave k*L+1 dec, el vector de aleatorización k*L+1, ran,j (j = 1, ..., L+2) y el vector de generación de clave k \+ 1,delj (j = 1, ..., n).
[Fórmula 204]
Figure imgf000053_0001
(S605: Etapa de distribución de clave)
Como en (S605) del segundo modo de realización, la unidad de distribución de clave 450 transmite la información de clave k^ \ 1 generada por la unidad de generación de vector de clave 420, la unidad de generación de vector de aleatorización 430 y la unidad de generación de vector de generación de clave 440, al dispositivo de descifrado 300 de un nivel inferior a través del dispositivo de comunicación.
Como se describe anteriormente, si se cumple x^¡ ■ v^j = 0 para el vector de atributo x^j (i = 1, ..., h) usado por el dispositivo de cifrado 200 para el cifrado y el vector de predicado v^¡ (j = 1, ..., L) del vector clave k*L,dec usado por el dispositivo de descifrado 300 para el descifrado para cada i de (i = 1, h) y cada j de (j = 1, L), entonces el dispositivo de descifrado 300 consigue el descifrado. Es decir, cuando el vector de clave k*1,dec generado en base al vector de predicado (v^ 1 ) se usa para el descifrado, el dispositivo de descifrado 300 consigue el descifrado si v^ 1 = 0. Cuando el vector de clave k*2 ,dec generado en base a los vectores de predicado (v^ 1 , v^ 2 ) se usa para el descifrado, el dispositivo de descifrado 300 consigue el descifrado si x ^ ■ v^ 1 = 0 y x ^ ■ v^ 2 = 0. Es decir, como ocurre con los algoritmos descritos en el segundo modo de realización, el vector de clave de nivel inferior k*2,dec tiene capacidades más limitadas que el vector de clave de nivel superior k*1,dec.
Como en el segundo modo de realización, el esquema de HPKEM también se puede implementar modificando el algoritmo Enc ejecutado por el dispositivo de cifrado 200 y el algoritmo Dec ejecutado por el dispositivo de descifrado 300 como se muestra en la Fórmula 205 y la Fórmula 206, respectivamente.
[Fórmula 205]
Figure imgf000054_0002
Cuarto modo de realización
En los modos de realización anteriores, se han descrito los procedimientos para implementar los procesos criptográficos en espacios vectoriales duales. En este modo de realización, se describirá un procedimiento para implementar los procesos criptográficos en módulos duales.
Es decir, en los modos de realización anteriores, los procesos criptográficos se implementan en grupos cíclicos de orden primo q. Sin embargo, cuando un anillo R se expresa usando un número compuesto M como se muestra en la Fórmula 207, los procesos criptográficos descritos en los modos de realización anteriores se pueden adaptar a un módulo que tiene el anillo R como coeficiente.
[Fórmula 207]
Figure imgf000054_0001
donde
Z: número entero,
M: número compuesto.
Por ejemplo, cuando el esquema de HPE descrito en el segundo modo de realización se implementa en el módulo que tiene el anillo R como coeficiente, se expresa como se muestra en las Fórmulas 208 a 212.
[Fórmula 208]
Figure imgf000055_0002
[Fórmula 209]
Figure imgf000055_0001
[Fórmula 210]
Figure imgf000056_0002
[Fórmula 212]
Figure imgf000056_0001
En este modo de realización, sólo se ha descrito el procedimiento para implementar el esquema de HPE del segundo modo de realización en el módulo que tiene el anillo R como coeficiente. Sin embargo, en principio, los procesos descritos para el campo Fq en los modos de realización anteriores se pueden implementar en el módulo que tiene el anillo R como coeficiente reemplazando el campo Fq por el anillo R.
Se describirá ahora una configuración de hardware del sistema de procesamiento criptográfico 10 (el dispositivo de generación de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y el dispositivo de delegación de clave 400) de acuerdo con los modos de realización.
La fig. 21 es un diagrama que muestra una configuración de hardware de ejemplo del dispositivo de generación de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y el dispositivo de delegación de clave 400.
Como se muestra en la fig. 21, el dispositivo de generación de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y el dispositivo de delegación de clave 400 incluyen cada uno la CPU 911 (unidad central de procesamiento, también denominada una unidad de procesamiento, una unidad aritmética, un microprocesador, un microordenador o un procesador). La CPU 911 se conecta a través del bus 912 con la ROM 913, la RAM 914, la LCD 901 (pantalla de cristal líquido), el teclado 902 (K/B), la placa de comunicación 915 y el dispositivo de disco magnético 920, y controla estos dispositivos de hardware. El dispositivo de disco magnético 920 (dispositivo de disco fijo) se puede reemplazar por un dispositivo de almacenamiento tal como un dispositivo de disco óptico o un dispositivo de lectura/escritura de tarjeta de memoria. El dispositivo de disco magnético 920 se conecta a través de una interfaz de disco fijo predeterminada.
La ROM 913 y el dispositivo de disco magnético 920 son ejemplos de memoria no volátil. La RAM 914 es un ejemplo de memoria volátil. La ROM 913, la RAM 914 y el dispositivo de disco magnético 920 son ejemplos de un dispositivo de almacenamiento (memoria). El teclado 902 y la placa de comunicación 915 son ejemplos de un dispositivo de entrada. La placa de comunicación 915 es un ejemplo de un dispositivo de comunicación (interfaz de red). La LCD 901 es un ejemplo de un dispositivo de pantalla.
El dispositivo de disco magnético 920, la ROM 913 o similar almacena un sistema operativo 921 (OS), un sistema de ventanas 922, programas 923 y archivos 924. Los programas 923 se ejecutan mediante la CPU 911, el sistema operativo 921 y el sistema de ventanas 922.
Los programas 923 almacenan software o programas para ejecutar las funciones descritas anteriormente en el presente documento como "la unidad de generación de clave maestra 1 10 ", "la unidad de almacenamiento de clave maestra 120", "la unidad de generación de vector de clave 130", "la unidad de generación de vector de aleatorización 140", "la unidad de generación de vector de generación de clave 150", "la unidad de distribución de clave 160", "la unidad de establecimiento de información de transmisión 2 1 0 ", "la unidad de generación de vector de cifrado 220", "la unidad de generación de información de cifrado 230", "la unidad de transmisión de datos 240", "la unidad de adquisición de clave pública 250", "la unidad de generación de clave de sesión 260", "la unidad de entrada de vector 310", "la unidad de almacenamiento de vector de clave 320", "la unidad de operación de emparejamiento 330", "la unidad unidad de adquisición de vector 410", "la unidad de generación de vector de clave 420", "la unidad de generación de vector de aleatorización 430", "la unidad de generación de vector de generación de clave 440", "la unidad de distribución de clave 450", y así sucesivamente. Los programas se leen y ejecutan por la CPU 911.
Los archivos 924 almacenan información, datos, valores de señal, valores de variables y parámetros, tales como "la clave pública maestra pk", "la clave secreta maestra sk", "el vector de cifrado c" y "el vector de clave" descritos anteriormente en el presente documento, cada uno de los cuales se almacena como un elemento de un "archivo" o una "base de datos". El "archivo" o "base de datos" se almacena en un dispositivo de almacenamiento tal como un disco o una memoria. La información, los datos, los valores de señal, los valores de variables y los parámetros almacenados en el dispositivo de almacenamiento, tal como el disco o la memoria, se leen por la CPU 911 a través de un circuito de lectura/escritura en una memoria principal o una memoria caché, y se usan para operaciones de la CPU 911 tales como extracción, búsqueda, referencia, comparación, cálculo, procesamiento, salida, impresión y visualización. La información, los datos, los valores de señal, los valores de variables y los parámetros se almacenan temporalmente en la memoria principal, la memoria caché o una memoria intermedia durante las operaciones de la CPU 911, tales como extracción, búsqueda, referencia, comparación, cálculo, procesamiento, salida, impresión y visualización.
En los diagramas de flujo descritos anteriormente en el presente documento, una flecha representa principalmente una entrada/salida de datos o una señal, y cada valor de datos o señal se almacena en la RAM 914 u otros tipos de medio de almacenamiento tales como un disco óptico o un chip de CI. Los datos o la señal se transfieren en línea a través del bus 912, una línea de señal, un cable, otros tipos de medio de transferencia o una onda de radio.
Lo que se describe anteriormente en el presente documento como "una... unidad" puede ser "un... circuito", "un... dispositivo", "una... herramienta", "un... medio" o "una... función", y también puede ser "una... etapa", "un... procedimiento" o "un... proceso". Lo que se describe como "un... dispositivo" puede ser "un... circuito", "una... herramienta", "un... medio" o "una... función", y también puede ser "una... etapa", "un ... procedimiento", o "un... proceso". Lo que se describe como "un... proceso" puede ser "una... etapa". Es decir, lo que se describe como "una... unidad" se puede implementar mediante firmware almacenado en la ROM 913. De forma alternativa, "la... unidad" se puede implementar únicamente mediante software, o únicamente mediante hardware tal como elementos, dispositivos, placas y cableado, o mediante una combinación de software y hardware, o mediante una combinación que incluya firmware. El firmware o software se almacena como un programa en un medio de almacenamiento tal como la ROM 913. El programa se lee por la CPU 911 y se ejecuta por la CPU 911. Es decir, el programa hace que un ordenador o similar funcione como "la... unidad" descrita anteriormente. De forma alternativa, el programa hace que el ordenador o similar ejecute un procedimiento de "la... unidad" descrita anteriormente.
Lista de signos de referencia
1 0 : sistema de procesamiento criptográfico
1 0 0 : dispositivo de generación de clave
1 1 0 : unidad de generación de clave maestra
1 2 0 : unidad de almacenamiento de clave maestra
130: unidad de generación de vector de clave
140: unidad de generación de vector de aleatorización
150: unidad de generación de vector de generación de clave
160: unidad de distribución de clave
2 0 0 : dispositivo de cifrado
2 1 0 : unidad de establecimiento de información de transmisión
2 2 0 : unidad de generación de vector de cifrado
230: unidad de generación de información cifrada
240: unidad de transmisión de datos
250: unidad de adquisición de clave pública
260: unidad de generación de clave de sesión
300: dispositivo de descifrado
310: unidad de entrada de vector
320: unidad de almacenamiento de vector de clave
330: unidad de operación de emparejamiento
400: dispositivo de delegación de clave
410: unidad de adquisición de vector de clave
420: unidad de generación de vector de clave
430: unidad de generación de vector de aleatorización
440: unidad de generación de vector de generación de clave
450: unidad de distribución de clave

Claims (1)

  1. REIVINDICACIONES
    1. Un sistema de procesamiento criptográfico (10) que realiza un proceso de cifrado de predicado usando módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 1, en el que el espacio V* es un módulo dual del espacio V;
    en el que el sistema de procesamiento criptográfico se implementa en un espacio vectorial de emparejamiento dual DPVS, DPVS (q, V, V*, GT, A, A*) incluye un orden primo q, dos espacios vectoriales N-dimensionales V y V* sobre Fq, un grupo cíclico Gt de orden q, una base canónica A: = (a1, aN-1) del espacio V, y una base canónica A*: = (a*1, ..., a*N-1) del espacio V*, en el que el DPVS (q, V, V*, Gt, A, A*) satisface las tres condiciones siguientes: (1) existe un emparejamiento bilineal no degenerado, (2) las bases canónicas A y A* son bases ortonormales duales, y (3) existen mapas de distorsión;
    en el que el sistema de procesamiento criptográfico comprende: un dispositivo de generación de clave (100), un dispositivo de delegación de clave (400), un dispositivo de cifrado (200) y un dispositivo de descifrado (300);
    en el que el dispositivo de generación de clave (1 0 0 ) genera un vector de clave k*L,dec que es una clave secreta en un esquema de cifrado de predicado, siendo el vector de clave k*L,dec la clave secreta cuando un espacio V y un espacio V* son módulos duales emparejados a través de una operación de emparejamiento mostrada en la Fórmula 2, en el que el espacio V* es un módulo dual del espacio V, y cuando una base B" se proporciona como una clave pública, teniendo la base B", de entre los vectores de base bi (i = 1, n S, N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, n+1) excluyendo los vectores de base bi (i = S+1, N), comprendiendo el dispositivo de generación de clave:
    una unidad de generación de clave maestra (1 1 0 ) que genera una clave pública maestra, pk, y una clave secreta maestra, sk;
    una unidad de almacenamiento de clave maestra (1 2 0 ) que almacena en un dispositivo de almacenamiento una base predeterminada B* del espacio V*, y la clave pública maestra, pk, y la clave secreta maestra, sk, generadas por la unidad de generación de clave maestra (1 1 0 ), en el que las bases B y B* son bases ortonormales; y
    una unidad de generación de vector de clave (130) que, usando un dispositivo de procesamiento, genera como el vector de clave k*L, dec un vector en el que la información de predicado se establece como coeficientes de uno o más vectores de base b*; (i = 1 ,..., pl) del vector de base b*; (i = 1 , ..., n) de entre los vectores de base b*i (i = 1, ..., n, ..., S, ..., N) que constituyen la base B* almacenada por la unidad de almacenamiento de clave maestra, y se establece un valor predeterminado como coeficiente de un vector de base b*n+1,
    [Fórmula 1]
    Figure imgf000059_0001
    X i, n i: coeficientes,
    [Fórmula 2]
    Figure imgf000059_0002
    donde
    Figure imgf000060_0003
    X ¡, n ¡: coeficientes,
    en el que el dispositivo de delegación de clave (400) genera un vector de clave k*L+i,dec que puede descifrar uno o más, pero no todos, los vectores de cifrado que se pueden descifrar mediante un vector de clave k*L,dec que es una clave secreta en un esquema de cifrado de predicado, siendo el vector de clave k*L+1,dec una clave secreta cuando un espacio V y un espacio V* son módulos duales emparejados a través de una operación de emparejamiento mostrada en la Fórmula 9, en el que el espacio V* es un módulo dual del espacio V, y cuando una base B" se proporciona como una clave pública, teniendo la base B", de entre los vectores de base bi (i = 1, ..., n, ..., R, ..., S, ..., N), siendo N un número entero mayor o igual que 4, siendo S un número entero de n+2 a N-1, siendo R un número entero de n+1 a S-1, y siendo n un número entero de 1 a N-3, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1), ..., N), comprendiendo el dispositivo de delegación de clave:
    una unidad de adquisición de vector de clave (410) que obtiene el vector de clave k*L,dec en el que la información de predicado se establece como coeficientes de uno o más vectores de base b*i (i = 1 , ..., pl) de los vectores de base b*; (i = 1 , ..., n) de entre los vectores de base b*; (i = 1 , ..., n, ..., R, ..., S, ..., N) que constituyen una base B*, se establece un valor predeterminado como coeficiente de un vector de base b*n+1, y se establecen valores aleatorios como coeficientes de los vectores de base b*; (i = R+1, ..., S), en el que las bases B y B* son bases ortonormales;
    una unidad de adquisición de vector de generación de clave (410) que obtiene al menos un número (n-μL) de vectores de generación de clave k*L,del,j en el que se establece un valor aleatorio como coeficiente de un vector de base b*j para al menos cada j de j = pl+1 , ..., n, y se establecen valores aleatorios como coeficientes de los vectores de base b*; (i = R+1, ..., S); y
    una unidad de generación de vector de clave (420) que genera el vector de clave k*L+1,dec multiplicando por la información de predicado un coeficiente de cada vector de base de uno o más de los vectores de generación de clave k*L,delj de entre los vectores de generación de clave k*L,del,j obtenidos por la unidad de adquisición de vector de generación de clave y sumando cada resultado al vector de clave k*L,dec obtenido por la unidad de adquisición de vector de clave,
    [Fórmula 9]
    Figure imgf000060_0001
    donde
    Figure imgf000060_0002
    Xi, n: coeficientes;
    en el que el dispositivo de cifrado (2 0 0 ) en un sistema de procesamiento criptográfico (1 0 ) que realiza un proceso de cifrado de predicado usando módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 1, en el que el espacio V* es un módulo dual del espacio V, en el que:
    el dispositivo de cifrado (2 0 0 ) al que se le proporciona una base BA e información de atributo predeterminada como una clave pública, teniendo la base BA, de entre los vectores de base bi (i = 1 , n, S, N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, n+1) excluyendo los vectores de base bi (i = S+1, N), y, usando un dispositivo de procesamiento, genera como vector de cifrado c1 un vector en el que la información de atributo se establece como coeficientes de uno o más vectores de base de entre los vectores de base bi (i = 1 , ..., n) de la base BA, y la información predeterminada se establece como un coeficiente de un vector de base bn+1;
    en el que los espacios V y V* usados para los procesos criptográficos tienen dimensión N = n+2+r+s;
    en el que el dispositivo de cifrado (2 0 0 ) usa un número n+ 2 de dimensiones de los vectores de base bi con i = 1 , ..., n+ 2 para generar el vector de cifrado c1;
    en el que r es un número entero mayor o igual que 0 , y s es un número entero mayor o igual que 1 ;
    [Fórmula 1]
    Figure imgf000061_0001
    donde
    Figure imgf000061_0002
    Xi, ni: coeficientes;
    en el que el dispositivo de cifrado (2 0 0 ) genera un vector de cifrado c1 que es un texto cifrado en un proceso de cifrado de predicado implementado en módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento, comprendiendo además el dispositivo de cifrado:
    una unidad de adquisición de clave pública (250) que obtiene una base BA e información de atributo predeterminada, teniendo la base BA, de entre el vector de base bi (i = 1, ..., n, ..., S, ..., N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1, ..., N);
    una unidad de establecimiento de información de transmisión (2 1 0 ) que, usando un dispositivo de procesamiento, genera como vector de información de transmisión Zv un vector de la base BA obtenido por la unidad de adquisición de clave pública, siendo el vector de información de transmisión Zv el vector en el que la información predeterminada se establece como un coeficiente de un vector de base bn+1; y
    una unidad de generación de vector de cifrado (2 2 0 ) que, usando el dispositivo de procesamiento, genera el vector de cifrado c1 sumando un vector de información de atributo en el que la información de atributo se establece como coeficientes de uno o más vectores de base de entre los vectores de base bi (i = 1, ..., n) de la base B A al vector de información de transmisión Zv generado por la unidad de establecimiento de información de transmisión;
    en el que dichos módulos duales comprenden espacios vectoriales duales;
    en el que la unidad de establecimiento de información de transmisión genera el vector de información de transmisión Zv como se muestra en la Fórmula 26, y
    en el que la unidad de generación de vector de cifrado genera el vector de cifrado ci como se muestra en la Fórmula 27:
    [Fórmula 26]
    Figure imgf000062_0001
    donde
    Z: valor aleatorio.
    [Fórmula 27]
    Figure imgf000062_0002
    donde
    (x1,...,x¡_).-((jí1,...,xil(1),...,(x(1L1+1,...,xw )). ¡nforrnac¡ón de atributos,
    Figure imgf000062_0005
    : valores aleatorios,
    ¿i,...,¿a : valores aleatorios;
    o, de forma alternativa,
    en el que la unidad de establecimiento de información de transmisión genera el vector de información de transmisión Zv como se muestra en la Fórmula 28, y
    en el que la unidad de generación de vector de cifrado genera el vector de cifrado ci como se muestra en la Fórmula 29,
    [Fórmula 28]
    Figure imgf000062_0003
    donde
    Z valor aleatorio;
    [Fórmula 29]
    Figure imgf000062_0004
    donde
    (x1,.„,xí_).-((xl i1 l.„,x1 in),...,(xi .1,...,xiin)).. información de atributo,
    ¿i,..., ¿y : valores aleatorios;
    en el que el dispositivo de cifrado comprende, además:
    una unidad de generación de información de cifrado (230) que genera la información de cifrado c2 mostrada en la Fórmula 30,
    [Fórmula 30]
    Figure imgf000063_0001
    donde
    Figure imgf000063_0002
    A es una base del espacio V y es A := (ai,..., aw),
    Figure imgf000063_0003
    A* es una base del espacio V* y es ’
    en el que el dispositivo de descifrado (300) que descifra un texto cifrado en un proceso de cifrado de predicado implementado en módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 31, en el que el espacio V* es un módulo dual del espacio V, comprendiendo el dispositivo de descifrado:
    una unidad de entrada de vector (310) que introduce un vector de cifrado ci que es un texto cifrado generado cuando una base BA se proporciona como una clave pública, teniendo la base BA, de entre los vectores de base bi (i =1, n, S, N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base predeterminada B del espacio V, al menos los vectores de base bi (i = 1, n+1) excluyendo los vectores de base bi (i = S+1, N), siendo el vector de cifrado C1 un vector en el que la información de atributo se establece como coeficientes de al menos los vectores de base bi (i = 1, ...,p h) de entre los vectores de base bi (i = 1, ..., n) de la base BA, y la información predeterminada se establece como un coeficiente del vector de base bn+1;
    una unidad de almacenamiento de vector de clave (320) que almacena en un dispositivo de almacenamiento un vector de clave k*L, dec en el que información de predicado v; (i = 1, ...,pj_) se establece como coeficientes de al menos los vectores de base b*; (i = 1 , . , pl) (p L^ph) de los vectores de base b*; (i = 1, . , n) de entre los vectores de base b*; (i = 1, . , n, . , S, . , N) de una base predeterminada B* del espacio V*, y se establece un valor predeterminado como coeficiente de un vector de base b*n+1, en el que las bases B y B* son bases ortonormales; y
    una unidad de operación de emparejamiento (330) que, usando un dispositivo de procesamiento, realiza la operación de emparejamiento mostrada en la Fórmula 31 sobre el vector de cifrado c1 introducido por la unidad de entrada de vector y el vector de clave k*L,dec almacenado por la unidad de almacenamiento de vector de clave para extraer del vector de cifrado c1 un valor relativo a la información predeterminada,
    [Fórmula 31]
    Figure imgf000063_0004
    donde
    Figure imgf000063_0005
    Xi,rií coeficientes.
    en el que dichos módulos duales comprenden espacios vectoriales duales;
    en el que la unidad de almacenamiento de vector de clave almacena el vector de clave k*L,dec en el que la información de predicado v; (i = 1, pl) se establece como coeficientes de al menos los vectores de base b*; (i = 1, pl) (μL^ph) de entre los vectores de base b*i (i = 1, n, R, S, N), siendo N un número entero mayor o igual que 4, siendo S un número entero de n+2 a N-1, siendo R un número entero de n+1 a S-1, y siendo n un número entero de 1 a N-3, que constituyen la base B*, un valor predeterminado se establece como un coeficiente de un vector de base b*n+1, y se establecen valores predeterminados como coeficientes de uno o más vectores de base de los vectores de base b*; (i = R+1, ..., S);
    en el que la unidad de entrada de vector introduce el vector de cifrado c1 como se muestra en la Fórmula 32,
    en el que la unidad de almacenamiento de vector de clave almacena el vector de clave k*L,dec como se muestra en la Fórmula 33, y
    en el que la unidad de operación de emparejamiento realiza la operación de emparejamiento como se muestra en la Fórmula 34 para extraer del vector de cifrado el valor relativo a la información predeterminada,
    [Fórmula 32]
    Figure imgf000064_0001
    donde
    Figure imgf000064_0002
    información de atributo
    Figure imgf000064_0003
    valores aleatorios,
    S1, . , Sd, Z : valores aleatorios.
    [Fórmula 33]
    Figure imgf000064_0004
    donde
    O0,i.vo,h (i = 1 , . , L; h = 1, ..., r) : valores aleatorios,
    vi (i = 1, ..., pL): información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 34]
    Figure imgf000064_0005
    donde
    Figure imgf000065_0001
    X, rjí coeficientes;
    en el que la unidad de entrada de vector introduce el vector de cifrado ci como se muestra en la Fórmula 38 y la información de cifrado c2 como se muestra en la Fórmula 39 en la que se cifra un mensaje m,
    en el que la unidad de almacenamiento de vector de clave almacena el vector de clave k*L,dec como se muestra en la Fórmula 40, y
    en el que la unidad de operación de emparejamiento realiza una operación como se muestra en la Fórmula 41 para extraer el mensaje m del vector de cifrado c1.
    [Fórmula 38]
    Figure imgf000065_0002
    donde
    Figure imgf000065_0003
    información de atributos,
    Figure imgf000065_0004
    valores aleatorios,
    Figure imgf000065_0005
    : valores aleatorios.
    [Fórmula 39]
    Figure imgf000065_0006
    donde
    Figure imgf000065_0007
    A es una base del espacio V y es A := (a1,..., aw),
    A* es una base del espacio V* y es
    Figure imgf000065_0008
    [Fórmula 40]
    Figure imgf000066_0001
    donde
    00j,^ 0,h (i= 1,...,L; h = 1,...,r) : valores aleatorios,
    vi (i = 1 , . , j l ) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 41]
    Figure imgf000066_0002
    donde
    Figure imgf000066_0004
    Xi, H'- coeficientes;
    o, de forma alternativa,
    en el que la unidad de entrada de vector introduce el vector de cifrado c1 como se muestra en la Fórmula 35,
    en el que la unidad de almacenamiento de vector de clave almacena el vector de clave k*L,dec como se muestra en la Fórmula 36, y
    en el que la unidad de operación de emparejamiento realiza la operación de emparejamiento como se muestra en la Fórmula 37 para extraer del vector de cifrado el valor relativo a la información predeterminada,
    [Fórmula 35]
    Figure imgf000066_0003
    donde
    (X1,..., Xh):=((x1,1,...,x1,n),...,(xh,1,...,xh,n)): información de atributo,
    81, ... , Sd, : valores aleatorios.
    [Fórmula 36]
    Figure imgf000067_0001
    donde
    Odec.í, qdec,h (t = 1,...,L; h = 1,...,r): valores aleatorios,
    vt,i (t = 1, . , L;i = 1, . , n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 37]
    Figure imgf000067_0002
    donde
    Figure imgf000067_0004
    Xi,^í. coeficientes;
    en el que la unidad de entrada de vector introduce el vector de cifrado c1 como se muestra en la Fórmula 42 y la información de cifrado c2 como se muestra en la Fórmula 43 en la que se cifra un mensaje m,
    en el que la unidad de almacenamiento de vector de clave almacena el vector de clave k*L,dec como se muestra en la Fórmula 44, y
    en el que la unidad de operación de emparejamiento realiza una operación como se muestra en la Fórmula 45 para extraer el mensaje m del vector de cifrado ci.
    [Fórmula 42]
    Figure imgf000067_0005
    donde
    (xi,..., xh):=((xi,i,...,xi,n),...,(xh,i,...,xh,n)): información de atributo,
    Si,...,Sd,Z : valores aleatorios.
    [Fórmula 43]
    Figure imgf000067_0003
    donde
    Figure imgf000068_0001
    A es una base del espacio V y es A := (ai,..., aw),
    Figure imgf000068_0002
    A* es una base del espacio V* y es
    [Fórmula 44]
    Figure imgf000068_0003
    donde
    Cdec,í, ndec,h (t = 1,...,L; h = 1,...,r): valores aleatorios,
    vt,i(t = 1, ..., L;i = 1, ...,n): información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 45]
    Figure imgf000068_0004
    donde
    Figure imgf000068_0005
    %i, qí. coeficientes.
    2. El sistema de procesamiento criptográfico de la reivindicación 1, en el que dichos módulos duales comprenden espacios vectoriales duales.
    3. El sistema de procesamiento criptográfico de la reivindicación 2,
    en el que la unidad de generación de vector de clave (130) en el dispositivo de generación de clave (100) genera como el vector de clave k*L,dec un vector en el que la información de predicado se establece como coeficientes de uno o más vectores de base b*; (i = 1, . , |il ) del vector de base b*; (i = 1, . , n) de entre los vectores de base b*; (i = 1, . , n, . , R, . , S, . , N), siendo N un número entero mayor o igual que 4, siendo S un número entero de n+2 a N-1, siendo R un número entero de n 1 a S-1, y siendo n un número entero de 1 a N-3, que constituyen la base B*, se establece un valor predeterminado como coeficiente de un vector de base b*n+1, y se establecen valores aleatorios como coeficientes de los vectores de base b*; (i = R+1, ..., S).
    4. El sistema de procesamiento criptográfico de la reivindicación 3,
    en el que la unidad de generación de vector de clave (130) en el dispositivo de generación de clave (100) genera el vector de clave k*L,dec como se muestra en la Fórmula 3.
    [Fórmula 3]
    Figure imgf000069_0001
    donde
    00 ,/, n0,h (i = 1,..., L; h = 1, r) : valores aleatorios,
    vi (i = 1, ..., ijl) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    5. El sistema de procesamiento criptográfico de la reivindicación 3,
    en el que la unidad de generación de vector de clave (130) en el dispositivo de generación de clave (100) genera el vector de clave k*L,dec como se muestra en la Fórmula 4.
    [Fórmula 4]
    Figure imgf000069_0002
    donde
    Odec.í, ndec,h (t = 1,...,L; h = 1,...,r): valores aleatorios,
    Vt,/ (t = 1,...,L;i = 1,...,n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    6. El sistema de procesamiento criptográfico de la reivindicación 3, en el que el dispositivo de generación de clave (100) comprende, además:
    una unidad de generación de vector de generación de clave (150) que, usando el dispositivo de procesamiento, genera como un vector de generación de clave k*L,del,j al menos un número (n-piL) de vectores que pueden descifrar uno o más, pero no todos, los vectores de cifrado que se pueden descifrar por el vector de clave k*L,dec generado por la unidad de generación de vector de clave, siendo el vector de generación de clave k\,delj un vector en el que se establece un valor aleatorio como coeficiente de un vector de base b*j para al menos cada j de j = |il 1, ..., n, y se establecen valores aleatorios como coeficientes de uno o más vectores base de los vectores de base b*; (i = R+1, ..., S); y
    una unidad de generación de vector de aleatorización (140) que, usando el dispositivo de procesamiento, genera como un vector de aleatorización k*L,ran,j al menos un número (L+1) de vectores para establecer valores distribuidos uniformemente como coeficientes de vectores de base del vector de clave k*L+1,dec generado con el vector de generación de clave k*L,del,j generado por la unidad de generación de vector de generación de clave, estableciéndose los coeficientes de modo que se establece la información de predicado, siendo el vector de aleatorización k*L,ran,j un vector en el que la información de predicado multiplicada por un valor aleatorio se establece como un coeficiente de cada uno de los vectores de base b*i (i = 1, ..., |il ), y se establecen valores aleatorios como coeficientes de uno o más vectores de base de los vectores de base b*i (i = R+1, ..., S).
    7. El sistema de procesamiento criptográfico de la reivindicación 6,
    en el que la unidad de generación de vector de clave (130) en el dispositivo de generación de clave (100) genera el vector de generación de clave k*L,del,j como se muestra en la Fórmula 5, y
    en el que la unidad de generación de vector de aleatorización genera el vector de aleatorización k*L,ran,j como se muestra en la Fórmula 6.
    [Fórmula 5]
    Figure imgf000070_0004
    donde
    aJj, wmh (/=¿«-+1,...,n; i=1,...,L; h=1,...,r) :valores aleatorios,
    vi (i = 1 , . , /il ) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 6]
    Figure imgf000070_0003
    donde
    °/,i, j (/=1,...,l+1; i=1,..., L; h = 1 , . , r): valores aleatorios,
    Vi (i = 1, ..., ijl : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n 2 r = S.
    8. El sistema de procesamiento criptográfico de la reivindicación 6,
    en el que la unidad de generación de vector de clave (130) en el dispositivo de generación de clave (100) genera el vector de generación de clave k*L,del,j como se muestra en la Fórmula 7, y
    en el que la unidad de generación de vector de aleatorización genera el vector de aleatorización k*L,ran,j como se muestra en la Fórmula 8.
    [Fórmula 7]
    Figure imgf000070_0001
    donde
    Odel/.f, tfdeij ,h,y(j=1,...,n; t = 1,...,L; h=1,...,r) : valores aleatorios,
    vt,i(t = 1,...,L;i= 1,...,n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 + r = S.
    [Fórmula 8]
    Figure imgf000070_0002
    donde
    Oranjxnranj.h (j = 1,...,L+ 1; t = 1,...,L; h = 1,...,r): valores aleatorios,
    vt,i (t = 1,...,L;i = 1, n) : información de predicado,
    Y : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    9. El sistema de procesamiento criptográfico de una cualquiera de las reivindicaciones 1 a 8, en el que el dispositivo de delegación de clave comprende, además:
    una unidad de adquisición de vector de aleatorización que obtiene al menos un número (L+1) de vectores de aleatorización k*L,ranj en los que la información de predicado multiplicada por un valor aleatorio se establece como un coeficiente de cada uno de los vectores de base b*i (i = 1, ..., |Jl), y los valores aleatorios se establecen como coeficientes de los vectores de base b*; (i = R+1, ..., S), y en el que la unidad de generación de vector de clave genera el vector de clave k*L+1,dec multiplicando por un valor aleatorio un coeficiente de cada vector de base de uno o más de los vectores de aleatorización k*L,ranj de entre los vectores de aleatorización k*L,ranj obtenidos por la unidad de adquisición de vector de aleatorización y sumando, además, cada resultado al vector de clave k*L+1, dec.
    10. El sistema de procesamiento criptográfico de la reivindicación 9, en el dispositivo de delegación de clave: en el que la unidad de adquisición de vector de clave obtiene el vector de clave k*L,dec como se muestra en la Fórmula 10,
    en el que la unidad de adquisición de vector de generación de clave obtiene el vector de generación de clave k*L,delj como se muestra en la Fórmula 11,
    en el que la unidad de adquisición de vector de aleatorización obtiene el vector de aleatorización k*L,ranj como se muestra en la Fórmula 12, y
    en el que la unidad de generación de vector de clave genera el vector de clave k*L+1,dec como se muestra en la Fórmula 13.
    [Fórmula 10]
    Figure imgf000071_0001
    donde
    otu q0,h (i=1,...,L; h= 1, ..., r) : valores aleatorios,
    Vi (i= 1, ..., ul) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 11]
    Figure imgf000071_0002
    donde
    oi,i,V,n¿h 0=UL+1,...,n; i=1,...,L; h=1,...,r) :valores aleatorios,
    Vi (i= 1, ..., ul) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 12]
    Figure imgf000072_0001
    donde
    o,, njh (j= 1.....L+1; i =1,...,L; h = 1,...,r): valores aleatorios, vi (i =1, ..., jl ) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 13]
    Figure imgf000072_0002
    donde
    Gf0,í, 00 (t = 1 , . , L + 1): valores aleatorios,
    Vi (i = jl 1, ..., jl+1) : información de predicado.
    11. El sistema de procesamiento criptográfico de la reivindicación 9, en el dispositivo de delegación de clave: en el que la unidad de adquisición de vector de clave obtiene el vector de clave k*L,dec como se muestra en la Fórmula 14,
    en el que la unidad de adquisición de vector de generación de clave obtiene el vector de generación de clave k*L,delj como se muestra en la Fórmula 15,
    en el que la unidad de adquisición de vector de aleatorización obtiene el vector de aleatorización k*L, ran,j como se muestra en la Fórmula 16, y
    en el que la unidad de generación de vector de clave genera el vector de clave k*L+1,dec como se muestra en la Fórmula 17.
    [Fórmula 14]
    Figure imgf000072_0003
    donde
    0 dec,t, ndec,h (t = 1,...,L; h = 1,...,r): valores aleatorios,
    vt,i (t = 1 , . , L; i = 1,...,n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 15]
    Figure imgf000072_0004
    donde
    0delj,t,ndeljh, y (i = 1,.,n ; t = 1,.,L ; h =1,...,r) : valores aleatorios,
    vt,i (t = = 1,...,n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n 2 r = S.
    [Fórmula 16]
    Figure imgf000073_0001
    donde
    Oran,j,t, fyanjjh (j =1,...,L+ 1; t = 1,...,L; h = 1,...,r): valores aleatorios,
    Vt,i (t = 1,...,L;i = 1,...,n): información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 17]
    Figure imgf000073_0002
    donde
    Odect,t,Odec (t = 1 , . , L 1) : valores aleatorios,
    vl+1 ,i (i = 1 , . , n) : información de predicado.
    12. El sistema de procesamiento criptográfico de la reivindicación 9, en el que el dispositivo de delegación de clave comprende, además:
    una unidad de generación de vector de generación de clave (440) que, usando un dispositivo de procesamiento, genera como un vector de generación de clave k*L+1,delj al menos un número (n-jL+1) de vectores para generar un vector de clave k*L+2,dec que puede descifrar uno o más, pero no todos, los vectores de cifrado que se pueden descifrar mediante el vector de clave k*L+1,dec generado por la unidad de generación de vector de clave, siendo el vector de generación de clave k*L+1,del,j un vector en el que se establece un valor aleatorio como coeficiente de un vector de base b*j para al menos cada j de j = jl+1 + 1, ..., n; y
    una unidad de generación de vector de aleatorización (430) que, usando el dispositivo de procesamiento, genera como un vector de aleatorización k*L+1,ran,j al menos un número (L+2) de vectores para establecer valores distribuidos uniformemente como coeficientes de los vectores de base del vector de clave k *L+2,dec generado con el vector de generación de clave k*L+1,del,j generado por la unidad de generación de vector de generación de clave, estableciéndose los coeficientes de modo que se establece la información de predicado, siendo el vector de aleatorización k*L+1,ran,j un vector en el que la información de predicado multiplicada por un valor aleatorio se establece como coeficiente de cada uno de los vectores de base b*i (i = 1, ..., |Jl), 13. El sistema de procesamiento criptográfico de la reivindicación 12, en el dispositivo de delegación de clave:
    en el que la unidad de adquisición de vector de generación de clave obtiene el vector de generación de clave k*L,delj como se muestra en la Fórmula 18,
    en el que la unidad de adquisición de vector de aleatorización obtiene el vector de aleatorización k*L,ran,j como se muestra en la Fórmula 19, en el que la unidad de generación de vector de clave genera el vector de generación de clave k*L+1,del,j como se muestra en la Fórmula 20, y en el que la unidad de generación de vector de aleatorización genera el vector de aleatorización k*L+1,ran,j como se muestra en la Fórmula 21.
    [Fórmula 18]
    Figure imgf000074_0001
    donde
    °jxP,m.h (j = Pl 1,..., n; t = 1,..., L; h = 1,..., r) : valores aleatorios,
    vi (i= 1, ..., pL) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 19]
    Figure imgf000074_0002
    donde
    °j,t, m,h (j = 1 , . , L+1; t = 1 , . , L; h = 1,...,r): valores aleatorios,
    Vi (i= 1, ..., pl) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 Y=S .
    [Fórmula 20]
    Figure imgf000074_0003
    donde
    Oj,t,oi, tp’ (j= p l +1 + 1,...,n; t = 1,...,L + 1): valor aleatorio,
    Vi (i= pl + 1, ..., pl+1): información de predicado.
    [Fórmula 21]
    Figure imgf000074_0004
    donde
    ajt,Oj(j= 1 , . , L+2; t=1,..., L+1): valores aleatorios,
    Vi (i= pl+1,..., pl+1) : información de predicado.
    14. El sistema de procesamiento criptográfico de la reivindicación 12, en el dispositivo de delegación de clave:
    en el que la unidad de adquisición de vector de generación de clave obtiene el vector de generación de clave k*L,delj como se muestra en la Fórmula 22,
    en el que la unidad de adquisición de vector de aleatorización obtiene el vector de aleatorización k*L,ran,j como se muestra en la Fórmula 23,
    en el que la unidad de generación de vector de clave genera el vector de generación de clave k *l+i , deij como se muestra en la Fórmula 24, y
    en el que la unidad de generación de vector de aleatorización genera el vector de aleatorización k*L+i,ran,j como se muestra en la Fórmula 25.
    [Fórmula 22]
    Figure imgf000075_0001
    donde
    Odelj,t,qdelj,h,y (=1,...,n; t=1,...,L; h=1,...,r) : valores aleatorios,
    vt,i(t=1,...,L;i=1, ..., n) : información de predicado,
    r : número entero mayor o igual que 1, y n+2=R, n+2+r=S.
    [Fórmula 23]
    Figure imgf000075_0002
    donde
    Oranj.t, nranj,h j=1,...,L+1; t=1,...,L; h=1,.. ,,r):valores aleatorios,
    vt,i (t=1,..., L;i=1,...,n) : información de predicado,
    r. número entero mayor o igual que 1, y n+2=R, n+2+r=S.
    [Fórmula 24]
    Figure imgf000075_0003
    donde
    adelj,t,Odelj ^'(/=1,...,n;i=1,...,L+1): valores aleatorios,
    vl+1 ,i (i = 1,...,n): información de predicado.
    [Fórmula 25]
    Figure imgf000075_0004
    donde
    aranjí, Granj j= 1,...,L+2; f=1,...,L+1) : valores aleatorios,
    vl+i ,í (i=1,...,n) : información de predicado.
    15. Un procedimiento de procesamiento criptográfico realizado en un sistema de procesamiento criptográfico (10) que realiza un proceso de cifrado de predicado usando módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 1, en el que el espacio V* es un módulo dual del espacio V;
    en el que el sistema de procesamiento criptográfico se implementa en un espacio vectorial de emparejamiento dual DPVS, DPVS (q, V, V*, GT, A, A*) incluye un orden primo q, dos espacios vectoriales N-dimensionales V y V* sobre Fq, un grupo cíclico Gt de orden q, una base canónica A: = (a1, aN-1) del espacio V, y una base canónica A*:=(a*1, a*N-1) del espacio V*, en el que el DPVS (q, V, V*, Gt, A, A*) satisface las tres condiciones siguientes: (1) existe un emparejamiento bilineal no degenerado, (2) las bases canónicas A y A* son bases ortonormales duales, y (3) existen mapas de distorsión;
    en el que el sistema de procesamiento criptográfico comprende: un dispositivo de generación de clave (100), un dispositivo de delegación de clave (400), un dispositivo de cifrado (200) y un dispositivo de descifrado (300);
    en el lado del dispositivo de generación de clave (100) que genera un vector de clave k*L,dec, que es una clave secreta en un esquema de cifrado de predicado, siendo el vector de clave k*L,dec la clave secreta cuando un espacio V y un espacio V* son módulos duales emparejados mediante una operación de emparejamiento mostrada en la Fórmula 2, en la que el espacio V* es un módulo dual del espacio V, y cuando una base BA se proporciona como una clave pública, teniendo la base BA, de entre los vectores de base bi (i = 1, . , n, . , S, . , N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1, ..., N), comprendiendo:
    generar una clave pública maestra, pk, y una clave secreta maestra, sk;
    almacenar en un dispositivo de almacenamiento una base predeterminada B* del espacio V*, y la clave pública maestra, pk, y la clave secreta maestra, sk, generadas por la unidad de generación de clave maestra (110), en el que las bases B y B* son bases ortonormales; y
    usando un dispositivo de procesamiento, generar como el vector de clave k*L,dec un vector en el que la información de predicado se establece como coeficientes de uno o más vectores de base b*i (i = 1, . , |Jl) del vector de base b*; (i = 1, . , n) de entre los de vectores base b*; (i = 1, . , n, . , S, . , N) que constituyen la base B* almacenada por la unidad de almacenamiento de clave maestra, y se establece un valor predeterminado como coeficiente de un vector de base b*n+1,
    [Fórmula 1]
    Figure imgf000076_0001
    donde
    Figure imgf000076_0002
    Xi, ni: coeficientes;
    [Fórmula 2]
    Figure imgf000077_0004
    donde
    Figure imgf000077_0001
    Xi, rií- coeficientes;
    en el lado del dispositivo de delegación de clave (400) que genera un vector de clave k *L+i,dec que puede descifrar uno o más, pero no todos, los vectores de cifrado que se pueden descifrar mediante un vector de clave k*L,dec que es una clave secreta en un esquema de cifrado de predicado, siendo el vector de clave k*L+1,dec una clave secreta cuando un espacio V y un espacio V* son módulos duales emparejados mediante una operación de emparejamiento mostrada en la Fórmula 9, en la que el espacio V* es un módulo dual del espacio V, y cuando una base BA se proporciona como una clave pública, teniendo la base BA, de entre los vectores de base bi (i = 1, ..., n, ..., R, ..., S,..., N), siendo N un número entero mayor o igual que 4, siendo S un número entero de n+2 a N-1, siendo R un número entero de n+1 a S-1, y siendo n un número entero de 1 a N-3, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1, ..., N), comprendiendo:
    obtener el vector de clave k*L,dec en el que la información de predicado se establece como coeficientes de uno o más vectores de base b*; (i = 1, ..., pl) de los vectores de base b*; (i = 1, ..., n) de entre los vectores de base b*; (i = 1, ..., n, ..., R, ..., S, ..., N) que constituyen una base B*, se establece un valor predeterminado como coeficiente de un vector de base b V 1 , y se establecen valores aleatorios como coeficientes de los vectores de base b*; (i = R+1, ..., S), en el que las bases B y B* son bases ortonormales;
    obtener al menos un número (n-μL) de vectores de generación de clave k*L,del,j en los que se establece un valor aleatorio como coeficiente de un vector de base b*j para al menos cada j de j = Pl+1, ..., n, y se establecen valores aleatorios como coeficientes de los vectores de base b*; (i = R+1, ..., S); y
    generar el vector de clave k*L+1,dec multiplicando por la información de predicado un coeficiente de cada vector de base de uno o más de los vectores de generación de clave k*L,del,j de entre los vectores de generación de clave k*L,del,j y sumando cada resultado al vector de clave k*L,dec,
    [Fórmula 9]
    Figure imgf000077_0002
    donde
    Figure imgf000077_0003
    Xi, n- coeficientes;
    en el lado del dispositivo de cifrado (200) en un sistema de procesamiento criptográfico (10) que realiza un proceso de cifrado de predicado usando módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 1, en la que el espacio V* es un módulo dual del espacio V, en el que:
    el dispositivo de cifrado (200) al que se le proporciona una base BA e información de atributo predeterminada como una clave pública, teniendo la base BA, de entre los vectores de base bi (i = 1, n, S, N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1, ..., N), y, usando un dispositivo de procesamiento, genera como un vector de cifrado c1 un vector en el que la información de atributo se establece como coeficientes de uno o más vectores de base de entre los vectores de base bi (i = 1, ..., n) de la base BA , y la información predeterminada se establece como un coeficiente de un vector de base bn+1;
    en el que los espacios V y V* usados para los procesos criptográficos tienen dimensión N = n+2+r+s;
    en el que el dispositivo de cifrado (200) usa un número n+2 de dimensiones de los vectores de base bi con i = 1, ..., n+2 para generar el vector de cifrado c1;
    en el que r es un número entero mayor o igual que 0, y s es un número entero mayor o igual que 1;
    [Fórmula 1]
    Figure imgf000078_0001
    donde
    Figure imgf000078_0002
    X, n : coeficientes;
    en el dispositivo de cifrado (200) que genera un vector de cifrado c1 que es un texto cifrado en un proceso de cifrado de predicado implementado en módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento, comprendiendo:
    obtener una base BA e información de atributo predeterminada, teniendo la base BA, de entre los vectores de base bi (i = 1 ,..., n, ..., S, ..., N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, ..., n+1) excluyendo los vectores de base bi (i = S+1, ..., N);
    usando un dispositivo de procesamiento, generar como vector de información de transmisión Zv un vector de base BA, siendo el vector de información de transmisión Zv el vector en el que se establece la información predeterminada como un coeficiente de un vector de base bn+1; y
    usando el dispositivo de procesamiento, generar el vector de cifrado c1 sumando un vector de información de atributo en el que la información de atributo se establece como coeficientes de uno o más vectores de base de entre los vectores de base bi (i = 1, ..., n) de la base BA al vector de información de transmisión Zv;
    en el que dichos módulos duales comprenden espacios vectoriales duales;
    en el que el vector de información de transmisión Zv se genera como se muestra en la Fórmula 26, y
    en el que el vector de cifrado c1 se genera como se muestra en la Fórmula 27:
    [Fórmula 26]
    Figure imgf000079_0001
    donde
    Z valor aleatorio.
    [Fórmula 27]
    Figure imgf000079_0002
    donde
    (X1..... xl):=((x1,. . . ,x^ i),. . . ,(x,ul-í+1 ,...,x,ul)): información de atributos,
    Figure imgf000079_0003
    : valores aleatorios,
    5i,...,5d : valores aleatorios;
    o, de forma alternativa,
    en el que el vector de información de transmisión Zv se genera como se muestra en la Fórmula 28, y en el que el vector de cifrado ci se genera como se muestra en la Fórmula 29,
    [Fórmula 28]
    Figure imgf000079_0004
    donde
    Z valor aleatorio;
    [Fórmula 29]
    Figure imgf000079_0005
    donde
    5.. - * * ■ « * , .V .....( W .....V » : informadón * atributos,
    51.. ...5d: valores aleatorios;
    las etapas del procedimiento en el dispositivo de cifrado comprenden, además:
    generar la información de cifrado c2 que se muestra en la Fórmula 30,
    [Fórmula 30]
    Figure imgf000079_0006
    donde
    Figure imgf000080_0001
    A es una base del espacio V y es A := (ai,..., sn),
    Figure imgf000080_0002
    A* es una base del espacio V* y es
    en el dispositivo de descifrado (300) que descifra un texto cifrado en un proceso de cifrado de predicado implementado en módulos duales de un espacio V y un espacio V* emparejados a través de una operación de emparejamiento mostrada en la Fórmula 31, en la que el espacio V* es un módulo dual del espacio V, comprendiendo:
    introducir un vector de cifrado ci que es un texto cifrado generado cuando una base BA se proporciona como una clave pública, teniendo la base BA, de entre los vectores de base bi (i =1, n, S, N), siendo N un número entero mayor o igual que 3, siendo S un número entero de n+1 a N-1, y siendo n un número entero de 1 a N-2, que constituyen una base B predeterminada del espacio V, al menos los vectores de base bi (i = 1, n+1) excluyendo los vectores de base bi (i = S+1, ..., N), siendo el vector de cifrado C1 un vector en el que se establece la información de atributo como coeficientes de al menos los vectores de base bi (i = 1, ..., jh) de entre los vectores de base bi (i = 1, . , n) de la base BA, y la información predeterminada se establece como un coeficiente del vector de base bn +1;
    almacenar en un dispositivo de almacenamiento un vector de clave k*L,dec en el que la información de predicado v, (i=1,..., |Jl) se establece como coeficientes de al menos los vectores de base b*; (i = 1 , . , Jl) (μL^jh) de los vectores de base b*; (i = 1, ..., n) de entre los vectores de base b*; (i = 1, ..., n, ..., S, ..., N) de una base predeterminada B* del espacio V*, y se establece un valor predeterminado como coeficiente de un vector de base b*n+1, en el que las bases B y B* son bases ortonormales; y
    usando un dispositivo de procesamiento, realizar la operación de emparejamiento que se muestra en la Fórmula 31 sobre el vector de cifrado c1 y el vector de clave k*L,dec para extraer del vector de cifrado c1 un valor relativo a la información predeterminada,
    [Fórmula 31]
    Figure imgf000080_0003
    donde
    Figure imgf000080_0004
    i í i x-M■
    Xi, qi: coeficientes.
    en el que dichos módulos duales comprenden espacios vectoriales duales;
    en el que las etapas del procedimiento en el lado del dispositivo de descifrado (300) comprenden, además: almacenar el vector de clave k*L,dec en el que la información de predicado vi (i=1, ..., jl) se establece como coeficientes de al menos los vectores de base b*i (i = 1, ..., jl) (jL^jh) de entre los vectores de base b*i (i = 1, ..., n, ..., R, ..., S, ..., N), siendo N un número entero mayor o igual que 4, siendo S un número entero de n+2 a N-1, siendo R un número entero de n+1 a S-1, y siendo n un número entero de 1 a N -3, que constituyen la base B*, se establece un valor predeterminado como un coeficiente de un vector de base b*n+1, y se establecen los valores predeterminados como coeficientes de uno o más vectores de base de los vectores de base b*; (i = R+1, ..., S);
    en el que la entrada del vector de cifrado c1 es como se muestra en la Fórmula 32,
    en el que el vector de clave k*L,dec almacenado es como se muestra en la Fórmula 33, y
    en el que la operación de emparejamiento se realiza como se muestra en la Fórmula 34 para extraer del vector de cifrado el valor relativo a la información predeterminada,
    [Fórmula 32]
    Figure imgf000081_0001
    donde
    Figure imgf000081_0002
    información de atributos,
    Figure imgf000081_0003
    valores aleatorios,
    S,..., Sd, C- valores aleatorios.
    [Fórmula 33]
    Figure imgf000081_0004
    donde
    ct0 ,Z, H0,h (i=1,..., L; h=1,...,r) : valores aleatorios,
    v, (i = 1, ..., pl rii: información de predicado,
    r : número entero mayor o igual que 1, y n+2=R, n+2+r=S.
    [Fórmula 34]
    Figure imgf000081_0006
    donde
    Figure imgf000081_0005
    Xi, r - coeficientes;
    en el que la entrada del vector de cifrado c1 es como se muestra en la Fórmula 38 y la información de cifrado c2 como se muestra en la Fórmula 39 en la que un mensaje m está cifrado,
    en el que el vector de clave k*L,dec almacenado es como se muestra en la Fórmula 40, y
    en el que se realiza una operación como se muestra en la Fórmula 41 para extraer el mensaje m del vector de cifrado c1,
    [Fórmula 38]
    Figure imgf000082_0001
    donde
    Figure imgf000082_0002
    información de atributo
    (*ft*1’- .x íí):=((>W1+1.- .x W)t2),-,(JfM.1+1 ,- .x M)) : valores aleatorios,
    Si,..., Sd, C valores aleatorios.
    [Fórmula 39]
    Figure imgf000082_0003
    donde
    Figure imgf000082_0004
    A es una base del espacio V y es A := (a1,..., aw),
    A* es una base del espacio V* y es
    Figure imgf000082_0007
    [Fórmula 40]
    Figure imgf000082_0005
    donde
    ct0 ,Z, H0,h (i=1,...,L; h= 1, ...,r) : valores aleatorios,
    Vi (i = 1, ^L): información de predicado,
    r : número entero mayor o igual que 1, y n 2 = R, n 2 r = S.
    [Fórmula 41]
    Figure imgf000082_0006
    donde
    Figure imgf000082_0008
    Figure imgf000083_0001
    X, n i : coeficientes;
    o, de forma alternativa,
    introducir el vector de cifrado ci como se muestra en la Fórmula 35,
    almacenar el vector de clave k*L,dec como se muestra en la Fórmula 36, y
    realizar la operación de emparejamiento como se muestra en la Fórmula 37 para extraer del vector de cifrado el valor relativo a la información predeterminada,
    [Fórmula 35]
    Figure imgf000083_0002
    donde
    ix' ... Xíj):=((Xl'1.......................xh.n))- información de atributos,
    Si,..., ¿á,C : valores aleatorios,
    [Fórmula 36]
    Figure imgf000083_0003
    donde
    odec,t,ndec,h (t = 1,...,L; h = 1,...,r): valores aleatorios,
    Vf,i (t = 1,...,L;i = 1,...,n) : información de predicado,
    r : número entero mayor o igual que 1, y n + 2 = R, n + 2 r = S.
    [Fórmula 37]
    Figure imgf000083_0004
    donde
    Figure imgf000083_0005
    xi,ni: coeficientes;
    en el que la entrada del vector de cifrado c1 es como se muestra en la Fórmula 42 y la información de cifrado c2 como se muestra en la Fórmula 43 en la que un mensaje m está cifrado,
    en el que el vector de clave k*L,dec almacenado es como se muestra en la Fórmula 44, y
    en el que se realiza una operación como se muestra en la Fórmula 45 para extraer el mensaje m del vector de cifrado c1 ,
    [Fórmula 42]
    Figure imgf000084_0001
    donde
    (xl4...,xh) ■.-((x1ii,...,x1in).... (xh, 1....xh,n)): información de atributos,
    Ó1 ,...,Sd, C : valores aleatorios.
    [Fórmula 43]
    Figure imgf000084_0006
    donde
    Figure imgf000084_0002
    A es una base del espacio V y es A : =(ai,...,aw)
    A* es una base del espacio
    Figure imgf000084_0003
    [Fórmula 44]
    Figure imgf000084_0007
    donde
    ndec,t, qdec.h (t = 1.....L; h = 1,...,r): valores aleatorios,
    vt,i (t = 1,...,L;i = 1,...,n) : información de predicado
    r : número entero mayor o igual que 1, y n 2 = R, n 2 + r = S.
    [Fórmula 45]
    Figure imgf000084_0004
    donde
    Figure imgf000084_0005
    X , H'- coeficientes
    16. Un producto de programa informático de procesamiento criptográfico se adapta para realizar el procedimiento definido en la reivindicación 15.
ES10842191T 2010-01-08 2010-12-20 Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico Active ES2955589T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010002709A JP5334873B2 (ja) 2010-01-08 2010-01-08 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
PCT/JP2010/072912 WO2011083678A1 (ja) 2010-01-08 2010-12-20 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム

Publications (1)

Publication Number Publication Date
ES2955589T3 true ES2955589T3 (es) 2023-12-04

Family

ID=44305415

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10842191T Active ES2955589T3 (es) 2010-01-08 2010-12-20 Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico

Country Status (7)

Country Link
US (1) US8929542B2 (es)
EP (1) EP2523178B1 (es)
JP (1) JP5334873B2 (es)
KR (1) KR101310439B1 (es)
CN (1) CN102822883B (es)
ES (1) ES2955589T3 (es)
WO (1) WO2011083678A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5677273B2 (ja) 2011-11-18 2015-02-25 三菱電機株式会社 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP5680007B2 (ja) * 2012-03-06 2015-03-04 三菱電機株式会社 暗号システム、暗号方法及び暗号プログラム
JP5730805B2 (ja) * 2012-04-04 2015-06-10 日本電信電話株式会社 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
EP2945313B1 (en) 2013-01-12 2017-09-06 Mitsubishi Electric Corporation Key generation device, key generation program, concealed data search system, and key distribution method
WO2014112170A1 (ja) * 2013-01-16 2014-07-24 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム
JP5841955B2 (ja) * 2013-01-21 2016-01-13 日本電信電話株式会社 関数型暗号システム及び方法
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
JP6456451B1 (ja) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法、及びプログラム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070223686A1 (en) * 2004-09-16 2007-09-27 Shidong Li Methods and apparatus for data and signal encryption and decryption by irregular subspace leaping
JP2008011092A (ja) * 2006-06-28 2008-01-17 Fuji Xerox Co Ltd 暗号化コンテンツ検索方式
CN101335615B (zh) * 2008-05-30 2010-12-29 北京飞天诚信科技有限公司 用于usb key音频加解密装置密钥协商的方法
CN101404577B (zh) * 2008-10-30 2010-04-21 南京大学 一种融合多种保密技术的保密通信方法
JP5349261B2 (ja) * 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
KR101246241B1 (ko) * 2009-04-24 2013-03-22 니뽄 덴신 덴와 가부시키가이샤 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム

Also Published As

Publication number Publication date
JP2011141472A (ja) 2011-07-21
EP2523178A4 (en) 2017-07-26
KR101310439B1 (ko) 2013-09-24
CN102822883A (zh) 2012-12-12
US8929542B2 (en) 2015-01-06
WO2011083678A1 (ja) 2011-07-14
CN102822883B (zh) 2015-05-13
US20130039489A1 (en) 2013-02-14
EP2523178B1 (en) 2023-08-16
EP2523178A1 (en) 2012-11-14
KR20120112654A (ko) 2012-10-11
JP5334873B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
ES2955589T3 (es) Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, procedimiento de procesamiento criptográfico y programa de procesamiento criptográfico
US8577030B2 (en) Cryptographic processing system, key generation device, key delegation device, encryption device, decryption device, cryptographic processing method, and cryptographic processing program
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
JP5256342B2 (ja) 情報生成装置、方法、プログラム及びその記録媒体
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
KR101393899B1 (ko) 암호 처리 시스템, 키 생성 장치, 암호화 장치, 복호 장치, 암호 처리 방법 및 암호 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8549290B2 (en) Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods thereof, secret sharing method, program, and recording medium
US20120027201A1 (en) Encryption apparatus, decryption apparatus, encryption method, decryption method, security method, program, and recording medium
ES2699535T3 (es) Sistema de procesamiento de cifrado, dispositivo de generación de claves, dispositivo de cifrado, dispositivo de desciframiento, dispositivo de delegación de claves, método de procesamiento de cifrado y programa de procesamiento de cifrado
Lee et al. Functional encryption for set intersection in the multi-client setting