anchor.diff:  
       
   %% Ret: {ScopedPDU, MsgPrivParams} - both are already encoded as OCTET STRINGs
  -encrypt(Data, PrivProtocol, PrivKey, SecLevel) ->
  +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)) of
  +	    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};
  
positive.code: 		end
  	end,
      ScopedPduBytes = Message#message.data,
      {ScopedPduData, MsgPrivParams} =
  	encrypt(ScopedPduBytes, PrivProtocol, PrivKey, SecLevel),
      UsmSecParams =
  	#usmSecurityParameters{msgAuthoritativeEngineID    = SecEngineID, 
  			       msgAuthoritativeEngineBoots = 0, % Boots, 
  			       msgAuthoritativeEngineTime  = 0, % Time, 
  			       msgUserName                 = UserName,
  			       msgPrivacyParameters        = MsgPrivParams},
      Message2 = Message#message{data = ScopedPduData},
  
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 =
  