[Evans] The answer is the second choice.
If a guest checks in but never enters the room, here's what goes wrong.
If Alice never enters the room, then the next guest--who's very tall--
who checks in, she'll get a key that is the next value here,
which is going to be hashing m - 2 times,
but the value of the stored x is still hash of m + 1,
and that means the value of hashing of the hashing this new key
will only be the hash of m, which won't match the value of x.
So the new guest won't be able to open the door.
The hotel operator would need to do something to reset the value of n
or resynchronize the door and the check-in.
And apparently, the hotels that adopted this way of doing keying
never imagined the possibility that a guest would check in
but never actually enter their room with their key.
Apparently, this happens more often than you might think, though.
