Skip to content
Calcrivo

Evidence Integrity Calculator

Time a SHA-256 verification pass over an evidence set and check the hash algorithm still offers real collision resistance.

Inputs

TB
MB/s

≈500 MB/s per core with the SHA-NI extension, ≈150 MB/s without it.

streams
MB/s

NVMe reaches several GB/s; a network share or USB dock will be the real limit.

passes

One at acquisition, one before analysis, one before disclosure.

images

Time for One Verification Pass

0.93hours

Effective Throughput

1,200MB/s

Time for All Passes

1.85hours

Minutes per Image

2.2minutes

Collision Resistance

128bits

Limiting Factor

Storage read speed — hashing capacity of 2000 MB/s is idle waiting on I/O

Algorithm Verdict

Sound — 128-bit collision resistance is beyond any practical attack

Step by step

  1. Values used

    Evidence to verify = 4 TB; Hash algorithm = SHA-256 — 256-bit digest; Hash throughput per core = 500 MB/s; Parallel hashing streams = 4 streams; Storage read ceiling = 1,200 MB/s; Verification passes = 2 passes; Images in the evidence set = 25 images

  2. Evidence Integrity

    Verification time = evidence bytes ÷ min(per-core throughput × streams, storage read ceiling), and total time multiplies by the number of passes.

  3. Collision resistance

    Collision resistance = digest length ÷ 2 bits, by the birthday bound — 128 bits for SHA-256.

  4. Time for One Verification Pass

    = 0.93 hours

  5. Effective Throughput

    = 1,200 MB/s

  6. Time for All Passes

    = 1.85 hours

  7. Minutes per Image

    = 2.2 minutes

  8. Collision Resistance

    = 128 bits

  9. Limiting Factor

    = Storage read speed — hashing capacity of 2000 MB/s is idle waiting on I/O

How it works

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.

Formulas

Evidence Integrity

Verification time = evidence bytes ÷ min(per-core throughput × streams, storage read ceiling), and total time multiplies by the number of passes.

per-core throughput
≈500 MB/s with SHA-NI, ≈150 MB/s without
streams
Parallel hashing streams across images
read ceiling
Sustained read rate of the evidence storage

Collision resistance

Collision resistance = digest length ÷ 2 bits, by the birthday bound — 128 bits for SHA-256.

digest length
Hash output size in bits
÷ 2
Birthday bound on collision search

Frequently Asked Questions

How is Evidence Integrity calculated?

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.

Why does Evidence Integrity matter?

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.

What values do I need to enter?

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.

Is SHA-1 still acceptable for evidence?

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.

Why hash more than once?

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.

You might also need