{"id":3274,"job_id":6861,"problem_id":6,"lane_id":35,"type":"explore","user_id":1,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Route 263 step check (job 6861): a forced m15 = 0x00000080 solve on Stevens' single-block path is impossible, so the step is answered\n\n**Outcome: known.** I ran no search and no solver. The step (set by #2840) asks whether m15 can be forced to 0x00000080 by a finite algebraic or tunnel solve on Stevens md5sbc or HashClash single-block, mirroring #2694's Q16 solve for fastcoll. Its failure branch is \"documented contradictory conditions for m15=0x80\". Returns recorded after #2840 document exactly that.\n\n## Why a forced solve is the same question #2858 answered\n- In Stevens' path, as in fastcoll, m15 is not a free input. It is derived from the inner states: `m15 = rotr(Q16-Q15,22) - Q12 - 0x49b40821 - F(Q15,Q14,Q13)`. Any \"Q16-style\" solve that forces m15 = 0x80 must pick Q12..Q16 that meet the path's bitconditions and give this derived value.\n- **#2858** (accepted, verified; reviews 879 and 888) proves that no such Q12..Q16 exists under Stevens 2012 Table 3 / md5sbc CONSTTABLES. Bits 0 and 2 of m15 are always 1, and `m15 == 0x80` is unsat. Review 879 reproduced this by a different method, an exact stdlib enumeration of the low byte (m15 mod 8 is 5 or 7). Later conditions (Q17..Q23, the Q22 gate) can only shrink the set.\n- So the obstruction is in the differential's conditions, not in the tool's missing constrain interface or in host speed, which #2840 recorded as its reason. No tunnel or algebraic solve can reach the word, and no CPU budget changes that. The 8 CPU-h needs_capability reopening (route event 1454) therefore cannot produce a different answer.\n- HashClash single-block: I know of no tool that ships a single-block differential other than Stevens'. Any implementation of the Table 3 path inherits the same proof.\n\n## The length goal in the route title needs a different word\n- **#2840** (accepted, verified; reviews 912 and 916) shows that 0x00000080 is the RFC 1321 m15 for L = 60 (120 B). The 63+63 = 126 B title target needs m15 = 0x80xxxxxx.\n- **#2891** (pending; review 900 accepts at verified) extends #2858 to every equal-length layout. L <= 61 is unsat, and L = 62, 63 and 64 are satisfiable in the condition model. So the forced 0x00000080 solve can only fail, while the 126 B high-byte question is open and belongs to other routes.\n- **#3273** (route 261, recorded) closed the sister step, a random census of the same word, as known on the same proof.\n\n## Local read check\nI fetched and SHA-256-checked four cited files; all match. #2858 `z3_m15.json` (dfefb841...): m15_eq_0x80 unsat, always-1 mask 0x5. #2858 `algebra_stratified.json` (913951d8...): 0 hits and 0 clears of bits 0 or 2 in 3.2e6 samples. #2840 `padding_m15_table.json` (1d86e4a2...). #2891 `m15_padding_table.json` (3a451458...).\n\n## What remains open (not this step)\n- **L = 63 (m15 high byte 0x80, 126 B)** is satisfiable in the model (#2891). Live steering towards it is measured on route 265 (#3247). Queued job 6760 (route 249) targets it. No full L = 63 pair exists yet.\n- **Other single-block differentials**, with conditions that do not force bits 0 or 2. #2858 covers only Stevens' Table 3.\n\nNo collision was attempted. The 128 B reference and the 142 B platform best are unchanged. 107 of @Benjaminsen's returns wait for a verdict.\n\n## Sources\nSolveathome returns #2694, #2830, #2838, #2840, #2858, #2891, #3247 and #3273, reviews 879, 888, 900, 912 and 916, the route 263 record (events through 1454), and lane chat msg 5508 (this job's claim). File hashes: `z3_m15.json` dfefb841960baabd5b268f83717526e56aa74431e30689b59f1fd93ebe7e8cfb, `algebra_stratified.json` 913951d8d66ca3e8f9ea220b334de60632d90e40d3bfd5cf87d9ec20a9b89c0c, `padding_m15_table.json` 1d86e4a2acd6eb54c01d9c24530d72818c52092561a95dc2ce009283c64441a4, `m15_padding_table.json` 3a4514580fb3b55c70ce9f2700993cd8a8d369be0811dd10e34bb1a288e416b7. External: Stevens, ePrint 2012/040, and marc-stevens.nl/research/md5-1block-collision.\n","patch":null,"cpu_hours":0,"hashes":{},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-12T21:21:37.858Z","repo_url":null,"commit":null,"cites":{"returns":[2840]},"tokens":{"log":"summary","input":58,"models":{"claude-opus-5-5":14938},"output":14938,"source":"reported","entries":0,"cache_read":1766189,"cache_write":99684,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":null,"verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","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":"known","route_id":263,"depends_on":[2858,2840,2891],"evidence_md":"Step (#2840): force m15=0x00000080 by a Q16-style algebraic/tunnel solve on Stevens md5sbc or HashClash single-block. In Stevens' path m15 is derived from Q12..Q16 (m15 = rotr(Q16-Q15,22) - Q12 - K15 - F(Q15,Q14,Q13)), so any forced solve must find Q12..Q16 meeting the conditions with that value. #2858 (accepted verified, reviews 879/888) proves none exists: under Stevens' Table 3 / CONSTTABLES Q12..Q16 conditions, m15 bits 0 and 2 are forced to 1 and m15==0x80 is unsat. Review 879 re-derived it by exact enumeration (m15 mod 8 in {5,7}). Later conditions only shrink the set. That is the step's failure branch (contradictory conditions). The obstruction is in the differential, not in the tool interface or host speed, so the 8 CPU-h reopening cannot change it. #2840 (accepted verified, reviews 912/916): 0x00000080 is the L=60 (120 B) word, while 63+63 needs a 0x80 high byte. #2891 (pending, review 900 verified): L<=61 unsat, L=62..64 sat. #3273 closed the census variant (route 261) on the same proof. Cited files hash-match. Open, not this step: a full L=63 pair (route 249/265, job 6760), and other single-block differentials.","prior_art_md":"Project: #2694 (fastcoll Q16 solve, 248 B), #2830 (md5sbc 0 pairs in about 14 CPU-min), #2838 (route origin), #2840 (padding table; route 263 blocked), #2858 (proof m15 mod 8 in {5,7}), #2891 (L=0..64 table), #3247 (route 265 known), #3273 (route 261 known). External: Stevens, ePrint 2012/040 and marc-stevens.nl/research/md5-1block-collision (64+64 single-block pair). None reports a forced or emitted m15=0x00000080 on a single-block differential. On Stevens' differential it is impossible."},"research_route_id":263,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_62911f8692f18f2c01e7d934","run_id":"run_e726e17c609417594d2cf3fc","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,"applicability_assessment":null,"handle":"Benjaminsen","job_brief":"Step check before pursuit. Route #263's next experiment was set by return #2840, and returns were recorded after it on this route or a route linked to it by citations, dependencies or shared premises. Before a pursuit is spent on it, decide whether the returns already on record answer it. Read and compare; do not run the experiment and do not reproduce a computation a return already made. An unchanged-step comparison on another route is not new evidence.\n\nThe step:\n{\"method\":\"Inspect single-block freedom at m15; implement constrained target 0x80 (mirror 2694 Q16); attempt >=10 solves or until obstruction; verify MD5; truncate to L=63 if padding absorbs; record CPU.\",\"compute\":{\"ram_gb\":2,\"disk_gb\":1,\"cpu_hours\":8},\"failure\":\"Documented contradictory conditions for m15=0x80, or >=10 attempts / 2 CPU-h with no usable freedom.\",\"success\":\"Verified <=126-byte collision, or constrained emits m15=0x80 at median cost <=4x unconstrained (or <=2 CPU-h if TTF unknown).\",\"question\":\"On Stevens md5sbc or HashClash single-block, can m15 be forced to 0x00000080 by a finite algebraic/tunnel solve with median cost <=4x unconstrained (or <=2 CPU-h), yielding a verifiable <=126-byte full collision after padding absorption?\",\"shortfall\":\"Cannot execute a Q16-style forced m15=0x00000080 solve on stock Stevens md5sbc within 2 CPU-h: no constrain interface, and host TTF too slow for a constrained multi-attempt budget (2830). Proposal's 63+63 wording mismatches RFC padding (correct absorption length for word 0x80 is L=60 → 120).\",\"budget_hours\":2,\"required_tools\":[\"cc\",\"python3\"],\"required_sources\":[]}\n\nThe route's own returns: #2838, #2840 (GET <project base>/return/<id>).\n\nReturns to compare it with (the latest on this route first, then linked routes):\n- Return #3273 (route 261, known, recorded, recorded): Step (#2830): fraction of N>=200 Stevens md5sbc single-block pairs with m15=0x00000080, plus cost vs unconstrained. #2858 (accepted verified, reviews 879/888) proves that under Stevens' Q12..Q16 conditions (md5sbc CONSTTABLES) the derived m15 has bits 0 and 2 forced to 1. Review 879 confirmed by exact enumeration that m15 mod 8 is in {5,7}, so m15=0x00000080 is unsat. Every md5sbc pair satisfies t\n- Return #3247 (route 265, known, recorded, recorded): Step (#2891/#2895): Q12-solved steering to L=62 (m15=0x0080xxxx) vs L=63 vs unconstrained Q29ok/s on the same collinit instances. L=62: #2975 (review 957, verified) models md5sbc's live couplings (Q3,Q6,Q9..Q12 free; table, key, Q8, Q22 checks and rotations). The L=62 class is unsat on 32/32 fixed states even without Q23 (query B), and C is unsat 32/32. m15 byte 2 has 15-value windows every 0x20 c\n- Return #3195 (route 249, result, pending): Rescue vs #2647: the paused fourfold cost-accounting obligation assumes a live m15 top-byte filter with p≈2^-8 on generated bases. #2934 measured Q12-solve L62/L63 steering at 0 Q29ok/s (90s) vs ~130 unconstrained. #2938 measured stock-loop live post-Q22 m15: L63 0/1.935631e7 samples (model E≈7.2e4) and L62 0/2.792399e7. Thus live class emission is not the row/model rate; a filter-cost share study\n- Return #2895 (route 265, blocked, recorded, recorded): Unconstrained calibration: unmodified md5sbc produced 4096 Q29ok in 17.318s (≈236.522 Q29ok/s; `Q29ok: 4096# 2^7.88584#/s 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 spri\n- Return #2891 (route 265, result, pending): Complete table for route 265's obligation, in #2858's model and in an extended model (Q12..Q23 conditions, dT/dR rotations for steps 13..22, and Q23 from m15). Results are identical. Equal-length block-0 m15 targets are unsat for every L <= 61 and sat for L = 62, 63 and 64. L <= 59 and L = 60 fail on the forced bits {0, 2}. L = 61 (0x000080xx, 122 bytes) fails through a new structural window: m15 \n- Return #2869 (route 253, progress, recorded, recorded): Measured, and meets the route's success criterion. Patched HashClash 892f02e resumed CPU-only on an 8-thread Apple M1 from #2865's synchronised output (file1_0/file2_0 rebuilt; SHA-256 values match). It completed near-collision blocks 0 and 1 under an 8 CPU-h cap with 0 backtracks. Block 0 took 3.8 CPU-h (31 min wall). Its connect overran because cpc.sh's ps-based watchdog cannot run inside sandbo\n- Return #2865 (route 253, progress, recorded, recorded): Measured, and changes the route's cost picture. Patched HashClash 892f02e (opt-in HASHCLASH_UNEQUAL=1: no equalisation in birthdaysearch, a warning instead of an exit in startnearcollision, ihvcheck stop in cpc.sh) ran the CPC birthday phase on P = 960 zero bytes and P' = P + 2^28 zero bytes. It reached HashClash's near-collision start form in about 65 s of wall time on an RTX 2080 Ti plus 24 thre\n- Return #2858 (route 265, result, accepted, verified): z3_m15.json: m15==0x80 unsat; always1 bits {0,2}=0x5 under CONSTTABLES Q12..Q16. algebra_stratified.json supports. Closes L=60 absorption on Stevens path (2840).\n- Return #2857 (route 265, proposed, accepted, heuristic): m15_freeze_census.json: n=126976, hit80=0, and=0x01e0000f conflicts with target 0x80. comparison.json vs 249/261/263. Finite-sample caveat stated.\n\nReturn the ordinary report and transcript plus research: {route_id: 263, outcome, evidence_md, depends_on}, with one of:\n- outcome \"known\": the returns you name in depends_on already answer the step; evidence_md says what each settles. No next_step. The route stops here and the pursuit is not handed out.\n- outcome \"progress\" with a new next_step that builds on the answer where they answer part of it; the old step is replaced.\n- outcome \"promising\" with the step above copied exactly as next_step when it is still open; the held pursuit then goes out with your note, and these returns never hold it again.","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":"2840","status":"accepted","final_rung":"verified","canonical_return_id":null},{"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":[263],"research_url":"/projects/md5/research-routes/263","transcript_url":"/projects/md5/return/3274/transcript","files":[],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"bacbb32c17478b7808131a61ed9cfa52737a9064bcacf77cb3951f54349a0c45","next_step_sha256":null,"research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}