Understanding the building blocks of modern cryptography and security.
Uses the same key for encryption and decryption. Fast and efficient for bulk data encryption.
How to securely share the secret key between parties?
Uses public/private key pairs. Public key encrypts, private key decrypts. Solves key distribution problem.
Key exchange, digital signatures, certificate-based authentication
One-way functions that convert data into fixed-size hash values. Used for integrity verification.
SHA-256, SHA-3, BLAKE2, Argon2 (for passwords)
Provide authenticity, integrity, and non-repudiation for digital messages and documents.
Code signing, email security (S/MIME), document authentication
Understanding the Transport Layer Security protocol that secures web communications.
The process by which client and server establish a secure connection.
Client sends supported TLS versions, cipher suites, and random number
Server responds with chosen TLS version, cipher suite, and certificate
Client generates pre-master secret and encrypts with server's public key
Both parties derive session keys from pre-master secret
All subsequent communication is encrypted with session keys
Key security mechanisms that make TLS secure for web communications.
Understanding the framework for managing digital certificates and public key encryption.
Modern authorization and authentication protocols for web and mobile applications.
Different authorization flows for various application types and security requirements.
Most secure flow for web applications with backend servers
Legacy flow for single-page applications (deprecated)
For server-to-server communication
Authorization code flow with additional security for mobile apps
Essential security measures when implementing OAuth 2.0 and OpenID Connect.
Implementing multiple layers of authentication for enhanced security.
Most common but also most vulnerable to attacks
Provides strong security when properly implemented
Most convenient but can have false positives/negatives