27.05.2014 Views

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

362<br />

; ,<br />

руете свергнуть «антинародное правительство», вам необходимо всерьез задуматься<br />

о стойкости применяемого алгоритма шифрования.<br />

<strong>М</strong>ногие современные алгоритмы шифрования с открытым ключом основаны на<br />

однонаправленности функции разложения на множители числа, являющегося произведением<br />

двух больших простых чисел. Эти алгоритмы также могут быть подвергнуты<br />

атаке, подобной методу тотального перебора, применяемому против шифров с секретным<br />

ключом, с одним лишь отличием: опробовать каждый ключ не потребуется,<br />

достаточно суметь разложить на множители большое число.<br />

Конечно, разложение большого числа на множители — задача трудная. Однако<br />

сразу возникает резонный вопрос, насколько трудная. К несчастью для криптографов,<br />

ее решение упрощается, и, что еще хуже, значительно более быстрыми темпами, чем<br />

ожидалось. Например, в середине 70-х годов считалось, что для разложения на множители<br />

числа из 125 цифр потребуются десятки квадрильонов лет. <strong>А</strong> всего два десятилетия<br />

спустя с помощью компьютеров, подключенных к сети Internet, удалось достаточно<br />

быстро разложить на множители число, состоящее из 129 цифр. Этот прорыв<br />

стал возможен благодаря тому, что за прошедшие 20 лет были не только предложены<br />

новые, более быстрые, методы разложения на множители больших чисел, но и возросла<br />

производительность используемых компьютеров.<br />

Поэтому квалифицированный криптограф должен быть очень осторожным и осмотрительным,<br />

когда работает с длинным открытым ключом. Необходимо учитывать,<br />

насколько ценна засекречиваемая с его помощью информация и как долго она должна<br />

оставаться в тайне для посторонних.<br />

<strong>А</strong> почему не взять 10 000-битный ключ? <strong>В</strong>едь тогда отпадут все вопросы, связанные<br />

со стойкостью несимметричного алгоритма шифрования с открытым ключом, основанном<br />

на разложении большого числа на множители. Но дело в том, что обеспечение<br />

достаточной стойкости шифра — не единственная забота криптографа. Имеются<br />

дополнительные соображения, влияющие на выбор длины ключа, и среди них — вопросы,<br />

связанные с практической реализуемостью алгоритма шифрования при выбранной<br />

длине ключа.<br />

Чтобы оценить длину открытого ключа, будем измерять доступную криптоаналитику<br />

вычислительную мощь в так называемых мопс-годах, т. е. количеством операций,<br />

которые компьютер, способный работать со скоростью 1 млн операций в секунду,<br />

выполняет за год. Допустим, что злоумышленник имеет доступ к компьютерным ресурсам<br />

общей вычислительной мощностью 1000 мопс-лет, крупная корпорация — 107<br />

мопс-лет, правительство — 109 мопс-лет. Это вполне реальные цифры, если учесть,<br />

что при реализации упомянутого выше проекта разложения числа из 129 цифр его<br />

участники задействовали всего 0,03% вычислительной мощи Internet, и чтобы добиться<br />

этого, им не потребовалось принимать какие-либо экстраординарные меры или<br />

выходить за рамки закона. Из табл. 4.6 видно, сколько требуется времени для разложения<br />

различных по длине чисел.<br />

Сделанные предположения позволяют оценить длину стойкого открытого ключа в<br />

зависимости от срока, в течение которого необходимо хранить зашифрованные с его<br />

помощью данные в секрете (табл. 4.7). При этом нужно помнить, что криптографические<br />

алгоритмы с открытым ключом часто применяются для защиты очень ценной информации<br />

на весьма долгий период времени. Например, в системах электронных пла-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!