El criptosistema Paillier , inventado y bautizado en honor a Pascal Paillier en 1999, es un algoritmo asimétrico probabilístico para criptografía de clave pública . Se considera que el problema de calcular las clases de residuos n -ésimos es computacionalmente complejo. La hipótesis de intratabilidad en la que se basa este criptosistema es la suposición de residuos compuestos decisionales .
El esquema es un criptosistema homomórfico aditivo ; esto significa que, dados únicamente la clave pública y el cifrado dey, se puede calcular el cifrado de.
Algoritmo
El sistema funciona de la siguiente manera:
Generación de claves
- Elige dos números primos grandes.yde forma aleatoria e independiente entre sí, de tal manera queEsta propiedad se garantiza si ambos números primos tienen la misma longitud. [ 1 ]
- Calculary. lcm significa Mínimo Común Múltiplo .
- Seleccione un número entero aleatorio.dónde
- Asegurardivide el orden decomprobando la existencia del siguiente inverso multiplicativo modular :,
- donde funciónse define como.
- Tenga en cuenta que la notaciónno denota la multiplicación modular deveces el inverso multiplicativo modular desino más bien el cociente dedividido por, es decir, el mayor valor enteropara satisfacer la relación.
- La clave pública (de cifrado) es.
- La clave privada (de descifrado) es
Si se utilizan p y q de longitud equivalente, una variante más sencilla de los pasos de generación de claves anteriores sería establecery, dónde. [ 1 ] Se recomienda la variante más simple para fines de implementación, porque en la forma general el tiempo de cálculo depuede ser muy alto con primos p,q suficientemente grandes.
Cifrado
- Dejarser un mensaje para ser cifrado donde
- Seleccionar al azardóndey . (Nota: si encuentra un valor que tengaPuedes usar esto para calcular la clave privada: es lo suficientemente improbable como para ignorarlo.
- Calcula el texto cifrado como:
Descifrado
- Dejarsea el texto cifrado a descifrar, donde
- Calcula el mensaje en texto plano de la siguiente manera:
Como señala el artículo original [ 2 ] , el descifrado es "esencialmente una exponenciación módulo"
Propiedades homomórficas
Una característica notable del criptosistema Paillier son sus propiedades homomórficas junto con su cifrado no determinista (véase Votación electrónica en Aplicaciones para su uso). Dado que la función de cifrado es homomórfica aditivamente, se pueden describir las siguientes identidades:
- Suma homomórfica de textos planos
- El producto de dos textos cifrados se descifrará como la suma de sus textos planos correspondientes,
- El producto de un texto cifrado con un texto plano que generase descifrará como la suma de los textos planos correspondientes,
- Multiplicación homomórfica de textos planos
- Un texto cifrado elevado a la potencia de un texto plano se descifrará como el producto de los dos textos planos,
- En términos más generales, un texto cifrado elevado a una constante k se descifrará como el producto del texto plano y la constante.
Sin embargo, dadas las encriptaciones Paillier de dos mensajes, no existe una forma conocida de calcular la encriptación del producto de estos mensajes sin conocer la clave privada.
Fondo
El criptosistema Paillier aprovecha el hecho de que ciertos logaritmos discretos se pueden calcular fácilmente.
Por ejemplo, por el teorema del binomio ,
Esto indica que:
Por lo tanto, si:
entonces
- .
De este modo:
- ,
- donde funciónse define como(cociente de división entera) y.
Seguridad semántica
El criptosistema original, tal como se muestra arriba, proporciona seguridad semántica contra ataques de texto plano elegido ( IND-CPA ). La capacidad de distinguir con éxito el texto cifrado de desafío equivale esencialmente a la capacidad de determinar la resiliencia compuesta. Se cree que la denominada suposición de resiliencia compuesta decisional (DCRA) es intratable.
Debido a las propiedades homomórficas mencionadas, el sistema es maleable y, por lo tanto, no ofrece el máximo nivel de seguridad semántica ni protección contra ataques adaptativos de texto cifrado elegido ( IND-CCA2 ). En criptografía, la maleabilidad no suele considerarse una ventaja, pero en ciertas aplicaciones, como la votación electrónica segura y los criptosistemas de umbral , esta propiedad puede resultar necesaria.
Sin embargo, Paillier y Pointcheval propusieron un criptosistema mejorado que incorpora el hash combinado del mensaje m con un valor aleatorio r . Similar en su propósito al criptosistema Cramer-Shoup , el hash impide que un atacante, conociendo solo c, pueda modificar m de manera significativa. Mediante esta adaptación, se puede demostrar que el esquema mejorado es seguro frente a ataques IND-CCA2 en el modelo de oráculo aleatorio .
Aplicaciones
Voto electrónico
La seguridad semántica no es la única consideración. Existen situaciones en las que la maleabilidad puede ser deseable. Los sistemas de votación electrónica seguros pueden utilizar las propiedades homomórficas mencionadas. Consideremos una votación binaria simple ("a favor" o "en contra"). Supongamos que m votantes emiten un voto de 1 (a favor) o 0 (en contra). Cada votante cifra su elección antes de emitir su voto. El funcionario electoral toma el producto de los m votos cifrados, luego descifra el resultado y obtiene el valor n , que es la suma de todos los votos. El funcionario electoral sabe entonces que n personas votaron a favor y mn personas votaron en contra . El papel del número aleatorio r garantiza que dos votos equivalentes se cifrarán al mismo valor solo con una probabilidad insignificante, lo que garantiza la privacidad del votante.
Dinero electrónico
Otra característica mencionada en el artículo es la noción de auto- cegamiento . Se trata de la capacidad de cambiar un texto cifrado por otro sin alterar el contenido de su descifrado. Esto tiene aplicación en el desarrollo del dinero electrónico , una iniciativa liderada originalmente por David Chaum . Imagínese pagar un artículo en línea sin que el vendedor necesite conocer su número de tarjeta de crédito y, por lo tanto, su identidad. El objetivo tanto del dinero electrónico como del voto electrónico es garantizar la validez de la moneda electrónica (y del voto electrónico), sin revelar la identidad de la persona a la que está asociada.
Subasta electrónica
El criptosistema Paillier desempeña un papel crucial en la mejora de la seguridad de las subastas electrónicas . Previene actividades fraudulentas como subastadores deshonestos y la colusión entre postores y subastadores que manipulan las ofertas. Al garantizar la confidencialidad de los valores reales de las ofertas y, al mismo tiempo, revelar los resultados de la subasta, el criptosistema Paillier promueve con éxito prácticas justas. [ 3 ]
criptosistema de umbral
La propiedad homomórfica del criptosistema Paillier se utiliza a veces para construir la firma ECDSA de umbral . [ 4 ]
Véase también
- El criptosistema Naccache-Stern y el criptosistema Okamoto-Uchiyama son antecedentes históricos del sistema Paillier.
- El criptosistema Damgård-Jurik es una generalización del sistema Paillier.
Referencias
- Paillier, Pascal (1999). "Sistemas criptográficos de clave pública basados en clases de residuos de grado compuesto" (PDF) . Avances en criptología – EUROCRYPT '99. EUROCRYPT . Springer. doi : 10.1007/3-540-48910-X_16 .
- Paillier, Pascal; Pointcheval, David (1999). "Sistemas criptográficos de clave pública eficientes y demostrablemente seguros contra adversarios activos". ASIACRYPT . Springer. pp. 165–179 . doi : 10.1007/978-3-540-48000-6_14 .
- Paillier, Pascal (1999). Criptosistemas basados en residuosidad compuesta (tesis doctoral). Escuela Nacional Superior de Telecomunicaciones.
- Paillier, Pascal (2002). "Criptografía basada en residuos compuestos: una visión general" (PDF) . CryptoBytes . 5 (1). Archivado del original (PDF) el 20 de octubre de 2006.
Notas
- 1 2 Jonathan Katz, Yehuda Lindell, "Introducción a la criptografía moderna: principios y protocolos", Chapman & Hall/CRC, 2007
- ↑ Paillier, Pascal (1999). «Sistemas criptográficos de clave pública basados en clases de residuos de grado compuesto». Avances en criptología — EUROCRYPT '99 . Notas de clase en informática. Vol. 1592. Springer. págs. 223–238 . doi : 10.1007/3-540-48910-X_16 . ISBN 978-3-540-65889-4.
- ↑ Pan, M., Sun, J., & Fang, Y. (2011). Purging the Back-Room Dealing: Secure Spectrum Auction Leveraging Paillier Cryptosystem. IEEE Journal on Selected Areas in Communications, 29(4), 866–876. https://doi.org/10.1109/JSAC.2011.110417
- ↑ Canetti, Ran; Gennaro, Rosario; Goldfeder, Steven; Makriyannis, Nikolaos; Peled, Udi (30 de octubre de 2020). "UC Non-Interactive, Proactive, Threshold ECDSA with Identifiable Aborts" . Actas de la Conferencia ACM SIGSAC 2020 sobre Seguridad Informática y de Comunicaciones . Association for Computing Machinery. págs. 1769–1787 . doi : 10.1145/3372297.3423367 . ISBN 9781450370899. S2CID 226228099 .
Enlaces externos
- El Proyecto de Cifrado Homomórfico implementa el criptosistema Paillier junto con sus operaciones homomórficas.
- Encounter: una biblioteca de código abierto que proporciona una implementación del criptosistema Paillier y una construcción de contadores criptográficos basada en el mismo.
- python-paillier es una biblioteca para el cifrado parcialmente homomórfico en Python, que incluye soporte completo para números de punto flotante.
- El simulador interactivo del criptosistema Paillier, archivado el 18 de febrero de 2012 en la Wayback Machine, muestra una aplicación de votación.
- Una demostración interactiva del criptosistema Paillier.
- Implementación en Javascript de prueba de concepto del criptosistema Paillier con una demostración interactiva .
- Un vídeo de GoogleTechTalk sobre la votación mediante métodos criptográficos.
- Implementación en Ruby de la suma homomórfica de Paillier y un protocolo de prueba de conocimiento cero ( documentación ).
- Esquemas de cifrado de clave pública