Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Algorithms - R.Sedgewick

.pdf
Скачиваний:
42
Добавлен:
24.05.2014
Размер:
4.8 Mб
Скачать

23. Cryptology

In the previous chapter we looked at methods for encoding strings of characters to save space. Of course, there is another very important

reason to encode strings of characters: to keep them secret.

Cryptology, the study of systems for secret communications, consists of two competing fields of study: cryptography, the design of secret communications systems, and cryptanalysis, the study of ways to compromise secret communications systems. The main application of cryptology has been in military and diplomatic communications systems, but other significant applications are becoming apparent. Two principal examples are computer file systems (where each user would prefer to keep his files private) and “electronic funds transfer” systems (where very large amounts of money are involved). A computer user wants to keep his computer files just as private as papers in his

file cabinet, and

a bank wants electronic funds transfer to be just as secure

as funds transfer

by armored car.

Except for military applications, we assume that cryptographers are “good guys” and cryptanalysts are “bad guys”: our goal is to protect our computer files and our bank accounts from criminals. If this point of view seems somewhat unfriendly, it must be noted (without being over-philosophical) that by using cryptography one is assuming the existence of unfriendliness! Of course, even “good guys” must know something about cryptanalysis, since the very best way to be sure that a system is secure is to try to compromise it yourself. (Also, there are several documented instances of wars being brought to an end, and many lives saved, through successes in cryptanalysis.)

Cryptology has many close connections with computer science and algorithms, especially the arithmetic and string-processing algorithms that we have studied. Indeed, the art (science?) of cryptology has an intimate relationship with computers and computer science that is only beginning to be fully understood. Like algorithms, cryptosystems have been around far longer

295