Skip to content
Optimal Lab

Security and cryptography

See how attacks work and what actually stops them.

Start: Storing passwords →11 live · 29 coming

Sessions

Go in order. Each session is one idea you can drag, step and break.

01Cryptography basics

3 live · 4 coming

The building blocks.

  1. Interactive

    Coming soon

    Hash functions

    Same input, same output; tiny change, completely different output.

  2. Interactive

    Live

    Storing passwords

    Salts, bcrypt and argon2, and why plain hashes fail.

    Open session →

  3. Interactive

    Coming soon

    Symmetric encryption

    One shared key to lock and unlock.

  4. Interactive

    Coming soon

    Public-key cryptography

    A public key to lock, a private key to unlock.

  5. Interactive

    Live

    Key exchange

    Two strangers agree on a secret over a public channel.

    Open session →

  6. Interactive

    Live

    Digital signatures

    Prove who sent a message and that nobody changed it.

    Open session →

  7. Interactive

    Coming soon

    Randomness and nonces

    Why predictable random numbers break everything.

02TLS and certificates

1 live · 3 coming

Trusting who you're talking to.

  1. Interactive

    Coming soon

    The TLS handshake

    Certificates, key exchange and the first encrypted byte.

  2. Interactive

    Live

    Certificates and certificate authorities

    The chain of trust from your site to the browser.

    Open session →

  3. Interactive

    Coming soon

    Mutual TLS

    Both sides prove who they are.

  4. Interactive

    Coming soon

    HTTPS everywhere and HSTS

    Stop downgrades to plain HTTP.

03Identity and access

2 live · 5 coming

Who is this, and what may they do?

  1. Interactive

    Coming soon

    Sessions and cookies

    Stay logged in, and the cookie flags that matter.

  2. Interactive

    Live

    JWTs

    What's inside a token, and the mistakes that make it forgeable.

    Open session →

  3. Interactive

    Live

    The OAuth 2.0 flow

    Authorization code with PKCE, step by step.

    Open session →

  4. Interactive

    Coming soon

    OpenID Connect

    Sign in with another provider.

  5. Interactive

    Coming soon

    Passkeys and WebAuthn

    Log in with a device instead of a password.

  6. Interactive

    Coming soon

    Multi-factor authentication

    Codes, push and hardware keys, and which ones get phished.

  7. Interactive

    Coming soon

    Authorization models

    RBAC, ABAC and relationship-based access.

04Web attacks

5 live · 1 coming

How common attacks work, and the fix for each.

Already live in other tracks: CORS, Content Security Policy

  1. Interactive

    Live

    Cross-site scripting (XSS)

    Injected script running in someone else's session.

    Open session →

  2. Interactive

    Live

    Cross-site request forgery (CSRF)

    Another site makes the user's browser send a request.

    Open session →

  3. Interactive

    Live

    SQL injection

    User input that changes the query.

    Open session →

  4. Interactive

    Live

    Server-side request forgery (SSRF)

    Trick the server into calling internal addresses.

    Open session →

  5. Interactive

    Live

    Broken access control

    Change an ID in the URL and see someone else's data.

    Open session →

  6. Interactive

    Coming soon

    Clickjacking

    A hidden frame steals a click.

05Application security

0 live · 6 coming

Writing code that's hard to attack.

  1. Interactive

    Coming soon

    Input validation and output encoding

    Check what comes in, escape what goes out.

  2. Interactive

    Coming soon

    Handling secrets

    Keys in code, logs and images, and getting them out.

  3. Interactive

    Coming soon

    Dependency and supply-chain risks

    A compromised package in your build.

  4. Interactive

    Coming soon

    Security headers

    The headers that switch on browser protections.

  5. Interactive

    Coming soon

    Brute force and abuse

    Rate limits, lockouts and CAPTCHAs.

  6. Interactive

    Coming soon

    Security logging

    Log what you need to investigate, and nothing sensitive.

06Infrastructure security

0 live · 4 coming

Protecting the systems underneath.

  1. Interactive

    Coming soon

    Least privilege

    Give every person and service only what it needs.

  2. Interactive

    Coming soon

    Network segmentation

    Limit how far an attacker can move once inside.

  3. Interactive

    Coming soon

    Zero trust

    Check every request, even from inside the network.

  4. Interactive

    Coming soon

    Encryption at rest and key management

    Encrypt the data, and protect and rotate the keys.

07Security practice

0 live · 4 coming

Making security part of the work.

  1. Interactive

    Coming soon

    Threat modeling

    Find what could go wrong before you build it.

  2. Interactive

    Coming soon

    The OWASP Top 10

    The most common web risks, and how to check for each.

  3. Interactive

    Coming soon

    Penetration testing

    Attack your own system the way an attacker would.

  4. Interactive

    Coming soon

    Security incidents and disclosure

    What to do when you're breached, and telling users.

08AI security

0 live · 2 coming

New attacks on AI features.

  1. Interactive

    Coming soon

    Prompt injection, as an attacker sees it

    Hide instructions in a document and take over the agent.

  2. Interactive

    Coming soon

    Data exfiltration through agents

    Trick an agent into sending private data out.

In production

Tools you can use

35 technologies across 11 live sessions. Same names in any language — pick a session to see how the idea maps to the real world.

Services, platforms, protocols and standards — not one stack.

Roadmap

Coming soon

A step-by-step path through the track, with sessions and practice at each stage.

  1. Stage 1

    Cryptography basics

  2. Stage 2

    TLS and identity

  3. Stage 3

    Web attacks

  4. Stage 4

    Application and infrastructure security

  5. Stage 5

    Security practice

Projects

Coming soon

Build something real to lock in the skill.

  • Exploit and fix a vulnerable app
  • Implement login with passkeys
  • Threat-model a feature you shipped