- traceExec7 : ExecTraceTypes.Has (LongTermKeys.ExecEntryT "SignedDHKEM PKI")
- traceProof : ProofTraceTypes
- traceProof0 : ProofTraceTypes.Has Network.ProofEntryT
- traceProof1 : ProofTraceTypes.Has Random.ProofEntryT
- traceProof2 : ProofTraceTypes.Has (ProtocolEvent.ProofEntryT SignedDHKEMEvent)
- traceProof7 : ProofTraceTypes.Has (LongTermKeys.ProofEntryT "SignedDHKEM PKI")
- traceProof8 : ProofTraceTypes.Has KEM.Broken.ProofEntryT
- traceProof9 : ProofTraceTypes.Has DiffieHellman'.Broken.ProofEntryT
- traceProof10 : ProofTraceTypes.Has Signature'.Broken.ProofEntryT
Instances
Equations
- DY.Example.SignedDHKEM.clientDhLabel me xPk = { isCorrupt := fun (tr : DY.ExecTrace) => DY.Example.SignedDHKEM.ClientEphemeralDHStateCompromised me xPk tr, isCorruptLater := ⋯ }
Instances For
Equations
- DY.Example.SignedDHKEM.clientKemLabel me zPk = { isCorrupt := fun (tr : DY.ExecTrace) => DY.Example.SignedDHKEM.ClientEphemeralKEMStateCompromised me zPk tr, isCorruptLater := ⋯ }
Instances For
Equations
- DY.Example.SignedDHKEM.serverLabel me xPk yPk zPk = { isCorrupt := fun (tr : DY.ExecTrace) => DY.Example.SignedDHKEM.ServerEphemeralStateCompromised me xPk yPk zPk tr, isCorruptLater := ⋯ }
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Equations
- DY.Example.SignedDHKEM.mkLongTermUsage me = { type := "SigKey", tag := "SignedDHKEM PKI", data := some (DY.Comparse.serialize { principal := me }) }
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
class DY.Example.SignedDHKEM.HasBytesInvariants extends DY.Example.SignedDHKEM.HasProofTrace :
Type 1
- traceExec7 : ExecTraceTypes.Has (LongTermKeys.ExecEntryT "SignedDHKEM PKI")
- traceProof7 : ProofTraceTypes.Has (LongTermKeys.ProofEntryT "SignedDHKEM PKI")
- bytesInv : BytesInvariants
- bytesInvProof : BytesInvariantsProofs
- bytesInv0 : BytesInvariants.Has Random.invariants
- bytesInv1 : BytesInvariants.Has Literal.invariants
- bytesInv2 : BytesInvariants.Has Concat.invariants
- bytesInv3 : BytesInvariants.Has Hash.invariants
- bytesInv4 : BytesInvariants.Has Signature'.invariants
- bytesInv5 : BytesInvariants.Has DiffieHellman'.invariants
- bytesInv6 : BytesInvariants.Has KEM.invariants
Instances
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.SignedDHKEM.ClientInitiateDHStateInv_imp_Invariant [HasBytesInvariants] {tr : ProofTrace} (participant : Participant) (st : ClientInitiateDHState) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.SignedDHKEM.ClientInitiateKEMStateInv_imp_Invariant [HasBytesInvariants] {tr : ProofTrace} (participant : Participant) (st : ClientInitiateKEMState) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Equations
- DY.Example.SignedDHKEM.mkLongTermLabel p vk = (DY.LongTermKeys.label "SignedDHKEM PKI" p vk).join (DY.Signature'.Broken.label vk)
Instances For
@[instance_reducible]
instance DY.Example.SignedDHKEM.instProofConfigMkLongTermUsageMkLongTermLabel [HasBytesInvariants] :
LongTermKeys.ProofConfig "SignedDHKEM PKI" mkLongTermUsage mkLongTermLabel
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
class DY.Example.SignedDHKEM.HasTraceInvariant extends DY.Example.SignedDHKEM.HasBytesInvariants :
Type 1
- traceExec7 : ExecTraceTypes.Has (LongTermKeys.ExecEntryT "SignedDHKEM PKI")
- traceProof7 : ProofTraceTypes.Has (LongTermKeys.ProofEntryT "SignedDHKEM PKI")
- traceInv : TraceInvariant
- traceInv0 : TraceInvariant.Has Network.ProofEntryT
- traceInv1 : TraceInvariant.Has Random.ProofEntryT
- traceInv2 : TraceInvariant.Has (ProtocolEvent.ProofEntryT SignedDHKEMEvent)
- traceInv7 : TraceInvariant.Has (LongTermKeys.ProofEntryT "SignedDHKEM PKI")
- traceInv8 : TraceInvariant.Has KEM.Broken.ProofEntryT
- traceInv9 : TraceInvariant.Has DiffieHellman'.Broken.ProofEntryT
- traceInv10 : TraceInvariant.Has Signature'.Broken.ProofEntryT
- attBaseThm : BaseAttackerKnowledgeTheorem
- attThm : AttackerKnowledgeTheorem
Instances
instance DY.Example.SignedDHKEM.Client.initiate.proof [HasTraceInvariant] (me : Participant) :
HoareTriple (initiate me) (fun (x : ProofTrace) => True) fun (x : Nat × Nat × Nat) (x_1 : ProofTrace) => True
instance DY.Example.SignedDHKEM.instHoareTriplePureBytesConcatAndInvariantEqLabelLabelMeet_examples [HasTraceInvariant] (lhs rhs : Bytes) :
HoareTriplePure (Concat.concat lhs rhs) (fun (tr : ProofTrace) => lhs.Invariant tr ∧ rhs.Invariant tr)
fun (res : Bytes) (tr : ProofTrace) => res.Invariant tr ∧ res.label tr = (lhs.label tr).meet (rhs.label tr)
instance DY.Example.SignedDHKEM.Server.receive.proof [HasTraceInvariant] (me : Participant) (skHandle msgHandle : Nat) :
HoareTriple (receive me skHandle msgHandle) (fun (x : ProofTrace) => True) fun (x : Nat × Nat) (x_1 : ProofTrace) =>
True
instance DY.Example.SignedDHKEM.Client.finish.proof [HasTraceInvariant] (me server : Participant) (pkHandle msgHandle dhStHandle kemStHandle : Nat) :
HoareTriple (finish me server pkHandle msgHandle dhStHandle kemStHandle) (fun (x : ProofTrace) => True)
fun (x : Nat) (x_1 : ProofTrace) => True
instance DY.Example.SignedDHKEM.ClientInitiateDHState.compromise.proof [HasTraceInvariant] (stHandle : Nat) :
HoareTriple (compromise stHandle) (fun (x : ProofTrace) => True) fun (x : Nat) (x_1 : ProofTrace) => True
instance DY.Example.SignedDHKEM.ClientInitiateKEMState.compromise.proof [HasTraceInvariant] (stHandle : Nat) :
HoareTriple (compromise stHandle) (fun (x : ProofTrace) => True) fun (x : Nat) (x_1 : ProofTrace) => True
instance DY.Example.SignedDHKEM.ClientFinishState.compromise.proof [HasTraceInvariant] (stHandle : Nat) :
HoareTriple (compromise stHandle) (fun (x : ProofTrace) => True) fun (x : Nat) (x_1 : ProofTrace) => True
instance DY.Example.SignedDHKEM.ServerFinishState.compromise.proof [HasTraceInvariant] (stHandle : Nat) :
HoareTriple (compromise stHandle) (fun (x : ProofTrace) => True) fun (x : Nat) (x_1 : ProofTrace) => True