¿Qué tan seguro es un texto cifrado? [cerrado]

0

Hay aplicaciones como CTI Text Encryption que encriptan los textos con una o varias contraseñas y las convierten en palabras y dígitos sin sentido.

  

e.x

     

Texto original (antes del cifrado):

     

El zorro marrón rápido salta sobre el perro perezoso.

     

Texto cifrado (después del cifrado):   ga8Ba3jH55sI4eFT0nRBesHoLGLbriXeWomE7vpxbFszJFnSXJRYy1MJoKy + y + krLmdmYxGBhRg3oRDA9OjqemJSzdryFI2b5BjseUnhhs8      

Resultado de descifrado del texto cifrado:

     

El zorro marrón rápido salta sobre el perro perezoso.

Tengo algunas preguntas

  1. ¿Qué tan seguros son estos textos cifrados?
  2. ¿Son reversibles y uno puede encontrar el texto original usando técnicas utilizadas para hashes, archivos encriptados, truecrypt, etc.?
  3. Si es posible, ¿cuánto tiempo se tarda en encontrar el texto original cifrado con 4 contraseñas y qué hardware posiblemente se necesita?
pregunta John 27.09.2015 - 18:50
fuente

1 respuesta

8

Un vistazo al código fuente, especialmente el archivo AES256BitExpress.cs , revela el siguiente extracto:

    public static byte[] AES_Encrypt(byte[] bytesToBeEncrypted, byte[] passwordBytes)
    {
        byte[] encryptedBytes = null;
        byte[] saltBytes = passwordBytes;

        using (MemoryStream ms = new MemoryStream())
        {
            using (RijndaelManaged AES = new RijndaelManaged())
            {
                AES.KeySize = 256;
                AES.BlockSize = 128;

                var key = new Rfc2898DeriveBytes(passwordBytes, saltBytes, 1000);
                AES.Key = key.GetBytes(AES.KeySize / 8);
                AES.IV = key.GetBytes(AES.BlockSize / 8);

Utiliza AES (con una clave de 256 bits), lo cual es bueno. Deriva la clave y el IV de la contraseña usando PBKDF2 (eso es lo que Rfc2898DeriveBytes implementa), lo cual está bien (aunque 1000 iteraciones son un poco demasiado bajas para la comodidad con máquinas modernas). Utiliza la propia contraseña como sal para PBKDF2, que solo se puede describir como "atrozmente débil". Esto ignora totalmente el punto de la sal y permite ataques paralelos, incluido el paralelismo en el tiempo (también conocido como "tablas precomputadas").

Esta es una buena ilustración de cómo los algoritmos seguros y sanos se pueden ensamblar en algo que ofrece muy poca seguridad. Solo puedo desaconsejar el uso de ese software con fines de seguridad.

    
respondido por el Thomas Pornin 27.09.2015 - 19:04
fuente

Lea otras preguntas en las etiquetas