Criptosistema Nakasha-Stern

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 10 de octubre de 2019; las comprobaciones requieren 4 ediciones .

 El criptosistema Nakasha- Stern es un algoritmo criptográfico de clave pública basado en la complejidad computacional del problema del logaritmo discreto . A diferencia de RSA , es homomórfico con respecto a la suma y la resta, no a la multiplicación .

Desarrollado por David Nakache y Jacques Stern en 1998 [1] en dos versiones: determinista y probabilística. Es una mejora del esquema Benalo [2]  : los autores pudieron construir un criptosistema homomórfico probabilístico con seguridad semántica y reducir significativamente la relación entre el tamaño del texto cifrado y el tamaño del texto sin formato .

Hay una implementación (python3) de algoritmos de generación de claves, cifrado y descifrado [3] .

Comparación con RSA

Similitudes

Diferencias

Descripción de la variante determinista del criptosistema

En general, una versión determinista del criptosistema Nakasha-Stern se puede describir de la siguiente manera: sea  un B-smooth (B es pequeño, generalmente un número de 10 bits), un número impar, sin cuadrados , y sea  un RSA número (generalmente se piensa que  es al menos un número de 768 bits) tal que divide y es coprimo con , donde es la función de Euler . A continuación, vamos a ordenar . Entonces el triple de números forma una clave privada. Un mensaje menor que se cifra como . El descifrado se basa en el uso de divisores primos del número [1] .

Generación de claves

Entonces la clave pública está formada por un triple de números . Y cerrado - [1]

A medida que el número crece, la generación de claves se convierte en una operación que requiere mucho tiempo, ya que el número a debe estar en un rango adecuado y, además, satisfacer las pruebas de primalidad junto con el número . Para sortear esta dificultad, los autores proponen generar primero números primos y luego, mediante la selección de números primos auxiliares , lograr la igualdad y , donde son primos [1] .

Cifrado

El cifrado consta de una sola operación de exponenciación módulo : un mensaje menor que , se cifra como . Y aquí no se usan de ninguna manera . [una]

Descifrado

El descifrado se basa en el teorema del resto chino . Sean  divisores primos . El algoritmo calcula y luego descifra el mensaje m utilizando el teorema chino del resto [1] .

Para encontrar mi dado el texto cifrado , el algoritmo calcula , que es exactamente . Esto se deduce de los siguientes cálculos, aquí : . Al comparar este resultado con todas las potencias posibles de , se puede encontrar el valor de . Más formalmente, la función de descifrado está representada por un pseudocódigo [1] :

para = 1 a :

para = 0 a  - 1:

si :


= Recordatorio Chino( , )

Ejemplo

Generación de claves para

[cm. "Descripción de una variante determinista de un criptosistema"]

contiene
yo=1 yo=2 yo=3 yo=4 yo=5 yo=6
j = 0 una una una una una una
j = 1 1966 6544 1967 6273 6043 372
j = 2 9560 3339 4968 7876 4792 7757
j = 3 9400 1765 8720 262 3397
j = 4 6488 8651 6291 702
j = 5 2782 4691 677 4586
j = 6 9489 1890 8135
j = 7 8537 6878 3902
j = 8 2312 2571 5930
j = 9 7701 7180 6399
j = 10 8291 9771
j = 11 678 9771
j = 12 609
j = 13 7337
j = 14 6892
j = 15 3370
j = 16 3489

Cifrado

Descifrado

A continuación, utilizando la tabla anterior:

y por el teorema del resto chino obtenemos: [1]

Descripción de la variante probabilística del criptosistema

Una variante probabilística de un criptosistema es una mejora de los criptosistemas probabilísticos anteriores (por ejemplo, el criptosistema Benalo).

Los criptosistemas anteriores tenían un inconveniente muy importante: para cifrar un pequeño conjunto de datos (por ejemplo, los votos 0, 1 en la votación electrónica), los criptosistemas deterministas, como RSA, no son adecuados [1] , porque para el descifrado bastará con compare el texto cifrado con los elementos cifrados del conjunto . Esta propiedad de los criptosistemas, la incapacidad de distinguir textos cifrados de diferentes elementos del conjunto S, se denomina seguridad semántica [5] . Pero con una combinación de homomorfismo y fuerza semántica, los criptosistemas anteriores comenzaron a generar alrededor de un kilobyte de texto cifrado para cifrar el texto sin formato en unos pocos bits [1] . En el criptosistema Nakasha-Stern, además de tener las propiedades de homomorfismo, fuerza semántica, la relación entre el tamaño del texto cifrado y el tamaño del texto plano es exactamente igual a . Los autores afirman que es seguro tomar [1] .

Generación de claves

Entonces la clave pública está formada por un triple de números . Y cerrado - [1]

Cifrado

El cifrado probabilístico es muy similar al cifrado determinista . "Descripción de una variante determinista de un criptosistema"] . Es decir, sea un número positivo elegido al azar del anillo de residuos módulo : . Entonces el algoritmo se escribe como [1]

Descifrado

El descifrado en la versión probabilística del algoritmo de D. Nakache y J. Stern permanece sin cambios en comparación con la versión determinista [ver. "Descripción de una variante determinista de un criptosistema"] . El efecto de multiplicar por en el cifrado se tiene en cuenta cuando elevamos el texto cifrado a la potencia de . Hagamos algunos cálculos para verificar esto.

Sean  divisores primos . El algoritmo calcula y luego descifra el mensaje usando el Teorema del Resto Chino.

Para encontrar , dado el texto cifrado , el algoritmo calcula , que es exactamente . Esto se deduce de los siguientes cálculos:

Comparando este resultado con todas las potencias posibles de , se puede encontrar el valor [1]

Aplicación

En la mayoría predominante de las áreas de aplicación del criptosistema Nakasha-Stern, se utiliza la propiedad de homomorfismo de este criptosistema con respecto a la suma y la resta [6] [2] :

Ataques

Los ataques ampliamente conocidos a este criptosistema no están documentados. Los propios autores alientan el trabajo para romper el criptosistema. El artículo original ofrecía [1] $768 a alguien que pudiera descifrar el texto cifrado y publicar el método de criptoanálisis . A continuación se muestran los datos para esta tarea.

= 13370fe62d81fde356d1842fd7e5fc1ae5b9b449

bdd00866597e61af4fb0d939283b04d3bb73f91f

0d9d61eb0014690e567ab89aa8df4a9164cd4c63

6df80806c7cdceda5cfda97bf7c42cc702512a49

dd196c8746c0e2f36ca2aee21d4a36a 16


= 0b9cf6a789959ed4f36b701a5065154f7f4f1517

6d731b4897875d26a9e244415e111479050894ba7

c532ada1903c63a84ef7edc29c208a8ddd3fb5f7

d43727b730f20d8e12c17cd5cf9ab4358147cb62

a9fb887bf15204e444ba6ade6132743 16


= 1459b9617b8a9df6bd54341307f1256dafa241bd

65b96ed14078e80dc6116001b83c5f88c7bbcb0b

db237daac2e76df5b415d089baa0fd078516e60e

2cdda7c26b858777604c5fbd19f0711bc75ce00a

5c37e2790b0d9d0ff9625c5ab9c7511d 16

Aquí ( — se forman a partir de los primeros números primos, excepto 2) [1] .

Enlaces

  1. ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Jacques, Stern. Un nuevo criptosistema de clave pública basado en residuos superiores   // ACM . - 1998. - P. 59–66 . Archivado desde el original el 6 de diciembre de 2006.
  2. ↑ 1 2 3 IA Troubey. Cifrado homomórfico: seguridad informática en la nube y otras aplicaciones (revisión)  (ruso)  // Informática. - 2015. - Enero. Archivado desde el original el 26 de noviembre de 2018.
  3. Implementación de algoritmos de cifrado, descifrado y generación de claves en el criptosistema Nakashe-Stern . Consultado el 16 de diciembre de 2018. Archivado desde el original el 28 de diciembre de 2020.
  4. Thomas W. Cusick. Una comparación de RSA y el criptosistema de clave pública Naccache-Stern  //  Protocolos de seguridad. — Berlín, Heidelberg: Springer Berlin Heidelberg, 1997. — P. 111–116 . — ISBN 9783540624943 , 9783540680475 . -doi : 10.1007/ 3-540-62494-5_10 . Archivado desde el original el 2 de diciembre de 2018.
  5. S. Goldwasser, S. Micali. Cifrado probabilístico  (inglés)  // JCSS. - 1984. - Abril. - pág. 270-299 .
  6. Una breve descripción del criptosistema homomórfico y sus aplicaciones // Revista internacional de aplicaciones informáticas. — 2015.
  7. R. L. Rivest, L. Adleman, M. L. Dertouzos. Sobre bancos de datos y homomorfismos de privacidad // Fundamentos de computación segura.
  8. W. Diffie, M. Hellman. Nuevas direcciones en criptografía // IEEE Trans. inf. teoría.
  9. J. Alwen [et al.] Sobre la relación entre el cifrado funcional, la ofuscación y el cifrado completamente homomórfico // Criptografía y codificación: 14.º pasante de IMA. Conf., IMACC-2013..
  10. JD Cohen Benaloh. Elecciones con voto secreto verificable  (inglés)  // Universidad de Yale: tesis doctoral. — 1988.
  11. B. Pfitzmann, M. Schunter. Toma de huellas dactilares asimétricas  (inglés)  // Spinger-Verlag. - 1996. - P. 84-95 .
  12. Construcción de un esquema de marca de agua dependiente del contenido seguro mediante el cifrado homomórfico.
  13. O. Goldreich, S. Micali, A. Wigderson. Pruebas que no arrojan nada más que su validez y una metodología de  diseño de protocolos criptográficos . - 1986. - P. 174-187 .
  14. G. Brassard, D. Chaum, C. Crepeau. Discusión mínima Pruebas de conocimiento  // JCSS. - 1988. Archivado el 27 de septiembre de 2011.