¿Qué es la criptografía asimétrica?

La criptografía asimétrica es una de las técnicas más potentes de la informática y parte esencial de la seguridad de Internet y las redes de tipo blockchain. Su empleo ha tolerado altos niveles de seguridad allá donde es preciso garantizando privacidad e inclusive anonimato. 

Una de las técnicas criptográficas más potentes diseñadas por el hombre es la criptografía asimétrica o bien criptografía de clave pública. Este sistema consiste en la utilización de una fórmula matemática muy compleja para crear dos claves. Esta primera clave es la clave privada. La clave privada es de exclusivo uso para el autor del par de claves, y sirve para cifrar y descifrar mensajes de forma absolutamente segura.

La segunda clave es la llamada clave pública. Esta es una clave que el autor puede dar a terceras personas. La clave pública se crea desde la clave privada, mas el proceso inverso es imposible. De este modo, el autor de las claves puede compartir esta clave pública con terceras personas, y gracias a ella estas personas puedan mandarle información cifrada que solo va a ser alcanzable utilizando la clave privada del autor.

La tecnología de cifrado asimétrica fue inventada por Ralph Merkle, Whitfield Diffie y Martin Hellman en el año de mil novecientos setenta y seis. Este esquema de claves privadas y públicas garantiza el establecimiento de comunicaciones totalmente seguras, aun sobre canales inseguros. Razón por la que hoy día este sistema criptográfico es el más utilizado. Un claro ejemplo son las estructuras públicas y privadas que dejan la comunicación en internet, donde se emplea criptografía asimétrica para asegurar la privacidad de las comunicaciones.

¿De qué forma marcha la criptografía asimétrica?

El funcionamiento del sistema de criptografía pública entiende de una serie de etapas bien definidas. Todas de ellas garantizan que el sistema funcione adecuadamente. Aquí vamos a explicar con bastante detalle cada una de ellas:

Algoritmo y curva de cifrado

En primer sitio se tiene que delimitar qué algoritmo de cifrado asimétrico se utilizará. Cada algoritmo tiene propiedades únicas. Estas propiedades están relacionadas con la curva elíptica que utiliza el algoritmo para su funcionamiento. En este punto, las curvas elípticas consideradas para el cifrado asimétrico son numerosas. Existen por lo menos de forma registrada y bien estudiadas, veintidos curvas en suma.

Por ejemplo, la  Curve25519 de Daniel Bernsteins es muy empleada en algoritmos de cifrado sólidos y muy eficaces. No obstante en las redes blockchain de criptomonedas como Bitcoin la curva más utilizada es la secp256k1. Esta curva es el estándar de facto de la seguridad de las criptodivisas.

Generación de claves

El siguiente paso es la generación de las claves privada y pública. La primera en produjese es la clave privada. Para su creación segura se tiene que emplear un generador de números aleatorio segurísimo y una pool de entropía. Estos 2 garantizarán que el número azaroso aplicado a la fórmula matemática escogida sea verdaderamente azaroso. Con esto garantizaremos la seguridad de la clave desde sus orígenes.

Una vez que el generador de número azarosos ha dado un número, este se aplica a la fórmula escogida. El sistema empieza a solucionar la fórmula y de ella conseguimos un número que va a ser nuestra clave privada. Generada nuestra clave privada, se empieza el ciclo de generación de la clave pública. Este ciclo, usará el número de la clave privada para enlazar de forma unidireccional la clave privada con la pública. De este modo, la clave pública va a poder producir contenido cifrado que vamos a poder solucionar con nuestra clave privada. No obstante, nada ni absolutamente nadie bajo ninguna circunstancia va a poder develar nuestra clave privada empleando un proceso contrario.

Una vez ha acabado este proceso de generación vamos a tener a la mano nuestras 2 claves listas para el próximo paso de empleo.

generación de claves, tanto pública como privada

Propagación de confianza

El tercer elemento del funcionamiento de los sistemas de criptografía asimétrica es la propagación segura de las claves. Con esto se busca producir espacios que garanticen la seguridad de los canales de comunicación. Entre estos métodos tenemos:

  1. Infraestructura de clave pública o bien PKI. Esta es una infraestructura en la que hay una o bien múltiples entidades transmisoras de certificados. Cada entidad se relaciona con un nivel de confianza y dicho nivel sirve para asegurar la autenticidad de las claves públicas. Este esquema es el que se emplea en Internet para asegurar la autenticidad de los certificados SSL/TLS de las páginas webs.
  2. Establecimiento de una red de confianza. Este es el esquema de propagación de claves más fácil y personal que existe. Establece que cada usuario tiene una serie de contactos con los que comparte su clave pública abiertamente o bien privada. Este esquema de propagación es muy usado por sistemas como PGP para el mandó de correos privados y cifrados.
  3. Uso de criptografía basada en identidad. Este es un fácil sistema de propagación que usa un sistema centralizado que administra nuestras claves. Las claves generadas están relacionadas con la identidad real o bien virtual que damos al sistema.
  4. Uso de criptografía basada en certificados. En este modelo el usuario tiene una clave privada y otra pública. La clave pública la manda a una Autoridad de certificación. Esta se asegura usando criptografía basada en identidad de producir un certificado que asegura la valía de los datos.
  5. Uso de criptografía sin certificados. Este modelo es similar al precedente con la excepción que la clave privada generada por la autoridad es parcial. La clave privada final depende de la clave privada parcial y un número azaroso calculado por el usuario. Esto garantiza un mayor nivel de seguridad.
  • infraestructura de clave pública (PKI)
  • Propagación por identidad

Envío y recepción de mensajes

Una vez que hemos propagado las claves públicas de manera segura, podemos comenzar a emplear el sistema para mandar y percibir mensajes de manera segura. Este esquema de envío y recepción marcha por norma general de la próxima forma:

  1. Juan produce un mensaje el que es cifrado utilizando la clave pública de María, y firmado con la clave privada de Juan. Esto garantiza que el mensaje solo pueda ser visto por María y puede confirmar que inequívocamente procede de Juan.
  2. El mensaje viaja firmado y cifrado por el canal de comunicación. Si es detenido el ahínco va a ser fútil pues no se va a poder leer información alguna del mismo.
  3. Una vez que el mensaje llega a su receptor María, empleará su clave privada para descifrarlo. Al tiempo, va a poder utilizar la clave pública de Juan para validar que verdaderamente el mensaje ha sido mandado por él.
  4. Se repite el proceso para efectuar la contestación pertinente.

Como ven este proceso de comunicación soluciona de forma eficaz las comunicaciones seguras en canales abiertos. Corromper o bien manipular un mensaje mandado utilizando criptografía asimétrica no es cosa simple. En verdad, un sistema de cifrado asimétrico bien construido haría prácticamente imposible tal cosa. De allá su empleo tan extendido en Internet y en blockchain. Todo ello con la intención de ofrecer el máximo de seguridad a los usuarios.

Criptografía simétrica Vs. asimétrica

Explicación propedéutica sobre la diferencia entre criptografía simétrica y asimétrica.
(Rebollo Pedruelo Miguel, Universitat Politècnica de València)

Uso de la criptografía asimétrica en la blockchain

Desde su nacimiento la tecnología blockchain ha buscado la manera de brindar la mayor seguridad posible. En la busca de semejantes niveles de seguridad, la criptografía asimétrica ha jugado un papel fundamental. Su empleo dejó la generación de claves públicas (direcciones) y privadas que dejan asegurar, mandar y percibir criptomonedas seguramente.

De hecho, la tecnología blockchain ha sido una perfecta herramienta para probar y desarrollar técnicas nuevas criptográficas. Avances que no solo tienen un impacto positivo en el ecosistema blockchain sino más bien en la informática por lo general. Ejemplo de esto son por poner un ejemplo los esquemas como las Pruebas de Conocimiento Cero (ZKP) o bien las firmas Schnorr.

¿Cuánto sabes, criptonauta?

¿La criptografía asimétrica es el procedimiento criptográfico más utilizado hoy en día?

Ventajas y Desventajas de la criptografía asimétrica

Ventajas

  1. Este sistema ofrece una alta tasa de seguridad, puesto que el esquema de cifrado es enormemente complejo. El criptoanálisis de estos sistemas es complicado y los ataques de fuerza bárbara para romperlo son ineficientes y nada prácticos.
  2. Permite asegurar canales de comunicación abiertos y públicos merced al esquema de claves privada y pública. Esto deja que transmisor y receptor puedan compartir información de manera segura.
  3. El sistema asimismo deja la autentificación de la información cifrada merced a un proceso de firmado digital.
  4. Ofrece un elevado nivel de confidencialidad, integridad y garantiza el no-repudio de la información.

Desventajas

  1. En comparación con sistema de cifrado simétrico es computacionalmente más costoso.
  2. El sistema de cifrado es susceptible a elementos extraños a la programación del sistema de cifrado. Por poner un ejemplo, un generador de números azarosos deficientecomprometería el sistema de cifrado absolutamente.
  3. La dificultad de los algoritmos resulta en una contrariedades en el análisis de funcionamiento y seguridad de exactamente los mismos. Esto causa que advertir fallos o bien bugs sea más complejo y bastante difícil en estos sistemas.
  4. Algunos esquemas de propagación de confianza son centralizados. Esto es un esencial punto de fallo que puede traducirse en manipulación de certificados si la estructura es comprometida.

bitcoin
Bitcoin (BTC) $ 63,872.00
ethereum
Ethereum (ETH) $ 3,833.55
binance-coin
Binance Coin (BNB) $ 484.74
tether
Tether (USDT) $ 1.00
cardano
Cardano (ADA) $ 2.11
xrp
XRP (XRP) $ 1.09
solana
Solana (SOL) $ 155.50
polkadot
Polkadot (DOT) $ 41.33
usd-coin
USD Coin (USDC) $ 1.00
dogecoin
Dogecoin (DOGE) $ 0.241874