Documentation

DY.EquationalTheory.Sign

class DY.Signature.CanSign (Bytes : Type u) :
  • vk (sk : Bytes) : Bytes
  • sign (sk nonce msg : Bytes) : Bytes
  • verify (vk msg sig : Bytes) : Bool
Instances
    structure DY.Signature.Vk.SubF (Bytes : Type) :
    • sk : Bytes
    Instances For
      @[instance_reducible]
      Equations
      @[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.
      structure DY.Signature.Sign.SubF (Bytes : Type) :
      • 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.
        @[reducible, inline]
        Equations
        Instances For
          @[reducible, inline]
          Equations
          Instances For
            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            theorem DY.Signature.verify_sign [BytesFunctor] [BytesFunctor.Has SubF] (sk nonce msg : Bytes) :
            verify (vk sk) msg (sign sk nonce msg) = true
            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
                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
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[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) :
                    sk.Invariant tr ∧ nonce.Invariant tr ∧ msg.Invariant tr ∧ sk.HasUsage sk_usg tr ∧ (sk.label tr).canFlow (nonce.label tr) (Trace.erase tr) ∧ (sk_usg.type = "SigKey" ∧ SignPred.pred sk_usg (vk sk) msg tr ∨ (sk.label tr).canFlow Label.pub (Trace.erase tr)) → (sign sk nonce msg).Invariant tr
                    @[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)
                    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