30.11.2012 Views

Code and ciphers: Julius Caesar, the Enigma and the internet

Code and ciphers: Julius Caesar, the Enigma and the internet

Code and ciphers: Julius Caesar, the Enigma and the internet

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

186<br />

chapter 13<br />

Chaining<br />

Since <strong>the</strong> DES en<strong>ciphers</strong> text in short blocks of only 64 bits <strong>the</strong> obvious<br />

question is: how do we encipher messages that are longer than this? The<br />

simplest way is to break <strong>the</strong> message into blocks of 8 characters (�64 bits)<br />

<strong>and</strong> encipher <strong>the</strong>m sequentially using <strong>the</strong> same 64-bit key. This would<br />

mean that all <strong>the</strong> 64-bit cipher messages were ‘in depth’, but <strong>the</strong> nonlinear<br />

nature of DES encipherment makes this feature, which would be<br />

disastrous if <strong>the</strong> encipherment were linear, of little or no value to <strong>the</strong> cryptanalyst.<br />

A more secure method however is to change <strong>the</strong> key for each 8character<br />

block by making each key depend on <strong>the</strong> original key <strong>and</strong> some,<br />

or all, of <strong>the</strong> plaintext of <strong>the</strong> preceding blocks. An authorised recipient will<br />

recover <strong>the</strong> plaintext of <strong>the</strong> first block since he knows <strong>the</strong> original key; he<br />

will <strong>the</strong>refore be able to construct <strong>the</strong> key for <strong>the</strong> second block <strong>and</strong> so decipher<br />

it. He will now have <strong>the</strong> plaintext of <strong>the</strong> second block <strong>and</strong> so be able<br />

to construct <strong>the</strong> key for deciphering <strong>the</strong> third block; <strong>and</strong> so on. An unauthorised<br />

recipient who manages to break into part of <strong>the</strong> message, possibly<br />

because of some repetitive st<strong>and</strong>ard text, would not be able to<br />

progress fur<strong>the</strong>r because, without knowing all of <strong>the</strong> earlier blocks of<br />

plaintext, he cannot reconstruct <strong>the</strong> o<strong>the</strong>r keys. Had <strong>the</strong> same key been<br />

used for each block he would have been able to decrypt <strong>the</strong> entire message.<br />

Users of encipherment systems that are based on keys applied to short<br />

blocks of text, such as <strong>the</strong> DES, are strongly recommended to use chaining.<br />

Implementation of <strong>the</strong> DES<br />

Although it is not difficult to write a program to encipher/decipher using<br />

<strong>the</strong> DES algorithm no software implementation can be approved, partly<br />

because programs can be modified. In addition, software versions would<br />

be much slower than hardware versions on specifically designed chips<br />

<strong>and</strong>, shortly after <strong>the</strong> approval of <strong>the</strong> DES, various manufacturers<br />

designed <strong>and</strong> produced devices which contained chips for carrying out<br />

<strong>the</strong> DES algorithm. These devices can encipher or decipher at rates of a<br />

hundred thous<strong>and</strong> characters <strong>and</strong> more, per second.<br />

Using both RSA <strong>and</strong> DES<br />

In public key systems, such as RSA, <strong>the</strong> encipher/decipher algorithm generally<br />

involves a great deal of computation <strong>and</strong> so may run ‘slowly’,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!