anchor.diff:  	fix_pwe(Token, ServerIdentity, PeerIdentity, Password, 1).
   %% @hidden
   fix_pwe(Token, ServerIdentity, PeerIdentity, Password, Counter) ->
  -	PasswordSeed = h([Token, PeerIdentity, ServerIdentity,
  -	Password, <<Counter:16>>]),
  +	Data = list_to_binary([Token, PeerIdentity, ServerIdentity,
  +		Password, <<Counter>>]),
  +	PasswordSeed = h(Data),
   	case kdf(PasswordSeed, "EAP-pwd Hunting And Pecking", 256) of
   		<<PasswordValue:256>> when PasswordValue < ?P ->
   			<<_:255, LSB:1>> = PasswordSeed,
  
positive.code: 					PasswordElement;
  				{error, _Reason} ->
  					fix_pwe(Token, ServerIdentity,
  					PeerIdentity, Password, Counter +1)
  			end;
  		_ ->
  			fix_pwe(Token, ServerIdentity, PeerIdentity,
  			Password, Counter +1)
  	end.
  
  -spec ecc_pwe(PasswordValue :: integer(), LSB :: 0..1) ->
  
negative.code: ecc_pwe(PasswordValue, LSB) when is_integer(PasswordValue),
  		((LSB =:= 0) or (LSB =:= 1)) ->
  	X = PasswordValue,
  	case isqrt(((X * X * X) + (?A * X) + ?B) rem 256) of
  		Y when (Y band 1) == LSB ->
  			{PasswordValue, Y};
  		Y when is_integer(Y) ->
  