Research Article
Sequence Alignment with Dynamic Divisor Generation for Keystroke Dynamics Based User Authentication
Algorithm 1
The pseudocode to explain the sequence alignment algorithm.
Input: Training data extracted from a genuine user, . Testing data extracted from a genuine user or an imposter, . | In the training phase: | (1) for each attribute do | (2) ← | (3) ← | (4) end for | (5) for each attribute do | (6) diff ← | (7) rangeDiff← diff/20 | (8) end for | (9) for each row and each attribute in do | (10) label ← ceil(()/rangeDiff) | (11) if label = 0 | (12) label ← 1 // If the data is exactly the same value as minimum time, then it should categorize as label | (13) model← label // We just keep it as to represent | (14) end for | In the testing phase: | (1) Convert the to alphabet letter format based on the minimum point and the range difference from step 3 and step 7 | respectively, from training phase, and then we just run one time from step 9 to step 14 from training phase. | (2) for each row in model do | (3) for each attribute in do | (4) if = model | (5) Score← 1 | (6) end for | (7) Final_Score← sum(Score) | (8) end for | (9) Checking_Score ← mean(Final_Score) // Can be max, min, median, mean, and mode | (10) return Checking_Score | Output: The score then used to compare the threshold |
|