Un extractor de aleatoriedad , a menudo llamado simplemente "extractor", es una función que, al aplicarse a la salida de una fuente de entropía débil , junto con una semilla corta y uniformemente aleatoria , genera una salida altamente aleatoria que parece independiente de la fuente y uniformemente distribuida . [ 1 ] Ejemplos de fuentes débilmente aleatorias incluyen la desintegración radiactiva o el ruido térmico ; la única restricción en las posibles fuentes es que no hay forma de que puedan ser controladas, calculadas o predichas por completo, y que no se puede establecer un límite inferior en su tasa de entropía . Para una fuente dada, un extractor de aleatoriedad puede incluso considerarse un generador de números aleatorios verdaderos ( TRNG ); pero no hay un solo extractor que haya demostrado producir una salida verdaderamente aleatoria a partir de cualquier tipo de fuente débilmente aleatoria.
A veces, el término "sesgo" se utiliza para denotar la desviación de una fuente débilmente aleatoria de la uniformidad, y en la literatura antigua, algunos extractores se denominan algoritmos de eliminación de sesgos , [ 2 ] ya que toman la aleatoriedad de una fuente supuestamente "sesgada" y generan una distribución que parece no sesgada. La fuente débilmente aleatoria siempre será más larga que la salida del extractor, pero un extractor eficiente es aquel que reduce esta relación de longitudes tanto como sea posible, manteniendo al mismo tiempo una longitud de semilla baja. Intuitivamente, esto significa que se ha "extraído" la mayor cantidad de aleatoriedad posible de la fuente.
Un extractor tiene algunas similitudes conceptuales con un generador pseudoaleatorio (GPA), pero ambos conceptos no son idénticos. Ambos son funciones que toman como entrada una semilla pequeña y uniformemente aleatoria y producen una salida más larga que "parece" uniformemente aleatoria. Algunos generadores pseudoaleatorios son, de hecho, también extractores. (Cuando un GPA se basa en la existencia de predicados de núcleo duro , se puede pensar en la fuente débilmente aleatoria como un conjunto de tablas de verdad de dichos predicados y demostrar que la salida es estadísticamente cercana a la uniforme. [ 3 ] ) Sin embargo, la definición general de GPA no especifica que se deba usar una fuente débilmente aleatoria, y mientras que en el caso de un extractor, la salida debe ser estadísticamente cercana a la uniforme, en un GPA solo se requiere que sea computacionalmente indistinguible de la uniforme, un concepto algo más débil.
Definición formal de extractores
La min-entropía de una distribución(denotado), es el mayor número realde tal manera quepor cadaen el rango deEn esencia, esto mide la probabilidades tomar su valor más probable, dando un límite en el peor de los casos sobre cuán aleatorio es.aparece. Dejandodenotamos la distribución uniforme sobre, claramente .
Para una distribución de n bitscon min-entropía k , decimos quees undistribución.
Definición (Extractor): Extractor ( k , ε )
Dejar ser una función que toma como entrada una muestra de undistribucióny una semilla de d bits dey genera una cadena de m bits. es un extractor ( k , ε ) , si para tododistribuciones, la distribución de salida dees ε -cerca de.
En la definición anterior, ε -cerca se refiere a la distancia estadística .
Intuitivamente, un extractor toma una entrada de n bits débilmente aleatoria y una semilla corta y uniformemente aleatoria, y produce una salida de m bits que parece uniformemente aleatoria. El objetivo es tener un valor bajo(es decir, utilizar la menor cantidad posible de aleatoriedad uniforme) y la mayor cantidad posible delo más posible (es decir, obtener la mayor cantidad posible de bits de salida casi aleatorios).
Extractores potentes
Un extractor es potente si al concatenar la semilla con la salida del extractor se obtiene una distribución que aún se aproxima a la uniforme.
Definición (Extractor Fuerte): A-El extractor fuerte es una función
de tal manera que para cadadistribuciónla distribución(las dos copias dedenotan la misma variable aleatoria ) es-cerca de la distribución uniforme en.
Extractores explícitos
Utilizando el método probabilístico , se puede demostrar que existe un extractor ( k , ε ), es decir, que la construcción es posible. Sin embargo, por lo general no basta con demostrar simplemente que existe un extractor. Se requiere una construcción explícita, que se presenta a continuación:
Definición (Extractor explícito): Para las funciones k ( n ), ε ( n ), d ( n ), m ( n ) una familia Ext = {Ext n } de funciones
es un extractor explícito ( k , ε ) si Ext( x , y ) se puede calcular en tiempo polinomial (en su longitud de entrada) y para cada n , Ext n es un extractor ( k ( n ), ε ( n )).
Mediante el método probabilístico, se puede demostrar que existe un extractor ( k , ε ) con longitud de semilla
y longitud de salida
- . [ 4 ]
Dispersores
Una variante del extractor de aleatoriedad con propiedades más débiles es el dispersor .
Extractores de aleatoriedad en criptografía
Uno de los aspectos más importantes de la criptografía es la generación de claves aleatorias . [ 5 ] A menudo es necesario generar claves secretas y aleatorias a partir de fuentes semisecretas o que pueden estar comprometidas en cierta medida. Al tomar una única clave aleatoria corta (y secreta) como fuente, se puede usar un extractor para generar una clave pseudoaleatoria más larga, que luego se puede usar para el cifrado de clave pública. Más específicamente, cuando se usa un extractor robusto, su salida parecerá uniformemente aleatoria, incluso para alguien que vea parte (pero no la totalidad) de la fuente. Por ejemplo, si se conoce la fuente pero no la semilla (o viceversa). Esta propiedad de los extractores es particularmente útil en lo que comúnmente se denomina criptografía resistente a la exposición, en la que el extractor deseado se usa como una función resistente a la exposición (ERF). La criptografía resistente a la exposición tiene en cuenta la dificultad de mantener en secreto el intercambio inicial de datos que suele tener lugar durante la inicialización de una aplicación de cifrado; por ejemplo, el remitente de la información cifrada tiene que proporcionar a los receptores la información necesaria para el descifrado.
Los siguientes párrafos definen y establecen una relación importante entre dos tipos de ERF ( k- ERF y k -APRF ), que son útiles en la criptografía resistente a la exposición.
Definición ( k -ERF): Un k-ERF adaptativo es una funcióndonde, para una entrada aleatoria, cuando un adversario computacionalmente ilimitadopuede leer de forma adaptativa todoexceptobits,para alguna función insignificante(definido a continuación).
El objetivo es construir una función de respuesta evolutiva adaptativa cuya salida sea altamente aleatoria y esté distribuida uniformemente. Sin embargo, a menudo se requiere una condición más estricta en la que cada salida ocurra con una probabilidad casi uniforme. Para ello, se utilizan funciones resilientes casi perfectas (APRF). La definición de una APRF es la siguiente:
Definición (k-APRF): AAPRF es una funcióndonde, para cualquier configuración debits de la entradaa cualquier valor fijo, el vector de probabilidadde la salidasobre las elecciones aleatorias para ellos bits restantes satisfacena pesar dey para alguna función insignificante.
Kamp y Zuckerman [ 6 ] han demostrado un teorema que establece que si una funciónes un k -APRF, entoncesTambién es un k -ERF. Más específicamente, cualquier extractor con un error suficientemente pequeño que tome como entrada una fuente ciega y de corrección de bits es también un APRF y, por lo tanto, también un k -ERF. Un extractor más específico se expresa en este lema:
Lema: Cualquier-extractorpara el conjunto defuentes de corrección de bits inconscientes, dondees insignificante, también es un k-APRF.
Este lema es demostrado por Kamp y Zuckerman. [ 6 ] El lema se demuestra examinando la distancia de la salida uniforme, que en un-extractor obviamente es como máximo, lo cual satisface la condición del APRF.
El lema conduce al siguiente teorema, que establece que, de hecho, existe una función k -APRF como se describe:
Teorema (existencia): Para cualquier constante positivaExiste un k-APRF explícito., computable en un número lineal de operaciones aritméticas encadenas de bits, cony.
Definición (función despreciable): En la demostración de este teorema, necesitamos una definición de función despreciable . Una funciónse define como insignificante si para todas las constantes.
Demostración: Consideremos lo siguiente-extractor: La funciónes un extractor para el conjunto deFuente de corrección de bits inconsciente:.tiene,y.
La prueba de la existencia de este extractor con, así como el hecho de que es computable en tiempo de computación lineal en la longitud deSe puede encontrar en el artículo de Jesse Kamp y David Zuckerman (pág. 1240).
Que este extractor cumpla los criterios del lema es trivialmente cierto, ya quees una función insignificante.
El tamaño dees:
Ya que sabemosentonces el límite inferior enestá dominado por. En el último paso utilizamos el hecho de quelo que significa que el poder dees como máximo. Y desde entonceses un número entero positivo que sabemos quees como máximo.
El valor dese calcula utilizando la definición del extractor, donde sabemos:
y utilizando el valor detenemos:
Utilizando este valor detenemos en cuenta el peor caso, dondeestá en su límite inferior. Ahora, mediante cálculos algebraicos obtenemos:
Que se insertó en el valor deda
- ,
lo cual prueba que existe un extractor k-APRF explícito con las propiedades dadas.
Ejemplos
Extractor Von Neumann
Quizás el ejemplo más antiguo se deba a John von Neumann . A partir del flujo de entrada, su extractor tomaba bits de dos en dos (primero y segundo, luego tercero y cuarto, y así sucesivamente). Si los dos bits coincidían, no se generaba ninguna salida. Si los bits diferían, se emitía el valor del primer bit. Se puede demostrar que el extractor de Von Neumann produce una salida uniforme incluso si la distribución de los bits de entrada no es uniforme, siempre que cada bit tenga la misma probabilidad de ser uno y no exista correlación entre bits sucesivos. [ 7 ]
Por lo tanto, toma como entrada una secuencia de Bernoulli con p no necesariamente igual a 1/2, y produce como salida una secuencia de Bernoulli con En términos más generales, se aplica a cualquier secuencia intercambiable ; solo se basa en el hecho de que para cualquier par, 01 y 10 son igualmente probables: para ensayos independientes, estas tienen probabilidades, mientras que para una secuencia intercambiable la probabilidad puede ser más complicada, pero ambas son igualmente probables. En pocas palabras, debido a que los bits son estadísticamente independientes y debido a la propiedad conmutativa de la multiplicación, se seguiría quePor lo tanto, si los pares 01 y 10 se asignan a los bits 0 y 1 y se descartan los pares 00 y 11, la salida será una distribución uniforme.
Las iteraciones del extractor de Von Neumann incluyen el extractor de Elias y Peres, este último reutiliza bits para producir flujos de salida más grandes que el extractor de Von Neumann dado el mismo tamaño de flujo de entrada. [ 8 ]
Máquina del caos
Otro enfoque consiste en utilizar la salida de una máquina de caos aplicada al flujo de entrada. Este enfoque se basa generalmente en las propiedades de los sistemas caóticos . Los bits de entrada se envían a la máquina, que desarrolla órbitas y trayectorias en múltiples sistemas dinámicos. De este modo, pequeñas diferencias en la entrada producen salidas muy diferentes. Dicha máquina tiene una salida uniforme incluso si la distribución de los bits de entrada no es uniforme o presenta graves fallos, y por lo tanto puede utilizar fuentes de entropía débiles . Además, este esquema permite una mayor complejidad, calidad y seguridad del flujo de salida, controladas mediante la especificación de tres parámetros: coste de tiempo , memoria requerida y clave secreta .
Cabe señalar que, si bien los sistemas caóticos verdaderos son matemáticamente sólidos para "amplificar" la entropía, esto se basa en la disponibilidad de números reales con precisión infinita. Cuando se implementan en computadoras digitales con representación numérica de precisión finita, como en las máquinas caóticas que utilizan el estándar IEEE 754 de punto flotante , se ha demostrado que la periodicidad es muy inferior al espacio total para una longitud de bit dada. [ 9 ]
Función hash criptográfica
También es posible utilizar una función hash criptográfica como extractor de aleatoriedad. Sin embargo, no todos los algoritmos de hash son adecuados para este propósito.
Aplicaciones
Los extractores de aleatoriedad se utilizan ampliamente en aplicaciones criptográficas, donde se aplica una función hash criptográfica a una fuente de alta entropía, pero no uniforme, como información de temporización de unidades de disco o retrasos del teclado, para obtener un resultado uniformemente aleatorio.
Los extractores de aleatoriedad han desempeñado un papel fundamental en los recientes avances de la criptografía cuántica , por ejemplo, al destilar la salida bruta de los generadores de números aleatorios cuánticos en una salida más corta, segura y uniformemente aleatoria. [ 10 ]
Los extractores robustos han demostrado ser útiles en la generación de números aleatorios verificables en sistemas comerciales. Recientemente, han permitido utilizar la aleatoriedad (casi perfecta) generada por una computadora cuántica para mejorar la calidad de la aleatoriedad en sistemas remotos que no tienen acceso a una computadora cuántica. [ 11 ] [ 12 ] [ 13 ] La capacidad de proporcionar aleatoriedad verificada mediante física cuántica completamente en software no sería posible sin el uso de extractores robustos. [ 12 ]
La extracción de aleatoriedad también se utiliza en algunas ramas de la teoría de la complejidad computacional y en la construcción de códigos correctores de errores decodificables por lista .
Véase también
Referencias
- ↑ Extracción de aleatoriedad de distribuciones muestreables . Portal.acm.org. 12 de noviembre de 2000. pág. 32. ISBN 9780769508504. Consultado el 12 de junio de 2012 .
- ↑ David K. Gifford, Números aleatorios naturales, MIT /LCS/TM-371, Instituto Tecnológico de Massachusetts, agosto de 1988.
- ↑ Luca Trevisan. "Extractores y generadores pseudoaleatorios" (PDF) . Consultado el 21 de octubre de 2013 .
- ↑ Ronen Shaltiel. Desarrollos recientes en la construcción explícita de extractores. Pág. 5.
- ↑ Jesse Kamp y David Zuckerman. Extractores deterministas para fuentes de corrección de bits y criptografía resistente a la exposición., SIAM J. Comput., vol. 36, n.º 5, págs. 1231–1247.
- 1 2 Jesse Kamp y David Zuckerman. Extractores deterministas para fuentes de fijación de bits y criptografía resistente a la exposición. Pág. 1242.
- ↑ John von Neumann. Diversas técnicas utilizadas en relación con dígitos aleatorios. Applied Math Series, 12:36–38, 1951.
- ↑ Prasitsupparote, Amonrat; Konno, Norio; Shikata, Junji (octubre de 2018). "Análisis numérico y no asintótico de los extractores de Elias y Peres con secuencias de entrada finitas" . Entropy . 20 ( 10): 729. Bibcode : 2018Entrp..20..729P . doi : 10.3390/e20100729 . ISSN 1099-4300 . PMC 7512292. PMID 33265818 .
- ↑ Persohn, Kyle; Povinelli, Richard. "Análisis de generadores de números pseudoaleatorios de mapas logísticos para la periodicidad inducida por la representación de punto flotante de precisión finita" . Universidad de Marquette . Consultado el 3 de enero de 2024 .
- ↑ Ma, Xiongfeng; Xu, Feihu; Xu, He; Tan, Xiaoqing; Qi, Bing; Lo, Hoi-Kwong (junio de 2013). "Postprocesamiento para generadores cuánticos de números aleatorios: evaluación de entropía y extracción de aleatoriedad". Physical Review A. 87 ( 6) 062327. arXiv : 1207.1473 . Bibcode : 2013PhRvA..87f2327M . doi : 10.1103/PhysRevA.87.062327 .
- ↑ Johnston, Hamish (16 de mayo de 2014). "Cómo hacer un generador cuántico de números aleatorios a partir de un teléfono móvil" . Physics World . Recuperado el 24 de noviembre de 2025 .
- 1 2 Foreman, Cameron; Wright, Sherilyn; Edgington, Alec; Berta, Mario; Curchod, Florian J. (2023-03-30). "Amplificación práctica de la aleatoriedad y privatización con implementaciones en computadoras cuánticas". Quantum . 7 : 969. arXiv : 2009.06551 . doi : 10.22331/q-2023-03-30-969 .
- ↑ "Mercados de generadores cuánticos de números aleatorios 2024: una evaluación tecnológica y un estudio de mercado a diez años" . Investigación y mercados . Inside Quantum Technology. Septiembre de 2024. Consultado el 24 de noviembre de 2024 .
- Extractores de aleatoriedad para fuentes y aplicaciones independientes , Anup Rao
- Desarrollos recientes en construcciones explícitas de extractores , Ronen Shaltiel
- Extracción de aleatoriedad y derivación de claves utilizando los modos CBC, Cascade y HMAC , Yevgeniy Dodis et al.
- Derivación de claves y extracción de aleatoriedad , Olivier Chevassut et al.
- Extractores deterministas para fuentes de corrección de bits y criptografía resistente a la exposición , Jesse Kamp y David Zuckerman
- Lanzar una moneda sesgada (y la optimalidad de la estrategia multinivel avanzada) (apuntes de clase) , Michael Mitzenmacher
- Teoría de la complejidad computacional
- Algoritmos criptográficos
- generación de números aleatorios