![]() |
| [image source: Amazon] |
Book: Software Security for Developers: With Examples in Java and Spring
- https://www.amazon.com/Software-Security-Developers-examples-Spring/dp/1617298581
- https://www.manning.com/books/software-security-for-developers
Publisher: Manning
Publication Date: June 9, 2026
Authors:
Adib Saikali
Distinguished Software Engineer @ Tanzu
Toronto, Ontario, Canada
https://www.linkedin.com/in/adibsaikali/
Laurentiu Spilca
Principal Development Consultant, Endava
Bucharest, Romania
https://www.linkedin.com/in/laurspilca/?locale=en
Review Rating: 4-Stars
Review Title: A good book for an introduction to Software Security - for both Developers and Managers
======================================================================
I enjoyed reading this book. It is well-written, and provides a broad survey of important software security concepts and techniques – with easy to understand illustrations, descriptions, and code examples.
The companion GitHub repository provides 27 subfolders with Java & Spring examples.
Chapters 2-17 include a number of exercises (182), and at the end of the chapter there is a consistent approach in providing Exercise answers – as well as a Summary. The summary bullets are meaningful, and well written.
If the reader leverages the contents of each chapter, including the exercises, and the code examples – then this book will provide the diligent reader with a very HANDS-ON learning experience.
Some minor nits:
The naming convention of the folders in the companion GitHub repository for the book would have been better named using a consistent 2-character identifier for the chapter, and a 2-character identifier for the exercise - so that a natural sort order would be enforced.
"Single-sign on" is improperly written, it should be "Single sign-on"
page-v
page-211
page-335
While the writing is crisp & concise, and the coverage of the subject matter is *mostly* sufficient for a book of this length – there are three notable deficiencies:
1. The book suffers from a paucity of coverage for the very important topic of Post Quantum Cryptography (PQC).
Although the book was published in June 2026, there are only two pages (53, 75) that vaguely refer to NIST cryptographic algorithms standards – and neither of those mention the NIST work on Post Quantum Cryptography (PQC). Nor are there any "additional reading" suggestions.
Further, on Page-94, this statement is made:
"Cryptographers are building encryption algorithms that can resist quantum computers, but none has been standardized so far."
- This is incorrect.
On August 13, 2024, NIST released final versions of the first three Post Quantum Crypto Standards: FIPS 203, FIPS 204, and FIPS 205. [see NIST press release]
✅ Federal Information Processing Standard (FIPS) 203, intended as the primary standard for general encryption. Among its advantages are comparatively small encryption keys that two parties can exchange easily, as well as its speed of operation. The standard is based on the CRYSTALS-Kyber algorithm, which has been renamed ML-KEM, short for Module-Lattice-Based Key-Encapsulation Mechanism.
✅ FIPS 204, intended as the primary standard for protecting digital signatures. The standard uses the CRYSTALS-Dilithium algorithm, which has been renamed ML-DSA, short for Module-Lattice-Based Digital Signature Algorithm.
✅ FIPS 205, also designed for digital signatures. The standard employs the SPHINCS+ algorithm, which has been renamed SLH-DSA, short for Stateless Hash-Based Digital Signature Algorithm. The standard is based on a different math approach than ML-DSA, and it is intended as a backup method in case ML-DSA proves vulnerable.
On March 11, 2025 NIST released Hamming Quasi-Cyclic (HQC) as the fifth algorithm for post-quantum asymmetric encryption as used for key encapsulation / exchange.The new algorithm is as a backup for ML-KEM, the main algorithm for general encryption.
Additionally, there are international alternatives to the NIST standard, that could have been briefly cited, and links provided. For example, see this Akamai article, 'A Guide to International Post-Quantum Cryptography Standards', published on Oct 08, 2025.
2. The book suffers from an absence of "further reading" suggestions for the important topic of Zero Trust.
3. The book does not mention Homomorphic Encryption.
======================================================================
Note: 2026-07-26 Sunday: I will probably add another 10-20, or 30 links here, before I am finished.
These are just some of the suggested additional reading resources such a book could have included:
(illustrative, not exhaustive)
Status: Work-In-Progress
Suggested sites for further reading:
- Oracle JRE and JDK Cryptographic Roadmap
- Secure Coding Guidelines
- Java Security Developer’s Guide
- OpenJDK Security Group
- Java Security News Resources
- https://spring.io/projects/spring-security
- "Spring Security is a framework that provides authentication, authorization, and protection against common attacks."
- https://spring.io/projects/spring-security#learn
- https://docs.spring.io/spring-security/reference/features/index.html
- https://docs.spring.io/spring-security/reference/features/authentication/
- https://docs.spring.io/spring-security/reference/features/authorization/
- https://docs.spring.io/spring-security/reference/features/exploits/
- https://docs.spring.io/spring-security/reference/features/integrations/
- https://docs.spring.io/spring-security/reference/index.html
- https://docs.spring.io/spring-security/reference/whats-new.html
- https://docs.spring.io/spring-security/reference/api/java/index.html
- https://github.com/spring-projects/spring-security
Interesting Security-related web sites:
- OWASP Top 10:2025
- Center for Internet Security (CIS)
- https://www.cisecurity.org/
- CIS Critical Security Controls
- https://www.cisecurity.org/controls
- The 18 CIS Critical Security Controls
- https://www.cisecurity.org/controls/cis-controls-list
- Prof Bill Buchanan OBE FRSE (Fellow of the Royal Society of Edinburgh Royal Society of Edinburgh, Professor of Cryptography at Napier University)
- https://www.linkedin.com/in/billatnapier/
- https://www.youtube.com/billbuchanan
- https://asecuritysite.com/
- https://asecuritysite.com/blogs
- https://asecuritysite.com/cyberdata
- https://asecuritysite.com/challenges
- Also see his "pqc" page cited in the section below.
Interesting Security-related GitHub Resources:
- https://github.com/sobolevn/awesome-cryptography
- "A curated list of cryptography resources and links."
- See: Java section
Homomorphic Encryption (HE) / Fully Homomorphic Encryption (FHE):
- Suggested Background Reading:
- https://en.wikipedia.org/wiki/Homomorphic_encryption
- "Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output that is identical to that of the operations performed on the unencrypted data. Homomorphic encryption can be used for privacy-preserving outsourced storage and computation. This allows data to be encrypted and outsourced to commercial cloud environments for processing, all while encrypted."
- Note table: "Implementations"
- https://en.wikipedia.org/wiki/Paillier_cryptosystem
- "The Paillier cryptosystem, invented by and named after Pascal Paillier in 1999, is a probabilistic asymmetric algorithm for public key cryptography. The problem of computing n-th residue classes is believed to be computationally difficult. The decisional composite residuosity assumption is the intractability hypothesis upon which this cryptosystem is based."
- Good Overview Articles:
- https://www.ibm.com/think/topics/homomorphic-encryption
- https://www.splunk.com/en_us/blog/learn/homomorphic-encryption.html
- https://digitalprivacy.ieee.org/publications/topics/what-is-homomorphic-encryption/
- ACM: Data Privacy Made Easy: Enhancing Applications with Homomorphic Encryption
- Article No.: 35, Pages 1 - 31
- https://dl.acm.org/doi/full/10.1145/3715877
- Center for Effective Global Action (University of California, Berkeley)
- Homomorphic Encryption for Cross-Border Computation
- Presentations:
- Homomorphic Encryption Standardization
- https://homomorphicencryption.org/
- "An Open Industry / Government / Academic Consortium to Advance Secure Computation"
- Papers:
- OpenFHE: Open-Source Fully Homomorphic Encryption Library
- https://eprint.iacr.org/2022/915
- "Fully Homomorphic Encryption (FHE) is a powerful cryptographic primitive that enables performing computations over encrypted data without having access to the secret key. We introduce OpenFHE, a new open-source FHE software library that incorporates selected design ideas from prior FHE projects, such as PALISADE, HElib, and HEAAN, and includes several new design concepts and ideas. The main new design features can be summarized as follows: (1) we assume from the very beginning that all implemented FHE schemes will support bootstrapping and scheme switching; (2) OpenFHE supports multiple hardware acceleration backends using a standard Hardware Abstraction Layer (HAL); (3) OpenFHE includes both user-friendly modes, where all maintenance operations, such as modulus switching, key switching, and bootstrapping, are automatically invoked by the library, and compiler-friendly modes, where an external compiler makes these decisions. This paper focuses on high-level description of OpenFHE design, and the reader is pointed to external OpenFHE references for a more detailed/technical description of the software library."
- [Also see 'openfhe-development' GitHub Repo citation below, under 'GitHub Resources']
- Homomorphic encryption enables privacy preserving polygenic risk scores
- SoK: New Insights into Fully Homomorphic Encryption Libraries
via Standardized Benchmarks (2022) - https://eprint.iacr.org/2022/425.pdf
- "Fully homomorphic encryption (FHE) enables arbitrary computation on encrypted data, allowing users to upload ciphertexts to cloud servers for computation while mitigating privacy risks. Many cryptographic schemes fall under the umbrella of FHE, and each scheme has several open-source implementations with its own strengths and weaknesses. Nevertheless, developers have no straightforward way to choose which FHE scheme and implementation is best suited for their application needs, especially considering that each scheme offers different security, performance, and usability guarantees. To allow programmers to effectively utilize the power of FHE, we employ a series of benchmarks called the Terminator 2 Benchmark Suite and present new insights gained from running these algorithms with a variety of FHE back-ends. Contrary to generic benchmarks that do not take into consideration the inherent challenges of encrypted computation, our methodology is tailored to the secure computational primitives of each target FHE implementation. To ensure fair comparisons, we developed a versatile compiler (called T2 ) that converts arbitrary benchmarks written in a domain-specific language into
identical encrypted programs running on different popular FHE libraries as a backend. Our analysis exposes for the first time the advantages and disadvantages of each FHE library as well as the types of applications most suited for each computational domain (i.e., binary, integer, and floating-point)." - "This work was partially supported by the University of Delaware Research Foundation Grant 21A01012 and
the Electrical and Computer Engineering department at the University of Delaware."
- Conferences & Workshops:
- WAHC 2026 – 14th Workshop on Encrypted Computing & Applied Homomorphic Cryptography (ACM CCS (CCS’26) in The Hague) – November 15-19, 2026
- ACM: Association for Computing Machinery (ACM)
- CCS: Conference on Computer and Communications Security (CCS)
- SIGSAC: Special Interest Group on Security, Audit and Control
- https://homomorphicencryption.org/wahc-2026-14th-workshop-on-encrypted-computing-applied-homomorphic-cryptography/
- https://www.sigsac.org/ccs/CCS2026/
- GitHub Resources:
- GitHub Repo: Awesome - A curated list of amazing Homomorphic Encryption libraries, software and resources
- https://github.com/jonaschn/awesome-he
- See: "Libraries that can be used to implement applications using (Fully) Homomorphic Encryption."
- GitHub Repo: openfhe-development
- https://github.com/openfheorg/openfhe-development
- "This is the development repository for the OpenFHE library."
- Langue: C++
- License: BSD-2-Clause
- Status: Appears to be active (recent updates in 2026)
- See Release Notes
- https://github.com/openfheorg/awesome-openfhe
- "A curated list of amazing tools, products, tutorials, applications, publications, and other resources related to OpenFHE"
- https://openfhe.org/
- "OpenFHE is an open-source project that provides efficient extensible implementations of the leading post-quantum Fully Homomorphic Encryption (FHE) schemes."
- https://openfhe-development.readthedocs.io/en/latest/
- GitHub Repo: mpc4j
- https://github.com/alibaba-edu/mpc4j
- "Multi-Party Computation for Java (mpc4j) is an efficient and easy-to-use Secure Multi-Party Computation (MPC), Homomorphic Encryption (HE), and Differential Privacy (DP) library mainly written in Java."
- Language: Java
- License: Apache 2.0
- Status: Appears to be active (recent updates in 2026)
- GitHub Repo: python-pallier
- https://github.com/data61/python-paillier
- "A library for Partially Homomorphic Encryption in Python"
- Language: Python
- License: GNU GPL 3
- Status: (last updated ~2022)
- GitHub Repo: Ciphercraft
- https://github.com/ADWISE-VCU/Ciphercraft
- "Contains Packages for ElGamal, Paillier, Goldweiser-Micali and DGK Homomorphic Encryption System. Also implements secure multiplication, division and comparison."
- Language: Java
- License: MIT
- Status: (last updated ~2025)
- GitHub Repo: fhe-core
- https://github.com/kryptnostic/fhe-core
- Language: Java, Wolfram Language
- License: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public
- Status: DEPRECATED (see krypto)
- GitHub Repo: krypto
- https://github.com/kryptnostic/krypto
- Language: C++
- License: none specified
- Status: Does not appear to be actively maintained (last updated ~2016)
- Spring Security support for Homomorphic Encryption (HE):
- As of 2026-07-28 Tue, there does not appear to be any support for HE in Spring, nor any enhancement requests.
Suggested links for relevant IETF RFCs:
- JSON Web Token (JWT)
- RFC 7519: JSON Web Token (JWT)
- Bluffers Guide To JWTs. My Top 20 important things about JWTs: | by Prof Bill Buchanan OBE FRSE
- OAuth 2.0
- RFC 6749: The OAuth 2.0 Authorization Framework
- OAuth 2.1
- DRAFT: The OAuth 2.1 Authorization Framework
- TLS 1.3
RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3- RFC 9846: The Transport Layer Security (TLS) Protocol Version 1.3
- Post-Quantum and Post-Quantum/Traditional Hybrid Algorithms for HPKE
- DRAFT: Post-Quantum and Post-Quantum/Traditional Hybrid Algorithms for HPKE
Suggested software development (security-related) books for further reading:
(Note: I will be citing books published by Manning, O'Reilly, and Packt - as well as some others)
- Secure APIs, Design, build, and implement (October 2025)
- Microservices Patterns, 2nd Edition (Manning MEAP currently available, Spring 2027)
- by Chris Richardson
- Note: While Chris' book is not strictly focused on Software Security - there are patterns covered in his book that do touch on that, as well as closely related concerns.
- https://www.linkedin.com/in/pojos/
- https://www.chrisrichardson.net/
- https://eventuate.io/
- https://microservices.io/
Post-Quantum Cryptography (PQC) links for further reading:
- Regulatory Forces:
- US NSA CNSA 2.0 (2027), NIST IR 8547 (deprecation by 2030, disallowed by 2035), EU critical infrastructure (2030).
- 2026-06-16: "France to Stop Certifying Non-Quantum-Safe Security Products Next Year [2027]"
- https://gizmodo.com/the-quantum-threat-to-encryption-is-coming-france-just-set-a-2027-deadline-2000773650
- https://www.reuters.com/legal/litigation/france-stop-certifying-products-without-quantum-safe-encryption-2026-06-16/
- "Samih Souissi, ANSSI's chief of staff, said at the France Quantum conference that the agency would halt such certifications from 2027, and that businesses should be buying only quantum-safe products by 2030."
- Java Support for PQC:
- Oracle Security Blog: (as of 2026-07-28, this is the _only_ mention of PQC)
- 2025-11-18: Preparing for Post Quantum Cryptography
- Sean Mullan blog:
- 2026-03-16: JDK 26 Security Enhancements
- https://seanjmullan.org/blog/2026/03/16/jdk26
- "Initially in JDK 26, we only support traditional, non-PQC algorithms. However, we plan to add support for PQC algorithms in a later JDK release once the Internet draft on Post-Quantum and Post-Quantum/Traditional Hybrid Algorithms for HPKE becomes an RFC."
- JEPS:
- SE 27:
- JEP 527: JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3
- YouTube:
- Java and Post-Quantum Cryptography (51:06)
- Sean Mullan (Java Platform Group - Oracle) at JavaOne 2026 (CA, March 2026).
- https://www.youtube.com/watch?v=6xh-bN4W74o
- Spring Security support for Post Quantum Cryptography (PQC):
- Enhancement: NimbusJwtEncoder does not support Edwards Curve signature (EdDSA) family algorithms. #17098
- https://github.com/spring-projects/spring-security/issues/17098
- Opened: 2025-05-13
- Status: Open (as of 2026-07-28 Tue)
- Enhancement: Support for Java 25 PQC in Spring Security #18103
- https://github.com/spring-projects/spring-security/issues/18103
- Opened: 2025-10-25
- Status: Open (as of 2026-07-27 Mon)
- PR: Add EdDSA support to NimbusJwtEncoder - #19175 (Pull Request)
- https://github.com/spring-projects/spring-security/pull/19175
- Status: Work in Progress (as of 2026-07-28 Tue)
National Institute of Standards and Technology (NIST) Cryptographic links for further reading:
- Use of Cryptographic Modules by Federal Agencies and Departments
- https://csrc.nist.gov/projects/cryptographic-module-validation-program
- "FIPS 140-2 and FIPS 140-3 requirements are applicable to all U.S. Federal agencies. Agencies must use cryptographic-based security systems to provide adequate information security for all operations and assets as defined in 15 U.S.C. § 278g-3."
- "Non-validated cryptography is viewed as providing no protection to the information or data—in effect the data would be considered unprotected plaintext. If the agency specifies that the information or data be cryptographically protected, then FIPS 140-2 or FIPS 140-3 is applicable. In essence, if cryptography is required, then it must be validated. Should the cryptographic module be revoked, use of that module is no longer permitted."
- NIST Special Publication 800-175A:
- Guideline for Using Cryptographic Standards in the Federal Government: Directives, Mandates and Policies
- NIST Special Publication 800-175B:
- Guideline for Using Cryptographic Standards in the Federal Government: Cryptographic Mechanisms
