ES2613811T3 - Sistema de procesamiento criptográfico, método de procesamiento criptográfico, programa de procesamiento criptográfico y dispositivo de generación de claves - Google Patents

Sistema de procesamiento criptográfico, método de procesamiento criptográfico, programa de procesamiento criptográfico y dispositivo de generación de claves Download PDF

Info

Publication number
ES2613811T3
ES2613811T3 ES12850218.4T ES12850218T ES2613811T3 ES 2613811 T3 ES2613811 T3 ES 2613811T3 ES 12850218 T ES12850218 T ES 12850218T ES 2613811 T3 ES2613811 T3 ES 2613811T3
Authority
ES
Spain
Prior art keywords
vector
formula
base
encryption
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12850218.4T
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 ES2613811T3 publication Critical patent/ES2613811T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0822Key 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) using key encryption key
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

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

Abstract

Un sistema de procesamiento criptográfico (10) configurado para utilizar una base B y una base B* generadas transformando una base A predeterminada usando una matriz en la cual cada fila y cada columna tienen al menos un valor que es distinto del valor constante 0, para dirigir un proceso criptográfico, el sistema de procesamiento criptográfico que comprende: un dispositivo de cifrado (200) que genera un vector en la base B, el vector que se integra con información predeterminada, como un vector de cifrado; y un dispositivo de descifrado (300) que, tratando un vector predeterminado en la base B* como un vector de clave, dirige una operación de emparejamiento para el vector de clave y el vector de cifrado que se genera por el dispositivo de cifrado, para descifrar el vector de cifrado y extrae información en la información predeterminada, en donde la matriz es una matriz de n filas, n columnas (n es un entero de 2 o más) y tiene al menos n valores diferentes como un valor distinto del valor constante 0, en donde la matriz es de manera que todos los componentes en al menos una columna tienen valores distintos del valor constante 0 y en donde la matriz es de manera que solamente componentes diagonales de la misma y todos los componentes en una columna tienen valores distintos del valor constante 0.

Description

5
10
15
20
25
30
35
40
45
DESCRIPCION
Sistema de procesamiento criptografico, metodo de procesamiento criptografico, programa de procesamiento criptografico y dispositivo de generacion de claves
Campo tecnico
La presente invencion se refiere a cifrado de producto interior (IPE).
Antecedentes de la tecnica
Las Literaturas No de Patente 13, 16 y 17 describen el cifrado de producto interior.
Segun el cifrado de producto interior descrito en las Literaturas No de Patente 13, 16 y 17, un parametro publico y una clave secreta maestra se dan mediante la base de un espacio de vector.
Lista de citas
Literatura No de Patente
Literatura No de Patente 1: Abdalla, M., Kiltz, E., Neven, G.: Generalized key delegation for hierarchical identity- based encryption. ESORICS'07, LNCS 4734, paginas 139-154. Springer, (2007)
Literatura No de Patente 2: Attrapadung, N., Libert, B.: Functional encryption for inner product: Achieving constant- size ciphertexts with adaptive security or support for negation. PKC 2010. LNCS, vol. 6056, paginas 384-402. Springer Heidelberg (2010)
Literatura No de Patente 3: Attrapadung, N., Libert, B., De Panafieu, E.: Expressive key-policy attribute-based encryption with constant-size ciphertexts. PKC 2011. LNCS, vol. 6571, paginas 90-108. Springer Heidelberg (2011)
Literatura No de Patente 4: Bethencourt, J., Sahai, A., Waters, B.: Ciphertex-policy attribute-based encryption. En: 2007 IEEE Symposium on Security and Privacy, paginas 321-334. IEEE Press (2007)
Literatura No de Patente 5: Boneh, D., Hamburg, M.: Generalized identity based and broadcast encryption scheme. En: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, paginas 455-470. Springer Heidelberg (2008)
Literatura No de Patente 6: Delerablee, C.: Identity-based broadcast encryption with constant size ciphertexts and private keys. En: ASIACRYPT 2007. LNCS, paginas 200-215. Springer-Verlag (2007)
Literatura No de Patente 7: Emura, K., Miyaji, A., Nomura, A., Omote, K., Soshi, M.: A ciphertext-policy attribute- based encryption scheme with constant ciphertext length. Actas de ISPEC 2009, LNCS, paginas 13-23. Springer- Verlag (2009)
Literatura No de Patente 8: Gentry, C., Waters, B.: Adaptive security in broadcast encryption systems (with short ciphertexts). En: Joux, A. (ed.) EUROCRYPT 2009. LNCS, vol. 5479, paginas 171-188. Springer Heidelberg (2009)
Literatura No de Patente 9: Goyal, V., Pandey, O., Sahai, A., Waters, B.: Attribute-based encryption for fine-grained access control of encrypted data. En: ACM Conference on Computer and Communication Security 2006, paginas 8998, ACM (2006)
Literatura No de Patente 10: Herranz, J., Laguillaumie, F., Rafols, C.: Constant size ciphertexts in thereshold attribute-based encryption. En Nguyen, P.Q., Pointcheval, D. (eds.) PKC 2010. LNCS, vol. 6056, paginas 19-34. Springer Heidelberg (2010)
Literatura No de Patente 11: Katz, J., Sahai, A., Waters, B.: Predicate encryption supporting disjunctions, polynomial equations, and inner products. En: Smart, N.P. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, paginas 146-162. Springer Heidelberg (2008)
Literatura No de Patente 12: Lewko, A., Sahai, A., Waters, B.: Revocation systems with very small private keys, En IEEE Symposium on Security and Privacy 2010 (2010)
Literatura No de Patente 13: Lewko, A., Okamoto, T., Sahai, A., Takashima, K., Waters, B.: Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption, EUROCRYPT 2010. LNCS, Springer Heidelberg (2010) La version completa esta disponible en
http://eprint.iacr.org/2010/110
Literatura No de Patente 14: Lewko, A. B., Waters, B.: New techniques for dual system encryption and fully secure HIBE with short ciphertext. En: Micciancio, D. (ed.) TCC 2010. LNCS, vol. 5978, paginas 455-479. Springer Heidelberg (2010)
5
10
15
20
25
30
35
40
45
Literatura No de Patente 15: Okamoto, T., Takashima, K.: Homomorphic encryption and signatures from vector decomposition. En: Galbraith, S.D., Paterson, K.G. (eds.) Pairing 2008. LNCS, vol. 5209, paginas 57-74. Springer Heidelberg (2008)
Literatura No de Patente 16: Okamoto, T., Takashima, K.: Hierarchical predicate encryption for inner-products, En: Matsui, M. (ed.) ASIACRYPT 2009. LNCS, vol. 5912, paginas 214-231. Springer Heidelberg (2009)
Literatura No de Patente 17: Okamoto, T., Takashima, K.: Fully secure functional encryption with general relations from the decisional linear assumption. En: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, paginas 191-208. Springer Heidelberg (2010). La version completa esta disponible en
http://eprint.iacr.org/2010/563
Literatura No de Patente 18: Sahai, A., Waters, B.: Fuzzy identity-based encryption. En: Cramer, R. (ed.) EUROCRYPT 2005. LNCS, vol. 3494, paginas 457-473. Springer Heidelberg (2005)
Literatura No de Patente 19: Sakai, R., Furukawa, J.: Identity-based broadcast encryption, IACR ePrint Archive: Report 2007/217
http://eprint.iacr.org/2007/217 (2007).
Literatura No de Patente 20: Waters, B.: Dual system encryption: realizing fully secure IBE and HIBE under simple assumptions. En: Halevi, S. (ed.) CRYPTO 2009. LNCS, vol. 5677, paginas 619-636. Springer Heidelberg (2009)
Compendio de la invencion
Problema tecnico
Segun el cifrado de producto de producto interior descrito en las Literaturas No de Patente 13, 16 y 17, suponiendo que la longitud de un vector empleado en el cifrado de producto interior se define como N, los tamanos de los parametros publicos y una clave secreta maestra son proporcionales a N2 y el proceso de generacion de una clave secreta a ser suministrada al usuario o un proceso de cifrado lleva un tiempo que es proporcional a N2.
Es un objeto de la presente invencion disminuir los tamanos de los parametros publicos y la clave secreta maestra y acortar el tiempo que lleva el proceso de generacion de la clave secreta a ser suministrada al usuario y el proceso de cifrado.
Solucion al problema
Un sistema de procesamiento criptografico segun la presente invencion se configura para utilizar una base B y una base B* generadas transformando una base A predeterminada usando una matriz dispersa en la que cada fila y cada columna tienen al menos un valor que es distinto del valor constante 0, para dirigir un proceso criptografico, el sistema de procesamiento criptografico que comprende:
un dispositivo de cifrado que genera un vector en la base B, el vector que esta integrado con informacion predeterminada, como un vector de cifrado; y
un dispositivo de descifrado que, tratando un vector predeterminado en la base B* como un vector de clave, dirige una operacion de emparejamiento para el vector de clave y el vector de cifrado que se genera por el dispositivo de cifrado, para descifrar el vector de cifrado y extrae informacion sobre la informacion predeterminada.
Efectos ventajosos de la invencion
El sistema de procesamiento criptografico segun la presente invencion usa una matriz dispersa como una matriz que se usa para generar las bases B y B* que son para formar parametros publicos y una clave secreta maestra. Esto disminuye los tamanos de los parametros publicos y la clave secreta maestra y acorta el tiempo que lleva el proceso de generacion de la clave secreta a ser suministrada al usuario y al proceso de cifrado.
Breve descripcion de los dibujos
La Fig. 1 es un diagrama de configuracion de un sistema de procesamiento criptografico 10 que ejecuta un esquema de cifrado de producto interior cero y un esquema de cifrado de producto interior no cero.
La Fig. 2 incluye un dibujo explicativo de una forma especial de transformacion lineal aleatoria X.
La Fig. 3 es un diagrama de configuracion de un dispositivo de generacion de clave 100 segun la Realizacion 2.
La Fig. 4 es un diagrama de configuracion de un dispositivo de cifrado 200 segun la Realizacion 2.
La Fig. 5 es un diagrama de configuracion de un dispositivo de descifrado 300 segun la Realizacion 2.
La Fig. 6 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 2.
5
10
15
20
25
30
35
40
La Fig. 7 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 2.
La Fig. 8 es un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 2.
La Fig. 9 es un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 2.
La
Fig. 10 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 3.
La
Fig. 11 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 3
La
Fig. 12 es un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 3.
La
Fig. 13 es un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 3.
La
Fig. 14 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 4.
La
Fig. 15 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 4
La
Fig. 16 es un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 4.
La
Fig. 17 es un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 4.
La
Fig. 18 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 5.
La
Fig. 19 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 5
La
Fig. 20 es un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 5.
La
Fig. 21 es un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 5.
La Fig. 22 muestra una comparacion de esquemas de cifrado de producto interior no cero y esquemas de cifrado de producto interior cero en las Realizaciones 2 a 4 con el esquema de cifrado de producto interior no cero y el esquema de cifrado de producto interior cero descritos en la Literatura No de Patente 2.
La Fig. 23 es un diagrama que muestra un ejemplo de la configuracion hardware de cada uno del dispositivo de generacion de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y un dispositivo de delegacion de clave 400.
Descripcion de las realizaciones
Las realizaciones de la presente invencion se describiran en lo sucesivo con referencia a los dibujos anexos.
En la siguiente descripcion, un dispositivo de procesamiento es, por ejemplo, una CPU 911 (a ser descrita mas tarde). Un dispositivo de almacenamiento es, por ejemplo, una ROM 913, una RAM 914 o un disco magnetico 920 (cada uno que se describira mas tarde). Un dispositivo de comunicacion es, por ejemplo, una placa de comunicacion 915 (a ser descrita mas tarde). Un dispositivo de entrada es, por ejemplo, un teclado 902 o la placa de comunicacion 915 (cada uno que se describira mas tarde). Un dispositivo de salida es, por ejemplo, la RAM 914, el disco magnetico 920, la placa de comunicacion 915 o un LCD 901 (cada uno que se describira mas tarde). Es decir, el dispositivo de procesamiento, el dispositivo de almacenamiento, el dispositivo de comunicacion, el dispositivo de entrada y el dispositivo de salida son hardware.
Se explicaran las notaciones en la siguiente descripcion.
Cuando A es una variable o distribucion aleatoria, la Formula 101 denota que y se selecciona aleatoriamente a partir de A segun la distribucion de A. Es decir, en la Formula 101, y es un numero aleatorio.
[Formula 101]
imagen1
Cuando A es un conjunto, la Formula 102 denota que y se selecciona uniformemente a partir de A. Es decir, en la Formula 102, y es un numero aleatorio uniforme.
[Formula 102]
imagen2
5
10
15
20
25
Un simbolo de vector indica una representation de vector de orden q sobre un campo finito Fq. Por ejemplo, se establece la Formula 103.
[Formula 103]
* denota
imagen3
La Formula 104 denota el producto interior, indicado por la Formula 106, de dos vectores x^ y v^ indicados por la Formula 105.
[Formula 104]
imagen4
[Formula 105]
v=(vl5...,vn)
[Formula 106]
imagen5
Senalar que XT denota la traspuesta de la matriz X.
Donde bi (i = 1, ..., n) es un elemento de un vector en un espacio V, es decir donde se establece la Formula 107, la Formula 108 representa un subespacio generado por la Formula 109.
[Formula 107]
imagen6
[Formula 108]
span{^5...,^)e¥ (resp. span [Formula 109]
bi>-’bL(resP- xi,...,xl)
Para las bases B y B* indicadas por la Formula 110, se establece la Formula 111.
[Formula 110]
3 :=
[Formula 111]
(*^1 J • • * ? XN )B ^ y
()'iv,}’v )b* := X fli yfit
Para n de los vectores j = 1, ..., n, e^j denota el vector de base canonica indicado por la Formula 112.
5
10
15
20
25
30
35
40
45
[Formula 112]
j-\ n-j
para j =
Senalar que GL(n, Fq) representa un grupo lineal general con un orden n sobre el campo finito Fq.
En la siguiente descripcion, cuando 'W que indica un vector se une a un submdice o supermdice, 'W se une como un supermdice al submdice o supermdice. Del mismo modo, cuando “*” en una base B* se une a un submdice o supermdice, “*” se une como un supermdice al submdice o supermdice. Del mismo modo, cuando “*” en una base B* se une a un submdice o supermdice, “*” se une como un supermdice al submdice o supermdice. Del mismo modo, cuando t en un espacio Vt se une a un submdice o supermdice, “t” se une como un submdice al submdice o supermdice.
En la siguiente descripcion, un proceso criptografico incluye un proceso de cifrado, un proceso de descifrado y un proceso de generacion de clave.
Realizacion 1
Esta realizacion explica un concepto basico para implementar un cifrado de producto interior y una estructura del cifrado de producto interior.
En primer lugar, se explicara el concepto del cifrado de producto interior.
En segundo lugar, se explicaran espacios de vector de emparejamiento dual (DPVS) que son un espacio para implementar el cifrado de producto interior.
En tercer lugar, se explicara la estructura basica de un esquema de cifrado de producto interior a ser descrito en las siguientes realizaciones.
En cuarto lugar, se explicara la estructura basica de un sistema de procesamiento criptografico 10 que implementa el esquema de cifrado de producto interior a ser descrito en las siguientes realizaciones.
En quinto lugar, se explicara el planteamiento basico para el esquema de cifrado de producto interior a ser descrito en las siguientes realizaciones.
<1. Concepto de cifrado de producto interior>
En primer lugar, se explicara el cifrado funcional.
El cifrado funcional es un concepto avanzado de cifrado. El cifrado funcional tambien es una generalizacion del cifrado de clave publica (PKE) y cifrado basado en ID (cifrado basado en Identidad; IBE). En sistemas de cifrado funcional, un receptor puede descifrar un texto cifrado usando una clave secreta que corresponde a un parametro x si el parametro x esta adecuadamente relacionado con un parametro y especificado para el texto cifrado. Mas espedficamente, el descifrado requiere R(x, y) = 1 para alguna relacion R (relacion R que se mantiene para (x, y)).
El cifrado de producto interior es un tipo de cifrado funcional.
El cifrado de producto interior incluye cifrado de producto interior cero (ZIPE) y cifrado de producto interior no cero (NIPE).
Segun el cifrado de producto interior cero, un cifrado cifrado con un vector x^ se puede descifrar mediante una clave secreta asociada con un vector y^ de manera que x^- y^ = 0. Es decir, RZIPE(x^, y^) = 1 si se requiere si y solo si x^- y^ = 0.
Segun el cifrado de producto interior no cero, un cifrado cifrado con un vector x^ se puede descifrar mediante una clave secreta asociada con un vector y^ de manera que x^- y^ t 0. Es decir, RNIPE(x^, y^) = 1 si se requiere si y solo si x^- y^ t 0.
<2. Espacios de vector de emparejamiento dual>
En primer lugar, se describiran los grupos de emparejamiento bilineal simetrico.
Los grupos de emparejamiento bilineal simetrico (q, G, Gt, g, e) son una tupla de un primo q, un grupo aditivo dclico G de orden q, un grupo multiplicativo dclico Gt de orden q, un elemento g t 0 e G y un emparejamiento bilineal no degenerado calculable polinomio-tiempo e : G x G ^ Gt. El emparejamiento bilineal no degenerado significa e(sg, tg) = e(g, g)st donde e(g, g) t 1.
ej : ( 0 ■ ■ ■ 0 ,1, 0 • *• 0 ) e F”
5
10
15
20
25
30
En la siguiente description, permitamos que Gbpg sea un algoritmo que toma la entrada 1A y saca el valor de un parametro paramG : = (q, G, Gt, g, e) de grupos de emparejamiento bilineal con un parametro de seguridad A.
Se describiran ahora los espacios de vector de emparejamiento dual.
Los espacios de vector de emparejamiento dual (q, V, Gt, A, e) se pueden constituir por un producto directo de grupos de emparejamiento bilineal simetrico (paramG:=(q, G, Gt, g, e)). Los espacios de vector de emparejamiento dual (q, V, Gt, A, e) son una tupla de un primo q, un espacio de vector N dimensional V sobre el campo finito Fq indicado en la Formula 113, un grupo ciclico Gt del orden q y una base canonica A := (ai, ..., aN de un espacio V y tienen las siguientes operaciones (1) y (2) donde ai es como se indica por la Formula 114.
[Formula 113]
V ;=Gx---xG
[Formula 114]
i-l N-i
^:=(o3,s,a3)
Operation (1): Emparejamiento bilineal no degenerado El emparejamiento en el espacio V se define por la Formula 115. [Formula 115]
imagen7
donde
(&l,—>gN) :=xeY,
ft.......y-yev
Este es bilineal no degenerado, es decir, e(sx, ty) = e(s, y)st y si e(x, y) = 1 para todo y e V, entonces x = 0. Para todo i y j, e(ai, aj) = e(g, g)5i,j (5i,j que significa 5i,j) donde 6j,j = 1 si i = j y 6jj = 0 si i ^ j. Tambien, e(g, g) ^ 1 e Gt.
Operacion (2): Mapas estandar
La transformation lineal ^,j en el espacio V indicado por la Formula 116 se puede implementar facilmente por la Formula 117.
[Formula 116]
imagen8
si
k*j
entonces
imagen9
[Formula 117]
imagen10
Senalar que
imagen11
Las transformaciones lineales ^,j se llamaran “mapas estandar”.
5
10
15
20
25
30
35
40
45
En la siguiente descripcion, permitamos que Gdpvs sea un algoritmo que toma como entrada, 1A (A G numero natural), y Ng numero natural y saca el valor de un parametro paramv := (q, V, Gt, A, e) de espacios de vector de emparejamiento dual que tienen un parametro de seguridad A que forman un espacio N dimensional V.
Se describira un caso donde los espacios de vector de emparejamiento dual se construyen a partir de los grupos de emparejamiento bilineal simetrico descritos anteriormente. Los espacios de vector de emparejamiento dual se pueden construir a partir de grupos de emparejamiento bilineal asimetrico tambien. La siguiente descripcion se puede aplicar facilmente a un caso en el que los espacios de vector de emparejamiento dual se construyen a partir de grupos de emparejamiento bilineal asimetrico.
<3. Estructura basica de esquema de cifrado de producto interior>
En primer lugar, se explicara el esquema de cifrado de producto interior cero.
Una relacion RZIPE en el esquema de cifrado de producto interior cero se define sobre un vector x^ G Fnq\{0^}, donde v^ G Fnq\{0^}, donde RZIPE(x^, y^) := 1 si y solo si x^- y^ = 0.
Del mismo modo, una relacion RNIPE en el esquema de cifrado de producto interior no cero se define sobre un vector x^ G Fnq\{0^} y un vector G Fnq\{0^}, donde RNIPE(x^, y^) := 1 si y solo si x^- y^ t 0.
El esquema de cifrado de producto interior cero y el esquema de cifrado de producto interior no cero cada uno consta de cuatro algoritmos: Setup, KeyGen, Enc y Dec.
(Setup)
Un algoritmo Setup es un algoritmo aleatorizado que toma como entrada un parametro de seguridad A y saca parametros publicos pk y una clave secreta maestra sk.
(KeyGen)
Un algoritmo KeyGen es un algoritmo aleatorizado que toma como entrada un vector v^, parametros publicos pk y una clave secreta maestra sk y saca una clave de descifrado skv^.
(Enc)
Un algoritmo Enc es un algoritmo aleatorizado que toma como entrada un mensaje m, un vector x^ y parametros publicos pk y saca un texto cifrado ctx^.
(Dec)
Un algoritmo Dec es un algoritmo que toma como entrada el texto cifrado ctx^ que se cifro bajo un vector x^, una clave de descifrado skv^ para el vector v^ y parametros publicos pk y saca o bien un mensaje m o bien un sfmbolo distinguido ^ . El sfmbolo distinguido ^ indica que podna no ser logrado el descifrado.
<4. Estructura basica del sistema de procesamiento criptografico 10>
La Fig. 1 es un diagrama de configuracion de un sistema de procesamiento criptografico 10 que ejecuta el esquema de cifrado de producto interior cero y el esquema de cifrado de producto interior no cero.
Un dispositivo de generacion de clave 100 ejecuta el algoritmo Setup tomando como entrada un parametro de seguridad A, para generar los parametros publicos pk y una clave secreta maestra sk. El dispositivo de generacion de clave 100 publicita los parametros publicos pk generados. El dispositivo de generacion de clave 100 tambien ejecuta el algoritmo KeyGen tomando como entrada un vector v^, para generar una clave de descifrado skv^ y distribuye la clave de descifrado skv^a un dispositivo de descifrado 300 en secreto.
Un dispositivo de cifrado 200 ejecuta el algoritmo Enc tomando como entrada un mensaje m, un vector x^ y los parametros publicos pk, para generar un texto cifrado ctx^. El dispositivo de cifrado 200 transmite el texto cifrado ctx^ generado al dispositivo de descifrado 300.
El dispositivo de descifrado 300 ejecuta el algoritmo Dec tomando como entrada los parametros publicos pk, la clave de descifrado skv^ y el texto cifrado ctx^ y saca un mensaje m' (= m) o un sfmbolo distinguido ^ .
<5. Planteamiento basico para el esquema de cifrado>
En una aplicacion tfpica en la que se aplican espacios de vector de emparejamiento dual a procesamiento criptografico, se generan un par de bases duales (u ortogonales), B y B*. Las bases B y B* se generan usando una transformacion lineal completamente aleatoria X (matriz de transformacion de base) uniformemente seleccionada a partir de GL(N, Fq). Particularmente, las bases B y B* se generan cada una a traves de conversion de una base
5
10
15
20
25
30
35
40
45
canonica A usando transformaciones lineales X y (X-1)T donde N es el numero de dimensiones de span<B> y span<B*>.
La aplicacion t^pica en la que los espacios de vector de emparejamiento dual se aplican a procesamiento criptografico emplea parte de la base B (llamada BA) como un parametro publico y parte de la base B* correspondiente (llamada BA*) como una clave secreta o puerta trampa.
En el cifrado de producto interior que se explica en las siguientes realizaciones, una forma especial de transformacion lineal aleatoria X, que es Xe GL(N, Fq), se emplea en lugar de la transformacion lineal completamente aleatoria X descrita anteriormente. Esta forma especial de transformacion lineal X puede disminuir los tamanos del texto cifrado y la clave secreta y disminuir el numero de operaciones de emparejamiento que consumen mucho tiempo de procesar.
La Fig. 2 incluye un dibujo explicativo de una forma especial de transformacion lineal X.
La transformacion lineal completamente aleatoria X se muestra en (a) de la Fig. 2 y una forma especial de transformacion lineal X se muestra en (b) de la Fig. 2. En (a) y (b) de la Fig. 2, las partes cuadradas indican componentes los valores de los cuales son numeros aleatorios distintos de 0. En (b) de la Fig. 2, los elementos en blanco indican componentes los valores de los cuales son 0. En (b) de la Fig. 2, los cuadrados sombreados indican componentes los valores de los cuales son los mismos. Senalar que N = 5.
Como se muestra en (a) de la Fig. 2, una transformacion lineal X convencional tiene un tamano de N2 (aqrn 52 = 25). Por el contrario, como se muestra en (b) de la Fig. 2, una transformacion lineal X empleada en el cifrado de producto interior que se explica en las siguientes realizaciones (a ser referida como una nueva transformacion lineal X en lo sucesivo) tiene un tamano de N + 1 (aqrn 5 +1 = 6).
Como se menciono anteriormente, las bases B y B* se generan a traves de conversion de la base canonica A usando la transformacion lineal X. Por consiguiente, los tamanos de las bases B y B* son proporcionales al tamano de la transformacion lineal X. Como se describio anteriormente, parte de la base B y parte de la base B* forman el parametro publico y la clave secreta. Por lo tanto, los tamanos del parametro publico y la clave secreta son proporcionales a la transformacion lineal X. Mas espedficamente, con la transformacion lineal X convencional, los tamanos del parametro publico y la clave secreta son proporcionales a N2, mientras que con la nueva transformacion lineal X, los tamanos del parametro publico y la clave secreta son proporcionales a N+1.
Consecuentemente, con la transformacion lineal X convencional, el proceso de generacion de una clave de usuario o el proceso de cifrado lleva un tiempo que es proporcional a N2, mientras que con la nueva transformacion lineal X, el proceso de generacion de la clave de usuario o el proceso de cifrado lleva un tiempo que es proporcional a N+1. Es decir, con la nueva transformacion lineal X, el tiempo de calculo es del orden de N.
Un metodo espedfico de realizacion de un texto cifrado de tamano constante y descifrado eficiente se explicara con respecto al esquema de cifrado de producto interior no cero como ejemplo.
Senalar que en la explicacion de un tamano de texto cifrado, la descripcion de vector no se incluira como parte del texto cifrado. Del mismo modo, senalar que en la explicacion de un tamano de clave de descifrado tambien, la descripcion de vector no se incluira como parte del texto cifrado.
Una explicacion se dara usando una forma simplificada del esquema de producto interior no cero que se describe en las siguientes realizaciones.
Un texto cifrado en un esquema de cifrado de producto interior no cero simplificado consta de dos elementos de vector (co, c-i) e G5 x Gn y c3 e Gt. Una clave secreta consta de dos elementos de vector k*o y k*i e G5 x Gn. Senalar que (co, c-i) e G5 x Gn significa que co consta de cinco elementos de G y ci consta de n elementos de G. Del mismo modo, k*o y k*i e G5 x Gn significa que k*o consta de cinco elementos de G y k*i consta de n elementos de G.
Por lo tanto, para lograr un texto cifrado de tamano constante, ci e G* necesita ser comprimido a un tamano constante en n.
Se emplea la transformacion lineal X especial indicada por la Formula 118.
[Formula 118]
5
10
15
20
25
30
imagen12
Senalar que m, m’1, ..., M’n son valores seleccionados uniformemente a partir de un campo finito Fq y que un espacio en blanco en la transformacion lineal X denota un valor constante 0 e Fq. El valor constante 0 significa que el valor se fija a 0. Es decir, m, m’i, ..., M’n son valores aleatorios uniformes que pueden tomar 0 tambien, mientras que un espacio en blanco en la transformacion lineal X tiene un valor que se fija a 0. Tambien, H(n, Fq) significa un conjunto de matrices de orden n que tienen el campo finito Fq como elemento.
El parametro de sistema o la base publica de DPVS es la base B indicada por la Formula 119.
[Formula 119]
Mg
M\g
Mg Mn-\g
) v Mn& j
Permitamos que un texto cifrado asociado con x^ :=(x1, ..., Xn) sea un texto cifrado c1 indicado por la Formula 120. [Formula 120]
q := Ox)B = co(xfa + • • -+xnbn) = (x^jug,.. .,xn_la)/.tg, oQ^^x^g)
Senalar que w es un valor seleccionado uniformemente a partir del campo finito Fq.
Entonces, el texto cifrado c1 se puede comprimir al vector x^ y dos elementos de grupo C1 y C2 indicados por la Formula 121.
[Formula 121]
imagen13
Esto es debido a que el texto cifrado c1 se puede obtener por (x1C1, ..., xn-1C1, C2). Senalar que xC = xiwpg se
mantiene para cada i de i = 1, ., n-1.
Por lo tanto, un texto cifrado (excluyendo el vector x^) puede constar de dos elementos de grupo y tiene un tamano constante en n.
Permitamos que B* := (b*i) sea la base ortogonal dual de B := (bi) y que la base B* sea la clave secreta maestra en el esquema de cifrado de producto interior no cero simplificado. Senalar que (c0, k*0, c3) se especifica de manera que e(c0, k*0) = gTZ ■ g/5 y c3 := gTZm e Gt. Tambien, senalar que una clave secreta para el vector v^ se fija como k*1 := (5v^)e* = 5(v1b*1 + ... + vnb*n).
A partir de la ortonormalidad dual de las bases B y B*, entonces se mantiene que e(c1, k*1) = g/5^-^. Por lo tanto, un descifrador puede calcular g/5 si y solo si x^- y^ ^ 0. Es decir, el descifrador puede obtener un mensaje m por la Formula 122.
[Formula 122]
imagen14
El texto cifrado c1 se expresa como (x1C1, ..., xn-1C1, C2) e Gn y la clave secreta k*1 se analiza sintacticamente como una n tupla (K1, ..., Kn). Por lo tanto, el valor de e(c1, k*1) es como se indica por la Formula 123.
5
10
15
20
25
30
35
40
[Formula 123]
=n
= <Cu'E£xiKiye(<C2,Kn)
Es decir, n-1 multiplicaciones escalares en G y dos operaciones de emparejamiento son bastantes para calcular e(ci, k*1). Es decir, solamente se requiere un numero (constante) pequeno de operaciones de emparejamiento para el descifrado. Generalmente, las operaciones de emparejamiento llevan un tiempo de procesamiento largo. Disminuyendo el numero de operaciones de emparejamiento, se puede acortar el tiempo de procesamiento como el proceso entero.
En el esquema de cifrado de producto interior no cero simplificado, el texto cifrado c1 consta de solamente un vector de base (parte de codificacion real) donde se fija el vector x^ y la clave secreta k*1 consta solamente de un vector de base (parte de codificacion real) donde se fija el vector v^.
En el esquema de cifrado de producto interior no cero que se describe en las siguientes realizaciones, a fin de mejorar la seguridad, los vectores de base para una parte de codificacion real asi como para una parte oculta, una parte de aleatoriedad de clave secreta y una parte de aleatoriedad de texto cifrado se anaden al texto cifrado c1 y la clave secreta k*1.
Para este proposito, la transformation lineal X se extiende como se indica por la Formula 124. [Formula 124]
imagen15
Senalar que cada Xi,j es de la forma de X e H(n, Fq) indicada por la Formula 118. El espacio de vector consta de cuatro subespacios ortogonales. Es decir, el espacio de vector consta de cuatro subespacios ortogonales para la parte de codificacion real, la parte oculta, la parte de aleatoriedad de clave secreta y la parte de aleatoriedad de texto cifrado.
Realization 2
En la Realizacion 2, se describira un esquema de cifrado de producto interior no cero que tiene un texto cifrado de tamano constante.
La Fig. 3 es un diagrama de configuration de un dispositivo de generation de clave 100 segun la Realizacion 2. La Fig. 4 es un diagrama de configuracion de un dispositivo de cifrado 200 segun la Realizacion 2. La Fig. 5 es un diagrama de configuracion de un dispositivo de descifrado 300 segun la Realizacion 2.
Las Fig. 6 y 7 son diagramas de flujo que muestran la operation del dispositivo de generacion de clave 100 segun la realizacion 2, en la cual la Fig. 6 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 2 y la Fig. 7 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 2. La Fig. 8 es un diagrama de flujo que muestra la operacion del dispositivo de cifrado 200 segun la Realizacion 2, es decir, un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 2. La Fig. 9 es un diagrama de flujo que muestra la operacion del dispositivo de descifrado 300 segun la Realizacion 2, es decir, un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 2.
En la siguiente description, permitamos que un vector x^:= (x1, ..., xn) a ser introducido mantenga xl ^ 0 para cada entero L de L = 1, ., n-1 y permitamos que un vector v^:= (v1, ., vn) a ser introducido mantenga vn ^ 0
Se describira el dispositivo de generacion de clave 100.
Como se muestra en la Fig. 3, el dispositivo de generacion de clave 100 se dota con una parte de generacion de clave maestra 110, una parte de almacenamiento de clave maestra 120, una parte de entrada de information 130, una parte de generacion de clave de descifrado 140 y una parte de distribution de clave 150. La parte de generacion de clave maestra 110 se dota con una parte de generacion de espacio 111, una parte de generacion de matriz 112, una parte de generacion de base 113 y una parte de generacion de clave 114. La parte de generacion de clave 140 se dota con una parte de generacion de numero aleatorio 141 y una parte de generacion de elemento de clave 142.
El proceso del algoritmo Setup se describira con referencia a la Fig. 6.
(S101: Paso de generation de espacio)
La parte de generacion de espacio 111 toma el parametro de seguridad 1A como entrada y ejecuta Gbpg con un dispositivo de procesamiento, para generar el parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento 5 bilineal simetrico.
Ademas, la parte de generacion de espacio 111 fija No := 5 y N1 :=4n. Entonces, para cada t de t = 0, 1, la parte de generacion de espacio 111 toma como entrada el parametro de seguridad 1A, Nt y el parametro paramG de los grupos de emparejamiento bilineal simetrico y ejecuta Gdpvs con el dispositivo de procesamiento, para generar un parametro paramvt := (q, Vt, Gt, At, e) de los espacios de vector de emparejamiento dual.
10 (S102: Paso de generacion de transformation lineal)
Con el dispositivo de procesamiento, la parte de generacion de matriz 112 genera una transformacion lineal X0, como se indica por la Formula 125.
[Formula 125]
*0 = ^—GL(N0,¥q)
15
20
Senalar que ^0,ij)z,y=l,..,5 en la Formula 125 significa una matriz que concierne a los subindices i y j de una matriz
Con el dispositivo de procesamiento, la parte de generacion de matriz 112 genera la transformacion lineal Xt, como se indica por la formula 126.
[Formula 126]
X1^—C(Nh¥q)
Senalar que L(N, Fq) en la Formula 126 es como se indica por la Formula 127.
[Formula 127]
C(N,Fq)^
X-
r^u-^4'
%AyX44
H GL(N,¥q),
ft.
r \
ft,;
1
Mij,n
eH(n,¥q)
para ij=
1......4
H(n,Fa)\=<
Yu
u,u'i<=Wq para Z = l7.il?/27
un elemento en bianco en la
<
u «;_! matriz denota 0 e
.1
J
Senalar que ...,4;l=i....n en la siguiente description denota un elemento distinto del valor constante 0
25 en la transformacion lineal X1.
(S103: Paso de generacion de base B)
Con el dispositivo de procesamiento, la parte de generacion de base 113 generea una base B0 y las variables Bi,j y B’i,j,L, como se indica por la Formula 128.
5
10
[Formula 128]
bQ,i ■= (Xo■ .,Xo,i,5)a - Zy=lXojj Para * V■-,5,
BiJ •- Mi,jS> Bij,L := ViJ,L2 para = 1,.. .,4;I -1,...
Con el dispositivo de procesamiento, la parte de generation de base 113 tambien genera una base B*o y una base B*i, como se indica por la Formula 129.
[Formula 129]
para t - 0,1
imagen16
imagen17
(S104: Paso de generacion de base BA)
Con el dispositivo de procesamiento, la parte de generacion de clave 114 genera las bases BAo, BA*o y Ba*1, como se indica por la Formula 130.
[Formula 130]
®0 (A),l’60,3’fy),5 )>
®0 ^VoVoV’
(S105: Paso de generacion de clave maestra)
Con el dispositivo de procesamiento, la parte de generacion de clave 114 fija los parametros publicos pk := (1A, paramn, BA0, {Bij, B’i,j,L}i=1,4;j=1, ..., 4;l=1, ..., n) y la clave secreta maestra sk := {BA*t}t=0,1. Entonces, la parte de generacion 15 de clave 114 almacena los parametros publicos pk y la clave secreta maestra sk en la parte de almacenamiento de clave maestra 120.
Senalar que paramn := ({paramvt}t=0,1, gT).
Mas especificamente, desde S101 hasta S105, el dispositivo de generacion de clave 100 ejecuta el algoritmo Setup indicado por la Formula 132 usando el algoritmo 20 publicos pk y la clave secreta maestra sk.
[Formula 131]
5
10
sffifl-1.")-
paramG \=(q,G,GT,g,e)
Nq := 5? A/j := 4n>
paramV; -(q,Vt,GT,At,e) :=5dpvs(lA,^,paramG) para ( = 0,1,
u
y/<------E*, gT := e(^,g)^,param„ :=({paramVi }t=0>h gT),
*0 := teo,y)v=l,..,5<r-^—GL(N0,¥q),X^4r-^—/Z(Nh¥fj), a partir de entonces, ,4;L=lf.. denota entradas no cero de X\ ?
k\i := (X0:y,.,^0,i,5)A =Zj=l^0 ,i,jajpara 1 = 1,...,5, B0
fyj~fy,j,L ‘~Mi,j,LSPara ~ 1,.
para / = 0,1 .,JV, := ¥' (XJ)~l>
^i“(%l,..AiA)A = Para ! = B*
devolver (paramn30,ffi^ Ay, . i4;i=l,.)•
[Formula 132]
imagen18
Senalar que los parametros publicos se publicitan a traves de, por ejemplo, una red, de modo que el dispositivo de cifrado 200 y el dispositivo de descifrado 300 puede adquirirlos.
En S103, en lugar de la base Bi, se genero la variable Bj Si la base Bi tiene que ser generada, sera como se indica por la Formula 133.
[Formula 133]
imagen19
para i = 1, 4
®i :=(\b-.-A4«)
Un elemento en blanco en la matriz de la Formula 133 indica un valor de componente 0 e G. La base B1 es una base ortogonal de la base B*1. Es decir, e(b1,j, b*1,j) = gT y e(b1,j, b*1,j) = 1 para enteros i, j que satisfacen 1 < i ^ j < 4n.
El proceso del algoritmo KeyGen se describira con referencia a la Fig. 7. (S111: Paso de entrada de information)
5
10
15
20
25
30
35
Con el dispositivo de entrada, la parte de tuerca de information 130 toma como entrada el vector v^.
(S112: Paso de generation de numero aleatorio)
Con el dispositivo de procesamiento, la parte de generacion de numero aleatorio 141 genera numeros aleatorios, como se indica por la Formula 134.
[Formula 134]
imagen20
(S113: Paso de generacion de elemento kfa)
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 142 genera el elemento k*0, que es un elemento de una clave de descifrado skv^, como se indica por la Formula 135.
[Formula 135]
imagen21
Como se menciono anteriormente, para las bases B y B* indicadas por la Formula 110, se establece la Formula 111. Por lo tanto, la Formual 135 significa que: 5 se fija como el coeficiente para el vector de base b*0,1 de la base B*0; 0 se fija como el coeficiente para el vector de base b*0,2; 1 se fija como el coeficiente para el vector de base b*0,3; fa se fija como el coeficiente para el vector de base b*0,4; y 0 se fija como el coeficiente para el vector de base b*0,5.
(S114: Paso de generacion de elemento k*1)
Con el dispositivo de procesamiento, la parte de generacion de elemento de clave 142 genera el elemento k*1, que es un elemento de una clave de descifrado skv^, como se indica por la Formula 136.
[Formula 136]
x a X A
k*:=(Sv, 0\ q\v,0»)B.
Como con la Formula 135, la Formula 136 significa que: 5v1, ..., 5vn se fijan cada uno como el coeficiente para los vectores de base b*1,1, ..., b*1,n de la base B*1; 0 se fija como el coeficiente para los vectores de base b*1,n+1, ..., b*1,2n; fav1, ..., favn se fijan cada uno como el coeficiente para los vectores de base b*1,2n+1, ■■■, b*1,3n; y 0 se fija como el coeficiente para los vectores de base b*1,3n+1, ■ ■ ■, b*1,4n.
(S115: Paso de distribution de clave)
Por ejemplo, con el dispositivo de comunicacion, la parte de distribucion de clave 150 distribuye la clave de descifrado skv^, constituida, como elementos, por: el vector v^ introducido en S111; el elemento k*0 generado en S113; y el elemento k*1 generado en S114, al dispositivo de descifrado 300 en secreto a traves de la red. Como una cuestion de rutina, la clave de descifrado skv^ se podria distribuir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas especificamente, desde S111 hasta S114, el dispositivo de generacion de clave 100 ejecuta el algoritmo KeyGen indicado por la Formula 137, para generar la clave de descifrado skv^. Entonces, en S115, el dispositivo de generacion de clave 100 distribuye la clave de descifrado skv^ generada al dispositivo de descifrado 300.
[Formula 137]
KeyGen(pk, sk, v);
¥q>
*0* :=(<5,0,1,
X A X A
*1* - (£v, 0", </\v, 0n)E.,
devolver $k^ ^
5
10
15
20
25
30
35
Se describira el dispositivo de cifrado 200.
Como se muestra en la Fig. 4, el dispositivo de cifrado 200 se dota con una parte de adquisicion de parametro publico 210, una parte de entrada de information 220, una parte de generation de texto cifrado 230 y una parte de transmision de datos 240. La parte de generacion de texto cifrado 230 se dota con una parte de generacion de numero aleatorio 231 y una parte de generacion de elemento de cifrado 232.
El proceso del algoritmo Enc se describira con referencia a la Fig. 8.
(S121: Paso de adquisicion de parametro publico)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de parametro publico 210 adquiere los parametros publicos pk generados por el dispositivo de generacion de clave 100, a traves de la red.
(S122: Paso de entrada de informacion)
Con el dispositivo de entrada, la parte de entrada de informacion 220 toma como entrada el vector x^.
Tambien, con el dispositivo de entrada, la parte de entrada de informaicon 222 toma como entrada un mensaje m. (S123: Paso de generacion de numero aleatorio)
Con el dispositivo de procesamiento, la parte de generacion de numero aleatorio 231 genera numeros aleatorios, como se indica por la Formula 138.
[Formula 138]
(S124: Paso de generacion de elemento c0)
Con el dispositivo de procesamiento, la parte de generacion de elemento de cifrado 232 genera el elemento cc, que es un elemento de un texto cifrado ctx^, como se indica por la Formula 139.
[Formula 139]
Como con la Formula 135, la Formula 139 signfica que: -© se fija como el coeficiente para el vector de base b0,1, de la base B0; 0 se fija como el coeficiente para el vector de base b0,2; C se fija como el coeficiente para el vector de base b0,3; 0 se fija como el coeficiente para el vector de base b0,4; y ^0 se fija como el coeficiente para el vector de base b0,5.
(S125: Paso de generacion de elemento C)
Con el dispositivo de procesamiento, la parte de generacion de elemento de cifrado 232 genera un elemento C1,j y un elemento C2,j, que son elementos del texto cifrado ctx^, como se indica por la Formula 140.
[Formula 140]
para; = 1,..., 4
C\J '■= J +?hB4 j>
C2J- X12=i xl(a)Sl,j,L + ?1 B4J,l)
(S126: Paso de generacion de elemento c3)
Con el dispositivo de procesamiento, la parte de generacion de elemento de cifrado 232 genera el elemento c3, que es un elemento del texto cifrado ctx^, como se indica por la Formula 141.
[Formula 141]
c
c3 := gfm
imagen22
imagen23
5
10
15
20
25
30
35
(S127: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de transmision de datos 240 transmite el texto cifrado ctx^, constituido, como elementos, por: el vector x^ introducido en S122, el elemento c0 generado en S124; los elementos Ci,j y C2,j generados en S125; y el elemento c3 generado en S126, al dispositivo de descifrado 300 a traves de la red. Como una cuestion de rutina, el texto cifrado ctx^ se podria transmitir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas especificamente, desde S121 hasta S126, el dispositivo de cifrado 200 ejecuta el algoritmo Enc indicado por la Formula 142, para generar el texto cifrado ctx^. En S127, el dispositivo de cifrado 200 transmite el texto cifrado ctx^ generado al dispositivo de descifrado 300.
[Formula 142]
Enc(pk,/tt,5):
U t
(O,rf0,TjhC<------cQ ~(-(D,Q,£,0,Voh0i c3:=g^m,
C\jJ +V\ c2,j xL(®B[j,L +rhBA,j,L) Para 7 = 1.-A devolver (% -(5>Co>{Cl j>Q,y}/=l,..,4.?})-
Se describira el dispositivo de descifrado 300.
Como se muestra en la Fig. 5, el dispositivo de descifrado 300 se dota con una parte de adquisicion de clave de descifrado 310, una parte de recepcion de datos 320, una parte de operation de emparejamiento 330 y una parte de calculo de mensaje 340.
El proceso del algoritmo Dec se describira con referencia a la Fig. 9.
(S131: Paso de adquisicion de clave de descifrado)
Por ejemplo, con el dispositivo de comunicacion, la parte de adquisicion de clave de descifrado 310 adquiere skv^ distribuido por el dispositivo de generation de clave 100, a traves de la red.
La parte de adquisicion de clave de descifrado 310 tambien adquiere los parametros publicos pk generados por el dispositivo de generacion de clave 100.
(S132: Paso de recepcion de datos)
Por ejemplo, con el dispositivo de comunicacion, la parte de recepcion de datos 320 recibe el texto cifrado ctx^ transmitido por el dispositivo de cifrado 200, a traves de la red.
(S133: Paso de calculo de valor Dj
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 330 calcula el valor D*j, como se indica por la Formula 143.
[Formula 143]
para j = 1, ..., 4
Senalar que el elemento k*1 se analiza sintacticamente como 4n tuplas (K*1, ..., K*4n) e G4n.
(S134: Paso de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 330 ejecuta una operacion de emparejamiento, como se indica por la Formula 144, para calcular el valor F.
[Formula 144]
(S135: Paso de calculo de mensaje)
imagen24
imagen25
Con el dispositivo de procesamiento, la parte de calculo de mensaje 340 calcula un mensaje m’, como se indica por la Formula 145.
[Formula 145]
imagen26
5 Mas especificamente, desde S131 hasta S135, el dispositivo de descifrado 300 ejecuta el algoritmo Dec indicado por la Formula 146, para calcular el mensaje m’.
[Formula 146]
Dec(pk,sk^ :=(v,k$,k*), <%
Analizar sintacticamente ft* como una tupla 4n
pa™ i=,’-A-
F*e(c0J$)-Y]?jJe(Clj,D]).e(.C2j,K]l,j),
devolver rrC ;= o$ / F.
La Formula 133 indica que B1 := (b1,1, ..., b1,4n) se especifica por {Bi,j, B’i,j,L>i,j=1, ..., 4;l=1, ..., n. Tambien, {Bi,j, B’i,j,L>i=1,4;j=1, 10 ..., 4;L=1, ..., n incluido en una salida del algoritmo Setup se especifica por BA1 := (b1,1, ..., b1,n, b1,3n+1, ■ ■■, b1,4n).
El algoritmo Dec se puede describir como el algoritmo Dec’ indicado por la Formula 147.
[Formula 147]
Dec'(pk,sk- s=(v,*5,*f), <% := (x,Cq,{CX j,C2j]j=:
n n
t-----------------------^-----------------------> /---------— ---------—A------------------------%
cl '•= ( xlCl,l>‘“>xn-lC\,bC2,l ■■■>xlC],4>-->xn-lCl,4>C2,4)>
n n n n
r_^ r—
es decir, q ={(ox ,0«, 0«, mx)mx. F ■= e(c0^o )' e(cl > (*' ^)~l *f)>
devolver
Como se indico por la Formula 148, usando el algoritmo Dec’, F = gcj se obtiene si x^- v^ ^ 0. Por lo tanto, el 15 mensaje m’ (=m) se puede obtener dividiendo c3 = gcim por F.
[Formula 148]
F = e(c0,k$)- e(qJ(5-v)-1^)
— Sf
= g^ si jc-v^0+
En el esquema de cifrado de producto interior no cero explicado en la Realization 2, el texto cifrado ctx^ incluye un total de 13 elementos de G, es decir, 5 por elemento c0 indicados por la Formula 139 y 8 por elementos C1,j y C2,j 20 para cada entero j de j = 1, ..., 4 indicado por la Formula 140. Tambien, el texto cifrado ctx^ incluye 1 elemento de Gt, es decir, 1 por elemento c3 indicado por la Formula 141. En fin, el texto cifrado ctx^ tiene un tamano constante en n.
Tambien, en el esquema de cifrado de producto interior no cero explicado en la Realizacion 2, el proceso de descifrado (algoritmo Dec) ejecuta un total de solamente 13 operaciones de emparejamiento, es decir, 5 por e(c0,
25 k*0) y 8 por D*j)-e(C2j5 &%)) jnc|jcac|0 p0r \a Formula 144. En fin, el proceso de descifrado requiere
solamente un pequeno numero de operaciones de emparejamiento.
Realizacion 3
En la realizacion 3, se describira un esquema de cifrado de producto interior no cero que tiene una clave secreta de tamano constante.
Las configuraciones de un dispositivo de generacion de clave 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300 son respectivamente las mismas que las configuraciones del dispositivo de generacion de clave 100, 5 el dispositivo de cifrado 200 y el dispositivo de descifrado 300 mostrados en las Fig. 3, 4 y 5 segun la Realizacion 2.
Las Fig. 10 y 11 son diagramas de flujo que muestran la operacion del dispositivo de generacion de clave 100 segun la Realizacion 3, en la cual la Fig. 10 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 3 y la Fig. 11 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 3. La Fig. 12 es un diagrama de flujo que muestra la operacion del dispositivo de cifrado 200 segun la 10 Realizacion 3, es decir, un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 3. La Fig. 13 es un diagrama de flujo que muestra la operacion del dispositivo de descifrado 300 segun la Realizacion 3, es decir, un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 3.
En la siguiente descripcion, permitamos que un vector v^:= (v-i, ..., vn) a ser introducido mantenga vl t 0 para cada entero L de L = 1, ..., n-1 y permitamos que un vector x^:= (X1, ..., Xn) a ser introducido mantenga Xn t 0.
15 Se describira el dispositivo de generacion de clave 100.
El proceso del algoritmo Setup se describira con referencia a la Fig. 10.
Los procesos de S201 a S202 son los mismos que los procesos de S101 a S102 mostrados en la Fig. 6.
(S203: Paso de generacion de base B)
Con un dispositivo de procesamiento, una parte de generacion de base 113 genera una base D0 y las variables Di,j y 20 D'ij l, como se indica por la Formula 149, de la misma manera que son la base B0 y la variable Bij de la Realizacion
2.
[Formula 149]
b0,i ■“ Cf0,i,I,..,^0,i)5)A = L,j^\Xo,ijaj Para * =1......5,
% := (^0,1)•■•>^0,5))
DiJ := Mijg, D\,j,L para i, j =1,...,4;L = 1,..., n
Con el dispositivo de procesamiento, la parte de generacion de base 113 tambien genera una base D*0 y una base 25 D*1, como se indica por la Formula 150, de la misma manera que son la base B*0 y la base B*1 de la Realizacion 2.
[Formula 150]
para t = 0,1
imagen27
Entonces, la parte de generacion de base 113 trata la base D*0 como la base B0, la base D0 como una base B*0 y la 30 base D*1 como una base B1. Tambien, para cada uno de los enteros i, j de i, j = 1, ..., 4 y cada entero L de L = 1, ..., n, la parte de generacion de base 113 trata la variable Dij como una variable B*ij y la variable D'ij l como una variable B'*ij,L.
(S204: Paso de generacion de base BA)
Con el dispositivo de procesamiento, la parte de generacion de clave 114 genera las bases Baq, BA-1 y BA*0, como se 35 indica por la Formula 151.
®0:=(i'D,l>*0,3>S0,5)>
“o-^oVcU).
A
®1 := (h,l,--;Kn>\3n+\,.. .p\,4n)
(S205: Paso de generation de clave maestra)
Con el dispositivo de procesamiento, la parte de generacion de clave 114 fija los parametros publicos pk := (1\ paramn, {BAt}t=o,i) y la clave secreta maestra sk := BA*o, {B*i,j, B’*i,j,L}i=i,3;j=i, ..., 4;l=i, n. Entonces, la parte de 5 generacion de clave 114 almacena los parametros publicos pk y la clave secreta maestra sk en una parte de almacenamiento de clave maestra 120.
Senalar que paramn := ({paramvt}t=o,1, gT).
Mas espetificamente, desde S201 hasta S205, el dispositivo de generacion de clave 100 ejecuta el algoritmo Setup indicado por la Formula 153 usando el algoritmo
10 publicos pk y la clave secreta maestra sk. Como se indica por la Formula 152, el algoritmo Gob emplea el algoritmo G(1)ob indicado por la Formula 131.
[Formula 152]
imagen28
15
[Formula 153] Setup(l^sH):
imagen29
imagen30
Senalar que los parametros publicos se publicitan a traves de, por ejemplo, una red, de modo que el dispositivo de cifrado 200 y el dispositivo de descifrado 300 pueden adquirirlos.
El proceso del algoritmo KeyGen se describira con referencia a la Fig. 11.
Los procesos de S211 a S213 son los mismos que los procesos de S111 a S113 mostrados en la Fig. 7.
(S214: Paso de generacion de elemento K*)
Con el dispositivo de procesamiento, una parte de generacion de elemento de clave 142 genera los elementos K*1 ,j y K*2,j que son elementos de una clave de descifrado skv^, como se indica por la Formula 154.
[Formula 154]
para j = 1, ., 4
imagen31
(S215: Paso de distribution de clave)
Por ejemplo, con un dispositivo de comunicacion, una parte de distribucion de clave 150 distribuye la clave de descifrado skv^, constituida, como elementos, por: el vector v^ introducido en S211; un elemento k*0 generado en 5 S213; y los elementos K*i,j y K*2,j generados en S214, al dispositivo de descifrado 300 en secreto a traves de la red.
Como una cuestion de rutina, la clave de descifrado skv^ se podria distribuir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas especificamente, desde S211 hasta S214, el dispositivo de generation de clave 100 ejecuta el algoritmo KeyGen indicado por la Formula 155, para generar la clave de descifrado skv^. Entonces, en S215, el dispositivo de 10 generacion de clave 100 distribuye la clave de descifrado skv^ generada al dispositivo de descifrado 300.
[Formula 155]
KeyGen(pk, sk, v):
i«--------F?,
(*>,0,^,0^,
K2J Para j = 1—>4’
devolver Sk^ — (v, AJ, {Kf j, K\ j} ^4).
Se describira el dispositivo de cifrado 200.
El proceso del algoritmo Enc se describira con referencia a la Fig. 12.
15 Los procesos de S221 a S224 son los mismos que los procesos de S121 a S124 mostrados en la Fig. 8.
(S225: Paso de generacion de elemento c1)
Con el dispositivo de procesamiento, una parte de generacion de elemento de cifrado 232 genera el elemento c1, que es un elemento de un texto cifrado ctx^, como se indica por la Formula 156.
[Formula 156]
20 c{:=(cdx, ®n$n,Thx\
Como con la Formula 135, la Formula 156 significa que: ©x1, ■ ■■, «xn se fijan cada uno como el coeficiente para los vectores de base b*1,1, ..., b*1,n de la base B1; 0 se fija como el coeficiente para los vectores de base b*1,n+1, ..., b*1,3n; y ^1x1, ..., ^1xn se fijan cada uno como el coeficiente para los vectores de base b*1,3n+1, ■ ■■, b*1,4n.
El proceso de S226 es el mismo que el proceso de S126 mostrado en la Fig. 8.
25 (S227: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, una parte de transmision de datos 240 transmite el texto cifrado ctx^, constituida, como elementos, por: el vector x^ introducido en S222; un elemento c0 generado en S224; el elemento c generado en S225; y un elemento c3 generado en S226, al dispositivo de descifrado 300 a traves de la red. Como una cuestion de rutina, el texto cifrado ctx^ se podria transmitir tambien al dispositivo de descifrado 300 30 mediante otro metodo.
Mas especificamente, desde S221 hasta S226, el dispositivo de cifrado 200 ejecuta el algoritmo Enc indicado por la Formula 157, para generar el texto cifrado ctx^. En S227, el dispositivo de cifrado 200 transmite el texto cifrado ctx^ generado al dispositivo de descifrado 300.
[Formula 157]
Enc(pk,m,3c):
0),T]0,TJbC<-^—¥q,
c0:=(-iy,0,c,0,70)Bo,
c3 := g^m,
devolver Ct^ := (3c5c?Q,q,C3).
Se describira el dispositivo de descifrado 300.
El proceso del algoritmo Dec se describira con referencia a la Fig. 13.
Los procesos de S231 a S232 son los mismos que los procesos de S131 a S132 mostrados en la Fig. 9.
5 (S233: Paso de calculo de valor Dj)
Con el dispositivo de procesamiento, una parte de operacion de emparejamiento 330 calcula el valor Dj, como se indica por la Formula 158.
[Formula 158]
para j = 1, ..., 4
10
Senalar que el elemento c1 se analiza sintacticamente como 4n tuplas (C1, ..., C4n) eG4n.
(S234: Paso de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 330 ejecuta una operacion de emparejamiento, como se indica por la Formula 159, para calcular el valor F.
15 [Formula 159]
imagen32
El proceso de S235 es el mismo que el proceso de S135 mostrados en la Fig. 9.
Mas especificamente, desde S231 hasta S235, el dispositivo de descifrado 300 ejecuta el algoritmo Dec indicado por la Formula 160, para calcular un mensaje m’.
20 [Formula 160]
Dec(pk,skv := (v,, {K*j’^2,j}/=1,., ,4) = ctx :=(x,cQ :
Analizar sintacticamente C\ como una tupla 4n (Ci,.. .,C4n) eG4nt
Dj := P'^)_1 vi)C(7-l)»+i, Para J = 1’-”4’
F := e(c0!k*0) ■ UAjMDj>Kij> <Cjn,K^})\
devolver mr C3 / F,
Senalar que B*1 := (b*,1, ..., b*1,4n) se especifica por {B*j, B’*i,j,L}i,j=1, ..., 4;l=1, ..., n. Tambien, {B*j, B’*i,j,L}i=1,3;j=1, ..., 4;l=1, ..., n incluido en una salida del algoritmo Setup se especifica por BA*1 := (b*1,1, ..., b*1,n, b*1,2+1, ..., b*1,3n).
El algoritmo Dec se puede describir como el algoritmo Dec’ indicado por la Formula 161.
5
10
15
20
25
30
35
40
Dec{pk,sk^ ct^ '— (x>oq>C|>^3)}:

n n

,---------------'-------------■S ,---------------*---------------s
kf := ( V|A^y,_,, vn-l^lfl»^2,15 '- Vl^4s- -» vk-1^i*4 >^4

es decir, Af=(<JvJ0"J07If^v)B*, F;= e(c0,k§) -e((x* vjrtq.frf), devolver F.
En el esquema de cifrado de producto interior no cero explicado en la Realization 3, la clave de descifrado skv^ incluye un total de 13 elementos de G, es decir, 5 por el elemento k*0 indicado por la Formula 135 y 8 por los elementos K*j y K*2,j para cada entero j de j = 1, ..., 4 indicado por la Formula 154. En fin, la clave de descifrado skv^ tiene un tamano constante en n.
Tambien, en el esquema de cifrado de producto interior no cero explicado en la Realizacion 3, el proceso de descifrado (algoritmo Dec) ejecuta un total de solamente 13 operaciones de emparejamiento, es decir, 5 por e(c0,
k*0) y 8 por ^1 (e(Dj3 K*ij)*e(Cjn, K*2j) jnc|jcac|0 p0r |a Formula 159. En fin, el proceso de descifrado requiere solamente un numero pequeno de operaciones de emparejamiento.
Realizacion 4.
En la Realizacion 4, se describira un esquema de cifrado de producto interior cero que tiene un texto cifrado de tamano constante.
Las configuraciones de un dispositivo de generation de clave 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300 son respectivamente las mismas que las configuraciones del dispositivo de generacion de clave 100, el dispositivo de cifrado 200 y el dispositivo de descifrado 300 mostrados en las Fig. 3, 4 y 5 segun la Realizacion 2.
Las Fig. 14 y 15 son diagramas de flujo que muestran la operation del dispositivo de generacion de clave 100 segun la Realizacion 4, en la que la Fig. 14 es un diagrama de flujo que muestra el proceso del algoritmo Setup segun la Realizacion 4 y la Fig. 15 es un diagrama de flujo que muestra el proceso del algoritmo KeyGen segun la Realizacion 4. La Fig. 16 es un diagrama de flujo que muestra la operacion del dispositivo de cifrado 200 segun la Realizacion 4, es decir, un diagrama de flujo que muestra el proceso del algoritmo Enc segun la Realizacion 4. La Fig. 17 es un diagrama de flujo que muestra la operacion del dispositivo de descifrado 300 segun la Realizacion 4, es decir, un diagrama de flujo que muestra el proceso del algoritmo Dec segun la Realizacion 4.
En la siguiente description, permitamos que un vector x^ := (x1, ..., Xn) a ser introducido mantenga xl ^ 0 para cada entero L de L = 1, ., n-1 y permitamos que un vector v^ := (v1, ., vn) a ser introducido mantenga vn ^ 0
Se describira el dispositivo de generacion de clave 100.
El proceso del algoritmo Setup se describira con referencia a la Fig. 14.
(S301: Paso de generacion de espacio)
La parte de generacion de espacio 111 toma el parametro de seguridad 1A como entrada y ejecuta Gbpg con un dispositivo de procesamiento, para generar el parametro paramG := (q, G, Gt, g, e) de grupos de emparejamiento bilineal simetrico.
Ademas, la parte de generacion de espacio 111 fija N := 4 + 1. Entonces, la parte de generacion de espacio 111 toma como entrada el parametro de seguridad 1A, N y el parametro paramG de los grupos de emparejamiento bilineal simetrico y ejecuta Gdpvs con el dispositivo de procesamiento, para generar un parametro paramvt := (q, V, Gt, A, e) de los espacios de vector de emparejamiento dual.
(S302: Paso de generacion de transformation lineal)
Con el dispositivo de procesamiento, una parte de generacion de matriz 112 genera una transformacion lineal X, como se indica por la Formula 162.
[Formula 162]
X:=<-^—C\N,Wq)
Senalar que L’(N, Fq) en la Formula 162 es como se indica por la Formula 163.
C'(N,Fg):=
Vo,0 XqA ■ ■■ Zo,4 en XijeHin, F^),
<X:=
x&Xv ' X\A ~= ^1,0,£ . ~,n e > XOfi’XO
xlfl A\i ■ ” *4,4 , for i,j = \.....4
n GL(N, FA
«(». FJ:=
y
U\ '
u
u,u'c^q Para
A
u un_\ «* j un elemento en bianco en la > matriz denota 0 eF^
Senalar que ^3Co,o, Xojj XiAU ^i,j? *.,n en la siguiente description denota un elemento distinto del
valor constante 0 en la transformation lineal X.
(S303: Paso de generation de base B)
5 Con el dispositivo de procesamiento, una parte de generation de base 113 generea las variables B0 0, B0J, Bi,0,L, Bi,j y B’ijL, como se indica por la Formula 164.
[Formula 164]
para i, j = 1, ..., 4; L = 1, ..., n
\o := XOfiS,
\j -=X0JS,
5i,0,£ := Zi,0,LS,
n1 f
Si,j,L := Vi,j,LS
10 Con el dispositivo de procesamiento, la parte de generacion de base 113 tambien genera una base B*, como se indica por la Formula 165.
[Formula 165]
hi := (4'A,. An)A = £;"0Si,jaj para i = Q,...,4n,
(S304: Paso de generacion de base BA)
15 Con el dispositivo de procesamiento, una parte de generacion de clave 114 genera una base Ba*0, como se indica por la Formula 166.
[Formula 166]
**:=(b^..Alb*2n+l,...,b*3n)
(S305: Paso de generacion de clave maestra)
20 Con el dispositivo de procesamiento, la parte de generacion de clave 114 fija los parametros publicos pk := (1\ paramn, BA0, {B0,0, B0J, Bi,0,L, Bi j, B’i,j,L}i=1,4;j=1, ..., 4;l=1, ..., n) y la clave secreta maestra sk := BA* Entonces, la parte de
generacion de clave 114 almacena los parametros publicos pk y la clave secreta maestra sk en una parte de almacenamiento de clave maestra 120.
Senalar que paramn := (paramv, gT).
Mas especificamente, desde S301 hasta S305, el dispositivo de generacion de clave 100 ejecuta el algoritmo Setup 5 indicado por la Formula 168 usando el algoritmo G(3)ob indicado por la Formula 167, para generar los parametros publicos pk y la clave secreta maestra sk.
[Formula 167]
s©a*,"):
paramo ~(q,G,GT,g,e) —^pg(l^).
V/<~~ F*, gT =e{g,g)V,
paramy “ (?>V,Gr,A;e):=Cdpvs(l^?7V,paramG),
param^ *= (paramv ,gf), X—C\N,¥g), a partir de entonces,
{^0,0>Zoj , Xifl,L>LHj ..,n denota entradas no cero de X,
BQ,0 -#0,0g,\j :=XoJ§>BiAL 'XBi,j -
para i,j = \,...,A\L = \
imagen33
imagen34
10
15
20
[Formula 168]
Setup(l^
imagen35
Senalar que los parametros publicos se publicitan a traves de, por ejemplo, una red, de modo que el dispositivo de cifrado 200 y el dispositivo de descifrado 300 pueden adquirirlos.
El proceso del algoritmo KeyGen se describiran con referencia a la Fig. 15.
El proceso de S311 es el mismo que el proceso de S111 mostrado en la Fig. 7.
(S312: Paso de generacion de numero aleatorio)
Con el dispositivo de procesamiento, una parte de generacion de numero aleatorio 141 genera numeros aleatorios, como se indica por la Formula 169.
[Formula 169]
imagen36
(SS313: Paso de generacion de elemento k*)
5
10
15
20
25
30
Con el dispositivo de procesamiento, una parte de generacion de elemento de clave 142 genera el elemento k*, que es un elemento de una clave de descifrado skv^, como se indica por la Formula 170.
[Formula 170]
XA X A
k* ( 1, Sv, 0n,<pv, 0« )B.
Como con la Formula 135, la Formula 170 significa que: 1 se fija como el coeficiente para el vector de base b*0 de una base B*; 5v1, ..., 5vn se fijan cada uno como el coeficiente para los vectores de base b*1, ..., b*n; 0 se fija como el coeficiente para los vectores de base b*n+1, ..., b*2n; ^i, ..., ^vn se fijan cada uno como el coeficiente para los vectores de base b*2n+1, ■ ■■, b*3n; y 0 se fija como el coeficiente para los vectores de base b*3n+1, ■ ■■, b*4n.
(S314: Paso de distribution de clave)
Por ejemplo, con el dispositivo de comunicacion, una parte de distribucion de clave 150 distribuye la clave de descifrado skv^, constituida, como elementos, por el elemento k* generado en S313, al dispositivo de descifrado 300 en secreto a traves de la red. Como una cuestion de rutina, la clave de descifrado skv^ se podria distribuir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas espetificamente, desde S311 hasta S313, el dispositivo de generacion de clave 100 ejecuta el algoritmo KeyGen indicado por la Formula 171, para generar la clave de descifrado skv^. Entonces, en S314, el dispositivo de generacion de clave 100 distribuye la clave de descifrado skv^ generada al dispositivo de descifrado 300.
[Formula 171]
KeyGen(pk, sk, v):
5,<p<^—Wr
n JL n JL
**:=( 1, Sv,0n, <pv, 0” )B,,
devolver skp :=k*.
Se describira el dispositivo de cifrado 200.
El proceso del algoritmo Enc se describira con referencia a la Fig. 16.
Los procesos de S321 a S322 son los mismos que los procesos S121 a S122 mostrados en la Fig. 8.
(S323: Paso de generacion de numero aleatorio)
Con el dispositivo de procesamiento, una parte de generacion de numero aleatorio 231 genera numeros aleatorios, como se indica por la Formula 172.
[Formula 172]
F?
(S324: Paso de generacion de elemento C)
Con el dispositivo de procesamiento, una parte de generacion de elemento de cifrado 232 genera elementos C0, C1,j y C2,j, que son elementos de un texto cifrado ctx^, como se indica por la Formula 173.
[Formula 173]
para j =1,...*4
C\J := + VB4 J>
C2,j := £B0,j + +Vb4J El proceso de S325 es el mismo que el proceso de S126 mostrado en la Fig. 8. (S326: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, una parte de transmision de datos 240 transmite el texto cifrado ctx^, constituido, como elementos, por: el vector x^ introducido en S322, los elementos C0, C1,j y C2,j generados en S324; y un elemento c3 generado en S325, al dispositivo de descifrado 300 a traves de la red. Como una cuestion de rutina, el texto cifrado ctx^ se podria transmitir tambien al dispositivo de descifrado 300 mediante otro metodo.
5 Mas especificamente, desde S321 hasta S325, el dispositivo de cifrado 200 ejecuta el algoritmo Enc indicado por la Formula 174, para generar el texto cifrado ctx^. En S326, el dispositivo de cifrado 200 transmite el texto cifrado ctx^ generado al dispositivo de descifrado 300.
[Formula 174]
Enc(pkJm>Jc): -
Co -=C\\) +^l=ixl(wB\(>,L +?754,0,i) > c3 :=gfm,
j■= j +
C2J '= C\j + ZLl XL(^bIj\L + ^b4j,l)for J = 1,--A
devolver ct^ ;= (x,Co,{q j,C2j}j=l,..,4»c3)-
10 Se describira el dispositivo de descifrado 300.
El proceso del algoritmo Dec se describira con referencia a la Fig. 17.
Los procesos de S331 a S332 son los mismos que los procesos S131 a S132 mostrados en la Fig. 9.
(S333: Paso de calculo de valor Dj
Con el dispositivo de procesamiento, una parte de operacion de emparejamiento 330 calcula el valor D*j, como se 15 indica por la Formula 175.
[Formula 175]
para j = 1, ..., 4
imagen37
Senalar que el elemento k*1 se analiza sintacticamente como (4n+1) tuplas (K*0, ..., K*4n) e G4n+1.
20 (S334: Paso de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 330 ejecuta una operacion de emparejamiento, como se indica por la Formula 176, para calcular el valor F.
[Formula 176]
imagen38
25 El proceso de S335 es el mismo que el proceso de S135 mostrado en la Fig. 9.
Mas especificamente, desde S331 hasta S335, el dispositivo de descifrado 300 ejecuta el algoritmo Dec indicado por la Formula 177, para calcular un mensaje m’.
[Formula 177]
5
10
15
20
25
30
Dec(pk,sk-- -k*, ct^(xsq>J{Clj5QJ}7-=1?_4,c3)):
Analizar sintacticamente A* como unatupla (4n-hl) eG4jl+1,
Dy=li?j~lXLK(j-\)n+L Para 7 = 1.--A F := *(C0,K*) ■ j^J)* )),
devolver mT:=C3 /F.
Senalar que B := (bo, ..., b4n) se especifica por {Boo, Boj, Bi,o,l, Bij, B’i,j,L}i,j=i, ..., 4;l=i, ..., n. Tambien, {Bo,o, Bo,j, Bi,o,l, Bij,
B’ijiL}i=i,4;j=i, ..., 4;L=1, ..., n incluldos en una salida del algortimo Setup se especifica por BA := (bo, ..., bn, b3n+i, ■ ■■, b4n).
El algorltmo Dec se puede describir como el algorltmo Dec’ indicado por la Formula 178.
[Formula 178]
Dec’(pk,step :=£*, ct* :-(x,Co!{Cw,C,2j}M..,4,c3)):

n n

f--------------^ /---------------*---------------^
c:= (C0, XlCxb->xn-\C\,\,C2,\, -■> x\C\,A>--'>xn-\C\,4'C2s4)>

n n n n -

r^-i ^ i-^-i
esdecir, c=( cox, 0*, 0n, vjx Jjj, F^e(c,k*\

devolver ml\=c^/ F. .
Como se indica por la Formula 179, usando el algorltmo Dec’, F = gci se obtlene si x^- v^ = o. Por lo tanto, el mensaje m’ (=m) se puede obtener dividiendo c3 = gcim por F.
[Formula 179]
F = e(c,k) = v = g^ si x * v = 0*
En el esquema de clfrado de producto interior cero explicado en la Realization 4, el texto clfrado ctx^ incluye un total de 9 elementos de G, es declr, 1 por elemento Co y 8 por elementos C1,j y C2,j para cada entero j de j = 1, ..., 4 indicado por la Formula 173. Tambien, el texto clfrado ctx^ incluye 1 elemento de Gi, es declr, 1 por elemento c3. En fin, el texto clfrado ctx^ tiene un tamano constante en n.
Tambien, en el esquema de clfrado de producto interior cero explicado en la Realizacion 4, el proceso de descifrado (algoritmo Dec) ejecuta un total de solamente 9 operaciones de emparejamiento, es decir, 1 por e(C0, K*0) y 8 por
K%)) jnc|jcac|0 p0r |a Formula 176. En fin, el proceso de descifrado requiere solamente un pequeno numero de operaciones de emparejamiento.
Realizacion 5.
En la realizacion 5, se describira un esquema de clfrado de producto interior cero que tiene una clave secreta de tamano constante.
Las configuraciones de un dispositivo de generation de clave 1oo, un dispositivo de clfrado 2oo y un dispositivo de descifrado 3oo son respectivamente las mismas que las configuraciones del dispositivo de generacion de clave 1oo, el dispositivo de clfrado 2oo y el dispositivo de descifrado 3oo mostrados en las Fig. 3, 4 y 5 segun la Realizacion 2.
Las Fig. 18 y 19 son dlagramas de flujo que muestran la operation del dispositivo de generacion de clave 1oo segun la Realizacion 5, en la cual la Fig. 18 es un dlagrama de flujo que muestra el proceso del algorltmo Setup segun la Realizacion 5 y la Fig. 19 es un dlagrama de flujo que muestra el proceso del algorltmo KeyGen segun la Realizacion 5. La Fig. 2o es un dlagrama de flujo que muestra la operacion del dispositivo de clfrado 2oo segun la Realizacion 5, es declr, un dlagrama de flujo que muestra el proceso del algorltmo Enc segun la Realizacion 5. La Fig. 21 es un dlagrama de flujo que muestra la operacion del dispositivo de descifrado 3oo segun la Realizacion 5, es declr, un dlagrama de flujo que muestra el proceso del algorltmo Dec segun la Realizacion 5.
En la siguiente description, permltamos que un vector v^ := (v1, ..., vn) a ser introducido mantenga vl ^ o para cada entero L de L = 1, ., n-1 y permltamos que un vector x^ := (x1, ., xn) a ser introducido mantenga xn ^ o.
Se describira el dispositivo de generacion de clave 1oo.
5
10
15
20
25
30
El proceso del algoritmo Setup se describira con referencia a la Fig. 18.
Los procesos de S401 a S402 son los mismos que los procesos de S301 a S302 mostrados en la Fig. 14.
(S403: Paso de generation de base B)
Con un dispositivo de procesamiento, una parte de generacion de base 113 genera las bases Do,o, Do,j, Di,o,L, Di,j y D’ij L, como se indica por la Formula 180, de la misma manera que son las bases Bo,o, Bo,j, Bi,o,L, Bi,j y B’i,j,L de la Realization 4.
[Formula 18o]
para i, j = 1, ..., 4; L = 1, ..., n
D0,0 ~ ^0,0 8>
D0,j -=Xo ,jg,
A,0,1 '=Xi$,L%>
Dij-.= Uijg,
®i,j,L := t*i,j,L&
Con el dispositivo de procesamiento, la parte de generacion de base 113 tambien genera una base D* como se indica por la Formula 181, de la misma manera que es la base B* de la Realizacion 4.
[Formula 181]
imagen39
Entonces, la parte de generacion de base 113 trata la base D* como una base B. Tambien, para cada uno de los enteros i, j de i, j = 1, ..., 4 y cada entero L de L = 1, ..., n, la parte de generacion de base 113 trata la variable Do,o como una variable B*o,o, la variable Do,j como una variable B*o,j, la variable Di,o,L como una variable B*,o,l, la variable Di,j como una variable B*,jy la variable D’^l como una variable B’*j,l.
(S4o4: Paso de generacion de base BA)
Con el dispositivo de procesamiento, una parte de generacion de clave 114 genera una base BA, como se indica por la Formula 182.
[Formula 182]
A
M:=(b0,...,bn,b3n+h...,b4n)
(S4o5: Paso de generacion de clave maestra)
Con el dispositivo de procesamiento, la parte de generacion de clave 114 fija los parametros publicos pk := (1\ paramn, BA) y la clave secreta maestra sk := ({B*o,o, B*o,j, B*,o,l, B*j, B’*i,j,L>i=1,3;j=1,..., 4;l=1, ..., n). Entonces, la parte de generacion de clave 114 almacena los parametros publicos pk y la clave secreta maestra sk en una parte de almacenamiento de clave maestra 12o.
Senalar que paramn := (paramv, gi).
Mas especificamente, desde S4o1 hasta S4o5, el dispositivo de generacion de clave 1oo ejecuta el algoritmo Setup indicado por la Formula 184 usando el algoritmo ros
publicos pk y la clave secreta maestra sk. Como se indica por la Formula 183, el algoritmo Gob emplea el algoritmo G(3)ob indicado por la Formula 167.
[Formula 183]
imagen40
devolver (para 111 [Formula 184]
imagen41
Senalar que los parametros publicos se publicitan a traves de, por ejemplo, una red, de modo que el dispositivo de 5 cifrado 200 y el dispostivo de descifrado 300 pueden adquirirlos.
El proceso del algoritmo KeyGen se describira con referencia a la Fig. 19.
Los procesos de S411 a S412 son los mismos que los procesos de S311 a S312 mostrados en la Fig. 15.
(S413: Paso de generacion de elemento K*)
Con el dispositivo de procesamiento, una parte de generacion de elemento de clave 142 genera los elementos K*0, 10 K*1,j y K*2,j, que son elementos de una clave de descifrado skv^, como se indica por la Formula 185.
[Formula 185]
imagen42
(S414: Paso de distribucion de clave)
Por ejemplo, con un dispositivo de comunicacion, una parte de distribucion de clave 150 distribuye la clave de 15 descifrado skv^, constituida, como elementos, por: el vector v^ introducido en S411; y los elementos K*0, K*1,j y K*2,j
generados en S313, al dispositivo de descifrado 300 en secreto a traves de la red. Como una cuestion de rutina, la clave de descifrado skv^ se podna distribuir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas espedficamente, desde S411 hasta S413, el dispositivo de generacion de clave 100 ejecuta el algoritmo KeyGen indicado por la Formula 186, para generar la clave de descifrado skv^. Entonces, en S414, el dispositivo de 20 generacion de clave 100 distribuye la clave de descifrado skv^ generada al dispositivo de descifrado 300.
[Formula 186]
5
10
15
20
25
imagen43
Se describira el dispositivo de cifrado 200.
El proceso del algoritmo Enc se describira con referencia a la Fig. 20.
Los procesos de S421 a S423 son los mismos que los procesos de S321 a S323 mostrados en la Fig. 16.
(S424: Paso de generacion de elemento c)
Con el dispositivo de procesamiento, una parte de generacion de elemento de cifrado 232 genera el elemento c, que es un elemento de un texto cifrado ctx^, como se indica por la Formula 187.
[Formula 187]
n X n
c:=(C, Si, 0", 0n, )B
Como con la Formula 135, la Formula 187 significa que: £ se fija como el coeficiente para un vector de base b0 de la base B; ©x1, ■ ■■, ©xn, se fijan cada uno como el coeficiente para los vectores de base b1, ..., bn; 0 se fija como el coeficiente para los vectores de base bn+1, ..., b3n; y ^*, ..., ^xn se fijan cada uno como el coeficiente para los vectores de base b3n+1, ., b4n.
El proceso de S425 es el mismo que el proceso de S325 mostrado en la Fig. 16.
(S426: Paso de transmision de datos)
Por ejemplo, con el dispositivo de comunicacion, una parte de transmision de datos 240 transmite el texto cifrado ctx^, constituido, como elementos, por: el vector x^ introducido en S422; el elemento c generado en S424; y un elemento c3 generado en S425, al dispositivo de descifrado 300 a traves de la red. Como una cuestion de rutina, el texto cifrado ctx^ se podria transmitir tambien al dispositivo de descifrado 300 mediante otro metodo.
Mas especificamente, desde S421 hasta S425, el dispositivo de cifrado 200 ejecuta el algoritmo Enc indicado por la Formula 188, para generar el texto cifrado ctx^. En S426, el dispositivo de cifrado 200 transmite el texto cifrado ctx^ generado al dispositivo de descifrado 300.
[Formula 188]
Enc(pk ,m7x)\
„ U „
n ? ? n
J-^-!
C■=(£, (OX,0», on, 7]X )B)
c3 := gfm,
devolver ct^ := (x.c^).
Se describira el dispositivo de descifrado 300.
El proceso del algoritmo Dec se describira con referencia a la Fig. 21.
Los procesos de S431 a S432 son los mismos que los procesos de S331a S332 mostrados en la Fig. 17. (S433: Paso de calculo de valor Dj)
5
10
15
20
25
Con el dispositivo de procesamiento, una parte de operacion de emparejamiento 330 calcula el valor Dj, como se indica por la Formula 189.
[Formula 189]
para j = 1, ..., 4
imagen44
Senalar que el elemento c se analiza sintacticamente como (4n+1) tuplas (C*o, ..., C*4n) e G4n+1.
(S434: Paso de operacion de emparejamiento)
Con el dispositivo de procesamiento, la parte de operacion de emparejamiento 330 ejecuta una operacion de emparejamiento, como se indica por la Formula 190, para calcular el valor F.
[Formula 190]
imagen45
El proceso de S435 es el mismo que el proceso de S335 mostrado en la Fig. 17.
Mas especificamente, desde S431 hasta S435, el dispositivo de descifrado 300 ejecuta el algoritmo Dec indicado por la Formula 191, para calcular un mensaje m’.
[Formula 191]
DecfpkjSk^ ;= ct^
Analizar sintacticamente c como una tupla(4« + l)eG4rt+1,
Dj ~Zi=ivlcQ,-l>+l Para j =
F:= e(C0,^)• • eiCjn^ij)) ’
devolver m':= C3 /jF.
Senalar que B* := (b*0, ..., b*4n) se especifica por {B*0,0, B*0,j, B*i,0,L, B*i,j, B’*i,j,L}i,j=1,..., 4;l=1, ..., n. Tambien, {B*0,0, B*0,j, B*i,0,L, B*i,j, B’*i,j,L}i=1,3;j=1,..., 4;L=1, ..., n incluidos en una salida del algortimo Setup se especifica por BA* := (b*0, ..., b*n,
b*2n+1, ■ ■■, b*3n).
El algoritmo Dec se puede describir como el algoritmo Dec’ indicado por la Formula 192. [Formula 192]
imagen46
En el esquema de cifrado de producto interior cero explicado en la Realization 5, la clave de descifrado skv^ incluye un total de 9 elementos de G, es decir, 1 por el elemento K*0 y 8 por los elementos K*1,j y K*2,j para cada entero j de j = 1, ..., 4 indicado por la Formula 185. En fin, la clave de descifrado skv^tiene un tamano constante en n.
Tambien, en el esquema de cifrado de producto interior cero explicado en la Realizacion 5, el proceso de descifrado (algoritmo Dec) ejecuta un total de solamente 9 operaciones de emparejamiento, es decir, 1 por e(C0, K*0) y 8 por
indicado por la Formula 190. En fin, el proceso de descifrado requiere solamente un pequeno numero de operaciones de emparejamiento.
nj-i4(e(Dj, K*i j)-e(Cjn, K.*2j))
5
10
15
20
25
30
35
40
45
50
Las realizaciones anteriores emplean la transformation lineal X mostrada en (b) de la Fig. 2. No obstante, la transformation lineal X no se limita a la mostrada en (b) de la Fig. 2. Por ejemplo, en (b) de la Fig. 2, los cuadrados sombreados pueden tener valores diferentes unos de otros. En (b) de la Fig. 2, todos los componentes en una columna N tienen valores aleatorios distintos del valor constante 0. No obstante, alternativamente, en lugar de la columna N, todos los componentes en al menos una de las otras columnas podria tener tambien valores aleatorios distintos del valor constante 0.
Mas generalmente, la transformacion lineal X es suficiente si es una matriz dispersa en la cual cada fila y cada columna tienen al menos un valor que es distinto del valor constante 0. Ademas, en caso de una matriz de n filas, n columnas, la transformacion lineal X preferiblemente tiene al menos n valores diferentes como valores distintos del valor constante 0. Ademas, la transformacion lineal X es preferiblemente de manera que todos los componentes en al menos una columna tienen valores distintos del valor constante 0. Ademas, la transformacion lineal X es preferiblemente X es preferiblemente de manera que sus componentes diagonales y todos los componentes en al menos una columna tienen valores distintos del valor constante 0. Ademas, la transformacion lineal X es preferiblemente de manera que sus componentes diagonales tienen el mismo valor excepto para las columnas en las cuales todos los componentes tienen valores distintos del valor constante 0.
Incluso con tal transformacion lineal X, los tamanos de los parametros publicos y la clave secreta son menores que en un caso donde se usa la transformacion lineal X convencional. Tambien, se acorta el tiempo tomado por el proceso de generation de la clave de usuario y el proceso de cifrado.
Dependiendo del tipo de transformacion lineal X, no se puede disminuir el numero de operaciones de emparejamiento.
En las realizaciones anteriores, el espacio de vector consta de cuatro subespacios ortogonales, es decir, parte de codification, parte oculta, parte de aleatoriedad de clave secreta y parte de aleatoriedad de texto cifrado. A fin de hacer frente a esto, la transformacion lineal X se constituye usando una matriz de n filas, n columnas Xi,j (i, j = 1, ..., 4), como se indica por la Formula 124. Esta estructura de la transformacion lineal X descansa en una premisa que los subespacios de la parte oculta, parte de aleatoriedad de clave secreta y parte de aleatoriedad de texto cifrado son n dimensionales, como con el subespacio de la parte de codificacion.
Alternativamente, los subespacios de la parte oculta, la parte de aleatoriedad de clave secreta y la parte de aleatoriedad de texto cifrado no necesitan ser n dimensionales a diferencia del subespacio de la parte de codificacion. Por ejemplo, el subespacio de la parte oculta puede ser (n x u) dimensional, el subespacio de la parte de aleatoriedad de clave secreta puede ser (n x w) dimensional y el subespacio de la parte de aleatoriedad de texto cifrado puede ser (n x z) dimensional (u, w y z son cada uno un entero de 0 o mas). En este caso, la transformacion lineal X se puede constituir usando una matriz de n filas, n columnas Xi,j (i, j = 1, ..., 1 + u + w + z), como se indica por la Formula 193.
[Formula 193]
imagen47
v \
^1,1+U+W+Z
Y
A1+w+w+z?l+w+w+z J
La revocation basada en ID (Identidad) (IBR) y el cifrado de difusion basado en ID (Identidad) (IBBE) constituyen una clase de cifrado funcional (ver las Literaturas No de Patente 1,5, 6, 8, 19 y 12).
Segun la revocacion basada en ID, un texto cifrado se cifra para un conjunto de identidades S = (ID1, ..., IDn). El texto cifrado se descifra por una clave secreta asociada con el ID que no satisface ID e S. Mas especificamente, el descifrado requiere Ribr(ID, S) = 1 si y solo si ID e S no se establece.
Segun el cifrado de difusion basado en ID, un texto cifrado se cifra para un conjunto de identidades S = (ID1, ..., IDn). El texto cifrado se descifra mediante una clave secreta asociada con la ID que satisface ID e S. Mas especificamente, el descifrado requiere RIBBE(ID, S) = 1 si y solo si ID e S se establece.
Supongamos S(X) = Vi^ *=rii=i (X-IDi) donde S := {ID1, IDn}. Tambien, supongamos un vector := (v0, v1, ..., vn) y un vector x^ := (1, ID, ..., IDn).
Entonces, el esquema de cifrado de producto interior no cero explicado en las Realizaciones 2 y 3 se puede considerar como un esquema de revocacion basado en ID y el esquema de cifrado de producto interior cero explicado en las Realizaciones 4 y 5 se pueden considerar como un esquema de cifrado de difusion basado en ID.
Mas especificamente, los esquemas de cifrado de producto interior explicados en las realizaciones anteriores pueden implementar un esquema de revocacion basado en ID y un esquema de cifrado de difusion basado en ID.
5
10
15
20
25
30
35
40
45
50
En este caso tambien, un texto cifrado o una clave de descifrado pueden tener un tamano constante en n, de modo que el descifrado se puede dirigir por un numero pequeno de las operaciones de emparejamiento.
Ademas, de los esquemas de cifrado practicos explicados en las Realizaciones 2 a 4, si la transformacion lineal X descrita anteriormente se aplica a los esquemas de cifrado explicados en las Literaturas No de Patente 13, 15, 16, 17 y similares, los tamanos de los parametros publicos y la clave secreta disminuyen. Tambien, se acorta el tiempo que lleva el proceso de generacion de la clave de usuario y el proceso de cifrado.
La Fig. 22 muestra la comparacion de los esquemas de cifrado de producto interior no cero y los esquemas de cifrado de producto interior cero explicados en las Realizaciones 2 a 4 con el esquema de cifrado de producto interior no cero y el esquema de cifrado de producto interior cero descritos en la Literatura No de Patente 2.
En la Fig. 22, |G|, |Gt|, |Fq|, P y M representan el tamano de G, tamano de Gt, tamano de Fq, operacion de emparejamiento y multiplicacion escalar en G, respectivamente. Tambien, CT, SK, IP y DBDH representan el texto cifrado, la clave secreta (clave de descifrado), el producto interior y Diffie-Hellman bilineal decisional, respectivamente.
Realizacion 6.
En las anteriores realizaciones, se ha descrito el metodo de implementacion del proceso criptografico en los espacios de vector dual. En la Realizacion 6, se describira un metodo de implementacion de un proceso criptografico en grupos aditivos duales.
Mas espedficamente, en las realizaciones anteriores, el proceso criptografico se implementa en el grupo ciclico del primo de orden q. Cuando un anillo R se expresa usando un numero compuesto M como se indica por la Formula 194, el proceso criptografico descrito en las realizaciones anteriores tambien se puede aplicar a un grupo aditivo que tiene un anillo R como coeficiente.
[Formula 194]
imagen48
donde
un entero; y
M: un numero compuesto
Si Fq en el algoritmo explicado en las realizaciones anteriores se cambia a R, se puede implementar el proceso criptografico en un grupo aditivo dual.
La configuracion hardware de un sistema de procesamiento criptografico 10 (un dispositivo de generacion de clave 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300) se describira en una realizacion.
La Fig. 23 es un diagrama que muestra un ejemplo de la configuracion hardware de cada uno del dispositivo de generacion de clave 100, el dispositivo de cifrado 200, el dispositivo de descifrado 300 y un dispositivo de delegacion de clave 400.
Como se muestra en la Fig. 23, cada uno del dispositivo de generacion de clave 100, dispositivo de cifrado 200, dispositivo de descifrado 300 y el dispositivo de delegacion de clave 400 incluye una CPU 911 (Unidad Central de Proceso; tambien conocida como dispositivo central de proceso, dispositivo de procesamiento, dispositivo de computacion, microprocesador, microordenador o procesador) que ejecuta programas. La CPU 911 se conecta a una ROM 913, una RAM 914, un LCD 901 (Visualizador de Cristal Lfquido), un teclado 902 (K/B), una placa de comunicacion 915 y un dispositivo de disco magnetico 920 a traves de un bus 912 y controla estos dispositivos hardware. En lugar del dispositivo de disco magnetico 920 (dispositivo de disco fijo), se puede emplear un dispositivo de almacenamiento tal como un dispositivo de disco optico o un dispositivo de lectura/escritura de tarjeta de memoria. El dispositivo de disco magnetico 920 se conecta a traves de una interfaz de disco fijo predeterminada.
La ROM 913 y el dispositivo de disco magnetico 920 son ejemplos de una memoria no volatil. La RAM 914 es un ejemplo de una memoria volatil. La ROM 913, la RAM 914 y el dispositivo de disco magnetico 920 son ejemplos del dispositivo de almacenamiento (memoria). El teclado 902 y la placa de comunicacion 915 son ejemplos de un dispositivo de entrada. La placa de comunicacion 915 es un ejemplo de un dispositivo de comunicacion. Ademas, el LCD 901 es un ejemplo de un dispositivo de visualizacion.
El dispositivo de disco magnetico 920, la ROM 913 o similar almacena un sistema operativo 921 (OS), un sistema de ventanas 922, programas 923 y archivos 924. La CPU 911, el sistema operativo 921 y el sistema de ventanas 922 ejecutan cada programa de los programas 923.
5
10
15
20
25
30
35
40
Los programas 923 almacenan software y programas que ejecutan las funciones descritas como la “parte de generacion de clave maestra 110”, la “parte de almacenamiento de clave maestra 120”, la “parte de entrada de informacion 130”, la “parte de generacion de clave de descifrado 140”, la “parte de distribucion de clave 150”, la “parte de adquisicion de parametro publico 210”, la “parte de entrada de informacion 220”, la “parte de generacion de texto cifrado 230”, la “parte de transmision de datos 240”, la “parte de adquisicion de clave de descifrado 310”, la “parte de recepcion de datos 320”, la “parte de operacion de emparejamiento 330”, la “parte de calculo de mensaje 340” y similares en la descripcion anterior. Los programas 923 almacenan otros programas tambien. Los programas se leen y ejecutan por la CPU 911.
Los archivos 924 almacenan informacion, datos, valores de senal, valores de variable y parametros tales como los “parametros publicos pk”, la “clave secreta maestra sk”, las “clave de descifrado sky^”, el “texto cifrado ctx^” y similares de la explicacion anterior, como los items de un “archivo” y “base de datos”. El “archivo” y la “base de datos” se almacenan en un medio de grabacion tal como un disco o memoria. La informacion, los datos, los valores de senal, los valores de variables y los parametros almacenados en el medio de grabacion tal como el disco o la memoria se leen para la memoria principal o memoria cache por la CPU 911 a traves de un circuito de lectura/escritura y se usan para las operaciones de la CPU 911 tales como extraccion, busqueda, revision, comparacion, computacion, calculo, proceso, salida, impresion y visualizacion. La informacion, los datos, los valores de senal, los valores de variable y los parametros se almacenan temporalmente en la memoria principal, memoria cache o memoria de almacenador temporal durante las operaciones de la CPU 911 que incluyen extraccion, busqueda, revision, comparacion, computacion, calculo, proceso, salida, impresion y visualizacion.
Las flechas de los diagramas de flujo en la descripcion anterior indican principalmente la entrada/salida de datos y senales. Los datos y valores de senal se graban en la memoria de la RAM 914, el medio de grabacion tal como un disco optico o en un chip IC. Los datos y senales se transmiten en lmea a traves de un medio de transmision tal como el bus 912, lmeas de senal o cables; u ondas electricas.
La “parte” en la explicacion anterior puede ser un “circuito”, “dispositivo”, “equipo”, “medios” o “funcion”; o un “paso”, “procedimiento” o “proceso”. El “dispositivo” puede ser “circuito”, “equipo”, “medios” o “funcion”; o un “paso”, “procedimiento” o “proceso”. El “proceso” puede ser un “paso”. Es decir, la “parte” se puede implementar como microprograma almacenado en la ROM 913. Alternativamente, la “parte” se puede implementar solamente por software; solamente por hardware tal como un elemento, un dispositivo, un sustrato o una lmea de cableado; mediante una combinacion de software y hardware; o ademas por una combinacion de software, hardware y microprograma. El microprograma y software se almacenan, como un programa, en el medio de grabacion tal como la ROM 913. El programa se lee por la CPU 911 y se ejecuta por la CPU 911. Es decir, el programa hace al ordenador o similar funcionar como una “parte” descrita anteriormente. Alternativamente, el programa hace al ordenador o similar ejecutar el procedimiento y metodo de la “parte” descrita anteriormente.
Lista de signos de referencia
10: sistema de procesamiento criptografico; 100: dispositivo de generacion de clave; 110: parte de generacion de clave maestra; 111: parte de generacion de espacio; 112: parte de generacion de matriz; 113: parte de generacion de base; 114: parte de generacion de clave; 120: parte de almacenamiento de clave maestra; 130: parte de entrada de informacion; 140: parte de generacion de clave de descifrado; 141: parte de generacion de numero aleatorio; 142: parte de generacion de elemento de clave; parte de distribucion de clave; 200: dispositivo de cifrado; 210: parte de adquisicion de parametro publico; 220: parte de entrada de informacion; 230: parte de generacion de texto cifrado; 231: parte de generacion de numero aleatorio; 232: parte de generacion de elemento de cifrado; 240: parte de transmision de datos; 300: dispositivo de descifrado; 310: parte de adquisicion de clave de descifrado; 320: parte de recepcion de datos; 330: parte de operacion de emparejamiento; 340: parte de calculo de mensaje.

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    REIVINDICACIONES
    1. Un sistema de procesamiento criptografico (10) configurado para utilizar una base B y una base B* generadas transformando una base A predeterminada usando una matriz en la cual cada fila y cada columna tienen al menos un valor que es distinto del valor constante 0, para dirigir un proceso criptografico, el sistema de procesamiento criptografico que comprende:
    un dispositivo de cifrado (200) que genera un vector en la base B, el vector que se integra con information predeterminada, como un vector de cifrado; y
    un dispositivo de descifrado (300) que, tratando un vector predeterminado en la base B* como un vector de clave, dirige una operation de emparejamiento para el vector de clave y el vector de cifrado que se genera por el dispositivo de cifrado, para descifrar el vector de cifrado y extrae informacion en la informacion predeterminada,
    en donde la matriz es una matriz de n filas, n columnas (n es un entero de 2 o mas) y tiene al menos n valores diferentes como un valor distinto del valor constante 0,
    en donde la matriz es de manera que todos los componentes en al menos una columna tienen valores distintos del valor constante 0 y
    en donde la matriz es de manera que solamente componentes diagonales de la misma y todos los componentes en una columna tienen valores distintos del valor constante 0.
  2. 2. El sistema de procesamiento criptografico segun la reivindicacion 1,
    en donde la matriz es de manera que los componentes diagonales tienen el mismo valor excepto para la columna en la que todos los componentes tienen valores distintos del valor constante 0.
  3. 3. El sistema de procesamiento criptografico segun la reivindicacion 2,
    en donde la matriz es una matriz indicada por la Formula 1:
    [Formula 1]

    f ' >\

    M Ml
    T
    M Mn-l
    I

    V Mn J
    en donde H-'i, ...» Un son cada uno un valor predeterminado distinto del valor constante 0 y las partes en blanco representan el valor constante 0.
  4. 4. El sistema de procesamiento criptografico segun la reivindicacion 1,
    que utiliza una base B y una base B* generadas a partir de una base A como se indica por la Formula 3 usando una transformation lineal X de N filas, N columnas (N es un entero de n o mas) que constituye una matriz en la que un valor de la 1a fila, 1a columna a un valor de la fila de orden n, la columna de orden n son como se indica por la Formula 2,
    en donde el dispositivo de cifrado genera un vector que incluye la Formula 4, como el vector de cifrado y
    en donde el dispositivo de descifrado, tratando un vector k* que incluye la Formula 5, como el vector de clave, descifra el vector de cifrado:
    [Formula 2]
    Mn-1 Mn-1 V Mn J
    en donde H-'n son cada uno un valor predeterminado distinto del valor constante 0 y las partes
    en blanco representan el valor constante 0,
    5
    10
    15
    20
    25
    30
    [Formula 3]
    bi XNj=iXi,jaj Para i = B:= ,..., bN),
    b* := Xjll<5*1, jajPara * = 1.B* := (if■ •>&&)
    donde Xij es un componente de la fila de orden i, columna de orden j de la transformation lineal X, *¥ es un valor predeterminado y aj es un vector de base de orden j de la base A,
    [Formula 4]
    Z”=i axibi
    donde © y xi, ..., Xn son cada uno un valor predeterminado y [Formula 5]
    imagen1
    donde 5 y vi, ..., Vn son cada uno un valor predeterminado.
  5. 5. El sistema de procesamiento criptografico segun la revindication 4,
    en donde la matriz indicada por la Formula 2 tiene valores pi (i = 1, ..., n-1) que son el mismo valor p,
    en donde el dispositivo de cifrado genera un vector que incluye un vector Ci y un vector C2, como el vector de cifrado, el vector Ci que incluye la Formula 6, el vector C2 que incluye la Formula 7 y
    en donde el dispositivo de cifrado calcula D* indicado por la Formula 8, para dirigir la operation de emparejamiento indicada por la Formula 9:
    [Formula 6]
    Q := coB\
    [Formula 7]
    imagen2
    [Formula 8]
    imagen3
    donde K*i, ..., KVi son cada uno un componente de vectores de base b*i, ..., b*n-i para un caso donde el vector k* se descompone en componentes para los vectores de base respectivos,
    [Formula 9]
    imagen4
    donde K*n es un componente de un vector de base b*n para un caso donde el vector k* se descompone en componentes para los vectores de base respectivos.
  6. 6. El sistema de procesamiento criptografico segun la revindication 4,
    en donde la matriz indicada por la Formula 2 tiene valores pi (i = i, ..., n-i) que son el mismo valor p,
    en donde el dispositivo de cifrado genera un vector que incluye un vector Ci y un vector C2, como el vector de cifrado, el vector Ci que incluye la Formula i0, el vector C2 que incluye la Formula ii y
    5
    10
    15
    20
    25
    30
    en donde el dispositivo de cifrado calcula D* indicado por la Formula 12, para dirigir la operation de emparejamiento indicada por la Formula 13:
    [Formula 10]
    imagen5
    [Formula 11]
    imagen6
    [Formula 12]
    imagen7
    donde K*1, ..., K*n-1 son cada uno un componente de los vectores de base b*1, ..., b*n-1 para un caso donde el vector k* se descompone en componentes para los vectores de base respectivos y
    [Formula 13]
    imagen8
    donde K*n es un componente de un vector de base b*n para un caso donde el vector k* se descompone en componentes para los vectores de base respectivos.
  7. 7. El sistema de procesamiento criptografico segun la revindication 1,
    que utiliza una base B y una base B* generadas a partir de la base A como se indica por la Formula 15 usando una transformation lineal X de N filas, N columnas (N es un entero de n o mas) que constituye una matriz en la que un valor de la 1a fila, 1a columna a un valor de la fila de orden n, columna de orden n son como se indica por la Formula 14,
    en donde el dispositivo de cifrado genera un vector c que incluye la Formula 16, como el vector de cifrado y
    en donde el dispositivo de descifrado, tratando un vector que incluye la Formula 17, como el vector de clave, descifra el vector de cifrado:
    [Formula 14]
    Ml ^
    Mn- 1
    Mn j
    en donde H-'n son cada uno un valor predeterminado distinto del valor constante 0 y las partes
    en blanco representan el valor constante 0,
    [Formula 15]
    bi -ZjLiXijOj Para i = B* :=(£f SU:=V'<XT)~K
    ^:= £ Nj=xtyjOj para i = 3:=^.......0^)
    Ml
    Mn-l
    donde Xij es un componente de la fila de orden i, columna de orden j de la transformacion lineal X, es un valor predeterminado y aj es un vector de base de orden j de la base A,
    [Formula 16]
    5
    10
    15
    20
    25
    30
    35
    Z”=i axibi
    donde © y xi, ..., Xn son cada uno un valor predeterminado y [Formula 17]
    imagen9
    donde 5 y vi, ..., Vn son cada uno un valor predeterminado.
  8. 8. El sistema de procesamiento criptografico segun la reivindicacion 7,
    en donde la matriz indicada por la Formula 14 tiene valores ^ (i = 1, ..., n-1) que son el mismo valor ^ y
    en donde el dispositivo de descifrado, tratando un vector que incluye un vector K*1 y un vector K*2, como el vector de clave, el vector K*1 que incluye la Formula 18, el vector K*2 que incluye la Formula 19, calcula D* indicado por la Formula 20, para dirigir una operacion de emparejamiento indicada por la Formula 21:
    [Formula 18]
    K* := SBX
    [Formula 19]
    imagen10
    [Formula 20]
    imagen11
    donde C1, ..., Cn-1 son cada uno un componente de los vectores de base bi, ..., bn-1 para un caso donde el vector c se descompone en componentes para los vectores de base respectivos y
    [Formula 21]
    imagen12
    donde Cn es un componente de un vector de base bn para un caso donde el vector c se descompone en componentes para los vectores de base respectivos.
  9. 9. El sistema de procesamiento criptografico segun la reivindicacion 7,
    en donde la matriz dispersa indicada por la Formula 14 tiene valores ^ (i = 1, ..., n-1) que son el mismo valor ^ y
    en donde el dispositivo de descifrado, tratando un vector que incluye un vector K*1 y un vector K*2, como el vector de clave, el vector K*1 que incluye la Formula 22, el vector K*2 que incluye la Formula 23, calcula D* indicado por la Formula 24, para dirigir una operacion de emparejamiento indicada por la Formula 25:
    [Formula 22]
    K* := SBX
    [Formula 23]
    imagen13
    [Formula 24]
    D
    donde C1, ..., Cn-1 son cada uno un componente de los vectores de base b1, ..., bn-1 para un caso donde el vector c se descompone en componentes para los vectores de base respectivos y
    5
    10
    15
    20
    25
    30
    35
    40
    [Formula 25]
    imagen14
    donde Cn es un componente del vector de base bn para un caso donde el vector c se descompone en componentes para los vectores de base respectivos.
  10. 10. Un metodo de procesamiento criptografico configurado para utilizar una base B y una base B* generadas transformando una base A predeterminada usando una matriz en la cual cada fila y cada columna tienen al menos un valor distinto de 0, en el que la matriz es una matriz de n filas, n columnas (n es un entero de 2 o mas) y tiene al menos n valores diferentes como un valor distinto del valor constante 0 y en el que solamente los componentes diagonales y todos los componentes en una columna tienen valores distintos del valor constante 0, para dirigir un proceso criptografico, el metodo de procesamiento criptografico que comprende:
    con un dispositivo de cifrado (200), generar un vector en la base B, el vector que se integra con information predeterminada, como un vector de cifrado; y
    con un dispositivo de descifrado (300), tratando un vector predeterminado en la base B* como un vector de clave, dirigir una operation de emparejamiento para el vector de clave y el vector de cifrado que se genera por el dispositivo de cifrado, para descifrar el vector de cifrado y extraer informacion en la informacion predeterminada.
  11. 11. Un programa de procesamiento criptografico configurado para utilizar una base B y una base B* generadas transformando una base A predeterminada usando una matriz en la cual cada fila y cada columna tienen al menos un valor distinto de 0, en el que la matriz es una matriz de n filas, n columnas (n es un entero de 2 o mas) y tiene al menos n valores diferentes como un valor distinto del valor constante 0 y en el que solamente los componentes diagonales y todos los componentes en una columna tienen valores distintos del valor constante 0, para dirigir un proceso criptografico, el programa de procesamiento criptografico que comprende:
    un proceso de cifrado de generation de un vector en la base B, el vector que se integra con informacion predeterminada, como un vector de cifrado; y
    un proceso de descifrado de, tratando un vector predeterminado en la base B* como un vector de clave, dirigir una operacion de emparejamiento para el vector de clave y el vector de cifrado que se genera por el proceso de cifrado, para descifrar el vector de cifrado y extraer informacion en la informacion predeterminada.
  12. 12. Un dispositivo de generacion de clave (100) para generar un parametro publico y una clave secreta en cifrado de clave publica, que comprende:
    una parte de generacion de matriz (112) que genera una transformation lineal X que incluye una matriz en la que cada fila y cada columna tienen al menos un valor distinto de 0, en el que la matriz es una matriz de n filas, n columnas (n es un entero de 2 o mas) y tiene al menos n valores diferentes como un valor distinto del valor constante 0 y en el que solamente los componentes diagonales y todos los componentes en una columna tienen valores distintos del valor constante 0;
    una parte de generacion de base (113) que genera una base D y una base D* a partir de una base A predeterminada como se indica por la Formula 26 usando la transformacion lineal X generada por la parte de generacion de matriz; y
    una parte de generacion de clave maestra (110) que, tratando al menos parte de los vectores de base de una de la base D y la base D* generadas por la parte de generacion de base, como un parametro publico, genera al menos parte de los vectores de base de una restante de la base D y la base D*, como una clave secreta:
    [Formula 26]
    bi'~Ylj=\%Ujaj para i = N,D :=(b\,...,bN),
    bi - H%\jaj Para *' = 1>— N’ D* (**>’ ■ >
    donde Xij es un componente de la fila de orden i, columna de orden j de la transformacion lineal X, es un valor predeterminado y aj es un vector de base de orden j de la base A.
ES12850218.4T 2011-11-18 2012-11-12 Sistema de procesamiento criptográfico, método de procesamiento criptográfico, programa de procesamiento criptográfico y dispositivo de generación de claves Active ES2613811T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011252244A JP5677273B2 (ja) 2011-11-18 2011-11-18 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置
JP2011252244 2011-11-18
PCT/JP2012/079210 WO2013073488A1 (ja) 2011-11-18 2012-11-12 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置

Publications (1)

Publication Number Publication Date
ES2613811T3 true ES2613811T3 (es) 2017-05-26

Family

ID=48429548

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12850218.4T Active ES2613811T3 (es) 2011-11-18 2012-11-12 Sistema de procesamiento criptográfico, método de procesamiento criptográfico, programa de procesamiento criptográfico y dispositivo de generación de claves

Country Status (8)

Country Link
US (1) US9203622B2 (es)
EP (1) EP2782087B1 (es)
JP (1) JP5677273B2 (es)
KR (1) KR101581605B1 (es)
CN (1) CN103946910B (es)
ES (1) ES2613811T3 (es)
IN (1) IN2014CN04110A (es)
WO (1) WO2013073488A1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5855234B2 (ja) * 2012-03-27 2016-02-09 三菱電機株式会社 デジタル放送受信装置及びデジタル放送受信方法
JP6275536B2 (ja) * 2014-04-16 2018-02-07 日本放送協会 限定受信システム、ならびに、コンテンツ配信装置、コンテンツ受信装置およびそれらのプログラム
US10050782B2 (en) * 2014-12-05 2018-08-14 Mitsubishi Electric Corporation Decryption condition addition device, cryptographic system, and computer readable medium
JP6266130B2 (ja) * 2014-12-05 2018-01-24 三菱電機株式会社 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
US9516000B2 (en) * 2015-03-27 2016-12-06 International Business Machines Corporation Runtime instantiation of broadcast encryption schemes
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
JP6971917B2 (ja) * 2018-06-11 2021-11-24 三菱電機株式会社 復号装置、暗号化装置及び暗号システム
JP7024666B2 (ja) * 2018-08-28 2022-02-24 日本電信電話株式会社 Idベースハッシュ証明系構成装置、idベース暗号装置及びプログラム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4354609B2 (ja) * 1999-07-16 2009-10-28 パナソニック株式会社 有限体上の連立方程式求解装置及び逆元演算装置
JP2003152703A (ja) * 2001-11-12 2003-05-23 Victor Co Of Japan Ltd 暗号化装置、暗号化方法、復号化装置、復号化方法、暗号化復号化装置及び暗号化復号化方法
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
CN101971186B (zh) * 2008-04-10 2013-06-12 日本电气株式会社 信息泄露防止装置和方法及其程序
CN101329869B (zh) * 2008-07-31 2012-04-11 中国电信股份有限公司 适用矢量量化的语音编码的声源加密的系统和方法
JP5349261B2 (ja) * 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
EP2424156B1 (en) * 2009-04-24 2013-11-20 Nippon Telegraph And Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program and storage medium
ES2512115T3 (es) * 2009-04-24 2014-10-23 Nippon Telegraph And Telephone Corporation Dispositivo de generación de información, método de generación de información, y programa de generación de información y medio de almacenamiento del mismo
JP5334873B2 (ja) * 2010-01-08 2013-11-06 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5269210B2 (ja) * 2010-01-15 2013-08-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
EP2582086B1 (en) * 2010-07-23 2016-03-23 Nippon Telegraph and Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
US8977579B2 (en) * 2011-10-11 2015-03-10 Nec Laboratories America, Inc. Latent factor dependency structure determination

Also Published As

Publication number Publication date
WO2013073488A1 (ja) 2013-05-23
EP2782087A4 (en) 2015-09-09
JP2013109048A (ja) 2013-06-06
CN103946910A (zh) 2014-07-23
EP2782087B1 (en) 2016-12-28
US9203622B2 (en) 2015-12-01
CN103946910B (zh) 2017-05-31
EP2782087A1 (en) 2014-09-24
IN2014CN04110A (es) 2015-07-10
KR20140093281A (ko) 2014-07-25
KR101581605B1 (ko) 2015-12-30
US20140298028A1 (en) 2014-10-02
JP5677273B2 (ja) 2015-02-25

Similar Documents

Publication Publication Date Title
ES2613811T3 (es) Sistema de procesamiento criptográfico, método de procesamiento criptográfico, programa de procesamiento criptográfico y dispositivo de generación de claves
ES2627124T3 (es) Sistema de procesamiento de código, dispositivo de generación de claves, dispositivo codificador, dispositivo descodificador, procedimiento de procesamiento de código y programa de procesamiento de código
ES2873230T3 (es) Sistema de procesamiento de encriptado
US9344276B2 (en) Cryptographic system, re-encryption key generation device, re-encryption device, cryptographic method, and cryptographic program
JP5680007B2 (ja) 暗号システム、暗号方法及び暗号プログラム
US9413531B2 (en) Cryptographic system, cryptographic method, cryptographic program, and decryption device
WO2011135895A1 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
EP2998948A1 (en) Encryption system, encryption method, and encryption program
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
JP5921410B2 (ja) 暗号システム
US9813386B2 (en) Cooperation service providing system and server apparatus
EP4289103A1 (en) Threshold key exchange
US9979536B2 (en) Cryptographic system, encryption device, re-encryption key generation device, re-encryption device, and cryptographic program
EP3079299A1 (en) Data processing system, encryption apparatus, decryption apparatus, and program
WO2017203743A1 (ja) 暗号化装置、復号装置及び暗号システム
Desmedt A brief survey of research jointly with jean-jacques quisquater