[plug] ANNOUNCE: Tuesday will be at Fast Eddies, feature PHP demo

Greg Mildenhall greg at networx.net.au
Mon May 10 13:22:48 WST 1999


> > What does "MD5-exact" mean?
> > Bret Busby

For the benefit of PLUG in general, here is my cryptography 101 course.
If you already know all this, skip down to "Michael Hunt wrote"
If you already know not to read my posts, skip this message altogether.

*******************Crytography in a Nutshell*********************
(With large helpings of "simplicity-over-accuracy")
*****************************************************************

MD5 was originally an encryption mechanism, but doubles as a digital
signature/checksumming method.

On the encryption side, one can use a widely-known "public key" to encrypt
a message into such a state that it can only be decrypted with a secret
"private key". It is impossible to generate one key from the other.
The reverse effect is that the public key can decrypt data _only_ if it
was encrypted with the private key. This means that if you receive a
plaintext copy and an encrypted copy of a message, and the public key
decrypts the encrypted copy into an exact copy of the plaintext, you know
the encrypted version _must_ have been created with the private key.
In theory, this means only the owner of the key could have produced the
encrypted version, and you can accept the message as being authenticated
by the owner of that key. In practise, one only needs to encrypt the first
little bit of the message in order to prove authenticity.

How it works for checking data integrity is very similar.
If an encryption process produces similar outputs from similar inputs,
then a code-breaker can look at those slight changes in isolation from the 
rest of the message, thereby drastically reducing the amount of data to be
considered, and greatly simplifying the calculations required by the
code-breaker - reducing the size of the necessary search by a factor that
can easily be the difference between feasibility and infeasibility.
This property of extreme sensitivity to changes in input is also very
useful in a checksumming algorithm - two minor changes very close to one
another (as is obviously common in data corruption - two bytes in a
packet, two adjacent blocks on a disk) cannot canel each other out to
produce an unchanged checksum, since similar checksums can only be
produced by messages that bear absolutely no resemblence to one another.
It also allows the checksum to be much smaller than the original message,
without the possibility that slightly different messages will create the
same checksum, even though many, many possible messages map to each
particular checksum.

So, for instance, when a Debian package maintainer creates and uploads a
package, (s)he will create an md5 checksum of the entire package to go
with it. Then, the security-conscious (like the main Debian ftp site) can
check to see that the package has indeed come from the particular person
responsible for maintaining that package, before placing it on the
official website. When the mirror sites download the new file, they can
check the integrity of the download by testing the md5sum against what
they have downloaded.


On Mon, 10 May 1999, Michael Hunt wrote:
> Its a security term to define a set of standards used mainly with
> authentication on Radius boxes. 
Yep, it's a security term, but Leon is using as a data-integrity term, and
I wouldn't say it's "used mainly with Radius". Certainly Radius will use
it, but that is because it is one of the major standards for encryption
and the standard for checksumming and digsigging.

> (Checking that your password and userid is "exactly" correct when you login)
It's not the exactness that it is used for in this instance. It is to
allow secure transmission of sensitive data from radius client to server
- though the server's responses are indeed signed to prove authenticity.

> ISP sys admin types are currently rolling around on the floor laughing *sob*
Well, it was _reasonably_ funny. Did manage to hang on to my chair OK,
though and the eyes are strangely dry - I must be recovering.

> (It is nice to see Leon that you are all smiles. *grin*)
> Brett read Leon's email address if you don't get the above remark.
He's only had that address as long as I can remember.....
I s'pose you just haven't noticed it before since Leon posts to the main 
list so infrequently since Chris created plug-leon at linux.org.au for him.

-Greg




More information about the plug mailing list