Выбрать главу

хеширования! Медленный, ресурсов требует немерено. Паровоз в ХХI веке!

С Лешкой у меня были давние отношения. Мы вместе учились в аспирантуре в Высшей

Школе КГБ, вместе ездили в совхоз на картошку, пили там водку и запивали ее парным молоком.

Но и после аспирантуры наши криптографические пути тесно переплелись. Начальство в конечном

итоге направило нас обоих в один и тот же отдел Спецуправления 8 ГУ КГБ СССР, но меня, как

более старшего, сделали небольшим начальничком, а Лешку – старшим научным сотрудником в

моем отделении. Начальничек из меня вышел, честно говоря, хреноватенький, вместо

руководства подчиненными я сидел в кабинете и целыми днями изучал компьютер, а мой

подчиненный Лешка стал писать докторскую диссертацию. Ну и периодически терроризировал

мой воистину персональный компьютер: «Начальник, кончай работать, дай поиграть!» В конце

концов он меня достал: в его любимом Арканоиде я сделал 255 запасных ракеток вместо штатных

5, и после этого игра потеряла интерес – с 255 запасными ракетками любой дурак мог легко дойти

до морды Арканоида.

После 1991 года многое изменилось. Из Спецуправления многие ушли на волю. Я пытался

дотянуть до заветных 20 лет выслуги – не вышло, и в 1993 году тоже свалил оттуда.

Лешка в конце концов защитил докторскую и резко пошел на чиновничий верх. И вот

спустя почти 20 лет мы с ним встретились на Инфофоруме.

- Я наукой уже года 3 не занимаюсь. Некогда. Я каждый день по 250 бумаг подписываю.

Да, вот она, чиновничья доля. Писать докторскую только для того, чтобы потом

подписывать 250 бумаг в день.

- Давай я тебе расскажу про свой алгоритм хеширования. Он намного лучше твоего

Стрибога.

Бытие определяет сознание. Я, общаясь тогда с Лешкой, как-то забыл об этом основном

материалистическом постулате. Леха, конечно, для вида ответил: «Давай. Позвони мне на

следующей неделе», но все дальнейшие неоднократные попытки приподнести ему на блюдечке с

голубой каемочкой мой любимый алгоритм хеширования MCSSHA завершались одинаково: «Я

сейчас не могу, давай завтра». В конце концов он по-генеральски рявкнул на меня: «Что ты

хочешь? Есть уже стандарт хеширования, отстань, я человек занятой» и больше я с ним на эту тему

не общался.

А почему я так самоуверенно говорю, что MCSSHA лучше Стрибога?

1. Скорость вычисления хеш-функции. Когда, еще в Корее, я принимал участие в

международном конкурсе SHA-3, то подготовил программу для тестирования скорости

различных алгоритмов хеширования. С помощью этой программы я оценивал скорости

различных алгоритмов, представленных на этот конкурс. И в большинстве случаев

скорости были сопоставимы. Не один я тестировал скорости различных алгоритмов

хеширования. В Иллинойсе профессор Бернштейн создал специальный портал для

тестирования скорости хеширования различных алгоритмов на различных компьютерах по

всему миру. Любой желающий мог прислать туда свой алгоритм хеширования и потом

увидеть результаты тестирования его скорости в сравнении с другими алгоритмами. Я

послал туда несколько модификаций MCSSHA и потом увидел результаты независимого

тестирования их скорости. Они оказались на уровне других международных алгоритмов и

даже чуть выше среднего уровня. Стрибог же на этот портал не посылали. Возможно, что

не хотели позориться, а еще, как мне кажется, из-за описанного в предыдущей главе

Precomputing. Precomputing – типичный прием для асимметричной ЕС-криптографии с ее

операциями с большими векторами, но хеш-функция вполне может обойтись без

Precomputing. Если мы собираемся вычислять хеш, например, с помощью смарт-карты, то

там каждый килобайт на счету и транжирить целых 16 килобайт на Стрибог додумались

только в России. Международные требования к реализации хеш-функции просты и

понятны: Init, Update, Final. И никаких Precomputing! Так что если бы решились авторы

послать свой Стрибог на тестирование в Иллинойс, то пришлось бы им посылать туда

Стрибог без Precomputing. А такая реализация, по моим оценкам, медленнее большинства

алгоритмов-участников конкурса SHA-3 раз в 100. Precomputing ускоряет вычисление хеш-

функции Стрибога примерно в 10 раз, но все равно он остается гораздо медленнее

большинства международных алгоритмов хеширования.

2. MCSSHA прошел международную экспертизу на конкурсе SHA-3. Экспертами выступал

швейцарец Jean-Philippe Aumasson и его французская коллега Maria Naya-Plasencia. Я

подробно писал об этом во второй книжке «Криптография и Свобода». На мой взгляд, особо критических недостатков они найти не смогли, а от тех методов «birthday attack», которые они использовали, мне удалось достаточно быстро и эффективно защититься, что

в конце концов признал и сам Jean-Philippe Aumasson, выступая на конференции, посвященной Password Hashing Competition. По крайней мере, для MCSSHA никому не

удавалось найти никаких «near collision», как это сделали для Стрибога канадские

студенты (см. Rebound attacks on Stribog, Riham AlTawy, Aleksandar Kircanski and Amr M.

Youssef. Concordia Institute for Information Systems Engineering, Concordia University,

Montréal, Quebéc, CANADA)

3. Когда я готовил последнюю версию MCSSHA-8 для международного конкурса Password

Hashing Competition, проводимого под руководством Jean-Philippe Aumasson, то в

конечном итоге вся реализация на С++ заняла 5 Кбайт. Абсолютно вся реализация! И не

нужно для MCSSHA никаких Precomputing.

4. MCSSHA по своим функциональным возможностям гораздо шире Стрибога. Стрибог

вычисляет значение хеш-функции длиной только 32 или 64 байта, а MCSSHA может

вычислить хеш функцию любой длины от 4 до 64 байт, причем для одного и того же

сообщения все эти хеш-функции будут абсолютно различны и зная, например, хеш-

функцию длины N и не зная самого сообщения нельзя определить значение хеш-функции

другой длины того же сообщения.

Про хеширование – все. Стрибог – for ever!

Глава 1.2. Цифровизация

«Цифровизация – наше светлое будущее» - такой лозунг все чаще можно слышать сейчас

где угодно. А что такое цифровизация? И как она связана с криптографией? Мне, например, чисто

интуитивно кажется, что цифровизация тесно переплетена с криптографией и, в первую очередь, с

цифровой подписью. И, следовательно, настоящая цифровизация означает широкое применение

криптографии в повседневной жизни. И тут уже встает такой каверзный вопрос: возможна ли

настоящая цифровизация при существующей в настоящее время в России и описанной в

предыдущих главах «криптографической политике»? При ее фактических запретах на

общепризнанные международные криптографические стандарты, кулуарные процедуры выбора

общероссийских криптографических стандартов, чиновничью монополию на криптографию?

На мой взгляд, возможны два варианта.

Первый (наиболее вероятный). Чиновники объявят о наступлении какой-нибудь

«квалифицированной цифровизации», как уже объявили о «квалифицированных сертификатах».

Второй (невероятный). Криптографическая политика в России кардинально изменится.

полную версию книги