home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!sunic!dkuug!uts!unijbm
- From: unijbm@uts.uni-c.dk (J|rgen B. Madsen)
- Newsgroups: sci.crypt
- Subject: Re: Just what is the DES crypt()
- Message-ID: <1992Oct8.114312.13564@uts.uni-c.dk>
- Date: 8 Oct 92 11:43:12 GMT
- References: <9210080452.AA12560@deepthought.cs.utexas.edu>
- Organization: UNI-C, Danish Computing Centre for Research and Education
- Lines: 70
-
- In <9210080452.AA12560@deepthought.cs.utexas.edu> STDN%MARIST@VM.MARIST.EDU (Dan Newcombe) writes:
-
- >Well , the subject really says it...
-
- > what is this DES crypt function, and why is it so important?
-
- >Sorry for being ignorant.
- > -Dan
-
- I have a description from Michael Glad in Denmark:
-
-
- To represent binary values at encrypted password and the encryption salts,
- the UNIX crypt algorithm uses at 6 bit character set, i.e. a mapping of the
- integers 0..63 to ASCII characters. The mapping is
-
- ./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
-
- Salt values have to be in this set. The salt characters are converted one at a
- time giving two 6 bit values. They are combined to a 12 bit entity where the
- 6 bit representing the first salt character gets shifted by 6. The 12 bit value
- is then used to swap entries in the E selection table. The entries with
- index 0..11 are permuted with the entries with index 12..33 according to bits
- set in the salt value. The entries in the table specify a selection, the table
- has 48 entries with values in the range 1..32 meaning that a 32 bit value is
- expanded to 48 bit.
-
- The 6 bit representation is also used to pack the output of the 25 DES round.
- DES output is 64 bits. Two implicit zero bits are then added giving 66 bits.
- These bits are then converted to ASCII 6 bits a time giving 11 characters.
- Being prefixed with the two salt characters, we get 13 chars alltogether.
-
- The password is used to give the DES key using 7 bits per character. Passwords
- shorter than 8 bytes are padded with zero bytes.
-
- The salting (and the conventions for representing output) are the only changes
- made to DES.
-
- Fast implementations are available. Just to mention one random chosen :-),
- UFC-crypt is a package which fits nicely into Crack (it is mentioned in the Crack
- docs. It is availble for anon. ftp from many sites, also from 'ftp.daimi.aau.dk'
- in 'pub/ufc-crypt.pl1e.tar.Z'. It may appear a little hard to understand unless
- you've studied the DES standard closely.
-
- The password encryption is the same in virtually all UNIX versions.
- The 'Berkeley Crypt' supports 24 bits salts (simple extension) but this is not
- in common use. Digital has a 'Enhanced security option' which used a 'crypt16'
- function. UFC implements it too. It was recently made to mincemeat in a discussion
- in alt.security.
-
- I hope I've clarified things a little. You're welcome to contact me if you have
- further questions.
-
- Sincerely,
-
- -- Michael Glad, email: glad@daimi.aau.dk
-
-
-
- Regards,
- Jorgen Bo Madsen
-
- +-----------------------------------------------------------------------+
- ! Jorgen Bo Madsen, Security Consultant !
- ! UNI-C Lyngby, Danish Computing Centre for Research and Education !
- ! DTH, Building 305, DK - 2800 Lyngby !
- ! Phone : +45-45-938355 !
- ! Telefax: +45-45-930220 !
- ! E-Mail : Jorgen.Bo.Madsen@uni-c.dk !
- +-----------------------------------------------------------------------+
-