Re: [Cfrg] Elliptic Curves - signature scheme: friendliness to low memory implementations (ends on June 3rd)

Rene Struik <rstruik.ext@gmail.com> Wed, 03 June 2015 21:15 UTC

Return-Path: <rstruik.ext@gmail.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 98D301B2F36 for <cfrg@ietfa.amsl.com>; Wed, 3 Jun 2015 14:15:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.6
X-Spam-Level:
X-Spam-Status: No, score=-0.6 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] 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 MxoYeIggejBW for <cfrg@ietfa.amsl.com>; Wed, 3 Jun 2015 14:15:17 -0700 (PDT)
Received: from mail-ig0-x22b.google.com (mail-ig0-x22b.google.com [IPv6:2607:f8b0:4001:c05::22b]) (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 976731B2F2F for <cfrg@irtf.org>; Wed, 3 Jun 2015 14:15:17 -0700 (PDT)
Received: by igbsb11 with SMTP id sb11so25126309igb.0 for <cfrg@irtf.org>; Wed, 03 Jun 2015 14:15:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=X+gPqyD0TLqMYbHQOCIcHVYh+JBeH7q+o5dgit1lEgM=; b=c3f+5TU6F3CVwH27H8yNRj4gUQoVn1m19hT9UWqPU/xcv0DRmdxwgWxperJw1Ce+1H qzgGkcNuLDOzk0ILbauuzC/94eGJJijVaa6+QQ03Vnp2pD6Tz6W8egOUY+NMQ6AFsxGz w0VLIZXZ3vopiKn4p7iX0pq1/sZwfg83pOJHCZyyPGKRxjUYNlNAOG0NAcc/Q/Bdjr6J ilDF6fbq0osJx+c8+ykSbXzCuBtzZ9LElp9NsfGWzcBn1zKL1UEAThWklwdMkZOCfEeR WR2KtWGYXn3sWNy9iGbPV4E2ERljt5/L+Iu/m1QdyXSMlAoQVNpo1X96xRLOuMzpUJJ7 3ggw==
X-Received: by 10.50.43.131 with SMTP id w3mr948184igl.8.1433366116999; Wed, 03 Jun 2015 14:15:16 -0700 (PDT)
Received: from [192.168.0.14] (CPE7cb21b2cb904-CM7cb21b2cb901.cpe.net.cable.rogers.com. [99.231.49.38]) by mx.google.com with ESMTPSA id f15sm15503699iof.36.2015.06.03.14.15.15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jun 2015 14:15:16 -0700 (PDT)
Message-ID: <556F6E51.7060607@gmail.com>
Date: Wed, 03 Jun 2015 17:14:57 -0400
From: Rene Struik <rstruik.ext@gmail.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: Alexey Melnikov <alexey.melnikov@isode.com>, "cfrg@irtf.org" <cfrg@irtf.org>
References: <C49BFA4F-76B9-48A1-913B-144D606FBBDD@isode.com>
In-Reply-To: <C49BFA4F-76B9-48A1-913B-144D606FBBDD@isode.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/nbvSKpMC3x-l4V4jYsnwoqJyPp0>
Subject: Re: [Cfrg] Elliptic Curves - signature scheme: friendliness to low memory implementations (ends on June 3rd)
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: Wed, 03 Jun 2015 21:15:19 -0000

Dear colleagues:

I still do not understand some of the statements below. Please see 
inline (RS>>, <<RS).

I think having to buffer messages, as with some deterministic Schnorr 
scheme variants, would be highly undesirable. So, based on this I should 
vote against #2. However, I am not sure whether that statement, 
including logical implications, is correct. Similarly, if I wanted 
constant-size I/Os, as #1 seems to suggest, would I then always be stuck 
with requiring collision resistance? Or, do I just not understand what 
is meant with "buffering", and IUF "pattern" in the email poll below?

Best regards, Rene

On 5/20/2015 5:16 PM, Alexey Melnikov wrote:
> Signature schemes have, traditionally, hashed the message to be signed to
> a representative value and then actually signed that value. This has led
> to APIs that follow the Init, Update*, Final (IUF) pattern that allows for
> fragmented or very large messages to be signed with constant memory usage.
>
> Alternatively, some signature schemes hash the message to be signed twice,
> where a prefix of the second hash depends on the result of the first.
> Ed25519 is an example of a scheme of this type. This typically allows the
> signature scheme to require fewer assumptions about the strength of the
> hash function that is employed. However, this approach implies that the signing
> algorithm would have to buffer the entire message. That could lead to
> unacceptable memory usage for applications that sign very large messages.
RS>> Isn't the double signing merely an artifact of running the Schnorr 
signature scheme in a mode where the ephemeral private key is 
deterministically derived from message and private info?
I don't see how this would apply with the original Schnorr scheme, since 
there one simply has s:= k - e d (mod n), where e=h(m,R), where R:=kG, 
where n size of prime-order subgroup, and where k is randomly picked. 
Only with deterministic versions, such as EdDSA, does one also have 
k=f(m,d), for some suitably chosen function f. So, buffering concerns 
only seem at play with deterministic signature schemes. Or, am I missing 
something here?
<<RS
>
> Penalising large messages might be seen as a positive by some because
> signing arbitrarily large messages invites implementations to process
> unauthenticated data because of its potential size.
RS>> I do not understand this, since with non-deterministic schemes one 
does not seem to have this buffering issue on the signing side. For 
verification, obviously one needs to do some computations that depends 
on the entire data-to-be-signed into account, so one can only really 
release this data after positive result of the consistency check 
{whether or not one uses a deterministic or non-deterministic signature 
scheme}.
<<RS
> Also, designs that
> really wish to do this can always define that the message to be signed is
> actually a hash of the data. In doing so they would reintroduce the
> requirement that the hash function be collision resistant, but can
> implement an IUF API in constant space again.
>
> On the other hand, if we wish a signature primitive to be easy to
> substitute into existing protocols then supporting a constant-space IUF
> API might be seen as a requirement.
RS>>
The question seems to be whether requiring constant-space IUF would rule 
out particular solution directions. For non-deterministic Schnorr, where 
k is obtained from an independent RNG source, couldn't one simply 
compute e:=H(m,R) in a streaming fashion, assuming one has a pair (k, 
R:=kG) available?
<<RS

> RS>> Not sure whether the implicit assumptions underlying these choices.
<<RS

>
> Chairs wish to poll the group on the following topic (please pick one):
>
> #1: The signature scheme should follow the traditional model of hashing
> the message to be signed, thus trivially supporting IUF APIs in
> constant-space, at the cost of requiring collision resistant hash
> functions.
RS>> Not sure whether this statement is universally correct.
<<RS
>
> #2: The signature scheme should not depend on collision resistance, at the
> cost of the signing algorithm having to buffer messages to be signed.
RS>> As suggested before, non-deterministic Schnorr seems to fall into 
this category, while not requiring buffering. Again, if I need stronger 
coffee, please let me know.
<<RS
>
> #3: option #2, but with an additional "large message" mode defined for
> protocols that feel that they need it, where the message to be signed is
> actually a hash of the true message.
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg


-- 
email: rstruik.ext@gmail.com | Skype: rstruik
cell: +1 (647) 867-5658 | US: +1 (415) 690-7363