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
            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
                  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 tr1msg.Invariant tr1tr1 tr2SignPred.pred skUsg vk msg tr1SignPred.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 trmsg.Invariant trsig.Invariant trvk.SignkeyHasUsage skUsg trverify 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