Re: [CFRG] compact representation and HPKE
Michael Scott <mike.scott@miracl.com> Wed, 10 February 2021 12:28 UTC
Return-Path: <mike.scott@miracl.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 709553A0E3F for <cfrg@ietfa.amsl.com>; Wed, 10 Feb 2021 04:28:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=miracl.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0hvR1EIKgwTc for <cfrg@ietfa.amsl.com>; Wed, 10 Feb 2021 04:28:06 -0800 (PST)
Received: from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com [IPv6:2607:f8b0:4864:20::b30]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 132E03A0E5A for <cfrg@irtf.org>; Wed, 10 Feb 2021 04:28:04 -0800 (PST)
Received: by mail-yb1-xb30.google.com with SMTP id 133so1805337ybd.5 for <cfrg@irtf.org>; Wed, 10 Feb 2021 04:28:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=miracl.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=c88ra5hzDxfpXJwYXVE3CYZiPVC0lShmOtwJ+pMe1MY=; b=HnGwX+N4B03H8q/Gj/jUVIYXv6wWqkG6PKlFbkpzjvTHMvpVH44B753Hp7qwyvy4NR o+HJwEt8pomAzc9OGK6FEpRtlcmytBuIr8andtGEEt5YvMSl6I9bIqqz9SjAOMSGDC2F zMb9XhhW7fNQauqxg9Knp1tOo2ST8zp2CF31mk/W5X8nPcIzWWKCvBTQcnYCUneRfXBM TFdhKGuAXgjthiwNey3HkIzwhgCj2JYS4NgUX66r5G08Xk2BAnIL8Ylg5PVV9Yz81oL/ +eGIWdt3I1nVujMRFvGjWsJBIWmD22NLSzs+mnzEResOLkmbn1JEBDRj5GVl4U+Mem+H QYzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=c88ra5hzDxfpXJwYXVE3CYZiPVC0lShmOtwJ+pMe1MY=; b=tyQcJROzINAJNIn2sdSfJ4dCISYa/e1N8/18K/y24LBwjKfyzvS1sNzT45OKntQP+U F2rK+yhWuUSJyFMjQ0VRAHdSCszThZquFHuwL/4570khi8O3oggb7XGTvoWHFIWyDzTS QqsbES6J9MSZhBX7v3t63IJaUE78fcHUt1akJGYPMsiB4/prYcyrTcWIjsnljrm9o5vM m+HTjNJFqjDIcerFMrk/OH3HRsl9/dYiywE5Vh4MJnC7SjKW6SL3YuCD6Y2z8FWNyv+i 0zoBzK8VkvlTKOK9Cj8Rgxj0Dco9LJ7i46tE6ek5ZDhrPpIIOEjhIPbrb/PDCNgUZ2tk 3mWg==
X-Gm-Message-State: AOAM531oj2pqIEsDJIzlnROH5HPMLqcFGpIV1RR6ozYYZC+lhEsKPAHB 5hOjBcceCpz20l9GkIBNrrOGtfB00JUXcOl2T5xv+5Y1L2o=
X-Google-Smtp-Source: ABdhPJxFaVofy5Aay3ESXmbuSaojzKdNh5xwJ9Cx7BsDYMqDnOAJFPJjvWzGWH1cU/ZL4FGDtGbqehF4LmM6IDJkI4s=
X-Received: by 2002:a25:1182:: with SMTP id 124mr3809779ybr.154.1612960083711; Wed, 10 Feb 2021 04:28:03 -0800 (PST)
MIME-Version: 1.0
References: <0fcfb0ed-249b-7cd3-09ba-ed1c73122383@lounge.org> <4C4DE4EC-1A5B-48F5-871E-B7D323EF63D5@ericsson.com> <CAL02cgQFGcWjpFV1nFVg2T3aCat6U-uuzUQ_YsUYLHvQq+ZuiQ@mail.gmail.com> <5C12F8B7-99E2-40DA-8A3C-8930E652C77F@shiftleft.org> <99c28b97-332d-af67-0895-a1bd251153bb@lounge.org> <934cbf19-1e16-24cd-7442-85fb8d41fcb1@lounge.org>
In-Reply-To: <934cbf19-1e16-24cd-7442-85fb8d41fcb1@lounge.org>
From: Michael Scott <mike.scott@miracl.com>
Date: Wed, 10 Feb 2021 12:28:20 +0000
Message-ID: <CAEseHRpZE7=smgZs-te4yDb1kTD6aSg92mASn_WZrsB=FqdisQ@mail.gmail.com>
To: CFRG <cfrg@irtf.org>
Content-Type: multipart/alternative; boundary="000000000000d3b6ad05bafa880b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/BsIoSuX9dyWHnzkzmflqA-6jGjU>
Subject: Re: [CFRG] compact representation and HPKE
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Feb 2021 12:28:08 -0000
Well, there is a minor downside - the recipient has to do some extra work (a modular square root) to reconstitute the y coordinate. For an enfeebled recipient this might be quite onerous. Mike On Mon, Feb 8, 2021 at 10:42 PM Dan Harkins <dharkins@lounge.org> wrote: > > Hello again, > > I'd like to resurrect this before it becomes "it's too late to make > changes > that affect the wire". I created a pull request on github some time ago but > it's been ignored so let me try again here (we still technically do our > work > on mailing lists). > > When I brought it up initially there was a +1 and, as Mike notes, the > y-coordinate is not needed. This 04 || x || y format for a key is just some > ancient Certicom proposal and there's really no reason to perpetuate that. > > The y-coordinate is extraneous. Getting rid of it for the NIST curves > will > make the API much cleaner and consistent. > > This will reduce the size of the serialized public key by more than 50% > and for apps that care about such things this would be a tremendous > improvement. > > Richard noted that one can lop off the 04 and the y-coordinate after > serialization and pass x alone as part of the app using HPKE and then have > the other size reconstruct it (with either y since the sign doesn't > matter) before passing it on to be deserialized. While technically true, > that completely defeats the whole point of formalizing this process. > > In my pull request I noted that it does change the test vectors and that > I would be happy to generate them. Well, I did it. I have new test vectors > (based on -07) and will happily contribute them if asked. If the test > vectors > get changed again (with a new version string) I can reproduce new ones > minus > the y-coordinate in a matter of minutes. > > Please consider this request. There is no downside to it. > > regards, > > Dan. > > On 11/6/20 4:44 PM, Dan Harkins wrote: > > > Yes, this is exactly right. The y-coordinate is not needed for these KEMs > as the sign is unimportant. > > The spec will be simpler and the interface more uniform if you do this. > > The whole point of HPKE is to make a callable API out of this process > that > had been done ad hoc. Requiring a app that is taking advantage of this API > to take the output of the API and parse through it, throwing away one half > of one of the output strings and lopping off the first octet, is defeating > the whole purpose and is expecting a lot. The more this is a black box the > better. > > regards, > > Dan. > > On 11/6/20 3:19 PM, Mike Hamburg wrote: > > Hello Richard, > > I haven’t paid much attention to HPKE, so it’s likely I’m missing > something here, but why not use the x-only Montgomery ladder on NIST > curves? That’s the fastest and simplest approach, and it can operate with > or without the y-coordinates. > > Also, some implementations do not compute both the x- and y-coordinates, > and it would be more convenient not to compute or send even a sign bit if > you’re intending to use an x-only ladder. > > Cheers, > — Mike > > On Nov 6, 2020, at 10:19 PM, Richard Barnes <rlb@ipv.sx> wrote: > > Nothing about this says that you have to *send* the keys uncompressed. > You can use whatever representation you want on the wire. You just have to > decompress them before you put them into the key schedule. Which you're > probably doing anyway, because you need both coordinates to do point > multiplication with these curves. So I am inclined not to make this change. > > --Richard > > On Fri, Nov 6, 2020 at 4:52 PM John Mattsson <john.mattsson= > 40ericsson.com@dmarc.ietf.org> wrote: > >> +1 >> >> Sending the keys uncompressed makes HPKE unsuitable for constrained IoT. >> >> -----Original Message----- >> From: CFRG <cfrg-bounces@irtf.org> on behalf of Dan Harkins < >> dharkins@lounge.org> >> Date: Friday, 6 November 2020 at 21:00 >> To: CFRG <cfrg@irtf.org> >> Subject: [CFRG] compact representation and HPKE >> >> Hello, >> >> When doing a DH-based KEM with the NIST curves, HPKE specifies that >> SerializePublicKey and DeserializePublicKey use the uncompressed format >> from SECG. This ends up using 2*Ndh+1 octets to represent the serial >> form of the public key. >> >> Since compact output is being used in DH-based KEMs-- that is, the >> secret result of DH() is the x-coordinate of the resulting EC point-- >> it would also be possible to use compact representation (per RFC 6090) >> and have SerializePublicKey merely do integer-to-octet string >> conversions of the x-coordinate. DeserializePublicKey would then >> do octet string-to-integer conversion for the x-coordinate and use the >> equation of the curve to choose the y-coordinate. The sign isn't >> important because we're doing compact output. >> >> This would make the interface for the NIST curves and the Bernstein >> curves be uniform-- Serialize would produce an octet string of Ndh >> and Deserialize would consume an octet string of Ndh-- at the cost >> of some CPU inside DeserializePublicKey. >> >> Please consider this suggestion. >> >> regards, >> >> Dan. >> >> -- >> "The object of life is not to be on the side of the majority, but to >> escape finding oneself in the ranks of the insane." -- Marcus Aurelius >> >> _______________________________________________ >> CFRG mailing list >> CFRG@irtf.org >> >> https://protect2.fireeye.com/v1/url?k=513cd874-0ea7e231-513c98ef-867b36d1634c-ce26b08a2499b9a3&q=1&e=4f2b4ce0-8d52-4a80-b41e-0f7537355d35&u=https%3A%2F%2Fwww.irtf.org%2Fmailman%2Flistinfo%2Fcfrg >> >> _______________________________________________ >> CFRG mailing list >> CFRG@irtf.org >> https://www.irtf.org/mailman/listinfo/cfrg >> > _______________________________________________ > CFRG mailing list > CFRG@irtf.org > https://www.irtf.org/mailman/listinfo/cfrg > > > > _______________________________________________ > CFRG mailing listCFRG@irtf.orghttps://www.irtf.org/mailman/listinfo/cfrg > > > -- > "The object of life is not to be on the side of the majority, but to > escape finding oneself in the ranks of the insane." -- Marcus Aurelius > > > _______________________________________________ > CFRG mailing listCFRG@irtf.orghttps://www.irtf.org/mailman/listinfo/cfrg > > > -- > "The object of life is not to be on the side of the majority, but to > escape finding oneself in the ranks of the insane." -- Marcus Aurelius > > _______________________________________________ > CFRG mailing list > CFRG@irtf.org > https://www.irtf.org/mailman/listinfo/cfrg >
- [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE John Mattsson
- Re: [CFRG] compact representation and HPKE Richard Barnes
- Re: [CFRG] compact representation and HPKE Mike Hamburg
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE John Mattsson
- Re: [CFRG] compact representation and HPKE Michael Scott
- Re: [CFRG] compact representation and HPKE Michael Scott
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Benjamin Beurdouche
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Loup Vaillant-David
- Re: [CFRG] compact representation and HPKE Eric Rescorla
- Re: [CFRG] compact representation and HPKE Christopher Wood
- Re: [CFRG] compact representation and HPKE Paul Hoffman
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Stephen Farrell
- Re: [CFRG] compact representation and HPKE Eric Rescorla
- Re: [CFRG] compact representation and HPKE Stephen Farrell
- Re: [CFRG] compact representation and HPKE Andrey Jivsov
- Re: [CFRG] compact representation and HPKE Mike Hamburg
- Re: [CFRG] compact representation and HPKE Mike Hamburg
- Re: [CFRG] compact representation and HPKE Loup Vaillant-David
- Re: [CFRG] compact representation and HPKE Salz, Rich
- Re: [CFRG] compact representation and HPKE Mike Hamburg
- Re: [CFRG] compact representation and HPKE Stephen Farrell
- Re: [CFRG] compact representation and HPKE Peter Gutmann
- Re: [CFRG] compact representation and HPKE John Mattsson
- Re: [CFRG] compact representation and HPKE Benjamin Lipp
- Re: [CFRG] compact representation and HPKE John Mattsson
- Re: [CFRG] compact representation and HPKE Mike Hamburg
- Re: [CFRG] compact representation and HPKE Salz, Rich
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Karthik Bhargavan
- Re: [CFRG] compact representation and HPKE Richard Barnes
- Re: [CFRG] compact representation and HPKE Eric Rescorla
- Re: [CFRG] compact representation and HPKE Benjamin Beurdouche
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Billy Brumley
- Re: [CFRG] compact representation and HPKE Stanislav V. Smyshlyaev
- Re: [CFRG] compact representation and HPKE Dan Harkins
- Re: [CFRG] compact representation and HPKE Stanislav V. Smyshlyaev
- Re: [CFRG] compact representation and HPKE John Mattsson
- Re: [CFRG] compact representation and HPKE denis bider