anchor.diff:  	{EapId, ElementS, ScalarS}.
   
   send_commit(Socket, Address, Port, Secret, Auth, UserName,
  -		NasId, PeerId, MAC, Token, PeerId, ServerID, PeerAuth, EapId, RadId) ->
  -	Prand = crypto:rand_uniform(1, ?R),
  -	PWE = ocs_eap_pwd:compute_pwe(Token, PeerId, ServerID, PeerAuth),
  -	{ScalarP, ElementP} = ocs_eap_pwd:compute_scalar(<<Prand:256>>, PWE),
  +		NasId, MAC, ScalarP, ElementP, EapId, RadId) ->
   	EapPwdCommit = #eap_pwd_commit{scalar = ScalarP, element = ElementP},
   	EapPwd = #eap_pwd{length = false, more = false, pwd_exch = commit,
   			data = ocs_eap_codec:eap_pwd_commit(EapPwdCommit)},
  
positive.code: 	{ok, EapMsg} = radius_attributes:find(?EAPMessage, RespAttr1),
  	EapMsg.
  
  send_identity(Socket, Address, Port, NasId,
  		UserName, Secret, PeerId, MAC, Auth, EapId, RadId) ->
  	EapPacket  = #eap_packet{code = response, type = ?Identity,
  
negative.code: 			data = ConfirmS} = ocs_eap_codec:eap_pwd(EapData),
  	{EapId, ConfirmS}.
  
  send_confirm(Socket, Address, Port, Secret, Auth, UserName,
  		NasId, MAC, ConfirmP, EapId, RadId) ->
  	EapPwd = #eap_pwd{length = false, more = false,
  			pwd_exch = confirm, data = ConfirmP},
  	EapPacket = #eap_packet{code = response, type = ?PWD,
  			identifier = EapId, data = ocs_eap_codec:eap_pwd(EapPwd)},
  	EapMsg = ocs_eap_codec:eap_packet(EapPacket),
  	access_request(Socket, Address, Port, NasId,
  			UserName, Secret, MAC, Auth, RadId, EapMsg).
  
  receive_success(Socket, Address, Port, Secret, ReqAuth, RadId) ->
  	EapMsg = access_accept(Socket, Address, Port,
  			Secret, RadId, ReqAuth),
  	#eap_packet{code = success,
  			identifier = EapId} = ocs_eap_codec:eap_packet(EapMsg),
  	EapId.
  
  