{"id":18739337,"url":"https://github.com/mgmacias95/criptografia_y_computacion","last_synced_at":"2025-10-23T23:09:15.709Z","repository":{"id":88236832,"uuid":"82905411","full_name":"mgmacias95/Criptografia_y_Computacion","owner":"mgmacias95","description":"Prácticas de la asignatura Criptografía y Computación - Grado en Ingeniería Informática (UGR)","archived":false,"fork":false,"pushed_at":"2017-06-10T18:01:49.000Z","size":177,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T03:41:22.750Z","etag":null,"topics":["algebra","criptografia","criptography","haskell"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgmacias95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-23T08:44:23.000Z","updated_at":"2024-09-01T20:42:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"40f769c0-2579-49ba-9238-e8a805c78d0e","html_url":"https://github.com/mgmacias95/Criptografia_y_Computacion","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgmacias95/Criptografia_y_Computacion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgmacias95%2FCriptografia_y_Computacion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgmacias95%2FCriptografia_y_Computacion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgmacias95%2FCriptografia_y_Computacion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgmacias95%2FCriptografia_y_Computacion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgmacias95","download_url":"https://codeload.github.com/mgmacias95/Criptografia_y_Computacion/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgmacias95%2FCriptografia_y_Computacion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280706830,"owners_count":26376991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algebra","criptografia","criptography","haskell"],"created_at":"2024-11-07T15:33:32.493Z","updated_at":"2025-10-23T23:09:15.675Z","avatar_url":"https://github.com/mgmacias95.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Criptografia_y_Computacion\nPrácticas de la asignatura Criptografía y Computación - Grado en Ingeniería Informática (UGR)\n\n## Práctica 1 - Aritmética Modular\nImplementación de las siguientes operaciones matemáticas:\n\n* __Máximo común divisor__ usando el _Algoritmo extendido de Euclides_, ![](http://mathurl.com/yaed24um.png)\n* __Inverso__ ![](http://mathurl.com/y8k3w6m4.png).\n* __Exponencial__ ![](http://mathurl.com/ybxakt2n.png).\n* __Comprobar si un número dado es primo o no__ usando el _método de Miller-Rabin_.\n* __Logaritmo__ usando el algoritmo _Paso enano, Paso gigante_ ![](http://mathurl.com/y736o8pm.png)\n* __Cálculo de raíces cuadradas__ ![](http://mathurl.com/ybs8rnka.png) usando el _símbolo de Jacobi_ y el _Teorema Chino de los Restos_.\n* __Factorización de un número__ usando el _Método de Fermat_ y el _Algoritmo ![](http://mathurl.com/yd2uj4t.png) de Pollard_.\n* Comparación de la implementación hecha con funciones de SAGEmath.\n\n## Práctica 2 - Secuencias Pseudo-Aleatorias\nImplementación de:\n\n* __Postulados de Golomb__.\n* __LFSR__ y análisis del período de la secuencia obtenida según la semilla utilizada.\n* __NLFSR__.\n* __Generador de Geffe__ e implementación de un __cifrado en flujo__. Esto incluye pasar un mensaje _String_ a binario.\n* __Algoritmo de Berlekamp-Massey__.\n\n## Práctica 3 - Funciones de un sólo sentido\nImplementación de:\n\n* __Criptosistema basado en el problema de la mochila__ (_knapsack_).\n* __Cálculo de elementos primitivos__.\n* __Cálculo de p y q dados n y f(x)__.\n* __Construcción de Merkle-Damgård para implementar una función resumen__.\n* __Cálculo de una llave privada RSA dada la llave pública__.\n* __Método alternativo para encontrar p y q__.\n* __Sistema de firma digital DSS y RSA.__\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgmacias95%2Fcriptografia_y_computacion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgmacias95%2Fcriptografia_y_computacion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgmacias95%2Fcriptografia_y_computacion/lists"}