I'm trying to understand this question and I do not understand part of it. I have part of figured out, part of it not.
Considering the hash function h(i) = (i + 5) mod 7, used in an implementation of the S/Key protocol, with a seed value of 0, the first password the user returns after the initialization step is 4 (i.e. h(6) = (6+5) mod 7 = 4), and the user returns 1 on the third login, like so
-h(4) = (4+5) mod 7 = 2 -h(2) = (2+5) mod 7 = 0 -h(0) = (0+5) mod 7 = 5 -h(5) = (5+5) mod 7 = 3 **-h(3) = (3+5) mod 7 = 1** -h(1) = (1+5) mod 7 = 6 -h(6) = (6+5) mod 7 = 4
On receiving this password, what does the server do?
-computes the hash of the returned password and admits the user if the hashed value is equal to the last correct password returned by the user
-computes the hash of the last correct password returned by that user and admits him if that value is equal to the password just returned
-uses the initial key to recompute the 3rd password by repeated hashing and admits the user if the recomputed value is equal to the password the use returns