Читаем Секреты и ложь. Безопасность данных в цифровом мире полностью

В этом прелесть ключа. Замок на вашей двери – это серийный продукт какой-то безликой компании, которую нисколько не заботит ценность вашей коллекции марочных вин, но вы и не должны им доверять. Они не говорят вам: «Помните, любой, у кого есть замок такой же марки, может открыть ваш замок». У вас есть ключ. Набор шпеньков в замке, соответствующий вашему ключу, отличает ваш замок от всех остальных замков в округе, несмотря на то что у них может быть та же модель. (На самом деле пример упрощен. Вы все же должны принять на веру, что они правильно собрали замок и не припасли запасных ключей. Но мы пока что не принимаем это во внимание.)

Дверной замок служит примером такой же модели защиты, какую в 1466 году привнес в криптографию Леон Баттиста Альберти, известный итальянский архитектор эпохи Возрождения, создав криптографический ключ. У кого угодно могут быть замки одинаковых моделей, но ключи у всех разные. Конструкция замка не является уникальной – у слесарей есть книги с подробными схемами, а большинство хороших моделей описаны в общедоступных патентах, – но ключ является тайной. У вас есть ключ, значит, вы можете отпереть дверь. Если вы одолжите ключ другу, то он сможет войти в дом. А тот, у кого ключа нет, останется на улице. (Слесарями в данном случае будут криптоаналитики; до них мы доберемся позднее.)

Применение такой модели в криптографии решает обе упомянутые выше проблемы. Алгоритмы, так же как и замки, можно стандартизировать. Стандарт шифрования данных (Data Encryption Standard, DES) – это общепринятый криптографический алгоритм, широко распространенный с 1977 года. Его использовали в тысячах различных программ для любых приложений. Самые сокровенные подробности устройства DES были опубликованы с первого дня его существования; их опубликовали даже до того, как этот алгоритм приняли в качестве стандарта. Доступность этого алгоритма не сказывается на безопасности, поскольку различные группы пользователей выбирают себе разные секретные ключи. Если Алиса и Боб пользуются одним ключом, значит, они могут общаться. Ева ключа не знает, следовательно, она не сможет прочесть их сообщения – даже если у нее есть точно такие же шифровальные программы, как у Алисы и Боба.

С помощью ключей решается задача включения и исключения людей из группы избранных. Если Алиса и Боб договорились о совместном использовании одного ключа и хотят, чтобы Ким Филби смог присоединиться к их общению, они просто дадут ему копию ключа. Если позже они решат, что Филби передает секреты Советскому Союзу, им нужно просто сменить ключ и не сообщать об этом Филби. С этого момента он исключен из системы и больше не сможет читать сообщения, зашифрованные новым ключом. (Увы, он все же может прочитать старые.)

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

Такие алгоритмы называют симметричными, потому что отправитель и получатель используют один и тот же ключ. Ключ представляет собой случайную строку битов некоторой длины: в 2000 году хорошей длиной ключа считалась длина в 128 бит. У различных симметричных алгоритмов – разная длина ключей.

Симметричные алгоритмы можно обнаружить в шифровальных системах всего компьютеризованного мира. Общепринятыми алгоритмами считают DES и тройной DES, RC4 и RC5, IDEA и Blowfish. Улучшенный стандарт шифрования (Advanced Encryption Standard, AES) вскоре станет стандартным алгоритмом шифрования правительства США[18]. При помощи этих алгоритмов обеспечивается безопасность частных сообщений электронной почты, индивидуальных файлов, электронных банковских операций и кодов запуска ракет с ядерными боеголовками. Эти алгоритмы препятствуют нарушению конфиденциальности.

Но они несовершенны.

Перейти на страницу:

Все книги серии Классика Computer Science

Похожие книги