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

Три студента ФИТ НГУ разработали новый способ блочного симметричного шифрования информации. Дмитрий Шишлянников (третий курс) представлял эту разработку на конференции BigData, которая проходила в Москве в начале сентября. Кроме него над данным проектом работали Никита Збитнев и Дмитрий Гридин, студенты третьего и второго курсов, все это они делали под руководством доцента ФИТ НГУ Сергея Кренделева.

Студенты объяснили, как их разработка может применяться в разных сферах жизни и как она касается каждого из нас. Кто-нибудь думал о том, что хакер может поджечь ваш дом, если взломает чайник, подключенный к wi-fi? Об этом, квантовых компьютерах и особенностях шифрования разработчики рассказали в интервью для «Воды».

— Расскажите о конференции BigData, на которой вы представляли свою разработку. О ней информации очень мало.

Дмитрий Шишлянников:

— Конференция была на тему работы с большими объемами данных, и на ней собрались, в основном, представители банков. Суть в том, что от большой клиентской аудитории банка поступает большое количество информации одновременно: звонки в поддержку, запросы по операциям — куча всего, что нужно анализировать, на что отвечать и еще в каком порядке это делать. Такие большие потоки информации нужно как-то обрабатывать и один, пять, да хоть сто человек все равно это не обработают, поэтому привлекаются компьютеры, машинное обучение. Все эти данные в основном никак не защищены, потому что столь большой объем информации зашифровать сложно.

Никита Збитнев:

— Добавлю, что, разрабатывая концепцию BigData, они не подразумевали, что кто-то сможет обработать такое количество данных, кроме них.

Дмитрий Шишлянников:

— Так вот им нужен какой-то шифр, который будет быстро работать, при этом не потреблять много памяти, и тут появляемся мы.

— Можете подробнее объяснить свою разработку, что же именно вы придумали?

Дмитрий Шишлянников:

— Ну, по-хорошему, мы придумали штуку, которая быстро и надежно зашифрует кучу информации.

Никита Збитнев:

— Если чуть подробнее, то сейчас наука и разработки упираются именно в то, что теоретически могут существовать квантовые компьютеры. Они отличаются от текущих тем, что при меньшей стоимости и мощности они могут обрабатывать гораздо быстрее и точнее все данные. Иначе говоря, если их сделают, то они «сломают» всю систему, что была до этого.

Мы не требуем много ресурсов для нашего шифрования, нам достаточно такого чайника, потому что наш шифр блочный. Вот поэтому для интернета вещей наша штука тоже подходит.

— Насколько сильно сейчас квантовые компьютеры отличаются от обычных?

Дмитрий Шишлянников:

— Обычный компьютер делает все очень долго, невменяемо долго, там тысячу лет, а квантовый компьютер те же самые операции должен делать за доли секунды. Сейчас все придумывают, как сделать шифр, который квантовым компьютером не будет взламываться быстро, который будет переходить от одних математических действий к другим более запутанно. Вот у нас есть текст, есть пароль-ключ, которым мы шифруем. Мы вводим пароль, говорим «зашифруй нам с таким паролем файл», и файл зашифровывается. Дальше мы еще раз этот же самый файл и этот пароль вводим, и получается так, что два зашифрованных файла друг от друга отличаются, и так каждый раз. Сколько раз не шифруй, тот же самый файл с тем же самым ключом будет шифроваться по-разному. Это считается самым сложным.

— Смотрите, а если случится вот так: у нас есть компьютер, на котором лежит файл, у нас есть пароль, мы шифруем файл с помощью этого пароля, как-то передаем данные на следующий компьютер. В теории может же так случиться, что у вас пару битиков этого ключа побьется?

Дмитрий Шишлянников:

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

Никита Збитнев:

— То есть мы с этим не связаны, но у нас есть три команды, которые занимаются обменом ключами, а мы единственные занимаемся блочным шифрованием. Так работаем в нашей лаборатории и при поддержке JetBrains Research.

— Приведите пример, в каких еще сферах может быть использована ваша разработка, кроме как BigData?

Никита Збитнев:

— Изначально все это разрабатывалось для интернета вещей.

Дмитрий Шишлянников:

— Но нужды те же самые. У вас дома стоит чайник, чайник подключается к wi-fi, вы едете домой и с телефона можете кнопочку нажать, чтобы чайник включился и вскипятил воду, а вы пришли домой и чай себе налили. Хакер подключается к этому чайнику, включает его сто раз, чайник загорается, вы приезжаете домой, а дом сгорел. Как бы не очень приятная ситуация, поэтому чайники тоже нужно как-то защищать.

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

Мы не требуем много ресурсов для нашего шифрования, нам достаточно такого чайника, потому что наш шифр блочный. Вот поэтому для интернета вещей наша штука тоже подходит.

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

— Почему вас заинтересовал именно интернет вещей?

Дмитрий Шишлянников:

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

— А как вообще вам пришла эта идея? Кто-то из вас это придумал, или ваш куратор вам предложил?

Никита Збитнев:

— У нас есть руководитель — Сергей Федорович Кренделев. Он шифрованием и криптографией занимается последние пять лет. Два года назад он набрал летнюю школу, мы пришли туда, он выдал список проектов.

Дмитрий Шишлянников:

— Он сказал: «Вот у нас есть проекты летней школы, связанные с обменом ключами, а есть с блочным шифрованием». Мы спросили: «Что такое блочное шифрование?». А он: «Так, обмен ключами забрали, вот вам блочное шифрование».

Никита Збитнев:

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

Дмитрий Шишлянников:

— Как раз к МНСК у нас случился творческий кризис. Мы поняли, что идем куда-то не туда. В итоге на летней школе, куда мы пришли со своим проектом, нам дали первокурсника (он только перешел на второй курс) для того, чтобы он поработал с нами. Вот Дима и вдохнул новую жизнь в этот проект. Мы немного переосмыслили идею, оставили основное и начали делать, получили в итоге какого-то монстра вот этого в виде шифра.

— Сложно ли было вам в группе над этим работать? Как вы распределяли обязанности?

Никита Збитнев:

— Да, когда было десять человек, было невозможно. Мы, второкурсники, вообще ничего не понимаем, а здесь какое-то шифрование, какие-то модули, матрицы... Все закрыли сессию с мыслями: «Зачем нам вообще все это надо?», а тут нам дают эти задания, где надо читать, думать, а еще все приходят с вопросами: «А что мне делать? А что ему делать? А мы что-нибудь делаем? А что будет?». В итоге в первый год было очень тяжело. К этому году мы пришли уже с большим пониманием всех процессов. Я, в основном, занимался теоретической базой, а Дима (Шишлянников) отвечал за основу управления, распределение ресурсов.

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

Дмитрий Шишлянников:

— Да как-то все получилось само по себе. У нас просто есть доска в Trello, мы туда загружаем карточку и все. Берет тот, кому это задание больше подходит и кто его может сделать. Дима (Гридин) вот сделал просто что-то гениальное. Сначала у нас гигабайт шифровался час, это непростительно много. Дима сидел, работал над этим и в итоге отдал нам тот же самый алгоритм, в котором шифрование стало занимать минуту – минуту десять в одну сторону. Это уже хорошо.

— Дима, расскажи поподробнее, что ты сделал, когда пришел в команду?

Дмитрий Гридин:

— Когда я только пришел, у меня были такие же мысли, как и у ребят: «Я только что закрылся, зачем оно мне опять надо?». Потом посидел, поразбирался, довольно быстро вник, даже не столько в математику, сколько в алгоритмы, ну и начал все переписывать.  Вообще, я в зимней школе участвовал, где занимался криптографией. Мы делали какой-то алгоритм для мобильников, тоже легковесный. Мы над ним работали-работали, а потом школа закончилась и все. Когда я пришел в команду, оказалось, что этот алгоритм взяли ребята.

Дмитрий Шишлянников:

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

— В какую сторону планируете развивать свой проект дальше?

Дмитрий Шишлянников:

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

Дмитрий Гридин:

— Ну и по скорости так же не предел, можно оптимизировать.

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

Дмитрий Шишлянников:

— Да, если мы сейчас близки ко всем популярным ребятам, то мы можем стать и лучше, быстрее, сильнее, выше.

Никита Збитнев:

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

Дмитрий Шишлянников:

— Раньше делали блочные шифры, потому что, по идее, они должны быть суперстойкие и суперклассные, но им не хватало вычислительной мощности. Те блочные шифры, которые существовали, были очень тяжелые, словосочетание «легковесный блочный шифр» — это несовместимые вещи. С восьмидесятых годов вычислительные мощности возросли в тысячи раз и блочные шифры, даже старые, запускать — плевое дело. Сделать легковесный блочный шифр считается реальным. Это то, что мы и сделали.

Текст: Мария Гурова

Фото: Анна Ненашева

Последняя редакция: 11.10.2017 13:07