Crypton
Crypton es una biblioteca educativa para aprender y practicar Criptografía Ofensiva y Defensiva. Es básicamente una colección de explicaciones e implementaciones de todas las vulnerabilidades y ataques existentes en diversos Sistemas de Cifrado (Simétricos y Asimétricos), Firmas Digitales, Códigos de Autenticación de Mensajes y Sistemas de Cifrado Autenticado. Cada ataque también se complementa con ejemplos de desafíos de concursos "Capture The Flag" y sus respectivas resoluciones. Las personas que ya están familiarizadas (o participan en CTFs) con este campo pueden usar Crypton como una herramienta para resolver desafíos basados en una vulnerabilidad existente en particular.
La biblioteca se actualizará continuamente con explicaciones de ataques y desafíos CTF. ¡Siéntete libre de enviarme un correo electrónico ante cualquier sugerencia!
He escrito una entrada de blog sobre la cronología del desarrollo de esta biblioteca: https://masterpessimistaa.wordpress.com/2018/08/12/announcing-crypton-an-educational-library-to-learn-offensive-and-defensive-cryptography/
ADVERTENCIA: El autor no garantiza de ninguna manera que el código sea seguro. La biblioteca está destinada únicamente a fines educativos y el código no debe utilizarse para implementaciones en el mundo real. Todos los scripts de ejemplo en la biblioteca son implementaciones triviales.
Hay diferentes secciones en este README:
- Motivación - Lo que me motivó a crear esta biblioteca
- Estructura de la biblioteca - Estructura de directorios de Crypton
- Cobertura de dominio - Qué sistemas criptográficos y ataques se cubren en esta biblioteca
- Planes futuros/TODO - Ataques/conceptos que se incluirán próximamente
Motivación
Ayudar a los jugadores de CTF y a las personas interesadas en el campo de la Criptografía a proporcionar una plataforma para aprender ataques en criptografía y a los jugadores de CTF experimentados a practicar desafíos divididos sistemáticamente en ataques asociados con diferentes subdominios de la criptografía. Además, ilustrar a través de varias explicaciones de ataques cómo la implementación adecuada de los protocolos es crucial.
Estructura de la biblioteca

Cobertura de dominio
1. Cifrados de Bloque
2. Cifrado RSA
3. Códigos de Autenticación de Mensajes (MACs)
4. Problema del Logaritmo Discreto| S.No. | Tema | Explicación | Impl./Exploit | Desafío# |
|-------|:---------------------------:|:-----------------------------------------------------------------------------------------------:|:------------:|:----------:|
| 1 | DLP- Grupos Cíclicos, Problema del Logaritmo Discreto|
|
|
|
| 2 |
Algoritmo Rho de Pollard para resolver DLP |
|
|
|
| 3 |
Algoritmo Baby Step Giant Step para resolver DLP|
|
|
|
| 4 |
Algoritmo Pohlig Hellman para resolver DLP|
|
|
|
| 5 |
DLP en Curvas Elípticas- definición del elemento identidad, inverso de un punto, grupos cíclicos sobre puntos de una CE, teorema de Hasse, ECDLP |
|
|
|
| 6 |
Algoritmo Baby Step Giant Step para resolver DLP en Curvas Elípticas |
|
|
|
| 7 |
Algoritmo Rho de Pollard para resolver DLP en Curvas Elípticas |
|
|
|
5. Cifrado ElGamal
6. Cifrado Autenticado (AE)
7. Curvas Elípticas
8. Firmas Digitales
9. Identificación
10. Intercambio de Claves Diffie Hellman
TODO
- Cifrado RSA
- Cifrado RSA con relleno PKCS1-v1.5
Ataque de Texto Cifrado Elegido al Criptosistema RSA- Oráculo de Descifrado LSB [Hecho]
- Ataque de Oráculo de Relleno al sistema de cifrado RSA con relleno PKCS1
- Factorización de Fermat
- Ataque de Coppersmith
- Ataque de Transmisión de Hastad
- Implementación del Ataque de Transmisión de Hastad en mensajes con relleno
- Generadores de Números Pseudoaleatorios
- Generador Lineal Congruencial
- PRNG Mersenne Twister
- Registro de Desplazamiento con Retroalimentación Lineal
- Firmas Digitales
- Ataque de Cegamiento a Firmas Digitales RSA
Intercambio de Claves Diffie Hellman[Hecho]
- Diffie Hellman de Curva Elíptica
- [Más por añadir]
Autor
Ashutosh Ahelleya