Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites

Christopher Patton <> Mon, 17 August 2020 21:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A7ED13A12AF for <>; Mon, 17 Aug 2020 14:55:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id cXyNcpgWP_jI for <>; Mon, 17 Aug 2020 14:55:48 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::732]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C9BC43A1258 for <>; Mon, 17 Aug 2020 14:55:48 -0700 (PDT)
Received: by with SMTP id b14so16470676qkn.4 for <>; Mon, 17 Aug 2020 14:55:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=S4vOfGOWPrZR9cTLbLuya3WhBWhku7+7eSCTGVbT02M=; b=qBlw7wfGqphZs/a53/eyyajkbxMlmd89nFm1Pi8QmFr4cBYGSOwb7DZT6spd2SBbj+ I3cU3bez2XwZhlve8Rc2krjL9NJ5dpg9VG/Jn95z6w+3PxyMimJIfD66hgC8/CrocC0/ dK1PqU81SMCxznzGGOcqhwqvd/HHFJtCoT+LM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=S4vOfGOWPrZR9cTLbLuya3WhBWhku7+7eSCTGVbT02M=; b=UMpk9gLqVnMmCEq7dkG69nJtnlmd2kUqnuurq876C4WwWhQ6KXcX4Dqo7EszEuI5SK jNuVaN+oNkFv/mFiWL3LVbRDFGj1n93MgR5ptK+nXCQa5mw3NtTFgpg6e9kh4BmtcyYE nTcqLECNcMrDXn4Ej+htmxXBZgYhhQLq7QhOHCr9tDvh84EzNUEkevihW4yzk0jLHsaz s6UrrDDIrZTHkENu0hlt7OowK31tthX4H7nFKkAm0M89Cfm8e7Zx1mFT01HpgC/IbkE3 3SscdESRqt3Ju8WhZnkT8ZgHQ5SAbUnzmIkKRF5sImRddeOQ+vf2VluUpzTAeiFhod/c w9MA==
X-Gm-Message-State: AOAM532QichUBD+BvweJF4y8XUfRUkYZxog5HblFuDEOTpgPwznQF1UJ OZDoUzzoSQ556tt6Q+5g31zAalQQIKYAaZuwXJlPR2PUxCjcfg==
X-Google-Smtp-Source: ABdhPJwWtSztbu84WPQwg1Z/MYBVpIbBgx9ggdVbHweMmSN6pDhNQCLxoKiE5dmP6InJewQ8TzQ4vF9XC72ju1Cn4xI=
X-Received: by 2002:a37:9402:: with SMTP id w2mr15077557qkd.329.1597701347824; Mon, 17 Aug 2020 14:55:47 -0700 (PDT)
MIME-Version: 1.0
References: <> <>
In-Reply-To: <>
From: Christopher Patton <>
Date: Mon, 17 Aug 2020 14:55:37 -0700
Message-ID: <>
To: Martin Thomson <>
Cc: "<>" <>
Content-Type: multipart/alternative; boundary="0000000000004b769b05ad19d575"
Archived-At: <>
Subject: Re: [TLS] Constraining ECH to HKDF-based HPKE ciphersuites
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 17 Aug 2020 21:55:55 -0000

Hi Martin,

> Or maybe just running the HPKE KDF with a fixed input.

Do you mean something like this? Let `config_digest = KDF.extract("some
salt", "some label", config)`, where `config` is the ECH configuration?

Unless I've missed something critical, you don't need any sort of preimage
> resistance for this, it's only for identification purposes.
The manner in which `config_digest` is computed could be significant to
"don't stick out", depending on how you define this property. For example,
one requirement for the hash function might be that it is one-way.

Chris P.