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
            • 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 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] [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