Skip to content

Keystroke Dynamics

Overview

Keystroke dynamics (also called typing biometrics) analyses the rhythm of a person's typing. The key insight is that everyone has a subtly unique typing pattern — even when typing the same phrase — shaped by their muscle memory, hand size, and habitual finger placement.

What is measured

For each character in the phrase, two timing features are captured:

Feature Description
Dwell time How long a key is held down (key-down to key-up), in milliseconds
Flight time The gap between releasing one key and pressing the next, in milliseconds

Enrolment

Students type the fixed phrase (default: the quick brown fox) the required number of times (default: 5). Each attempt produces a vector of dwell times and flight times for each character. The profile stores the mean and standard deviation of each feature across all attempts.

Features with low variance (consistent behaviour) contribute more to matching because a tight standard deviation narrows the expected range for that person.

Identification

The system computes a normalised Manhattan distance between the sample and each stored profile. Distances are converted to confidence percentages using softmax with a configurable scale factor. See How It Works for the formula.

Configuration

All settings are managed via the Admin Panel — no code changes required.

Setting Default Description
Typing phrase the quick brown fox The phrase typed during enrolment and identification. Changing it mid-session requires all students to re-enrol.
Enrolment attempts required 5 Number of typing attempts required to build a profile
Confidence sensitivity 2.0 Softmax scale factor for converting distances to confidence percentages. Higher values sharpen the separation between matches.

Discussion points

  • Ask students to type slowly versus quickly and observe how it affects the match score.
  • What happens if the same person types on a different keyboard?
  • How would you attack this system if you could observe someone typing?