Criptosistema Bonnet-Go-Nissima
El criptosistema Bonet-Go-Nishima es un criptosistema parcialmente homomórfico , que es una modificación del criptosistema Paye [1] y del criptosistema Okamoto-Uchiyama [2] . Desarrollado en 2005 por Dan Bonet [3] con Yu Jin Go y Koby Nissim [4] [5] . Basado en grupos finitos de orden compuesto y emparejamientos bilineales en curvas elípticas; el sistema permite evaluar polinomios cuadráticos multivariados sobre textos cifrados (por ejemplo, forma normal disyuntiva de segundo orden (2- DNF )).
El sistema tiene un homomorfismo aditivo (admite sumas arbitrarias y una multiplicación (seguida de sumas arbitrarias) para datos encriptados).
El algoritmo utilizado en el criptosistema BGN se basa en el problema de Burnside . [6] .
Algoritmo de operación
Como todos los sistemas de cifrado homomórfico, CBGN incluye los siguientes procesos: Generación de claves, cifrado y descifrado.
La construcción utiliza algunos grupos finitos de orden compuesto que admiten un mapeo bilineal. Se utiliza la siguiente notación:
y son dos grupos cíclicos de orden finito .

- generador .
es una aplicación bilineal . En otras palabras, para todos y tenemos . También requerimos que : sea un generador





Decimos que es un grupo bilineal si existe un grupo y un mapeo bilineal definido anteriormente. [7]
Generación de claves
Generar_Clave( ) :
- Dado el parámetro de seguridad como entrada , calculamos el algoritmo para obtener una tupla . El algoritmo funciona así:



- Generemos dos números de bits aleatorios y establezcamos .




- Vamos a crear un grupo bilineal de orden , donde > 3 es un número dado que no es divisible por 3:



- Encuentre el número natural más pequeño tal que sea un número primo y .



- Considere un grupo de puntos en una curva elíptica definida sobre . Como la curva tiene puntos en . Por tanto, el grupo de puntos de la curva tiene un subgrupo de orden , que denotaremos por .







- Sea el subgrupo de orden . El algoritmo de emparejamiento de Weil modificado (el emparejamiento de Weyl es un mapeo bilineal, asimétrico, no degenerado [8] [4] [9] [10] ) en una curva produce un mapeo bilineal que satisface las condiciones dadas




- En la salida obtenemos .

- deja _ Elijamos dos generadores aleatorios y definamos como . Entonces es un generador de orden de subgrupos aleatorios . Clave pública: . Clave privada: . [11] [7]









Cifrado
Cifrado( ):
Suponemos que el espacio del mensaje consta de números enteros en el conjunto . Para cifrar un mensaje utilizando la clave pública , elegimos un parámetro aleatorio y calculamos




.
El resultado es el texto cifrado. [11] [7]
Descifrado
Decodificar( ):
Para descifrar el texto cifrado usando la clave privada , considere la siguiente expresión

.
deja _ Para restaurar , basta con calcular el logaritmo discreto a la base .




Cabe señalar que el descifrado en este sistema requiere un tiempo polinomial en el tamaño del espacio del mensaje. [11] [7]
Ejemplos
Un ejemplo de cómo funciona el algoritmo
Primero elegimos dos primos diferentes
.
Calcular el producto
.
A continuación, construimos un grupo de curvas elípticas con order , que tiene un mapeo bilineal. Ecuación de la curva elíptica

que se define sobre un campo para algún número primo . En este ejemplo, estamos configurando


.
Por lo tanto, la curva es supersingular con # puntos racionales, que contiene un subgrupo de orden . En el grupo, elegimos dos generadores aleatorios.




,
donde estos dos generadores tienen orden y calculan

donde esta el orden . Calculamos el texto cifrado del mensaje


.
Tomemos y calculemos

.
Para descifrar, primero calculamos
y
.
Ahora encontramos el logaritmo discreto, clasificando todas las potencias de la siguiente manera

.
Tenga en cuenta que Por lo tanto, el descifrado del texto cifrado es igual a , que corresponde al mensaje original. [12]
Evaluación 2-DNF
Un sistema parcialmente homomórfico permite estimar 2- DNF .
Entrada: Alice tiene una fórmula 2-DNF y Bob tiene un conjunto de variables . Ambos lados de la entrada contienen una configuración de seguridad .



- Bob hace lo siguiente:
- Ejecuta el algoritmo Generate_Key( ) para calcularlo y enviárselo a Alice.



- Calcula y envía Cipher( )
para .
- Alicia hace lo siguiente:
- Realiza la aritmetización reemplazando “ ” por “ ”, “ ” por “ ”, y “ ” por “ ”. Tenga en cuenta que este es un polinomio de grado 2.








- Alice calcula un cifrado para uno elegido al azar utilizando las propiedades homomórficas del sistema de cifrado. El resultado se envía a Bob.


- Si Bob recibe el cifrado " ", genera " "; de lo contrario, genera " ". [13]



Propiedades homomórficas
El sistema es aditivamente homomórfico. Sea la clave pública. Sean los textos cifrados de los mensajes, respectivamente. Cualquiera puede crear un cifrado distribuido uniformemente calculando el producto de un número aleatorio en el rango .







Más importante aún, cualquiera puede multiplicar dos mensajes encriptados una vez usando el mapeo bilineal. Definamos y . Entonces ordena y ordena . Además, para algún parámetro (desconocido) , escribimos . Supongamos que conocemos dos textos cifrados , . Para construir la encriptación del producto , elegimos un número aleatorio y lo configuramos . Obtenemos , donde se distribuye uniformemente en , según se requiera.
















Por lo tanto, es un cifrado distribuido uniformemente , pero solo en el grupo , no en (por lo que solo se permite una multiplicación). [once]


Estabilidad del sistema
La estabilidad de este esquema se basa en el problema de Burnside : conociendo un elemento de un grupo de orden compuesto , es imposible determinar si pertenece a un subgrupo del orden .


Sea , y sea una tupla creada por , donde . Considere el siguiente problema. Para un elemento dado , imprima " " si el orden es igual a , de lo contrario imprima " ". En otras palabras, sin conocer la factorización del grupo de orden , se necesita saber si un elemento está en un subgrupo del grupo . Este problema se llama problema de Burnside [7] .













Está claro que si podemos tener en cuenta el orden de grupo en el criptosistema, entonces conocemos la clave privada y, como resultado, el sistema está roto. Además, si podemos calcular los logaritmos discretos en el grupo , entonces podemos calcular y . Así, las condiciones necesarias para la seguridad son: la complejidad de factorizar y la complejidad de calcular logaritmos discretos en . [catorce]





Notas
- ↑ Pascal Paillier. Criptosistemas de clave pública basados en clases de residuosidad de grado compuesto // Avances en criptología - EUROCRYPT '99 / Jacques Stern. — Springer Berlín Heidelberg, 1999. — P. 223–238 . — ISBN 9783540489108 . -doi : 10.1007 / 3-540-48910-x_16 . Archivado desde el original el 26 de junio de 2019.
- ↑ Tatsuaki Okamoto, Shigenori Uchiyama. Un nuevo criptosistema de clave pública tan seguro como el factoraje // Avances en Criptología - EUROCRYPT'98 / Kaisa Nyberg. — Springer Berlín Heidelberg, 1998. — P. 308–318 . — ISBN 9783540697954 . -doi : 10.1007/ bfb0054135 . Archivado desde el original el 29 de agosto de 2018.
- ↑ Mihir Bellare, Juan A. Garay, Tal Rabin. Verificación rápida por lotes para exponenciación modular y firmas digitales // Avances en criptología - EUROCRYPT'98 / Kaisa Nyberg. — Springer Berlín Heidelberg, 1998. — P. 236–250 . — ISBN 9783540697954 . -doi : 10.1007/ bfb0054130 . Archivado desde el original el 7 de junio de 2018.
- ↑ 1 2 Dan Boneh, Matt Franklin. Cifrado basado en identidad del emparejamiento Weil // Avances en criptología - CRYPTO 2001 / Joe Kilian. — Springer Berlín Heidelberg, 2001. — P. 213–229 . — ISBN 9783540446477 . -doi : 10.1007 / 3-540-44647-8_13 . Archivado desde el original el 22 de febrero de 2020.
- ↑ Evaluación de fórmulas 2-DNF en textos cifrados . Consultado el 20 de febrero de 2021. Archivado desde el original el 8 de agosto de 2017. (indefinido)
- ↑ Computación segura II // Teoría de la criptografía: Segunda conferencia sobre teoría de la criptografía, TCC 2005, Cambridge, MA, EE. UU., 10 al 12 de febrero de 2005: actas . - Berlín: Springer, 2005. - P. 326. - 1 recurso en línea (xii, 619 páginas) p. - ISBN 9783540305767 , 3540305769, 3540245731, 9783540245735.
- ↑ 1 2 3 4 5 Takuho Mitsunaga, Yoshifumi Manabe, Tatsuaki Okamoto. Protocolos de subasta seguros y eficientes basados en el cifrado Boneh-Goh-Nissim . — 2010-11-22. - T. E96A . — S. 149–163 . -doi : 10.1007 / 978-3-642-16825-3_11 .
- ↑ ON Vasilenko. Sobre el cálculo de los emparejamientos de Weyl y Tate // Tr. por discr. Matem.. - M. : FIZMATLIT, 2007. - T. 10. - S. 18-46.
- ↑ Antoine Joux. Un protocolo de una ronda para Tripartite Diffie-Hellman . — 2006-12-30. - T. 17 . — S. 385–393 . -doi : 10.1007/ 10722028_23 .
- ↑ Víctor Miller. El emparejamiento de Weil y su cálculo eficiente // J. Cryptology. — 2004-09-01. - T. 17 . — S. 235–261 . -doi : 10.1007/ s00145-004-0315-8 .
- ↑ 1 2 3 4 Computación segura II // Teoría de la criptografía: Segunda conferencia sobre teoría de la criptografía, TCC 2005, Cambridge, MA, EE. UU., 10 al 12 de febrero de 2005: actas . - Berlín: Springer, 2005. - P. 329. - 1 recurso en línea (xii, 619 páginas) p. - ISBN 9783540305767 , 3540305769, 3540245731, 9783540245735.
- ↑ Yi, Xun (profesor universitario), . Cifrado homomórfico y aplicaciones . — Cham. — 1 recurso en línea (xii, 126 páginas) p. - ISBN 978-3-319-12229-8 , 3-319-12229-0.
- ↑ Teoría de la criptografía: Segunda Conferencia de Teoría de la Criptografía, TCC 2005, Cambridge, MA, EE. UU., 10 al 12 de febrero de 2005: actas . - Berlín: Springer, 2005. - P. 332. - 1 recurso en línea (xii, 619 páginas) p. - ISBN 9783540305767 , 3540305769, 3540245731, 9783540245735.
- ↑ EUROCRYPT 2010 (2010: Riveria, Francia). Avances en criptología--EUROCRYPT 2010: 29° Congreso Internacional Anual sobre Teoría y Aplicaciones de Técnicas Criptográficas, Riviera Francesa, 30 de mayo al 3 de junio de 2010: actas . - Springer, 2010. - ISBN 9783642131905 , 3642131905.
Literatura
- S. M. Vladimirov, E. M. Gabidulin, A. I. Kolybelnikov, A. S. Kshevetsky. Métodos criptográficos de protección de la información. - 2ª ed. - MIPT, 2016. - S. 225-257. — 266 págs. - ISBN 978-5-7417-0615-2 .
Enlaces