Re: [Cfrg] Elliptic Curves - poll on security levels (ends on February 17th)

Mike Hamburg <mike@shiftleft.org> Tue, 10 February 2015 18:46 UTC

Return-Path: <mike@shiftleft.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 29D9C1A1B64 for <cfrg@ietfa.amsl.com>; Tue, 10 Feb 2015 10:46:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.556
X-Spam-Level: *
X-Spam-Status: No, score=1.556 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FH_HOST_EQ_D_D_D_D=0.765, FH_HOST_EQ_D_D_D_DB=0.888, HELO_MISMATCH_ORG=0.611, HOST_MISMATCH_NET=0.311, HTML_MESSAGE=0.001, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, 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 DS0IwghAWXtT for <cfrg@ietfa.amsl.com>; Tue, 10 Feb 2015 10:46:18 -0800 (PST)
Received: from aspartame.shiftleft.org (199-116-74-168-v301.PUBLIC.monkeybrains.net [199.116.74.168]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B2B51A1B6C for <cfrg@irtf.org>; Tue, 10 Feb 2015 10:46:16 -0800 (PST)
Received: from [192.168.1.102] (unknown [192.168.1.1]) by aspartame.shiftleft.org (Postfix) with ESMTPSA id 01FE1F210A; Tue, 10 Feb 2015 10:45:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shiftleft.org; s=sldo; t=1423593922; bh=3dwb5CaAQJ1t3Nd7W463JdbyWA9fz5ThPGhlEVZOEFI=; h=Date:From:To:CC:Subject:References:In-Reply-To:From; b=Iupm7cvGdDCKV9YifpJO6ezrQM4KbAoY8dpKiADQBXKg1picmnm79iuTgpORq/Xc3 APBJNAUeJEaBrCM/V/aUl0dl1rsEgPLcDSRjStGKWy3Wem2UFo+/atMx2qcoG2TaEP SA7ZYpQfcfocW2GRqVVbo7zXOKeBy8N4Mkw8nbTU=
Message-ID: <54DA51F7.1040400@shiftleft.org>
Date: Tue, 10 Feb 2015 10:46:15 -0800
From: Mike Hamburg <mike@shiftleft.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Phillip Hallam-Baker <phill@hallambaker.com>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
References: <54D9E2E3.4080402@isode.com> <54DA4236.1030304@cs.tcd.ie> <CAMm+Lwjft2RPQMPkMZL2qoYW8hPa135A-+BD71zeC_iKSVfb7A@mail.gmail.com>
In-Reply-To: <CAMm+Lwjft2RPQMPkMZL2qoYW8hPa135A-+BD71zeC_iKSVfb7A@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------040004070707040408070403"
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/JvUin2CKDoU5k4nfN0kfUG6PRFQ>
Cc: "cfrg@irtf.org" <cfrg@irtf.org>
Subject: Re: [Cfrg] Elliptic Curves - poll on security levels (ends on February 17th)
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: Tue, 10 Feb 2015 18:46:23 -0000

On 02/10/2015 10:05 AM, Phillip Hallam-Baker wrote:
>
>
> On Tue, Feb 10, 2015 at 12:39 PM, Stephen Farrell 
> <stephen.farrell@cs.tcd.ie <mailto:stephen.farrell@cs.tcd.ie>> wrote:
>
>
>
>     On 10/02/15 10:52, Alexey Melnikov wrote:
>     > CFRG chairs are starting a poll, containing 2 initial questions:
>     >
>     > Q1: Should CFRG recommend a curve at the 192-bit security level?
>
>     Not interesting.
>
>     >
>     > Q2: Should CFRG recommend a curve at the 256-bit security level?
>
>     Yes, approximately.
>
>     I would also be fine if there were compelling performance reasons
>     for one strength that is in between, e.g. 2^414-17 or similar, but
>     I would like only one strength level in addition to ~128-bit.
>
>     I'm not that convinced that anything more than the 128-bit level
>     is needed, but I believe it will be demanded regardless so having
>     just one such specified is better than a zoo of higher strength
>     curves.
>
>
> One of the reasons I really want a curve above 128 bit / Curve 25519 
> is precisely to clean up the zoo. And for that to happen there has to 
> be a clear advantage of the new curve over ECC384 which is what we 
>  (and I suspect most other CAs who do ECC) support today.
>
> And by clear advantage I mean, can be explained over the phone in as 
> short as time as possible. This has to be a complete no-brainer upgrade.
For the upgrade to be a no-brainer, the performance will need to be good.
> It isn't just a matter of not being interested in the 192 bit curve, I 
> want to phase out that strength.
>
> It is important that we have a back up algorithm that can be more or 
> less relied on to provide a ten year cushion in the case that Curve 
> 25519 is broken. But we don't need that cushion to be particularly 
> efficient.
Ah, good point!  And at the standard rate of 25 bits/year, 384 bits 
would only provide a 5-year cushion.
> On Tue, Feb 10, 2015 at 12:46 PM, Daniel Kahn Gillmor 
> <dkg@fifthhorseman.net <mailto:dkg@fifthhorseman.net>> wrote:
>
>     On Tue 2015-02-10 09:20:59 -0500, Stanislav V. Smyshlyaev wrote:
>     > Q1: No.
>     > Q2: Yes.
>     >
>     > For Q2: for Russia it is of primary importance that the curve is
>     strictly
>     > 512-bit, not 521-bit.
>
>     Can you elaborate on why this is of primary importance?  If a 521-bit
>     curve is as performant, what would cause you to reject it?
>
>
>
> The performance advantages only exist for a 64 bit machine.
So far as I know, nobody's done a high-speed implementation on 32-bit 
for proposed primes other than 2^255-19, 2^414-17, and 2^448-2^224-1; 
and I'm not aware of FPGA benchmarks for any pair of the proposed primes 
which can be compared.  But I don't see why 2^521-1 wouldn't perform 
well on many other bit sizes.  It doesn't stop being a Mersenne prime 
when you change bit sizes.
> Anyone building a dedicated crypto processor would probably choose 
> either 256 bits or 512 bits for the internal bus size.
It depends on the crypto processor.  The ones I've seen have either an 
N-long register for some arbitrary N (and a zwei-drei-N serial 
multiplier), or a 32- or 64-bit internal bus because they accelerate 
NIST curves with 32-bit-aligned coefficients.

Also, 256 bits is a monstrous fat bus.  It's absolutely enormous for a 
crypto bignum processor, since ECC is ALU-bound and not memory-bound.  
Maybe you're thinking of an accumulator register?
> The successor to DDR4 will almost certainly be a 512 bit I/O bus width.
Cache.  Nobody's going to hit DRAM in their ECC inner loop.
> If you are working at the silicon level then 521 bits is a lot harder 
> to manage than 512. Those extra 9 bits really do make a huge difference.
This is the exact opposite of the truth.  Hardware has the flexibility 
to use 34-bit multipliers, 88-bit internal buses and 119-bit registers 
if it wants.

Maybe in GPUs or in AVX512F vector registers you'd have a point, but 
you'll need to reduce the radix in both of those cases.  And if that 8x 
52-bit multiplier ever makes it into Intel hardware, the performance 
tier will be near 400 bits instead of 512.
> Going from 256 bits to 255 is not a big deal. But going above 512 
> makes things really painful.
[citation needed].  I know that the Germans have smart cards with 
1024-bit registers and this messes up their blinding, but otherwise I 
don't know of any platform where 521 bits has a performance disadvantage 
vs 512.  If you do, please provide a citation with actual performance 
numbers, rather than BS about a "512-bit bus".

-- Mike