Time a SHA-256 verification pass over an evidence set and check the hash algorithm still offers real collision resistance.
Hashing is embarrassingly parallel across separate images, so throughput scales with streams until the storage read rate saturates — which on anything other than local NVMe is usually the real limit. Collision resistance is half the digest length because of the birthday bound, which is why SHA-1's 80 bits is no longer defensible. The verification hash is what makes evidence admissible, and knowing that a full pass over four terabytes takes about an hour rather than a day is what stops verification being quietly skipped under deadline pressure.
Evidence Integrity
Verification time = evidence bytes ÷ min(per-core throughput × streams, storage read ceiling), and total time multiplies by the number of passes.
Collision resistance
Collision resistance = digest length ÷ 2 bits, by the birthday bound — 128 bits for SHA-256.
Verification time = evidence bytes ÷ min(per-core throughput × streams, storage read ceiling), and total time multiplies by the number of passes. Hashing is embarrassingly parallel across separate images, so throughput scales with streams until the storage read rate saturates — which on anything other than local NVMe is usually the real limit. Collision resistance is half the digest length because of the birthday bound, which is why SHA-1's 80 bits is no longer defensible.
The verification hash is what makes evidence admissible, and knowing that a full pass over four terabytes takes about an hour rather than a day is what stops verification being quietly skipped under deadline pressure.
This calculator takes 7 inputs: Evidence to verify, Hash algorithm, Hash throughput per core, Parallel hashing streams, Storage read ceiling, Verification passes, Images in the evidence set. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
No. Practical chosen-prefix collisions against SHA-1 have been demonstrated at modest cost, so an opposing expert can credibly challenge it. Use SHA-256, and if you must keep legacy SHA-1 values for continuity, record both.
Each pass proves integrity at a different point in the custody chain: at acquisition to fix the baseline, before analysis to prove the working copy matches, and before disclosure to prove nothing changed while in your care. Each pass is a separate, timestamped custody record.