| |
Шифрование – это обратимое преобразование данных с целью их сокрытия от посторонних. Методов шифрования было придумано множество – от шифров простой замены (наиболее известный пример – «Пляшущие человечки» Конан Дойля) до принципиально невскрываемого шифра Вернама (двоичное сложение исходного текста с однократно используемой случайной последовательностью). Почти все методы шифрования используют ключ шифрования – секретную кодовую последовательность, используемую в процессе преобразования информации. Где то даже довелось прочестьтакое определение шифрованию: «Шифрование – это процесс замены Вашего большого секрета (документа) маленьким (ключом)». В случае применения шифра Вернама, ключ шифрования равен по длине шифруемому сообщению, да еще и должен использоваться однократно. И хотя шифр Вернама при правильном его применении обеспечивает «абсолютную» секретность, он не удобен для большинства применений. Современные криптосистемы используют ключ для шифрования длиной от 64 до 1024–2048 бит. Традиция мерить длину ключа в битах, видимо, останется с нами навсегда. Учитателя может возникнуть вопрос — откуда взялись такие цифры и почему TripleDES считается не менее надежным, чем 1024 битный RSA? И вообще, как зависит надежность шифрования(или, как говорят, стойкость шифра) от длины используемого ключа? Для того, чтобы ответить на эти вопросынеобходимо разобраться с тем, какие алгоритмы
шифрования сейчас используются на практике.
Вообще «классическими шифрами» принято называть симметричные блочные шифры. То есть те, которые для шифрования и расшифрования информации используют один и тот же ключ и шифруют информацию блоками. Длина блока обычно составляет 8 или 16 байт. Есть алгоритмы, допускающие переменную длину блока.Первым блочным шифром, широко использующимся на практике, стал DES (Data EncryptionStandard), разработанный специалистами IBM вначале 70х годов прошлого века и долгое времяслуживший стандартом для шифрования данных в США. Потом появилось много блочных алгоритмов – IDEA, Blowfish, советский ГОСТ28147 89 (и ныне являющийся отечественным стандартом). Оригинальный DES, к примеру, использовал ключ длиной 112 бит и блок шифрованиядлиной 64 бита. Но после его «анализа» специалистами NSA1 длина ключа была уменьшена до 64 бит. При этом в ключе было только 56 бит уникальных, а 8 бит – контрольных, служащих для контроля целостности ключа. Именно с ключом длиной в 56 бит DES и был утвержден в качестве Национального Стандарта. При том уровне развития вычислительной техники задача перебора 2**56 ключей за приемлемое время была или технически не выполнимой, или неоправданно дорогой. Сейчас DES c длиной ключа в 56 бит не представляется стойким алгоритмом. Большинство современных стойких симметричных алгоритмов используют ключ длиной 64–256 бит (8–32 байта). Необходимо отметить, что кроме блочных шифров существуют и активно используются поточные шифры. Они, как и блочные шифры, используют симметричный ключ, но выполняют шифрования входного потока побайтно или иногда побитно.
Идея поточного шифра состоит в том, что на основе симметричного ключа вырабатывается ключевая последовательность или гамма–последовательность, которая складывается по модулю два (операция xor) с входным потоком. Поточные шифры, как правило, более производительны, чем блочные и используются для шифрования речи, сетевого трафика и иных данных с заранее неизвестной длиной. При достаточно частой смене ключа для выработки гаммы поточные шифры обеспечивают достаточную стойкость. Вектор инициализации, как видно из его названия, является инициализирующей двоичной посылкой длиной равной блоку алгоритма. Вектор инициализации не является секретным элементом. В частности, в мобильной связи стандартом GSM предусмотрена возможность шифрования передаваемого голосового потока на участке от телефонного аппарата до базовой станции шифром A5, который является поточным. Салгоритмом A5 связана одна поучительная история. Изначально описание алгоритма A5 было закрытым. Но из за юридической ошибки компании владельца алгоритма его описание попало в Интернет и алгоритм был проанализирован. Его стойкость оказалась даже ниже стойкости DES. Осознав важность открытости алгоритмов для обеспечения их стойкости, разработчики третьего поколения сети GSM пообещали сделать предлагаемые к использованию алгоритмы шифрования голоса достоянием широкой криптографической общественности. Пример показывает важность наличия открытого описания алгоритма даже для самих его разработчиков. На сегодняшний день алгоритмы с длиной ключа 64 и больше бит обеспечивают приемлемую стойкость. Однако, зачем тогда использовать ключи длиной 512 и более бит? Ответ таков– эти ключи от другого замка! В семидесятых же годах прошлого века Диффи и Хэлман придумали абсолютно «новую» криптографию – криптографию с открытым ключом. Еще ее называют «открытой криптографией» или «несимметричной криптографией».
Страница 2 >>
|
|
|