- bytesFunc : BytesFunctor
- bytesFunc0 : BytesFunctor.Has Random.SubF
- bytesFunc1 : BytesFunctor.Has Literal.SubF
- bytesFunc2 : BytesFunctor.Has Concat.SubF
- bytesFunc3 : BytesFunctor.Has Hash.SubF
- bytesFunc4 : BytesFunctor.Has Signature.SubF
- bytesFunc5 : BytesFunctor.Has DiffieHellman.SubF
- bytesFunc6 : BytesFunctor.Has KdfExtract.SubF
- bytesFunc7 : BytesFunctor.Has KdfExpand.SubF
- bytesLen : BytesLength
- bytesLen0 : BytesLength.Has Random.SubF.length
- bytesLen1 : BytesLength.Has Literal.SubF.length
- bytesLen2 : BytesLength.Has Concat.SubF.length
- bytesLen3 : BytesLength.Has Hash.SubF.length
- bytesLen4 : BytesLength.Has Signature.SubF.length
- bytesLen5 : BytesLength.Has DiffieHellman.SubF.length
- bytesLen6 : BytesLength.Has KdfExtract.SubF.length
- bytesLen7 : BytesLength.Has KdfExpand.SubF.length
- att : AttackerKnowledge
Instances
- recipient : Participant
- dhPk : Bytes
Instances For
def
DY.Example.Ratchet.instDecidableEqTranscriptElement.decEq
{inst✝ : HasExecBytes}
(x✝ x✝¹ : TranscriptElement)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
@[reducible, inline]
Instances For
- elem : TranscriptElement
- previousTranscriptHash : Bytes
Instances For
- transcript : Transcript
- recipient : Participant
- transcriptHash : Bytes
- otherDhPk : Bytes
- k : Bytes
Instances For
- transcript : Transcript
- recipient : Participant
- transcriptHash : Bytes
- myDhSk : Bytes
- k : Bytes
Instances For
- SendUpdate [HasExecBytes] (me other : Participant) (transcript : Transcript) (k : Bytes) : RatchetEvent
- ReceiveUpdate [HasExecBytes] (me other : Participant) (transcript : Transcript) (k : Bytes) : RatchetEvent
Instances For
def
DY.Example.Ratchet.instDecidableEqRatchetEvent.decEq
{inst✝ : HasExecBytes}
(x✝ x✝¹ : RatchetEvent)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.Message.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : Message)
(tr : τ)
:
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.TranscriptElement.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : TranscriptElement)
(tr : τ)
:
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.TranscriptHashInput.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : TranscriptHashInput)
(tr : τ)
:
Comparse.IsWellFormed pre x tr = (Comparse.IsWellFormed pre x.elem tr ∧ pre x.previousTranscriptHash tr)
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.SigInput.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : SigInput)
(tr : τ)
:
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.StateMyTurn.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : StateMyTurn)
(tr : τ)
:
Comparse.IsWellFormed pre x tr = ((∀ (elem : TranscriptElement), elem ∈ x.transcript → Comparse.IsWellFormed pre elem tr) ∧ pre x.transcriptHash tr ∧ pre x.otherDhPk tr ∧ pre x.k tr)
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
DY.Example.Ratchet.StateOtherTurn.IsWellFormed_eq
[HasExecBytes]
{τ : Sort u_1}
(pre : Bytes → τ → Prop)
[Comparse.BytesCompatibleTracePred pre]
(x : StateOtherTurn)
(tr : τ)
:
Comparse.IsWellFormed pre x tr = ((∀ (elem : TranscriptElement), elem ∈ x.transcript → Comparse.IsWellFormed pre elem tr) ∧ pre x.transcriptHash tr ∧ pre x.myDhSk tr ∧ pre x.k tr)
- traceExec : ExecTraceTypes
- traceExec0 : ExecTraceTypes.Has Network.ExecEntryT
- traceExec1 : ExecTraceTypes.Has Random.ExecEntryT
- traceExec2 : ExecTraceTypes.Has (ProtocolEvent.ExecEntryT RatchetEvent)
- traceExec5 : ExecTraceTypes.Has (LongTermKeys.ExecEntryT "Ratchet PKI")
- attBase : BaseAttackerKnowledge
Instances
Instances For
def
DY.Example.Ratchet.computeTranscriptHash
[HasExecTrace]
(previousTranscriptHash : Bytes)
(elem : TranscriptElement)
:
Equations
- DY.Example.Ratchet.computeTranscriptHash previousTranscriptHash elem = DY.Hash.hash (DY.Comparse.serialize { elem := elem, previousTranscriptHash := previousTranscriptHash })
Instances For
Equations
- DY.Example.Ratchet.firstKey = DY.Literal.literalToBytes "00000000000000000000000000000000".toByteArray
Instances For
@[instance_reducible]
instance
DY.Example.Ratchet.instExecConfigVkBytes_examples
[HasExecTrace]
:
LongTermKeys.ExecConfig "Ratchet PKI" Signature.vk
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
DY.Example.Ratchet.processInitiate
[HasExecTrace]
(me other : Participant)
(otherVerifKeyHandle msgHandle : Nat)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
DY.Example.Ratchet.sendUpdate
[HasExecTrace]
(me : Participant)
(mySigKeyHandle stHandle : Nat)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
DY.Example.Ratchet.processUpdate
[HasExecTrace]
(me : Participant)
(otherVerifKeyHandle stHandle msgHandle : Nat)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
def
DY.Example.Ratchet.StateCompromised
[HasExecTrace]
(me : Participant)
(transcript : Transcript)
(tr : ExecTrace)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
DY.Example.Ratchet.StateCompromised_le
[HasExecTrace]
(me : Participant)
(transcript : Transcript)
(tr1 tr2 : ExecTrace)
:
tr1 ≤ tr2 → StateCompromised me transcript tr1 → StateCompromised me transcript tr2
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DY.Example.Ratchet.StateMyTurn.compromise.reachability = DY.ReachabilityConfig.make fun (stHandle : Nat) => DY.Example.Ratchet.StateMyTurn.compromise stHandle
Instances For
Equations
- DY.Example.Ratchet.StateOtherTurn.compromise.reachability = DY.ReachabilityConfig.make fun (stHandle : Nat) => DY.Example.Ratchet.StateOtherTurn.compromise stHandle
Instances For
Equations
- DY.Example.Ratchet.reachability.internal 0 = DY.Network.reachability
- DY.Example.Ratchet.reachability.internal 1 = DY.LongTermKeys.reachability "Ratchet PKI"
- DY.Example.Ratchet.reachability.internal 2 = DY.Example.Ratchet.initiate.reachability
- DY.Example.Ratchet.reachability.internal 3 = DY.Example.Ratchet.processInitiate.reachability
- DY.Example.Ratchet.reachability.internal 4 = DY.Example.Ratchet.sendUpdate.reachability
- DY.Example.Ratchet.reachability.internal 5 = DY.Example.Ratchet.processUpdate.reachability
- DY.Example.Ratchet.reachability.internal 6 = DY.Example.Ratchet.StateMyTurn.compromise.reachability
- DY.Example.Ratchet.reachability.internal 7 = DY.Example.Ratchet.StateOtherTurn.compromise.reachability
- DY.Example.Ratchet.reachability.internal ⟨n.succ.succ.succ.succ.succ.succ.succ.succ, isLt⟩ = ⋯.elim
Instances For
@[instance_reducible]