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