come identificare il testo in chiaro dal cifrario [chiuso]

-3

Sto cercando di trovare quale algoritmo di crittografia è stato utilizzato in questo codice

original text: 11011698
encrypted text/cipher:  uIC4hZFECIAYMi%20FWxamjQ==

original text:11008569
encrypted text/cipher:  ct2bHNmgahZYKTbh/8LQRw==

Qualcuno può aiutarti?

    
posta toukir 20.04.2013 - 22:15
fonte

2 risposte

4

La codifica del testo cifrato sembra essere base64 . La codifica Base64 spesso termina con un doppio segno di uguale per il padding e utilizza caratteri da [A-Za-z0-9] oltre a due caratteri extra, in genere + e /, sebbene esistono varianti . Entrambi sembrano essere 16 byte (dal padding); ma sembra che ci sia un problema con il primo; dato che ha un carattere% che non è comunemente usato in base64. Forse è uno spazio con codifica URL come %20 è uno spazio. Immagino che il 62esimo simbolo (comunemente un +) possa essere stato convertito in% 20. Quindi sarebbe base64-decodificare i byte: b8 80 b8 85 91 44 08 80 18 32 2f 85 5b 16 a6 8d

Il secondo base64-decodifica a 16 byte (128 bit):

72 dd 9b 1c d9 a0 6a 16 58 29 36 e1 ff c2 d0 47

Ci sono pochissime informazioni extra da cui partire, senza conoscere la chiave segreta; ma è probabile un codice a 128 bit come AES-128.

Una funzione crittografica sicura dovrebbe essere indistinguibile per qualsiasi attaccante in tempo polinomiale da una funzione puramente casuale dal punto di vista di qualcuno che non ha la chiave. Conoscere il testo in chiaro e il testo cifrato per una manciata di valori non fornisce alcuna informazione sul codice utilizzato (diverso dalla lunghezza del testo cifrato) o sulla chiave, a meno che il codice sottostante non sia molto difettoso.

Inoltre, se ti sbagli, potrebbero aver usato una funzione di hash a 128 bit invece della crittografia; ad esempio, md5. Tuttavia, questo non sembra essere il caso. (Ad esempio, 72dd9b1cd9a06a16582936e1ffc2d047 non sembra essere in nessuna ricerca inversa MD5 e alcuni test in avanti della tua stringa non sembrano funzionare neanche.

    
risposta data 20.04.2013 - 22:26
fonte
0

Il primo carattere codificato uIC4hZFECIAYMi% 20FWxamjQ == è la concatenazione di due parole separate da uno spazio. Lo spazio è indicato da% 20 nel testo codificato in base64. Esadecimale della prima parola è: b8 80 b8 85 91 44 08 80 18 32 (in chiaro sono due caratteri non ASCII seguiti da D2). La seconda parte del testo codificato FWxamjQ == è la codifica base64 della parola ASCII lZ4.

    
risposta data 20.04.2013 - 23:01
fonte

Leggi altre domande sui tag