1page_des(3)                 Heimdal crypto library                 page_des(3)
2
3
4

NAME

6       page_des - DES - Data Encryption Standard crypto interface See the
7       library functions here: DES crypto functions
8
9       DES was created by IBM, modififed by NSA and then adopted by NBS (now
10       NIST) and published ad FIPS PUB 46 (updated by FIPS 46-1).
11
12       Since the 19th May 2005 DES was withdrawn by NIST and should no longer
13       be used. See EVP - generic crypto interface for replacement encryption
14       algorithms and interfaces.
15
16       Read more the iteresting history of DES on Wikipedia
17       http://www.wikipedia.org/wiki/Data_Encryption_Standard .
18

DES key generation

20       To generate a DES key safely you have to use the code-snippet below.
21       This is because the DES_random_key() can fail with an abort() in case
22       of and failure to start the random generator.
23
24       There is a replacement function DES_new_random_key(), however that
25       function does not exists in OpenSSL.
26
27       DES_cblock key;
28       do {
29           if (RAND_rand(&key, sizeof(key)) != 1)
30                goto failure;
31           DES_set_odd_parity(key);
32       } while (DES_is_weak_key(&key));
33

DES implementation history

35       There was no complete BSD licensed, fast, GPL compatible implementation
36       of DES, so Love wrote the part that was missing, fast key schedule
37       setup and adapted the interface to the orignal libdes.
38
39       The document that got me started for real was 'Efficient Implementation
40       of the Data Encryption Standard' by Dag Arne Osvik. I never got to the
41       PC1 transformation was working, instead I used table-lookup was used
42       for all key schedule setup. The document was very useful since it de-
43       mystified other implementations for me.
44
45       The core DES function (SBOX + P transformation) is from Richard
46       Outerbridge public domain DES implementation. My sanity is saved thanks
47       to his work. Thank you Richard.
48
49
50
51Version 7.8.0                   Tue Nov 15 2022                    page_des(3)
Impressum