Abstract: El objetivo de este trabajo es exponer las propiedades y los algoritmos más importantes de criptografía de clave pública y su aplicación en la seguridad en las transacciones en Bitcoin. La criptografía consiste en el estudio de distintas técnicas que garantizan la confidencialidad de los mensajes. Desde el antiguo Egipto, estas técnicas se han desarrollado adaptandose a los medios de comunicación que han ido apareciendo. Tras la llegada de los ordenadores, aparecieron los primeros algoritmos de criptografía de clave pública o criptografía asimétrica que se caracteriza porque la manera de descifrar el mensaje es diferente a la manera en la que se ha cifrado, al contrario de lo que sucedía en los métodos anteriores. Esta nueva idea supuso una solución a los principales problemas de la criptografía simétrica. Por ejemplo, el problema de probar la integridad del mensaje e identidad de los interlocutores, se solucionó con lo que se conoce como firmas digitales. A lo largo del trabajo se presentan los esquemas de cifrado y firma digital más importantes basados en el problema del logaritmo discreto. Entre ellos, hablaremos del algoritmo estandar de firmas digitales DSA y de su implementación sobre puntos de una curva elíptica (ECDSA). Analizaremos la arítmetica de las curvas elípticas y profundizaremos en particular en la familia de curvas de Koblitz. Las operaciones sobre puntos de este tipo especial de curva elíptica tienen una implementación muy eficiente, por lo que son especialmente útiles en criptografía. Se muestran también los conceptos de grupos y teoría de números necesarios para entender estos criptosistemas en el capítulo 2. Finalmente veremos la fuerte relación entre estos conceptos y el Bitcoin. El Bitcoin es un protocolo criptografico que se entiende como una moneda digital. Consiste en una red de usuarios conectados en el que las transacciones son archivos encriptados que se envían de uno a otro sin intermediarios ( "peer-to-peer"). Estas transacciones van firmadas digitalmente y las firmas y direcciones de usuario se crean mediante el algoritmo ECDSA aplicado a la curva particular secp256k1, perteneciente a la familia de cuvas de Koblitz.