Re: [Cfrg] On the differences of Ed25519/448 and how it affects a vote on twoshakes-d

Gilles Van Assche <gilles.vanassche@st.com> Fri, 11 December 2015 15:23 UTC

Return-Path: <gilles.vanassche@st.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 6D61F1B2A96 for <cfrg@ietfa.amsl.com>; Fri, 11 Dec 2015 07:23:08 -0800 (PST)
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, RCVD_IN_DNSWL_LOW=-0.7] 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 P6G3Ti-Wp9P5 for <cfrg@ietfa.amsl.com>; Fri, 11 Dec 2015 07:23:06 -0800 (PST)
Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9DA381B2A7A for <cfrg@irtf.org>; Fri, 11 Dec 2015 07:23:06 -0800 (PST)
Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx08-00178001.pphosted.com (8.14.5/8.14.5) with SMTP id tBBFJSuY019840; Fri, 11 Dec 2015 16:23:05 +0100
Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 1yph9vdp9u-1 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 11 Dec 2015 16:23:05 +0100
Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 6957731; Fri, 11 Dec 2015 15:22:24 +0000 (GMT)
Received: from Webmail-eu.st.com (safex1hubcas6.st.com [10.75.90.73]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 468C4543C; Fri, 11 Dec 2015 15:23:02 +0000 (GMT)
Received: from [10.137.3.249] (10.137.3.249) by webmail-eu.st.com (10.75.90.73) with Microsoft SMTP Server id 8.3.389.2; Fri, 11 Dec 2015 16:23:01 +0100
References: <CAA4PzX18bcS_awPg-YDAoo90537Ot=s_nf7k_Vt75OVSdvtDrQ@mail.gmail.com> <87fuzcng51.fsf@latte.josefsson.org> <20151209125944.GA26766@LK-Perkele-V2.elisa-laajakaista.fi>
From: Gilles Van Assche <gilles.vanassche@st.com>
To: cfrg@irtf.org
Message-ID: <566AEB08.9070302@st.com>
Date: Fri, 11 Dec 2015 16:26:00 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <20151209125944.GA26766@LK-Perkele-V2.elisa-laajakaista.fi>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.15.21, 1.0.33, 0.0.0000 definitions=2015-12-11_08:2015-12-11,2015-12-11,1970-01-01 signatures=0
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/gn3EdXpRU9o8TrYBd46c0Ii6xV4>
Subject: Re: [Cfrg] On the differences of Ed25519/448 and how it affects a vote on twoshakes-d
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Dec 2015 15:23:08 -0000

Dear all,

On Wed, Dec 09, 2015 at 10:08:26AM +0100, Simon Josefsson wrote:
> If we select twoshakes-d, I believe we should consider separating
> Ed25519(ph) and Ed448 into two documents. While sharing some elements,
> they have become different beasts. Ed25519(ph) is domain separated by
> naming, Ed448 will be domain separated by parameters. The separate
> algorithm Ed448ph no longer makes any sense; whether to prehash or not
> becomes a parameter to the process instead. 

Another point of view could be that Ed448 and Ed448ph are still
distinctly-named algorithms (i.e., symmetrically with Ed25519 and
Ed25519ph), but thanks to the domain separation brought by twoshakes-d
in the internal hash they enjoy the property that a public key can be
certified for one, for the other or for both. As far as I have seen,
twoshakes-d is the only proposal so far that offers that property.

> If the twoshakes-d domain separation is a good domain separation
> algorithm or not is something I don't feel qualified to judge, but I
> don't feel comfortable with it as it is novel.  The algorithms will
> behave different and have different security considerations.

With the point of view above, there is no problem if a public key is
used in either Ed448 or Ed448ph. This follows from that if f(x) is a
sound hash function, then so is f(dom|x) for a fixed prefix "dom".

With a public key used for both Ed448 and Ed448ph, the internal hash can
be viewed as a tree-hash mode on top of SHAKE256, such as:
    without pre-hashing:
        H(x|M)=SHAKE256(dom00|x|M), or
    with pre-hashing:
        H(x|M)=SHAKE256(dom10|x|SHAKE256(dom11|M)),
where "domXY" follows Bryan's coding with X separating between PureEdDSA
and HashEdDSA and Y separating between the internal hash and the
prehash. The security of this domain separation scheme follows from
checking the sufficient conditions defined in [1].

Kind regards,
Gilles

[1] Bertoni et al., Sufficient conditions for sound tree and sequential
hashing modes, IJS 2013