liveBook · Manning

Short authenticated string

As explained in Real-World Cryptography

A short authenticated string is a compact human-readable value used to verify that two devices derived or exchanged the same cryptographic keying material.

A short authenticated string (SAS) is a compact value that two devices display after a key exchange. A person compares the values; matching strings indicate that the exchange was not actively man-in-the-middled—provided the SAS protocol is designed securely. section 11.3 section 11.4

A typical SAS-based pairing flow works like this:

  • The devices perform a key exchange, initially without authenticating each other. section 11.3.3
  • Each device derives a short value from the exchange transcript, commonly by truncating a hash to fewer than 20 bits and displaying a six-digit number. section 11.3.3
  • The user compares both displays in real time; equality authenticates the exchange only when the protocol prevents an attacker from choosing keys adaptively. section 11.3.3

SAS values are intentionally easy to compare but dangerously small. In a naive design, an active attacker can generate many public keys until truncated transcript hashes produce the same value on both sides. A commitment step improves the design: one party commits to its public key before receiving the other key, preventing adaptive key selection. section 11.3.3

Pairing a phone with a car

Bluetooth Numeric Comparison can display an SAS for the negotiated connection so a user can compare the phone and car screens. Bluetooth security protocols were described as broken because of the KNOB attack, so controlled devices require a carefully implemented SAS protocol rather than blind reliance on the built-in flow.

How Real-World Cryptography covers it

How deep it goes
Explains transcript hashing, truncation, adaptive MITM attacks, and commitment-based protection, while avoiding implementation standards.
Examples
Uses Bluetooth Numeric Comparison, phone-car pairing, six-digit values, and public-key substitution diagrams.
What it assumes
Assumes a key exchange and an authenticated, non-confidential comparison channel, while distinguishing short SAS values from longer fingerprints.
What you can do after
Evaluate a pairing flow by comparing displayed SAS values and checking whether its protocol prevents attacker-controlled key selection.
How it connects
Connects key exchange, man-in-the-middle attacks, transcript fingerprints, Diffie-Hellman, commitments, and password-authenticated key exchange.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.