Re: [IPsec] I-D on Using the ECC Brainpool Curves for IKEv2 Key Exchange

"Dan Harkins" <dharkins@lounge.org> Thu, 08 November 2012 18:57 UTC

Return-Path: <dharkins@lounge.org>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EB0E921F85BB for <ipsec@ietfa.amsl.com>; Thu, 8 Nov 2012 10:57:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.265
X-Spam-Level:
X-Spam-Status: No, score=-6.265 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ahs-lO-ofdkD for <ipsec@ietfa.amsl.com>; Thu, 8 Nov 2012 10:57:36 -0800 (PST)
Received: from colo.trepanning.net (colo.trepanning.net [69.55.226.174]) by ietfa.amsl.com (Postfix) with ESMTP id 819CF21F85B1 for <ipsec@ietf.org>; Thu, 8 Nov 2012 10:57:36 -0800 (PST)
Received: from www.trepanning.net (localhost [127.0.0.1]) by colo.trepanning.net (Postfix) with ESMTP id C6B301022400A; Thu, 8 Nov 2012 10:57:35 -0800 (PST)
Received: from 130.129.17.156 (SquirrelMail authenticated user dharkins@lounge.org) by www.trepanning.net with HTTP; Thu, 8 Nov 2012 10:57:36 -0800 (PST)
Message-ID: <f631cc890502075cce9a9da8e04015fd.squirrel@www.trepanning.net>
In-Reply-To: <b7615d987aff24224ea9a2c571970a5b.squirrel@mail2.ihtfp.org>
References: <747787E65E3FBD4E93F0EB2F14DB556B0F507F6B@xmb-rcd-x04.cisco.com> <509AA6B9.9040309@secunet.com> <b7615d987aff24224ea9a2c571970a5b.squirrel@mail2.ihtfp.org>
Date: Thu, 08 Nov 2012 10:57:36 -0800
From: Dan Harkins <dharkins@lounge.org>
To: Derek Atkins <derek@ihtfp.com>
User-Agent: SquirrelMail/1.4.14 [SVN]
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Cc: Johannes Merkle <johannes.merkle@secunet.com>, David McGrew <mcgrew@cisco.com>, "@trepanning.net, Manfred Lochter <manfred.lochter@bsi.bund.de>, IPsecme WG <ipsec@ietf.org>, " <rfc-ise@rfc-editor.org>
Subject: Re: [IPsec] I-D on Using the ECC Brainpool Curves for IKEv2 Key Exchange
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Nov 2012 18:57:37 -0000

  Hi Derek,

On Wed, November 7, 2012 10:27 am, Derek Atkins wrote:
> Hi,
>
> On Wed, November 7, 2012 1:21 pm, Johannes Merkle wrote:
>> Hi David,
>>
>> Point compression is simply the ommission of the x-value, and for point
>> expansion, functions are included in OpenSSL and
>> other crypto libraries. Thus, such mistakes should only occur if someone
>> decides to implement the arithmetic by itself
>> but is incapable of doing it correctly (and does not perform sufficient
>> testing). This seems to me a quite a case of
>> carelessness and I don't think, that an RFC should be so fool-proof to
>> prevent that. There are certainly much more
>> complex aspects in IKE than point compression.
>
> You're making the assumption that an implementor is using OpenSSL or has
> already implemented point compression.  IMHO that is not a reasonable
> assumption.  Many implementations use their own crypto libraries and
> therefore would have to implement these compression and expansion
> functions, including all the potential errors thereto.  So saying "it's
> easy, it's in OpenSSL" is not, IMHO, a reassuring statement or argument.

  Decompression is just a square root and a discriminator to say whether
the result is y or -y. All the brainpool curves are of the form p mod 4 = 3,
where p is the prime defining the curve. For such curves the square root
of n would be n^((p+1)/4) mod p. This is straightforward to implement
with any big number library.

  regards,

  Dan.