Анимация
JavaScript
|
Главная Библионтека Глава 2 Определения и классификация Цель криптографической системы заключается в том, чтобы любой ее пользователь - отправитель некоторого сообщения - с помощью заранее известной ему вполне определенной информации имел возможность зашифровать (осмысленный) исходный текст (также называемый открытым текстом) сообщения, отправляемого другому пользователю системы - получателю этого сообщения, получив в результате совершенно бессмысленный на взгляд шифрованный текст, или, коротко, шифртекст (называемый также криптограммой). Получатель, которому предназначен данный шифртекст, должен обладать, вообще говоря, другой, вполне определенной секретной информацией для того, чтобы быть способным с ее помощью расшифровать (говорят, также, дешифровать) полученный шифртекст, восстановив, таким образом, соответствующий ему открытый текст. При этом нарушитель, или противник (называемый также криптоаналитиком или злоумышленником), которому секретная информация для дешифрования неизвестна, должен быть неспособен эффективно определить, или, как говорят, раскрыть, исходный текст. Необходимо отметить, что при попытке раскрытия шифр-текста соответствующий ему исходный текст ищется в принципе без знания секретной информации для его дешифрования. Именно в этом и заключается отличие дешифрования от раскрытия. Раскрытием криптосистемы называется результат работы криптоаналитика, приводящий к возможности эффективного раскрытия любого, зашифрованного с помощью данной криптосистемы, открытого текста. Степень неспособности криптосисте- • Здесь и везде далее в книге автор, естественно, имеет в виду английский алфавит. мы к раскрытию называется ее стойхостью. Точное описание работы (математическая модель) криптографической системы называется ее криптографинесхой схемой, или криптосхемой. Существуют несколько способов, в соответствии с которыми могут быть расклассифицированы все криптографические системы. Обычно в качестве основной принимается следующая классификация: • Криптосистемы ограниченного использования • Криптосистемы общего использования * с секретным ключом * с открытым ключом. Будем говорить, что криптографическая система является криптосистемой ограниченного использования, если ее стойкость основывается на сохранении в секрете самого характера алгоритмов шифрования и дешифрования. Простейшим историческим примером такой системы можно считать так называемый шифр Юлия Цезаря, который представляет собой простую замену каждого символа открытого текста третьим следующим за ним символом алфавита (с циклическим переносом, когда это необходимо). Например, слово «cleartext» при таком шифровании превращается в «f ohduHhaH». Криптосистемы ограниченного использования обычно разрабатываются любителями и почти всегда являются детской забавой для опытного криптоаналитика-профессионала. Гораздо важнее то, что такие системы вообще не используются в современной ситуации, когда должна обеспечиваться работа большого числа пользователей. Шифры, которые служат примерами криптосистем ограниченного использования, в настоящей книге не обсуждаются. Криптографическую систему назовем криптосистемой общего использования, если ее стойкость основывается не на секретности алгоритмов шифрования и дешифрования, а на секретности некоторого сравнительно короткого значения, которое называется ключом этой криптосистемы. Тгжие ключи должны легко вырабатьшаться конкретными пользователями при помощи их собственных ключей таким образом, чтобы при этом даже раэ-работчик криптосистемы не мог ее раскрыть при условии, что у него нет доступа к тем ключам, которые в ней действительно используются. В некоторых применениях (главным образом в военных, дипломатических и разведывательных ведомствах) у разработчика общей криптосистемы нет никаких причин делать общедоступным описание существа ее алгоритмов. Сохргшяя такзгю информацию в тайне, можно обеспечить дгже некоторую дополнительную безопасность. Однако решаюпщм обстоятельством, позволяющим полагаться на секретность такой информации, это не является, поскольку ничего нельзя сказать о том, когда она может быть скомпрометирована. По этой причине, исследования надежности таких систем всегда должны проводиться в предположении, что потенциальному противнику о криптосистеме известно все, за исключением реально используемого секретного ключа. А если противник такими знаниями на самом деле не обладает, то это даже лучше. Для других типов применений, подобных, например, большим финансовым комплексам, в действительности лучше раскрывать, как ргьботают их криптосистемы, поскольку в противном случае пользователи всегда будут подозревать, что возможно все-таки существует какой-то скрываемый от них метод раскрытия такой криптосистемы. Одним из очевидных требований обеспечения стойкости общей криптографической системы является огромное количество возможных ключей, которое не позволяет провести исчерпывающий поиск (когда осуществляется попытка систематического дешифрования заданного шифртекста, используя при этом каждый из возможных ключей до тех пор, пока не получится некий осмысленный открытый текст). Например, при наивном подходе шифр Юлия Цезаря можно рассматривать как пример общей криптосистемы (с ключом * = 3), шифрование в которой заключается в замене каждого очередаого символа открытого текста Аг-тым после него символом соответствующего алфавита, где к - некий секретный ключ. Но тгжое обобщение является бесполезным, потому что оно предоставляет возможность использования лишь 25 нетривиальных ключей, и тем самым обеспечивает простоту полного перебора для любого, кто предположительно знает метод шифрования (по крайней мере тогда, когда згшгафровалн 0 1 2 3 [ 4 ] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |