– Я тебя, Саша, вот чего позвал, – ректор подвинул кресло поближе, – есть у меня один парень на примете, как раз по твоей части. Возьми его в стажеры, приглядись, проверь, как мозги работают.
Александр Васильев, майор полиции, сотрудник управления «К», до сих пор чувствовал себя слегка неуютно в огромном ректорском кабинете, больше похожем размерами и содержанием на читальный зал крупной библиотеки, чем на рабочее помещение одного человека. Доводилось ему попадать сюда еще будучи студентом и вовсе не за отличное поведение. С тех пор прошел уже десяток лет, за которые они с хозяином этих царских палат стали, несмотря на разницу в возрасте, хорошими друзьями, но осадочек, как говорится, остался.
– Дмитрий Сергеевич, вы же знаете, у нас квоты сейчас все закрыты, сами не столько в делах, сколько в бумажках зашиваемся. Какие там стажеры, кто им заниматься будет?
– Так вот ты сам и посмотри. Возьми его к себе. Точно не прогадаешь.
– Чем он таким особым отличился?
– Анечка! – ректор нажал кнопку на допотопном интеркоме, стоящем на необъятном столе видимо еще с советских времен.
– Да, Дмитрий Сергеевич? – на удивление четко ответил динамик.
– Кофейку нам принеси, пожалуйста.
Сам он тем временем развернулся в кресле к массивному шкафу, что стоял позади, открыл одну из множества створок и извлек бутылку коньяка.
– Так понимаю, есть, о чем рассказать, – произнес Васильев, глядя на все эти приготовления.
– Есть, – коротко ответил ректор.
Вошла секретарь с подносом, на котором дымились две чашки кофе, распространяя вокруг прекрасный аромат.
– Никаких этих ваших кофемашин, – прищурившись сказал Дмитрий Сергеевич, – на настоящем огне. Прячем плитку от пожарного надзора.
– Странная у вас нелюбовь к технологиям для человека, работающего на переднем их крае, – заметил Васильев.
– Есть такая особая грань, когда технологическое развитие делает уже не лучше, а хуже. Ее надо уметь чувствовать.
Дверь за секретарем закрылась, ректор разлил по бокалам коньяк.
– Знаешь физиологический смысл пить кофе с коньяком так, как это делал Хэмингуэй?
– Не знаю, как именно он это делал, но могу предположить, что он обходился без кофе.
– Спирт снижает чувствительность рецепторов. Поэтому первый глоток хорошего коньяка имеет глубокий вкус, а второй уже плоский и невзрачный. Кофе как раз чувствительность рецепторам возвращает. Поэтому сначала чуть-чуть коньяка, потом кофе.
Васильев глотнул коньяк, на удивление мягкий, со вкусом чернослива и где-то вдали твердыми нотками от дубовой бочки, где он провел, видимо, не меньше четверти века.
– Так вот о студенте, – ректор откинулся в кресле. – У меня тут даже распечаточка завалялась, – он потряс пачкой бумаг.
– И что это?
– Это? Сверхбыстрый алгоритм вычисления дискретного логарифма. Я бы сказал, практически мгновенный.
– Дмитрий Сергеевич, я от теории слегка отдалился. Как-то ближе к практике, в основном процессуальной. Что это значит?
– Это значит, что все ваше шифрование можете выкинуть к чертям.
– В каком смысле? – удивленно спросил майор.
– В таком, что все вскрывается за минуты.
Васильев замер, напряженно глядя на ректора. Потом тихо спросил:
– Кто об этом знает?
– Ты – четвертый.
– А кто третий?
– Его научный руководитель по магистерской диссертации. Вчера мне это принес.
– Понятно, – Васильев залпом допил коньяк.
– Парень гений, но как все гении наивный и полностью оторванный от реальности. Если его, так сказать, не взять под крыло и не направить в нужную сторону, сам понимаешь, что будет.
– Я подумаю, Дмитрий Сергеевич.
– Подумай. Но лучше не долго. Позвать студента?
– Он что, здесь?
– Конечно. Анечка! Позовите Ибрагимова!
Минуту спустя дверь приоткрылась, и в кабинет осторожно заглянул молодой человек. Васильев не смог подавить мгновенно возникший штамп «ботаник». Он представил студента, сдающим норматив физподготовки стажера в полиции, и мысленно схватился за голову.
– Вызывали, Дмитрий Сергеевич?
– Заходи, заходи! Присаживайся, – ректор жестом показал ему на свободное кресло у своего стола.
Студент осторожно вошел в кабинет и пристроил свое хрупкое тело на край сиденья.
– Это Александр Петрович Васильев, майор полиции, управление «К», – хитро прищурившись, сказал ректор, внимательно глядя на студента.
Тот судорожно сглотнул и уставился в пол.
– Расскажешь нам немного о своих разработках?
– Так я же это, просто, ну… У меня компьютер слабый, долго было считать, я и прикинул как можно побыстрее… – замялся студент.
– Прикинул, да. А нам теперь что делать?
– Так мы же не скажем никому? Правда, ведь? – он поднял голову и с надеждой взглянул на ректора.
– Мы-то, может, и не скажем, – вздохнув, произнес ректор. – Проблема вовсе не в этом, а в том, что такой способ вообще существует. И более того, мы не знаем, первый ли ты его нашел. И сколько чего тогда было взломано, о чем мы не знаем, тоже неизвестно. Ты вот скажи, смог бы ты это отследить?
– Что отследить?
– Что алгоритм, подобный твоему, кем-то используется.
– Для чего используется? Я же просто многомерные пространства просчитывал в диссертации, теория струн, все такое… Можно литобзор…
– Для взлома, – вмешался до того молчавший Васильев, – для подделки ЭЦП, например. Сейчас любое действие в цифровой среде на это завязано.
– Так как же я узнаю?
– Подумай. Ты же умный, раз такую штуку сочинил. Может тебе чаю или кофе? Коньяк не буду предлагать, и не думай, – усмехнулся ректор.
Студент молчал. Видно было, что задача пошла в дело, полностью поглотив его внимание.
– Я же как считал? – вдруг начал он, – мне статья попалась про взлом XORShift с помощью нейросетей…
– Час от часу не легче! – воскликнул Васильев.
– Да нет, это же просто генератор случайных чисел, он в криптографии особо не используется.
– То есть с предметом он все же хорошо знаком! – заметил Васильев ректору.
– Так вот, я и попробовал по аналогии, обучить несколько нейросетей, которые мне большую часть перебора при вычислении логарифмов отбрасывали. Поэтому, если бы я попробовал взломать что-то, то мой перебор имел бы характерные паттерны.
– Чего? – недоуменно произнес майор.
– Я понимаю, о чем он, – вмешался ректор. – Если ты будешь ломать защиту в лоб, брутфорсом, то будешь перебирать варианты неким простым алгоритмом, например, последовательно или от середины к краям. Он же говорит о том, что последовательность запросов в данном случае будет подчиняться определенной характерной закономерности, по которой ее можно засечь. Верно я говорю?
– Ну, почти. Я бы сказал, что теоретически, можно создать нейросеть, определяющую факт подобной последовательности. Описать я ее алгоритмически не смогу, ибо черный ящик.
– Перевожу, – усмехнулся ректор, увидев непонимающий взгляд Васильева. – Нейросеть рассматривается как черный ящик, не понятно, что происходит внутри, соответственно нельзя алгоритмически проанализировать работу нейросетей исходных, но можно обучить другую нейросеть находить нейросети первого типа.