[Cfrg] Some observations after the ECC interim meeting

Patrick Longa Pierola <plonga@microsoft.com> Mon, 05 May 2014 23:13 UTC

Return-Path: <plonga@microsoft.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 BDD051A0496 for <cfrg@ietfa.amsl.com>; Mon, 5 May 2014 16:13:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, 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 e4H2dSAAuPVZ for <cfrg@ietfa.amsl.com>; Mon, 5 May 2014 16:13:00 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2lp0204.outbound.protection.outlook.com [207.46.163.204]) by ietfa.amsl.com (Postfix) with ESMTP id 179EE1A048F for <cfrg@irtf.org>; Mon, 5 May 2014 16:12:59 -0700 (PDT)
Received: from BY2PR03MB474.namprd03.prod.outlook.com (10.141.141.149) by BY2PR03MB474.namprd03.prod.outlook.com (10.141.141.149) with Microsoft SMTP Server (TLS) id 15.0.939.12; Mon, 5 May 2014 23:12:54 +0000
Received: from BY2PR03MB474.namprd03.prod.outlook.com ([10.141.141.149]) by BY2PR03MB474.namprd03.prod.outlook.com ([10.141.141.149]) with mapi id 15.00.0939.000; Mon, 5 May 2014 23:12:54 +0000
From: Patrick Longa Pierola <plonga@microsoft.com>
To: "cfrg@irtf.org" <cfrg@irtf.org>
Thread-Topic: [Cfrg] Some observations after the ECC interim meeting
Thread-Index: Ac9otvg9Q4jf9oA/Q/+gDHHETUQlJw==
Date: Mon, 05 May 2014 23:12:53 +0000
Message-ID: <efe621d5b6c7430887f433db7092d125@BY2PR03MB474.namprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e0:ed43::2]
x-forefront-prvs: 0202D21D2F
x-forefront-antispam-report: SFV:NSPM; SFS:(10009001)(428001)(243025003)(199002)(189002)(33646001)(79102001)(20776003)(19300405004)(81342001)(76576001)(15975445006)(46102001)(64706001)(16236675002)(4396001)(81542001)(19580395003)(77982001)(83322001)(76482001)(21056001)(86612001)(92566001)(86362001)(74316001)(77096999)(50986999)(2656002)(54356999)(87936001)(15202345003)(99396002)(83072002)(99286001)(74502001)(101416001)(85852003)(31966008)(80022001)(74662001)(24736002)(9853045004); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR03MB474; H:BY2PR03MB474.namprd03.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (: microsoft.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=plonga@microsoft.com;
Content-Type: multipart/alternative; boundary="_000_efe621d5b6c7430887f433db7092d125BY2PR03MB474namprd03pro_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.onmicrosoft.com
Archived-At: http://mailarchive.ietf.org/arch/msg/cfrg/N7viAssIPBZxt1Al0_kLHzhXrOs
Subject: [Cfrg] Some observations after the ECC interim meeting
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, 05 May 2014 23:13:04 -0000

Dear all,
In our presentation at the CFRG meeting we were especially interested in drawing some attention to some issues that are very relevant when using Edwards and Montgomery curves. In particular,

-   when computing the Montgomery ladder in constant time there is a potential failure case if the scalar matches 0 (mod r) or 0 (mod r'), where r and r' are the prime orders of the subgroups generated on the Montgomery curve and its quadratic twist, respectively. We noted that Curve25519 avoids this issue (together with dealing with subgroup attacks) by restricting the scalar values to 2^254 + 8{0,1,...,2^251-1}. This design feature does not match the standard practice in cryptography that is to allow the scalar value to be in the full range [1, r-1]. For example, when working with Ed25519 there is a restriction of scalars to less than half of such full range. Refer to slide 10 in [1].

-   when using the Montgomery ladder for key exchange (computed with one variable-base scalar multiplication) there are engineering issues that need to be addressed: is key generation being computed on the Montgomery form or the Edwards form? If it is computed using the Montgomery form then there is a significant performance impact (option referred to as "hybrid 1" in our presentation; see slides 23-24 in [1]). One can certainly use the Edwards form instead (this option corresponds to "Hybrid 2" in the same slides) but one then needs to deal with issues such as point conversion, special point formatting for transmission, etc. Another potential issue with this second alternative is that good solutions might be protocol-specific, instead of generic. Our performance results indicate that there is no need to deal with these potential issues (issues that are relevant, e.g., to the TLS handshake using PFS, and that might be even more difficult to deal with in different protocols) because all the computations can be performed purely on the twisted Edwards form of the curve. This also brings to the table the possibility of using only one curve form (twisted Edwards) for signatures and key exchange (and any other possible ECC operations), instead of defining different curve forms for different ECC operations. This unification might bring several benefits in practice.

Finally, we point out that the current effort of moving forward with only one curve targeting *one security level* (i.e., 128-bit) might bring the risk of having inconsistencies once future additions are done at other security levels. We suggest instead to first have a solid curve selection that includes all the security levels, with strong consistency in the design.

Best regards,

Patrick


[1] Patrick Longa, "Selecting Elliptic Curves for Cryptography", talk given at the interim teleconference meeting, April 2014. http://patricklonga.webs.com/Presentation_CFRG_Selecting_Elliptic_Curves_for_Cryptography.pdf