Introducción a la criptografía bitcoin

Criptomanía | Introducción a la criptografía bitcoin. Criptografía simétrica y asimétrica. Claves públicas y privadas. Sigue leyendo para saber más.

¿Eres nuevo en el mundo bitcoin? ¿Quieres saber más sobre cómo utilizan la criptografía el bitcoin y otras criptodivisas? ¿Te preguntas qué es eso de private keys y public keys?

Si la respuesta es sí, has llegado al sitio adecuado. Pero no te asustes. No te vamos a avasallar con tecnicismos ni conceptos extraños. Solo vamos a arañar la superficie para aclarar unos conceptos fundamentales.

Al terminar este artículo conocerás los pilares técnicos más básicos de la criptografía bitcoin. Y te aseguro que te será muy útil a medida que te adentres en el mundo blockchain.

Las criptodivisas y la tecnología blockchain en general son posibles gracias a la criptografía. Sigue leyendo para saber más sobre el papel fundamental de esta ciencia.

INTRODUCCIÓN A LA CRIPTOGRAFÍA BITCOIN – CRIPTOGRAFÍA CLÁSICA

Criptografía (del griego κρύπτos ‘(criptos), «oculto», y γραφη (grafé), «grafo» ó «escritura», literalmente «escritura oculta»)

La criptografía es el ámbito de la criptología que estudia los algoritmos, protocolos y sistemas de protección de la información.

Es decir, la criptografía busca ocultar el significado de la información para que esta sea inservible si llega a las manos equivocadas.

La criptografía clásica surge de la necesidad de ocultar mensajes a mensajeros y posibles enemigos. Planes militares, órdenes secretas, o incluso conspiraciones por el poder, se servían de métodos criptográficos para comunicarse de manera segura y privada.

Los primeros sistemas de encriptación eran sencillos. Los métodos clásicos se pueden dividir en dos grandes familias, sustitución y transposición. En el primero se sustituyen unas letras por otras distintas usando una clave o un patrón, y el segundo se cambia el orden de las letras sin sustituir ninguna.

Por ejemplo el “cifrado César” es uno de los sistemas más simples y el más usado. Es un sistema de cifrado por sustitución y consiste en sustituir cada letra por otra letra que se encuentra un número fijo de posiciones más adelante en el alfabeto.

Actualmente se considera un método totalmente inseguro, pero es perfecto como ejemplo. Si usamos un cifrado César con un desplazamiento 3 (cifrado cesar rot-3) el mensaje “Introducción a la criptografía” quedaría así.

“Lqwurgxfflrq d od fulswrjudild”

**Puedes usar esta herramienta online para descifrarlo (cifrado cesar rot-23)

Sólo conociendo el método de encriptación (encriptado César en el ejemplo) y la clave (desplazamiento 3 o rot-3) podrías obtener el mensaje original a partir del mensaje cifrado. O al menos en teoría. Porque un supuesto atacante podría identificar el método de encriptación o hacer un ataque por fuerza bruta.

INTRODUCCIÓN A LA CRIPTOGRAFÍA BITCOIN – CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

Con la aparición de la informática vino el auge de las comunicaciones. Y también aumento exponencialmente la potencia de cálculo. Ambos factores han hecho que la criptografía cobre una importancia crítica.

Miles de terabytes de información circulan a diario por la red, y en muchas ocasiones, transportan información sensible. Y los métodos de cifrado clásicos se quedan obsoletos ante la potencia de cálculo de los procesadores actuales.

Los dos principales métodos de encriptación actual son la criptografía simétrica y la criptografía asimétrica.

En la criptografía simétrica o criptografía de clave compartida la clave de cifrado/descifrado es la misma. Es decir, tanto emisor como receptor tienen la misma clave.

En la criptografía asimétrica o criptografía de claves públicas y privadas la clave de cifrado y la clave de descifrado son distintas. Es decir, emisor y receptor no comparten clave.

CRIPTOGRAFÍA SIMÉTRICA

Para encriptar mensajes con criptografía simétrica tanto el emisor como el receptor tienen que conocer una misma clave. Es decir, para iniciar una comunicación cifrada con claves compartidas emisor y receptor deberán decidir dicha clave de antemano.

cifrado

El emisor utilizará una función criptográfica (C) para obtener un mensaje cifrado criptográficamente () a partir de la clave pre-compartida (k) y el mensaje original (m).

Si un atacante intercepta el mensaje cifrado () no entenderá nada. Y descifrarlo sin conocer la clave costaría demasiado tiempo. Incluso considerando el aumento de la potencia de cálculo que propone la Ley de Moore, los estándares de cifrado actual son totalmente seguros por mucho tiempo.

El legítimo receptor del mensaje, conoce la clave pre-compartida (k). Gracias a esta clave puede desencriptar (D) el mensaje cifrado () y obtener el mensaje original (m).

La criptografía simétrica no es insegura per sé, pero presenta un problema estructural. Y especialmente en el mundo interconectado en el que vivimos.

¿Cómo mantenemos una comunicación segura para decidir nuestra clave compartida?

Y aquí es donde entra en juego la criptografía asimétrica o criptografía de dos claves.

CRIPTOGRAFÍA ASIMÉTRICA

Para encriptar mensajes con criptografía asimétrica emisor y receptor no necesitan compartir ninguna clave. Es decir, eliminamos de la ecuación el riesgo de un posible atacante que intercepte nuestra clave al compartirla con el legítimo receptor de nuestro mensaje cifrado.

En un algoritmo criptográfico asimétrico el receptor del mensaje tiene dos claves: una clave privada () que solo él conoce y una clave pública () que puede compartir con cualquier persona sin comprometer ningún mensaje cifrado.

cifrado-asimetrico

El emisor del mensaje debe conocer la clave pública () del receptor, y utilizará una función de encriptación (E) para obtener un mensaje cifrado () a partir del mensaje original (m).

Si un atacante intercepta el mensaje cifrado () no podrá desencriptarlo si sólo tiene la clave pública (). Necesita la clave privada ().

El receptor es el único que tiene clave privada (). Gracias a esta clave privada puede decodificar el mensaje cifrado  y obtener el mensaje original (m).

La criptografía asimétrica es mucho más complejo que todo esto, por supuesto. Pero os he prometido que no iba a complicar este artículo en absoluto.

Aunque todos los sistemas de encriptación de dos claves parten de esta base, hay muchos distintos. El primero de ellos es el RSA (Rivest, Shamir y Adleman) y por ejemplo el bitcoin utiliza concretamente un algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm).

INTRODUCCIÓN A LA CRIPTOGRAFÍA BITCOIN – APLICACIÓN EN EL BITCOIN

Cada monedero bitcoin tiene asociada una clave pública () que se utiliza para generar la dirección bitcoin que utilizamos para recibir fondos en nuestro monedero.

Y también tiene asociado una clave privada (), que se utiliza para firmar/autorizar transacciones desde nuestro monedero.

La clave pública se genera a partir de la clave privada, pero el proceso contrario no es posible. O mejor dicho, no es factible. Tomaría demasiado tiempo (millones de años) incluso factorizando el avance tecnológico.

Con muchas licencias, esta es la idea fundamental del bitcoin:

Un usuario bitcoin () quiere pagar cierta cantidad de bitcoin () a otro usuario bitcoin ().

Para que el usuario bitcoin () pueda enviar dicha cantidad de bitcoin la red bitcoin le “exige” que demuestre que realmente es de su propiedad. Y aquí es donde entran en juego el par de claves privada y pública (, ) de cada monedero.

La red bitcoin conoce la clave pública (), y con ella encriptará un mensaje (m).

Con su clave privada (), el usuario bitcoin desencriptará el mensaje cifrado ().

Al devolver el mensaje original (m) a la red bitcoin, el usuario bitcoin  “demuestra” la propiedad de esa determinada cantidad de bitcoin y autoriza la transacción al usuario bitcoin .

Una vez la red bitcoin acepta la transacción, la cantidad de bitcoin () queda bajo la custodia de la clave privada del receptor de la transacción ().

Solo el legítimo dueño del monedero bitcoin debería conocer la clave privada, luego nadie más que el legítimo dueño debería ser capaz de transferir bitcoin.

Y de esta última afirmación nace el siguiente dicho:

If you don’t own the keys, you dont own the coins.
Traducido al español “Si no tienes las claves, no son tus monedas”.

INTRODUCCIÓN A LA CRIPTOGRAFÍA BITCOIN – CONCLUSIÓN

Esta es básicamente la criptografía bitcoin “sin tecnicismos” y sin entrar en detalles. Es decir, una breve introducción a los fundamentos criptográficos más básicos que interfieren en el mundo bitcoin en particular y de las criptodivisas en general.

No vamos a entrar a explicar el algoritmo concreto que utiliza bitcoin (ECDSA), ni los protocolos, ni cómo funciona exactamente el proceso de prueba de la propiedad de cierto bitcoin.

No hace falta ser un experto en seguridad criptográfica para entender los fundamentos del bitcoin.

Lo importante es que entiendas que obtener una clave privada (private key) a partir de una clave pública (public key) no es factible. El algoritmo que utiliza bitcoin (ECDSA) lo utilizan organismos de la talla de la NSA (Agencia de Seguridad Nacional de Estados Unidos).

Hay un consenso general de que este método criptográfico implementado correctamente es inquebrantable y, de hecho, este sistema es mucho más seguro que otros sistemas de transacciones online, cómo tarjetas de crédito o PayPal.

Y esto es todo. Espero que haber podido ayudaros a entender la criptografía detrás del bitcoin.

Si este artículo ha sido útil, háznoslo saber dejando un comentario o compartiéndolo en las redes sociales. Si por el contrario no has entendido nada en absoluto, háznoslo saber también e intentaremos reescribirlo.

The following two tabs change content below.
Ingeniero mecánico, redactor e inversor FinTech. Apasionado del mundo de las criptodivisas y las aplicaciones de las diferentes blockchains.

Latest posts by Fernando Gomez (see all)

Be First to Comment

Deja un comentario

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