Sixty keystrokes

You typed a passage you had already written down, and recorded yourself doing it. What is in the recording that is not in the passage?

The recording, unaligned

Eight bursts of sound along a time axis, each a tall spike followed by a shorter one, with the fifth burst noticeably taller than the rest

time

Sixteen bursts, not eight. Before anything is labelled, that is the only fact on the slide worth having.

One keystroke is two events

The finger drives the key down onto the plate; the key returns and strikes its stop. Push, then release, about 100 ms apart.

The push is the informative one. It carries the plate’s resonance at the position the key sits in, which is why position is recoverable at all.

Aligned against the passage

The same eight bursts, each labelled with the character typed; the tall fifth burst is the space bar

sidespaceonepushreleasetime

The space bar is obvious. Nothing else here is.

What separates by hand, and what does not

Size and position separate: the space bar, Enter, the keys nearest the recorder. Four bursts of a two-key alternation separate.

Individual letters do not. That is the boundary this Bench is meant to run into, because it is where the 2004 result stopped and the next one started.

The decisive move was not the microphone

Asonov and Agrawal trained on the same keyboard they attacked. The improvement came from dropping that requirement and using the language instead: spelling, word frequency, letter transitions.

A classifier that is unsure between two keys is resolved by the sentence, not by a better recording. The channel became a language problem.

Then the keyboard stopped being necessary

Genkin, Shamir and Tromer recorded the laptop rather than what was typed on it. Coils and capacitors in the voltage regulator vibrate as the processor’s load changes.

QuantityGenkin, Shamir and Tromer, 2014
Band carrying the signalunder 20 kHz
Sensora phone beside the machine, or a good mic at 4 m
Recovereda full 4096-bit RSA key, in about an hour

Five orders of magnitude below the clock

The channel never sees an operation. It sees the envelope of very many of them, and the key falls out of the aggregate.

Which is the honest answer to how far the effect generalises: not “any keyboard” but “any component whose current draw makes a noise.”

The fix was arithmetic

Nobody shielded anything. GnuPG 1.4.16 shipped exponentiation blinding alongside the disclosure — randomise the intermediate values, and a chosen ciphertext no longer produces a profile worth measuring.

An acoustic leak, closed in software.

Before the Bench

Record a known passage on one keyboard — phone audio is enough — and keep the text. Sixty keystrokes is the floor.

The Bench asks you to align the waveform against the passage by hand, point at two keys that are visibly different, and state what would have to be true of a second keyboard for the technique to fail.