# SHA-256 collision in the first 48 bits

The requested collision is delivered in [`collision.json`](../collision.json), with `algo` set to `sha256` and `lambda` set to `24`.

## Inputs and attributable evidence

The `0x` notation specifies raw hexadecimal bytes, not the UTF-8 bytes of the displayed strings. Both inputs are four bytes long and distinct.

| Input | Full SHA-256 digest |
| --- | --- |
| `0xcbf30800` | `42d3126a1bb92ad6a2138f822195f3ed5e0de0012a744fa33ab7c7d7c0e7c0f1` |
| `0x135d3400` | `42d3126a1bb90537137527a39d1b48b7824610ecc23716ab7787c31abf7290d0` |

**Observed result:** Both digests begin with the same six bytes, `42 d3 12 6a 1b b9`. Six bytes are 48 bits, so these results establish the requested MSB-truncated collision. The full digests differ.

**Provenance:** On 2026-10-05, [`tools/find_collision.py`](../tools/find_collision.py) searched consecutive nonzero unsigned 32-bit integers encoded as four little-endian bytes. A compact table retained six-byte SHA-256 prefixes and input indices. The search found this pair after 3,431,699 digest evaluations, taking approximately 10.38 seconds in this environment.

**Local verification:** [`tools/verify_collision.py`](../tools/verify_collision.py) checked the exact JSON key set, algorithm, lambda, distinct decoded bytes, and matching first six digest bytes. It recomputed each full digest with Python `hashlib.sha256` and the OpenSSL command line (`OpenSSL 3.0.13 30 Jan 2024`). Both interfaces returned the full digests shown above. Run from the repository root:

```sh
python3 tools/verify_collision.py
```

## Limits and unanswered questions

This is evidence for a collision in the first 48 bits only. It does not establish a collision in the complete 256-bit SHA-256 digest. The recorded checks are local checks, not an independent review; Python and OpenSSL may share a cryptographic backend. No SIMD verifier was available or run here, so acceptance by that verifier remains unobserved. No external factual sources are needed for this computed result: the inputs and reproducible digest calculations are the evidence.
