Documentation

Examples.SignedDHKEM.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
                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] [ExecTraceTypes.Has Broken.ExecEntryT] [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