- vk (sk : Bytes) : Bytes
- sign (sk nonce msg : Bytes) : Bytes
- verify (vk msg sig : Bytes) : Bool
Instances
@[instance_reducible]
Equations
- DY.Signature.Vk.instFunctorSizeOfSubF = { sizeOf := fun {t : Type} [SizeOf t] (x : DY.Signature.Vk.SubF t) => match x with | { sk := sk } => sizeOf sk }
@[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
- sk : Bytes
- nonce : Bytes
- msg : Bytes
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
Equations
Instances For
@[instance_reducible]
Instances For
@[instance_reducible]
Equations
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
@[instance_reducible]
Equations
Instances For
theorem DY.Signature.attacker_knows_vk [BytesFunctor] [BytesFunctor.Has SubF] [ExecTraceTypes] [BaseAttackerKnowledge] [AttackerKnowledge] [AttackerKnowledge.Has attackerKnowledge] (sk : Bytes) (tr : ExecTrace) :
sk.AttackerKnows tr → (vk sk).AttackerKnows tr
theorem DY.Signature.attacker_knows_sign [BytesFunctor] [BytesFunctor.Has SubF] [ExecTraceTypes] [BaseAttackerKnowledge] [AttackerKnowledge] [AttackerKnowledge.Has attackerKnowledge] (sk nonce msg : Bytes) (tr : ExecTrace) :
sk.AttackerKnows tr → nonce.AttackerKnows tr → msg.AttackerKnows tr → (sign sk nonce msg).AttackerKnows tr
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem DY.Signature.vk.WellFormed [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [BytesInvariants] [BytesInvariants.Has Vk.invariants] (inp : Bytes) (tr : ProofTrace) :
@[simp]
theorem DY.Signature.vk.label [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [BytesInvariants] [BytesInvariants.Has Vk.invariants] (inp : Bytes) (tr : ProofTrace) :
@[simp]
theorem DY.Signature.vk.Invariant [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [BytesInvariants] [BytesInvariants.Has Vk.invariants] (inp : Bytes) (tr : ProofTrace) :
Instances
class DY.Signature.SignPredProof [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesInvariants] [SignPred] :
- pred_later [BytesWellFormedLater] [GetUsageLater] [GetLabelLater] (skUsg : Usage) (vk msg : Bytes) (tr1 tr2 : ProofTrace) : vk.WellFormed tr1 → msg.WellFormed tr1 → tr1 ≤ tr2 → SignPred.pred skUsg vk msg tr1 → SignPred.pred skUsg vk msg tr2
Instances
theorem DY.Signature.SignPredProof.pred_later_fast [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesInvariants] [SignPred] [SignPredProof] [BytesInvariantsProofs] (skUsg : Usage) (vk msg : Bytes) (tr1 tr2 : ProofTrace) :
vk.Invariant tr1 → msg.Invariant tr1 → tr1 ≤ tr2 → SignPred.pred skUsg vk msg tr1 → SignPred.pred skUsg vk msg tr2
def DY.Signature.Sign.invariants [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has Signature.SubF] [SignPred] :
Equations
- One or more equations did not get rendered due to their size.
Instances For
def DY.Signature.invariants.internal [BytesFunctor] [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor.Has SubF] [SignPred] (id✝ : Fin 2) :
Equations
Instances For
@[instance_reducible]
def DY.Signature.invariants [BytesFunctor] [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor.Has SubF] [SignPred] :
Equations
Instances For
def DY.Bytes.SignkeyHasUsage [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] (vk : Bytes) (skUsg : Usage) (tr : ProofTrace) :
Equations
- vk.SignkeyHasUsage skUsg tr = DY.Bytes.XXXHasUsage DY.Signature.extractSignkey✝ vk skUsg tr
Instances For
theorem DY.Bytes.SignkeyHasUsage_vk [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] (sk : Bytes) (skUsg : Usage) (tr : ProofTrace) :
theorem DY.Bytes.SignkeyHasUsage_later [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] [BytesInvariantsProofs] [Signature.SignPred] [BytesInvariants.Has Signature.invariants] (b : Bytes) (usg : Usage) (tr1 tr2 : ProofTrace) :
b.WellFormed tr1 → tr1 ≤ tr2 → b.SignkeyHasUsage usg tr1 → b.SignkeyHasUsage usg tr2
theorem DY.Bytes.SignkeyHasUsage_later_fast [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] [BytesInvariantsProofs] [Signature.SignPred] [BytesInvariants.Has Signature.invariants] (b : Bytes) (usg : Usage) (tr1 tr2 : ProofTrace) :
b.Invariant tr1 → tr1 ≤ tr2 → b.SignkeyHasUsage usg tr1 → b.SignkeyHasUsage usg tr2
noncomputable def DY.Bytes.signkeyLabel [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] (vk : Bytes) (tr : ProofTrace) :
Equations
- vk.signkeyLabel tr = DY.Bytes.xxxLabel DY.Signature.extractSignkey✝ vk tr
Instances For
theorem DY.Bytes.signkeyLabel_vk [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] [Signature.SignPred] [BytesInvariants.Has Signature.invariants] (sk : Bytes) (tr : ProofTrace) :
theorem DY.Bytes.signkeyLabel_later [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] [BytesInvariantsProofs] [Signature.SignPred] [BytesInvariants.Has Signature.invariants] (b : Bytes) (tr1 tr2 : ProofTrace) :
b.WellFormed tr1 → tr1 ≤ tr2 → b.signkeyLabel tr1 = b.signkeyLabel tr2
theorem DY.Bytes.signkeyLabel_later_fast [BytesFunctor] [BytesFunctor.Has Signature.SubF] [ExecTraceTypes] [ProofTraceTypes] [BytesInvariants] [BytesInvariantsProofs] [Signature.SignPred] [BytesInvariants.Has Signature.invariants] (b : Bytes) (tr1 tr2 : ProofTrace) :
b.Invariant tr1 → tr1 ≤ tr2 → b.signkeyLabel tr1 = b.signkeyLabel tr2
@[simp]
theorem DY.Signature.sign.WellFormed [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [SignPred] [BytesInvariants] [BytesInvariants.Has invariants] (sk nonce msg : Bytes) (tr : ProofTrace) :
@[simp]
theorem DY.Signature.sign.label [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [SignPred] [BytesInvariants] [BytesInvariants.Has invariants] (sk nonce msg : Bytes) (tr : ProofTrace) :
@[simp]
theorem DY.Signature.sign.Invariant [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [SignPred] [BytesInvariants] [BytesInvariants.Has invariants] (sk nonce msg : Bytes) (sk_usg : Usage) (tr : ProofTrace) :
@[simp]
theorem DY.Signature.verify.Invariant [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [SignPred] [BytesInvariants] [BytesInvariants.Has invariants] (vk msg sig : Bytes) (skUsg : Usage) (tr : ProofTrace) :
vk.Invariant tr →
msg.Invariant tr →
sig.Invariant tr →
vk.SignkeyHasUsage skUsg tr →
verify vk msg sig = true →
(skUsg.type = "SigKey" → SignPred.pred skUsg vk msg tr) ∨ (vk.signkeyLabel tr).canFlow Label.pub (Trace.erase tr)
@[instance_reducible]
instance DY.Signature.instHasGhostArgumentTypeBytesSignUsage [BytesFunctor] [BytesFunctor.Has SubF] (sk nonce msg : Bytes) :
HasGhostArgumentType (sign sk nonce msg) Usage
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
instance DY.Signature.instHasGhostMetaprogramBytesSignSignMetaprog [BytesFunctor] [BytesFunctor.Has SubF] (sk nonce msg : Bytes) :
HasGhostMetaprogram (sign sk nonce msg) signMetaprog
@[instance_reducible]
instance DY.Signature.instHasGhostArgumentTypeBoolVerifyBytesUsage [BytesFunctor] [BytesFunctor.Has SubF] (vkey msg sig : Bytes) :
HasGhostArgumentType (verify vkey msg sig) Usage
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
instance DY.Signature.instHasGhostMetaprogramBoolVerifyBytesVerifyMetaprog [BytesFunctor] [BytesFunctor.Has SubF] (vkey msg sig : Bytes) :
HasGhostMetaprogram (verify vkey msg sig) verifyMetaprog