Python Forensics - Cracking di una crittografia
In questo capitolo impareremo come craccare i dati di un testo recuperati durante l'analisi e le prove.
Un testo normale in crittografia è un normale testo leggibile, come un messaggio. Un testo cifrato, d'altra parte, è l'output di un algoritmo di crittografia recuperato dopo aver inserito il testo normale.
Il semplice algoritmo di come trasformiamo un messaggio di testo normale in un testo cifrato è il file Caesar cipher, inventato da Giulio Cesare per mantenere segreto il testo in chiaro ai suoi nemici. Questa cifra implica lo spostamento di ogni lettera del messaggio "in avanti" di tre posizioni nell'alfabeto.
Di seguito è riportata un'illustrazione demo.
a → D
b → E
c → F
....
w → Z
x → A
y → B
z → C
Esempio
Un messaggio inserito quando esegui uno script Python offre tutte le possibilità dei caratteri, che viene utilizzato per l'evidenza del modello.
I tipi di prove di pattern utilizzati sono i seguenti:
- Tracce e segni di pneumatici
- Impressions
- Fingerprints
Ogni dato biometrico comprende dati vettoriali, che dobbiamo decifrare per raccogliere prove complete.
Il seguente codice Python mostra come è possibile produrre un testo cifrato da testo normale -
import sys
def decrypt(k,cipher):
plaintext = ''
for each in cipher:
p = (ord(each)-k) % 126
if p < 32:
p+=95
plaintext += chr(p)
print plaintext
def main(argv):
if (len(sys.argv) != 1):
sys.exit('Usage: cracking.py')
cipher = raw_input('Enter message: ')
for i in range(1,95,1):
decrypt(i,cipher)
if __name__ == "__main__":
main(sys.argv[1:])
Produzione
Ora controlla l'output di questo codice. Quando inseriamo un semplice testo "Radhika", il programma produrrà il seguente testo cifrato.