[Keytrans] Re: Keytrans@IETF 126 : Call for agenda topics
Orie <orie@or13.io> Thu, 30 July 2026 18:50 UTC
Return-Path: <orie@or13.io>
X-Original-To: keytrans@mail2.ietf.org
Delivered-To: keytrans@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id E3E4F1213727E for <keytrans@mail2.ietf.org>; Thu, 30 Jul 2026 11:50:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1785437443; bh=bqak9BSSVr6Ex31DoxqhtIuD4CrNSxcBYHTdVqKqAqs=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=jKUMLQQjFf+XVPDOlBVtTFH+42wy8sQEynYMFB6d5u/istvaHJHj12BHn0cpFWqaO McHVK/3WGzY3j50nF6GVkdMPUzyq0aMORpu/WoXaa4W/LnKXXE5Qcd4S+wICg+u3HM 6YcGhhPrW1V2cvq0DLMJfMTlY07J+PjlBemOvehA=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=or13.io
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gJ2Zt5hRb6gg for <keytrans@mail2.ietf.org>; Thu, 30 Jul 2026 11:50:43 -0700 (PDT)
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id F2EE712137277 for <keytrans@ietf.org>; Thu, 30 Jul 2026 11:50:42 -0700 (PDT)
Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2cace91f112so1562445ad.0 for <keytrans@ietf.org>; Thu, 30 Jul 2026 11:50:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1785437442; cv=none; d=google.com; s=arc-20260327; b=CzdUCavK8ka0abqwtMfX71ZByRCplvPKHjg7e7G1hW5Be5g0Z5GtOUTYZ0cWf9iLCO 2+6DFfIAJrySkJKR51cjUotk3HlrKDENh4qHho4GMwqf8jchEbD0kYZmq4mlkiUe/45j r+43cSkJWuq/BDqJDAV5dw7/YDQXIK90eGcYrn+V2Q2RD5TTVXrUt41ggCD58NPxnj7v N7oJXYoxrZ9NQNs9cV1zmMPGToqkumu+PyjMN2/8JerNct9LakG5Dp5j45K6myFnEISi JzF6Aem1EHmx/brc40822F83NV+EwhQAXFJcPEqZGKGhqoUWVsqYo1xZueGulpE/pVuv HS3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=eEvYQI/M0dKbw/iIwrIVHbA/uoV79ikeE36wfEiel9c=; fh=m19wgITB8T1TiXRI+kNjv9R6Ifdwva5f7y8y2sWEzX8=; b=cL0O5XJgJf7jZYIIL1T77TIsyzJMK7ZH4+Nm7CuEiexI50n80VBBUUlAqpvO6AnW/U kC+0jaNGZ/hoPAGgYQbzwMG/+FIH9JYolcTOwZTpsIKqG88SfDlHgNNCFlrHjrgg4ezM 8AyHOQb41fDuBV0xH8+0ZaFP8alfSNpQwI+zIAUcmCUaSFVN40hWCT02VHimZy+HI5zj BMSMkSVczZl5OfuQ6gRtGUhfCL6j3UFta6w6+JHQ/QhvlCZFF7UcYt/0AAjBvz1QGb2+ opIVLmBeEhI8+IuBar2jhxX2OtTrOGGBg1QPQmbNpdbYgHVbx6Fevjap3nNA9jXC5mV2 c7xQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=or13.io; s=google; t=1785437442; x=1786042242; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=eEvYQI/M0dKbw/iIwrIVHbA/uoV79ikeE36wfEiel9c=; b=UNZh9hvTj79xCbjAEqWEju2HdSzcPxRlKQf7Z2Uu/peWF5hUOcY/n6EDP0fOWiE50H JQiNWjOaqG/M5Dv+z3UkHx+L9eP/y5v2gDcRMS37ysPUDqByS/kkA978qF6czCFSvCLh hq4ElXP2BPXsFgqNTOvUqI2wVjADxcXdAFh+AV/FMvnHSBaTFOZhAzC3W8Dr4DIrUIQd BRAyrPhJRpXT8rP4LTsVGXRTk2D9B/7Lb47UCJ4iTxR4p5bRFf6o8/IimagD1k00S0gh f4OnbDVXhqnYzyew4l7HtGEfU0QgG0p6R4QHjPtv7XclqVm5pPhuEzbncWtOGGx4Z83z gIXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785437442; x=1786042242; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=eEvYQI/M0dKbw/iIwrIVHbA/uoV79ikeE36wfEiel9c=; b=RN2dGSbuAoyBIug+5Bp9K7ezY1E1srAFY3NN5ToviGwZFuAjJpVdkBNFs7pxmmRfH0 ckGMToXy4Z9TcGTks8QRArmbhMUhPyoSRITPy02lhlWNc7DFauOfTk+oWRubi+9j/H0k Fz8KBPPGRfGiecnHqlCKXT4yYqE2FKulVIN2iMuSHWTTkyU1yEIES9+rat+qVEXG6zhp 5n/ek3Bb4NL32YVIOWtIleCZ0yJh7DPrtS6n0l8IK1Oim7IsdfSPoF6CRMcCJy1X45WL GYsMTOY7Z1V2D6pxgEV+ThCqiHR9eQ1OAeLbMzo0uP3csHzWS1W7LugWc8iJkdwYw5pS nYPA==
X-Forwarded-Encrypted: i=1; AHgh+Rp6V7Zvncc3QGwS+huRdi67Eh0bF6tv1LruXudzzURsbzAOVRUoX6rAZer6N0z7MiIzTcK3L2PpmA==@ietf.org
X-Gm-Message-State: AOJu0YyAjIDJxHcvnl72wq8VOQfLJXiJd0xGM53gQkDabbcIqytiSZ2/ qTCvHrzETgilMstExg1+1ypWA9YzPf3DZgEljadA0ylZ4TcWujfuqMWpx/ahPESGHICadQ7/0BQ Sbkz0CpKy8iYcsUMDAD1mpuxHMUmcB+8GC/+E/Yfz/g==
X-Gm-Gg: AR+sD12lsFa5U7J1msZHinZlvC69BkLL21mJ+ul+9B3WMYA12VdT9/3f12RDqneFfWM blTBm0ifzeM/3EhE4sNfqrMs0KhRn8srslNLbJQZ8WD7HrSAJQp0H/r7zdERmoVjO86R7HJK7tq 6th7HNsJ/BnDDD5s1raK/MKgqYbLhaLs1zj1Ql+bfAZoOo9nD5+U1fwH5BT88kaYWgPz07B7DDd GpNIEzQ4IHBR897Yq4Q0dplokfvATrGFAolBVaLH+AOdj5ZJVuV0goMZVSktx7vILPHEfudq5Le 4ajwAQwE3GwEicBF9xHKR1akTuzP72LF7x5eJ4F8C1PfXiFHhdQn6pqs9aZVrDeekyb1lZynjh8 +/WI=
X-Received: by 2002:a17:902:d591:b0:2c9:da58:17dd with SMTP id d9443c01a7336-2d035e4b61amr34606045ad.34.1785437442060; Thu, 30 Jul 2026 11:50:42 -0700 (PDT)
MIME-Version: 1.0
References: <CAA1-vB0H9ytS8Af-E7rL3-2XjDFKKiP5AgXL=NVJSvCzc+5VQQ@mail.gmail.com> <CAPeSryro49=BNuocgU+ULDh0W++4VuHpywivxicdu5GQFAyHjQ@mail.gmail.com> <CAPeSrypab7TR1=CwAfGiJVWH3Sy+D6d=93vmq69BQVyoa1-evg@mail.gmail.com> <CAMzqgozkOYVAw8P0G=Q-MwBHEDgjm8TRgDUWvm3Mr-SFn+unvw@mail.gmail.com> <CAKbydOUo9tXhFR31f-p2QGwQNGKk2uwrBxiEaHJyUk6pUsYr6w@mail.gmail.com> <CAMzqgowD4RpAwEj0mnxsv9zVQSk2Mq=DSnBesAcFinKk2ZWULg@mail.gmail.com> <CAPeSryrfM=17Hd8VXSK4581Xt17xfhGWePeod20sE+-QGrM8Mw@mail.gmail.com>
In-Reply-To: <CAPeSryrfM=17Hd8VXSK4581Xt17xfhGWePeod20sE+-QGrM8Mw@mail.gmail.com>
From: Orie <orie@or13.io>
Date: Thu, 30 Jul 2026 13:50:31 -0500
X-Gm-Features: AUfX_mwj12xp2nM-dh8fyuLwfhOXzFUC-tSZCUZdM0tt4eB0TKeMEpko_zJ1k7g
Message-ID: <CAMzqgozBEFdit8Oe6EmCiUwQ+ZFcnvPXUAFX9bryyLnfoN9kiQ@mail.gmail.com>
To: Felix Linker <linkerfelix@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000080c1a10657d88c19"
Message-ID-Hash: YWVACVTG5GW3RTT3VXR7PYDS4DB7ZDN3
X-Message-ID-Hash: YWVACVTG5GW3RTT3VXR7PYDS4DB7ZDN3
X-MailFrom: orie@or13.io
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Guy Fischman <gfischman@gmail.com>, Prachi Jain <prachi.jain1288@gmail.com>, keytrans@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Keytrans] Re: Keytrans@IETF 126 : Call for agenda topics
List-Id: Key Transparency <keytrans.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/keytrans/rwLciZxdT0HuIEcx0rm5Cp_mZp8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/keytrans>
List-Help: <mailto:keytrans-request@ietf.org?subject=help>
List-Owner: <mailto:keytrans-owner@ietf.org>
List-Post: <mailto:keytrans@ietf.org>
List-Subscribe: <mailto:keytrans-join@ietf.org>
List-Unsubscribe: <mailto:keytrans-leave@ietf.org>
If we believe a large number of implementers will support 2 wire formats,
and we want both formats to be well-supported without making the
primary spec difficult to read...
Or if we think that it's 2 today, but it might grow to 5 soon... and we
want to set up the system to support that growth.
Obviously the more incompatible wire formats we define the worse the
interop.
However, if there is significant interest in more than 1 wire format,
splitting them out can better align the set of RFCs an implementer needs to
read with the relevance of each RFC to their implementation.
OS
On Thu, Jul 30, 2026 at 1:27 PM Felix Linker <linkerfelix@gmail.com> wrote:
> What would be the benefit of going that path?
>
> Cheers,
> Felix
>
> Am Do., 30. Juli 2026 um 20:05 Uhr schrieb Orie <orie@or13.io>:
>
>> We could also consider keeping the wire format out of the main spec, and
>> defer it to separate drafts.
>>
>> SCITT did something similar for Merkle tree algorithms where the trees
>> ended up not being interoperable.
>> SCITT Architecture -> COSE Receipts (RFC9162) -> Specific Tree Algorithms
>> (CCF, MMR)
>>
>> If we went this approach, we would need each wire format document to
>> describe the requirements for interop.
>>
>> OS
>>
>> On Thu, Jul 30, 2026 at 12:09 PM Guy Fischman <gfischman@gmail.com>
>> wrote:
>>
>>> Sadly I wasn't able to attend the call. Here are my thoughts on the
>>> points Felix raised:
>>>
>>> - It's true that mandating TLS makes iterop easier (and makes it
>>> possible using only the spec), though I would claim only slightly easier.
>>> It also comes with some non-negligible costs, notably:
>>> - TLS extensibility has to be designed into the structure. Protobuf
>>> gives it by default. The protocol has churned wire surface through
>>> revisions and isn't yet final.
>>> - Stranding existing deployments or requiring a translation layer
>>> - Signal uses protobuf, and Whatsapp does too (but based on pre-KT
>>> SEEMless).
>>> - It's contrary to the architecture's
>>> "reuse-your-existing-transport" design, which may slow adoption.
>>> - On the other side of making interop easier - gRPC reflection,
>>> that I was able to implement due to the transport-agnostic stance,
>>> facilitates interop, and would be lost by mandating TLS.
>>> - -> On balance I would lean toward keeping the current agnostic
>>> stance.
>>> - Simplifying PrefixProof - Agree. I believe this would reduce proof
>>> sizes along with simplifying.
>>> - Agree, and to make a bit more concrete - don't specify the order,
>>> rather eliminate the dependence on it. Carry the log entry position
>>> alongside each timestamp, prefix proof, and prefix root. Eight bytes per
>>> entry, and the whole class of ambiguity disappears, including the dedup
>>> rules ("only added the first time," "omitted when the user is expected to
>>> have retained it") that currently make the expected count a function of
>>> client state.
>>>
>>> -Guy
>>>
>>> On Tue, Jul 28, 2026 at 2:34 PM Orie <orie@or13.io> wrote:
>>>
>>>> Hi,
>>>>
>>>> I support making TLS mandatory.
>>>> I don't have enough info on the other points raised to be helpful.
>>>>
>>>> Regards,
>>>>
>>>> OS
>>>>
>>>> On Tue, Jul 28, 2026 at 6:31 AM Felix Linker <linkerfelix@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi everyone,
>>>>>
>>>>> As there was little time for discussion at the end of the meeting, I
>>>>> wanted to raise my three suggestions for the protocol document on list and
>>>>> here what other people say. Here they are:
>>>>>
>>>>> - We should make one wire format mandatory. Currently, the draft
>>>>> allows implementers to freely choose the wire format. I would make TLS
>>>>> mandatory. If people want to use a different wire format, they of course
>>>>> still can, but fixing TLS allows us to at least hope that different
>>>>> implementations interoperate.
>>>>> - I suggest simplifying the PrefixProof structure as follows:
>>>>> Represent prefix trees as a list of leafs with their depth. Either store
>>>>> the node's hash value (can be omitted for an empty leaf) or store the VRF
>>>>> output and the commitment. The reconstruction algorithm can then simply do
>>>>> a DFS search over the prefix tree and initialize it along the way. With the
>>>>> current wire format, one must merge prefix trees first with the binary
>>>>> ladder, then initiate leafs from the prefix search results, then fill in
>>>>> node values.
>>>>> - I implemented this new wire format for testing purposes, and
>>>>> my code for constructing prefix trees indeed becomes much simpler:
>>>>> https://github.com/felixlinker/keytrans-verification/blob/ca4157ae8aaaae0b0e5b4b4e0e9d6d08524786a1/pkg/trees/prefix/prefix.go#L471
>>>>> - Previously, this was the code to first merge binary ladder
>>>>> results into the prefix tree:
>>>>> https://github.com/felixlinker/keytrans-verification/blob/3c4bb83d7dbcf47a4091d54653a5b6a2dcc84a8f/pkg/proofs/proofs.go#L102
>>>>> and this is the code to construct the prefix tree:
>>>>> https://github.com/felixlinker/keytrans-verification/blob/3c4bb83d7dbcf47a4091d54653a5b6a2dcc84a8f/pkg/trees/prefix/prefix.go#L536
>>>>> - I suggest describing the wire format more explicitly. For
>>>>> example, Section 12.3, specifying the combined tree proof, only says: "The
>>>>> timestamps field contains the timestamps of specific log entries [...].
>>>>> There is no explicit indication as to which log entry the elements
>>>>> correspond to, as they are provided in the order that the algorithm the
>>>>> user is executing would request them." Such language makes the draft hard
>>>>> to implement because one now needs to consider the entire document to
>>>>> understand how to parse the data structure. I think this one will be quite
>>>>> hard to address. I cannot come up with the right language right now,
>>>>> because I'm not sure what actually holds about, e.g., the combined tree
>>>>> proof in all cases. But maybe that's a sign that such text is needed.
>>>>>
>>>>>
>>>>> Curious to hear what the rest thinks!
>>>>>
>>>>> Best,
>>>>> Felix
>>>>>
>>>>> Am Do., 16. Juli 2026 um 10:14 Uhr schrieb Felix Linker <
>>>>> linkerfelix@gmail.com>:
>>>>>
>>>>>> Hi Prachi and fellow keytrans enthusiasts,
>>>>>>
>>>>>> We made progress implementing a client. The client is still very much
>>>>>> WIP, but I believe (with an asterisk) that it should be able to verify
>>>>>> greatest version queries.
>>>>>>
>>>>>> The code for that can be found here:
>>>>>> https://github.com/felixlinker/keytrans-verification/blob/felixlinker/client-state/pkg/client/client.go#L98
>>>>>> Development currently happens on that branch.
>>>>>>
>>>>>> I could not test whether the client works yet because I'm not aware
>>>>>> of a server implementation that generates search responses for search
>>>>>> requests. Maybe my understanding here is wrong, I asked both Guy and
>>>>>> Brendan for this. Would be great to have test vectors. My implementation of
>>>>>> a prefix and log tree is tested, but only "against itself," i.e., I check
>>>>>> that my implementation satisfies certain invariants.
>>>>>>
>>>>>> We also prove that our go implementation is memory safe. We haven't
>>>>>> gone much further than that in our mechanized proofs because I would first
>>>>>> like to test whether the client implementation actually works. It is much
>>>>>> cheaper to test than to prove, so I want to do that first.
>>>>>>
>>>>>> The asterisk that I mentioned above is that I took the liberty to
>>>>>> change the server response format slightly so that proofs are easier to
>>>>>> parse. I could, at the meeting, present my experience implementing the
>>>>>> client. My life would be much simpler if the change in wire format were
>>>>>> part of the draft, and I find there are certain parts of the draft which
>>>>>> are hard to implement and get right.
>>>>>>
>>>>>> Best,
>>>>>> Felix
>>>>>>
>>>>>>
>>>>>> Am Di., 14. Juli 2026 um 16:50 Uhr schrieb Prachi Jain <
>>>>>> prachi.jain1288@gmail.com>:
>>>>>>
>>>>>>> Hello KEYTRANS enthusiasts,
>>>>>>>
>>>>>>> Please share any topics, discussion items, or anything else you'd
>>>>>>> like to cover during our time at IETF 126. We have an hour allocated to us.
>>>>>>>
>>>>>>>
>>>>>>> -Chairs
>>>>>>> --
>>>>>>> Keytrans mailing list -- keytrans@ietf.org
>>>>>>> To unsubscribe send an email to keytrans-leave@ietf.org
>>>>>>>
>>>>>> --
>>>>> Keytrans mailing list -- keytrans@ietf.org
>>>>> To unsubscribe send an email to keytrans-leave@ietf.org
>>>>>
>>>> --
>>>> Keytrans mailing list -- keytrans@ietf.org
>>>> To unsubscribe send an email to keytrans-leave@ietf.org
>>>>
>>>
- [Keytrans] Keytrans@IETF 126 : Call for agenda to… Prachi Jain
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Prachi Jain
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Orie
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Guy Fischman
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Orie
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Orie
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Andrew Gallagher
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Guy Fischman
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Konrad Kohbrok
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Brendan McMillion
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Brendan McMillion
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Felix Linker
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Guy Fischman
- [Keytrans] Re: Keytrans@IETF 126 : Call for agend… Prachi Jain