Paso 5: El hash
ECDSA utiliza con un SHA1hash criptográfica del mensaje a firmar (el archivo). Un hash es simplemente otra ecuación matemática que se aplica en cada byte de datos que le dará un número que es único en sus datos. Como por ejemplo, la suma de los valores de los bytes puede considerarse una función hash muy tontas. Así que si nada cambia en el mensaje (el archivo) el hash será completamente diferente. En el caso de algoritmo de hash SHA1, siempre es 20 bytes (160 bits). Es muy útil para validar que un archivo no ha sido modificado o dañado, consigue los 20 bytes hash para un archivo de cualquier tamaño y se puede calcular fácilmente hash para asegurarse de que coincide con. Qué firma ECDSA es que hash, por lo que si los cambios de datos, el hash y la firma ya no es válido.
Usemos un ejemplo para que sea más fácil de entender. Vamos a usar la función de hash más simple (y mas tonto) posible en el que hacemos la suma de todos los datos y utiliza un módulo 10 el resultado.
En primer lugar, usted debe entender que todos los datos se interpretan como un número. Un archivo de texto es una serie de bytes, que, como explicamos anteriormente representa 8 bits, lo que significa puede representar un número entre 0 y 255. Así que si tomamos cada byte como un número y añadir cada byte del archivo, luego hacemos un módulo 10 del resultado, terminaremos con un número entre 0 y 9 como el hash resultante. Siempre nos pondremos el mismo hash de los mismos datos, y si se cambia un byte en el archivo, el resultado puede ser diferente. Por supuesto, también vas a entender que sería muy fácil cambiar el archivo para obtener el mismo hash ya que sólo hay 10 posibilidades (0 a 9), entonces hay un uno de cada 10 las posibilidades de conseguir el mismo hash cambiando el contenido del archivo.
Que es donde SHA1 entra en juego, el algoritmo SHA1 es mucho más complejo que la simple "módulo 10" función, que le dará un número extremadamente gran (160 bits, por lo que un número con 49 dígitos en decimal) y tiene la particularidad de cambiar radicalmente si se modifica un solo bit de datos del archivo.
Esto hace que SHA1 un muy buen algoritmo de hash que es impredecible que es muy seguro y con muy pocas posibilidades de obtener una 'colisión' (cuando dos archivos diferentes tienen el mismo hash) y hace que sea prácticamente imposible de falsificar datos para obtener un hash específico.