A hash guarantees integrity, not secrecy. Passwords need slow, salted functions such as Argon2id or bcrypt.
Cryptography studio
Hashes, keys
and digital trust
One bit changed. A completely different digest.
- Who it is for
- Developers, students and security practitioners who need to choose or assess algorithms and TLS configurations.
- Level
- Beginner → intermediate
- Duration
- 40–60 minutes
- Prerequisites
- Basic notions of bits, bytes and hexadecimal; a rough idea of what HTTPS is.
Learning objectives
- Tell hashes, MACs, symmetric and asymmetric encryption apart, and know which problem each one solves.
- Read a TLS 1.3 handshake and tell a modern configuration from an obsolete one.
- Choose the right algorithm for passwords, data, signatures and key exchange, including post-quantum options.
The lab uses the browser's Web Crypto API: nothing you type leaves your computer. For the responsible use of the analysis tools see Ethics and law.
Lab
Hash forge
Type a message and watch the digest and the colour grid that represents it byte by byte. Change a single character and roughly half of the result changes.
Three families
How information is protected
Each family solves a different problem: click a family to filter the catalogue.
TLS 1.3 in a single round trip
The client already sends its share of the key exchange (key_share) in the ClientHello; the server replies with its own, and from then on everything is encrypted: certificate, handshake signature (CertificateVerify) and Finished. One round trip and ephemeral keys are enough, so there is forward secrecy.
Analyse a server with TLS certificateCatalogue
Algorithms and protocols
Open a sheet to read the full technical description: history, formulas, pros and cons, and security assessment.
Practical security
Which tool for which problem
A quick guide to the choices: historical and technical details are in the catalogue sheets.
Use
- User passwords → Argon2id (bcrypt as an alternative)
- File and data integrity → SHA-256, SHA-512 or SHA-3
- API tokens and signed cookies → HMAC-SHA256 or Ed25519
- Data in transit → TLS 1.3 (or well-configured 1.2) with a valid certificate
- Encrypted files and records → AES-GCM or ChaCha20-Poly1305 (whole disks: AES-XTS)
- Key exchange → X25519 / ECDHE + HKDF; hybrid X25519MLKEM768 where available
- Digital signatures → Ed25519, ECDSA P-256 or RSA ≥ 3072 bits (PSS); plan the move to ML-DSA
Avoid
- MD5 / SHA-1 for passwords, signatures or critical integrity
- Plain SHA-256 for passwords (too fast)
- DES, 3DES, RC4: retired everywhere
- AES-CBC without a MAC (padding oracle), AES in ECB mode
- RSA key transport: no forward secrecy
- SSL, TLS 1.0 and 1.1 and obsolete cipher suites
- Reused nonces/IVs in any AEAD