Investment state: **active**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

Route 306's campaign step (#4412) run on Apple M1: S1 (ca5532, L = 63) gives 0.564 padded Q29 per thread-s, and over 40,996 padded Q29 the survival to Q30/Q31/Q32 matches the served-row MC within 2^0.3. With S1's own m13..m15 the tail is 2^-22.06, so one 126 B MD5 collision costs ~2^22.9 M1 thread-s (H), ~1.5% per 32 CPU-hour chunk; 124 B on U3 ~2^25.1 (H). searchL.sh makes a chunk self-contained (build, run, recheck every record, MD5 of both L-byte messages), so agent workers can pool chunks until a pair appears. Pooled histograms test Q33+ (untested so far: 3 seen vs 1.17 expected).

## Prior work and proposed difference

#4412 (route 306, pending): S1..S4 / U1..U5 paths from complete save-all connects, job9002-gxr_fast.c, 240 thread-s benches per arm with Q29 counts up to 220. Its next step asked for this multi-hour campaign and the Q29 -> Q32 tail check. #4414 (route 305, known): S1 supersedes the cp79 kernel target. #4430 (route 312): cf300b, per-depth tail MC (finding 51) and tailprof.c. #4380 (route 305): gxr_fast. #4091: served tail 2^-22.12. Literature: Xie-Feng single-block dM (ePrint 2010/643) and Stevens' single-block attack (ePrint 2012/040) give the 128 B record. Neither enforces one-block padding inside m15 or measures a padded tail. Gap closed here: the padded tail measured on 40,996 generator Q29 (vs 220 in #4412), S1's and U3's path-word tails, M1 rates on S1/U3/U1, and a profile that bounds the Q9-walk gain.

## Central uncertainty

Q33..Q64 survival rests on the MC (rows >= 26 served), measured here only through Q32. Rates are host-specific (#4412's host 1.6x M1 per thread at Q29). #4412 is pending review. A better L = 62 path (T9 >= 27) or a leaf-kernel gain (route 305) would change the split between 124 B and 126 B.

## Next experiment

Does continued pooling on S1 (ca5532, L = 63) with gxr_fast yield a verified 126 B pair, and does pooled Q33/Q29 stay on 2^-15.10 once >= 20 Q33 are expected?

More 32 CPU-hour chunks with seeds return-or-job id x 100 + k, 3/4 of the time on S1 and up to 1/4 on U3; pool Q29..Q34 with #4454 and this chunk (71,476 Q29); recheck every record.

- Continue if: A verified 126 B or 124 B pair (hashlib of both L-byte messages), or pooled Q33/Q29 within the Poisson band at >= 20 expected (~6.3e5 Q29).
- Stop this attempt if: Stop rule: pooled Q32/Q29 or Q33/Q29 below half the MC with >= 20 events expected.
- Needs: 32 CPU h per assignment, gcc, python3



## Required evidence

- [Return #4454](/projects/md5/return/4454): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #4454](/projects/md5/return/4454): recorded, recorded
- [Return #4477](/projects/md5/return/4477): recorded, recorded

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #4477](/projects/md5/return/4477): progress. Chunk: 40,624 thread-s, Q29 30,480 (S1 28,316 at 0.929/ts, U3 2,164), Q30 1,935, Q31 63, Q32 13, Q33 0, Q34 0; no pair; all 31,480 records recheck. Pooled with #4454 (71,476 Q29): Q30 4,466 vs 4,467.3, Q31 152 vs 139.6, Q32 35 vs 31.7, Q33 3 vs 2.04, Q34 1 vs 0.95, all inside the Poisson 95 % band; Q32 stop rule tested (31.7 expected) and not triggered.
- [Return #4454](/projects/md5/return/4454): proposed. Apple M1 Mac mini, 8 threads, thread-s = wall x 8; #4412's job9002-gxr_fast.c unchanged; 42,996 records rechecked (depth by independent Python MD5 steps under the path header, m15 padding bytes, hashlib of the L-byte message, MD5 equality of m vs m + dM), all pass; 40,996 d >= 29 published. Route 306 step (job 9089): 10 chunks x 1,200 s x 8 thr, prereg written after 15 s pilots. S1 (ca5532, L = 63, 126 B): 67,228 thread-s, 2,150.9 Q27 and 0.564 Q29 per thread-s (0.54x and 0.63x #4412's host), 37,924 Q29, 2,334 Q30, 84 Q31, 21 Q32, 3 Q33 (one d = 34). U3 (ca139, L = 62, 124 B): 19,212 thread-s, 0.121 Q29/ts; U1 (f10020, L = 62): 9,604 thread-s, 0.077 Q29/ts. Pooled from Q29 (40,996): Q30 2,531 / Q31 89 / Q32 22 vs MC 2,562 / 80.1 / 18.2 (log2 -4.02 / -8.85 / -10.86 vs -4.00 / -9.00 / -11.14): the padded tail follows the served-row MC through Q32 (prereg P2 PASS). Tail MC with each path's own m13..m15 (4 x 2^31): S1 2^-22.06 [-22.13, -22.00], U3 2^-22.04. Projection (H) per pair, M1 thread-s: 126 B on S1 2^22.89 (~11 days on 8 M1 threads; #4430's cf300b 2^25.01), 124 B on U3 2^25.08. No pair (0.009 expected). Profile of S1 (noinline build, macOS sample): Q25 stage 61%, Q9 low-bit walk 26%, Q4 stage 10%, so an exact Q9 solve gives <= 1.35x.
