Evolución de la Criptografía y su futuro en la blockchain

¿Qué es Criptografía?

La palabra criptografía proviene del griego “kryptos” que significa oculto, y “graphia”, que significa escritura, y su definición es: “Arte de escribir con clave secreta o de un modo enigmático”.

La criptografía es una técnica, o más bien un conjunto de técnicas, que originalmente tratan sobre la protección o el ocultamiento de la información frente a observadores no autorizados. Con ello la información es protegida contra el acceso no autorizado por parte de terceros.

Actualmente con la aparición de las computadores y su modernización, la criptografía se usa para proveer seguridad a muchos niveles. Esto incluye la identificación de entidades y autenticación. Otras áreas como el control de acceso a los recursos, la confidencialidad de los mensajes transmitidos son protegido también con criptografía.

Objetivos de la Criptografía

El objetivo principal de la criptografía es el de crear métodos que permitan asegurar la comunicación entre dos o más partes. Para lograrlo, el sistema debe lograr otorgar las siguientes características:

  1. Debe proveer y garantizar la confidencialidad de la información. Para ello acude a técnicas matemáticas y computacionales para cifrar los mensajes.
  2. Debe garantizar la integridad del mensaje. Los datos del mensaje original, debe computarse de tal forma que al llegar al receptor el computo del mismo sea idéntico al del emisor. Esto garantiza la corrección y completitud de la información. Normalmente esto se realiza usando técnicas de hashing.
  3. Debe permitir la vinculación del mensaje con el emisor. De esta forma se garantiza que el mensaje venga inequívocamente de un origen de confianza verificable.
  4. Debe proporcionar mecanismos que permitan verificar la identidad del comunicador.
  5. Debe solucionar el problema de la falta de simultaneidad en la telefirma digital de contratos. Para conseguirlo puede usar por ejemplo protocolos de transferencia inconsciente.

Usos de la Criptografía en la Blockchain

La criptografía es uno de los pilares fundamentales de la tecnología blockchain. Gracias a su uso se puede garantizar su funcionamiento, su seguridad, privacidad y nivel de anonimato, según las características del proyecto en cuestión. Es valido decir entonces, que es gracias a la criptografía que podemos contar con esta impresionante tecnología y que sin ella su implementación nos resultaría imposible.

Dado que la criptografía está en constante evolución, también es valido afirmar que la blockchain evolucionara junto con ella y los conceptos que ahora representan. Entre los conceptos de criptografía actuales usados en la tecnología blockchain podemos mencionar los siguientes:

Criptografía Asimétrica

La evolución de los sistemas criptográficos llevó a la creación de los sistemas de clave asimétrica. Estos utilizan un mecanismo de claves que permite el intercambio de información sin que se requiera compartir la clave de forma previa. Este sistema utiliza dos elementos, uno privado y uno público. El privado lo guardamos en un lugar seguro, y el público se muestra a todo el mundo para que puedan interactuar con nosotros. La peculiaridad de este sistema es que, para cada persona, existen un par claves, y cuando se quiere enviar información a alguien, se requiere primero su clave pública, se genera el mensaje cifrado y se envía a la persona. Esta podrá recuperarlo utilizando su clave privada.

Una manera sencilla de entenderlo es imaginarse la clave privada como una llave, y la clave pública como una caja que solo se abre con esta llave. Si nosotros queremos que nos envíen mensajes, dejamos cientos de cajas (todas iguales) en diversos lugares. De esta manera, cualquier persona podrá ir, coger nuestra caja (que no vale nada de momento, es una caja vacía), introducir el mensaje que nos quiera hacer llegar y cerrarla. En el momento en que se cierra, ya solo nosotros con nuestra llave maestra podemos abrir la caja, así, quien nos envía el mensaje puede enviar la caja de la forma que quiera y estar seguro de que solo nosotros seremos capaces de abrirla.

La mayor ventaja de la criptografía asimétrica es que la distribución de claves es más fácil y segura ya que la clave que se distribuye es la pública manteniéndose la privada para el uso exclusivo del propietario, pero este sistema tiene bastantes desventajas:

  1. Para una misma longitud de clave y mensaje se necesita mayor tiempo de proceso.
  2. Las claves deben ser de mayor tamaño que las simétricas (generalmente son cinco o más veces de mayor tamaño que las claves simétricas).
  3. El mensaje cifrado ocupa más espacio que el original.

Los nuevos sistemas de clave asimétrica basado en curvas elípticas tienen características menos costosas. En el mundo de las criptomonedas esta es la opción más usada para garantizar que la información compartida está bien protegida. Esto gracias al uso de ECDSA y más específicamente de las curva secp256k1.

Entre las principales características de este sistema podemos mencionar:

  1. La clave pública debe ser conocida por todo el mundo, pero la clave privada sólo debe conocerla su propietario.
  2. A partir del conocimiento de la clave pública o del texto cifrado no se puede obtener la clave privada.
  3. Lo que se cifra con una clave, solo puede descifrarse con la otra.
  4. Cualquiera puede cifrar un mensaje con la clave pública, pero solo el propietario de la clave privada puede descifrarlo.
  5. Proporciona confidencialidad.
  6. Si el propietario de la clave privada cifra con ella un mensaje, cualquiera puede descifrarlo con la correspondiente clave pública.
  7. Proporciona integridad, autenticación y no repudio.

Claves Privadas

Una clave privada es simplemente un número escogido al azar. La propiedad y control de una clave privada es la raíz del control del usuario sobre los fondos asociados con la dirección correspondiente. La clave privada se usa para crear las firmas requeridas para firmar transacciones demostrando la pertenencia de los fondos usados en una transacción. La clave privada debe permanecer en secreto en todo momento, ya que revelarla a terceros es el equivalente a darles el control de la cuenta asegurada por dicha clave. También deben hacerse copias de respaldo de las claves privadas para protegerlas de pérdidas accidentales, ya que si se pierde no puede ser recuperada y los fondos asegurados por ella se perderán para siempre.

Casi cualquier número de 256 bits es una clave privada válida. En concreto, cualquier valor de 256 bits entre 0x1 y 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141, es una clave privada válida dentro del rango de Bitcoin. El rango válido de claves privadas viene determinado por la normativa de criptografía de curvas elípticas secp256k1.

Claves Públicas

El cifrado de clave pública utiliza un par de claves relacionadas matemáticamente. Un mensaje cifrado con la primera clave debe descifrarse con la segunda clave y un mensaje cifrado con la segunda clave debe descifrarse con la primera clave. De esta forma, cada participante en un sistema de claves públicas dispone de un par de claves. Una clave se designa como clave privada y se mantiene secreta. La otra clave se distribuye a quien lo desee; esta clave es la clave pública. Cualquier usuario puede cifrar un mensaje utilizando su clave pública, pero solo usted que tiene la clave privada puede leerlo. Cuando recibe el mensaje, lo descifra utilizando la clave privada.
De forma parecida, puede cifrar un mensaje para cualquier otro utilizando su clave pública y, a continuación, descifrándola utilizando su clave privada. Entonces podrá enviar el mensaje de forma segura a través de una conexión no segura.

Este tipo de cifrado tiene características que lo hacen muy adecuado para su uso general:

  1. El cifrado de clave pública solo requiere dos claves por participante.
  2. La necesidad de mantener el secreto es más fácil de cumplir: únicamente debe mantenerse secreta la clave privada y puesto que no necesita compartirse. De esa forma es menos vulnerable al robo en la transmisión que la clave compartida en un sistema de claves simétricas.
  3. Las claves públicas pueden publicarse, lo que elimina la necesidad de compartir previamente una clave secreta antes de la comunicación. Cualquiera que conozca la clave pública puede utilizarla para enviar un mensaje que solo el usuario implicado puede leer.

Prueba de Conocimiento Cero

Un protocolo de conocimiento cero o prueba de conocimiento nulo, también conocidas por las siglas ZKP (Zero Knowledge Proof), es un protocolo criptográfico que establece un método para que una de las partes pruebe a otra que una declaración es cierta. Todo ello sin revelar nada más que la veracidad de la declaración. Para que un protocolo pueda cumplir con el concepto de conocimiento cero, este debe cumplir con las siguientes propiedades:

  1. Completitud: si la declaración es correcta, el “verificador” honesto quedará convencido del hecho por un “probador” honesto.
  2. Ser lógica: si la declaración es falsa, ningún “probador” deshonesto podrá probar al “verificador” honesto que es verdadera. Excepto, con una probabilidad muy baja.
  3. Conocimiento Cero: si la declaración es verdadera, ningún “verificador” deshonesto aprende algo más que este hecho.

Firma Digital

A raíz de los sistemas asimétricos, se creó un método que permite firmar digitalmente cualquier mensaje. Con ello se puede asegurar que el mensaje proviene indudablemente de la persona que lo envía. Es decir, como en el mundo analógico, cuando firmamos una carta, aseguramos que somos nosotros y no otra persona haciéndose pasar por nosotros.

Este proceso de firma digital es muy importante en sistemas de comunicación distribuidos donde hay niveles de confianza. Ya que solo el dueño de la clave y firma, puede generar mensajes auténticos con firma digital. Nadie puede firmar digitalmente un documento, con otra firma digital. Puesto que la misma será distinta y se podrá ver la suplantación de identidad.

Hash

Un hash es un elemento que se obtiene mediante una función hash. A estas funciones también se las conoce como “digestivas”. Porque codifican la información a un elemento de tamaño fijo y con unas ciertas características.

Este mecanismo es muy potente y seguro. Ya que este proceso permite identificar si un elemento ha sido modificado. Esto es posible gracias a que una función hash, crea una cadena única e irrepetible sobre los datos introducidos. Y siempre que los datos sean los mismos, la cadena no cambiará. Cualquier alteración en los datos iniciales, da origen a otra cadena (hash) distinta y podemos saber sobre la modificación. Esto es muy importante y es uno de los elementos claves utilizados en la tecnología blockchain. Ya que permite crear hashes únicos para toda la información, asegurando así su inmutabilidad. Los hashes más comunes en la tecnología blockchain son SHA-256, SHA-384, SHA-512, RIPEMD160, Whirlpool y SHAKE.

En blockchain, el hash es usado en el proceso de “marcado de bloques” con un hash especifico para cada uno. También es usada para la creación de las address wallet que identifican los monederos.

Direcciones

Son una cadena de dígitos y caracteres que puede ser compartida con cualquiera. Estas permiten el envío y recpción de En Bitcoin, las direcciones consisten de una cadena de números y letras, comenzando por el dígito “1”.

La dirección se obtiene a partir de la clave pública a través del uso de hashing criptográfico de sentido único. Los algoritmos usados para crear direcciones bitcoin a partir de claves públicas son el Secure Hash Algorithm (SHA) y el RACE Integrity Primitives Evaluation Message Digest (RIPEMD), específicamente SHA-256 y RIPEMD-160.

Criptografía Cuántica

Este concepto aunque revolucionario, no es nada nuevo. Las bases de la criptografía cuántica se plantearon en 1970 y se asentaron en 1984. En ese entonces Charles H. Bennett y Gilles Brassard, publicaron el primer protocolo de criptografía cuántica: el protocolo BB84.

Este es el concepto más avanzado de criptografía existente hasta el momento, ofreciendo inigualables niveles de seguridad. Esto debido especialmente a las característica intrínsecas de los estados cuánticos que hacen posible el funcionamiento del sistema. Pese a que existe desde hace tanto tiempo, son pocos los sistemas completamente funcionales que usen la criptografía cuántica. Ya que son altamente costosos y necesitan una alta especialización para su uso. Sin embargo, estos problemas son superados y acercan cada vez más la masificación de esta tecnología.

Empresas tecnológicas como Qubitekk e ID Quantique tienen sistemas cuántico-opticos que pueden usarse para este tipo avance tecnológico. Estos potenciarían en un nivel inimaginable la seguridad de la tecnología blockchain.

Evolución de la Criptografía y su futuro en la blockchain
5 (100%) 1 vote[s]

Deja un comentario