Re: [TLS] Using Brainpool curves in TLS

Johannes Merkle <johannes.merkle@secunet.com> Wed, 16 October 2013 15:46 UTC

Return-Path: <Johannes.Merkle@secunet.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A1DF11E82FD for <tls@ietfa.amsl.com>; Wed, 16 Oct 2013 08:46:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.355
X-Spam-Level:
X-Spam-Status: No, score=-3.355 tagged_above=-999 required=5 tests=[AWL=-0.056, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jeeEXgGUxJwG for <tls@ietfa.amsl.com>; Wed, 16 Oct 2013 08:46:02 -0700 (PDT)
Received: from a.mx.secunet.com (a.mx.secunet.com [195.81.216.161]) by ietfa.amsl.com (Postfix) with ESMTP id C140C21F8AD5 for <tls@ietf.org>; Wed, 16 Oct 2013 08:45:47 -0700 (PDT)
Received: from localhost (alg1 [127.0.0.1]) by a.mx.secunet.com (Postfix) with ESMTP id 8D8B81A0076; Wed, 16 Oct 2013 17:45:44 +0200 (CEST)
X-Virus-Scanned: by secunet
Received: from a.mx.secunet.com ([127.0.0.1]) by localhost (a.mx.secunet.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id UVQpr2nTVen3; Wed, 16 Oct 2013 17:45:42 +0200 (CEST)
Received: from mail-srv1.secumail.de (unknown [10.53.40.200]) by a.mx.secunet.com (Postfix) with ESMTP id A71DE1A0071; Wed, 16 Oct 2013 17:45:42 +0200 (CEST)
Received: from [172.16.40.201] ([172.16.40.201]) by mail-srv1.secumail.de with Microsoft SMTPSVC(6.0.3790.4675); Wed, 16 Oct 2013 17:45:42 +0200
Message-ID: <525EB4A6.3020601@secunet.com>
Date: Wed, 16 Oct 2013 17:45:42 +0200
From: Johannes Merkle <johannes.merkle@secunet.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.0.1
MIME-Version: 1.0
To: Manuel Pégourié-Gonnard <mpg@elzevir.fr>, Tom Ritter <tom@ritter.vg>
References: <525C11B5.2050604@secunet.com> <525CEFA4.2030903@funwithsoftware.org> <01b901cec9a0$004e12b0$00ea3810$@offspark.com> <CACsn0ckOnrQTOLdUo9gT8hbTx4cEqX9CP6=BRFYtpV1CpT7HXQ@mail.gmail.com> <525E3E6B.1020604@secunet.com> <CA+cU71=ws7Uh6OuJhMdU521Uvm1zj=agb3HPNZudpX1R6v7mXA@mail.gmail.com> <525EA1C6.5030909@elzevir.fr>
In-Reply-To: <525EA1C6.5030909@elzevir.fr>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-OriginalArrivalTime: 16 Oct 2013 15:45:42.0831 (UTC) FILETIME=[C580E3F0:01CECA86]
Cc: Patrick Pelletier <code@funwithsoftware.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Using Brainpool curves in TLS
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Oct 2013 15:46:07 -0000

Manuel Pégourié-Gonnard schrieb am 16.10.2013 16:25:
> On 16/10/2013 15:32, Tom Ritter wrote:
>> I'm not sure I agree with them fully, but I also don't have very much
>> context. (My thoughts when reading that is "Why sqrt(2) and sqrt(3)
>> instead of pi and e - what makes those constants more trustworthy?")

Also, Pi and e as transcendental numbers seem more "unstructured" as any (square or higher-order) root. Just imagine an
imaginary hash function taking as a first step the square of the input string taken as integer. Surely, SHA-1 does not
work this way but the "unstructuredness" of transcendental numbers seems more robust against any kind of arithmetic
processing.

> This is obviously not a security concern unless you believe there is a class of
> weak curves with quite high density, which would IMO be very bad news for ECC in
> general, not only these particular curves.

In support of this argument let me summarize my answers to the assessment on http://safecurves.cr.yp.to/rigid.html

Q: Why SHA-1 instead of, e.g., RIPEMD-160 or SHA-256?
A: Procedure follows ANSI X9.62

Q: Why use 160 bits of hash input independently of the curve size?
A: 160 bit is the minimal amount of input entropy needed to allow maximum entropy n the hash value.

Q: Why pi and e instead of, e.g., sqrt(2) and sqrt(3)?
A: Most mathematicians will acknowledge that pi and e are more fundamental than sqrt(2) and sqrt(3). Furthermore, as
transcendental numbers they are more robust w.r.t the "unstructuredness" of their decimal representation.

Q: Why handle separate key sizes by more digits of pi and e instead of hash derivation?
A: Follows the KISS principle. But, yes, there was a very small degree of freedom.

Q: Why counter mode instead of, e.g., OFB?
A: Counter mode? We didn't use block ciphers. If you refer to the counter used in computation of hash values, this
follows ANSI X9.62.

Q: Why use overlapping counters for A and B (producing the repeated 26DC5C6CE94A4B44F330B5D9)?
A: I admit that this is unfortunate. And yes, there was a very small degree of freedom.

Q: Why not derive separate seeds for A and B?
A: Yes, there was a very small degree of freedom.

You see, there is not much freedom in the choices made, which implies that implanting a back door would have required  a
very large class of weak curves or great luck.

-- 
Johannes