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.

If <strong>the</strong> cryptographer were prepared to have two tables on h<strong>and</strong>, listing<br />

<strong>the</strong> 17 576 (�26�26�26) plaintext <strong>and</strong> cipher trigraphs, an even more<br />

secure system, trigraph substitution, could be used.<br />

Clearly, one could devise increasingly secure systems in this way but,<br />

in practice, <strong>the</strong> tables would be unwieldy <strong>and</strong> even a system based on<br />

strings of 4 letters (i.e. tetragraphs) is hardly practicable.<br />

Suppose, however, that a system could be devised which took a string<br />

of letters of fixed length <strong>and</strong> somehow converted <strong>the</strong>m automatically into<br />

ano<strong>the</strong>r string <strong>and</strong> which guaranteed that changing any of <strong>the</strong> letters in<br />

<strong>the</strong> first string would produce an entirely different second string. Such a<br />

system would not require printed tables <strong>and</strong> could be very secure indeed,<br />

depending upon <strong>the</strong> method by which <strong>the</strong> string is converted <strong>and</strong> <strong>the</strong><br />

number of letters in <strong>the</strong> strings. At <strong>the</strong> lower end of <strong>the</strong> scale of such<br />

systems we have <strong>the</strong> <strong>Julius</strong> <strong>Caesar</strong> method: <strong>the</strong> conversion being done by<br />

moving each letter three places forward in <strong>the</strong> alphabet <strong>and</strong> <strong>the</strong> fixed<br />

length of <strong>the</strong> string being 1. At <strong>the</strong> top end of <strong>the</strong> scale we have a method<br />

known as RSA, after Rivest, Shamir <strong>and</strong> Adelman who devised <strong>the</strong><br />

method in 1978 [13.1], which can be used to encipher very long strings,<br />

e.g. 100 letters, <strong>and</strong> which provides an extremely high degree of security.<br />

This may seem remarkable enough but even more remarkable is <strong>the</strong> fact<br />

that <strong>the</strong> RSA is a public key system, which means, as was explained in<br />

Chapter 12, that <strong>the</strong> details of how to encrypt a message are made publicly<br />

available, but only <strong>the</strong> ‘owner’ of <strong>the</strong> public key knows how to decrypt <strong>the</strong><br />

messages which are sent to him. The owner can, however, reply to his correspondents<br />

by encrypting his messages in such a way that <strong>the</strong>y can<br />

decrypt <strong>the</strong>m.<br />

Although in <strong>the</strong>ory RSA encryption could be carried out by h<strong>and</strong> <strong>the</strong><br />

computations, which involve modular arithmetic with very large integers,<br />

could only realistically be carried out on a computer with facilities<br />

for multi-length arithmetic.<br />

Factorisation of large integers<br />

Encipherment <strong>and</strong> <strong>the</strong> <strong>internet</strong> 171<br />

It is a relatively easy task to multiply two numbers toge<strong>the</strong>r, particularly<br />

if we have a calculator available, provided that <strong>the</strong>y are not too large. If<br />

<strong>the</strong> numbers are both less than 10 a child should be able to do it unaided.<br />

If <strong>the</strong>y are both less than 100 most people, hopefully, could get <strong>the</strong> answer<br />

with paper <strong>and</strong> pencil. If both numbers are bigger than 10 000 it is likely<br />

that a calculator would be employed.

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

Saved successfully!

Ooh no, something went wrong!