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: 	    _ -> % 3.1.1a
  		SecData
  	end,
      %% 3.1.4
      ?vtrace("generate_outgoing_msg -> [3.1.4]"
  	    "~n   UserName:     ~p"
  	    "~n   AuthProtocol: ~p"
  	    "~n   PrivProtocol: ~p", 
  	    [UserName, AuthProtocol, PrivProtocol]),
      ScopedPduBytes = Message#message.data,
      {ScopedPduData, MsgPrivParams} =
  	encrypt(ScopedPduBytes, PrivProtocol, PrivKey, SecLevel),
      SnmpEngineID = LocalEngineID, 
      ?vtrace("generate_outgoing_msg -> SnmpEngineID: ~p [3.1.6]",
  	    [SnmpEngineID]),
      %% 3.1.6
      {MsgAuthEngineBoots, MsgAuthEngineTime} =
  	case snmp_misc:is_auth(SecLevel) of
  	    false when SecData =:= [] -> % not a response
  
negative.code: 		{get_local_engine_boots(SnmpEngineID),
  		 get_local_engine_time(SnmpEngineID)}
  	end,
      %% 3.1.4
      ?vtrace("generate_outgoing_msg -> [3.1.4]"
  	    "~n   UserName:     ~p"
  	    "~n   AuthProtocol: ~p"
  	    "~n   PrivProtocol: ~p", 
  	    [UserName, AuthProtocol, PrivProtocol]),
      ScopedPduBytes = Message#message.data,
      {ScopedPduData, MsgPrivParams} =
  	encrypt(ScopedPduBytes, PrivProtocol, PrivKey, SecLevel,
                  MsgAuthEngineBoots, MsgAuthEngineTime),
      %% 3.1.5 - 3.1.7
      ?vtrace("generate_outgoing_msg -> [3.1.5 - 3.1.7]",[]),
      UsmSecParams =
  