Algunas preguntas sobre crypto

1

Cómo determinar qué tipo de codificación / cifrado se ha utilizado?

Este enlace analiza en la primera respuesta un valor de "128 bits". ¿Cómo sabe que es de 128 bits y qué es un valor de 128 bits?

Si md5sum una cadena en Linux y luego lo hago en internet, obtengo resultados diferentes. ¿Por qué es esto? Lo mismo con cualquier otro algoritmo hash.

    
pregunta user49574 20.06.2014 - 05:38
fuente

2 respuestas

2

En las computadoras, tendemos a hablar en tres bases, binario (base 2), decimal (base 10) y hexadecimal (base 16). Las computadoras generalmente codifican todo en dígitos binarios

Un bit es b -inary dig- it : un dígito en la base 2 que es un 0 o un 1. Por ejemplo, podrías representar el número decimal 42 como 6 dígitos binarios: 101010 bin as 42 = 32 + 8 + 2 = 2 5 + 2 3 + 2 1 .

De manera similar, cada dígito hexadecimal es un número entre 0 y 2 4 -1 = 15 = f hex = 1111 binary . Los 16 dígitos hexadecimales son 0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f. (A veces, los últimos 6 caracteres se escriben en mayúsculas, son las mismas letras).

Entonces, si ves un hash que parece b1946ac92492d2347c6235b4d2611184 puedes notar inmediatamente que hay 32 caracteres hexadecimales. Por lo tanto, como cada carácter hexadecimal es de 4 bits, es 32 * 4 = 128 bits.

Mientras estamos en ello, debemos mencionar que un byte es una unidad conveniente: la mayoría de los caracteres de texto simple en un archivo de texto están representados en un byte de datos; por ejemplo, un archivo de texto sin formato de 100 kilobytes tendrá aproximadamente 100,000 caracteres. Un byte es de 8 bits; en binario, un número 0 y 255 = 11111111 binary = ff hex ) - dos caracteres hexadecimales.

    
respondido por el dr jimbob 20.06.2014 - 05:52
fuente
0

Son 128 bits porque el hashing con MD5 da como resultado un carácter hexadecimal que se compone de 128 bits de datos. (Es decir, 128 bits de "0" s o "1" s.)

Las computadoras funcionan en binario, y el binario se compone de "0" y "1". Es decir, o hay algo allí o no hay. Un "bit" es un "0" o un "1". Por lo tanto, en una cadena de 128 bits habrá una combinación de 128 "0" sy / o "1" s.

Debido a que los caracteres hexadecimales son de 4 bits cada uno , 32 caracteres * 4 bits = 128 bits.

Hashing with a CLI vs el uso de un sitio en Internet producirá resultados diferentes dependiendo de si decide incluir saltos de línea y demás. Aquí hay una buena publicación de SO con respecto a la pregunta que tiene .

    
respondido por el Eric Lagergren 20.06.2014 - 05:46
fuente

Lea otras preguntas en las etiquetas