[CFRG] Re: Review of BBS Signatures draft-07

"Stanislav V. Smyshlyaev" <smyshsv@gmail.com> Wed, 18 June 2025 14:26 UTC

Return-Path: <smyshsv@gmail.com>
X-Original-To: cfrg@mail2.ietf.org
Delivered-To: cfrg@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 90A77367459C for <cfrg@mail2.ietf.org>; Wed, 18 Jun 2025 07:26:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dxCLtMpZgnBB for <cfrg@mail2.ietf.org>; Wed, 18 Jun 2025 07:26:42 -0700 (PDT)
Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B898E3674594 for <cfrg@irtf.org>; Wed, 18 Jun 2025 07:26:42 -0700 (PDT)
Received: by mail-yb1-xb35.google.com with SMTP id 3f1490d57ef6-e7569ccf04cso6115618276.0 for <cfrg@irtf.org>; Wed, 18 Jun 2025 07:26:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750256802; x=1750861602; darn=irtf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1S4YJBX+El+GHMIA9uWvTKfF9tJTcJoDTBts2N7EzRU=; b=g5CrWjXejsduIf48Ea6odDvKp9UdCRrUPZySLV5UCtnS29MaRabJZIY2BwoTaHp6WL ZftzxRjizfLZJ+osJgtoic8Lg3IOza/9u0oWckODM9SjvKj6ljuZwV+vRYmiUqUU98ib apsvjmwSDMNE8T07+yU4mFl6xe7DHIOKVfm20cxwN4w8fy+1MT5G8N34O4AEzRj6P8+i W/fqakw2aZC9rTOv5WMapxImeBlnIte6lJRQtYLfuyt31eSLQWtXn7eI8bKQOMEIqyVX C3hCkEUaaqFkrQfP+cs5+FEu+hJZelWHWmIQSK99sDGrnQPojCcL7f8bh17LSg7qSjXj 3qAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750256802; x=1750861602; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1S4YJBX+El+GHMIA9uWvTKfF9tJTcJoDTBts2N7EzRU=; b=dAkPvKc+yb0fInAZmzWM4T8bTVuDrOPYdKlSCZhyNv9fa8+IgdU8Vq3j5s8q/6yz+X OKbiH8/9REwTK0lp2YNof6KiH1PrSAS2zZf9PLdDPAcoJyk9ffWi65a4RIYDixUbUU3P WT+o54QjANTbqFHPutT3JoG+YKzJsAMsCh+gTBKJDc4G6jJf2OmrKJqCtm+NalQaqWhH YoRtnr3h0l3cklKuyotJIcKfN0k2aem6VFYx2GXK8QqgNyCG1S9GwVoa5jhR6OtT6w0s kcM2gdClnSBiV7FTwPlGtP4HvyZ1JxznvNYcx+CM9mY5NKo4wR9x22ZkpzAXxBtxE9ag zplA==
X-Gm-Message-State: AOJu0YzvxXfgM7rONh4PbDMuKpvZwIxjtcpGoi3UWAM4F0uriZZ8EXH4 xs8YsD6SEowx2uX9l2WZRqaEo4qHo+yJxqijViWEFNWewak/8h4u0e4WJksFgmR2O3E/yW9VxLv YOfaD6nchTx4XuJOC4m0F4pHwr8FrzoY=
X-Gm-Gg: ASbGncuS0XopfV70+a8Ernas/OEIZJSxYOnBU65S+ubLf57BzoGrmcgsH2dMgXdtGv+ 87sxjqFW89WFYf2joefUAqVqJqxDUSxDiXdCALFlkrC76xAHVxyLF6j/pFG9Sx2pYTSt6kPnJsD WsV5KAb8FPa2YM1+e6yG+Ag8yFtOyesubrQ/1qhGskmw==
X-Google-Smtp-Source: AGHT+IGYxWqp47Ugp26nCLs1JQyfVqiGzAqDX7ZX+0xw+O16oJRM9Rv17SNnH8v1CBScQz4UiwQ/KfEhLglQy6Us/1k=
X-Received: by 2002:a05:6902:1003:b0:e84:ab7:80da with SMTP id 3f1490d57ef6-e840ab781a6mr6709470276.27.1750256801979; Wed, 18 Jun 2025 07:26:41 -0700 (PDT)
MIME-Version: 1.0
References: <ME4P282MB098470A0350CBCFAD148ED1D8E4E2@ME4P282MB0984.AUSP282.PROD.OUTLOOK.COM> <ME4P282MB0984867657B98407476796EA8EB72@ME4P282MB0984.AUSP282.PROD.OUTLOOK.COM>
In-Reply-To: <ME4P282MB0984867657B98407476796EA8EB72@ME4P282MB0984.AUSP282.PROD.OUTLOOK.COM>
From: "Stanislav V. Smyshlyaev" <smyshsv@gmail.com>
Date: Wed, 18 Jun 2025 17:26:30 +0300
X-Gm-Features: Ac12FXwPBYiYYcY4PKyfPDnPm4G8bMALdcFnlQI_RHdRn0aU24d7eBUCW8SgPxo
Message-ID: <CAMr0u6knFenZ0Oyj5dPsftvCp6P=Mu72PmjW7k8JmW0JrCantA@mail.gmail.com>
To: Julia Hesse <juliahesse2@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000f2a0c50637d96a7c"
Message-ID-Hash: 63MCPN6EEKWVYO7LKFB2KXKUZRGFCZG3
X-Message-ID-Hash: 63MCPN6EEKWVYO7LKFB2KXKUZRGFCZG3
X-MailFrom: smyshsv@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "cfrg@irtf.org" <cfrg@irtf.org>, Vasilis Kalos <vasilis.kalos=40mattr.global@dmarc.ietf.org>, Andrew Whitehead <Andrew.Whitehead@portagecybertech.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: Review of BBS Signatures draft-07
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/iLBMWj_cknmC_Zwciv9uvbDUI64>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

Dear Julia,

Could you please take a look at the replies (sent by Vasilis on April
10th)? Are you happy with the updates and replies provided by the authors?

Regards,
Stanislav (for chairs)

On Thu, Apr 10, 2025 at 10:40 AM Vasilis Kalos <vasilis.kalos=
40mattr.global@dmarc.ietf.org> wrote:

> Dear Julia and CFRG,
>
> I’m writing to inform you that our latest draft was published, with the
> hopes of addressing the comments from your revie: *https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-08.html
> <https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-08.html>*
>
> See below (as well as the previous, inline email) for a more detailed
> description of the changes made
>
> Are the changes satisfactory?? Is there anything we missed or should have
> added??
>
> Thank you very much,
> Vasilis Kalos
>
>
> ====
> In more detail, the updates we included are the following:
>
> > 3.1 demands subgroup_check algorithms, but they are already listed in
> 1.2 and hence are captured by "...plus associated functionality given in
> Section 1.2". So I'd suggest to drop them from the list in 3.1.
>
>     Done
>
> > 3.2 mentions utility procedures but does not further explain their role,
> as it does for core operations and Interfaces.
>
>     A more detailed description of the Utility procedures was added
>
> > Proof unlinkability …While Section 5 discusses potential threats to
> unlinkability, it does
> not mention headers…
>
>     We more precisely specified the unlikability term in *Section 3.3.7
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-unlinkability>* as
> well as in *Section 5
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-privacy-considerations>* (i.e.,
> that we use it as a synonym to zero-knowledge.). We also expanded on the
> differences between the header and the presentation header and how those
> values affect privacy in *Section 5.1
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-header-and-presentation-head>*
> .
>
> > What is the motivation of computing e as hash of SK and the messages…
>
>     We better explained why the Signature algorithm is made deterministic
> in *Section 3.6.1
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-coresign>*
> .
>
> > Regarding the functions from [RFC9380], why is expand_message not
> described in Section 1.2 but hash_to_curve is?
>
>     We defined the expand_message algorithm in *Section 1.2
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-notation>*
> .
>
> > …is there any formal proof of unlinkability of the BBS proofs described
> in this draft
>
>     In general, we better specified which algorithm from the literature we
> use at the end of *Section 1
> <https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bbs-signatures-08#name-introduction>*.
> As we mentioned in the previous email (immediately bellow this one in the
> thread), we did not change the zk proof algorithm used, since we believe
> that the one utilized has gone under sufficient review by the academic
> community (also given the fact that is heavily based on the proof algorithm
> from [CDL16]). Please see the inline email for a more detailed answer.
>
> > Nits
>
>     Fixed
> ====
>
> ------------------------------
> *From:* Vasilis Kalos
> *Sent:* Thursday, October 24, 2024 8:58 PM
> *To:* cfrg@irtf.org <cfrg@irtf.org>; Julia Hesse <juliahesse2@gmail.com>
> *Subject:* Re: [CFRG] Review of BBS Signatures draft-07
>
>
> Dear Julia,
>
>
>
> Thank you very much for the review and invaluable insights! Please find
> some comments and questions we have inline. For anything not addressed in
> this email we agree with the review and are currently working to update
> the document accordingly.
>
>
>
> > The draft seems to specify algorithms similar to those in [TesZho23].
>
>
>
> We are using the one from Appendix B from the [TesZho23] paper. The only
> difference is that we use r_2 instead of 1/r_2 when calculating \bar{A} and
> D and reverse it later to calculate z (or as we call it in our document
> r_3^).
>
>
>
> > Regardless of what version is specified here, I would like to note that (2)
> and (3) only have sketched security arguments in [TesZho23], and no  proofs
> of properties such as unlinkability that are claimed in the draft.
>
>
>
> Regarding the formal proof of unlinkability, although I agree that it can
> be made clearer, it seems to me that it does not lack formality. The last
> paragraph of the paper (page 31) describes how to simulate the BBS proof.
> The step that is missing is the verification that the simulated BBS proof
> is valid. The verification equations using U_1 and U_2 (in the paper
> notation, we call them T_1 and T_2 in our document) hold trivially (by
> construction). The equation e(\bar{A}, X_2) = e(\bar{B}, g_2) holds given
> the fact that in the simulated case, \bar{B} = \bar{A} ^ x (again using the
> exponentiation notation from the paper). Do you think this will be enough
> to use that proof??
>
> > is there any formal proof of unlinkability of the BBS proofs described
> in this draft, e.g., using empty headers? [TesZho23] does not mention
> unlinkability, that's why I'm asking.
>
>
> We use the term unlinkability as a synonym of zero-knowledge (L-HVZK more
> specifically). Again, something to clarify in the document.
>
>
>
> > What is the motivation behind signing an empty message?
>
>
>
> Allowing an application to indicate “absence” of an attribute (note that
> an “empty” message will be mapped to a non-zero scalar by the
> hash_to_scalar operation).
>
>
>
> > What is the motivation of computing e as hash of SK and the
> messages,  instead of drawing it uniformly?
>
>
>
> To make testing easier by making signatures deterministic, while at the
> same time limiting the attack surface that can arise from bad entropy
> sources.
>
>
>
> > "each BBS proof is indistinguishable from random" - by whom? Surely not by
> a verifier who has the header and the message.
>
>
>
> The intent was to specify that the proof value itself (as outputted by the
> ProofGen operation, without the header or the messages) is unlinkable. If
> the Issuer elects to make use of the header, they should take into
> account the privacy guarantees the deployment tries to enforce (described
> briefly in Section 3.3.6). In any case we should make the above clearer in
> the document.
>
>
>
> > For example, if one follows the recommendations of 6.4, the proofs
> become fully linkable.
>
>
>
> Section 6.4., was not targeted to the “header” but the
> “presentation_header”, chosen by the Prover and “bound” only to the BBS
> proof. Given that a new one can be chosen each time a proof is generated,
> unlinkability should be preserved. We should further clarify that.
>
> > Section 6.1 What can happen if the algorithms are run with an invalid
> serialized PK, i.e., if an implementor decides to skip the recommended PK
> validity check?
>
>
>
> Passing an invalid PK to the pairing operation can have unexpected,
> implementation specific results (like returning an error or the zero point
> of the target group etc.).
>
>
>
> > Section 6.9 "[CRQC] adversaries will not be able to compromise the data confidentiality
> property of a BBS signature - I don't understand how
>
>
>
> The section refers to the BBS Proof. Although using a signature one could
> reveal the undisclosed messages as you indicated, doing the same with
> only a BBS proof should not work.
>
>
> Kind regards,
> Vasilis Kalos
> _______________________________________________
> CFRG mailing list -- cfrg@irtf.org
> To unsubscribe send an email to cfrg-leave@irtf.org
>