Article View: sci.crypt
Article #1029Re: Just what is the DES crypt()
From: J|rgen B. Madsen
Date: Thu, 08 Oct 1992 11:43
Date: Thu, 08 Oct 1992 11:43
70 lines
3410 bytes
3410 bytes
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 ! +-----------------------------------------------------------------------+
Technical Details
Message-ID:
<1992Oct8.114312.13564@uts.uni-c.dk>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!sunic!dkuug!uts!unijbmReferences:
<9210080452.AA12560@deepthought.cs.utexas.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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