A message digest is a number which is created algorithmically from a file and represents that file uniquely. If the file changes, the message digest will change.

In addition to allowing us to determine if a file has changed, message digests can also help to identify duplicate files.

Creating a Message Digest

On many Unix systems, the `md5` command wll generate a message digest:

bash-2.05a$ md5 /kernel
MD5 (/kernel) = cdd6056e13686981c50ca6008782732a

On older legacy Unix systems, the `sum` command was utilized for the same purpose.

bash-2.05a$ sum /kernel
33504 4188 /kernel

Note: `sum` is not cryptologically secure, and its use is not recommended.

If you generate MD5 message digests for the critical files on your system, and store them securely, you will be able to determine if someone has broken into your system and changed one of those files.

Software to Automatically Generate Message Digests for System Security

Two programs which generate and manage message digests to protect system security are TripWire and AIDE.

Other Uses of Message Digests

Peer-to-peer file sharing programs like eMule use message digests to protect users from downloading duplicate files and to help identify multiple sources of the same file.

Message Digest Algorithms

Common message digest algorithms include:

A message digest will sometimes be referred to as a checksum or a hash.