Instances
- prk : Bytes
- info : Bytes
- len : Nat
Instances For
@[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.
@[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.
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Instances For
@[instance_reducible]
Instances For
Equations
Instances For
@[reducible, inline]
Equations
- x.pack = DY.BytesView.pack x
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Instances For
theorem
DY.KdfExpand.attacker_knows_kdfExpand
[BytesFunctor]
[BytesFunctor.Has SubF]
[ExecTraceTypes]
[BaseAttackerKnowledge]
[AttackerKnowledge]
[AttackerKnowledge.Has attackerKnowledge]
(prk info : Bytes)
(len : Nat)
(tr : ExecTrace)
:
prk.AttackerKnows tr → info.AttackerKnows tr → (kdfExpand prk info len).AttackerKnows tr
Instances
def
DY.KdfExpand.KdfExpand.invariants
[ExecTraceTypes]
[ProofTraceTypes]
[BytesFunctor]
[KdfExpandInvariant]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
def
DY.KdfExpand.invariants
[BytesFunctor]
[ExecTraceTypes]
[ProofTraceTypes]
[KdfExpandInvariant]
:
Equations
Instances For
theorem
DY.KdfExpand.invariantsProofs.internal
[BytesFunctor]
[ExecTraceTypes]
[ProofTraceTypes]
[BytesInvariants]
[KdfExpandInvariant]
(id✝ : Fin 1)
:
def
DY.KdfExpand.invariants.internal
[BytesFunctor]
[ExecTraceTypes]
[ProofTraceTypes]
[KdfExpandInvariant]
(id✝ : Fin 1)
:
Equations
Instances For
@[simp]
theorem
DY.KdfExpand.kdfExpand.WellFormed
[ExecTraceTypes]
[ProofTraceTypes]
[BytesFunctor]
[BytesFunctor.Has SubF]
[KdfExpandInvariant]
[BytesWellFormed]
[BytesWellFormed.Has KdfExpand.invariants.well_formed]
(prk info : Bytes)
(len : Nat)
(tr : ProofTrace)
:
@[simp]
theorem
DY.KdfExpand.kdfExpand.HasUsage
[ExecTraceTypes]
[ProofTraceTypes]
[BytesFunctor]
[BytesFunctor.Has SubF]
[KdfExpandInvariant]
[BytesInvariants]
[BytesInvariants.Has invariants]
(prk info : Bytes)
(len : Nat)
(prkUsage : Usage)
(tr : ProofTrace)
:
prk.HasUsage prkUsage tr → (kdfExpand prk info len).HasUsage (KdfExpandInvariant.usage prkUsage info) tr
@[simp]
theorem
DY.KdfExpand.kdfExpand.label
[ExecTraceTypes]
[ProofTraceTypes]
[BytesFunctor]
[BytesFunctor.Has SubF]
[KdfExpandInvariant]
[BytesInvariants]
[BytesInvariants.Has invariants]
(prk info : Bytes)
(len : Nat)
(prkUsage : Usage)
(tr : ProofTrace)
:
prk.HasUsage prkUsage tr →
((kdfExpand prk info len).label tr).equivalent (KdfExpandInvariant.label prkUsage (prk.label tr) info)
(Trace.erase tr)
@[simp]
theorem
DY.KdfExpand.kdfExpand.Invariant
[ExecTraceTypes]
[ProofTraceTypes]
[BytesFunctor]
[BytesFunctor.Has SubF]
[KdfExpandInvariant]
[BytesInvariants]
[BytesInvariants.Has invariants]
(prk info : Bytes)
(len : Nat)
(tr : ProofTrace)
:
@[instance_reducible]
instance
DY.KdfExpand.instHasGhostArgumentTypeBytesKdfExpandUsage
[BytesFunctor]
[BytesFunctor.Has SubF]
(prk info : Bytes)
(len : Nat)
:
HasGhostArgumentType (kdfExpand prk info len) Usage
instance
DY.KdfExpand.instHoareTriplePureGhostBytesUsageKdfExpandAndInvariantHasUsagePublishableEquivalentLabelLabelEraseUsage
[BytesFunctor]
[BytesFunctor.Has SubF]
[ExecTraceTypes]
[ProofTraceTypes]
[KdfExpandInvariant]
[BytesInvariants]
[BytesInvariants.Has invariants]
(prk info : Bytes)
(len : Nat)
(prkUsage : Usage)
:
HoareTriplePureGhost (kdfExpand prk info len) prkUsage
(fun (tr : ProofTrace) => prk.Invariant tr ∧ prk.HasUsage prkUsage tr ∧ info.Publishable tr)
fun (res : Bytes) (tr : ProofTrace) =>
res.Invariant tr ∧ (res.label tr).equivalent (KdfExpandInvariant.label prkUsage (prk.label tr) info) (Trace.erase tr) ∧ res.HasUsage (KdfExpandInvariant.usage prkUsage info) tr