Los PRG seguros se utilizan en una variedad de aplicaciones criptográficas, que incluyen:
* Cifrado:se puede utilizar un PRG seguro para generar una clave para cifrar datos. Luego, esta clave se puede utilizar para cifrar los datos de tal manera que sea computacionalmente inviable descifrarlos sin la clave.
* Autenticación:se puede utilizar un PRG seguro para generar un par de desafío-respuesta para autenticar usuarios. El desafío se envía al usuario, quien responde con la respuesta correspondiente. El verificador comprueba que la respuesta es correcta y, si lo es, el usuario queda autenticado.
* Firmas digitales:Se puede utilizar un PRG seguro para generar una firma digital para un mensaje. Luego, esta firma se puede utilizar para verificar que el mensaje proviene del remitente y que no ha sido manipulado.
Hay varias formas diferentes de construir PRG seguros. Algunas técnicas comunes incluyen:
* Uso de una función hash criptográfica:se puede construir un PRG seguro utilizando una función hash criptográfica para codificar un valor inicial secreto. La salida de la función hash se utiliza luego como salida del PRG.
* Uso de un cifrado de bloque:se puede construir un PRG seguro utilizando un cifrado de bloque para cifrar un valor inicial secreto. La salida del cifrado de bloque se utiliza luego como salida del PRG.
* Uso de un cifrado de flujo:se puede construir un PRG seguro utilizando un cifrado de flujo para cifrar un valor inicial secreto. La salida del cifrado de flujo se utiliza luego como salida del PRG.
La seguridad de un PRG seguro depende de la seguridad de la primitiva criptográfica subyacente (como una función hash, un cifrado de bloque o un cifrado de flujo). Si la primitiva criptográfica es segura, entonces el PRG seguro también lo será.