Re: [Cfrg] Elliptic Curves - signature scheme: randomised or not (ends on May 13th)

Michael Hamburg <mike@shiftleft.org> Mon, 04 May 2015 16:16 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 D077E1A1AB9 for <cfrg@ietfa.amsl.com>; Mon, 4 May 2015 09:16:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.556
X-Spam-Level: *
X-Spam-Status: No, score=1.556 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, HTML_MESSAGE=0.001, 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 U-C7Oxlif98x for <cfrg@ietfa.amsl.com>; Mon, 4 May 2015 09:16:49 -0700 (PDT)
Received: from aspartame.shiftleft.org (199-116-74-168-v301.PUBLIC.monkeybrains.net [199.116.74.168]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3F381A1BAE for <cfrg@irtf.org>; Mon, 4 May 2015 09:16:48 -0700 (PDT)
Received: from [192.168.1.142] (unknown [192.168.1.1]) by aspartame.shiftleft.org (Postfix) with ESMTPSA id 714283AA3D; Mon, 4 May 2015 09:16:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shiftleft.org; s=sldo; t=1430756193; bh=FweFPczcA4v13sWLnvAbSm6h67RZo7lyCIVRVBBqo0I=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=CQuqzxrHW1C/U5+dohkSnTgFNxyEWW1i67p0bA5u+IsSeyRZDk9HiGku+MReZCxty tpNPepCRrgFYkM1z9v6Kp4SqC26D9tM3o2UrzveMLt4/UBnr9WEJBZ/acbjnfc7tqO J7FyAP5KMKNO7dcUJsQpoert1QqDMOB03vN+g7YA=
Content-Type: multipart/alternative; boundary="Apple-Mail=_770246E4-42A6-452C-BADA-0FD7D8A0E78B"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Michael Hamburg <mike@shiftleft.org>
In-Reply-To: <55477EEC.2010704@sbcglobal.net>
Date: Mon, 04 May 2015 09:16:45 -0700
Message-Id: <99D726C1-2700-4084-8A4A-C3E7042173BC@shiftleft.org>
References: <5546032D.5070208@isode.com> <55464BB2.5040101@sbcglobal.net> <CACEhwkSdzb-g7Q7uBASp4QB3g_9AGM_nUuXVypdzxGUYypxDaQ@mail.gmail.com> <55468C6E.6070101@sbcglobal.net> <B3B0DA6C-8C27-4A67-BE8D-AC010E5889B3@shiftleft.org> <55477EEC.2010704@sbcglobal.net>
To: David Jacobson <dmjacobson@sbcglobal.net>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/cfrg/-869qNezBqEBR85Y2x30UpJHRTY>
Cc: Mihir Bellare <mihir@eng.ucsd.edu>, "cfrg@irtf.org" <cfrg@irtf.org>
Subject: Re: [Cfrg] Elliptic Curves - signature scheme: randomised or not (ends on May 13th)
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: Mon, 04 May 2015 16:16:51 -0000

> On May 4, 2015, at 7:15 AM, David Jacobson <dmjacobson@sbcglobal.net> wrote:
> 
> On 5/3/15 3:09 PM, Michael Hamburg wrote:
>> 
>>> On May 3, 2015, at 2:00 PM, David Jacobson <dmjacobson@sbcglobal.net <mailto:dmjacobson@sbcglobal.net>> wrote:
>>> 
>>> On 5/3/15 9:50 AM, Mihir Bellare wrote:
>>>>  If someone was foolish enough to do encrypt and sign, then there would be a need to make identical plaintext not have identical signatures.  If anyone feels that we need to accommodate this, then it would be good to allow an optional random
>>>> 
>>>> The usual goal is that one wants IND-CPA privacy. The attack one is trying to prevent here is loss of IND-CPA due to the ability to detect repeats, meaning an adversary knowing messages M1,M2 and their ciphertexts C2,C2 can test whether or not M1=M2. Signature randomization does not help prevent this, because signatures are verifiable given the public key and this can be used to detect repeats even with randomization. So this would not appear to be a good reason to keep randomization in the signature. 
>>>> 
>>>> Mihir
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> Mihir is right.  
>>> 
>>> In addition, I have a suspicion based on information theory that if a signature allows randomization, the size of size of the signature will need to be larger.  Here is an intuitive argument.  Suppose that the size of the signature is 256 bits.  Somehow the message and the               private key map somewhat uniformly onto those 256 bits.  For any given message and key, only one signature value is correct.  Now, I we add 256 bits of randomness, and them mix in in the obvious way.  Now for a fraction of about (1-1/e) of the signature space, there is a value of the input randomness that could have generated it.  That means that the verifier can't reject most signature values.  To avoid this, we have to have a larger signature, so valid values (for a given message and key) are sparse.  Consider that ECDSA with P-256 has 512 bit signatures.
>>> 
>>> For this reason, I think allowing optional randomness as in proposal #4 is not just not helpful, but forces larger signatures.  For many uses, small signature are desirable.  So I retract my original support for #4.  Now I'm only supporting #2.
>>> 
>>>   --David Jacobson
>> 
>> Do you actually have a 2*WF ECC signature scheme in mind?  The only ones I know of use pairings, and the 3*WF and 4*WF ones I know of are all randomized (but can and should be derandomized).
>> 
>> — Mike Hamburg
> No, I have no scheme in mind.  This was just an intuitive argument that allowing an entropy input requires that the minimum signature size be larger.  After I wrote that, I got to thinking about formalizing my argument, probably involving an oracle that transforms messages and public-private keypairs to a set of possible signatures, one of which is selected by the supplied randomness.  But I've not got anything to post.
> 
>    —David

I agree that a randomized signatures have to be bigger than WF bits, and the same is not obviously true for deterministic ones.  But ECC signatures are usually based on zero-knowledge proofs, which are intrinsically randomized but can be derandomized.  In some sense, they’re already derandomized once to make  NIZK: the step c = hash(g^k,message) in Schnorr sigs is in place of a random challenge, which is why the hash is usually modeled as a random oracle.

I also agree that CFRG should specify a derandomized signature algorithm.  But since it does not harm interoperability (or security if done right), we should not absolutely require the nonce to be computed in the way we specify.  We should allow a different PRF to be substituted, because for example HMAC-SHA2 is a nightmare to blind against DPA.  We should allow the use of random nonces: if not in TLS, then in low-latency environments like v2v where pregenerated signature coupons could be a big win.

— Mike