[CFRG] Re: Review of draft-irtf-cfrg-pairing-friendly-curves-13
Yumi Sakemi <sakemi-yumi@gmo-connect.jp> Fri, 28 August 2026 14:27 UTC
Return-Path: <sakemi-yumi@chronusinc.jp>
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 B1D831310871A for <cfrg@mail2.ietf.org>; Fri, 28 Aug 2026 07:27:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1787927251; bh=7dA7eOHcRhbeJdI9OtpQOZqk/bZPe9k8jO29Hv4MSOY=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=Yw15zo/TLL6LONNoQVDwIWSKogt80v2wcW9Q88o5K3+4JRV/PDrHXohTZ2ngXmLEU Xxf3B2Jf/tAsoKholTLE3jKDZRvUwMEJrlsEOdFd1APsYgQN0q5NCHQVJBO6Jmo99r nhIV97jbhoF89bW+GfZQUJPZgmxaNHe7+R02aZ0Q=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.686
X-Spam-Level:
X-Spam-Status: No, score=-2.686 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=gmo-connect.jp header.b="HCSwTxai"; dkim=pass (2048-bit key) header.d=gmo-connect.jp header.b="M6wNy1rx"
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 3RbRthMuA2iL for <cfrg@mail2.ietf.org>; Fri, 28 Aug 2026 07:27:29 -0700 (PDT)
Received: from ss11.activegate-ss.jp (ss11.activegate-ss.jp [202.241.206.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 29FE513108713 for <cfrg@irtf.org>; Fri, 28 Aug 2026 07:27:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmo-connect.jp; s=20250719200908; t=1787927249; bh=hcm6NeoJyr1cTZ/CpKtLSJyhmvgA63ddj8C6ym7FeUc=; h=References:In-Reply-To:From:Date:Message-ID:Subject:To:Cc; b=HCSwTxaiV1jS/mSP3Fyr21hN6/U9raxYbPHgWWL516N80KyZyomwS4RQY08Ejoz/E SBQE0L6GiVeM519XHkMJQ0Rcuk+NmiLKaZWOTqIc6ZdgkkJNqYBAtBRD1X0E/vgXuZ +xnMBlerYbH101hEozR0Jq6A0zQsDDafa2HOFmNk=
Authentication-Results: ss11.activegate-ss.jp; dkim=pass header.d=gmo-connect.jp
Received: from mail.d.activegate-ss.jp (unknown [10.16.39.40]) (envelope sender: <sakemi-yumi@chronusinc.jp>) (not using TLS) by ss11.activegate-ss.jp (Active!gate) with ESMTP id cXas13120B; Fri, 28 Aug 2026 23:26:45 +0900
Received: by mail-oa1-f70.google.com with SMTP id 586e51a60fabf-46524220c5aso1572269fac.0; Fri, 28 Aug 2026 07:26:45 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1787927204; cv=none; d=google.com; s=arc-20260327; b=B0WP3n/N309P8IyH8DnLLOz0cKvJtlimWCNtPq7pS1Jfl0oOfiiqfxtxBzh4liUL3e WaQa6dNIuJTen+4TNbnWdO0EaANk6wVUi7XZ4vAyfrgq9G5WgJNVkHbPA17oXlyZ0BiQ 5opIRckfqSNohsoS0BHU42J/A5si8Ojyy1CBuCOS/gASUU8O4pFuRvADykIRBzDTXTa/ t7jxng8VOtaoNtuH8XjTSwBzykgVj0vbcBdNVy8/YeOpUflKgW6/6HgOW30sLu8V4BWf OCHqbSmNntaVgukao6TsRtL1vFVWRbwiz9HVPUocWot79Fpk86N8HInfcRRz8ssrYeVW BIRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=hcm6NeoJyr1cTZ/CpKtLSJyhmvgA63ddj8C6ym7FeUc=; fh=yG83FEUxLQprBW8xPs2ZUHndHX3BvTlnaKbm+5XwO7k=; b=foh0ONG8Ar9HC6yuYbgVS55etXoEk4XeleEZdem379meJt2yvrrj8SMZY8dogbp09Q kWZEcXTRbFwPXlkp77Wr7yCFrhLIr7JOl3rG2TQjT8l0k/tvCb2IYgijtLkvfLpfCb27 SValW4/yGjfTZ/UgdX+ssqbszQ7EhPKoEBmccz8VrIITwqYJxb2PcYZHPqwIlH/44fwC AqeqqIXYwGwLOEi/kma6JkLaqp6NWxG6C2NaPCrpZ+8azxDnO/Tya7yyS2PDyLJQD7Ne +x78NH+7uVVCSRIs/Acfr7b1gyisvaNv2SUkadGdFCvyRjHOgPawp7mUkdSITF+fzk/x Yp5g==; darn=gmo-connect.jp
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmo-connect.jp; s=google; t=1787927204; x=1788532004; darn=gmo-connect.jp; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=hcm6NeoJyr1cTZ/CpKtLSJyhmvgA63ddj8C6ym7FeUc=; b=M6wNy1rxArNTDnoBxjTtOFauKrvanFXi6+PF8r75OY0N7BZEcNgb5TZl+UXFrj49qt jdLYXPFz7efhCIaQKo8sdr938aju0EGLlqkSzSj5hRagcdoN1b4EQuWHF8mQKkOyzfwQ BvNbKjPHc5yIK2JAQWd1NKK65ExVj7joDWOFInjvgOc7Gr7E/IuvFtQb5t8okYu0MOrs vmlqr4JhrovXZ679vgIG09AiZ/eGhKmSjQMX8ZTl27LfzxIi4rcq8YEuX0WJQwaxHlFJ ZIcvbjzHGmtJjed8RLVn58UFNk8cpkzlw+hxDxC39CUJQXHtJ3tVk+jiElVOXTOLo8mz 7rWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787927204; x=1788532004; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=hcm6NeoJyr1cTZ/CpKtLSJyhmvgA63ddj8C6ym7FeUc=; b=a7qzjAJY3zFgw3S9H/aTVAJGSAozxXdhL2g2+aBlMOepiHC8X17qtsZfth4cVsAPkN JGe6GD75sajYvBdRuhq03nRlYfFVjBZDgzD1CnL4jwCZorIpXkd6Zqylwbc4oC7vTwJa Q1Jpra/RMzFPl/GYlkLbRvq6G+Zulh2vxCW5xp++bDO1PkbMbY74Pm3uecvoY9HoDDup pn0PzT5LSiI2KHqOrvGx5YDfBEDFNw4rexE77QOHw0A0h9Ri3yjo1u1UckME4/40ZU0G C1ONWhljzgxGxVRdqwrumHX5R8xjzwJQ8SJ9Mm8HcEDVweln8n3+RbaUKPryj1WKzkje ZE5w==
X-Forwarded-Encrypted: i=1; AHgh+RoikkAMtQ3a2eGv/D5T29ap2s/qFIe5aCC6nZ5k4Tj88qzpgwbsI50816hD6x6rzYPuGjUCDQ==@gmo-connect.jp
X-Gm-Message-State: AFuF++mnYYlevLKfXHfENsPSoc4A7Gm7+QVjRdPOc+7f3B8D7vSuPZdF E4C34wRT74XyE8pLYVRX1twhXdrQ+lqbIrrXfLupj5NHtwJoSXrqrvMSmAh1ImtPQlmUdciSxFF 5uWxNoRuqAOn/HFccSop8uN8CCDIWZNr6WIl1TgVJhWolBIZuxu6ZHnJsNJOa588B7t2PuXmnmR zx9u1yJU5/StSZwYwPsFpyPQRm7FVr/HPQQRLaF4d7z713PDkADlB6eI3JVldg
X-Gm-Gg: AR+sD13+tbnXefBw17w4GfnV77TqxXRasF60MXQzlxUiOW04zf66tr7s0xv0UeHMgbI WKaOHwMcJI8WEMWv/4jCi9+9ua4W7TJ7xfjz8J8QVUumMbcQTrXx0oDgQbJFFPy4+cb0zsQnbSu Bf3A5iEVTEH46OB0NoSf19fOSVf8ZPRmG3TamFTg39qjtjgzFINdX2Udqurt8g2bv1I77HmthI
X-Received: by 2002:a4a:dec5:0:b0:6aa:e1f6:32dc with SMTP id 006d021491bc7-6b1c6684593mr5377423eaf.22.1787927203805; Fri, 28 Aug 2026 07:26:43 -0700 (PDT)
X-Received: by 2002:a4a:dec5:0:b0:6aa:e1f6:32dc with SMTP id 006d021491bc7-6b1c6684593mr5377252eaf.22.1787927201071; Fri, 28 Aug 2026 07:26:41 -0700 (PDT)
MIME-Version: 1.0
References: <CANMnvkwbknbzvXjAig9G3vTQd+Mw9hHWG=Hh9HhKgyB2JFEEbw@mail.gmail.com> <CANMnvkyS1ukx2irfju_imc17SnDXam+wVDrT_St5mEwyj3M-1Q@mail.gmail.com> <CANZ5RKXb+2e6naAVM1emNAzS6RbMyV4hhEZDxaz_DKJ1mOHeQQ@mail.gmail.com>
In-Reply-To: <CANZ5RKXb+2e6naAVM1emNAzS6RbMyV4hhEZDxaz_DKJ1mOHeQQ@mail.gmail.com>
From: Yumi Sakemi <sakemi-yumi@gmo-connect.jp>
Date: Fri, 28 Aug 2026 23:26:29 +0900
X-Gm-Features: AcwNN1URxlVH0Dyaewr9h9GlT-ETmwErv4VReZ-bK6kYiSdOFh4tnHd2lBQqW2w
Message-ID: <CANZ5RKXN5V8ZPmuEeM+e52bN91UqBF5byTh0UUDY5Vr9PCaVZw@mail.gmail.com>
To: emil@yubico.com
Content-Type: multipart/alternative; boundary="000000000000b4a446065a1c3d67"
Message-ID-Hash: TBCTAKQJYZHAAB3LFU3SLYSN3JEWGIBM
X-Message-ID-Hash: TBCTAKQJYZHAAB3LFU3SLYSN3JEWGIBM
X-MailFrom: sakemi-yumi@chronusinc.jp
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; header-match-cfrg.irtf.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: cfrg@irtf.org, kanno@gmo-connect.jp
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: Review of draft-irtf-cfrg-pairing-friendly-curves-13
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/eRcFjLIQEZqWaR5f6UmleyTqQAM>
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>
Hi Emil, and CFRG, Following up on my reply of 28 July, where I said we would file GitHub issues for each point and post the links back here: the tracking issue is now up. Review from Emil Lundberg (CFRG list): summary and tracking https://github.com/cfrg/draft-irtf-cfrg-pairing-friendly-curves/issues/105 It lists all eleven points from the three messages in this thread with the current disposition of each, so that none of them is tracked only in our private notes. Where an item is being handled in an existing issue or pull request, the table points there: - Items 1, 3 and 7 (the Section 2.5 octet-string convention, the [MP04] reference, and the lwig citation) are resolved in #104, now merged. Section 2.5 was removed and the conventions it carried were made self-contained. - Item 2 (the E' deserialization gap) is your PR #91. The Section 2.5 question was the blocker on merging it, and that is now cleared. - Item 4 is your PR #95, still open. - Items 8 and 9 are in Section 5, so they will land together with the Section 5 restructuring tracked in #74. Item 10 is in Section 6; its second half is the same sentence as item 9, so that part moves with it, and the coefficient-range paragraph will be rewritten alongside. - Items 5, 6 and 11a-11g are editorial and will land in -14. That includes crediting all of the WebAuthn co-authors, as promised. Two rows of the table record a reading that differs slightly from the comment as written (the premise of item 6a, and the formula suggested under item 8). Our reasoning is set out there, so please do push back on the issue if we have it wrong. We will keep the issue updated as items land, and I will post here again when -14 goes out. Thanks again for the review. Best regards, Yumi On Tue, Jul 28, 2026 06:18 PM, Yumi Sakemi <sakemi-yumi@gmo-connect.jp> wrote: > Hi Emil, > > Thank you for all of this -- across the serialization issues, the broader > review comments, and the follow-up on Appendix A/B, this is an incredible > amount of careful review, and exactly the kind of input we were hoping for > ahead of the next Crypto Panel round. > > We're going to work through everything properly rather than rush a > response -- we'll file GitHub issues for each point and post the links back > here as we go, so nothing gets lost. > On point 2 (the E' deserialization gap), we'd very much welcome a PR if > you have one ready; otherwise we'll take a pass at it ourselves. > And sorry about the [W3C] reference only crediting you -- that's on us, we > should have listed all of the WebAuthn co-authors; we'll fix that too. > > On the Appendix A/B question -- the lwig-curve-representations reference > for the towered GF(p^12) representation does look off, thank you for > digging into that. We'll also take a look at your implementation, as > offered. > > Thanks again for taking the time to go through the draft in this much > detail -- we'll be back with updates as we work through the list. > > Best regards, > Yumi > > On Tue, Jul 28, 2026 05:35 PM, Emil Lundberg <emil@yubico.com> wrote: > >> 11. Another oddity in the references: >> - The [Zcash] "What are zk-SNARKs?" reference is attributed to >> "Lindemann, R.", but Rolf Lindemann (author of FIDO ECDAA Algorithm) is not >> its author (I confirmed this with Rolf off list). >> >> Emil Lundberg >> >> Staff Engineer | Yubico <http://www.yubico.com/> >> >> >> >> >> Den mån 27 juli 2026 kl 20:07 skrev Emil Lundberg <emil@yubico.com>: >> >>> Hi Yumi and CFRG, >>> >>> Continuing from the thread about issues #74 and #84 >>> <https://mailarchive.ietf.org/arch/msg/cfrg/UIDHgwRtkl86O37kQDET-wWWwPc/>, >>> here are a few more review comments on pairing-friendly-curves-13, mostly >>> regarding clarity and the like: >>> >>> 4. In section 2.2. Pairings >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-pairings> >>> : >>> I initially read (GF(p^k))^* as an arbitrary-dimension Cartesian >>> product, rather than the * just denoting multiplication. I'm not sure that >>> needs fixing (or what a good fix would be), but this is also written >>> inconsistently, varying between both (GF(p^k))^* and (GF(p^k))* throughout >>> the draft. >>> >>> 5. In section 4. Selection of Pairing-Friendly Curves >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-selection-of-pairing-friend> >>> : >>> This draft consistently spells "BLS12_381" with an underscore, but all >>> other literature I've seen spells it "BLS12-381" with a dash, including in >>> particular the {{BLS12_381}} reference but also RFC 9380, >>> draft-irtf-cfrg-bbs-signatures-10 and draft-boneh-bls-signature-00. It >>> might be worth aligning on spelling. (Probably also consider the same >>> spelling convention for BLS48-581, though none of those 4 references name >>> that curve) >>> >>> 6. In section 4.1. Adoption Status of Pairing-friendly Curves >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-adoption-status-of-pairing-> >>> : >>> - The "Arnd" notation seems to not appear anywhere (not in the draft, >>> nor at the adoption-status.html link above). Where is this survey? It seems >>> like a table might be missing, or something like that. >>> - It's not clear to me what "and viewpoints of secure usage of >>> parameters" is intended to mean. Perhaps consider something like: "and >>> because we recommend against using parameters lower than the 128-bit >>> level", if that is what you mean? >>> >>> 7. In section 4.2.1. BLS Curves for the 128-bit security level >>> (BLS12_381) >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-bls-curves-for-the-128-bit->: >>> You note that BP' is "encoded with [I-D.ietf-lwig-curve-representations]", >>> but I'm not sure that reference is relevant? Presumably this refers to Appendix >>> I.8 Conversion Between Curve Points and Octet Strings >>> <https://datatracker.ietf.org/doc/html/draft-ietf-lwig-curve-representations-23#appendix-I.8>, >>> but that seems unrelated since the limbs are spelled as individual integers >>> rather than as a single concatenated octet string? >>> >>> 8. In section 5.3. Point Deserialization Procedure >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-point-deserialization-proce> >>> : >>> - Should we give any guidance on how to determine whether y2 is a >>> square, or leave that out of scope? Or perhaps instead say to first compute >>> y=sqrt(y2), then compute y2'=y*y and abort unless y2==y2'? >>> - Should we give any guidance on how to compute sqrt(y2), or leave that >>> out of scope? For example, is y = y2^((p-1)/2) always valid for all p (or >>> at least for the p used in BLS12-381 and BLS48-581)? >>> >>> 9. In section 5.5. Identity Point Handling >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-identity-point-handling> >>> : >>> "accepting [the identity point] has contributed to at least one >>> documented issue in a deployed protocol" >>> Perhaps include a link/reference to this documented issue? >>> >>> 10. In section 6. Security Considerations >>> <https://www.ietf.org/archive/id/draft-irtf-cfrg-pairing-friendly-curves-13.html#name-security-considerations> >>> : >>> "When converting between an element in an extension field and an octet >>> string, implementors should check that the coefficient is within an >>> appropriate range {{IEEE1363}}. If the coefficient is out of range, there >>> is a possible that security vulnerabilities such as signature forgery may >>> occur." >>> Is this meant to be "each coefficient" instead of "the coefficient"? Or >>> "prime field" instead of "extension field"? >>> I ask because I think that polynomials of too high degree should be >>> unrepresentable if using the deserialization procedure in section 5.3, >>> since the deserialization (assuming it mirrors the serialization) only >>> decodes coefficients for degrees lower than the degree of the polynomial >>> modulus. >>> >>> "Treating the identity element as an unremarkable, always-valid >>> deserialization result [...] has contributed to at least one documented >>> issue in a deployed protocol construction." >>> Again: perhaps include a link/reference to this documented issue? >>> >>> 11. Regarding references: >>> - The link to the reference [CF06] gives "DOI not found". >>> - The [W3C] reference is described as WebAuthn Level 1, but /TR/ is a >>> link to the latest version (currently L2, soon L3), not a stable link to >>> L1. Use this instead (for L1, or a later snapshot link if you want to >>> upgrade): https://www.w3.org/TR/2019/REC-webauthn-1-20190304/ >>> - Why am I the only author credited for the WebAuthn [W3C] reference? :) >>> - The link to [EPID] appears to be a dead link. >>> - [DFINITY] appears to be a dead link. >>> - Maybe update [I-D.boneh-bls-signature] from Individual-Draft status to >>> RG status: draft-irtf-cfrg-bls-signature? >>> >>> I also have a few more minor comments on style, formatting etc. which >>> I'll raise as GitHub issues/PRs rather than taking up space on the mail >>> list. Thanks again for your work! >>> >>> >>> Emil Lundberg >>> >>> Staff Engineer | Yubico <http://www.yubico.com/> >>> >>> >>>
- [CFRG] Review of draft-irtf-cfrg-pairing-friendly… Emil Lundberg
- [CFRG] Re: Review of draft-irtf-cfrg-pairing-frie… Emil Lundberg
- [CFRG] Re: Review of draft-irtf-cfrg-pairing-frie… Yumi Sakemi
- [CFRG] Re: Review of draft-irtf-cfrg-pairing-frie… Yumi Sakemi