Security Engineering
Secure design and threat modeling
Engineering is where architecture becomes implementation. Apply the Saltzer-Schroeder principles and model threats early: STRIDE (spoofing, tampering, repudiation, information disclosure, denial of service, elevation of privilege) enumerates threats per element; DREAD is a scoring rubric; attack trees decompose goals. A secure SDLC, DevSecOps pipelines, SAST, DAST, and software composition analysis push detection left.
Cryptography
Symmetric algorithms (AES) are fast but suffer key distribution. Asymmetric algorithms (RSA, ECC, Diffie-Hellman) solve distribution and enable signatures but are slow, so they wrap symmetric keys. Hashes (SHA-2, SHA-3) provide integrity only and use no key; HMAC adds a shared key; a digital signature is a hash encrypted with the sender's private key and verified with the public key, giving integrity, authentication, and non-repudiation - but not confidentiality.
Key and platform engineering
Cover PKI chain of trust, CRL vs. OCSP, key rotation and escrow, HSM versus TPM (TPM measures boot state, seals keys to platform state), secure boot, attestation, and memory protections such as ASLR and DEP. Know TLS (transport layer, session) versus IPsec (network layer, host-to-host or gateway).
Traps
"Hashing encrypts data" - false. "Encrypt with the private key for confidentiality" - false; that produces a signature. ECB mode leaks patterns; prefer authenticated modes like GCM.
Worked example
You must prove a firmware image came from the vendor and was not altered. The vendor hashes the image and signs the hash with its private key; the device verifies with the public key it already trusts. Confidentiality was never the goal, so no encryption of the payload is required.