Alcune domande su cripto

1

Come determinare quale tipo di codifica / crittografia è stato utilizzato?

Questo link discute nella prima risposta un valore "128 bit". Come fai a sapere che è a 128 bit e che cos'è un valore a 128 bit?

Se mdo una stringa su Linux e poi lo faccio su internet, ottengo risultati diversi. Perchè è questo? Lo stesso con qualsiasi altro algoritmo di hash.

    
posta user49574 20.06.2014 - 05:38
fonte

2 risposte

2

Nei computer, tendiamo a parlare in tre basi, binario (base 2), decimale (base 10 - quella a cui sei abituato) ed esadecimale (base 16). I computer di solito codificano tutto in cifre binarie

Un po 'è b -inary dig- it - una cifra in base 2 che è uno 0 o 1. Ad esempio, potresti rappresentare il numero decimale 42 come 6 cifre binarie: 101010 bin come 42 = 32 + 8 + 2 = 2 5 + 2 3 + 2 1 .

Analogamente ogni cifra esadecimale è un numero compreso tra 0 e 2 4 -1 = 15 = f hex = 1111 binary . Le 16 cifre esadecimali sono 0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f. (A volte gli ultimi 6 caratteri sono scritti in maiuscolo - sono le stesse lettere).

Quindi se vedi un hash simile a b1946ac92492d2347c6235b4d2611184 puoi immediatamente notare che ci sono 32 caratteri esadecimali. Così come ogni carattere esadecimale è di 4 bit, è 32 * 4 = 128 bit.

Mentre ci siamo, dovremmo menzionare che un byte è un'unità conveniente: la maggior parte dei caratteri in chiaro in un file di testo è rappresentata in un byte di dati; ad esempio, un file di testo in chiaro da 100 kilobyte avrà circa 100.000 caratteri al suo interno. Un byte è 8 bit - in binario un numero 0 e 255 = 11111111 binario = ff hex ) - due caratteri esadecimali.

    
risposta data 20.06.2014 - 05:52
fonte
0

Sono 128 bit perché l'hashing con MD5 ha come risultato un carattere hexadecimal numero composto da 128 bit di dati. (Ovvero, 128 bit di "0" o "1" s.)

I computer funzionano in binario e binario è composto da "0" e "1" s. Cioè, o c'è qualcosa lì o non c'è. Un "bit" è uno "0" o un "1". Quindi, in una stringa a 128 bit ci sarà una combinazione di 128 "0" se / o "1".

Poiché caratteri esadecimali sono 4 bit ciascuno , 32 caratteri * 4 bit = 128 bit.

L'hashing con una CLI rispetto all'utilizzo di un sito su Internet produrrà risultati diversi a seconda che tu decida di includere interruzioni di riga e così via. Ecco un buon post SO riguardo alla domanda che hai .

    
risposta data 20.06.2014 - 05:46
fonte

Leggi altre domande sui tag