Anti-Keylogger USB Dongle for Typing Privacy

Anti-Keylogger USB Dongle for Typing Privacy

ISEF Category: Embedded Systems

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Microcontrollers  ·  Difficulty: Advanced  ·  Setup: University Lab  ·  Time: Full Year

The Hook

Your typing rhythm can reveal who you are, even when no one reads your words. That means a keyboard can leak identity the way a fingerprint scanner does, only quieter. This project asks a wild question, can a tiny dongle scramble that signal well enough to protect privacy?

What Is It?

This project studies a device that sits between a keyboard and a computer and changes the timing pattern of your keystrokes. A host computer still sees normal text input, but the tiny delays between presses and releases no longer look like your usual typing style. That matters because some systems can try to identify people from those timing patterns, which are called keystroke dynamics.

Think of it like putting static on a voice recording. The words still get through, but some of the clues that point to a specific speaker become harder to track. In this project, the RP2040 microcontroller acts as the middleman. It can add small random delays, and a small recurrent neural network, or RNN, can generate noise that looks more like real typing behavior than simple random jitter.

Why This Is a Good Topic

This makes a strong science fair topic because you can measure the effect directly. You can compare how well a classifier or statistical model recognizes a typist before and after the dongle changes timing. That gives you a clear input, a clear output, and real numbers to analyze. It also connects to a real privacy problem, since typing patterns can leak identity, even when text content stays hidden.

Research Questions

  • How does added keystroke-timing noise change the accuracy of a typing-based identity classifier?
  • What is the effect of different delay distributions on the separability of two typists' timing features?
  • Does RNN-generated timing noise hide identity better than simple uniform random jitter?
  • To what extent does the dongle preserve typing speed while reducing biometric recognition?
  • Which timing features, hold time, flight time, or digraph latency, stay most stable under the dongle's interference?
  • How does the dongle affect the false accept rate and false reject rate of a biometric model?

Basic Materials

  • RP2040 development board, such as Raspberry Pi Pico or Pico W.
  • USB keyboard.
  • Spare computer for data logging and testing.
  • USB cable.
  • Basic USB breakout or adapter for keyboard pass-through testing.
  • Python-capable laptop for analysis.
  • Spreadsheet software for organizing timing data.
  • External storage drive for backups.

Advanced Materials

  • RP2040 development board with USB host support hardware.
  • USB-C or USB-A inline pass-through enclosure.
  • Logic analyzer for verifying USB timing.
  • Oscilloscope for checking signal integrity and latency.
  • Mechanical keyboard with consistent switch behavior.
  • Two or more keyboards for comparison tests.
  • Secure data collection computer.
  • MicroSD logging module if you want onboard capture.
  • University lab workstation for model training and evaluation.

Software & Tools

  • Python: Parses keystroke logs, computes timing features, and runs classifier tests.
  • pandas: Organizes timing data and makes comparison tables.
  • scikit-learn: Trains baseline models for identity classification.
  • PyTorch: Builds and tests the RNN that generates timing noise.
  • ImageJ: Not used here, so skip it and focus on timing analysis tools.

Experiment Steps

  1. Define the biometric signal you want to disrupt, such as hold time, flight time, or digraph timing.
  2. Choose one baseline typing dataset and one testing group so you can compare identity recognition before and after interference.
  3. Design the dongle behavior, including the delay rule, the noise source, and the limits that keep typing usable.
  4. Plan a fair evaluation method that measures privacy gain and typing performance at the same time.
  5. Build a feature set and a classifier so you can turn timing logs into accuracy, error rate, or similarity scores.
  6. Compare your dongle against a no-modification control and at least one simpler timing perturbation method.

Common Pitfalls

  • Adding delays that are so large that the keyboard feels broken, which makes the privacy gain unusable.
  • Testing with only one typist, which cannot show whether the dongle actually hides identity.
  • Mixing data from different keyboards or switch types, which changes timing features for reasons unrelated to the dongle.
  • Using a classifier that learns session noise instead of typist identity, which inflates accuracy by mistake.
  • Ignoring latency and packet handling limits on the microcontroller, which can cause dropped keystrokes or unstable timing.

What Makes This Competitive

A stronger version of this project would compare several noise models, not just one. You could test whether an RNN, a rule-based delay pattern, or a plain random jitter method best reduces classifier accuracy while keeping typing usable. You could also evaluate more than one biometric model and more than one typist, then report confusion matrices, ROC curves, and privacy-utility tradeoffs. That kind of analysis shows you understand both the hardware and the measurement problem.

Project Variations

  • Test the dongle on mechanical keyboards versus laptop keyboards to see whether switch type changes how well the timing noise works.
  • Compare human typing data with scripted password entry to see whether short fixed strings are easier or harder to protect.
  • Replace the RNN with a simpler statistical noise model and compare privacy gain, latency, and typing comfort.

Learn More

  • RP2040 Documentation: Read the official Raspberry Pi Pico documentation for USB and microcontroller basics on the Raspberry Pi website.
  • MIT OpenCourseWare, Embedded Systems: Search for free lecture notes and assignments on microcontroller design and real-time systems.
  • PubMed: Search review articles on keystroke dynamics, typing biometrics, and behavioral authentication.
  • IEEE Xplore Abstracts: Search for papers on keystroke dynamics and anti-spoofing methods, then read abstracts and open-access versions when available.
  • arXiv: Search for preprints on behavioral biometrics, privacy-preserving input systems, and sequence models.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub​ →

Shopping Cart