param reconstructTrace = true.
param traceDisplay = long.
param displayDerivation = true.
param explainDerivation = true.
param unifyDerivation = true.
param selFun = NounifsetMaxsize.
param attacker = passive.   (**Change to passive and proverif is unable to
find a trace.**)

(* sym-key Crypto *)
fun senc/3.
reduc sdec(senc(x, y, z), y) = x.

free net.
private free s.

query attacker: s.

process
    (new key; new r;
    out(net, key);
    out(net, senc(s, key, r));
    out(net, key);
    0)
    |(in(net, x); in(net, y); in(net, z); 0)
   
