Giter VIP home page Giter VIP logo

keystroke-dynamics-datagen's Introduction

keystroke-dynamics-datagen

Generates dataset for the study of typing patterns of people to distinguish them from one another.


Records three features:

Hold time – time between press and release of a key.
Keydown-Keydown time – time between the pressing of consecutive keys.
Keyup-Keydown time – time between the release of one key and the press of next key.

Generates JSON for the timings.


Refer this paper for dataset format!


Run record_keystroke.py to see it in action.

Detailed Instructions

  • Clone the repository.
  • Keep a copy of DSL-StrongPasswordData.csv in edited_dataset folder. Note- Let the original dataset stay in root folder.
  • Run record_keystroke.py and provide name for user who is recording the keystrokes in the format [username]_rep[count_of_recording]. EX. Nilesh_rep1
  • You can modify the number of recordings in one execution by modifying frequency_password_entry inside record_keystroke.py. This will generate JSON of keystroke timings in output/ folder for any future use.
  • Run append_in_dataset.py by providing the username you had provided during running record script. EX. if you had given username as "xyz_rep1". Give "xyz" as the input here.
  • Your keystrokes will be appended in the dataset in edited_dataset folder. Original dataset is not affected.

Note

This script works only for Linux Based Systems as pyxhook is for Linux. PyHook or keyboard modules can be used for developing relevant scripts for Windows.

Contributions highly appreciated!

keystroke-dynamics-datagen's People

Contributors

nileshprasad137 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

keystroke-dynamics-datagen's Issues

Error when I type the password correctly.

~/keystroke-dynamics-datagen$ python3 record_keystroke.py
Enter your name: alex_rep1
enter 2 times more!
Enter '.tie5Roanl' : .tie5Roanl
pwd correct!
Traceback (most recent call last):
File "record_keystroke.py", line 99, in
key_timings[key.lower()]["keyDown"] - key_timings[key]["keyUp"]
TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "record_keystroke.py", line 102, in
key_timings[key]["keyDown"] - key_timings[key]["keyUp"]
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'

Could you please tell me how to debug with that?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.