Re: [Cfrg] Point format for Edwards curves

Andrey Jivsov <crypto@brainhub.org> Mon, 18 May 2015 22:15 UTC

Return-Path: <crypto@brainhub.org>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6C91A1A8724 for <cfrg@ietfa.amsl.com>; Mon, 18 May 2015 15:15:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.301
X-Spam-Level:
X-Spam-Status: No, score=-0.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, GB_SUMOF=1, J_CHICKENPOX_12=0.6, SPF_PASS=-0.001] autolearn=no
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 1LvDELb9w5qp for <cfrg@ietfa.amsl.com>; Mon, 18 May 2015 15:15:41 -0700 (PDT)
Received: from resqmta-po-11v.sys.comcast.net (resqmta-po-11v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:170]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D3BC1A86F2 for <cfrg@irtf.org>; Mon, 18 May 2015 15:15:40 -0700 (PDT)
Received: from resomta-po-04v.sys.comcast.net ([96.114.154.228]) by resqmta-po-11v.sys.comcast.net with comcast id VaFS1q0084vw8ds01aFfSR; Mon, 18 May 2015 22:15:39 +0000
Received: from [IPv6:::1] ([71.202.164.227]) by resomta-po-04v.sys.comcast.net with comcast id VaFd1q00c4uhcbK01aFere; Mon, 18 May 2015 22:15:39 +0000
Message-ID: <555A6489.2010509@brainhub.org>
Date: Mon, 18 May 2015 15:15:37 -0700
From: Andrey Jivsov <crypto@brainhub.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: Watson Ladd <watsonbladd@gmail.com>, Nico Williams <nico@cryptonector.com>
References: <CACsn0cmBpyHsG4YVwND7+TXe6nf5v9+w6qZ9Daqr+PKMSG-SYA@mail.gmail.com> <555962E4.9000909@brainhub.org> <20150518154940.GJ7287@localhost> <CACsn0ckFWGEKC7qjuh-U=EY5w_Cr9qkFwipk3YS_14-Vmv4OXQ@mail.gmail.com>
In-Reply-To: <CACsn0ckFWGEKC7qjuh-U=EY5w_Cr9qkFwipk3YS_14-Vmv4OXQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1431987339; bh=MA3QNtK85DdZYJYgt7t2p9Ee9+OLOGjmeTm1p6lRI0o=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=bAtA7zISg+82tSsToHagGBrXA7AcMd7YFFh+ympcG+5u0KvlR0wR7ezgk2p+Lazb+ YDQGontebNabyCjgCVkPLtbTUUnPaDOp5Cgy9ygpv9PqDZmTxv4+pAn/qsNUkpcmFt HWJFz0u1JgRemYnVnSThX+3qxwTi9tLly5tpQkGAWQMnG3n0qxordY2gndeMbFRQQR 2vIqT9+WdMWuUfLYagHqgD4UUbPpKFxVF2CK9zA6T5q64FXBGl9MhnD6B6W0pO7zA2 q2dE8y/bhRhk/9iBs3f7gg4PYJzvvf8mBPXvcriqjPazr163ShMIHGReGABQG8l/t5 yWT4i5qqJJIRg==
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/c4YNYBMJTrSLii6DfUA96lQUfb8>
Cc: cfrg@irtf.org
Subject: Re: [Cfrg] Point format for Edwards curves
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 May 2015 22:15:43 -0000

On 05/18/2015 09:57 AM, Watson Ladd wrote:
>
>
> On May 18, 2015 8:49 AM, "Nico Williams" <nico@cryptonector.com 
> <mailto:nico@cryptonector.com>> wrote:
> >
> > On Sun, May 17, 2015 at 08:56:20PM -0700, Andrey Jivsov wrote:
> > > On 05/16/2015 03:02 PM, Watson Ladd wrote:
> > > >I hope to upload version 02 of my SPAKE2 draft soon, however, I was
> > > >hoping to have points on Ed448Goldilocks and Ed25519 in it. This 
> can't
> > > >currently happen because we've not decided on a point format for
> > > >Edwards curves. The existing point formats in the CFRG draft will not
> > > >work because I need addition. I'm aware this has taken quite a bit of
> > > >conversation spread out, but something like a little endian y
> > > >coordinate and sign bit of x doesn't seem to be wrong enough to not
> > > >put forward.
> >
> > Sure.
> >
> > > The sign bit of T can also be implicit when T=wM+xG in your draft is
> > > required to have the positive 't_x' for T={t_x, t_y} (or
> > > "compliant" T). The "encoding" of T can be done very efficiently
> > > because the sender chooses a random x.
> >
> > Even better.
> >
> > > https://tools.ietf.org/html/draft-jivsov-ecc-compact-05#section-4.2.3
> > > describes the algorithm for the sum of points.
> >
> > There's a timing variation, but it's entirely to do with the sums of
> > randomly selected points, not the fixed point derived from the password,
> > which means there's no side channel.  Very nice.
>
> And this proposal will not work with batchable signature schemes. It 
> also never gets to the byte level.
>

Can you please elaborate?

I assume that:
* these schemes include a (long-term) public key and thus 
https://tools.ietf.org/html/draft-jivsov-ecc-compact-05#section-4.2.2 works.
* If you are talking about r in {r,s}, this method actually helps 
because r=(kG)_x can be made equivalent to R=kG using the same method 
(making ECDSA==ECDSA*==ECDSA#).

I also think that the "black box" method 
https://tools.ietf.org/html/draft-jivsov-ecc-compact-05#section-4.2.1 
should always work, even with already deployed/written software and HSMs.


Here is the rationale for my proposal againl, at the high level:

* the value of "one bit", e.g. "sign", is determined somehow (a 
particular method to define it is not important, and sometimes it's not 
even relevant as for ECDH)
* this bit is implicitly encoded at key generation time, removing the 
need to explicitly encode it downstream
* the act of export in compressed/uncompressed forms is a non-crypto 
operation (a memcpy of x||y, x, or y); import knows what to do based on 
the size of payload (crypto APIs don't need to change to handle 
compression or sign bit -- all the work can be done internally to the API)
* other benefits are privacy, lack of covert channels, unified point 
format, compatibility with any explicit encoding, possibility to encode 
public keys as short(er) integers

> >
> > Nico
> > --
> >
> > _______________________________________________
> > Cfrg mailing list
> > Cfrg@irtf.org <mailto:Cfrg@irtf.org>
> > http://www.irtf.org/mailman/listinfo/cfrg
>