In order to check that the new password isn't a derivative of the old password, don't they have to compare it to a saved, clear-copy of the old password? That seems like a violation of security protocols already. Isn't the rule to just keep a hashed, encrypted version on the server?