I'm trying to understand security and verification a bit more so I've been playing with getting random ISOs and verifying them with md5sum.

For instance if I download the Ubuntu GNOME 15.10 release to ~/Downloads I can run the following:

cd ~/Downloads
md5sum ubuntu-gnome-15.10-desktop-amd64.iso

Which after a brief pause to crunch numbers, gives me the following result:

b89cd1cee3acc2ec174f8d995bd74794  ubuntu-gnome-15.10-desktop-amd64.iso

When I check this against the Ubuntu GNOME 15.10 published MD5 hashes I get something nearly but not quite the same:

b89cd1cee3acc2ec174f8d995bd74794 *ubuntu-gnome-15.10-desktop-amd64.iso
97b49f32a70b46537c34e24e43c16526 *ubuntu-gnome-15.10-desktop-i386.iso

Can anyone explain the origin, meaning or reason for this mysterious "*"?

My understanding is that these are supposed to be identical... the only thing standing between that and me is this wildcard, so what's up with that?

  • 1
    You're right to be cautious, though as kos said, the only thing that really matters is that the hashes of the files match. That said, while (as far as I know) there are no practical preimage attacks against MD5, there is a theoretical one, and I believe the general consensus is that, for pure hashes, MD5 should be avoided in favor of SHA (and preferably at least SHA-2). Personally, MD5's theoretical vulnerability is enough to make me use something better whenever possible. – Blacklight Shining Nov 22 '15 at 0:40
  • It seems to me you could simply have read the documentation? – Lightness Races in Orbit Nov 22 '15 at 5:30
  • 2
    playing with getting random ISOs You sure have a lot of bandwidth to spare... – ace Nov 22 '15 at 8:41
  • @BlacklightShining very interesting links many thanks I'll explore getting to grips with SHA-2 in future. – Huw Nov 22 '15 at 11:12
  • 1
    @ace :) fringe benefits to filling a hard drive with ISOs due to chronic indecisiveness about ubuntu flavours. – Huw Nov 22 '15 at 11:12
up vote 7 down vote accepted

It means the hash was calculated in binary mode.

 The default mode is to print a line with checksum, a character indicating type ('*' for binary, ' ' for text), and name for each FILE.

Source

As ISO files are binary, this is what you want.

  • 1
    +1 for the explanation of the "*", which I never grasped. However on systems using linefeed line-ending (Ubuntu) there's no difference between text files and binary files, in fact md5sum runs by default in text mode; despite, OP's output hash matches the hash calculated in binary mode. – kos Nov 21 '15 at 16:49
  • Fantastic, great answers from both you and @kos that explains what's going on and sets my mind at ease that I'm not getting md5 hashes wrong. Many thanks. – Huw Nov 22 '15 at 11:07

Verifying Ubuntu ISO with `md5sum` - does the missing "*" matter?

No.

In the output of md5sum the first column lists the calculated MD5 sum(s) and the second column lists the filename(s) corresponding to the calculated MD5 sum(s) listed on the left column;

The second column is irrelevant for the purpose of checking the MD5 sum of a file because it's just a mere report of the name of the file corresponding to the calculated MD5 sum reported on the first column. In Ubuntu a present or a missing leading "*" is irrelevant, however the previous statement is not correct: see Louis Matthijssen's answer for an explanation of the difference between a missing and a present leading "*".

The filename is a filesystem metadata and has nothing to do with the "raw" file, which is the only thing really checked (and really relevant) when checking the MD5 sum of a file;

You could rename your ISO foo.iso and its MD5 sum would still match b89cd1cee3acc2ec174f8d995bd74794, which means that the file matches the expected MD5 sum.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.