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.
- package/CHANGELOG.md +33 -0
- 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.
|
|
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",
|