Documentation

Examples.Ratchet.SecurityTheorems

theorem DY.Example.Ratchet.authentication (me recipient : Participant) (transcript : Transcript) (k : Bytes) (time : Nat) (tr : ExecTrace) :
Trace.Reachable reachability trTrace.EventLoggedAt (RatchetEvent.ReceiveUpdate me recipient transcript k) time trhave trBefore := Trace.prefix tr time; Trace.EventLogged (RatchetEvent.SendUpdate recipient me transcript k) trBefore (spk : Bytes), LongTermKeys.LongTermKeyCompromised "Ratchet PKI" recipient spk trBefore
@[irreducible]
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[irreducible]
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem DY.Example.Ratchet.secrecy_receiveUpdate_recursive (me recipient : Participant) (transcript : Transcript) (k : Bytes) (tr : ExecTrace) :
      Trace.Reachable reachability trk.AttackerKnows trTrace.EventLogged (RatchetEvent.ReceiveUpdate me recipient transcript k) trReceiveUpdateKeyCompromiseScenario me recipient transcript tr
      theorem DY.Example.Ratchet.secrecy_sendUpdate_recursive (me recipient : Participant) (transcript : Transcript) (k : Bytes) (tr : ExecTrace) :
      Trace.Reachable reachability trk.AttackerKnows trTrace.EventLogged (RatchetEvent.SendUpdate me recipient transcript k) trSendUpdateKeyCompromiseScenario me recipient transcript tr
      theorem DY.Example.Ratchet.secrecy_receiveUpdate_unfolded (me recipient : Participant) (transcript : Transcript) (k : Bytes) (tr : ExecTrace) :
      Trace.Reachable reachability trk.AttackerKnows trTrace.EventLogged (RatchetEvent.ReceiveUpdate me recipient transcript k) tr → (List.length transcript 1 StateCompromised me transcript tr StateCompromised me (List.tail transcript) tr StateCompromised recipient transcript tr) (previousTranscript : List TranscriptElement), (i : Nat), (k : Bytes), previousTranscript <:+ transcript Trace.EventLoggedAt (RatchetEvent.ReceiveUpdate me recipient previousTranscript k) i tr ( (spk : Bytes), LongTermKeys.LongTermKeyCompromised "Ratchet PKI" recipient spk (Trace.prefix tr i)) (previousTranscript.length 2 StateCompromised me previousTranscript tr StateCompromised me previousTranscript.tail tr StateCompromised recipient previousTranscript.tail tr StateCompromised recipient previousTranscript.tail.tail tr)
      theorem DY.Example.Ratchet.secrecy_sendUpdate_unfolded (me recipient : Participant) (transcript : Transcript) (k : Bytes) (tr : ExecTrace) :
      Trace.Reachable reachability trk.AttackerKnows trTrace.EventLogged (RatchetEvent.SendUpdate me recipient transcript k) tr → (List.length transcript 1 StateCompromised me transcript tr StateCompromised recipient transcript tr StateCompromised recipient (List.tail transcript) tr) (previousTranscript : List TranscriptElement), (i : Nat), (k : Bytes), previousTranscript <:+ transcript Trace.EventLoggedAt (RatchetEvent.ReceiveUpdate me recipient previousTranscript k) i tr ( (spk : Bytes), LongTermKeys.LongTermKeyCompromised "Ratchet PKI" recipient spk (Trace.prefix tr i)) (previousTranscript.length 2 StateCompromised me previousTranscript tr StateCompromised me previousTranscript.tail tr StateCompromised recipient previousTranscript.tail tr StateCompromised recipient previousTranscript.tail.tail tr)