El sistema criptográfico Paillier es un algoritmo asimétrico probabilístico utilizado en criptografía de clave pública, inventado por Pascal Paillier en 1999. Se cree que el problema de calcular las clases del enésimo residuo es computacionalmente difícil. Esto se conoce como Residuidad Compuesta y es la base de este sistema criptográfico.
El sistema criptográfico de Paillier encuentra aplicaciones prácticas en diversos ámbitos, incluyendo votaciones electrónicas, loterías electrónicas y subastas electrónicas[1].
Esquema
El esquema es un homomorfismo aditivo, es decir, dada la clave pública y los valores
y
, es posible calcular
, el esquema funciona como sigue:
Generación de Clave
- Se escogen 2 números primos
y
aleatorios e independientes.
- Se calcula
y ![{\displaystyle \lambda =mcm(p-1,q-1)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/805860777a7964e96b96ec78b2e0507b98d8c3c0)
- Seleccionar un entero
tal que ![{\displaystyle g\in \mathbb {Z} _{n^{2}}^{*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/821b73a15a2eca6a8073521315b30ac0566faffa)
- Se asegura que
divide a
revisando la existencia del siguiente inverso multiplicativo:
donde la función
se define como ![{\displaystyle L(u)={\frac {u-1}{n}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bb3c9f95fa309a67860610bdfb646a3647ca0cc5)
Como resultado:
- La clave pública es
![{\displaystyle (n,g)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ab4dadffb2a266fc7e5c1fa431a1319eb24f7cc2)
- La clave privada es
![{\displaystyle (\lambda ,\mu )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ba8cdbd5709dd03200b2d3a796bf19a9f8be7482)
Cifrado
- Sea m el mensaje a cifrar, tal que
![{\displaystyle m\in \mathbb {Z} _{n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/42f0919a82b43d64e60e0223423951f5f6045610)
- Se escoge un número aleatorio r, tal que
![{\displaystyle r\in \mathbb {Z} _{n}^{*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/66e15ec66c61e1b43ac6741655f8a1e52a6839c3)
- El mensaje cifrado es:
![{\displaystyle c=g^{m}\cdot r^{n}{\pmod {n^{2}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3332890a873e969a0f373c8757b4ba04b647daf1)
Descifrado
- Dado el texto cifrado
![{\displaystyle c\in \mathbb {Z} _{n^{2}}^{*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4c717f56a8761968e5c9504f9416d4313060261c)
- El mensaje descifrado es:
![{\displaystyle m=L(c^{\lambda }{\pmod {n^{2}}})\cdot \mu {\pmod {n}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/18a1b19e8c17092cf36df563195548cb4ecf14ab)
Véase también
Referencias
- ↑ Xia, Z., Yang, X., Xiao, M., & He, D. (n.d.). Provably Secure Threshold Paillier Encryption Based on Hyperplane Geometry. In Information Security and Privacy (pp. 73–86). Springer International Publishing. https://doi.org/10.1007/978-3-319-40367-0_5
Enlaces externos