ksd 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Manifest.txt +1 -1
- data/README.rdoc +2 -2
- data/examples/enroll_login.rb +1 -1
- data/examples/{enroll_scentences.rb → enroll_sentences.rb} +4 -4
- data/lib/keystroke_dynamics.rb +2 -2
- metadata +2 -2
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
@@ -12,7 +12,7 @@ Simple keystroke dynamics analyzer/validator written in Ruby-GTK
|
|
12
12
|
* Validation holds logic to manage user enrollment, validation and cryptographic functions.
|
13
13
|
|
14
14
|
== EXAMPLES:
|
15
|
-
The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first,
|
15
|
+
The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first, enroll_sentences.rb, lets you type in 5 pangrams (sentences that hold every letter of the alphabet) to establish your metric. The other, enroll_login.rb, lets you type your login details 10 times. I leave it as an excercise to the user to see which method works best for him or her.
|
16
16
|
The login.rb example lets you try out your newly created username, password and keystroke metric on a login screen.
|
17
17
|
|
18
18
|
== REQUIREMENTS:
|
@@ -25,7 +25,7 @@ Depends on
|
|
25
25
|
|
26
26
|
== INSTALL:
|
27
27
|
|
28
|
-
* sudo gem install
|
28
|
+
* sudo gem install ksd
|
29
29
|
|
30
30
|
If you don't have the Ruby GTK or OpenSSL bindings you should install them through your package manager.
|
31
31
|
|
data/examples/enroll_login.rb
CHANGED
@@ -35,7 +35,7 @@ loginbox.pack_start(pass, true, true, 0)
|
|
35
35
|
mainbox.pack_start(loginbox, true, true,0)
|
36
36
|
mainbox.show
|
37
37
|
|
38
|
-
mainbox.pack_start(Gtk::Label.new("Please type your login details 10 times so I can learn
|
38
|
+
mainbox.pack_start(Gtk::Label.new("Please type your login details 10 times so I can learn your keystroke dynamics."), true, true, 20)
|
39
39
|
|
40
40
|
statsbox = Gtk::HBox.new
|
41
41
|
mean_hold_label = Gtk::Label.new
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# == Summary
|
3
|
-
# This is an example enrollment application set up to collect keystroke dynamics data by letting the user type several
|
3
|
+
# This is an example enrollment application set up to collect keystroke dynamics data by letting the user type several sentences.
|
4
4
|
require 'gtk2'
|
5
5
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
6
6
|
require 'rubygems'
|
@@ -34,9 +34,9 @@ loginbox.pack_start(pass, true, true, 0)
|
|
34
34
|
mainbox.pack_start(loginbox, true, true,0)
|
35
35
|
mainbox.show
|
36
36
|
|
37
|
-
mainbox.pack_start(Gtk::Label.new("Please type these
|
37
|
+
mainbox.pack_start(Gtk::Label.new("Please type these sentences so I can learn your keystroke dynamics."), true, true, 20)
|
38
38
|
|
39
|
-
|
39
|
+
sentences = [
|
40
40
|
Gtk::Label.new("Two driven jocks help fax my big quiz."),
|
41
41
|
Gtk::Label.new("How quickly daft jumping zebras vex."),
|
42
42
|
Gtk::Label.new("The five boxing wizards jump quickly."),
|
@@ -59,7 +59,7 @@ for i in (0..4)
|
|
59
59
|
entry.set_editable(true)
|
60
60
|
ksds[i] = KeystrokeDynamics::Analysis.new
|
61
61
|
ksds[i].analyze_keys(entry)
|
62
|
-
mainbox.pack_start(
|
62
|
+
mainbox.pack_start(sentences[i],true,true,0)
|
63
63
|
entry.signal_connect_after("key-release-event", ksds[i]) do |w, e, analyzer|
|
64
64
|
mean_hold_label.text = "Mean hold: #{analyzer.mean_hold}"
|
65
65
|
mean_seek_label.text = "Mean seek: #{analyzer.mean_seek}"
|
data/lib/keystroke_dynamics.rb
CHANGED
@@ -8,7 +8,7 @@ require "keystroke_dynamics/validation"
|
|
8
8
|
# Copyright (c) 2008 Aram Verstegen <aram@aczid.nl>
|
9
9
|
#
|
10
10
|
# == Summary
|
11
|
-
# The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first,
|
11
|
+
# The three included Ruby-GTK examples demonstrate the principle of biometric authentication based on keystroke dynamics. For experimentational purposes, I have created two different examples which establish a metric from a users typing. The first, enroll_sentences.rb, lets you type in 5 pangrams (sentences that hold every letter of the alphabet) to establish your metric. The other, enroll_login.rb, lets you type your login details 10 times. I leave it as an excercise to the user to see which method works best for him or her.
|
12
12
|
# The login.rb example lets you try out your newly created username, password and keystroke metric on a login screen.
|
13
13
|
#
|
14
14
|
# === Libraries
|
@@ -24,5 +24,5 @@ require "keystroke_dynamics/validation"
|
|
24
24
|
# To run the Ruby-GTK examples you will need libgtk2-ruby.
|
25
25
|
# The validation functions require libopenssl-ruby.
|
26
26
|
module KeystrokeDynamics
|
27
|
-
VERSION = '0.0.
|
27
|
+
VERSION = '0.0.2'
|
28
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ksd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aram Verstegen
|
@@ -51,7 +51,7 @@ files:
|
|
51
51
|
- README.rdoc
|
52
52
|
- Rakefile
|
53
53
|
- examples/enroll_login.rb
|
54
|
-
- examples/
|
54
|
+
- examples/enroll_sentences.rb
|
55
55
|
- examples/login.rb
|
56
56
|
- lib/keystroke_dynamics.rb
|
57
57
|
- lib/keystroke_dynamics/analysis.rb
|