2010-09-20 9 views
5

Come posso crackare due ciphertexts che hanno utilizzato la stessa chiave due volte? Ad esempio, plaintext1 utilizza la chiave "abcdefg" e plaintext2 utilizza la chiave "abcdefg".OTP/XOR Cracking di due ciphertexts con la stessa chiave

So che ciphertext2^ciphertext1 è uguale a plaintext1^plaintext2. E il metodo per decifrare plaintext1^plaintext2 è lo stesso metodo per decifrare un "cifrario di libri" (anche a volte chiamato "cifratura a chiave in esecuzione", sebbene una cifratura a chiave in esecuzione non sia la stessa di un cifrario di libri, giusto?)

So che dovrei usare un attacco di dizionario, ma non sono sicuro di quale dizionario/lista di parole dovrei usare, e dell'algoritmo usato nel cracking di questo. Qualcuno può fornirmi un link o un codice che mostra come craccarlo?

Sono nuovo della crittografia e volevo solo farlo per divertimento. Qualcuno mi può aiutare? Grazie.

risposta

5

L'attacco più comune è "far scorrere" una parola comune (ma non troppo breve) e XOR contro posizioni successive nel flusso combinato. Dove la parola è stata utilizzata in un flusso, XOR produrrà (di solito) testo leggibile per l'altro stream.

+0

Puoi darmi qualche pseudocodice? Grazie. –

+5

Piuttosto che preoccuparsi dello pseudocodice, consiglierei di farlo a mano almeno un paio di volte; anche più che con molte altre cose, la crittoanalisi richiede davvero di fare un lavoro a mano per capire onestamente cosa stai facendo prima di poter scrivere codice utile. –

+0

È utile nella selezione della parola di greppia se si conosce * qualcosa * sul testo in chiaro - da chi era, a, quale potrebbe essere il soggetto approssimativo ... – caf

Problemi correlati