Re: [openpgp] Proposal for a separable ring signature scheme compatible with RSA, DSA, and ECDSA keys

Vincent Yu <v@v-yu.com> Fri, 14 March 2014 13:55 UTC

Return-Path: <v@v-yu.com>
X-Original-To: openpgp@ietfa.amsl.com
Delivered-To: openpgp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 200D21A015A for <openpgp@ietfa.amsl.com>; Fri, 14 Mar 2014 06:55:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-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 UIrnsUNVwnbA for <openpgp@ietfa.amsl.com>; Fri, 14 Mar 2014 06:55:14 -0700 (PDT)
Received: from smtp5.hushmail.com (smtp5.hushmail.com [65.39.178.142]) by ietfa.amsl.com (Postfix) with ESMTP id E35E51A014F for <openpgp@ietf.org>; Fri, 14 Mar 2014 06:55:12 -0700 (PDT)
Received: from smtp5.hushmail.com (localhost [127.0.0.1]) by smtp5.hushmail.com (Postfix) with SMTP id 1839D607FE for <openpgp@ietf.org>; Fri, 14 Mar 2014 13:55:06 +0000 (UTC)
Received: from smtp.hushmail.com (w6.hushmail.com [65.39.178.92]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp5.hushmail.com (Postfix) with ESMTPS; Fri, 14 Mar 2014 13:55:05 +0000 (UTC)
Message-ID: <a6d56e791a2c878f34369abc6f09b71d@smtp.hushmail.com>
Date: Fri, 14 Mar 2014 09:55:02 -0400
From: Vincent Yu <v@v-yu.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: Werner Koch <wk@gnupg.org>
References: <80674820640dbeb5ae81f81c67d87541@smtp.hushmail.com> <8761nh1549.fsf@vigenere.g10code.de>
In-Reply-To: <8761nh1549.fsf@vigenere.g10code.de>
X-Enigmail-Version: 1.6
OpenPGP: id=d28d7c4078b3742a; url=https://v-yu.com/pubkeys/openpgp.asc
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="mlprSUdDIegAwX5wMkBC1OXoSnr0lJB3f"
Archived-At: http://mailarchive.ietf.org/arch/msg/openpgp/PGnbsyoQQDJ3dJQZvS8V1vnjJxE
Cc: openpgp@ietf.org
Subject: Re: [openpgp] Proposal for a separable ring signature scheme compatible with RSA, DSA, and ECDSA keys
X-BeenThere: openpgp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/openpgp>, <mailto:openpgp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/openpgp/>
List-Post: <mailto:openpgp@ietf.org>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/openpgp>, <mailto:openpgp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Mar 2014 13:55:17 -0000

On 03/14/2014 05:50 AM, Werner Koch wrote:
> Why do we need a new registry?  I can't see a problem in using the
> existing public algorithms ids and declare that only certain algorithms
> may be used for ring signatures

This is a good point. I was worried that some people might object to 
having DSA keys being used as Schnorr keys, which is what's being done 
in the current proposal. The registry provides a way for a signer to 
state explicitly that this is intended, and provides some 
future-proofing in case a future extension to ring signatures uses DSA 
keys differently.

I anticipated potential objections because it is possible to modify or 
augment the proposal to use DSA keys in ways that more closely resemble 
DSA. The main alternative I considered is to use something like what Ren 
and Harn published in 2008 [RH08]. Their scheme provides a way to use 
ElGamal keys in a ring signature, and I think it can possibly be 
modified and integrated with Abe et al's scheme to use DSA keys directly 
as DSA keys. I didn't do so for the following reasons:

1. This alternative scheme produces signatures that are up to double the 
size of those from the current scheme.

2. Abe et al's scheme is much more widely read and cited (their paper 
has been cited more than 250 times, whereas Ren and Harn's paper has 
been cited less than 20 times). I'd prefer to stick to well-known schemes.

3. I had trouble parsing Ren and Harn's security proofs (but this could 
just be me being stupid).

But this is all beside the point since no one has actually objected so 
far. Looking back at my proposal, it does seem rather silly to have a 
registry that is currently redundant.

I agree with you that it is mostly useless. Unless someone has a better 
idea, I will remove the registry and modify the new signature subpacket 
to hold only the fingerprints of possible signers. This will nicely 
simplify things.

> (i.e. exclude the algo for a ring signature).
>
> I would also suggest to settle for ECC algorithms and not bother with
> RSA or DSA anymore.

A major consideration in the proposed scheme is to make sure that it is 
separable; i.e., that different types of existing keys can be used 
together without a dedicated setup. In the current scheme, signers are 
able to produce a ring signature without any cooperation or setup from 
the other possible signers (as long as they each have an RSA, DSA, or 
ECDSA signing key). I think this is an essential feature; otherwise, it 
would be a pain to make sure that all possible signers have the correct 
type of key.

Thus, I think it is important to have a new algorithm ID for ring 
signatures so that signers are free to mix together different types of 
keys in the ring signature. I would also prefer to leave RSA and DSA 
keys in the scheme for the same reason.

What ECC signing algorithms does the current development version of 
GnuPG support?

> Until a v5 public key packet format has been defined, I would strongly
> suggest to use the full SHA-1 fingerprint instead of a key id.  Creating
> long key id collisions is quite possible and thus would require extra
> code for trial verification.

Okay. dkg and David suggested similarly. I will modify my proposal to 
use full SHA-1 fingerprints.

Thanks!
Vincent

[RH08]
J. Ren and L. Harn (2008).
Generalized ring signatures.
doi:10.1109/TDSC.2008.22
https://v-yu.com/lib/2008_Ren,%20Harn.pdf