Here is your in-depth guide to cryptography and cryptanalysis in Java. This book includes challenging cryptographic solutions that are implemented in Java 21 and Jakarta EE 11. It provides a robust introduction to Java 21's new features and updates, a roadmap for Jakarta EE 11 security mechanisms, a unique presentation of the "hot points" (advantages and disadvantages) from the Java Cryptography Architecture (JCA), a new chapter on Quantum cryptography, and more.
The book dives into the classical simple cryptosystems that form the basis of modern cryptography, with fully working solutions (encryption/decryption operations). Pseudo-random generators are discussed as well as real-life implementations. Hash functions are covered along with practical cryptanalysis methods and attacks, asymmetric and symmetric encryption systems, signature and identification schemes.
The book wraps up with a presentation of lattice-based cryptography and the NTRU framework library. Modern encryption schemes for cloud and big data environments (homomorphic encryption and searchable encryption) also are included. After reading and using this book, you will be proficient with crypto algorithms and know how to apply them to problems you may encounter.
New to This Edition:
The modernized Second Edition is updated to reflect the latest language features in Java 21 and Jakarta 11, along with the introduction of a new chapter on Quantum Cryptography (Chapter 6).
What You Will Learn
- Develop programming skills for writing cryptography algorithms in Java
- Dive into security schemes and modules using Java
- Explore "good" vs "bad" cryptography based on processing execution times and reliability
- Play with pseudo-random generators, hash functions, etc.
- Leverage lattice-based cryptography methods, the NTRU framework library, and more
Who This Book Is For
Those who want to learn and leverage cryptography and cryptanalysis using Java. Some prior Java and/or algorithm programming exposure is highly recommended.