Cryptography and Cryptanalysis in Java: Creating and Programming Advanced Algorithms with Java SE 17 LTS and Jakarta EE 10

  • 2h 18m
  • Marius Iulian Mihailescu, Stefania Loredana Nita
  • Apress
  • 2022

Here is your in-depth guide to cryptography and cryptanalysis in Java. This book includes challenging cryptographic solutions that are implemented in Java 17 and Jakarta EE 10. It provides a robust introduction to Java 17's new features and updates, a roadmap for Jakarta EE 10 security mechanisms, a unique presentation of the "hot points" (advantages and disadvantages) from the Java Cryptography Architecture (JCA), 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.

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

About the Author

Stefania Loredana Nita, PhD, is a software developer at the Institute of Computer Science of the Romanian Academy and a PhD with her thesis on advanced cryptographic schemes using searchable encryption and homomorphic encryption. She has served more than two years as an assistant lecturer at the University of Bucharest where she taught courses on subjects such as advanced programming techniques, simulation methods, and operating systems. She has authored and co-authored more than 15 work papers for conferences and journals, and has authored two books on he Haskell programming language. She is a lead guest editor for special issues on information security and cryptography such as advanced cryptography and its future: searchable and homomorphic encryption. She holds an MSc in software engineering and two BSc in computer science and mathematics.

Marius Iulian Mihailescu, PhD is CEO at Dapyx Solution Ltd., a company based in Bucharest, Romania. He is involved in information security- and cryptography-related research projects. He is a lead guest editor for applied cryptography journals and a reviewer for multiple publications with information security and cryptography profiles. He authored and co-authored more than 30 articles for conference proceedings, 25 articles in journals, and three books. For more than six years he has served as a lecturer at well-known national and international universities (University of Bucharest, “Titu Maiorescu” University, Kadir Has University in, Istanbul, Turkey). He has taught courses on programming languages (C#, Java, C++, Haskell), and object-oriented system analysis and design with UML, graphs, databases, cryptography, and information security. He served for three years as IT officer at Royal Caribbean Cruises Ltd. where he dealt with IT infrastructure, data security, and satellite communications systems. He received his PhD in 2014 and his thesis was on applied cryptography over biometric data. He holds two MSc in information security and software engineering.

In this Book

  • Introduction
  • JDK 17—New Features
  • Roadmap and Vision for Jakarta EE 10
  • Java Cryptography Architecture
  • Classical Cryptography
  • Formal Techniques for Cryptography
  • Pseudorandom Number Generators
  • Hash Functions
  • Symmetric Encryption Algorithms
  • Asymmetric Encryption Schemes
  • Signature Schemes
  • Identification Schemes
  • Lattice-Based Cryptography and NTRU
  • Advanced Encryption Schemes
  • Cryptography Tools