1.4 Наука о шифрах

Необходимо признать, что в историческом масштабе сравнительно долгое время создание шифров было уделом чудаков-одиночек, занимавшихся этим чаше всего для собственного удовольствия или по заказу высокопоставленных особ.

Постепенно, с повышением спроса на всевозможные шифры, их придумывание стало своего рода искусством. Этот исторический период развития искусства создания шифров длился с древних времен до начала XX века, то есть до появления первых шифровальных машин. Примерно в середине XX века понимание того, что при создании шифров решаются задачи в первую очередь математического характера, привело к созданию новой науки о шифрах.

Криптография, криптоанализ, криптология

Предметом новой науки стали изучение и разработка таких методов и способов преобразования информации, которые обеспечили бы надежную защиту каких-либо сведений от незаконных пользователей даже в том случае, если шифрованое сообщение окажется в распоряжении противника. Эта наука стала называться криптографией.

Криптография — это наука о способах преобразования (шифрования) информации с целью ее защиты от незаконных пользователей. Другими словами, под криптографией понимается наука, занимающаяся изучением и разработкой методов преобразования информации, которые бы не позволили незаконным пользователям извлечь эту информацию из перехватываемых сообщений.

Специалисты, придумывающие всевозможные шифры, называются криптографами.

Добавим, что криптография — это прикладная наука, которая использует самые последние достижения фундаментальных наук, в первую очередь математики. В то же время все конкретные задачи, решаемые при практическом применении криптографии, существенно зависят от уровня развития техники и технологии, от применяемых средств связи и способов передачи информации.

В своем развитии криптография, как и многие другие науки, прошла несколько стадий: криптография как ремесло, криптография как искусство и, наконец, криптография как наука. Конечно же, вся история криптографии связана с большим количеством государственных, военных и дипломатических тайн и поэтому окутана туманом легенд.

Как уже отмечалось, на каждого человека, который придумывал какой-либо шифр, во все времена находился другой человек, который старался этот шифр разгадать. Невидимое соперничество между создателями и взломщиками шифров с переменным успехом продолжается с древнейших времен до наших дней. В результате появилась наука, изучающая различные способы разгадывания шифровальных или дешифровальных методик. Эта наука называется криптоанализом. В своем развитии криптоанализ прошел все те же стадии, что и криптография, то есть от ремесла через искусство к науке.

Криптоанализ — это наука о методах и способах вскрытия шифров с целью получения защищаемой информации незаконными пользователями.

При этом специалисты, осуществляющие атаку на чужой шифр, разгадывающие или взламывающие чужие шифры, называются криптоаналитиками.

Взаимоотношение криптографии и криптоанализа очевидно. Если криптография занимается защитой информации от незаконных пользователей, разрабатывая всевозможные шифры, то главная задача криптоанализа — разработка методов и способов вскрытия этих самых шифров. Таким образом, эти две науки неразрывно связаны друг с другом. Не бывает хороших криптографов, не владеющих методами криптоанализа, как не бывает криптоаналитиков, не знающих криптографии. Более того, в последнее время наряду со словами «криптография» и «криптоанализ» часто встречается и слово «криптология». Само слово «криптология» произошло от слияния двух слов: «криптос» и «логос», что в переводе с греческого означает «тайный» и «мысль».

Пока предмет и задачи этих взаимосвязанных наук уточняются специалистами. В то же время большинство из них придерживаются мнения, что криптология — это наука, состоящая из двух ветвей, а именно из криптографии и криптоанализа. Современные специалисты рассматривают криптоанализ и как область криптологии, занимающуюся проверкой и доказательством устойчивости шифров как теоретически, так и практически.

На основании изложенного предметом криптологии можно считать не только методы и способы преобразования информации законными пользователями с помощью шифрования, но и методы и способы вскрытия шифров незаконными пользователями, а также анализ устойчивости шифров.

Необходимо отметить, что роль криптологии в современном мире, когда компьютерные технологии получили массовое распространение, продолжает возрастать. Поэтому область применения в первую очередь криптографии не только значительно расширилась, но и преобразилась. Если раньше криптографы занимались, говоря научным языком, шифрованием и расшифровыванием конфиденциальной информации в системах связи, то в последнее время у них появились задачи, которые непосредственно не связаны с защитой информации. К таким задачам в первую очередь относятся разработка систем электронной цифровой подписи, разработка методов идентификации удаленных пользователей, разработка систем электронных платежей, разработка протоколов выборов и многие другие.

Стойкость шифра. Проверка стойкости

Как указывалось ранее, при передаче какого-либо секретного сообщения по каналу связи передается уже не сама защищаемая информация, а результат ее преобразования с помощью шифра. При этом, если незаконный пользователь заинтересован в получении этой информации, он должен провести атаку на шифр и попытаться его вскрыть или взломать. Насколько такие попытки будут успешными, зависит от многих факторов, и в первую очередь от стойкости шифра или его надежности.

Стойкость шифра специалисты определяют как способность шифра противостоять всевозможным атакам на него, то есть способность шифра противостоять попыткам его вскрытия или взлома.

Естественно, что понятие стойкости шифра является основополагающим для криптографии. Тем не менее получить обоснованные оценки стойкости того или иного шифра в настоящее время довольно сложно. В поисках решения этой проблемы специалисты в области криптоанализа обычно идут двумя путями, а именно теоретическим и практическим.

Во-первых, проводится так называемое теоретическое обоснование стойкости шифра, которое заключается в получении количественных оценок трудоемкости его вскрытия. Для решения этой задачи современная криптография использует развитый математический аппарат с широким использованием достижений теории вероятностей, математической статистики, логики, теории чисел и дискретной математики.

Во-вторых, стойкость конкретного шифра оценивается чисто практически, а именно путем всевозможных попыток его вскрытия. При этом стойкость того или иного шифра в значительной степени зависит от квалификации криптоаналитиков, атакующих этот шифр. Такую процедуру специалисты иногда называют проверкой стойкости. Значительную роль при выполнении этой проверки играет продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр.

Разработкой методов и способов теоретического обоснования стойкости того или иного шифра занимаются высококвалифицированные специалисты-математики. В то же время выполнить практическую проверку какого-либо простейшего шифра может попробовать любой желающий. При этом рекомендуется придерживаться определенной последовательности действий.

Во-первых, следует четко понимать, от какого незаконного пользователя предполагается защищать информацию с помощью проверяемого шифра. При этом желательно представлять, что именно этот незаконный пользователь может узнать или уже знает о данном шифре. Не менее важно хотя бы приблизительно предполагать, какие силы и средства могут быть применены для вскрытия шифра. Так, например, два одноклассника при переписке могут применять один из шифров, рассмотренных в следующих главах этой книги. Для защиты информации от третьего одноклассника, выступающего в роли незаконного пользователя, они могут воспользоваться, например, шифром Цезаря. При этом законным пользователям желательно хотя бы знать, нет ли в распоряжении незаконного пользователя точно такой же книги. А если нет, то не может ли он ее приобрести в ближайшем книжном магазине?

Во-вторых, при практической проверке стойкости того или иного шифра необходимо мысленно поставить себя на место предполагаемого незаконного пользователя и попробовать с его позиции атаковать шифр. При этом следует попытаться придумать несколько вариантов действий или алгоритмов с учетом сил, средств и возможностей противника На этом этапе проверки лучше переоценить, чем недооценить интеллектуальные способности незаконного пользователя.

В-третьих, из нескольких придуманных вариантов действий необходимо выбрать наилучший и с его помощью попробовать разгадать шифр.

Естественно, если с применением приведенной методики шифр будет сравнительно быстро взломан, то его стойкость минимальна Такой шифр для защиты информации лучше не использовать.

Ключ к шифру

Конечно же, при разработке шифров специалисты стремятся добиться как можно большего уровня его стойкости и продлить время его использования. Это необходимо в первую очередь для того, чтобы тот или иной шифр можно было использовать для шифрования как можно большего количества сообщений. Однако может возникнуть ситуация, когда незаконный пользователь уже вскрыл шифр, читает все секретные сообщения. При этом законный пользователь может о вскрытии шифра даже и не догадываться.

Поэтому криптографы придумали сменный элемент шифра, который назвали криптографическим ключом. Его значение примерно такое же, как и у обычного ключа от замка двери или сейфа.

Так, например, если кто-нибудь захочет проникнуть в чужую квартиру, то ему для того чтобы открыть замок, надо во-первых, знать принцип устройства замка, а во-вторых, подобрать ключ. В этом примере замок условно можно сравнить со способом шифрования, то есть с шифром. Незваный гость может разгадать устройство и принцип действия замка, а незаконный пользователь может взломать шифр. Но для того чтобы попасть в квартиру, чужаку потребуется еще и подобрать ключ. Точно так же для расшифровки конкретного секретного сообщения незаконный пользователь должен знать ключ использованный для шифровки данного сообщения с помощью этого шифра. Конечно, предлагаемое разъяснение применимо только в том случае, если шифр подразумевает использование ключей.

Возможно, вору удалось открыть замок с помощью подобранного ключа. Однако это не означает, что он сможет постоянно посещать эту квартиру. Хозяин квартиры может сменить или весь замок, или только лишь соответствующий элемент замка вместе с ключом, не меняя весь замок. Конечно же, выгоднее заменить в замке лишь одну деталь, чтобы избежать лишних затрат на покупку нового замка. Кстати, в большинстве замков такой внутренний элемент, заменяемый при смене ключей, называют личинкой.

Аналогичную операцию можно провести и с шифром. После его вскрытия законный пользователь имеет две возможности. Или заменить полностью шифр, или же заменить только ключ. Следует отметить, что чаще всего второй путь не менее эффективен, чем первый, хотя значительно проще и дешевле. Даже если незаконный пользователь понял способ шифрования и подобрал ключ для чтения определенного сообщения, шифр можно применять еще долгое время, периодически меняя ключи.

Итак, криптографический ключ — это специальный сменный элемент шифра который применяется для шифрования конкретного сообщения.

Разнообразные ключи в шифрах применяются с глубокой древности. Более подробно о них будет рассказано в соответствующей главе. Однако пока отметим, что в древнегреческом шифре «Сцитала» ключом являлся диаметр соответствующей палочки, в шифре Цезаря — цифра определяющая перемещение букв криптограммы относительно букв открытого текста а в шифре Виженера — какое-либо слово или фраза.

Принцип, способ шифрования или, например, сам шифр могут стать известными незаконному пользователю. В его руки может попасть даже шифровальная машина как, например, в истории с немецкой машиной «Энигма», попавшей во время Второй мировой войны к англичанам. Однако этого будет, скорее всего, недостаточно для того, чтобы незаконный пользователь получил возможность читать все секретные сообщения, зашифрованные с помощью этого шифра или шифровальной машины. Достаточно заменить ключ, от которого существенно зависят применяемые преобразования информации, и все усилия противника будут безрезультатны до тех пор, пока ему не станет известен новый ключ.

Теперь законные пользователи, прежде чем обмениваться шифрованными сообщениями, должны втайне от незаконных пользователей обменяться ключами или же заранее установить одинаковый ключ на обоих концах системы связи. При этом в любой момент по взаимной договоренности ключ шифра может быть заменен. А у незаконных пользователей периодически появляется новая забота — после смены ключа необходимо его определять, чтобы читать зашифрованные с помощью нового ключа сообщения.

Можно утверждать, что безопасность информации, защищаемой с помощью какого-либо шифра, в первую очередь определяется ключом этого шифра, поскольку без знания этого ключа невозможно получение открытого текста и извлечение истинного смысла сообщения. Поэтому в настоящее время криптографические ключи являются важнейшим элементом шифра, значимость которого сопоставима лишь с самим шифром. Естественно, изготавливаются и хранятся криптографические ключи куда более тщательна чем стальные аналоги. За их разработку отвечают специальные криптографические службы.

При выборе ключа не следует забывать о том, что существуют два простейших метода вскрытия шифра.

Во-первых, это случайное угадывание ключа. Данный метод сравнительно прост, хотя и срабатывает с маленькой вероятностью. Дело в том, что большинство людей в качестве ключей подсознательно стараются использовать легко запоминающиеся слова. Поэтому на основе статистических данных составлены специальные таблицы, в которых собраны слова, наиболее часто используемые в качестве ключей и паролей. Помимо этого, каждый конкретный пользователь в качестве ключа или пароля может использовать имена и фамилии родных и близких, а также известных личностей и даже клички домашних животных. Естественна такой подход к выбору ключа для шифра значительно облегчает незаконному пользователю взлом этого шифра в том случае, если взломщик имеет какую-либо информацию о личной жизни законного пользователя.

Во-вторых, незаконный пользователь может попробовать перебрать подряд все возможные ключи до тех пор, пока не будет найден нужный. Так, например, если незаконному пользователю известна что в качестве ключа используется слово из семи букв, то достаточно взять словарь, перебрать все слова, состоящие из семи букв, и, в конце концов, ключ будет найден. Конечно же, это длительная и утомительная процедура. Однако с помощью современной компьютерной техники все значительно упрощается, поскольку составить соответствующую программу в ряде случаев сможет даже школьник. Этот метод, несмотря на его сложность, срабатывает в большинстве случаев, поэтому не следует сомневаться в том, что в распоряжении заинтересованных лиц всегда могут оказаться сложнейшие компьютерные программы, обеспечивающие подбор ключа к шифру.

Выбор шифра

Необходимо признать, что на протяжении многих веков среди специалистов не утихали и до сих пор ведутся споры о стойкости шифров и о возможности построения абсолютно стойкого шифра Такой шифр можно создать на основе так называемой ленты однократного использования, в которой открытый текст объединяется с полностью случайным ключом такой же длины. Однако рассмотрение данного шифра выходит за рамки предлагаемой книги.

В то же время автор придерживается точки зрения, высказанной одним из «отцов» кибернетики, Норбертом Винером, который считал, что любой шифр может быть вскрыт, если только в этом есть настоятельная необходимость, а информация, которую предполагается получить, стоит затраченных средств, усилий и времени. К тому же не существует единого шифра, подходящего для всех случаев жизни.

В настоящее время виды защищаемой информации весьма разнообразны. Эго могут быть, например, документальная или текстовая, компьютерная, телефонная и другая информация. Каждый вид защищаемой информации имеет свои специфические особенности, которые оказывают первоочередное влияние на выбор методов шифрования. Не меньшее влияние на выбор шифра оказывают объем и требуемая скорость передачи под лежащей защите информации.

Выбор шифра существенно зависит от ценности защищаемой информации, а также от характера защищаемых сведений. Так, например, государственные, дипломатические, военные и промышленные секреты должны сохраняться десятилетиями. В то же время, например, биржевые тайны обычно можно рассекретить уже через несколько часов.

При выборе того или иного шифра желательно реально понимать и оценивать возможности того незаконного пользователя, от которого защищается данная информация. Если предполагается защищать переписку между одноклассниками, например, от других одноклассников, то можно воспользоваться одним из простейших шифров. В то же время при необходимости защиты коммерческой тайны или промышленных секретов необходимо обратиться за помощью к высококвалифицированным профессионалам.

При обращении к специалистам предстоит решить еще одну важную проблему, а именно проблему соотношения цены защищаемой информации, затрат на ее защиту и предполагаемых затрат на ее добывание. Современные средства связи, разработка, установка и эксплуатация средств защиты информации имеют сравнительно высокую стоимость. То же самое касается и средств перехвата защищаемой информации. Поэтому, прежде чем принимать решение о способах защиты той или иной информации, любой заинтересованный в этом человек, частное лицо, предприниматель, руководитель предприятия или общественной организации должен определить, является ли защищаемая информация более ценной, чем стоимость предполагаемой защиты, а также является ли эта информация для предполагаемого незаконного пользователя более ценной, чем стоимость атаки и возможного взлома защиты.

Поэтому при выборе шифра для защиты информации приведенные выше соображения, а также финансовые возможности владельцев этой информации и являются решающими.