← All journal posts

Crypto explained

What are HKDF and SHA-256, and why do they matter?

One master secret should not be used as a universal key for every job. HKDF is a careful way to grow extra keys from a secret. SHA-256 is the hash function this recipe uses.

Separate keys, like separate badges

A hotel should not use the same card for the gym, the room, and the cash office. If one badge is copied, the damage should not be total. Key separation is that idea for cryptography.

HKDF takes an existing secret and expands it into material for a named purpose. SHA-256 is a public hash used inside that expansion. You do not run HKDF by hand. You benefit when a product does not reuse one key everywhere.

Where this shows up

In Stax Pass, HKDF-SHA-256 is part of HPKE. After two sides have shared secret material, HKDF helps turn it into the exact keys needed to protect data for the recipient.

That is plumbing. The user-facing rule is simpler: sharing should be deliberate, and a chat thread is not a lock.

Hash is not encryption

SHA-256 by itself does not hide a password in a way you can later open. It maps input to a fixed-size fingerprint. Fast hashes are the wrong main defense for human passwords. That is why Stax Pass uses Argon2id for password stretching and HKDF-SHA-256 for a different job. See what a hash is.

Is this worth paying for?

You are not buying SHA-256. It is free math. You are buying a product that uses the right recipe in the right place and tells you which one. That packaging is the paid work, plus the vault you actually open every day.

Take this with you

  • HKDF grows purpose-specific keys from a secret.
  • SHA-256 here is a hash inside that recipe, not a vault lock by itself.
  • Separate keys limit how far one failure can travel.

Common questions

Do I pick HKDF in settings?

No. It is inside the protocol. Your settings are main password, recovery phrase, and who you share with.

Is SHA-256 broken?

SHA-256 is still widely used as a hash. The mistake is using a fast hash alone to protect a human password.

Why not one key for everything?

Because then one leak is a master key. Separation is boring and wise.