Abstract: El trabajo entregado analiza el protocolo de prueba en conocimiento cero Groth16. Este tipo de pruebas permiten a un probador demostrar un secreto a un verificador, sin revelar ninguna información sobre el secreto en el proceso. El trabajo comienza con una introducción teórica de las herramientas necesitadas para la construcción de este algoritmo, que consisten en curvas elípticas y aplicaciones de hiding y pairing que permiten formar una estructura de operaciones entre los grupos definidos por dichas curvas. Más tarde se definen formalmente las propiedades teóricas que toda prueba de conocimiento cero debe satisfacer. A continuación, se dan instrucciones teóricas sobre como construir el protocolo completo en el caso del algoritmo Groth16, probando además que este algoritmo satisface las propiedades definidas anteriormente. Por último, se expone una sencilla implementación del protocolo en Sagemath, en la que se muestra con detalle los pasos que hay que seguir para implantar el protocolo en la práctica.