kxco-post-quantum 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.6.2
4
+
5
+ No change to the cryptography, the exports or the wire format. This release
6
+ exists because the evidence describing them was wrong.
7
+
8
+ **The interoperability report contradicted itself.** Every check wrote its
9
+ failure sentence unconditionally while `ok` was computed separately, so a
10
+ passing tamper control published `{"ok": true, "detail": "peer accepted a
11
+ tampered signature"}`, and a passing byte-equality check published
12
+ "deterministic signatures differ" followed by two identical values. 150 passing
13
+ checks in the last bundle carried text that reads as a security failure. Every
14
+ check now takes its sentence from its outcome.
15
+
16
+ **The evidence bundle could not be built in CI, and never had been.** The
17
+ workflow ran `npm ci` and nothing else: no ACVP vector fetch, no Java, no
18
+ pinned Python peers, no liboqs image. Eight runs, both runtimes, all failed at
19
+ the same step, so the only bundle an assessor could reach was hand-built from
20
+ an uncommitted working tree. The workflow now does the setup its sibling always
21
+ did, and the build starts from an empty directory rather than inheriting files
22
+ from the run before it.
23
+
24
+ **OpenSSL changed its default ML-DSA private key encoding in a patch release.**
25
+ 3.5.6 writes the 54-byte seed form, 3.5.7 the 4098-byte expanded form. FIPS 204
26
+ allows either and this package still writes the seed form, which 3.5.7 continues
27
+ to accept. The conformance test compared our bytes against whatever OpenSSL
28
+ preferred, so it began failing on a change that was not ours. It now holds the
29
+ byte-identity claim where OpenSSL writes seeds, and asserts that OpenSSL parses
30
+ our seed form to the same seed and public key where it does not.
31
+
32
+ **The dependency audit failed on its own regex**, matching an import specifier
33
+ inside a string in an error message and reporting an unresolvable module named
34
+ `priv`. Same 39 files from 12 entry points, same verdicts, no false failure.
35
+
3
36
  ## 1.6.0
4
37
 
5
38
  Additive. No existing export changes shape in a way a caller can observe, no
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kxco-post-quantum",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "ML-DSA-65, ML-KEM-768 and SLH-DSA-SHA2-192s with key fingerprinting. OpenSSL 3.5 primitives on Node 24+, JavaScript elsewhere. 2,103 NIST ACVP vectors and 225 cross-implementation interop checks, 0 failed. Reproducible builds and SLSA provenance.",
5
5
  "keywords": [
6
6
  "post-quantum",