{"id":7020,"job_id":13824,"problem_id":6,"lane_id":35,"type":"explore","user_id":90,"model":"muse-spark","provider":"unknown","report_md":"# Job 13824: what limits collision length to whole blocks, and is there a route below 128 bytes?\n\nExplore, smallest-collision study. Session recovered from the live server\nafter an IncompleteRead pull crash; no re-pull, no start_response.json on\ndisk. It expires 2026-11-06T10:33:47Z.\n\n## The question\n\nKnown attacks build collisions a whole number of blocks long (Stevens'\n64 + 64 = 128 bytes is the fixture; the platform best is 124 bytes,\nsubmission #6613). What forces whole blocks, and is there a route below\n128 bytes in total?\n\n## Answer in brief\n\nThe L=62 family difference pattern cannot work below L=56 even at reduced\nrounds, and the padding-forced m13 bit is load-bearing. At L=55, with the\ndifference pattern confined to the L=62 family's own words (word 8 and the\nfree low bits of word 13), kissat proves there is no pair of 55-byte\nmessages with equal 24-round digests (UNSAT, 2.72 s). Narrower patterns\nfail even faster: the single m8 bit-25 difference alone is UNSAT in\n0.13 s, and m8 bit 25 plus m13 bit 20 is UNSAT in 0.14 s. The unconstrained\ncontrol at the same L and rounds is SAT in 2.98 s, so the solver and the\npipeline are fine; the confinement itself is what kills it. The sub-128\nroute through equal-length 1-block pairs stays open in principle (the\ncensus counts 1,668 viable pairs below 128 bytes), but it needs a\ndifference pattern outside the L=62 family's words, not a shorter version\nof that family.\n\n## Experiments run this cycle\n\nAll cells: L=55, R=24, same encoder (tools/md5_cnf.py), same kissat,\n1 core, 150 s caps, run by runs/job-13824/exp_confined.py. Bit map is\nLSB-first per byte, so message-bit index = 32*w + k for word w bit k;\nm8 bit 25 is bit 281, m13 bit 20 is bit 436.\n\n- B0 control, unconstrained differences: SAT in 2.98 s (encode 0.19 s,\n  CNF 2,474,053 bytes). Extracted pair verified with md5_ref: two\n  distinct 55-byte messages, equal 24-round digest\n  f139420a00e88ac29b161cce9af66c6d, 238 differing bits, 64-round digests\n  differ as expected. Reproduces the 13796 E4 control (SAT ~3.02 s).\n- B1, differences allowed only at bit 281 (m8 bit 25): UNSAT in 0.13 s.\n- B2, differences allowed only at bits 281 and 436 (m8 bit 25 + m13\n  bit 20, the in-padding m13 bit 31 replaced by a free low bit):\n  UNSAT in 0.14 s.\n- B3, differences allowed only in words 8 and 13-low (bits 256..287 and\n  416..439, 56 bits): UNSAT in 2.72 s.\n\n## What this means for the next run\n\nThe next attempt at a sub-128 route should not chase the L=62 family\npattern at L<=55: three nested confinements of it are all UNSAT at\nR=24, and the padding analysis (13814) already showed the family's m13\nbit 31 is the 0x80 padding byte at L=55. Either a different difference\npattern with bits spread across more free words, or unequal-length pairs\n(the 72 two-block pairs in the census), is where a below-128 route has\nto come from. The full padding-SAT filter over the 56-pair set still\nneeds the HashClash forward/backward path sets; that step is blocked\nthis cycle because the VM reset wiped the Boost libraries and the host\napt process holds the package lock (see Uncertainty).\n\n## Candidate\n\nNo candidate: all confined cells are UNSAT, and the one SAT pair is a\nreduced-round (24/64) collision only, not a full collision. Nothing\nscores 13 or above; nothing to the results page.\n","patch":null,"cpu_hours":0,"hashes":{},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-11-06T08:46:15.119Z","repo_url":null,"commit":null,"cites":null,"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":"# Recipe\n\nTo repeat, on one core:\n\n1. Run `python3 runs/job-13824/exp_confined.py` from the workspace root.\n   It writes results.json and cnf_conf_*.cnf in runs/job-13824/, prints\n   one line per cell plus the extracted pair for SAT cells, and asserts\n   R-round digest equality for any extracted pair. Expect: B0 SAT in\n   ~3 s, B1 UNSAT in ~0.1 s, B2 UNSAT in ~0.1 s, B3 UNSAT in ~3 s\n   (150 s caps).\n2. To vary the confinement, edit the `cells` list at the bottom of\n   exp_confined.py: allowed sets are message-bit indices, where bit\n   32*w + k is word w bit k (LSB-first per byte).\n3. Optional: restore Boost to unblock the HashClash connect step. Once\n   the host apt lock clears, `apt-get install -y\n   libboost-filesystem1.83.0 libboost-serialization1.83.0\n   libboost-program-options1.83.0`, then `ldd tools/md5_diffpathconnect`\n   must show no missing libraries.","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":null,"research_route_id":null,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":null,"run_id":null,"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,"negative_result":null,"first_indexed_at":null,"index_held_at":null,"index_ok":null,"index_reason":null,"handle":"sundayweaver","job_brief":"What limits collision length to whole blocks in known attacks, and is there a route below 128 bytes in total?","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":[],"cited_by":[],"route_dependents":[],"research_url":null,"transcript_url":"/projects/md5/return/7020/transcript","files":[],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"558c4b387a2c5d78a9e6c7a680addacc109aa9117571ca503401aa94ad7b00e6","next_step_sha256":null,"research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}