Articulo de referencia

Función aleatoria verificable

En criptografía , una función aleatoria verificable ( VRF ) es una función pseudoaleatoria de clave pública que proporciona pruebas de que sus resultados se calcularon correctam...

En criptografía , una función aleatoria verificable ( VRF ) es una función pseudoaleatoria de clave pública que proporciona pruebas de que sus resultados se calcularon correctamente. El propietario de la clave secreta puede calcular el valor de la función, así como una prueba asociada, para cualquier valor de entrada. Cualquier otra persona, utilizando la prueba y la clave pública asociada (o clave de verificación [ 1 ] ), puede comprobar que este valor se calculó correctamente; sin embargo, esta información no puede utilizarse para encontrar la clave secreta. [ 2 ]

Una función aleatoria verificable puede considerarse como un análogo de clave pública de una función hash criptográfica con clave [ 2 ] y como un compromiso criptográfico con un número exponencialmente grande de bits aparentemente aleatorios. [ 3 ] El concepto de función aleatoria verificable está estrechamente relacionado con el de función impredecible verificable (VUF), cuyos resultados son difíciles de predecir, pero no necesariamente parecen aleatorios. [ 3 ] [ 4 ]

El concepto de VRF fue introducido por Micali , Rabin y Vadhan en 1999. [ 4 ] [ 5 ] Desde entonces, las funciones aleatorias verificables han encontrado un uso generalizado en criptomonedas, así como en propuestas para el diseño de protocolos y la ciberseguridad.

Construcciones

En 1999, Micali, Rabin y Vadhan introdujeron el concepto de VRF y propusieron el primero de ellos. [ 4 ] La construcción original era bastante ineficiente: primero produce una función impredecible verificable , luego usa un bit de núcleo duro para transformarla en un VRF; además, las entradas deben mapearse a números primos de una manera complicada: es decir, usando un generador de secuencias de primos que genera primos con una probabilidad abrumadora usando una prueba de primalidad probabilística . [ 3 ] [ 4 ] La función impredecible verificable así propuesta, que es demostrablemente segura si una variante del problema RSA es difícil, se define de la siguiente manera: La clave pública PK es(metro,r,Q,dooinortes){\displaystyle (m,r,Q,monedas)}, donde m es el producto de dos primos aleatorios, r es un número seleccionado aleatoriamente deZmetro{\displaystyle \mathbb {Z} _ {m}^{*}}, coins es un conjunto de bits seleccionado aleatoriamente, y Q una función seleccionada aleatoriamente de entre todos los polinomios de grado2k21{\displaystyle 2k^{2}-1}sobre el campoGRAMOF(2k){\displaystyle GF(2^{k})}La clave secreta es(PAGK,ϕ(metro)){\displaystyle (PK,\phi (m))}Dado un valor de entrada x y una clave secreta SK , el VUF utiliza el generador de secuencias primas para seleccionar un número primo correspondiente.pagincógnita{\displaystyle p_{x}}(el generador requiere entradas auxiliares Q y monedas ), y luego calcula y producer1/pagincógnita(modmetro){\displaystyle r^{1/p_{x}}{\pmod {m}}}, lo cual se hace fácilmente conociendoϕ(metro){\displaystyle \phi (m)}. [ 4 ]

En 2005, Dodis y Yampolskiy propusieron una función aleatoria verificable, eficiente y práctica. [ 3 ] [ 6 ] Cuando la entradaincógnita{\displaystyle x}Si se trata de un dominio pequeño (los autores luego lo extienden a un dominio más grande), la función se puede definir de la siguiente manera:

FSK(incógnita)=mi(gramo,gramo)1/(incógnita+SK)ypagSK(incógnita)=gramo1/(incógnita+SK),{\displaystyle F_{SK}(x)=e(g,g)^{1/(x+SK)}\quad {\mbox{y}}\quad p_{SK}(x)=g^{1/(x+SK)},}

donde e (·,·) es una aplicación bilineal . Para verificar siFSK(incógnita){\displaystyle F_{SK}(x)}Se calculó correctamente o no, se puede comprobar simi(gramoincógnitaPAGK,pagSK(incógnita))=mi(gramo,gramo){\displaystyle e(g^{x}PK,p_{SK}(x))=e(g,g)}ymi(gramo,pagSK(incógnita))=FSK(incógnita){\displaystyle e(g,p_{SK}(x))=F_{SK}(x)}. [ 3 ] [ 6 ] Para extender esto a un dominio más grande, los autores utilizan una construcción de árbol y una función hash universal . [ 3 ] Esto es seguro si es difícil romper la "suposición de inversión q-Diffie-Hellman", que establece que ningún algoritmo dado(gramo,gramoincógnita,,gramoincógnitaq){\displaystyle (g,g^{x},\dots ,g^{x^{q}})}puede calculargramo1/incógnita{\displaystyle g^{1/x}}y la "suposición de inversión bilineal q-decisional de Diffie-Hellman", que establece que es imposible que un algoritmo eficiente se dé(gramo,gramoincógnita,,gramo(incógnitaq),R){\displaystyle (g,g^{x},\ldots ,g^{(x^{q})},R)}como entrada para distinguirR=mi(gramo,gramo)1/incógnita{\displaystyle R=e(g,g)^{1/x}}del azar, en el grupoGRAMO{\displaystyle \mathbb {G} }. [ 3 ] [ 6 ]

En 2015, Hofheinz y Jager construyeron un VRF que es demostrablemente seguro dado cualquier miembro de la "familia de supuestos (n − 1)-lineales", que incluye el supuesto lineal de decisión . [ 7 ] Este es el primer VRF de este tipo construido que no depende de un "supuesto de complejidad de tipo Q". [ 7 ]

En 2019, Bitansky demostró que existen VRF si también existen pruebas no interactivas indistinguibles por testigo (es decir, versiones más débiles de pruebas de conocimiento cero no interactivas para problemas NP que solo ocultan el testigo que usa el probador [ 1 ] [ 8 ] ), compromisos criptográficos no interactivos y funciones pseudoaleatorias restringidas de clave única (es decir, funciones pseudoaleatorias que solo permiten al usuario evaluar la función con un subconjunto restringido preestablecido de posibles entradas [ 9 ] ). [ 1 ]

Cuando una función pseudoaleatoria ciega se basa en criptografía asimétrica , la posesión de la clave pública puede permitir al cliente verificar el resultado de la función, comprobando una firma digital o una prueba de conocimiento cero .

En 2020, Esgin et al. propusieron un VRF seguro post-cuántico basado en criptografía basada en retículos . [ 10 ]

Usos y aplicaciones

Los VRF proporcionan pre-compromisos deterministas para entradas de baja entropía que deben ser resistentes a ataques de pre-imagen de fuerza bruta . [ 11 ] Los VRF se pueden utilizar para la defensa contra ataques de enumeración fuera de línea (como ataques de diccionario ) en datos almacenados en estructuras de datos basadas en hash. [ 2 ]

En el diseño de protocolos

Los VRF se han utilizado para fabricar:

  • Pruebas de conocimiento cero reiniciables (es decir, una que permanece de conocimiento cero incluso si se permite que un verificador malicioso reinicie al probador honesto y lo consulte de nuevo [ 12 ] ) con tres rondas en el modelo desnudo [ 3 ] [ 7 ]
  • Sistemas de lotería no interactivos [ 3 ] [ 7 ]
  • Esquemas de depósito en garantía de transacciones verificables [ 3 ] [ 7 ]
  • Bases de datos de conocimiento cero actualizables [ 7 ]
  • Dinero electrónico [ 7 ]

Los VRF también se pueden utilizar para implementar oráculos aleatorios . [ 13 ]

En seguridad en Internet

DNSSEC es un sistema que impide que los atacantes manipulen los mensajes del Sistema de Nombres de Dominio , pero también presenta la vulnerabilidad de la enumeración de zonas. El sistema NSEC5 propuesto, que utiliza VRF , previene de forma demostrable este tipo de ataque. [ 14 ]

Referencias

  1. 1 2 3 Bitansky, Nir (2020-04-01). "Funciones aleatorias verificables a partir de pruebas indistinguibles de testigos no interactivas" . Journal of Cryptology . 33 (2): 459– 493. doi : 10.1007/s00145-019-09331-1 . ISSN 1432-1378 . S2CID 253636177 .  
  2. 1 2 3 Goldberg, Sharon; Vcelak, Jan; Papadopoulos, Dimitrios; Reyzin, Leonid (5 de marzo de 2018). Funciones aleatorias verificables (VRF) (PDF) (Informe técnico) . Recuperado el 15 de agosto de 2021 .
  3. 1 2 3 4 5 6 7 8 9 10 Dodis, Yevgeniy; Yampolskiy, Aleksandr (16 de noviembre de 2004). "Una función aleatoria verificable con pruebas y claves cortas" (PDF) . 8.º Taller Internacional sobre Teoría y Práctica en Criptografía de Clave Pública . Taller Internacional sobre Criptografía de Clave Pública. Springer, Berlín, Heidelberg (publicado en 2005). págs. 416–431 . ISBN  978-3-540-30580-4Consultado el 26 de agosto de 2021 .
  4. 1 2 3 4 5 Micali, Silvio ; Rabin, Michael O .; Vadhan, Salil P. (1999). "Funciones aleatorias verificables" (PDF) . Actas del 40.º Simposio IEEE sobre Fundamentos de la Informática . 40.º Simposio Anual sobre Fundamentos de la Informática. págs. 120–130 . doi : 10.1109/SFFCS.1999.814584 . ISBN  0-7695-0409-4.
  5. Potter, John (9 de septiembre de 2021). "¿Cómo pueden los inversores de valor obtener ganancias en el ecosistema cripto?" . finance.yahoo.com . Consultado el 19 de septiembre de 2021 .
  6. 1 2 3 Nountu, Thierry Mefenza (28 de noviembre de 2017). Generadores pseudoaleatorios y funciones pseudoaleatorias: criptoanálisis y medidas de complejidad (tesis doctoral).
  7. 1 2 3 4 5 6 7 Hofheinz, Dennis; Jager, Tibor (30 de octubre de 2015). Funciones aleatorias verificables a partir de supuestos estándar . Conferencia sobre teoría de la criptografía (publicada el 19 de diciembre de 2015). págs. 336–362 . CiteSeerX 10.1.1.738.9975 . doi : 10.1007/978-3-662-49096-9_14 . ISBN   978-3-662-49096-9Archivado del original el 15 de agosto de 2021. Consultado el 22 de mayo de 2026 .{{cite conference}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  8. ^ Barac, Booz; Ong, Shien Jin; Vadhan, Salil (1 de enero de 2007). "Desaleatorización en criptografía" (PDF) . Revista SIAM de Computación . 37 (2): 380– 400. doi : 10.1137/050641958 . ISSN 0097-5397 . Consultado el 2 de septiembre de 2021 . 
  9. Boneh, Dan; Waters, Brent (2013). "Funciones pseudoaleatorias restringidas y sus aplicaciones" . En Sako, Kazue; Sarkar, Palash (eds.). Avances en criptología - ASIACRYPT 2013. Lecture Notes in Computer Science. Vol. 8270. Berlín, Heidelberg: Springer. pp. 280–300 . doi : 10.1007/978-3-642-42045-0_15 . ISBN   978-3-642-42045-0Consultado el 2 de septiembre de 2021 .
  10. Esgin, Muhammed F.; Kuchta, Veronika; Sakzad, Amin; Steinfeld, Ron; Zhang, Zhenfei; Sun, Shifeng; Chu, Shumo (24 de marzo de 2021). "Función aleatoria verificable pocas veces post-cuántica práctica con aplicaciones a algorandos" . Cryptology ePrint Archive . Recuperado el 26 de agosto de 2021 .
  11. Schorn, Eric (24 de febrero de 2020). "Revisión de funciones aleatorias verificables" . Investigación del Grupo NCC . Recuperado el 4 de septiembre de 2021 .
  12. Micali, Silvio; Reyzin, Leonid (2001). «Solidez en el modelo de clave pública». En Kilian, Joe (ed.). Avances en criptología — CRYPTO 2001. Notas de clase en ciencias de la computación. Vol. 2139. Berlín, Heidelberg: Springer. pp. 542–565 . doi : 10.1007/3-540-44647-8_32 . ISBN   978-3-540-44647-7.
  13. Dodis, Yevgeniy (2002). "Construcción eficiente de funciones aleatorias verificables (distribuidas)". En Desmedt, Yvo G. (ed.). Criptografía de clave pública — PKC 2003. Lecture Notes in Computer Science. Vol. 2567. Berlín, Heidelberg: Springer. pp. 1–17 . doi : 10.1007/3-540-36288-6_1 . ISBN   978-3-540-36288-3.
  14. Goldberg, Sharon. "NSEC5: Prevención demostrable de la enumeración de zonas DNSSEC" . www.cs.bu.edu . Consultado el 26 de agosto de 2021 .