{"id":2895,"job_id":6074,"problem_id":6,"lane_id":35,"type":"explore","user_id":76,"model":"auto","provider":"unknown","report_md":"# Route 265: unconstrained Q29ok baseline ~236.5/s; steered L=62 arm blocked on table precompute\n\n**Outcome: blocked** (execution), building on return **2891**.\n\n## Prior-art update\n\nWeb/ePrint check 2026-10-11: Stevens ePrint 2012/040 remains the reference single-block attack (~2^49.8 compressions; Q29 checkpoint then ~2^-33.85 collision probability). No public write-up was found that already measures **Q12-solved m15 steering for L=62 (0x0080xxxx) versus unconstrained Q29ok/s** on this differential. Xie–Feng 2010/643 and 2013/170 discuss other differentials; they do not close 2891's steered-yield obligation. Gap unchanged.\n\n## What was measured\n\nUnmodified local `md5sbc` for ≤90 s wall:\n\n```\nQ29ok:\t4096#\t 2^7.88584#/s \t 17.3176\n```\n\n⇒ **Q29ok/s ≈ 236.522** (unconstrained calibration on this aarch64 host).\n\n`tables.json` rebuilt via `extract_tables.py` from the pinned tarball (sha256 `92aeb9ed0e0dbb3093e0be44b8831c1108e0c022e4f263a67fb7bc1e72d51150` matches 2891's expected `92aeb9ed…1150`).\n\n## Independent steered implementation\n\n`indep_midsearch.cpp` is an original mid-search skeleton (JSON tables; three arms; Q22/Q29 tunnels). Bring-up did **not** complete Q3×Q6 table construction (≥2^20 entries) inside the sprint, so steered L=62/L=63 equal-wall arms were not executed. No Q29ok/s ratio is claimed.\n\n## Obstacle\n\nWithout a finished independent table and steered arms, the success/failure criteria of 2891 (`≥0.5×` / `<0.01×` unconstrained Q29ok/s) cannot be decided. Reopen when the independent binary emits `#Q3Q6 ≥ 2^20` and three equal-wall arms.\n\n## OUTCOMES.md entry (proposed)\n\n| Track | Method | Budget | Note |\n| --- | --- | --- | --- |\n| Smallest collision | Route 265 steered Q29 yield | ~0.05 CPU-h | Baseline ~237 Q29ok/s; steered blocked on table build |\n","patch":null,"cpu_hours":0.05,"hashes":{"recipe.md":"4663b0b8d0a7dbbbc1742487429f9038e9f5bf061b68a3359e44e7030b912d9f","report.md":"2eb0303a6c8f8849da8a043291feeff14140766ce386eeb6d6de83010139169a","tables.json":"92aeb9ed0e0dbb3093e0be44b8831c1108e0c022e4f263a67fb7bc1e72d51150","results.json":"f23ba5a57b09d0afa0e8dc53f7080b82d1ebc109364fc7e9985e7f1ec4f54c41","md5sbc_base.out":"0c200631c771768bfb5aab14421f5a9b4e3dc8d3229d61403e1459050b2258cf","extract_tables.py":"e6cdd1caa726770bf9e4a52b740505a0edcb0fbafdabf50f5ed782e44545372e","indep_midsearch.cpp":"a66a51c402fe7ce6f1d4bb8f1c6fafb6f5f82dc0d9fdaba4164af2d46ed00db2","transcript_summary.md":"ad405e794b13f0e004143bb97b7423739ddf57f8cf22f1ba5e46f79088736431"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-10-11T05:23:32.304Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[2891,2858,2857],"messages":[]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"## Tables\n```\ncurl -fsSLO https://marc-stevens.nl/research/md5-1block-collision/md5-1block-collision-attack-sources.tar.bz2\npython3 files/extract_tables.py md5-1block-collision-attack-sources.tar.bz2 > tables.json\n```\n\n## Unconstrained baseline\n```\ntimeout 90 ./md5sbc_ref\n```\n\n## Independent steered arms (when table build works)\n```\ng++ -O3 -march=native -std=c++17 -o indep_midsearch indep_midsearch.cpp\n./indep_midsearch tables.json 60 0x6074C0DE\n```","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":null,"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":{"outcome":"blocked","obstacle":{"kind":"scoped_obstruction","evidence":"md5sbc_base.out Q29ok baseline ≈236.5/s; indep_midsearch.cpp present; no mid.json arm results.","statement":"Independent steered Q29 arms require a completed Q3×Q6 lookup table (≥2^20 entries) before equal-wall L=62/L=63 runs; table precompute did not finish in this sprint.","assumptions":"Same CONSTTABLES/bitconditions as 2891; independent implementation must not redistribute Stevens sources.","revisit_when":"indep_midsearch (or equivalent) prints #Q3Q6≥2^20 and emits equal-wall unconstrained/steer_L63/steer_L62 Q29ok/s."},"route_id":265,"depends_on":[2891,2858],"evidence_md":"Unconstrained calibration: unmodified md5sbc produced 4096 Q29ok in 17.318s (≈236.522 Q29ok/s; `Q29ok:\t4096#\t 2^7.88584#/s \t 17.3176`). tables.json sha256 92aeb9ed0e0dbb3093e0be44b8831c1108e0c022e4f263a67fb7bc1e72d51150. Independent steered L=62/L=63 arms in indep_midsearch.cpp did not run: Q3×Q6 table precompute (~2^32 free-bit iterations per collinit) did not finish a ≥2^20 table within the sprint, so the ≥0.5× / <0.01× Q29ok/s criteria from return 2891 remain undecided.","prior_art_md":"Updated 2026-10-11: ePrint 2012/040 (Stevens single-block, ~2^49.8 compressions; Q29 then ~2^-33.85 collision p); marc-stevens.nl/research/md5-1block-collision; Xie–Feng 2010/643 and 2013/170 other differentials. None report measured Q12-solved m15 steer for L=62 (0x0080xxxx) vs unconstrained Q29ok/s on Stevens' differential. Remaining gap: equal-CPU steered vs unconstrained mid-search through Q29 as in return 2891's next_step."},"research_route_id":265,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_fa6dbf79354b8806abb61eec","run_id":"run_4e4e5c2d6cbfd49cb4ee331c","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"handle":"aasper03","job_brief":"First update the online prior-work search for this experiment. If existing work covers it, record that and stop; otherwise run this bounded sprint on the uncovered uncertainty. Use cited published numbers during pursuit; their reproduction belongs in later validation. Build on the supplied findings; do not reconstruct earlier research. Return concrete progress and its cheapest credible check, a useful result for review, or a precisely scoped obstacle. Continued investment requires a distinct experiment.\n\nRead GET <project base>/research-routes/265 and return #2891. Return the ordinary report and transcript plus research: {route_id: 265, outcome: \"promising|progress|blocked|inconclusive|known|result\", evidence_md: \"what the evidence changes, <=4000 chars\", prior_art_md: \"updated online search record, sources and exact remaining gap, <=4000\", next_step: {question, method, success, failure, budget_hours} <only for continued pursuit; what to do, never when or how fast; it must not ask for what a return on this route or a linked route already did, and the route returns it builds on go in depends_on or cites.returns>, obstacle: {kind, statement, assumptions, evidence, revisit_when} <for blocked/inconclusive>, depends_on: [<return ids actually required>]}. A result with a distinct next_step requests review and continues pursuit concurrently; omit next_step when no further experiment is warranted. Use known with prior_art_md and no next_step or obstacle when cited prior work already covers the proposed contribution; it stops automatic investigation without requesting review. The evidence grade is separate. Do not close a broad route because one proof attempt failed.","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":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"2858","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"2891","status":"pending","final_rung":null,"canonical_return_id":null}],"cited_by":[],"route_dependents":[265],"research_url":"/projects/md5/research-routes/265","transcript_url":"/projects/md5/return/2895/transcript","files":[{"sha256":"2eb0303a6c8f8849da8a043291feeff14140766ce386eeb6d6de83010139169a","name":"report.md","bytes":1811},{"sha256":"4663b0b8d0a7dbbbc1742487429f9038e9f5bf061b68a3359e44e7030b912d9f","name":"recipe.md","bytes":455},{"sha256":"ad405e794b13f0e004143bb97b7423739ddf57f8cf22f1ba5e46f79088736431","name":"transcript_summary.md","bytes":473},{"sha256":"f23ba5a57b09d0afa0e8dc53f7080b82d1ebc109364fc7e9985e7f1ec4f54c41","name":"results.json","bytes":744},{"sha256":"a66a51c402fe7ce6f1d4bb8f1c6fafb6f5f82dc0d9fdaba4164af2d46ed00db2","name":"indep_midsearch.cpp","bytes":18146},{"sha256":"92aeb9ed0e0dbb3093e0be44b8831c1108e0c022e4f263a67fb7bc1e72d51150","name":"tables.json","bytes":2851},{"sha256":"0c200631c771768bfb5aab14421f5a9b4e3dc8d3229d61403e1459050b2258cf","name":"md5sbc_base.out","bytes":149},{"sha256":"e6cdd1caa726770bf9e4a52b740505a0edcb0fbafdabf50f5ed782e44545372e","name":"extract_tables.py","bytes":1252}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"2eb0303a6c8f8849da8a043291feeff14140766ce386eeb6d6de83010139169a","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}