docs: def __kdf(self, secret_key_material):
          """
          :param secret_key_material: A bytes-like object encoding the secret key material.
          :returns: A bytes-like object encoding the shared secret key.
          """
  
          salt = b"\x00" * self.__hash_function().digest_size
  
          if self.__curve == "25519":
              input_key_material = b"\xFF" * 32
          if self.__curve == "448":
              input_key_material = b"\xFF" * 57
  
          input_key_material += secret_key_material
  
          hkdf = HKDF(
              algorithm=self.__hash_function(),
              length=32,
              salt=salt,
              info=self.__info_string,
              backend=self.__class__.CRYPTOGRAPHY_BACKEND
          )
  
          return hkdf.derive(input_key_material)