[CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid-kems-12 and draft-irtf-cfrg-concrete-hybrid-kems-04
"D. J. Bernstein" <djb@cr.yp.to> Sat, 11 July 2026 04:28 UTC
Return-Path: <djb-dsn2-1406711340.7506@cr.yp.to>
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 DC598114ED821 for <cfrg@mail2.ietf.org>; Fri, 10 Jul 2026 21:28:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1783744086; bh=/8YOg/k8QAYb6gE3WTd2iU+267/6DbH9XnVYITm8TTE=; h=Date:From:To:Subject:In-Reply-To; b=PAY9LLxqTipsfcOoMsMhVSkkg2t5E3fvHSN/cSuxb4U5klV/ufYGqSYfo/7/4+Dzs j23veVFDErlral83B6mdpm0TkomOZB3k+15X5A9stMznqgP6ahkAWBx5eBHoQ4NGvH 1k5ZLoDCGlrFf/IB89UeYqjirzfU0bzGqqv4aYHQ=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.197
X-Spam-Level:
X-Spam-Status: No, score=-4.197 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
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 ASnm1CszEwnm for <cfrg@mail2.ietf.org>; Fri, 10 Jul 2026 21:28:06 -0700 (PDT)
Received: from salsa.cs.uic.edu (salsa.cs.uic.edu [131.193.32.108]) by mail2.ietf.org (Postfix) with SMTP id 37E75114ED81C for <cfrg@irtf.org>; Fri, 10 Jul 2026 21:28:06 -0700 (PDT)
Received: (qmail 2360836 invoked by uid 1010); 11 Jul 2026 04:28:05 -0000
Received: from unknown (unknown) by unknown with QMTP; 11 Jul 2026 04:28:05 -0000
Received: (qmail 544344 invoked by uid 1000); 11 Jul 2026 04:27:51 -0000
Date: Sat, 11 Jul 2026 04:27:51 -0000
Message-ID: <20260711042751.544342.qmail@cr.yp.to>
From: "D. J. Bernstein" <djb@cr.yp.to>
To: cfrg@irtf.org
Mail-Followup-To: cfrg@irtf.org
In-Reply-To: <CAOvwWh227S=RPmX0xYsFV9SNwYhFrjrg42vx0WkhXHx6qGzj8g@mail.gmail.com>
Message-ID-Hash: QVGEXDDOUJPU4BBUK3444SH3IEACTRM5
X-Message-ID-Hash: QVGEXDDOUJPU4BBUK3444SH3IEACTRM5
X-MailFrom: djb-dsn2-1406711340.7506@cr.yp.to
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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid-kems-12 and draft-irtf-cfrg-concrete-hybrid-kems-04
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/je0m6hPwOq6Wt2rfAvuKPUsszqs>
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>
Soatok Dreamseeker writes: > I was referring to your SafeCurves website. > https://safecurves.cr.yp.to/complete.html still says P-256 doesn't satisfy > completeness, Neither of the criteria defined on the page is met by any known formulas for NIST P-256. First criterion: "SafeCurves requires curves to support simple, fast, _complete_, constant-time single-coordinate single-scalar multiplication. This includes the SafeCurves ladder requirement but goes further by requiring completeness." The word "ladder" links to the ladder page, which provides underlying definitions: "'Fast' means that implementations of scalar multiplication for the same curve cannot be much faster, and 'simple' means that reasonably fast implementations of scalar multiplication for the same curve cannot be much more concise. At this time there are no examples close enough to the edge to warrant quantification of 'much'." Second criterion: "SafeCurves also requires curves to support simple, fast, _complete_, constant-time multi-scalar multiplication." More broadly, the SafeCurves introduction explains the point of the SafeCurves criteria: "Most of these attacks would have been ruled out by better choices of curves that allow _simple_ implementations to be _secure_ implementations. This is the primary motivation for SafeCurves. The SafeCurves criteria are designed to ensure ECC security, not just ECDLP security." As an analogy, C++ has an unsafe "s[i] = c" and a safe (aside from threading issues etc.) "s.at(i) = c". The safe version is endlessly advertised; it's only _slightly_ less concise; and the slowdown usually doesn't matter. But, hmmm, somehow I keep seeing new C++ code that's using "s[i] = c" (not just in the occasional hot spots), and security problems resulting from this. > and https://safecurves.cr.yp.to/ind.html claims it doesn't > satisfy indistinguishability. The criterion defined on that page is not met by any known formulas for NIST P-256. > Maybe consider updating these pages to incorporate research that's as > fresh as 11-12 years old. Maybe learn to read. The completeness page has always explained why the line of research that you're referring to isn't relevant: "Subsequent research has introduced other complete scalar-multiplication formulas. However, many of these formulas are considerably slower and more complicated than standard incomplete scalar-multiplication formulas, creating major conflicts between simplicity, efficiency, and security." Probably some alert people reading this message are thinking: wait a minute, how can the SafeCurves web pages from 2013--- https://web.archive.org/web/20131019003140/http://safecurves.cr.yp.to/complete.html ---be talking about other complete formulas if those formulas were introduced in a 2015 paper? Was this time travel? Answer: After introducing complete addition formulas for Edwards curves in 2007, Lange and I started looking more broadly at completeness, and by 2009 we had presented complete addition laws for all elliptic curves over finite fields: https://web.archive.org/web/20130816082425/http://cr.yp.to/talks/2009.07.17/slides.pdf But the Edwards formulas were simple and fast while the formulas we gave for, e.g., NIST P-256 weren't---and this matters for figuring out which formulas have a realistic chance of taking over the software ecosystem, addressing the real-world problems caused by incomplete formulas. Similarly, the newer paper https://eprint.iacr.org/2015/1060 managed to attract a few implementations (e.g., https://eprint.iacr.org/2019/1166) but never had a real chance of becoming dominant, because it still flunks the "simple" and "fast" criteria. The same type of tension is evident for more issues than completeness, and played an explicit and central role in the SafeCurves pages that we posted in 2013. See the 2024 paper for much more about all this (for completeness, for indistinguishability, and in general), along with a review of how newer vulnerability announcements tracked the SafeCurves predictions of what would happen, in particular with various security failures in NIST P-256 software, such as CVE-2023-6135. Of course, having this all spelled out doesn't stop some people from skipping the SafeCurves introduction, skipping the definitions of the criteria, missing the words "simple" and "fast", generally missing the whole point of the SafeCurves security analysis, and, as a result of this spectacular failure of reading comprehension, falsely accusing us of missing something. (If readers can miss such basic words as "fast" in a security analysis, do we seriously believe it's safe to assume that readers will see and understand the importance of, say, "C2PRI"?) Apparently some people even think that P-256 is now safe (at least from a completeness perspective). I guess these people also think that, since C++ _allows_ "s.at(i) = c", that's what everybody is using. Sorry, no, the simpler "s[i] = c" option naturally attracts usage. ---D. J. Bernstein ===== NOTICES ===== IETF BCP 78, "Rights Contributors Provide to the IETF Trust", Section 5 (normative), "Rights in Contributions", provides a modification right "unless explicitly disallowed in the notices contained in a Contribution (in the form specified by the Legend Instructions)". The official language from IETF's "Legend Instructions" for the situation that "the Contributor does not wish to allow modifications nor to allow publication as an RFC" is as follows: "This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet-Draft." <https://trustee.ietf.org/wp-content/uploads/Corrected-TLP-5.0-legal-provsions.pdf> The same language is used in, e.g., RFC 5831. The same language hereby applies to this document. This is not disclaiming or limiting the applicability of IETF policies; it is strictly following IETF policies. IESG claims that the "explicitly disallowed" provision in BCP 78 is limited to the examples in Section 3 in BCP 78. That is incorrect. BCP 78 states that Section 5, "Rights in Contributions", is normative, while Section 3, "Exposition of Why These Procedures Are the Way They Are", is informative. The opt-out provision in the normative text is clear, and cannot be limited by an informative section. BCP 78 does not give IESG any authority to issue changes or purported clarifications of the rules. Rationale for exercising the BCP 78 opt-out provision: I'm fine with redistribution of copies of this document. The issue is instead with modification, such as (1) IESG's May 2025 posting of an IESG-mangled version of an appeal that I had filed and (2) IETF management selling IETF mailing-list text to AI companies. This goes far beyond what copyright law allows as fair use (such as giving quotes for purposes of commentary). When I complained about the mangled document, the IETF Executive Director responded not by apologizing but instead by asserting that IETF management had the power to do whatever it wanted.
- [CFRG] RG Last Call on draft-irtf-cfrg-hybrid-kem… Nick Sullivan
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Thom Wiggers
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Russ Housley
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Richard Barnes
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Richard Barnes
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Russ Housley
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Russ Housley
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Ilari Liusvaara
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Simon Josefsson
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Soatok Dreamseeker
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Richard Barnes
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Soatok Dreamseeker
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Soatok Dreamseeker
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Simon Josefsson
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Richard Barnes
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Muhammad Usama Sardar
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Martin Schanzenbach
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Muhammad Usama Sardar
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Muhammad Usama Sardar
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Muhammad Usama Sardar
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Peter Gutmann
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Muhammad Usama Sardar
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Salz, Rich
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Peter Gutmann
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Ilari Liusvaara
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Neil Madden
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… John Mattsson
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Ilari Liusvaara
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Wang Guilin
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Neil Madden
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… D. J. Bernstein
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Deirdre Connolly
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Wang Guilin
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Deirdre Connolly
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Deirdre Connolly
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Deirdre Connolly
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Deirdre Connolly
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Daniel Van Geest
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Rohan Mahy
- [CFRG] Re: RG Last Call on draft-irtf-cfrg-hybrid… Douglas Stebila