Берегите информацию
Впрочем, оставим в стороне проблему надежности криптоалгоритмов хэширования и шифрования. Оценить их без множества специальных знаний, скорее всего, не получится. Поэтому обычному пользователю нужно просто выбрать достаточно известную утилиту с открытым исходным кодом. Это позволит теоретически удостовериться в том, что в тексте нет «закладок» и прочих «пасхальных яиц» от правительств и корпораций. Если какой-нибудь из широко распространенных алгоритмов окажется скомпрометирован, поднимется шумиха на весь интернет — так что достаточно более-менее внимательно следить за новостями в мире паранойи. Будем считать, что используемый шифр достаточно надежен и соответствует перечисленным выше условиям «хорошей криптографии». Чтобы получить исходный текст, понадобится использовать метод перебора, то есть проверить все возможные значения пароля. Много это или мало? С одной стороны, величина получается очень и очень значительная. Для пароля длиной в восемь символов это получается 2 в 64-й степени вариантов. Это очень много. Если каждую секунду компьютер будет перебирать по миллиону вариантов (то есть 2 в 20-й степени), то потребуется около 500 тысяч лет на то, чтобы завершить процесс. С другой стороны, все зависит от бюджета взламывающей стороны — если он очень велик, то вместо того чтобы пользоваться обычными компьютерами, злоумышленники могут запустить производство специализированных плат проверки правильности ключей (их цена будет невелика) и установить параллельно миллион таких систем. В этом случае ключ будет взломан за полгода... Такой вот «лобовой» криптоанализ будто специально придуман для параллельных вычислений. У каждого процессора есть собственное поле работы, им не нужно обмениваться информацией — такое произойдет только в том случае, если шифр будет взломан. Таким образом, производительность возрастает линейно. Особенно перспективно в этом случае смотрятся микросхемы наподобие ПЛИС (программируемых логических интегральных схем). В идеале они способны провести проверку правильности ключа за один такт. Производительность таких систем может достигать десятков миллиардов проверок в секунду. Но не стоит надеяться, что шифрующая последовательность будет иметь полную криптостойкость. Из пространства большинства паролей можно исключить немало информации — например, непечатаемые символы, что в большинстве случаев фактически сокращает битовую ценность на единицу, и для 8-символьного пароля мы вместо 64 бит получаем 56... Один компьютер проверит все битовое поле за два года. Криптоаналитический центр с миллионом плат — за 10 дней. А ведь стандарт DES, который долгое время считался очень надежным, использует именно 56-битные пароли... Если же ключ не генерируется компьютером (далеко не каждый способен запомнить даже последовательности вроде:h3Mf*0h), а задается человеком, то ситуация получается еще более грустная. В свое время, когда я работал системным администратором, я заметил, что большинство людей выбирают себе пароли, абсолютно нестойкие к дешифровке. Например, используют только строчные буквы английского алфавита. Их всего 26, но мы возьмем с запасом, учитывая спецсимволы. Пусть их будет 32. Таким образом, ценность символа падает до пяти бит. Пароль из восьми символов превращается в 40-битный. Он вскрывается на одном компьютере за 10 дней. Криптоаналитическим комплексом — за секунду или того меньше. К тому же, если вспомнить эмпирический закон Мура, быстрое возрастание компьютерной мощности может в недалеком будущем привести к моментальному вскрытию подобных ключей. Еще хуже дело обстоит с теми, кто неспособен запомнить любую случайную последовательность и использует в качестве пароля словарную единицу. Предположим, что в языке 10 миллионов слов, но активный словарный запас среднестатистического человека — около трех тысяч слов. Такой пароль компьютер просчитает всего за несколько секунд. Конечно, практически невозможно заставить пользователя работать с длинными и «прочными» паролями. Эту необходимость нужно просто осознать. В противном случае навязанный пароль будет записан на бумажку и приклеен к углу монитора, что сведет его криптографическую ценность к нулю.
|