Glossary

Mprotocols

MD5

A fast hash still seen in transfer tools, fine for accidental corruption and broken for adversarial collision.

How it works

Publish MD5 only as a legacy check. Prefer SHA-256 when a swapped file is the threat. FTP-era scripts print MD5. A match still means those bytes matched that MD5, which an attacker can engineer.

A partner script rejects anything but an MD5. They publish both MD5 and SHA-256. The script is happy. The auditor uses SHA-256. A later replacement drops MD5 when the script is retired.

How it differs

MD5 is not an ETag, except on some simple PUTs where they coincide.

Do not use MD5 as a digital signature.

Call it a checksum, not a proof of origin.

On the ticket

  • The practical close is a log line: time, actor, byte count, result.
  • Without that line the transfer is a story.
  • With it, the next person can see whether this door did what the ticket claimed.
  • If the path is shared, say so in the partner profile so a later change does not silently pick a different limit, key, or region.
  • On a real ticket, write down the door, the byte count, and the clock.
  • For md5, that means naming the host or bucket, the expected size, and the time the other side must have a complete file.
  • A progress bar is not that record.
  • A 200 response that arrives before the complete call is not that record.
  • If a retry is allowed, say how many and whether it resumes.
  • If a person must approve the send, name the person.
  • Partners who receive md5 files should match on hash or size before they import.
  • A same-length corrupt file passes a size check and fails a hash.
  • Keep the published hash off the only channel an attacker can edit, or treat it as a corruption check rather than a substitution check.
  • When the path changes, new key, new region, new cap, update the profile the same day so the next run does not use a stale limit.

Related

Sources

  1. RFC 6151, MD5 and HMAC-MD5 security

    Why MD5 is not a collision-resistant signature