Si desea garantizar la seguridad de sus comunicaciones, en particular, evite los ataques Man-in-the-Middle , necesitas mucho más que cifrado. El cifrado solo proporciona confidencialidad , pero no evita las alteraciones (por ejemplo, la reproducción de paquetes, la eliminación de paquetes, la reordenación de paquetes, la conmutación de bits ...). También necesita algunas comprobaciones de integridad y una forma de garantizar que el cliente está hablando con el servidor correcto. Ensamblar protocolos criptográficos es muy difícil (no es difícil hacer que se ejecute; alcanzar seguridad es difícil), por lo que lo más inteligente es reutilizar un protocolo ya definido que hace el trabajo y ha sido bien estudiado. Esto se denomina SSL (también conocido como "TLS" en sus versiones recientes). Será mucho mejor que cualquier esquema propio y mucho más fácil para usted ya que las bibliotecas que lo implementan ya existen. El software que es más fácil de implementar es el software que ya se ha implementado.
Para su pregunta específica, es posible convertir un determinista PRNG criptográficamente seguro en un esquema de encriptación utilizando como clave el estado de inicio interno del PRNG: genera la secuencia pseudoaleatoria dependiente de la clave, que luego XOR con los datos para cifrar; El descifrado es idéntico. Así es como funciona la mayoría de los cifrados de flujo . El uso es delicado: NUNCA debe cifrar dos mensajes con la misma clave, ya que sería el infame dos veces el pad . Cuando SSL usa RC4 (otro cifrado de flujo más conocido), cada conexión usa una nueva clave.
Si ISAAC es criptográficamente seguro queda por verse. Es antiguo, y ha atraído algunas revisiones por parte de los criptógrafos, lo cual es bueno; sin embargo, no formaba parte del proyecto eSTREAM y ni siquiera se ha enviado a eBASC (para la evaluación comparativa en muchos tipos de PC), por lo que parece un poco "abandonado". Como no se especifica la parte "inicializadora" (convertir una clave inicial, como una pequeña secuencia de bits, en el estado inicial inicial del PRNG), se puede argumentar que ISAAC, como algoritmo criptográfico, nunca se "completó", excluyendo Cualquier esfuerzo decente en criptoanálisis. Estudiarlo con fines académicos está bien, pero debo recomendarlo en contra de su uso en producción. Y, de todos modos, deberías usar SSL.