Основной принцип современной криптографии с открытым ключом – это наличие двух ключей: один запирает ящик, а другой его отпирает. Владелец ящика Боб сообщает всем ключ, которым можно запереть «его» ящик, при этом ключ, который открывает ящик, он держит в секрете. Теперь любой может запереть что-то в ящике Боба с помощью доступного всем ключа, а вот ключ к содержимому есть только у самого владельца, и вскрыть ящик не сможет никакая вычислительная сила в мире.
У этого принципа существуют разные вариации и дополнения. Одна из общепринятых метафор – конверт: любой может поместить что-то внутри адресованного Бобу конверта и запечатать его, но только Боб может распечатать свои конверты. (В цепочках ремейлеров, которые мы только что обсуждали, как раз используется сколь угодно вложенных друг в друга конвертов.)
Итак, криптография управляет местным доступом к какой-либо тайне. Допустим, у пользователя есть закрытый ключ, известный только ему. Тогда любые послания, зашифрованные его открытым ключом, может расшифровать только он. Пока закрытый ключ остается в секрете, зашифрованные сообщения больше никому не доступны.
Надежность ключей определяется их длиной, то есть количеством битов. К примеру, чтобы взломать «слабый» ключ из сорока или пятидесяти бит, достаточно персонального компьютера. Ключи длиной от шестидесяти четырех до восьмидесяти бит посильнее, хотя все еще пробиваемы. Использовать шифры из нескольких сотен бит ненамного сложнее, однако такие ключи способны выдерживать лобовые атаки на протяжении столетий, если не тысячелетий. Криптография с открытым ключом обладает тем важным свойством, что зашифровать текст с помощью длинного ключа гораздо проще, чем взломать такой шифротекст, не имея закрытого ключа. Удлинение ключа экспоненциально повышает сложность взлома. Поэтому увеличение компьютерных мощностей легко компенсируется применением более длинных ключей. Даже «массивные параллельные вычисления», на которые несведущие люди часто ссылаются как на способ взломать такие шифры, предлагают лишь незначительное, линейное ускорение атак взломщиков… уж точно несравнимое с усилиями и ресурсами, необходимыми для операций с большими числами. Противостояние быстрым компьютерам – огромная победа мощной криптографии.
Важное отличие современной криптографии от классического шифрования – асимметричность ключей, тогда как при традиционном шифровании участники общения вынуждены иметь один и тот же ключ. Обменяться ключом с сотнями или тысячами корреспондентов куда сложнее, чем попросить прислать или просто поискать чей-то открытый ключ. И что для нас важнее всего: асимметричное шифрование – единственный подход, при котором такое осуществимо! Взять хотя бы электронные подписи, которые в принципе возможны только в том случае, если закрытый ключ хранится в секрете. При традиционном подходе к шифрованию тот, кому известен секретный ключ, мог бы подделывать подписи, снимать деньги и бесчинствовать как ему вздумается. А свойство асимметрии позволяет безошибочно идентифицировать подпись и при этом не знать ключа, с которым ее можно подделать.
В свете затронутых в этой книге тем криптография выполняет роль непробиваемого силового поля вокруг зашифрованного контента вроде «пузырей» в романе Винджа «Война с Миром». Для вычисления достаточно длинного ключа, например RSA с модулем в несколько тысяч цифр, потребовалась бы энергия (не говоря уже о количестве компьютеров и временн ы х затратах), превышающая энергию всех звезд во Вселенной. (Математически это пока не доказано: нет доказательства того, что факторизация больших чисел представляет собой «NP-трудную» задачу. Не исключено, что когда-нибудь случится грандиозный прорыв в сверхскоростных вычислениях, однако практически все математики сходятся во мнении, что подобное крайне маловероятно. Равно как и слухи о том, что в NASA известен способ быстрой факторизации больших чисел, а следовательно, и возможность взлома RSA.)
Криптографические дебаты
То, что власти боятся разрешить гражданам свободно пользоваться мощной криптографией, совершенно очевидно. Правительства по всему миру уже борются с этой угрозой разными путями, от наложения ограничений на длину ключей и виды алгоритмов или требований хранения депозитных ключей в государственных службах до полного запрета криптотехнологий.
По сути, это борьба за право послать чьи-то мысли и записи в запечатанном конверте в отличие от их написания на «открытке», которую может прочитать правительство (по выражению Фила Циммерманна).
Читать дальше