Conoscere input e output, come determinare il metodo di codifica e la passkey utilizzata nella codifica?

1

Ho guardato su questo sito e su SE. ma non sono riuscito a farcela. C'è un modo per trovare quale tipo di codifica (e / o chiave di codifica) viene utilizzato? Ad esempio, sto testando un'applicazione web (PHP) che codificherà i link prima che vengano mostrati all'utente finale.

Ad esempio, il link sorgente è: link

Quindi l'output codificato del collegamento sarà: Wkt6OVpIeHBLR0J1Umx6TkdVRWRlZm03MExydXhnTTI4UEUvTGN1YkM1VW5Ma2JkQUJ4T3hMNDNhWjREZ3ZoNlUyd1lETmRoRlZlRFZlRVdNVzY0OGc9PQ ==

C'è un modo per scoprire quale metodo di codifica è stato usato e la passkey (la stringa che è stata usata per mixare / sostituire la stringa di input per produrre la stringa di output).

A parte provare solo alcune sequenze di hashing / codifica comuni sulle stringhe originali e sperare di incappare in un output corrispondente? Se ho molte stringhe di input e hash di output, questo può aiutare in qualche modo per l'analisi?

    
posta RoyalRoy 16.05.2014 - 20:59
fonte

1 risposta

1

In primo luogo, una definizione. In informatica, una "codifica" è un modo alternativo di rappresentare i dati, senza alcuno sforzo per mascherare i dati (ASCII, EBCDIC e ISO-8859-1 sono tutti esempi di codifiche di testo, mentre base64 e uuencoding sono esempi di codifiche binarie-testo). D'altra parte, la "crittografia" è un metodo per mascherare la natura e il valore dei dati (AES, DES e RC4 sono tutti esempi di crittografia, come lo è il molto più antico cesare di Cesare).

Capire quale tipo di crittografia è stato utilizzato per crittografare qualcosa è una forma di attacco distintivo , un tipo di crittografia di analisi gli schemi sono progettati per resistere. L'identificazione di una codifica, d'altra parte, può spesso essere effettuata tramite analisi statistiche o euristiche.

Nel tuo caso, i dati sono quasi certamente una codifica, base64 , che è semplicemente un modo di rappresentare dati binari entro i limiti di un sistema progettato per gestire il testo. Nello specifico, sembra essere un blocco di 64 byte di dati binari che è stato codificato in base64 due volte (il segno di doppio uguale alla fine ricorda molto di base64, come lo schema generale delle lettere maiuscole e minuscole).

    
risposta data 17.05.2014 - 07:11
fonte