Runda 11 a reviziei prozei (2026-10-28): anchor/README (treapta 5, clientul 2), tools/verify-proof.mjs (prefixul de integritate), vectors/SURSE.md in engleza, declaratia de citari

This commit is contained in:
Aere Network 2026-10-29 00:25:55 +02:00
parent 521210c71b
commit 3b06139f6d
4 changed files with 18 additions and 15 deletions

View File

@ -13,7 +13,7 @@ Paths that DO resolve are written relative to a side-by-side checkout of the Aer
repositories, so they begin with a repository name, for example repositories, so they begin with a repository name, for example
`aere-contracts/contracts/pqc/AereCryptoRegistry.sol`. `aere-contracts/contracts/pqc/AereCryptoRegistry.sol`.
Unresolvable distinct paths in this repository: **23**. Unresolvable distinct paths in this repository: **22** (23 when measured on 2026-10-21; on 2026-10-28 `vectors/SURSE.md` was translated into English and no longer cites an internal tool, so its entry was removed).
- `admission-params.json` cited in: aere-node/validator/README.md - `admission-params.json` cited in: aere-node/validator/README.md
- `aere-candidacy.json` cited in: aere-node/RUN-A-NODE.md, aere-node/validator/README.md - `aere-candidacy.json` cited in: aere-node/RUN-A-NODE.md, aere-node/validator/README.md
@ -33,7 +33,6 @@ Unresolvable distinct paths in this repository: **23**.
- `registry-v3-20836228.json` cited in: aere-node/validator/README.md - `registry-v3-20836228.json` cited in: aere-node/validator/README.md
- `RESULT.txt` cited in: aere-node/SPEC.md - `RESULT.txt` cited in: aere-node/SPEC.md
- `scripts/deschise/antetul-osaka-e-al-lantului.sh` cited in: aere-node/SPEC.md - `scripts/deschise/antetul-osaka-e-al-lantului.sh` cited in: aere-node/SPEC.md
- `scripts/poarta-secrete.cjs` cited in: aere-node/vectors/SURSE.md
- `static-nodes.json` cited in: aere-node/README.md, aere-node/validator/README.md - `static-nodes.json` cited in: aere-node/README.md, aere-node/validator/README.md
- `strategie/VERIFICARE-FORMALA-2026-08-24.md` cited in: aere-node/SPEC.md - `strategie/VERIFICARE-FORMALA-2026-08-24.md` cited in: aere-node/SPEC.md
- `testnet-public/CITESTE-MA.md` cited in: aere-node/SPEC.md - `testnet-public/CITESTE-MA.md` cited in: aere-node/SPEC.md

View File

@ -225,7 +225,7 @@ proposal without a valid Falcon seal from its own proposer does not open a round
its own domain over (chainId, height, round, digest), so an honest proposal seal cannot be replayed its own domain over (chainId, height, round, digest), so an honest proposal seal cannot be replayed
as a vote nor a vote seal as a proposal - both directions are tested. The ROUND-CHANGE message as a vote nor a vote seal as a proposal - both directions are tested. The ROUND-CHANGE message
carries its own seal since 2026-08-31 (its embedded justifications are coupled to PREPARE carries its own seal since 2026-08-31 (its embedded justifications are coupled to PREPARE
enforcement). What remains classical on chain 2800: node-level devp2p authentication, the ECDSA commit seals that every header still carries until AIP-22 stage 5, the ECDSA commit seal that a commit carries besides its post-quantum seal, and the ECDSA envelope that every consensus message still carries on the wire, whose form both clients judge but which, since block 24,300,000 (AIP-22 stage 4), no longer names its author (this sentence corrected on 2026-10-28: it did not name the envelope; AIP-22, note of 2026-10-27 under section 5). The validators are named in enforcement). What remains classical on chain 2800: node-level devp2p authentication, the ECDSA commit seals that every header still carries until AIP-22 stage 5, the ECDSA commit seal that a commit carries besides its post-quantum seal, and the ECDSA envelope that every consensus message still carries on the wire, whose form both clients judge and which, since block 24,300,000 (AIP-22 stage 4), no longer names its author on the Besu-derived validators (this sentence corrected on 2026-10-28: it did not name the envelope; AIP-22, note of 2026-10-27 under section 5). The validators are named in
consensus by the post-quantum ids of AIP-22 since block 20,836,228 (stage 3, 2026-09-30); that code is in this directory. consensus by the post-quantum ids of AIP-22 since block 20,836,228 (stage 3, 2026-09-30); that code is in this directory.
(Corrected 2026-10-22: until that date this sentence also listed validator identity as classical and said that the (Corrected 2026-10-22: until that date this sentence also listed validator identity as classical and said that the
post-quantum identity was unarmed on chain 2800 and ran only on testnet 28001.) post-quantum identity was unarmed on chain 2800 and ran only on testnet 28001.)

View File

@ -109,7 +109,11 @@ export function local(env, notJson = null) {
const text = String(JSON.stringify(st)); const text = String(JSON.stringify(st));
const h = '0x' + crypto.createHash('sha256').update(Buffer.from(text, 'utf8')).digest('hex'); const h = '0x' + crypto.createHash('sha256').update(Buffer.from(text, 'utf8')).digest('hex');
const ok = h === sh.toLowerCase(); const ok = h === sh.toLowerCase();
out.push(level('integrity', ok ? 'PASSED' : 'FAILED', ok ? `sha256(statement) == statementHash (${h.slice(0, 18)}..)` : `sha256(statement) is ${h.slice(0, 18)}.., not the statementHash ${sh.slice(0, 18)}..`)); // on a refusal the two values shown must visibly differ: the prefix runs to the first differing hex digit (a hash changed in its last
// digit printed as two identical 16-digit prefixes until 2026-10-28)
let d = 2; while (d < h.length && h[d] === sh.toLowerCase()[d]) d++;
const n = Math.max(18, d + 1), cut = (x) => x.slice(0, n) + (n < x.length ? '..' : '');
out.push(level('integrity', ok ? 'PASSED' : 'FAILED', ok ? `sha256(statement) == statementHash (${h.slice(0, 18)}..)` : `sha256(statement) is ${cut(h)}, not the statementHash ${cut(sh)}`));
return { out, text: ok ? text : null }; return { out, text: ok ? text : null };
} }

View File

@ -1,14 +1,14 @@
# SURSE: de unde vin vectorii de proba din acest director # SOURCES: where the test vectors in this directory come from
Act de provenienta cerut de poarta de secrete (`scripts/poarta-secrete.cjs`, clasa COD TERT): fiecare fisier Statement of provenance. Every file here is a fixture PUBLISHED by NIST or by the reference team of
de aici e o fixtura PUBLICATA de NIST sau de echipa de referinta a schemei, copiata in pachet ca sa poata fi the scheme, copied into the package so that anyone can run it against the live precompiles
rulata de oricine impotriva precompilelor vii (`scripts/verify-live-precompiles.mjs`). Cheile publice si (`scripts/verify-live-precompiles.mjs`). The public keys and signatures in these files belong to the
semnaturile din ele sunt ale vectorilor de proba, nu ale nimanui de la Aere Network. Provenienta de mai jos test vectors, not to anyone at Aere Network. The provenance below is read from the `katSource` field
e citita din campul `katSource` al fiecarui fisier, scris 2026-09-02. of each file, written on 2026-09-02.
| fisier | schema | sursa declarata in fisier | sha256 (16) | | file | scheme | source declared in the file | sha256 (first 16 hex digits) |
|---|---|---|---| |---|---|---|---|
| `falcon1024_kat0.json` | NIST Falcon-1024 (round-3), official KAT vector 0 and 1 | falcon1024-KAT.rsp (Falcon round-3 NIST submission) | `5f430ea31548fde0` | | `falcon1024_kat0.json` | NIST Falcon-1024 (round 3), official KAT vectors 0 and 1 | falcon1024-KAT.rsp (Falcon round-3 NIST submission) | `5f430ea31548fde0` |
| `falcon512_kat0.json` | NIST Falcon-512 (round-3), KAT oficial | fisierul nu poarta camp `katSource`; `README.md` (randul "official NIST Falcon KAT vector 0 for both parameter sets") il declara vectorul KAT 0 al trimiterii Falcon round-3, ca si perechea lui `falcon1024_kat0.json` | `5011efbb97f68027` | | `falcon512_kat0.json` | NIST Falcon-512 (round 3), official KAT | the file carries no `katSource` field; `README.md` (the line "official NIST Falcon KAT vector 0 for both parameter sets") declares it KAT vector 0 of the Falcon round-3 submission, like its pair `falcon1024_kat0.json` | `5011efbb97f68027` |
| `mldsa44-acvp-tg8.json` | ML-DSA-44 (Dilithium2), FIPS 204 | NIST ACVP ML-DSA-sigVer-FIPS204 test vectors | github.com/usnistgov/ACVP-Server | gen-val/json-files/ML-DSA-sigVer-FIPS204 | `d9850650abdf446c` | | `mldsa44-acvp-tg8.json` | ML-DSA-44 (Dilithium2), FIPS 204 | NIST ACVP ML-DSA-sigVer-FIPS204 test vectors, github.com/usnistgov/ACVP-Server, gen-val/json-files/ML-DSA-sigVer-FIPS204 | `d9850650abdf446c` |
| `sphincs-sha2-128s-acvp-tg31.json` | SLH-DSA-SHA2-128s (SPHINCS+-SHA2-128s-simple), FIPS 205 | NIST ACVP SLH-DSA-sigVer-FIPS205 test vectors | github.com/usnistgov/ACVP-Server | gen-val/json-files/SLH-DSA-sigVer-FIPS205 | `943811677f3a2549` | | `sphincs-sha2-128s-acvp-tg31.json` | SLH-DSA-SHA2-128s (SPHINCS+-SHA2-128s-simple), FIPS 205 | NIST ACVP SLH-DSA-sigVer-FIPS205 test vectors, github.com/usnistgov/ACVP-Server, gen-val/json-files/SLH-DSA-sigVer-FIPS205 | `943811677f3a2549` |