| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/Data_Encryption_Standard |
| Contents |
|---|
| The algorithm as a standard |
| Chronology |
| Overall structure |
| The Feistel (F) function |
| Security and cryptanalysis |
| Brute-force attack |
The Feistel function (F function) of DES | |
| General | |
|---|---|
| Designers | IBM |
| First published | 1975 (Federal Register) (standardized in January 1977) |
| Derived from | Lucifer |
| Successors | Triple DES, G-DES, DES-X, LOKI89, ICE |
| Cipher detail | |
| Key sizes | 56 bits |
| Block sizes | 64 bits |
| Structure | Balanced Feistel network |
| Rounds | 16 |
| Best public cryptanalysis | |
| DES has been considered unsecure right from the start because of the feasibility of brute-force attacks. Such attacks have been demonstrated in practice (see EFF DES cracker) and are now available on the market as a service. As of 2008, the best analytical attack is linear cryptanalysis, which requires 2 known plaintexts and has a time complexity of 2 | |
The Data Encryption Standard (DES NSA's involvement in the designedit
On 17 March 1975, the proposed DES was published in the Federal Register. Public comments were requested, and in the following year two open workshops were held to discuss the proposed standard. There was criticism received from public-key cryptography pioneers Martin Hellman and Whitfield Diffie, citing a shortened key length and the mysterious "S-boxes" as evidence of improper interference from the NSA. The suspicion was that the algorithm had been covertly weakened by the intelligence agency so that they—but no one else—could easily read encrypted messages. Alan Konheim (one of the designers of DES) commented, "We sent the S-boxes off to Washington. They came back and were all different." The United States Senate Select Committee on Intelligence reviewed the NSA's actions to determine whether there had been any improper involvement. In the unclassified summary of their findings, published in 1978, the Committee wrote:
In the development of DES, NSA convinced IBM that a reduced key size was sufficient; indirectly assisted in the development of the S-box structures; and certified that the final DES algorithm was, to the best of their knowledge, free from any statistical or mathematical weakness.
However, it also found that
{{Cite journal|last1=Sugarman |first1=R. |title=On foiling computer crime|journal=IEEE Spectrum |volume=16 |issue=7 |pages=31–32 |date=July 1979}}</ref>"}},"i":0}}]}'/>NSA did not tamper with the design of the algorithm in any way. IBM invented and designed the algorithm, made all pertinent decisions regarding it, and concurred that the agreed upon key size was more than adequate for all commercial applications for which the DES was intended.
Another member of the DES team, Walter Tuchman, stated "We developed the DES algorithm entirely within IBM using IBMers. The NSA did not dictate a single wire!" In contrast, a declassified NSA book on cryptologic history states:
NSA worked closely with IBM to strengthen the algorithm against all except brute-force attacks and to strengthen substitution tables, called S-boxes. Conversely, NSA tried to convince IBM to reduce the length of the key from 64 to 48 bits. Ultimately they compromised on a 56-bit key.
Some of the suspicions about hidden weaknesses in the S-boxes were allayed in 1990, with the independent discovery and open publication by Eli Biham and Adi Shamir of differential cryptanalysis, a general method for breaking block ciphers. The S-boxes of DES were much more resistant to the attack than if they had been chosen at random, strongly suggesting that IBM knew about the technique in the 1970s. This was indeed the case; in 1994, Don Coppersmith published some of the original design criteria for the S-boxes. According to Steven Levy, IBM Watson researchers discovered differential cryptanalytic attacks in 1974 and were asked by the NSA to keep the technique secret. Coppersmith explains IBM's secrecy decision by saying, "that was because [differential cryptanalysis] can be a very powerful tool, used against many schemes, and there was concern that such information in the public domain could adversely affect national security." Levy quotes Walter Tuchman: "[t]hey asked us to stamp all our documents confidential... We actually put a number on each one and locked them up in safes, because they were considered U.S. government classified. They said do it. So I did it". Bruce Schneier observed that "It took the academic community two decades to figure out that the NSA 'tweaks' actually improved the security of DES."
Despite the criticisms, DES was approved as a federal standard in November 1976, and published on 15 January 1977 as FIPS PUB 46, authorized for use on all unclassified data. It was subsequently reaffirmed as the standard in 1983, 1988 (revised as FIPS-46-1), 1993 (FIPS-46-2), and again in 1999 (FIPS-46-3), the latter prescribing "Triple DES" (see below). On 26 May 2002, DES was finally superseded by the Advanced Encryption Standard (AES), following a public competition. On 19 May 2005, FIPS 46-3 was officially withdrawn, but NIST has approved Triple DES through the year 2030 for sensitive government information.
The algorithm is also specified in ANSI X3.92 (Today X3 is known as INCITS and ANSI X3.92 as ANSI INCITS 92), NIST SP 800-67 and ISO/IEC 18033-3 (as a component of TDEA).
Another theoretical attack, linear cryptanalysis, was published in 1994, but it was the Electronic Frontier Foundation's DES cracker in 1998 that demonstrated that DES could be attacked very practically, and highlighted the need for a replacement algorithm. These and other methods of cryptanalysis are discussed in more detail later in this article.
The introduction of DES is considered to have been a catalyst for the academic study of cryptography, particularly of methods to crack block ciphers. According to a NIST retrospective about DES,
| Date | Year | Event | ||
|---|---|---|---|---|
| 15 May | 1973 | NBS publishes a first request for a standard encryption algorithm | ||
| 27 August | 1974 | NBS publishes a second request for encryption algorithms | ||
| 17 March | 1975 | DES is published in the Federal Register for comment | ||
| August | 1976 | First workshop on DES | ||
| September | 1976 | Second workshop, discussing mathematical foundation of DES | ||
| November | 1976 | DES is approved as a standard | ||
| 15 January | 1977 | DES is published as a FIPS standard FIPS PUB 46 | ||
| June | 1977 | Diffie and Hellman argue that the DES cipher can be broken by brute force. | ||
| 1983 | DES is reaffirmed for the first time | |||
| 1986 | Videocipher II, a TV satellite scrambling system based upon DES, begins use by HBO | |||
| 22 January | 1988 | DES is reaffirmed for the second time as FIPS 46-1, superseding FIPS PUB 46 | ||
| July | 1991 | Biham and Shamir rediscover differential cryptanalysis, and apply it to a 15-round DES-like cryptosystem. | ||
| 1992 | Biham and Shamir report the first theoretical attack with less complexity than brute force: differential cryptanalysis. However, it requires an unrealistic 2 chosen plaintexts. | |||
| 30 December | 1993 | DES is reaffirmed for the third time as FIPS 46-2 | ||
| 1994 | The first experimental cryptanalysis of DES is performed using linear cryptanalysis (Matsui, 1994). | |||
| June | 1997 | The DESCHALL Project breaks a message encrypted with DES for the first time in public. | ||
| July | 1998 | The EFF's DES cracker (Deep Crack) breaks a DES key in 56 hours. | ||
| January | 1999 | Together, Deep Crack and distributed.net break a DES key in 22 hours and 15 minutes. | ||
| 25 October | 1999 | DES is reaffirmed for the fourth time as FIPS 46-3, which specifies the preferred use of Triple DES, with single DES permitted only in legacy systems. | ||
| 26 November | 2001 | The Advanced Encryption Standard is published in FIPS 197 | ||
| 26 May | 2002 | The AES becomes effective | ||
| 26 July | 2004 | The withdrawal of FIPS 46-3 (and a couple of related standards) is proposed in the Federal Register | ||
| 19 May | 2005 | NIST withdraws FIPS 46-3 (see Federal Register vol 70, number 96) | ||
| April | 2006 | The FPGA-based parallel machine COPACOBANA of the Universities of Bochum and Kiel, Germany, breaks DES in 9 days at a $10,000 hardware cost. Within a year software improvements reduced the average time to 6.4 days. | ||
| Nov. | 2008 | The successor of COPACOBANA, the RIVYERA machine, reduced the average time to less than a single day. | ||
| August | 2016 | The Open Source password cracking software hashcat added in DES brute force searching on general purpose GPUs. Benchmarking shows a single off the shelf Nvidia GeForce GTX 1080 Ti GPU costing US$1000 recovers a key in an average of 15 days (full exhaustive search taking 30 days). Systems have been built with eight GTX 1080 Ti GPUs which can recover a key in an average of under 2 days.
Like other block ciphers, DES by itself is not a secure means of encryption, but must instead be used in a mode of operation. FIPS-81 specifies several modes for use with DES. Further comments on the usage of DES are contained in FIPS-74. Decryption uses the same structure as encryption, but with the keys used in reverse order. (This has the advantage that the same hardware or software can be used in both directions.) Overall structureeditThe algorithm's overall structure is shown in Figure 1: there are 16 identical stages of processing, termed rounds. There is also an initial and final permutation, termed IP and FP, which are inverses (IP "undoes" the action of FP, and vice versa). IP and FP have no cryptographic significance, but were included in order to facilitate loading blocks in and out of mid-1970s 8-bit based hardware. Before the main rounds, the block is divided into two 32-bit halves and processed alternately; this criss-crossing is known as the Feistel scheme. The Feistel structure ensures that decryption and encryption are very similar processes—the only difference is that the subkeys are applied in the reverse order when decrypting. The rest of the algorithm is identical. This greatly simplifies implementation, particularly in hardware, as there is no need for separate encryption and decryption algorithms. The ⊕ symbol denotes the exclusive-OR (XOR) operation. The F-function scrambles half a block together with some of the key. The output from the F-function is then combined with the other half of the block, and the halves are swapped before the next round. After the final round, the halves are swapped; this is a feature of the Feistel structure which makes encryption and decryption similar processes. The Feistel (F) functioneditThe F-function, depicted in Figure 2, operates on half a block (32 bits) at a time and consists of four stages: // All variables are unsigned 64 bits // Pre-processing: padding with the size difference in bytes padmessagetoreachmultipleof64bitsinlength varkey// The keys given by the user varkeys[16] varleft,right // Generate Keys // PC1 (64 bits to 56 bits) key:=permutation(key,PC1) left:=(keyrightshift28)and0xFFFFFFF right:=keyand0xFFFFFFF forifrom1to16do right:=rightleftrotateKEY_shift[i] left:=leftleftrotateKEY_shift[i] varconcat:=(leftleftshift28)orright // PC2 (56bits to 48bits) keys[i]:=permutation(concat,PC2) endfor // To decrypt a message reverse the order of the keys ifdecryptdo reversekeys endif // Encrypt or Decrypt foreach64-bitchunkofpaddedmessagedo vartmp // IP chunk:=permutation(chunk,IP) left:=chunkrightshift32 right:=chunkand0xFFFFFFFF forifrom1to16do tmp:=right // E (32bits to 48bits) right:=expansion(right,E) right:=rightxorkeys[i] // Substitution (48bits to 32bits) right:=substitution(right) // P right:=permutation(right,P) right:=rightxorleft left:=tmp endfor // Concat right and left varcipher_chunk:=(rightleftshift32)orleft // FP cipher_chunk:=permutation(cipher_chunk,FP) endforSecurity and cryptanalysiseditAlthough more information has been published on the cryptanalysis of DES than any other block cipher, the most practical attack to date is still a brute-force approach. Various minor cryptanalytic properties are known, and three theoretical attacks are possible which, while having a theoretical complexity less than a brute-force attack, require an unrealistic number of known or chosen plaintexts to carry out, and are not a concern in practice. Brute-force attackeditFor any cipher, the most basic method of attack is brute force—trying every possible key in turn. The length of the key determines the number of possible keys, and hence the feasibility of this approach. For DES, questions were raised about the adequacy of its key size early on, even before it was adopted as a standard, and it was the small key size, rather than theoretical cryptanalysis, which dictated a need for a replacement algorithm. As a result of discussions involving external consultants including the NSA, the key size was reduced from 256 bits to 56 bits to fit on a single chip. In academia, various proposals for a DES-cracking machine were advanced. In 1977, Diffie and Hellman proposed a machine costing an estimated $250,000 (equivalent to $493,824in 2025) (see EFF DES cracker). Their motivation was to show that DES was breakable in practice as well as in theory: "There are many people who will not believe a truth until they can see it with their own eyes. Showing them a physical machine that can crack DES in a few days is the only way to convince some people that they really cannot trust their security to DES." The machine brute-forced a key in a little more than 2 days' worth of searching.400 MHz, for a total capacity of 768 gigakeys/sec. The system can exhaustively search the entire 56-bit DES key space in about 26 hours and this service is offered for a fee online. However, the service has been offline where EK denotes encryption with key C denote plaintext and ciphertext blocks respectively. The complementation property means that the work for a brute-force attack could be reduced by a factor of 2 (or a single bit) under a chosen-plaintext assumption. By definition, this property also applies to TDES cipher. DES also has four so-called weak keys. Encryption (E) and decryption (D) under a weak key have the same effect (see involution):
It is easy enough to avoid the weak and semiweak keys in an implementation, either by testing for them explicitly, or simply by choosing keys randomly; the odds of picking a weak or semiweak key by chance are negligible. The keys are not really any weaker than any other keys anyway, as they do not give an attack any advantage. DES has also been proved not to be a group, or more precisely, the set |
| View original on Wikipedia | Back | FazBrowse Home |