ES2604817T3 - Sistema de cifrado, método de cifrado y programa de cifrado - Google Patents

Sistema de cifrado, método de cifrado y programa de cifrado Download PDF

Info

Publication number
ES2604817T3
ES2604817T3 ES13757621.1T ES13757621T ES2604817T3 ES 2604817 T3 ES2604817 T3 ES 2604817T3 ES 13757621 T ES13757621 T ES 13757621T ES 2604817 T3 ES2604817 T3 ES 2604817T3
Authority
ES
Spain
Prior art keywords
vector
index
formula
encryption
key
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
ES13757621.1T
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
NTT Inc
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 ES2604817T3 publication Critical patent/ES2604817T3/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un sistema criptográfico (10) configurado para realizar un proceso usando una base B predeterminada y una base B* predeterminada, el sistema criptográfico que comprende: un dispositivo de transmisión (200, 500) configurado para generar un vector de lado de transmisión tj para al menos un índice j de entre una pluralidad de índices j, el vector de lado de transmisión tj que es un vector en el cual información J asignada por adelantado al índice j se fija como un coeficiente de un vector de base predeterminado bíndice de la base B y un parámetro Φj para el índice j se fija como un coeficiente de otro vector de base batt de la base B; y un dispositivo de recepción (300, 600) configurado para usar un vector de lado de recepción rj' para al menos un índice j' de entre una pluralidad de índices j', el vector de lado de recepción rj' que es un vector en el cual información J' que tiene un producto interior de 0 con información J asignada por adelantado al índice j que corresponde al índice j' se fija como un coeficiente de un vector de base b*índice de la base B* que corresponde al vector de base bíndice y un parámetro Ψj' para el índice j' se fija como un coeficiente de un vector de base b*att de la base B* que corresponde al vector de base batt y calcular un producto de operaciones de emparejamiento sobre pares correspondientes de los vectores de base del vector de lado de transmisión tj para el índice j y el vector de lado de recepción rj' para el índice j' que corresponde al índice j.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
imagen6
imagen7
5
10
15
20
25
30
35
40
45
El texto cifrado ctΦ se puede descifrar con la clave de descifrado skψ para obtener el mensaje m si y sólo si el parámetro ψ y el parámetro Φ satisfacen la relación R (si mantiene R(Φ, ψ)).
Generalmente, el algoritmo Setup se ejecuta solamente una vez en la configuración del sistema. El algoritmo KeyGen se ejecuta cada vez que va a ser generada una clave de descifrado skψ de un usuario. El algoritmo Enc se ejecuta cada vez que va a ser cifrado un mensaje m. El algoritmo Dec se ejecuta cada vez que va a ser descifrado un texto cifrado ctΦ.
<3. Técnica de clave>
La técnica de clave para realizar la adición de una categoría de atributo sin reeditar un parámetro público es aplicar una técnica de indexación a cifrado de sistema dual en los espacios de vector de emparejamiento dual.
En el cifrado de sistema dual en los espacios de vector de emparejamiento dual, se generan aleatoriamente un par de bases duales, una base B y una base B*. Entonces, una parte de la base B (base B^) se usa como un parámetro público.
En el esquema de cifrado funcional descrito en la Literatura no de Patente 29, una base B^1, … y una base B^d se generan como un parámetro público. Una categoría de atributo se asigna a cada base B^t que corresponde a cada entero t = 1, …, d. Es decir, se pueden manejar d piezas de categorías de atributo.
Como es evidente a partir del hecho de que la base B^1, … y la base B^d se usan como el parámetro público, el parámetro público necesita ser reeditado para añadir una base B^, es decir, para aumentar el valor de d, en una etapa posterior. En otras palabras, el valor de d está limitado por el parámetro público.
En el esquema de cifrado funcional que se describe en las siguientes realizaciones, una base B^ se genera como un parámetro público. Los vectores de índice bidimensional σt(1, t) y μi(t, -1), que corresponden a cada entero t = 1, …, d se fija en un texto cifrado c y una clave secreta k*, respectivamente, de manera que una categoría de atributo se asigna a cada entero t. Es decir, se pueden manejar d piezas de categorías de atributo.
Señalar aquí que el parámetro público incluye la base B^ pero no los vectores de índice. Por lo tanto, cuando los vectores de índice van a ser añadidos en una etapa posterior para aumentar el valor de d, no hay necesidad de reeditar el parámetro público. En otras palabras, el valor de d no está limitado por el parámetro público.
<4. Espacios de vector de emparejamiento dual>
En primer lugar, se describirán grupos de emparejamiento bilineal simétrico.
Los grupos de emparejamiento bilineal simétrico (q, G, GT, g, e) son una tupla de un primo q, un grupo aditivo cíclico G de orden q, un grupo multiplicativo cíclico GT de orden q, g ≠ 0 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 y e(g, g) ≠ 1.
En la siguiente descripción, permitamos que Gbpg sea un algoritmo que toma como entrada 1λ y saca valores de un parámetro paramG : = (q, G, GT, g, e) de grupos de emparejamiento bilineal con un parámetro de seguridad λ.
Se describirán ahora espacios de vector de emparejamiento dual.
Los espacios de vector de emparejamiento dual (q, V, GT, A, e) se pueden construir por un producto directo de los grupos de emparejamiento bilineal simétrico (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 Fq indicado en la Fórmula 116, un grupo cíclico GT de orden q y una base canónica A := (a1, …, aN) del espacio V y tienen las siguientes operaciones (1) y (2), en las que ai es como se indica en la Fórmula 117.
[Fórmula 116]
imagen8
[Fórmula 117]
imagen9
Operación (1): Emparejamiento bilineal no degenerado Un emparejamiento en el espacio V se define por la Fórmula 118.
9 20
25
30
35
[Fórmula 118]
imagen10
donde
imagen11
Este es bilineal no degenerado, es decir, e(sx, ty) = e(x, y)st y si e(x, y) = 1 para todo y V, entonces x = 0. Para todo i y j, e(ai, aj) = e(g, g)δi,j, donde δi,j = 1 si i = j y δi,j= 0 si i ≠ j y e(g, g) ≠ 1 GT. Operación (2): Mapas de distorsión Las transformaciones lineales φi,j en el espacio V indicado en la Fórmula 119 puede lograr la Fórmula 120. [Fórmula 119]
imagen12
[Fórmula 120]
imagen13
donde
imagen14
Las transformaciones lineales φi,j se llamarán mapas de distorsión.
En la siguiente descripción, permitamos que Gdpvs sea un algoritmo que toma como entrada 1λ (λ número natural), Nnúmero natural y valores de un parámetro paramG := (q, G, GT, A, e) de grupos de emparejamiento bilineal y saca valores de un parámetro paramV := (q, V, GT, A, e) de espacios de vector de emparejamiento dual con un parámetro de seguridad λ y un espacio N dimensional V.
Una descripción se dirigirá en la presente memoria a un caso en el que los espacios de vector de emparejamiento dual se construyen usando los grupos de emparejamiento bilineal simétrico descritos anteriormente. Los espacios de vector de emparejamiento dual también se pueden construir usando grupos de emparejamiento bilineal asimétrico. La siguiente descripción se puede adaptar fácilmente a un caso en el que los espacios de vector de emparejamiento dual se construyen usando grupos de emparejamiento bilineal asimétrico.
<5. Concepto para implementar cifrado funcional>
<5.1. Programa de tramo>
La Fig. 1 es un dibujo explicativo de una matriz M^.
Permitamos que {p1, …, pn} sea un conjunto de variables. M^ := (M, ρ) es una matriz etiquetada. La matriz M es una matriz (L filas x r columnas) sobre Fq y ρ es una etiqueta de columnas de la matriz M y se relaciona con uno de los literales {p1, …, pn, ¬p1, …, ¬pn}. Una etiqueta ρi (i = 1, …, L) de cada fila de M se relaciona con uno de los literales. Es decir, ρ : {1, …, L} → {p1, …, pn, ¬p1, …, ¬pn}.
Para cada secuencia de entrada δ{0, 1}n, se define una submatriz Mδ de la matriz M. La matriz Mδ es una submatriz que consta de aquellas filas de la matriz M las etiquetas ρ de la cual se relacionan con un valor “1” por la secuencia de entrada δ. Es decir, la matriz Mδ es una submatriz que consta de las filas de la matriz M que se relacionan con pi de manera que δi = 1 y las filas de la matriz M que se relacionan con ¬pi de manera que δi = 0.
10 5
10
15
20
25
30
35
40
45
50
La Fig. 2 es un dibujo explicativo de la matriz Mδ. En la Fig. 2, señalar que n = 7, L = 6 y r = 5. Es decir, el conjunto de variables es {p1, …, p7} y la matriz M es una matriz (6 filas x 5 columnas). En la Fig. 2, suponemos que las etiquetas ρ se relacionan de manera que ρ1 se relaciona con ¬p2, ρ2 con p1, ρ3 con p4, ρ4 con ¬p5, ρ5 con ¬p3 y ρ6 con p5.
Supongamos que en una secuencia de entrada δ {0, 1}7, δ1 = 1, δ2 = 0, δ3 = 1, δ4 = 0, δ5 = 0, δ6 = 1 y δ7 = 1. En este caso, una submatriz que consta de las filas de la matriz M que se relacionan con los literales (p1, p3, p6, p7,, ¬p2, ¬p4, ¬p5) rodeados por líneas discontinuas es la matriz Mδ. Es decir, la submatriz que consta de la primera fila (M1), segunda fila (M2) y cuarta fila (M4) de la matriz M es la matriz Mδ.
En otras palabras, cuando el mapa ɣ : {1, …, L} → {0, 1} es [ρ(j) = pi] ˄ [δi = 1] o [ρ(j) = ¬pi] ˄ [δi = 0], entonces ɣ(j) = 1; de otra manera ɣ(j) = 0. En este caso, Mδ :=(Mj)ɣ(j)=1. Señalar que Mj es la fila de orden j de la matriz M.
Es decir, en la Fig. 2, el mapa ɣ(j) = 1 (j = 1, 2, 4) y el mapa ɣ(j) = 0 (j = 3, 5, 6). Por lo tanto, (Mj)ɣ(j)=1 es M1, M2 y M4 y la matriz Mδ.
Más específicamente, si la fila de orden j de la matriz M se incluye o no en la matriz Mδ se determina mediante si el valor del mapa ɣ(j) es “0” o “1”.
El programa de tramo M^ acepta una secuencia de entrada δ si y sólo si 1→ span<Mδ> y rechaza la secuencia de entrada δ de otra manera. Es decir, el programa de tramo M^ acepta la secuencia de entrada δ si y sólo si la combinación lineal de las filas de la matriz Mδ que se obtienen a partir de la matriz M^ por la secuencia de entrada δ da 1→. 1→ es un vector de fila que tiene un valor de “1” en cada elemento.
Por ejemplo, en la Fig. 2, el programa de tramo M^ acepta la secuencia de entrada δ si y sólo si la combinación lineal de las filas respectivas de la matriz Mδ que consta de la 1ª, 2ª y 4ª filas de la matriz M da 1→. Es decir, si existe α1, α2 y α4 con los cuales α1(M1) + α2(M2) + α4(M4) = 1→, el programa de tramo M^ acepta la secuencia de entrada δ.
El programa de tramo se llama monótono si sus etiquetas ρ se relacionan solamente con los literales positivos {p1, …, pn}. El programa de tramo se llama no monótono si sus etiquetas ρ se relacionan con los literales {p1, …, pn, ¬p1, …, ¬pn}. Se supone en la presente memoria que el programa de tramo es no monótono. Una estructura de acceso (estructura de acceso no monótona) se constituye usando el programa de tramo no monótono. Abreviadamente, una estructura de acceso controla el acceso a cifrado, es decir, controla si un texto cifrado va a ser descifrado o no.
Como se describe en detalle más tarde, el programa de tramo que es no monótono, en lugar de ser monótono, permite una gama más amplia de aplicaciones del esquema de cifrado funcional constituido usando el programa de tramo.
<5-2. Producto interior de información de atributo y estructura de acceso>
El mapa descrito anteriormente ɣ(j) se calcula usando el producto interior de información de atributo. Es decir, el producto interior de información de atributo se usa para determinar qué fila de la matriz M va a ser incluida en la matriz Mδ.
Ut(t = 1, …, d y Ut  {0, 1}*) es un subuniverso y un conjunto de atributos. Cada Ut incluye información de
n
identificación (t) del subuniverso y un vector n dimensional (v→). Es decir, Ut es (t, v→), donde t{1, …, d} y v→Fq .
Permitamos que Ut := (t, v→) sea una variable p del programa de tramo M^ := (M, ρ). Es decir, p := (t, v→). Permitamos que el programa de tramo M^ := (M, ρ) que tiene la variable (p := (t, v→), (t’, v’→), …) sea una estructura de acceso S.
Es decir, la estructura de acceso S := (M, ρ) y ρ : {1, …, L} → {(t, v→), (t’, v’→), …, ¬(t, v→), ¬(t’, v’→), …}.
Permitamos que Γ sea un conjunto de atributos. Es decir, Γ := {(t, x→t) | x→t Fqn, 1 <t < d}.
Cuando Γ se da a la estructura de acceso S, el mapa ɣ: {1, …, L} → {0, 1} para el programa de tramo M^ := (M, ρ) se define como sigue. Para cada entero i = 1, …, L, fijar ɣ(j) = 1 si [ρ(i) = (t, v→i)] ˄ [(t, x→t) Γ] ˄ [v→i · x→t = 0] o [ρ(i) = ¬(t, v→i)] ˄ [(t, x→t)Γ] ˄ [v→i · x→t ≠ 0]. Fijar ɣ(j) = 0 de otra manera.
Es decir, el mapa ɣ se calcula en base al producto interior de la información de atributo v→ y x→. Como se describió anteriormente, qué fila de la matriz M va a ser incluida en la matriz Mδ se determina por el mapa ɣ. Más específicamente, qué fila de la matriz M va a ser incluida en la matriz Mδ se determina por el producto interior de la información de atributo v→ y x→. La estructura de acceso S := (M, ρ) acepta Γ si y sólo si 1→ span<(Mi)ɣ(i)=1>.
<5-3. Esquema de distribución de secreto>
Se describirá un esquema de distribución de secreto para la estructura de acceso S := (M, ρ).
11
imagen15
5
10
15
20
25
30
35
40
45
50
predicado) en el predicado de producto interior. Es decir, se puede diseñar un control de acceso muy flexiblemente. El diseño de la matriz M corresponde al diseño de condiciones tales como un umbral del esquema de distribución de secreto.
Por ejemplo, el esquema de cifrado basado en atributo descrito anteriormente corresponde a un caso en el que el diseño del predicado de producto interior está limitado a una cierta condición en la estructura de acceso en el esquema de cifrado funcional según las siguientes realizaciones. Es decir, cuando se compara con la estructura de acceso en el esquema de cifrado funcional según las siguientes realizaciones, la estructura de acceso en el esquema de cifrado basado en atributo tiene una flexibilidad menor en el diseño de control de acceso debido a que carece de la flexibilidad en el diseño de la información de atributo x y la información de atributo v (información de predicado) en el predicado de producto interior. Más específicamente, el esquema de cifrado basado en atributo
corresponde a un caso en el que información de atributo se limitan a vectores bidimensionales para la relación de igualdad, por ejemplo, x→t := (1, xt) y v→t := (vt, -1).
Un esquema de cifrado de predicado de producto común corresponde a un caso en el que el diseño de la matriz M en el programa de tramo está limitado a una cierta condición en la estructura de acceso en el esquema de cifrado funcional según las siguientes realizaciones. Es decir, cuando se compara con la estructura de acceso en el esquema de cifrado funcional según las siguientes realizaciones, la estructura de acceso en el esquema de cifrado de predicado de producto interior tiene una flexibilidad menor en el diseño de control de acceso debido a que carece de la flexibilidad en el diseño de la matriz M en el programa de tramo. Más específicamente, el esquema de cifrado de predicado de producto interior corresponde a un caso en el que el esquema de distribución de secreto está limitado a 1 de entre 1 (o d de entre d).
En particular, la estructura de acceso en el esquema de cifrado funcional según las siguientes realizaciones constituye una estructura de acceso no monótona que usa un programa de tramo no monótono. De esta manera, mejora la flexibilidad en el diseño de control de acceso.
Más específicamente, dado que el programa de tramo no monótono incluye un literal negativo (¬p), se puede fijar una condición negativa. Por ejemplo, supongamos que una Primera Empresa incluye cuatro departamentos, A, B, C y D. Supongamos que el control de acceso va a ser realizado de manera que solamente usuarios pertenecientes a departamentos distintos del departamento B de la Primera Empresa son capaces de acceso (capaces de descifrado). En este caso, si no se puede fijar una condición negativa, se debe fijar una condición de que “el usuario pertenece a cualquiera de los departamentos A, C y D de la Primera Empresa”. Por otra parte, si se puede fijar una condición negativa, se puede fijar una condición de que “el usuario es un empleado de la Primera Empresa y pertenece a un departamento distinto del departamento B”. En otras palabras, dado que se puede fijar una condición negativa, es posible un ajuste de condición natural. Aunque el número de departamentos es pequeño en este caso, este esquema es muy efectivo en un caso en el que el número de departamentos es grande.
Realización 2
Esta realización describe un esquema de procesamiento criptográfico definido estrechamente. En particular, esta realización describe un esquema de cifrado funcional de política de clave (KP-FE).
Señalar que política de clave significa que una política, esto es una estructura de acceso, se incrusta en una clave de descifrado.
En primer lugar, se describirá la construcción del esquema KP-FE.
En segundo lugar, se describirá la configuración de un sistema criptográfico 10 que implementa el esquema KP-FE.
En tercer lugar, se describirá en detalle el esquema KP-FE.
<1. Construcción de esquema KP-FE>
El esquema KP-FE consta de cuatro algoritmos: Setup, KeyGen, Enc y Dec.
(Setup)
Un algoritmo Setup es un algoritmo probabilístico que toma como entrada un parámetro de seguridad λ y saca un parámetro público pk y una clave maestra sk.
(KeyGen)
Un algoritmo KeyGen es un algoritmo probabilístico que toma como entrada una estructura de acceso S :=(M, ρ), el parámetro público pk y la clave maestra sk y saca una clave de descifrado skS.
(Enc)
imagen16
13
imagen17
imagen18
imagen19
imagen20
[Fórmula 131]
imagen21
Usando el dispositivo de procesamiento y en base al vector f→ generado en (S202), la unidad de generación de vector s 142 también genera un valor s0, como se indica en la Fórmula 132.
[Fórmula 132]
imagen22
(S204: Paso de generación de número aleatorio) Usando el dispositivo de procesamiento, la unidad de generación de número aleatorio 143 genera números aleatorios, como se indica en la Fórmula 133. 10 [Fórmula 133]
imagen23
(S205: Paso de generación de elemento de clave) Usando el dispositivo de procesamiento, la unidad de generación de elemento de clave 144 genera un elemento k*0 de la clave de descifrado skS, como se indica en la Fórmula 134. 15 [Fórmula 134]
imagen24
Como se describió anteriormente, para la base B y la base B* indicadas en la Fórmula 113, se establece la Fórmula
114. De esta manera, la Fórmula 134 supone que –s0 se fija como el coeficiente de un vector de base b*0,1 de la base B*0, 0 se fija como el coeficiente de los vectores de base b*0,1+1, …, b*0,1+u0, 1 se fija como el coeficiente de un
20 vector de base b*0,1+u0+1, η0,1, …, η0,w0 se fijan respectivamente como el coeficiente de los vectores de base b*0,1+u0+1+1, …, b*0,1+u0+1+w0 y 0 se fija como el coeficiente de los vectores de base b*0,1+u0+1+w0+1, …, b*0,1+u0+1+w0+z0, donde u0, w0 y z0 indican respectivamente u0, w0 y z0.
Usando el dispositivo de procesamiento, la unidad de generación de elemento de clave 144 también genera un elemento k*i de la clave de descifrado skS para cada entero i = 1, …, L, como se indica en la Fórmula 135.
25 [Fórmula 135]
para i = 1, …, L
imagen25
Es decir, como la Fórmula 134, el significado de la Fórmula 135 es como se explica a continuación. Cuando ρ(i) es un conjunto positivo (t, v→i), μit se fija como el coeficiente de un vector de base b*1 de la base B*, -μi se fija como el 30 coeficiente de un vector de base b*2, si+θivi,1 se fija como el coeficiente de un vector de base b*2+1, θivi,2, …, θivi,n se fijan respectivamente como los coeficientes de los vectores de base b*2+2, …, b*2+n, 0 se fija como el coeficiente de
18
los vectores de base b*2+n+1, …, b*2+n+u, ηi,1, …, ηi,w se fijan respectivamente como el coeficiente de los vectores de base b*2+n+u+1, …, b*2+n+u+w y 0 se fija como el coeficiente de los vectores de base b*2+n+u+w+1, …, b*2+n+u+w+z.
Por otra parte, cuando ρ(i) es un conjunto negativo ¬(t, v→i), μit se fija como el coeficiente del vector de base b*1 de la base B*, -μi se fija como el coeficiente del vector de base b*2, sivi,1, …, sivi,n se fijan respectivamente como el
5 coeficiente de los vectores de base b*2+1, …, b*2+n, 0 se fija como el coeficiente de los vectores de base b*2+n+1, …, b*2+n+u, ηi,1, …, ηi,w se fijan respectivamente como el coeficiente de los vectores de base b*2+n+u+1, …, b*2+n+u+w y 0 se fija como el coeficiente de los vectores de base b*2+n+u+w+1, …, b*2+n+u+w+z.
(S206: Paso de distribución de clave)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de distribución de clave 150
10 distribuye la clave de descifrado skS que tiene, como elementos, la estructura de acceso S introducida en (S201) y k*0, k*1, … y k*L generados en (S205) al dispositivo de descifrado 300 en secreto. Como una cuestión de rutina, la clave de descifrado skS se puede distribuir al dispositivo de descifrado 300 mediante otro método.
En resumen, en (S201) hasta (S205), el dispositivo de generación de clave 100 ejecuta el algoritmo KeyGen indicado en la Fórmula 136 y de esta manera genera la clave de descifrado skS. En (S206), el dispositivo de
15 generación de clave 100 distribuye la clave de descifrado skS generada al dispositivo de descifrado 300.
[Fórmula 136]
imagen26
Se describirá la función y operación del dispositivo de cifrado 200. El dispositivo de cifrado 200 incluye una unidad de adquisición de parámetro público 210, una unidad de entrada de información 220, una unidad de generación de datos de cifrado 230 y una unidad de transmisión de datos 240. La unidad de generación de datos de cifrado 230 incluye una unidad de generación de número aleatorio 231 y una
25 unidad de generación de elemento de cifrado 232.
Con referencia a la Fig. 11, se describirá el proceso del algoritmo Enc.
(S301: Paso de adquisición de parámetro público)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de adquisición de parámetro
público 210 obtiene el parámetro público pk generado por el dispositivo de generación de clave 100. 30 (S302: Paso de entrada de información)
19
Usando el dispositivo de entrada, la unidad de entrada de información 220 toma como entrada un mensaje m que se transmite al dispositivo de descifrado 300. Usando el dispositivo de entrada, la unidad de entrada de información 220 también toma como entrada un conjunto de atributos Γ := {t, x→t := (xt,1, …, xt,n) Fqn)) | 1 < t < d}. Señalar que t puede ser al menos algunos enteros de 1 a d, en lugar de ser todos los enteros de 1 a d. Señalar que la información sobre los atributos del usuario capaz de descifrado se fija en el conjunto de atributos Γ, por ejemplo.
(S303: Paso de generación de número aleatorio)
Usando el dispositivo de procesamiento, la unidad de generación de número aleatorio 231 genera números aleatorios, como se indica en la Fórmula 137.
[Fórmula 137]
imagen27
(S304: Paso de generación de elemento de cifrado)
Usando el dispositivo de procesamiento, la unidad de generación de elemento de cifrado 232 genera un elemento c0 de un texto cifrado ctΓ, como se indica en la Fórmula 138. [Fórmula 138]
imagen28
Usando el dispositivo de procesamiento, la unidad de generación de elemento de cifrado 232 también genera un elemento ct del texto cifrado ctΓ para cada entero t incluido en la información de atributo Γ, como se indica en la Fórmula 139.
[Fórmula 139]
imagen29
Usando el dispositivo de procesamiento, la unidad de generación de elemento de cifrado 232 también genera un elemento cd+1 del texto cifrado ctΓ, como se indica en la Fórmula 140.
[Fórmula 140]
imagen30
25 (S305: Paso de transmisión de datos)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de transmisión de datos 240 transmite el texto cifrado ctΓ que tiene, como elementos, el conjunto de atributos Γ introducido en (S302) y c0, ct y cd+1 generados en (S304) al dispositivo de descifrado 300. Como una cuestión de rutina, el texto cifrado ctΓ se puede transmitir al dispositivo de descifrado 300 mediante otro método.
30 En resumen, en (S301) hasta (S304), el dispositivo de cifrado 200 ejecuta el algoritmo Enc indicado en la Fórmula 141 y de esta manera genera el texto cifrado ctΓ. En (S305), el dispositivo de cifrado 200 transmite el texto cifrado ctΓ generado al dispositivo de descifrado 300.
[Fórmula 141]
20
imagen31
Se describirá la función y operación del dispositivo de descifrado 300.
El dispositivo de descifrado 300 incluye una unidad de adquisición de clave de descifrado 310, una unidad de 5 recepción de datos 320, una unidad de cálculo de programa de tramo 330, una unidad de cálculo de coeficiente complementario 340, una unidad de operación de emparejamiento 350 y una unidad de cálculo de mensaje 360.
Con referencia a la Fig. 12, se describirá el proceso del algoritmo Dec.
(S401: Paso de adquisición de clave de descifrado)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de adquisición de clave de
10 descifrado 310 obtiene la clave de descifrado skS := (S, k*0, k*1, …, k*L) distribuida por el dispositivo de generación de clave 100. La unidad de adquisición de clave de descifrado 310 también obtiene el parámetro público pk generado por el dispositivo de generación de clave 100.
(S402: Paso de recepción de datos)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de recepción de datos 320 recibe 15 el texto cifrado ctΓ transmitido por el dispositivo de cifrado 200.
(S403: Paso de cálculo de programa de tramo)
Usando el dispositivo de procesamiento, la unidad de cálculo de programa de tramo 330 comprueba si la estructura de acceso S incluida en la clave de descifrado skS obtenida en (S401) acepta o no Γ incluido en el texto cifrado ctΓ recibido en (S402). El método para comprobar si la estructura de acceso S acepta o no Γ es el mismo que el descrito
20 en “5. Concepto para implementar cifrado funcional en la Realización 1”.
Si la estructura de acceso S acepta Γ (aceptar en S403), la unidad de cálculo de programa de tramo 330 avanza el proceso a (S404). Si la estructura de acceso S rechaza Γ (rechazar en S403), la unidad de cálculo de programa de tramo 330 determina que el texto cifrado ctΓ no se puede descifrar con la clave de descifrado skS y finaliza el proceso.
25 (S404: Paso de cálculo de coeficiente complementario)
Usando el dispositivo de procesamiento, la unidad de cálculo de coeficiente complementario 340 calcula I y una imagen32
constante (coeficiente complementario) de manera que se satisface la Fórmula 142.
[Fórmula 142]
imagen33donde Mi es la fila de orden i de M,
imagen34
(S405: Paso de operación de emparejamiento)
21
Usando el dispositivo de procesamiento, la unidad de operación de emparejamiento 350 calcula la Fórmula 143 y de esta manera genera la clave de sesión K=gTζ.
[Fórmula 143]
imagen35
Como se indica en la Fórmula 144, la clave K = gTζ se puede obtener calculando la Fórmula 143. [Fórmula 144]
imagen36
(S406: Paso de cálculo de mensaje)
Usando el dispositivo de procesamiento, la unidad de cálculo de mensaje 360 calcula m’ = cd+1/K y de esta manera 10 genera un mensaje m’ (= m). Señalar que cd+1 es gTζm, como se indica en la Fórmula 142 y que K es gTζ. Por lo tanto, el mensaje m se puede obtener calculando m’ = cd+1/K.
En resumen, en (S401) hasta (S406), el dispositivo de descifrado 300 ejecuta el algoritmo Dec indicado en la Fórmula 145 y de esta manera genera el mensaje m’ (= m).
[Fórmula 145]
imagen37
si acepta imagen38, entonces calcular I y imagen39de manera que , donde Mi es la fila de orden i de M e
imagen40
imagen41
imagen42
devolver m’ := cd+1/K.
20 Como se describió anteriormente, en el sistema criptográfico 10 según la Realización 2, μit y -μi se fijan respectivamente como el coeficiente de los vectores de base b*1 y b*2 para el elemento k*i de la clave de descifrado skS. En el sistema criptográfico 10, σt y σtt se fijan respectivamente como el coeficiente de los vectores de base b1 y b2 para el elemento c1 del texto cifrado ctΓ.
Debido a estas disposiciones, cuando se realiza una operación de emparejamiento sobre el elemento k*i y el
25 elemento ct para el índice correspondiente t, se obtiene un producto interior de 0 para partes constituidas por los vectores de base b*1 y b*2 y los vectores de base b1 y b2, que se cancelan de esta manera. Es decir, cuando se realiza una operación de emparejamiento sobre el elemento k*i y el elemento ct para el índice correspondiente t, las partes de índice que se fijan como los coeficientes de los vectores de base (partes constituidas por los vectores de base b*1 y b*2 y los vectores de base b1 y b2) se cancelan y se puede obtener un resultado de la operación de
30 emparejamiento para las partes restantes.
22
imagen43
imagen44
para i = 1, …, L,
imagen45
imagen46
[Fórmula 148]
imagen47
[Fórmula 149]
imagen48
si acepta imagen49, entonces calcular I y imagen50de manera que , donde Mi es la fila de orden i de M e
imagen51
imagen52
imagen53
devolver m’ := cd+1/K.
Realización 3
Como la Realización 2, esta realización describe un esquema de procesamiento criptográfico definido estrechamente. En particular, esta realización describe un esquema de cifrado funcional de política de texto cifrado 15 (CP-FE).
24 5
10
15
20
25
30
35
40
45
Señalar que política de texto cifrado significa que una política, esto es una estructura de acceso, se incrusta en un texto cifrado. En primer lugar, se describirá la construcción del esquema CP-FE. En segundo lugar, se describirá la configuración de un sistema criptográfico 10 que implementa el esquema CP-FE. En tercer lugar, se describirá en detalle el esquema CP-FE.
<1. Construcción de esquema CP-FE> El esquema CP-FE consta de cuatro algoritmos: Setup, KeyGen, Enc y Dec. (Setup) Un algoritmo Setup es un algoritmo probabilístico que toma como entrada un parámetro de seguridad λ y saca un
parámetro público pk y una clave maestra sk. (KeyGen) Un algoritmo KeyGen es un algoritmo probabilístico que toma como entrada un conjunto de atributos Γ := {(t, x→t) |
x→t Fqn, 1 < t < d}, el parámetro público pk y la clave maestra sk y saca una clave de descifrado skΓ. (Enc) Un algoritmo Enc es un algoritmo probabilístico que toma como entrada un mensaje m, una estructura de acceso S
:= (M, ρ) y el parámetro público pk y saca un texto cifrado ctS. (Dec) Un algoritmo Dec es un algoritmo que toma como entrada el texto cifrado ctS cifrado bajo la estructura de acceso S,
la clave de descifrado skΓ para el conjunto de atributos Γ y el parámetro público pk y saca el mensaje m o un símbolo distinguido 1  .
<2. Configuración de sistema criptográfico 10 que implementa un esquema CP-FE>
La Fig. 13 es un diagrama de configuración del sistema criptográfico 10 que implementa el esquema CP-FE según la Realización 3.
El sistema criptográfico 10 incluye un dispositivo de generación de clave 100, un dispositivo de cifrado 200 y un dispositivo de descifrado 300.
El dispositivo de generación de clave 100 ejecuta el algoritmo Setup tomando como entrada un parámetro de seguridad λ y de esta manera genera un parámetro público pk y una clave maestra sk. Entonces, el dispositivo de generación de clave 100 publica el parámetro público pk generado. El dispositivo de generación de clave 100 también ejecuta el algoritmo KeyGen tomando como entrada un conjunto de atributos Γ y de esta manera genera una clave de descifrado skΓ y distribuye la clave de descifrado skΓ al dispositivo de descifrado 300 en secreto.
El dispositivo de cifrado 200 ejecuta el algoritmo Enc tomando como entrada un mensaje m, una estructura de acceso S y el parámetro público pk y de esta manera genera un texto cifrado ctS. El dispositivo de cifrado 200 transmite el texto cifrado ctS generado al dispositivo de descifrado 300.
El dispositivo de descifrado 300 ejecuta el algoritmo Dec tomando como entrada el parámetro público pk, la clave de descifrado skS y el texto cifrado ctS y saca el mensaje m o un símbolo distinguido 1  .
<3. Esquema CP-FE en detalle>
Con referencia a las Fig. 14 a 19, se describirá el esquema CP-FE y se describirá la función y operación del sistema criptográfico 10 que implementa el esquema CP-FE.
La Fig. 14 es un diagrama de configuración del dispositivo de generación de clave 100 según la Realización 3. La Fig. 15 es un diagrama de configuración del dispositivo de cifrado 200 según la Realización 3. La Fig. 16 es un diagrama de configuración del dispositivo de descifrado 300 según la Realización 3.
La Fig. 17 es un diagrama de flujo que ilustra la operación del dispositivo de generación de clave 100 y que ilustra el proceso del algoritmo KeyGen. La Fig. 18 es un diagrama de flujo que ilustra la operación del dispositivo de cifrado 200 y que ilustra el proceso del algoritmo Enc. La Fig. 19 es un diagrama de flujo que ilustra la operación del dispositivo de descifrado 300 y que ilustra el proceso del algoritmo Dec.
En la siguiente descripción, se supone que xt,1 := 1.
25 5
10
15
20
25
30
35
El proceso del algoritmo Setup es el mismo que el proceso descrito en la Realización 2 y de esta manera no se describirá.
Se describirá la función y operación del dispositivo de generación de clave 100.
El dispositivo de generación de clave 100 incluye una unidad de generación de clave maestra 110, una unidad de almacenamiento de clave maestra 120, una unidad de entrada de información 130, una unidad de generación de clave de descifrado 140 y una unidad de distribución de clave 150. La unidad de generación de clave de descifrado 140 incluye una unidad de generación de número aleatorio 143 y una unidad de generación de elemento de clave
144. Con referencia a la Fig. 17, se describirá el proceso del algoritmo KeyGen. (S501: Paso de entrada de información) Usando el dispositivo de entrada, la unidad de entrada de información 130 toma como entrada un conjunto de
atributos Γ := {(t, x→t := (xt,1, …, xt,n Fqn)) | 1 < t < d}. Señalar que la información de atributo del usuario de una clave de descifrado skΓ se fija en el conjunto de atributos Γ, por ejemplo.
(S502: Paso de generación de número aleatorio) Usando el dispositivo de procesamiento, la unidad de generación de número aleatorio 143 genera números aleatorios, como se indica en la Fórmula 150.
[Fórmula 150]
imagen54
(S503: Paso de generación de elemento de clave)
Usando el dispositivo de procesamiento, la unidad de generación de elemento de clave 144 genera un elemento k*0 de la clave de descifrado skΓ, como se indica en la Fórmula 151. [Fórmula 151]
imagen55
Usando el dispositivo de procesamiento, la unidad de generación de elemento de clave 144 también genera un elemento k*t de la clave de descifrado skΓ para cada entero t incluido en el conjunto de atributos Γ, como se indica en la Fórmula 152.
[Fórmula 152]
imagen56
(S504: Paso de distribución de clave)
Usando el dispositivo de comunicación y a través de la red, por ejemplo, la unidad de distribución de clave 150 distribuye la clave de descifrado skΓ que tiene, como elementos, el conjunto de atributos Γ introducido en (S501) y k*0 y k*t generados en (S503) al dispositivo de descifrado 300 en secreto. Como una cuestión de rutina, la clave de descifrado skΓ se puede distribuir al dispositivo de descifrado 300 mediante otro método.
En resumen, en (S501) hasta (S503), el dispositivo de generación de clave 100 ejecuta el algoritmo KeyGen indicado en la Fórmula 153 y de esta manera genera la clave de descifrado skΓ. En (S504), el dispositivo de generación de clave 100 distribuye la clave de descifrado skΓ generada al dispositivo de descifrado 300.
[Fórmula 153]
26
imagen57
imagen58
imagen59
imagen60
imagen61
imagen62
imagen63
imagen64
imagen65
imagen66
imagen67
imagen68
imagen69
imagen70
imagen71
imagen72
imagen73
imagen74
imagen75
imagen76
imagen77
imagen78
imagen79
imagen80
imagen81
imagen82
imagen83
imagen84
imagen85
imagen86
imagen87
imagen88
imagen89

Claims (1)

  1. imagen1
    imagen2
    imagen3
    imagen4
    imagen5
    imagen6
    imagen7
    son números aleatorios,
    imagen8
    se definen como
    imagen9
    M es una matriz de L filas y r columnas,
    ρ(i) es una variable a la cual se asigna por adelantado
    y H es un valor de comprobación
    aleatoria,
    [Fórmula 11]
    imagen10
    imagen11
    donde
    imagen12
    son números aleatorios,
    66
    imagen13
ES13757621.1T 2012-03-06 2013-03-01 Sistema de cifrado, método de cifrado y programa de cifrado Active ES2604817T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012049275 2012-03-06
JP2012049275A JP5680007B2 (ja) 2012-03-06 2012-03-06 暗号システム、暗号方法及び暗号プログラム
PCT/JP2013/055661 WO2013133158A1 (ja) 2012-03-06 2013-03-01 暗号システム、暗号方法及び暗号プログラム

Publications (1)

Publication Number Publication Date
ES2604817T3 true ES2604817T3 (es) 2017-03-09

Family

ID=49116638

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13757621.1T Active ES2604817T3 (es) 2012-03-06 2013-03-01 Sistema de cifrado, método de cifrado y programa de cifrado

Country Status (7)

Country Link
US (1) US9407438B2 (es)
EP (1) EP2824652B1 (es)
JP (1) JP5680007B2 (es)
KR (1) KR101588992B1 (es)
CN (1) CN104160437B (es)
ES (1) ES2604817T3 (es)
WO (1) WO2013133158A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016088250A1 (ja) * 2014-12-05 2016-06-09 三菱電機株式会社 復号条件追加装置、暗号システム及び復号条件追加プログラム
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US10333695B2 (en) * 2016-11-10 2019-06-25 Microsoft Technology Licensing, Llc Rational number arithmetic in homomorphic encryption
US10880275B2 (en) 2017-01-20 2020-12-29 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
WO2018136811A1 (en) 2017-01-20 2018-07-26 Enveil, Inc. Secure web browsing via homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
WO2018136801A1 (en) * 2017-01-20 2018-07-26 Enveil, Inc. End-to-end secure operations using a query matrix
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
JP7087965B2 (ja) * 2018-11-29 2022-06-21 日本電信電話株式会社 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634085B1 (en) 2005-03-25 2009-12-15 Voltage Security, Inc. Identity-based-encryption system with partial attribute matching
US20090080658A1 (en) 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
JP5349261B2 (ja) 2009-04-23 2013-11-20 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
EP2424155B1 (en) * 2009-04-24 2014-09-03 Nippon Telegraph And Telephone Corporation Information generating device, information generating method, and information generating program and storage medium thereof
JP5334873B2 (ja) * 2010-01-08 2013-11-06 三菱電機株式会社 暗号処理システム、鍵生成装置、鍵委譲装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
US8615668B2 (en) * 2010-01-15 2013-12-24 Mitsubishi Electric Corporation Confidential search system and cryptographic processing system
JP5424974B2 (ja) 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US8995660B2 (en) 2010-07-23 2015-03-31 Nippon Telegraph And Telephone Corporation Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium

Also Published As

Publication number Publication date
CN104160437B (zh) 2016-06-08
WO2013133158A1 (ja) 2013-09-12
US20150010147A1 (en) 2015-01-08
EP2824652A1 (en) 2015-01-14
EP2824652B1 (en) 2016-10-19
US9407438B2 (en) 2016-08-02
KR101588992B1 (ko) 2016-01-26
JP5680007B2 (ja) 2015-03-04
KR20140138176A (ko) 2014-12-03
CN104160437A (zh) 2014-11-19
JP2013186181A (ja) 2013-09-19
EP2824652A4 (en) 2015-12-02

Similar Documents

Publication Publication Date Title
ES2604817T3 (es) Sistema de cifrado, método de cifrado y programa de cifrado
ES2873230T3 (es) Sistema de procesamiento de encriptado
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
EP3688921B1 (en) Method for faster secure multiparty inner product computation with spdz
ES2686426T3 (es) Dispositivo de encriptación, dispositivo de desencriptación, método de encriptación, método de desencriptación, programa y medio de grabación
ES2512115T3 (es) 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
ES2602052T3 (es) Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, método de procesamiento criptográfico y programa de procesamiento criptográfico
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
Ramanujam et al. Designing an algorithm with high avalanche effect
ES2532332T3 (es) Sistema de compartición de secretos, aparato de compartición, aparato de gestión de partes, aparato de adquisición, métodos de procesamiento de los mismos, método de compartición de secretos, programa y medio de grabación
US20160344708A1 (en) Cryptographic system, re-encryption key generation device, re-encryption device, and cryptographic computer readable medium
US9084112B2 (en) Secure group key agreement for wireless networks
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
ES2365887A1 (es) Metodo de verificacion de procesos de descifrado.
EP2998948B1 (en) Encryption system, encryption method, and encryption program
US9979536B2 (en) Cryptographic system, encryption device, re-encryption key generation device, re-encryption device, and cryptographic program
CN103444124A (zh) 加密处理装置、加密处理方法和程序
Lee et al. Convertible ring signature
CN115766190B (zh) 一种任意集合元素加密方法、解密方法及电子设备
ES2699535T3 (es) Sistema de procesamiento de cifrado, dispositivo de generación de claves, dispositivo de cifrado, dispositivo de desciframiento, dispositivo de delegación de claves, método de procesamiento de cifrado y programa de procesamiento de cifrado
US9640090B2 (en) Cryptographic system and computer readable medium
He et al. Generic anonymous identity-based broadcast encryption with chosen-ciphertext security
JP2016001248A (ja) 署名生成装置、署名検証装置、検証システム、およびプログラム
Takayasu Tag-based ABE in prime-order groups via pair encoding
Dubois et al. Golden sequence for the PPSS broadcast encryption scheme with an asymmetric pairing