Выбор длины криптографического ключа

Выбор длины криптографического ключа Криптография

Криптографические ключи различаются по своей длине и, следовательно, по силе: ведь чем длиннее ключ, тем больше число возможных комбинаций. Скажем, если программа шифрования использует 128-битные ключи, то ваш конкретный ключ будет одной из 2128 возможных комбинаций нулей и единиц. Злоумышленник с большей вероятностью выиграет в лотерею, чем взломает такой уровень шифрования методом «грубой силы» (т. е. планомерно перебирая ключи, пока не встретится нужный). Для сравнения: чтобы подобрать на стандартном компьютере симметричный 40-битный ключ, специалисту по шифрованию потребуется около 6 часов. Даже шифры со 128битным ключом до некоторой степени уязвимы, т. к. профессионалы владеют изощренными методами, которые позволяют взламывать даже самые сложные коды.

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

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

Читайте: Как заработать на инвестициях в искусственный интеллект? Краудфандинг Daisy от компании EndoTech. Обзор и отзывы о смарт-контракте

Подсчитать сложность атаки методом тотального перебора достаточно просто. Если ключ имеет длину 64 бита, то суперкомпьютер, который может опробовать 1 млн ключей за 1 с, потратит более 5000 лет на проверку всех возможных ключей. При увеличении длины ключа до 128 бит этому же суперкомпьютеру понадобится 1025 лет, чтобы перебрать все ключи. Можно сказать, что 1025 — это достаточно большой запас надежности для тех, кто пользуется 128-битными ключами.

Однако прежде чем броситься спешно изобретать криптосистему с длиной ключа, например, в 4000 байт, следует вспомнить о сделанном выше предположении: используемый алгоритм шифрования идеален в том смысле, что вскрыть его можно только методом тотального перебора. Убедиться в этом на практике бывает не так просто, как может показаться на первый взгляд.

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

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

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

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

Конечно, разложение большого числа на множители — задача трудная. Однако сразу возникает резонный вопрос, насколько трудная. К несчастью для криптографов, ее решение упрощается, и, что еще хуже, значительно более быстрыми темпами, чем ожидалось. Например, в середине 70-х годов считалось, что для разложения на множители числа из 125 цифр потребуются десятки квадрильонов лет. А всего два десятилетия спустя с помощью компьютеров, подключенных к сети Internet, удалось достаточно быстро разложить на множители число, состоящее из 129 цифр. Этот прорыв стал возможен благодаря тому, что за прошедшие 20 лет были не только предложены новые, более быстрые, методы разложения на множители больших чисел, но и возросла производительность используемых компьютеров.

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

А почему не взять 10 000-битный ключ? Ведь тогда отпадут все вопросы, связанные со стойкостью несимметричного алгоритма шифрования с открытым ключом, основанном на разложении большого числа на множители. Но дело в том, что обеспечение достаточной стойкости шифра — не единственная забота криптографа. Имеются дополнительные соображения, влияющие на выбор длины ключа, и среди них — вопросы, связанные с практической реализуемостью алгоритма шифрования при выбранной длине ключа.

Чтобы оценить длину открытого ключа, будем измерять доступную криптоаналитику вычислительную мощь в так называемых мопс-годах, т. е. количеством операций, которые компьютер, способный работать со скоростью 1 млн операций в секунду, выполняет за год. Допустим, что злоумышленник имеет доступ к компьютерным ресурсам общей вычислительной мощностью 1000мопс-лет, крупная корпорация — 107 мопс-лет, правительство — 109 мопс-лет. Это вполне реальные цифры, если учесть, что при реализации упомянутого выше проекта разложения числа из 129 цифр его участники задействовали всего 0,03% вычислительной мощи Internet, и чтобы добиться этого, им не потребовалось принимать какие-либо экстраординарные меры или выходить за рамки закона.

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

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

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

Оцените статью
Добавить комментарий