Quiero cifrar mis comunicaciones de red con RC4 . La razón para elegir RC4 es la implementación simple y la velocidad.
Necesito tener una implementación de Python pura, porque no puedo compilar para mi sistema de destino. Mi implementación está ligeramente modificada de TLS Lite .
Si entiendo los problemas de seguridad correctamente, el problema principal es que el algoritmo no está diseñado para usarse con un nonce . Tal como se propuso en Wikipedia, mi enfoque es generar un hash MD5 de una clave y un nonce y usar esto como clave de cifrado.
¿Esto es suficiente o también tengo que implementar la variante dropN
? ¿Algún otro punto débil que tenga que mirar?
También se apreciaría una alternativa rápida y simple a RC4.
Actualizar Después de leer Archivo de impresión electrónica de criptología: Informe 2002/067 , creo que definitivamente debería usar el enfoque dropN
(con al menos 512 bytes).
Actualización 2 Revisar mi implementación también sería bueno.