@@ -81,19 +81,23 @@ documented in [ALGORITHMS.md](ALGORITHMS.md).
8181Starting with version 3.5, OpenSSL natively implements a growing set of
8282standardized PQ algorithms (e.g., ML-KEM, ML-DSA and SLH-DSA) in its default
8383provider. Because these implementations are more advanced and better maintained
84- than the equivalent facilities in ` oqsprovider ` , the following simple rule
85- applies:
86-
87- > ** If any PQ algorithm or algorithm component is standardized, that algorithm
88- > is not available via ` oqsprovider ` when running in OpenSSL >= 3.5.**
89-
90- This covers both the pure algorithms and any hybrid built from a component that
91- OpenSSL already provides. Hybrid or experimental algorithms whose components are
92- * not* yet implemented in OpenSSL remain available through ` oqsprovider ` .
93-
94- Everyone interested in testing any of these standardized PQ algorithms (pure as
95- well as hybrid) via ` oqsprovider ` must therefore do so in an OpenSSL version
96- ` >= 3.2 ` and ` < 3.5 ` .
84+ than the equivalent facilities in ` oqsprovider ` , the following rule applies:
85+
86+ > ** A PQ algorithm is not available via ` oqsprovider ` on OpenSSL >= 3.5 if
87+ > OpenSSL's own default provider already implements that exact algorithm.**
88+
89+ The rule keys on the algorithm as a whole, not on its components. It applies to
90+ the standardized pure algorithms (ML-KEM, ML-DSA and SLH-DSA) and to any
91+ standardized hybrid algorithm that OpenSSL ships natively (currently the hybrid
92+ KEMs ` X25519MLKEM768 ` , ` SecP256r1MLKEM768 ` and ` SecP384r1MLKEM1024 ` ).
93+ A hybrid remains available through ` oqsprovider ` as long as OpenSSL does not
94+ implement that specific combination, even when one of its components is
95+ standardized: for example, ` x25519_mlkem512 ` and ` p256_mlkem512 ` stay available
96+ even though OpenSSL provides their ` ML-KEM-512 ` component.
97+
98+ Everyone interested in testing any of the disabled standardized PQ algorithms
99+ (pure as well as hybrid) via ` oqsprovider ` must therefore do so in an OpenSSL
100+ version ` >= 3.2 ` and ` < 3.5 ` .
97101
98102> [ !NOTE]
99103> A concrete consequence is that SLH-DSA cannot be used for TLS via
0 commit comments