theorem DY.Example.SignedDHKEM.client_auth (client server : Participant) (xPk yPk zPk k : Bytes) (time : Nat) (tr : ExecTrace) :
Trace.Reachable reachability tr →
Trace.EventLoggedAt (SignedDHKEMEvent.ClientFinishEvent client server xPk yPk zPk k) time tr →
have tr_before := Trace.prefix tr time;
Trace.EventLogged (SignedDHKEMEvent.ServerFinishEvent server xPk yPk zPk k) tr_before ∨ ∃ (spk : Bytes), LongTermKeys.LongTermKeyCompromised "SignedDHKEM PKI" server spk tr_before ∨ Signature'.Broken.ThisVkHasBeenBroken spk tr_before
theorem DY.Example.SignedDHKEM.client_secrecy {time : Nat} (client server : Participant) (xPk yPk zPk k : Bytes) (tr : ExecTrace) :
Trace.Reachable reachability tr →
k.AttackerKnows tr →
Trace.EventLoggedAt (SignedDHKEMEvent.ClientFinishEvent client server xPk yPk zPk k) time tr →
have tr_before := Trace.prefix tr time;
(∃ (spk : Bytes), LongTermKeys.LongTermKeyCompromised "SignedDHKEM PKI" server spk tr_before ∨ Signature'.Broken.ThisVkHasBeenBroken spk tr_before) ∨ (ClientEphemeralDHStateCompromised client xPk tr ∨ DiffieHellman'.Broken.ThisDhPkHasBeenBroken xPk tr ∨ DiffieHellman'.Broken.ThisDhPkHasBeenBroken yPk tr) ∧ (ClientEphemeralKEMStateCompromised client zPk tr ∨ KEM.Broken.ThisKemPkHasBeenBroken zPk tr) ∨ ServerEphemeralStateCompromised server xPk yPk zPk tr