Each family whose corpus lacked them gets the three signatures a verifier that checks only the equation accepts and WAI's rule refuses (wai_sig::forgeries): the identity as the key with (R, S) = (B, 1), the identity spelled y = p + 1, and R of small order under the base point. Every case is new; no existing vector's expectation changes. - jwp: group_signer_key_identity_forged, group_signer_key_identity_y_not_reduced (step 1, bad_signer_key), group_signature_r_small_order (step 2). - signer: anchor_root_identity_forged, anchor_root_identity_y_not_reduced, anchor_root_signature_r_small_order (not anchored, key_log_signature_invalid). - pack: mutations receipt-key-identity, receipt-key-identity-y-not-reduced, receipt-r-small-order (receipt-signature); receipts/ v1-key-identity, v1-key-identity-y-not-reduced, v1-r-small-order, marked "signature": "refused", which wai-pack and pack_verify.py now read. - quantum-ops: cal_q3_ and job_bell_ key_identity, key_identity_y_not_reduced and r_small_order, "verifies": false, which wai_quantum_ops_vectors checks are refused and hash as pinned. claim (signer_key_identity, signer_key_identity_y_not_reduced, signature_r_small_order and others) and http (sig-key-identity, -long, sig-r-small-order) had them already. OER/2 keeps its own rule. PackageReceipt::signing_payload (v1) and the calibration and job receipts' signing_payload are public, so a corpus generator can sign over them; wai-quantum re-exports wai_sig beside ed25519_dalek. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
No EOL
1.3 KiB
JSON
1 line
No EOL
1.3 KiB
JSON
{"asset_id":"asset","energy_provenance":null,"grant":{"capability":"video.package","funds_ceiling":null,"grant_hash":"0000000000000000000000000000000000000000000000000000000000000000","joule_ceiling_micro":null},"joules_micro":0,"kind":"package","parent_receipt_hash":"0303030303030303030303030303030303030303030303030303030303030303","receipt_hash":"60731f7c63ea66eb14850f2578714ed83548914f5722ce1f1400416d03523106","segment_map_root":"941704ebc6c0adc3394ebda28f50b3d6cf38cfc0fcd265a861d002365294829f","segments":[{"byte_len":16,"content_hash":"9f63cd63fcfb34a53f2113045123c0309bef7f8eb74dc1ccda2c17c1369558ab","duration_ms":2000,"index":0},{"byte_len":16,"content_hash":"6897f7480bfd8cc5aaefaf33912d5f643ec6eae4450b593e98cd2ec4de18bcf2","duration_ms":2000,"index":1},{"byte_len":16,"content_hash":"864d8e31f5b44bde825e01963d73d6047b7acfae6ddaa64aa85ff0a47995e176","duration_ms":2000,"index":2},{"byte_len":16,"content_hash":"6897f7480bfd8cc5aaefaf33912d5f643ec6eae4450b593e98cd2ec4de18bcf2","duration_ms":2000,"index":3}],"sig":"58666666666666666666666666666666666666666666666666666666666666660100000000000000000000000000000000000000000000000000000000000000","signer_id":"o","signer_pubkey":"0100000000000000000000000000000000000000000000000000000000000000","stored_bytes":48,"total_bytes":64,"total_segments":4,"unique_segments":3,"version":1,"work_segment_ops":4} |