En el siguiente link dejamos el código en Haskell para determinar claves publicas para la curva secp256k1, la curva elíptica de Bitcoin, secp256k1!
El script auxiliares.hs tiene funciones auxiliares principalmente para convertir de sistema numérico, decimal, binario y hexadecimal.
El script secp256k1 contiene la operaciones suma, inverso, duplicar y sumar. Se han definido todas las funciones necesarias, no es necesario instalar ninguna librería particular. Esto lo hace sumamente transparente con el fin de lograr comprender 100% el procedimiento para determinar claves públicas.
La función «kpu kpr» determina la clave publica asociada a la clave privada kpr según la curca secp256k1.
El código no ha sido auditado ni debe usarse para generar claves publicas reales de Bitcoin. Se trata de un código con fines educativos únicamente.