---
id: look-up-secrets
title: Look-up Secrets and Recovery Codes
---

![Google Authenticator Backup Codes](../../images/google-authenticator-backup-codes.png)

> A look-up secret authenticator is a physical or electronic record that stores
> a set of secrets shared between the claimant and the CSP. The claimant uses
> the authenticator to look up the appropriate secret(s) needed to respond to a
> prompt from the verifier. For example, the verifier may ask a claimant to
> provide a specific subset of the numeric or character strings printed on a
> card in table format. A common application of look-up secrets is the use of
> "recovery keys" stored by the subscriber for use in the event another
> authenticator is lost or malfunctions. A look-up secret is something you
> have. -
> [Source](https://pages.nist.gov/800-63-3/sp800-63b.html#-512-look-up-secrets)

## Resilient to Offline Attacks

> Verifiers SHALL store look-up secrets in a form that is resistant to offline
> attacks. Look-up secrets having at least 112 bits of entropy SHALL be hashed
> with an approved one-way function as described in Section 5.1.1.2. Look-up
> secrets with fewer than 112 bits of entropy SHALL be salted and hashed using a
> suitable one-way key derivation function, also described in Section 5.1.1.2.
> The salt value SHALL be at least 32 in bits in length and arbitrarily chosen
> so as to minimize salt value collisions among stored hashes. Both the salt
> value and the resulting hash SHALL be stored for each look-up secret. -
> [Source](https://pages.nist.gov/800-63-3/sp800-63b.html#5122-look-up-secret-verifiers)
