Encriptación en blockchain; algoritmo hash

A lo largo de la historia, ha habido muchos métodos de encriptación para conseguir la transmisión de información o dinero digital. Uno de ellos es la encriptación con la misma clave. Dos personas pueden saber que la clave es avanzar en el abecedario 10 letras, por lo que una palabra como “gato” se transformaría en “qkdy”. A este se le denominaría “encriptación simétrica”. Su defecto viene a la hora de conocer la clave privada, ya que en la distancia tendría que haber alguna forma de compartirla y, por lo tanto, alguien podría hacerse con ella.

Normalmente, en telecomunicaciones se usa una combinación entre encriptación simétrica y asimétrica, donde los usuarios conocen la clave pública pero no la privada. En blockchain se suele utilizar la encriptación de curva elíptica, actualmente la más segura conocida. Tu clave privada se genera aleatoriamente y a partir de ella se crea la pública.

Para transmitir la información se utiliza el algoritmo hash, al cual no podemos denominar método de encriptación ya que es (casi) imposible volver a convertirlo.

Pero, ¿qué características tiene el algoritmo hash?

  • Creación de un código con un número de bits fijo.
  • Introducción de un input (datos) de cualquier longitud.
  • Dificultad de duplicidad, ya que genera el mismo output para dos mismos inputs

Hay diferentes tipos de algoritmos hash según la longitud, el más común es el SHA256 (256 bits)

Aquí podéis hacer vosotros mismos un mensaje hasheado.

Podéis comprobar que, si introducís ese mensaje de nuevo, os saldrá el mismo hash.

En cambio, cualquier modificación por mínima que sea hará cambiar radicalmente el resultado;

De esta manera, además de todos los aspectos positivos anteriormente mencionados, podemos comprobar si una información (por larga que sea) ha sido modificada de cualquier manera (incluso una coma) comprobando el hash resultante.

Si quieres ampliar información pulsa aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *