anchor.diff:  	    end
       end.
   
  -try_encrypt(?usmNoPrivProtocol, _PrivKey, _Data) -> % 3.1.2
  +try_encrypt(
  +  ?usmNoPrivProtocol, _PrivKey, _Data, _EngineBoots, _EngineTime) -> % 3.1.2
       error(unsupportedSecurityLevel);
  -try_encrypt(?usmDESPrivProtocol, PrivKey, Data) ->
  +try_encrypt(?usmDESPrivProtocol, PrivKey, Data, _EngineBoots, _EngineTime) ->
       des_encrypt(PrivKey, Data);
  -try_encrypt(?usmAesCfb128Protocol, PrivKey, Data) ->
  -    aes_encrypt(PrivKey, Data).
  +try_encrypt(?usmAesCfb128Protocol, PrivKey, Data, EngineBoots, EngineTime) ->
  +    aes_encrypt(PrivKey, Data, EngineBoots, EngineTime).
   
   
   authenticate_outgoing(Message, UsmSecParams, 
  
positive.code: 		{get_local_engine_boots(SnmpEngineID),
  		 get_local_engine_time(SnmpEngineID)}
  	end,
      %% 3.1.5 - 3.1.7
      ?vtrace("generate_outgoing_msg -> [3.1.5 - 3.1.7]",[]),
      UsmSecParams =
  
negative.code: 
      
  %% Ret: {ScopedPDU, MsgPrivParams} - both are already encoded as OCTET STRINGs
  encrypt(Data, PrivProtocol, PrivKey, SecLevel, EngineBoots, EngineTime) ->
      case snmp_misc:is_priv(SecLevel) of
  	false -> % 3.1.4b
  	    ?vtrace("encrypt -> 3.1.4b",[]),
  	    {Data, []};
  	true -> % 3.1.4a
  	    ?vtrace("encrypt -> 3.1.4a",[]),
  	    case (catch try_encrypt(PrivProtocol, PrivKey, Data,
                                      EngineBoots, EngineTime)) of
  		{ok, ScopedPduData, MsgPrivParams} ->
  		    ?vtrace("encrypt -> encrypted - now encode tag",[]),
  		    {snmp_pdus:enc_oct_str_tag(ScopedPduData), MsgPrivParams};
  