
Cryptography and Cryptanalysis in Java, 2nd Edition
Stefania Loredana Nita, Marius Iulian Mihailescu
- Editorial
- Apress
- Año
- 2024
- Páginas
- ~306
- Nivel
- Intermedio
De qué trata
Segunda edición exhaustiva y modernizada, publicada por Apress en 2024 por Stefania Loredana Nita y Marius Iulian Mihailescu, dedicada al diseño, implementación algorítmica y análisis de esquemas criptográficos utilizando Java SE 21 LTS y los perfiles de seguridad de Jakarta EE 11. Está dirigida a desarrolladores Java de nivel intermedio a avanzado, estudiantes de ciencias de la computación e ingenieros de ciberseguridad que cuentan con bases de programación orientada a objetos y algoritmos y quieren entender a bajo nivel cómo se implementan, evalúan y vulneran los mecanismos de cifrado.
El recorrido temático cubre desde la criptografía clásica (cifrados César, Vigenère, Playfair, transposición y análisis por frecuencia de letras) hasta la criptografía poscuántica. Enseña a utilizar la arquitectura Java Cryptography Architecture (JCA) y la extensión JCE, generadores de números pseudoaleatorios (PRNG y SecureRandom), funciones hash seguras (de MD5 y SHA-1 a SHA-256 y SHA-3), cifrado simétrico (DES, 3DES y AES en modos CBC, GCM y ECB) y cifrado asimétrico (RSA, ElGamal y curvas elípticas ECC). Incorpora como novedad un capítulo sobre criptografía cuántica (protocolo BB84 y distribución cuántica de claves QKD), esquemas de firma digital (DSA, ECDSA), cifrado homomórfico y búsqueda sobre datos cifrados, criptografía basada en retículos con el framework NTRU, y el manejo práctico de librerías como Bouncy Castle y herramientas de claves (Keytool y OpenSSL).
El aprendizaje se articula a través de implementaciones en Java 21 disponibles en el repositorio oficial de GitHub del libro, donde se programan tanto algoritmos de cifrado como rutinas de criptoanálisis para romper esquemas clásicos y simular ataques de texto plano y colisiones en funciones resumen. No construye una aplicación de usuario completa de inicio a fin, sino módulos técnicos, bancos de pruebas y librerías criptográficas de propósito específico. Su mayor valor reside en aunar la teoría matemática rigurosa con código Java 21 moderno, abarcando paradigmas emergentes como los retículos y la cuántica. Conviene tener familiaridad con álgebra lineal y aritmética modular para asimilar con soltura las justificaciones matemáticas de los algoritmos.
- Java 21 LTS
- Jakarta EE 11
- Java Cryptography Architecture (JCA)
- Criptoanálisis
- Cifrado simétrico (AES)
- Cifrado asimétrico (RSA, ECC)
- Criptografía cuántica (BB84)
- Criptografía en retículos (NTRU)
- Cifrado homomórfico
- Funciones Hash (SHA-3)
- Bouncy Castle
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

