Crack AES Modalità ECB C ++ [in attesa]

1

Ho questo piccolo pezzo di codice per la crittografia:

typedef unsigned char byte;

int encrypt(char *filename) {

    byte key[ 16 ];
    int i;
    memset( key, 0x00, 16);

    for(i=0;i<=sizeof(*key);i++){ 
    key[i]=(byte)(std::rand() % 256);
    }

    auto enc = new ECB_Mode<AES>::Encryption(key, sizeof(key));
}

Esiste un metodo per decifrare o decrittografare un pezzo di testo crittografato crittografato con questa funzione?

    
posta Mark Smith 03.03.2017 - 18:59
fonte

1 risposta

1

Il primo problema che vedo è che si utilizza una funzione casuale standard invece di un random crittografico. Non vedo come l'hai seminato, ma se è srand(time(0)) , probabilmente potrebbe essere rotto.

Tuttavia, la modalità AES ECB è ancora AES. Se hai solo 1 blocco di testo cifrato, va bene. Se avete molti testi allora probabilmente non sarete ancora in grado di craccarlo, il problema con la modalità ECB è che 2 blocchi dello stesso testo in chiaro avranno lo stesso blocco di testo cifrato. Quindi dipende molto dal testo che vuoi criptare e dalla conoscenza da parte di chi attacca del testo in chiaro originale. Quello che vedi su Wikipedia è un'immagine codificata dove ci sono molti blocchi simili. Tutti i blocchi bianchi saranno simili, tutti i blocchi neri saranno simili e così via e così via.

    
risposta data 04.03.2017 - 00:27
fonte

Leggi altre domande sui tag