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

Mike Hamburg <mike@shiftleft.org> Thu, 21 May 2015 14:57 UTC

Return-Path: <mike@shiftleft.org>
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 D30501A0318 for <cfrg@ietfa.amsl.com>; Thu, 21 May 2015 07:57:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.555
X-Spam-Level: *
X-Spam-Status: No, score=1.555 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FH_HOST_EQ_D_D_D_D=0.765, FH_HOST_EQ_D_D_D_DB=0.888, HELO_MISMATCH_ORG=0.611, HOST_MISMATCH_NET=0.311, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no
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 NDzliW-eoSm1 for <cfrg@ietfa.amsl.com>; Thu, 21 May 2015 07:57:41 -0700 (PDT)
Received: from aspartame.shiftleft.org (199-116-74-168-v301.PUBLIC.monkeybrains.net [199.116.74.168]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 351561A1BAC for <cfrg@irtf.org>; Thu, 21 May 2015 07:57:41 -0700 (PDT)
Received: from [192.168.1.102] (unknown [192.168.1.1]) by aspartame.shiftleft.org (Postfix) with ESMTPSA id 548C93A9C4; Thu, 21 May 2015 07:56:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shiftleft.org; s=sldo; t=1432220207; bh=UK0hcaDqwxB0TlWP1Qy2dGkih4u0jkS7rI0Hg/JZgq0=; h=Date:From:To:Subject:References:In-Reply-To:From; b=WA8aTqXzgNpHzcteu1pIogKzpBMVcqw/fQarmvE8axuY2X4bfViTckcv3Y+7tnrn8 fpveMYmum9erS6/1CUCGX69WYuwLkOOukUXmCpvMjPFTIhjvAtWYew+kJrDV6gfutI Xx4xNfPMQvSnYOSo0f4wlGgMN2Os52KAjPEpnId8=
Message-ID: <555DF264.70100@shiftleft.org>
Date: Thu, 21 May 2015 07:57:40 -0700
From: Mike Hamburg <mike@shiftleft.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>, "'pgut001@cs.auckland.ac.nz'" <pgut001@cs.auckland.ac.nz>, "'cfrg@irtf.org'" <cfrg@irtf.org>
References: <65D2FD736B6B2B48B2EAD2BD189DC9CC271C8A8B@LLE2K10-MBX01.mitll.ad.local>
In-Reply-To: <65D2FD736B6B2B48B2EAD2BD189DC9CC271C8A8B@LLE2K10-MBX01.mitll.ad.local>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/ZXhokwvfTXJryRbKDvMhKYS5jdI>
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: Thu, 21 May 2015 14:57:45 -0000

#1 or #3.  It's important to support IUF APIs in practice.

On 05/21/2015 07:03 AM, Blumenthal, Uri - 0553 - MITLL wrote:
> +1
>
>
> ----- Original Message -----
> From: Peter Gutmann [mailto:pgut001@cs.auckland.ac.nz]
> Sent: Thursday, May 21, 2015 08:22 AM
> To: Alexey Melnikov <alexey.melnikov@isode.com>; cfrg@irtf.org <cfrg@irtf.org>
> Subject: Re: [Cfrg] Elliptic Curves - signature scheme: friendliness to low memory implementations (ends on June 3rd)
>
> Alexey Melnikov <alexey.melnikov@isode.com> writes:
>
>> 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.
> It's also pretty much an instant fail for any API-based security toolkit that
> implements streaming/staged message processing via the init/update/final
> model, which seems to be pretty much all of them (using PKCS #11 as a
> representative example, you've got "begin", "update", "update", [...], "end",
> which hardcodes a single pass over the data, OpenSSL does the same thing, as
> does CryptoAPI, Java (JCE/Bouncy Castle/whatever), my own cryptlib, and I'd
> guess most other libraries).
>
>> 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.
> In most cases where you're processing large messages you don't have any
> choice, and the signing is often done for things like accounting purposes
> rather than because the devices involved are trying to enter into a legal
> agreement.  For example medical images, which have to be uncompressed in order
> to avoid introducing compression artefacts, are enormous, streamed out to a
> remote system in a single pass, and signed purely for accounting/bookkeeping
> purposes.  So you've got something where you absolutely need one-pass
> processing, and the app/users couldn't care less about any fancy properties
> that two-pass processing provides.
>
>> #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.
> +1.  Without having done a survey of all implementers, I do however get the
> feeling that this is the only option available for practical use, meaning the
> choice would be to either go with this option or have whatever other option
> you select ignored because it's impractical for general use.
>
> Peter.
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg