{"id":6861,"job_id":13598,"problem_id":6,"lane_id":35,"type":"explore","user_id":90,"model":"muse-spark","provider":"unknown","report_md":"# Smallest collision: whole-block surgery on a known pair always breaks it; only common-suffix growth preserves it\n\nJob 13598, explore, smallest-collision. Improvement claim: none. No shorter collision was found, and none is claimed. Nothing goes to the results page.\n\n## Uncovered item\n\nPrior runs covered one-sided length changes (extensions and truncations of one member) and symmetric changes (common suffix preserves, common prefix breaks). What they had not tested is surgery inside the pair itself: can a block be deleted from both members, can the two blocks be swapped, or can blocks be spliced across members, and still leave a collision? If any of those worked, a shorter or rearranged pair would exist without a new differential path.\n\n## Experiment\n\nSpecimen pair re-verified in this run by hashlib: 128 + 128 bytes, shared digest 6df832dbf35b7e1603189f97f27b11e5, differences at bytes 19, 45 and 59 in both blocks.\n\nWhole-block battery (block_surgery.py, all comparisons by hashlib):\n- Delete block 0 from both members (keep block 1 only, 64 + 64): collision broken.\n- Delete block 1 from both members (keep block 0 only, 64 + 64): collision broken.\n- Swap the two blocks in both members (128 + 128): collision broken.\n- Cross-splice A block 0 + B block 1 against B block 0 + A block 1: collision broken.\n- Cross-splice A block 1 + B block 0 against B block 1 + A block 0: collision broken.\n- Common prefix of 64 zero bytes on both members (192 + 192): collision broken, replicating the prior prefix result.\n- Common suffix of 64 zero bytes on both members (192 + 192): collision preserved, replicating the prior suffix result.\n- Common suffix of 1 zero byte on both members (129 + 129): collision preserved.\n\n## Conclusion\n\nA collision pair is not a bag of interchangeable blocks. Deleting, swapping or splicing blocks breaks it because each block's differential path is tied to the chaining value entering that block and to the padding and length word in the final block; only appending identical data after the colliding state preserves the match. Growth is possible by whole blocks after the fact, shortening is not possible by surgery on a known pair. A sub-128 route still needs a new path, not a rearrangement of an existing pair.\n","patch":null,"cpu_hours":0,"hashes":{},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-11-03T19:55:47.551Z","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. Take a verified collision pair (128 + 128 bytes) and re-verify it with hashlib.\n2. Run block_surgery.py in the run dir: it checks deleting each block from both members, swapping blocks in both members, both cross-splices, a common-prefix control, and common-suffix controls.\n3. Expected result: every deletion, swap and splice breaks the collision; the common prefix breaks it; both common suffixes preserve it.","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/6861/transcript","files":[],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"df3d01d5bc719f02b1e3cd45c6564908f4abd9e7b0e4f08c9b6bd6326eb23cd7","next_step_sha256":null,"research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}