You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cite CFRG sigma-protocols and Fiat-Shamir drafts as alignment references
The composite layer shares their shapes — commit/challenge/response phases,
labeled prefix-free single-squeeze transcript — but is not an instantiation:
AND composition is out of their scope, challenge derivation stays in the BBS
hash_to_scalar family (one derivation path), and only P-256 is normative.
Recorded in the draft (informative references), README, and REFERENCES.md.
standardizes interactive sigma protocols proving knowledge of preimages of linear maps in
1636
+
prime-order groups, and <span>[<ahref="#I-D.irtf-cfrg-fiat-shamir" class="cite xref">I-D.irtf-cfrg-fiat-shamir</a>]</span> standardizes their non-interactive form
1637
+
via a duplex-sponge transcript. This document is structurally aligned with both: each statement
1638
+
is proven in the same commit/challenge/response phases (the split-phase interface of
1639
+
<ahref="#reachable-schnorr-blindings-and-split-phase-proof-generation" class="auto internal xref">Section 3.2</a> is that draft's
1640
+
<code>prover_commit</code>/<code>prover_response</code> decomposition), and the transcript of
1641
+
<ahref="#the-merged-fiat-shamir-transcript" class="auto internal xref">Section 4</a> enforces the same discipline — labeled prefix-free
1642
+
absorption, protocol and ciphersuite binding, and exactly one challenge per transcript. This
1643
+
document is not, however, an instantiation of either draft, for three reasons. First, AND
1644
+
composition of statements under one challenge — the mechanism this document exists to describe —
1645
+
is explicitly out of scope of <span>[<ahref="#I-D.irtf-cfrg-sigma-protocols" class="cite xref">I-D.irtf-cfrg-sigma-protocols</a>]</span>. Second, challenge derivation
1646
+
here stays in the BBS <code>hash_to_scalar</code> family rather than adopting the Keccak duplex sponge of
1647
+
<span>[<ahref="#I-D.irtf-cfrg-fiat-shamir" class="cite xref">I-D.irtf-cfrg-fiat-shamir</a>]</span>: the BBS layer must derive challenges with <code>hash_to_scalar</code> to
1648
+
conform to <span>[<ahref="#I-D.irtf-cfrg-bbs-signatures" class="cite xref">I-D.irtf-cfrg-bbs-signatures</a>]</span>, and running a second derivation primitive in the
1649
+
composite layer would be exactly the two-path Fiat-Shamir fork that <ahref="#one-challenge" class="auto internal xref">Section 4.5</a> exists to
1650
+
prevent. Third, <span>[<ahref="#I-D.irtf-cfrg-sigma-protocols" class="cite xref">I-D.irtf-cfrg-sigma-protocols</a>]</span> currently defines only P-256 normatively, and
1651
+
neither the BBS pairing verification equation nor the <code>GT</code>-valued predicate commitments of
1652
+
<ahref="#predicates-over-hidden-messages" class="auto internal xref">Section 6</a> fall within its linear-map scope. Should those drafts mature
1653
+
to cover BLS12-381 and statement composition, re-aligning this layer's transcript with them is a
place where an ad-hoc <code>H(a || b || c)</code> concatenation would let a malicious Prover shift octets
1890
1911
between fields and forge a proof over a different statement that hashes identically — the
1891
1912
"Frozen Heart" bug class <span>[<ahref="#FrozenHeart" class="cite xref">FrozenHeart</a>]</span>. The rules below exist to make that impossible.<ahref="#section-4-1" class="pilcrow">¶</a></p>
1913
+
<pid="section-4-2">The construction follows the same transcript discipline as <span>[<ahref="#I-D.irtf-cfrg-fiat-shamir" class="cite xref">I-D.irtf-cfrg-fiat-shamir</a>]</span> —
1914
+
labeled prefix-free absorption, initial protocol binding, one squeeze — but derives the
1915
+
challenge with the BBS <code>hash_to_scalar</code> rather than that draft's Keccak duplex sponge, keeping a
1916
+
single challenge-derivation primitive across the BBS and composite layers (see
<spanclass="refAuthor">Orrù, M.</span> and <spanclass="refAuthor">C. Yun</span>, <spanclass="refTitle">"Interactive Sigma Proofs"</span>, <spanclass="refContent">Work in Progress</span>, <spanclass="seriesInfo">Internet-Draft, draft-irtf-cfrg-sigma-protocols-02</span>, <timedatetime="2026-03-02" class="refDate">2 March 2026</time>, <span><<ahref="https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-sigma-protocols-02">https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-sigma-protocols-02</a>></span>. </dd>
2633
+
<ddclass="break"></dd>
2600
2634
<dtid="RFC2119">[RFC2119]</dt>
2601
2635
<dd>
2602
2636
<spanclass="refAuthor">Bradner, S.</span>, <spanclass="refTitle">"Key words for use in RFCs to Indicate Requirement Levels"</span>, <spanclass="seriesInfo">BCP 14</span>, <spanclass="seriesInfo">RFC 2119</span>, <spanclass="seriesInfo">DOI 10.17487/RFC2119</span>, <timedatetime="1997-03" class="refDate">March 1997</time>, <span><<ahref="https://www.rfc-editor.org/info/rfc2119">https://www.rfc-editor.org/info/rfc2119</a>></span>. </dd>
0 commit comments