Ho bisogno di un algoritmo (qualsiasi linguaggio di programmazione) per testare la vitalità con un algoritmo di scalata per rompere un cifrario per una sfida crittografica. L'algoritmo dovrebbe verificare quanto è probabile che una decrittazione casuale (senza spazi) sia un testo inglese (che fornisce anche punti per parole ancora incomplete!) O solo una sequenza casuale di caratteri.Rilevamento lingua forza bruta
Ho provato con diversi algoritmi che ho sviluppato ma non erano così buoni.
La mia ricerca:
Un progetto crypto enigma M4 (http://www.bytereef.org/m4_project.html) utilizza le statistiche Sinkov, che voglio usare, anche.
L'unica cosa che ho trovato era un documento di «quebra -pedra», un framework Java che include l'analisi del peso-registro Sinkov che sto cercando.
http://www.google.com/m?client=ms-android-samsung&source=android-home#q=Quebra-pedra+framework+java
Ma non ho trovato dove scaricare il quadro. Inoltre non ho trovato alcuna implementazione o descrizione del test Sinkov.
Sarei felice per qualsiasi suggerimento. Grazie.
Grazie per il tuo commento. Non conoscevo le catene di Markov, ma avevo la stessa idea di calcolare il punteggio per i bigram. Il problema che avevo con la mia formula era che la distanza tra testo reale e immondizia era molto piccola. Guarderò il tuo codice per saperne di più sulle catene di Markov. –
Il mio collega ha tradotto il progetto di rrenaud in Java, nel caso questo sia utile a chiunque https://github.com/paypal/Gibberish-Detector-Java – Eyal