Re: [Curdle] Key examples in draft-ietf-curdle-pkix-03

David Benjamin <davidben@chromium.org> Fri, 16 December 2016 06:56 UTC

Return-Path: <davidben@google.com>
X-Original-To: curdle@ietfa.amsl.com
Delivered-To: curdle@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BD63129434 for <curdle@ietfa.amsl.com>; Thu, 15 Dec 2016 22:56:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.595
X-Spam-Level:
X-Spam-Status: No, score=-5.595 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-2.896, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 04cI-GfGyJvf for <curdle@ietfa.amsl.com>; Thu, 15 Dec 2016 22:56:39 -0800 (PST)
Received: from mail-qk0-x231.google.com (mail-qk0-x231.google.com [IPv6:2607:f8b0:400d:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CBBC51294ED for <curdle@ietf.org>; Thu, 15 Dec 2016 22:56:39 -0800 (PST)
Received: by mail-qk0-x231.google.com with SMTP id t184so28082455qkd.0 for <curdle@ietf.org>; Thu, 15 Dec 2016 22:56:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Y5xutFWgmVIJJjjSLuZUkDf9thYrBog1PsGYCv3hY+g=; b=XDAlOFePOk+d5k5E24zb52jcnKotMzxj6eWRsHEXuJ3T/KbP5ZE24r6XohsIq7uuCX riauDuHrkiCPZiDz1CvbrdBxgDBrAWQjbhcITFCxXwA9fQQMirHWHjonn7ZJBiV9E16P 69YxNTAhtzvBoTIKW10pZLrealmf3KPILI8HU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Y5xutFWgmVIJJjjSLuZUkDf9thYrBog1PsGYCv3hY+g=; b=X9LZDlkfZw4U3ohbC+XMxS6LiaQFRrxElDz/sJx4zCQAixCatcSOlTNglf5R2ecNM8 p7mGzbBSNGogKn6Dsdjc3PgcMZNjMNnpxUR+IRdAtFgodTwGReUSe7594DV4vSktWM5Z HLYSDG9EdQgb6GFZz5HMmxeHqtNostKJsydnnq6rKqWQwG2DEKT1RxT4yJKe/0wBBWnB DXQ0TFAhRYDWdlCP6uhO3hrZA90F7rGbaC+8NvSFukGtZnEzy1b5qQFbiZArrkfDgX4E 5aQq7wp9L3OKRyQpRXPHTKYOC/ACoWXA+J8AfeGeXXiSNzobJQ3G7656I8urhRpjLldK 8yJQ==
X-Gm-Message-State: AIkVDXL+Qo3HcPpfZEochw0iQ8Af6YzTl0rKozr6HPfO8DjEs8Tq5GY/B9slELJdbKiLCq8THNNwNQehpRQ3Es/x
X-Received: by 10.55.23.213 with SMTP id 82mr1280927qkx.40.1481871398728; Thu, 15 Dec 2016 22:56:38 -0800 (PST)
MIME-Version: 1.0
References: <20161214105434.418FAADD1C@smtp.postman.i2p> <20161214121515.GA10791@LK-Perkele-V2.elisa-laajakaista.fi> <CAF8qwaCWAx8Vp67VZz4G5DQpTGf5DX-sMN+1i40acgCYT8_NVA@mail.gmail.com> <002501d25760$a75c0bb0$f6142310$@augustcellars.com>
In-Reply-To: <002501d25760$a75c0bb0$f6142310$@augustcellars.com>
From: David Benjamin <davidben@chromium.org>
Date: Fri, 16 Dec 2016 06:56:27 +0000
Message-ID: <CAF8qwaDzC8C0czSPrCdTgKH-3_YqW8KeVQ291p+SNcOo-NyGxg@mail.gmail.com>
To: Jim Schaad <ietf@augustcellars.com>
Content-Type: multipart/alternative; boundary="001a1147a2f05366db0543c11206"
Archived-At: <https://mailarchive.ietf.org/arch/msg/curdle/OR54AQLG7SPRHPjNsKpjWW4-Xzk>
Cc: curdle@ietf.org
Subject: Re: [Curdle] Key examples in draft-ietf-curdle-pkix-03
X-BeenThere: curdle@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "List for discussion of potential new security area wg." <curdle.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/curdle>, <mailto:curdle-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/curdle/>
List-Post: <mailto:curdle@ietf.org>
List-Help: <mailto:curdle-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/curdle>, <mailto:curdle-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Dec 2016 06:56:42 -0000

Ah, yes, I see OpenSSL has already shipped code which serializes X25519 in
this way, as early as OpenSSL 1.1.0 in September. That's unfortunate. It
would have been preferable to avoid this confusing double wrapper, but so
it goes I guess.

David

On Fri, Dec 16, 2016 at 12:53 AM Jim Schaad <ietf@augustcellars.com> wrote:

> I believe that the OpenSSL people would be sad if we changed this at this
> time.  I did some interop testing with their developers before the last
> version was released and the OCTET STRING wrapper on the private key is
> what we were doing at the time.
>
> Jim
>
> From: Curdle [mailto:curdle-bounces@ietf.org] On Behalf Of David Benjamin
> Sent: Wednesday, December 14, 2016 5:23 AM
> To: Ilari Liusvaara <ilariliusvaara@welho.com>; str4d <str4d@i2pmail.org>
> Cc: curdle@ietf.org
> Subject: Re: [Curdle] Key examples in draft-ietf-curdle-pkix-03
>
> On Wed, Dec 14, 2016 at 7:15 AM Ilari Liusvaara <mailto:
> ilariliusvaara@welho.com> wrote:
> On Wed, Dec 14, 2016 at 10:54:34AM +0000, str4d wrote:
> > Hello,
> >
> > I am currently updating my EdDSA Java library to implement the current
> > spec for key encoding [0] (previously I used
> > draft-josefsson-pkix-eddsa-04 for public keys, and the equivalent in
> > PKCS#8 format for private keys). The example public key given in
> > draft-ietf-curdle-pkix-03 [1] passes my tests, however the example
> > private key [2] does not.
> >
> > It appears that the private key material within the example is 34 bytes,
> > but according to Section 3.2 of draft-irtf-cfrg-eddsa-08 [3] (which
> > AFAICT the present draft defers to for encoding), the private key is the
> > b-bit seed k, which is 32 bytes.
> >
> > Am I missing something? If the example keys in the present draft are
> > correct, it would be helpful to add a reference that clarifies their
> > exact encoding.
>
> Apparently the key is wrapped in OCTET STRING twice for some reason,
> so the length is actually 32 bytes (the first 2 are second OCTET STRING
> header).
>
> Is it too late to change that / was there any particular reason for this?
> Not that saving or using two bytes really matters, but it seems unnecessary
> when we already have an OCTET-STRING-shaped hole to put our octet string in.
>
>
>
> David
>
> _______________________________________________
> Curdle mailing list
> Curdle@ietf.org
> https://www.ietf.org/mailman/listinfo/curdle
>