por puntos...
1) aunque está diseñado por la nsa, es codigo abierto, por lo tanto, muy resisado y testeado... dandole poca oportunidad e escoder un backdoor... sobre el destino de MD5 el defecto es la colisión... a medida que las computadoras aumenten la potencia, el tiempo para generar una colisíon disminuye... ahorita lo más que han logrado acortar el proceso de a 2
69 operaciones para lograrlo, decir 590.295.810.358.705.651.712 operaciones... es decira 1.000.000.000 de hash/s (un numero dificil tomando en cuenta lo complejo del algoritmo) tardarías 18.718 años en colisionar
el MD5 su defecto es su largo
2)
RSA se utiliza para cifrar la clave simétrica que cifrará con AES el mensaje
correción... RSA se usa para generar el par de de claves, no para cifrar la contraseña
(aquí un tema que hice con un poquito de explicación y aplicación en python)y ya se han desarrollado ataques contra versiones reducidas de AES con un número de rondas poco por debajo del real de AES
basicamente hablas de DES y TDES... si, son vulnerables... pero toma en cuenta esto... cada ciclo de aes aumenta la seguridad dificultad en 16bits de la contraseña... es decir, la aumenta no es un ciclo igual, sino en un cilco con data diferente... mas un ciclo final... es decir, si logras 7 de 10 rondas en 1 hora, las otras 3 rondas te puede tomar 4096 veces ese tiempo... es decir, romper 7 rondas en una hora no te asegura que vaya a ser viable (5 meses para el resto)
4) reviso DSA y te puedo decir, si DSA es vulnerable, poco queda para RSA, ya que DSA es una version "alargada" de un proceso similar a RSA... y puedo decirte que RSA es bastante solido... que sea limitado para tamaños de firma y demás, no lo hace malo, en ese aspecto AES es limitado, solo te permite 3 largos de contraseña y el mensaje debe ser multiplo de 16...