Documentation

Examples.SignedDHKEM.KEM

class DY.KEM.CanKem (Bytes : Type u) :
  • kemPk (sk : Bytes) : Bytes
  • kemEncap (pk entropy : Bytes) : Bytes × Bytes
  • kemDecap (sk cipher : Bytes) : Err Bytes
Instances
    structure DY.KEM.Pk.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.
      Equations
      Instances For
        structure DY.KEM.Encap.SubF (Bytes : Type) :
        • pk : Bytes
        • entropy : 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.
          Equations
          Instances For
            structure DY.KEM.SharedSecret.SubF (Bytes : Type) :
            • entropy : 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.
              @[instance_reducible]
              Equations
              Instances For
                @[reducible, inline]
                Equations
                Instances For
                  @[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.KEM.kemDecap_kemEncap [BytesFunctor] [BytesFunctor.Has SubF] (sk entropy : Bytes) :
                      match kemEncap (kemPk sk) entropy with | (cipher, ss) => kemDecap sk cipher = some ss
                      Equations
                      Instances For
                        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
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Instances For
                                  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
                                        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
                                            instance DY.KEM.kemEncap_hoareTriple [ExecTraceTypes] [ProofTraceTypes] [BytesFunctor] [BytesFunctor.Has SubF] [ExecTraceTypes.Has Broken.ExecEntryT] [BytesInvariants] [BytesInvariants.Has invariants] (pk entropy : Bytes) :
                                            HoareTriplePure (kemEncap pk entropy) (fun (tr : ProofTrace) => pk.Invariant tr entropy.Invariant tr (entropy.label tr).canFlow (pk.kemSkLabel tr) (Trace.erase tr)) fun (x : Bytes × Bytes) (tr : ProofTrace) => match x with | (cipher, ss) => cipher.Publishable tr ss.Invariant tr ss.label tr = entropy.label tr