Rompere il mio schema di crittografia dagli anni ottanta [chiuso]

2

Negli anni '80, ho scritto un programma di crittografia per alcuni file di dati di piccole dimensioni (10-20 K). È puramente basato su EOR, quindi sia la crittografia sia la decifratura sono identiche e possono passare avanti e indietro all'infinito.

  1. L'utente inserisce una password ASCII da 8 byte
  2. Quattro indicatori di memoria a 16 bit sono impostati dagli 8 byte password
  3. I dati crittografati sono EOR-ed con dati del kernel ROM sequenziali

  4. Tuttavia, se la password non è corretta durante la decrittografia, i dati decrittografati saranno inutili

Pseudo-codice (trasposto dalla versione in lingua della macchina originale):

*a = password[0] | password[1] << 8;
*b = password[2] | password[3] << 8;
*c = password[4] | password[5] << 8;
*d = password[6] | password[7] << 8;

for(i=0; i<strlen(data); i++) {
  n = i & 0xff;
  data[i] = data[i] ^ a[n] ^ b[n] ^ c[n] ^ d[n];
}

La mia domanda:

Questo algoritmo ha un punto debole che mi permetterà di trovare la password / decrittografare i dati senza usare la forza bruta regolare (prova tutte le combinazioni, liste di parole, ecc.)?

(Non so come saranno i dati decrittografati, quindi testare per il successo è un puzzle in sé, ma penso che cercare sequenze di codice macchina valido dovrebbe fare il trucco ...)

    
posta forthrin 31.05.2018 - 21:54
fonte

0 risposte

Leggi altre domande sui tag