Domanda

Ho alcuni dati crittografati codificati Base-64 e ho notato una buona dose di ripetizione. In una stringa (circa) di circa 200 caratteri, un determinato carattere Base-64 viene ripetuto fino a 7 volte in diverse corse ripetute separate.

È una bandiera rossa che c'è un problema nella crittografia? Secondo la mia comprensione, i dati crittografati non dovrebbero mai mostrare una ripetizione significativa, anche se il testo in chiaro è del tutto uniforme (cioè anche se crittografa 2 GB di nient'altro che la lettera A, non ci dovrebbe essere una ripetizione significativa nella versione crittografata).

È stato utile?

Soluzione

Secondo la distribuzione binomiale, c'è circa il 2,5% di probabilità che tu veda un personaggio da un set di 64 apparire sette volte in una serie di 200 caratteri casuali. È una piccola possibilità, ma non trascurabile. Con ulteriori informazioni, potresti aumentare la tua fiducia dal 97,5% a qualcosa di molto vicino al 100% ... o scoprire che il testo di Cipher è davvero uniformemente distribuito.

Dici che il "personaggio è ripetuto fino a 7 volte "in diverse corse ripetute separate. Non sono informazioni sufficienti per dire se il testo di Cipher ha un pregiudizio. Invece, ci racconta il numero totale di volte in cui è apparso il carattere e il numero totale di caratteri del testo ciferano. Ad esempio" è apparso un totale di 3125 volte in 1000 corse di 200 caratteri ciascuno ".

Inoltre, devi essere sicuro di parlare dell'output grezzo di una cifra. Il testo di Cipher è spesso incapsulato in una "busta" come quella definita dalla sintassi del messaggio crittografico. Naturalmente, questa struttura racchiusa avrà schemi prevedibili.

Altri suggerimenti

Beh, immagino che dipenda. La ripetizione in generale è una brutta cosa se rappresenta gli stessi dati.

Considerando che stai codificando, hai guardato i dati per vedere se hai qualcosa che si ripete in quei conteggi?

Per capire meglio devi sapere che tipo di crittografia usa. Potrebbe essere solo una coincidenza che stiano ripetendo.

Ma se la ripetizione proviene dagli stessi dati, allora può essere una bandiera rossa perché i conteggi di frequenza possono essere utilizzati per decodificarla.

Che tipo di crittografia stai usando? Home Made o alcuni standard del settore?

Dipende da come stai crittografando i tuoi dati.

Base64 che codifica una stringa può essere considerato come offuscamento leggero, ma non è crittografia. Lo scopo della codifica di base64 è quello di consentire la codifica di qualsiasi tipo di dati binari come stringa ASCII sicura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top