Re: [Cfrg] Elliptic Curves - curve form and coordinate systems (ends on March 12th)
Paul Lambert <paul@marvell.com> Thu, 12 March 2015 20:03 UTC
Return-Path: <paul@marvell.com>
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 B52BB1A7026 for <cfrg@ietfa.amsl.com>; Thu, 12 Mar 2015 13:03:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.267
X-Spam-Level:
X-Spam-Status: No, score=-2.267 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 VOcjBzEdvVgo for <cfrg@ietfa.amsl.com>; Thu, 12 Mar 2015 13:03:29 -0700 (PDT)
Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9F8291A7020 for <cfrg@irtf.org>; Thu, 12 Mar 2015 13:03:28 -0700 (PDT)
Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.14.5/8.14.5) with SMTP id t2CK2oHQ011146; Thu, 12 Mar 2015 13:03:26 -0700
Received: from sc-owa04.marvell.com ([199.233.58.150]) by mx0a-0016f401.pphosted.com with ESMTP id 1t2q5a4rc1-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 12 Mar 2015 13:03:26 -0700
Received: from SC-vEXCH2.marvell.com ([10.93.76.134]) by SC-OWA04.marvell.com ([::1]) with mapi; Thu, 12 Mar 2015 13:03:25 -0700
From: Paul Lambert <paul@marvell.com>
To: Andrey Jivsov <crypto@brainhub.org>, "cfrg@irtf.org" <cfrg@irtf.org>
Date: Thu, 12 Mar 2015 13:03:23 -0700
Thread-Topic: [Cfrg] Elliptic Curves - curve form and coordinate systems (ends on March 12th)
Thread-Index: AdBc+WwwG9DyzzNAQuyZLkr19WwkNwABX6WA
Message-ID: <7BAC95F5A7E67643AAFB2C31BEE662D020E29C47A3@SC-VEXCH2.marvell.com>
References: <54F8E735.2010202@isode.com> <5501E6A5.5040608@brainhub.org>
In-Reply-To: <5501E6A5.5040608@brainhub.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68, 1.0.33, 0.0.0000 definitions=2015-03-12_07:2015-03-12,2015-03-12,1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1503120191
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/MGHdJvNkrEzoirotn3g3veWOdhU>
Subject: Re: [Cfrg] Elliptic Curves - curve form and coordinate systems (ends on March 12th)
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: Thu, 12 Mar 2015 20:03:30 -0000
]-----Original Message----- ]From: Cfrg [mailto:cfrg-bounces@irtf.org] On Behalf Of Andrey Jivsov ]Sent: Thursday, March 12, 2015 12:19 PM ]To: cfrg@irtf.org ]Subject: Re: [Cfrg] Elliptic Curves - curve form and coordinate systems ](ends on March 12th) ] ]On 03/05/2015 03:31 PM, Alexey Melnikov wrote: ]> CFRG chairs are starting discussion of the next topic: ]> ]> Q4: draft-irtf-cfrg-curves-01 currently contains curves in both ]> Montgomery form and Edwards form. The scalar multiplication routine is ]> specified using Montgomery form (and is specific to Curve25519, which ]> will need to be changed given our decision to include a higher ]> security level curve). Its input is a scalar and the u-coordinate of a ]> point on a Montgomery-form curve; its output is the u-coordinate of a ]> point on a Montgomery-form curve. The DH function builds on this ]> routine. Do we want to stay with specifying the inputs and outputs in ]> Montgomery form for these routines? Or do we want to switch to an ]> alternative curve form and coordinate system for defining the ]> routines? If so, which form and coordinate system? ]> ]> ]> [Chairs are aware that it is possible to switch back and forward ]> between different curve forms and coordinate systems, with associated ]> costs, no matter which form is specified for the inputs and outputs of ]> the routines. But we now have to decide *which* form we want to use ]> for inputs and outputs, so as to ensure interoperability between Alice ]> and Bob. Chairs did not want to implicitly force the choice of ]> Montgomery form/coordinates without polling the group first.] ]> ]> ]> ]> Once this issues is settled, we will be discussing (in no particular ]> order. Chairs reserve the right to add additional questions) wire ]> format, byte order and signature schemes. Please don't discuss any of ]> these future topics at this time. ] ]A unified binary representation for a public key Q=k*G on the same curve ]is preferred, regardless of the fact that the Q is used with ECDH, ]ECDSA, EdDSA, PAKE, etc. +1 ]My proposal incurs no (measurable) performance ]penalty for the proposed unification. ] ]Consider the benefits of a single set of test vectors, code reuse, and ]the benefits of sharing pre-computed values. This proposal simply ]matches the capability of currently deployed ECC. ] ]I propose the Montgomery curve representation (u, v), which can be used ]for signatures on the same curve. ] ]"u" is identical to the sec 9 of ]https://tools.ietf.org/html/draft-agl-cfrgcurve-00. ]"v" is calculated (at virtually no additional computational cost) as v = ]u^3 + 486662*u^2 + u ] ]I am aware of the desire to enforce a key use type at the crypto level, Please - no such limitations. The public key should be able to be used for either or both ECDH and signatures. Paul ]but a widely used practice today on TLS servers is to require that a RSA ]server has both digitalSignature | keyEncipherment in its X.509 cert, ]otherwise such a TLS Web server cannot support ECDHE-RSA-AES128-SHA ](digital signature) and AES128-SHA (RSA key transport) ciphersuites ]preferred by different clients with a single RSA key pair. ] ]A sample of the interest in unified format can be found here: ]https://github.com/agl/ed25519/blob/master/extra25519/extra25519.go ](converts from Edwards to Montgomery for Curve25519) ]https://github.com/dchest/ed2curve-js (dedicated to this conversion). ]Also please check other references listed in "Other libraries" there. ] ]* An implementation that uses a Montgomery ladder simply ignores v (it ]only calculates v by reusing F(p) operations from its ECDH scalar ]multiplication code) ]* This format allows more internal implementation choices ]* The format is friendly for crypto algorithms that need to add points ](as opposed to ECDH only) ]* When a software library must implement both signatures and ECDH ](something we assume to be common in the future) or even is interested ]in truly ephemeral public keys for ECDHE, the Montgomery ladder in sec 9 ]is insufficient. Once that "other code" is written, it can do the job of ]Montgomery ladder at about the same speed. ]* This proposal incurs 32 additional bytes of storage overhead for the ]public key, for the total of 64 bytes (compare this with 260+ bytes for ]RSA 2048). ] ]Not sending u means that an implementation must incur ~10% performance ]penalty to recover v (unless the implementation is a Montgomery ladder, ]which doesn't need v). This is a headwind for any future internal ]improvement. On the other hand, calculating the v costs about 2M, under ]0.1% of the entire ECDHE cost. ] ]_______________________________________________ ]Cfrg mailing list ]Cfrg@irtf.org ]http://www.irtf.org/mailman/listinfo/cfrg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Viktor Dukhovni
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… D. J. Bernstein
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Ilari Liusvaara
- Re: [Cfrg] Elliptic Curves - curve form and coord… Alyssa Rowan
- Re: [Cfrg] Elliptic Curves - curve form and coord… Alyssa Rowan
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Ilari Liusvaara
- [Cfrg] (flaws with Curve25519 DH function, if one… Rene Struik
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Ilari Liusvaara
- Re: [Cfrg] Elliptic Curves - curve form and coord… Viktor Dukhovni
- Re: [Cfrg] Elliptic Curves - curve form and coord… Watson Ladd
- [Cfrg] (flaws with Curve25519 DH function, if one… Rene Struik
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Nico Williams
- Re: [Cfrg] (flaws with Curve25519 DH function, if… David Leon Gil
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Viktor Dukhovni
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Nico Williams
- Re: [Cfrg] (flaws with Curve25519 DH function, if… CodesInChaos
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Salz, Rich
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Watson Ladd
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Ilari Liusvaara
- Re: [Cfrg] (flaws with Curve25519 DH function, if… CodesInChaos
- Re: [Cfrg] (flaws with Curve25519 DH function, if… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Alexey Melnikov
- [Cfrg] Elliptic Curves - curve form and coordinat… Alexey Melnikov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Dan Brown
- Re: [Cfrg] Elliptic Curves - curve form and coord… Alyssa Rowan
- Re: [Cfrg] Elliptic Curves - curve form and coord… Phillip Hallam-Baker
- Re: [Cfrg] Elliptic Curves - curve form and coord… Tony Arcieri
- Re: [Cfrg] Elliptic Curves - curve form and coord… Ilari Liusvaara
- Re: [Cfrg] Elliptic Curves - curve form and coord… Mike Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Nadim Kobeissi
- Re: [Cfrg] Elliptic Curves - curve form and coord… Adam Langley
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Adam Langley
- Re: [Cfrg] Elliptic Curves - curve form and coord… Phillip Hallam-Baker
- Re: [Cfrg] Elliptic Curves - curve form and coord… Paul Lambert
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Salz, Rich
- Re: [Cfrg] Elliptic Curves - curve form and coord… Adam Langley
- Re: [Cfrg] Elliptic Curves - curve form and coord… Nico Williams
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Dan Brown
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Paterson, Kenny
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Jakob Breier
- Re: [Cfrg] Elliptic Curves - curve form and coord… Phillip Hallam-Baker
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Nico Williams
- Re: [Cfrg] Elliptic Curves - curve form and coord… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Jakob Breier
- Re: [Cfrg] Elliptic Curves - curve form and coord… Ilari Liusvaara
- Re: [Cfrg] Elliptic Curves - curve form and coord… Watson Ladd
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Rene Struik
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg
- Re: [Cfrg] Elliptic Curves - curve form and coord… Salz, Rich
- Re: [Cfrg] Elliptic Curves - curve form and coord… Andrey Jivsov
- Re: [Cfrg] Elliptic Curves - curve form and coord… Michael Hamburg