https://github.com/mgmacias95/criptografia_y_computacion
Prácticas de la asignatura Criptografía y Computación - Grado en Ingeniería Informática (UGR)
https://github.com/mgmacias95/criptografia_y_computacion
algebra criptografia criptography haskell
Last synced: about 2 months ago
JSON representation
Prácticas de la asignatura Criptografía y Computación - Grado en Ingeniería Informática (UGR)
- Host: GitHub
- URL: https://github.com/mgmacias95/criptografia_y_computacion
- Owner: mgmacias95
- License: gpl-3.0
- Created: 2017-02-23T08:44:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-06-10T18:01:49.000Z (almost 8 years ago)
- Last Synced: 2025-04-12T19:53:30.083Z (about 2 months ago)
- Topics: algebra, criptografia, criptography, haskell
- Language: Haskell
- Size: 173 KB
- Stars: 16
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Criptografia_y_Computacion
Prácticas de la asignatura Criptografía y Computación - Grado en Ingeniería Informática (UGR)## Práctica 1 - Aritmética Modular
Implementación de las siguientes operaciones matemáticas:* __Máximo común divisor__ usando el _Algoritmo extendido de Euclides_, 
* __Inverso__ .
* __Exponencial__ .
* __Comprobar si un número dado es primo o no__ usando el _método de Miller-Rabin_.
* __Logaritmo__ usando el algoritmo _Paso enano, Paso gigante_ 
* __Cálculo de raíces cuadradas__  usando el _símbolo de Jacobi_ y el _Teorema Chino de los Restos_.
* __Factorización de un número__ usando el _Método de Fermat_ y el _Algoritmo  de Pollard_.
* Comparación de la implementación hecha con funciones de SAGEmath.## Práctica 2 - Secuencias Pseudo-Aleatorias
Implementación de:* __Postulados de Golomb__.
* __LFSR__ y análisis del período de la secuencia obtenida según la semilla utilizada.
* __NLFSR__.
* __Generador de Geffe__ e implementación de un __cifrado en flujo__. Esto incluye pasar un mensaje _String_ a binario.
* __Algoritmo de Berlekamp-Massey__.## Práctica 3 - Funciones de un sólo sentido
Implementación de:* __Criptosistema basado en el problema de la mochila__ (_knapsack_).
* __Cálculo de elementos primitivos__.
* __Cálculo de p y q dados n y f(x)__.
* __Construcción de Merkle-Damgård para implementar una función resumen__.
* __Cálculo de una llave privada RSA dada la llave pública__.
* __Método alternativo para encontrar p y q__.
* __Sistema de firma digital DSS y RSA.__