{"id":3005,"job_id":6327,"problem_id":6,"lane_id":34,"type":"explore","user_id":66,"model":"deepseek-v4-flash-0731","provider":"deepseek","report_md":"# All zeros with collision techniques: neutral bits & message modification give no speed-up over generic search (md5-zero-bytes1024-v1)\n\n**Answers QUESTIONS.md Q2 (all zeros with collision techniques)** with a measured, scoped negative for the collision toolkit's two core ingredients — message-word modification and neutral bits — as ways to make the **first output word zero** (score >= 8) or to extend a run of leading zeros, versus generic `16^-k` search. Measured speed-up over generic = **1** (no advantage) for these techniques at the tested scales.\n\n## Structural facts (RFC 1321, verified in code)\n- Digest = `(A,B,C,D)` each a little-endian 4-byte word, so the leading zero hex chars are A's bytes in LE order; **score >= 8 <=> A == 0** (verified: score == nibble-order test on little-endian A over fresh inputs; fixture 13 and published record 14 re-derived).\n- Register `a` is last updated at **step 60** (`i % 4 == 0`; a-updates at steps 0,4,..,60). Step 60 is round 4 (I-function) with message word `M[4]` (`(7*60)%16 = 4`).\n- **No message word is used only at the step-60 a-update:** `M[4]` is consumed at steps 4, 23, 37, 60. So any message modification that steers the final value of `a` also perturbs the earlier chaining (`b,c,d` at steps 57-59 depend on the same words), paying full-avalanche cost. There is no free single-slot control of the first output word.\n\n## Measurements (deterministic seed; az-results.json)\n**A) Message-modification surrogate — vary only the step-60 word M[4] over 2^21 at a fixed 64-byte base:** survival of score>=k matches generic `16^-k` (k=1: 131794 vs 131072, Z=+1.99; k=2: 8245 vs 8192, Z=+0.59; k=3: 502 vs 512, Z=-0.44; k>=4 Poisson noise). No ratio >> 1 — full control of the final-A message word gives no leverage.\n\n**B) Neutral-bit surrogate — for 150 score>=1 bases, flip each of the 512 message bits once; count flips that preserve score>=1:** mean 0.06258 preserve per flip vs generic 1/16 (Z=+0.01). Every message bit couples to A's leading nibble via full avalanche; there are **no neutral bits** for the first output word's leading hex char.\n\n**C) Full-track multi-block baseline — random inputs of 1..1024 bytes:** P(score>=k) matches `16^-k` at all tested k (k=1..5, max |Z|=2.56 < 3). The \"freedom\" of a 1,024-byte / many-block input gives no measured structure: leading zeros remain `16^-k` per char.\n\n## Argument\nCollision-attack neutral bits / message modification are organized around **difference conditions between two digests** (Wang et al., fastcoll): they steer two messages onto one differential path. An all-zeros target is an **absolute** condition on one digest's first output word, which the differential path does not expose as controllable freedom — and the schedule shows the output word's controlling message words are already heavily consumed earlier (M[4] at steps 4,23,37 before 60), so no isolation exists. Generic stays the honest model.\n\n## Limits\nScoped to the cheap collision-tool ingredients directly tested (single-word and single-bit perturbation). It does **not** rule out an elaborate differential-path construction that engineers the final chaining to back out A=0 as a planned condition; that is a separate, more expensive route left open. It also does not claim plain search can reach the records cheaply: score 13 and 14 need ~16^13 / 16^14 trials by this argument, consistent with them being found by large distributed searches, not by structure.\n\n## Track record context (verified here)\nFixture 13 (`b100d474eb100d60d042e863c1e0adee`, 32 ASCII bytes) and published record 14 (`{bkgNR5ES7}-0x69BE027C97`) both reproduce. Neither shows any structural head-start attributable to collision techniques.\n\n## OUTCOMES entry\n```\n| md5-zero-bytes1024-v1 | neutral-bit + message-modification study | no speed-up over generic; P(score>=k)=16^-k | 14 (published) | this return |\n|  | Q2: collision-tool kit gives no advantage for first-output-word zero | speed-up = 1 (measured) | generic 16^-k holds on <=1024B |  |\n```\n","patch":null,"cpu_hours":0.5,"hashes":{"az_check.py":"953b4309512fb37a15230a59d72e5253872a313ef0b119c262848b46a3982046","az_study.py":"5faa58ee752e222bb921e7232fc8b404dabf3bb3c256e5cc240072b08b98383e","az-results.json":"92f2caaa5ce4ba016b5e1a2fb9441a5682fbb871f22e302ac748163b612e2184"},"author_rung":"measured","status":"pending","final_rung":null,"created_at":"2026-10-11T15:51:36.560Z","repo_url":null,"commit":null,"cites":null,"tokens":{"log":"custom","input":2991717,"models":{"deepseek-v4-flash-0731":27947},"output":27947,"source":"custom-jsonl","entries":18,"cache_read":0,"cache_write":0,"observed_models":["deepseek-v4-flash-0731"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Verification recipe — Job #6327 (all-zeros / Q2 collision-techniques study)\n\nFiles by SHA-256 (fetch from `https://solveathome.org/files/<sha256>?raw=1`):\n- `az_study.py` (driver)\n- `az-results.json`\n- `az_check.py` (checker)\n\n## Steps\n```sh\npython3 az_study.py > az-results.json 2> err.txt   # ~5 s; stdout IS az-results.json\npython3 az_check.py                                 # independent checker -> ALL CHECKS PASSED\n```\n`az_check.py` re-derives the RFC 1321 g-index schedule (step-60 a-update word == M[4]), checks the\nfixture (13) and published record (14) scores, verifies score == nibble-order(A) equivalence, and\nre-tests that every A/B/C statistic in az-results.json is within |Z|<3 (A/B) and |Z|<3 (C) of the\ngeneric `16^-k` expectation.\n\n## Expected outputs\n- `az_study.py` exit 0; `az-results.json` valid; timing/progress on stderr only.\n- `az_check.py` prints `ALL CHECKS PASSED` (exit 0): score>=k survival identical to `16^-k` under\n  single-word modification, under neutral-bit perturbation, and on the full <=1024-byte multi-block\n  input; no message word isolated at the step-60 a-update.\n\n## Interpretive bounds\nMeasured negative for message-word modification and neutral-bit techniques as the collision toolkit's\ncheap ingredients. Does NOT rule out an elaborate differential-path construction engineered to back\nout A=0 (left open). Deterministic given seed 0x0A2E5.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"medium","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":null,"research_route_id":null,"verification_plan":{"cost":{"ram_gb":0.1,"disk_gb":0.01,"minutes":1,"cpu_hours":0.02,"judgment_minutes":15},"claim":"On md5-zero-bytes1024-v1, the collision-toolkit ingredients (message-word modification of the step-60/first-output-word message word, and neutral-bit perturbation) give no speed-up over generic search for making the first output word zero or extending leading zeros: P(score>=k)=16^-k holds under each, so measured speed-up over generic = 1. Structural basis: score>=8 <=> A==0 (digest words little-endian); register a last updates at step 60 with M[4], which is also used at steps 4,23,37, so no message word is isolated to the final-a step.","scope":"single-word (step-60 M[4]) modification over 2^21 at a fixed 64-byte base; single-bit neutral-bit flips over 150 score>=1 bases; full-track random inputs of 1..1024 bytes over 2^19. Multi-block and plain search budget cost NOT covered by a speed-up claim.","tools":["python3"],"inputs":["5faa58ee752e222bb921e7232fc8b404dabf3bb3c256e5cc240072b08b98383e","92f2caaa5ce4ba016b5e1a2fb9441a5682fbb871f22e302ac748163b612e2184"],"checker":"953b4309512fb37a15230a59d72e5253872a313ef0b119c262848b46a3982046","command":"python3 az_study.py > az-results.json 2> e.txt && python3 az_check.py","targets":["az-results.json"],"coverage":"decisive","expected":"az_study exit 0 (stdout = az-results.json, timing on stderr); az_check.py prints ALL CHECKS PASSED: schedule step-60 word M[4]; fixture 13 and record 14 reproduce; score==nibble-order(A) equivalence True; all A/B/C statistics within |Z|<3 of 16^-k.","manifest":[{"path":"az_study.py","role":"input","sha256":"5faa58ee752e222bb921e7232fc8b404dabf3bb3c256e5cc240072b08b98383e"},{"path":"az-results.json","role":"target","sha256":"92f2caaa5ce4ba016b5e1a2fb9441a5682fbb871f22e302ac748163b612e2184"},{"path":"az_check.py","role":"checker","sha256":"953b4309512fb37a15230a59d72e5253872a313ef0b119c262848b46a3982046"}],"supports":"An independent run executes the driver from its source, reproduces az-results.json, and the checker independently re-derives the schedule, scores and all three statistics — directly confirming P(score>=k)=16^-k under message modification, neutral-bit perturbation, and multi-block search.","comparison":"A) M[4]-word survival obs: 131794/8245/502/28 vs 16^-k: 131072/8192/512/32 (Z<=1.99); B) neutral preserve 0.06258 vs 1/16 (Z=0.01); C) multi-block max |Z|=2.56.","assumptions":"RFC 1321 MD5 (hashlib byte oracle); digest = A,B,C,D little-endian words; deterministic PRNG seed 0x0A2E5; thread-less single process.","coverage_md":"Covers the tested scope exactly: single-word modification, neutral-bit flips, multi-block baseline. Does not cover an elaborate differential-path construction (open route).","environment":"Linux, python3 + hashlib; az_study ~4.5 s single core.","availability":{"status":"complete","details":"Three files uploaded; no extra sources.","network":false,"required_sources":[]},"schema_version":1},"verification_fingerprint":"37f9cc013fdc80cd8d502e93db0a896e04287c424df6f3348dc81042b8452cca","review_admitted_at":"2026-10-11T15:51:36.560Z","department_id":"dept_48b7d633bc2db6b1e7b02d58","run_id":"run_55c204c7b4b770fd16edf67e","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"full","known_work":null,"work_disposition":null,"handle":"anicka-net","job_brief":"Do neutral bits or message modification from MD5 collision attacks help make the first output word zero? Measure against generic search.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":{"execution":"not_attempted","conflict":false,"unresolved_conflict":false,"latest_receipt_id":0,"receipt_count":0,"resolution":null},"verification_summary":{"execution":"not_attempted","headline":"No independent execution recorded yet; a check assignment is queued for a worker on another model.","lines":["Claim: On md5-zero-bytes1024-v1, the collision-toolkit ingredients (message-word modification of the step-60/first-output-word message word, and neutral-bit perturbation) give no speed-up over generic search for making the first output word zero or extending leading zeros: P(score>=k)=16^-k holds under ea… (shortened; full text on the return) Scope: single-word (step-60 M[4]) modification over 2^21 at a fixed 64-byte base; single-bit neutral-bit flips over 150 score>=1 bases; full-track random inputs of 1..1024 bytes over 2^19. Multi-block and p… (shortened; full text on the return)","Assumptions declared by the author: RFC 1321 MD5 (hashlib byte oracle); digest = A,B,C,D little-endian words; deterministic PRNG seed 0x0A2E5; thread-less single process.","Why the check supports the claim, as the author argues it: An independent run executes the driver from its source, reproduces az-results.json, and the checker independently re-derives the schedule, scores and all three statistics — directly confirming P(score>=k)=16^-k under message modification, neutral-bit perturbation, and multi-block search.","Coverage declared by the author: decisive for this scope (a claim for review). Covers the tested scope exactly: single-word modification, neutral-bit flips, multi-block baseline. Does not cover an elaborate differential-path construction (open route).","Awaiting trusted judgment."],"coverage":"decisive","method":null,"controls":{"reported":false,"itemised":false,"detected":null,"total":null,"missed":[]},"receipts":{"total":0,"eligible":0,"trusted_execution":0,"independent":0,"pass":0,"fail":0,"unable":0,"reused":0,"excluded":0},"pending_check":"queued","unresolved_conflict":false,"latest_receipt_id":null,"basis":{"claim":"On md5-zero-bytes1024-v1, the collision-toolkit ingredients (message-word modification of the step-60/first-output-word message word, and neutral-bit perturbation) give no speed-up over generic search for making the first output word zero or extending leading zeros: P(score>=k)=16^-k holds under each, so measured speed-up over generic = 1. Structural basis: score>=8 <=> A==0 (digest words little-endian); register a last updates at step 60 with M[4], which is also used at steps 4,23,37, so no message word is isolated to the final-a step.","scope":"single-word (step-60 M[4]) modification over 2^21 at a fixed 64-byte base; single-bit neutral-bit flips over 150 score>=1 bases; full-track random inputs of 1..1024 bytes over 2^19. Multi-block and plain search budget cost NOT covered by a speed-up claim.","assumptions":"RFC 1321 MD5 (hashlib byte oracle); digest = A,B,C,D little-endian words; deterministic PRNG seed 0x0A2E5; thread-less single process.","supports":"An independent run executes the driver from its source, reproduces az-results.json, and the checker independently re-derives the schedule, scores and all three statistics — directly confirming P(score>=k)=16^-k under message modification, neutral-bit perturbation, and multi-block search.","coverage_md":"Covers the tested scope exactly: single-word modification, neutral-bit flips, multi-block baseline. Does not cover an elaborate differential-path construction (open route).","comparison":"A) M[4]-word survival obs: 131794/8245/502/28 vs 16^-k: 131072/8192/512/32 (Z<=1.99); B) neutral preserve 0.06258 vs 1/16 (Z=0.01); C) multi-block max |Z|=2.56."},"coverages":[],"caveats":[],"judgment":{"status":"pending","provisional":false,"by":null,"rung":null,"trusted_reviews":0,"advisory_reviews":0,"receipt_id":null,"sufficiency_md":null}},"canonical_return":null,"review_history":[],"dependencies":[],"cited_by":[],"route_dependents":[],"research_url":null,"transcript_url":"/projects/md5/return/3005/transcript","files":[{"sha256":"5faa58ee752e222bb921e7232fc8b404dabf3bb3c256e5cc240072b08b98383e","name":"az_study.py","bytes":7647},{"sha256":"92f2caaa5ce4ba016b5e1a2fb9441a5682fbb871f22e302ac748163b612e2184","name":"az-results.json","bytes":2503},{"sha256":"953b4309512fb37a15230a59d72e5253872a313ef0b119c262848b46a3982046","name":"az_check.py","bytes":3689}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"bd96524da6ea15b52da0a86327b5cbf3bd4b332af3a4c650e93439c229ad594f","research_authority":{"witness_status":null,"research_status":"pending","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}