Подкаст про блокчейн

ББ-220: Пост-квантовая криптография теория и стандарты

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

Михаил Кудинов работает в Blockstream над пост-квантовой криптографией для биткоина. Он окончил МГТУ им. Баумана, занимался пост-квантовой криптографией в Российском квантовом центре, многократно побеждал на олимпиаде NSUCRYPTO и защитил PhD в Эйндховенском университете. Михаил участвовал в доработке схемы SPHINCS+ (подписи на хэш-функциях), ставшей стандартом NIST SLH-DSA.

В этом выпуске обсуждаем основы: чем пост-квантовая криптография отличается от квантовой, как устроены кубиты и алгоритмы Шора и Гровера, почему под ударом прежде всего асимметричная криптография. Разбираем семейства пост-квантовых алгоритмов (решётки, хэши, коды), гибридные подписи, устройство SPHINCS+ и раунды стандартизации NIST. Обсуждаем атаки Harvest Now, Decrypt Later, геополитику стандартов, бэкдоры, уже идущую миграцию TLS и мессенджеров, сроки 2029 и 2035, риски перехода без аппаратных HSM, пост-квантовые STARK и side-channel-атаки.

В следующем выпуске — влияние квантовой угрозы на блокчейны.

Таймкоды:

  • 00:00 — Вступление
  • 04:23 — Путь в криптографию
  • 07:19 — Российский квантовый центр
  • 09:33 — Пост-квантовая и квантовая криптография
  • 10:40 — Олимпиада NSUCRYPTO
  • 13:20 — PhD в Эйндховене
  • 18:41 — Что такое квантовый компьютер
  • 20:40 — Работа криптографа над пост-квантовыми алгоритмами
  • 24:33 — Алгоритмы Шора и Гровера
  • 28:49 — Общая математика алгоритма Шора
  • 33:58 — Можно ли усилить классические подписи под PQC
  • 36:14 — Семейства пост-квантовых алгоритмов
  • 41:35 — Можно ли доказать стойкость решёток
  • 47:29 — SPHINCS+ и одноразовые подписи Лэмпорта
  • 53:15 — Как NIST выбирает стандарты
  • 56:37 — Harvest Now, Decrypt Later
  • 1:02:52 — Один конкурс NIST или разные стандарты по странам
  • 1:05:45 — Бэкдоры в алгоритмах NIST
  • 1:10:03 — Внедрение пост-квантовой криптографии в Web2
  • 1:14:08 — Сроки миграции: 2029 или 2035?
  • 1:19:33 — Риски быстрого перехода без HSM
  • 1:25:39 — Практические взломы на квантовом компьютере
  • 1:29:06 — Пост-квантовые zero-knowledge-доказательства
  • 1:30:24 — Side-channel-атаки
  • 1:33:17 — Конференции и источники: рекомендации гостя
  • 1:35:07 — Кто строит квантовые компьютеры
  • 1:37:09 — Цифровая безопасность временна?

Ссылки:

Спасибо нашим спонсорам!

  • Fluence – децентрализованная облачная платформа
  • 1inch – свопаем токены по лучшим курсам с 1inch
  • Zerion – Enterprise-grade web3 API
  • AckiNacki — the fastest blockchain possible

Поддержите подкаст! https://basicblockradio.com/donate/

Заходите в наш чат: https://t.me/basicblockradio_chat

Наш сайт: https://basicblockradio.com/

Полная расшифровка

Расшифровка создана автоматически и отредактирована с помощью ИИ для удобства чтения, поэтому возможны ошибки.

(00:00:00) Александр Селезнев: Привет! С вами подкаст «Базовый блок», подкаст про блокчейн. Сегодня у нас выпуск номер 220, наэлектризованный выпуск, посвящённый пост-квантовой криптографии. У микрофона сегодня Александр Селезнев и мой соведущий Сергей Тихомиров.

(00:00:19) Сергей Тихомиров: Всем привет!

(00:00:20) Александр Селезнев: Сегодня мы пригласили побеседовать с нами Михаила Кудинова, криптографа в компании Blockstream. Тема пост-квантовой криптографии волнует нас с переменной силой уже много лет. Небольшой экскурс в мою биографию: я закончил кафедру колебаний на Физфаке МГУ, у нас была лаборатория квантовых измерений. Помню, в далёком 2009 году все говорили: «Квантовые компьютеры будут завтра», и тут же: «Никогда этого не будет». Где-то с 2009 года прошло уже почти 20 лет, и каждый год я читаю статьи о том, что квантовые компьютеры вот-вот, а потом вижу комментарии специалистов: «Не будет». Однако в последние годы тема стала заметно горячее, и уже специалисты говорят: кажется, квантовые компьютеры нас ожидают очень скоро, и нам стоит подготовиться — в Web3 и в Web2, защитить и биткоины, и эфиры, и переписки, и банковские карточки, и вообще всю нашу жизнь, приватность, всё, чем мы дорожим в рамках этого подкаста и не только. Всё это и многое другое мы обсудим в ближайшие два выпуска с Михаилом. Не переключайтесь.

(00:01:50) Александр Селезнев: Перед тем как мы начнём, хочу поблагодарить всех, кто нас поддерживает. В первую очередь это слушатели и патроны на patreon.com/basicblockradio и на boosty.to/basicblockradio. Огромное спасибо за вашу поддержку, дорогие слушатели. Также нас поддерживают спонсоры. Это GOSH, кор-разработчик блокчейна Acki Nacki, основанного на протоколе, достигающем консенсуса за две итерации с самым быстрым из теоретически возможных. GOSH уже запустили Mainnet, в коммьюнити миллионы участников. GOSH заключили партнёрство с Oracle и Amper Computing, основные направления развития GOSH — мобильный гейминг, biodiversity-активы, Memcoin и DePIN. Также нас поддерживает Fluence, облачная платформа на базе децентрализованной инфраструктуры, которая даёт более дешёвую и отказоустойчивую альтернативу традиционным облакам вроде AWS, Digital Ocean и Hetzner. С помощью Fluence вы получаете доступ к глобальной сети децентрализованных провайдеров, можете быстро запускать виртуальные серверы и разворачивать нагрузки по всему миру, при этом значительно снижаете расходы и не зависите от одного провайдера. Также нас поддерживает Zerion. Zerion поставляет Zerion API, мощный инструмент для разработчика: в реальном времени данные по кошелькам, токенам, DeFi-позициям и NFT на более чем 24 блокчейнах, включая Ethereum, Solana и другие. API даёт детальные человекочитаемые транзакции, мультичейн, uptime 99.9%, масштабируемость свыше тысячи запросов в секунду. Zerion API используют Uniswap, OpenSea, WalletConnect, Rainbow Wallet и другие. Также нас поддерживает 1inch: 23 миллиона пользователей и свыше миллиарда долларов сделок в сутки. Статистика The Block показывает около 60% объёмов DeFi-агрегации. 1inch даёт выгодные обмены в Ethereum, Solana, Optimism, Avalanche. Хотите встроить 1inch в приложение? API на 1inch.dev, для личного пользования — мобильный кошелёк с вашими ключами и удобный мониторинг портфолио. Заходите на 1inch.com.

(00:04:19) Александр Селезнев: Ну что же, начнём. Передаю микрофон тебе, Сергей.

(00:04:23) Сергей Тихомиров: Спасибо, Михаил, что зашёл к нам. Мы очень давно хотели поговорить про эту тему, но традиционно начинаем выпуски с вопросов о профессиональном пути. В англоязычных подкастах классический первый вопрос — how did you get into crypto, и мы тебе его тоже зададим, но под «крипто» здесь мы имеем в виду криптографию. Расскажи, пожалуйста, как ты заинтересовался криптографией и почему решил посвятить этой области свой профессиональный путь.

(00:04:49) Михаил Кудинов: Всем здравствуйте, спасибо большое, что позвали. Как я попал в криптографию? Хороший вопрос. Ещё с университетских лет я выбирал, на какую кафедру поступить, было много вариантов, но скорее обстоятельства сложились так, что выбор пал на кафедру ИУ8 в МГТУ им. Баумана. У неё есть разные группы, связанные с информационной безопасностью, и одна из групп как раз фокусировалась на криптографических решениях. Заканчивая факультет, я познакомился с криптографией и дальше продолжил заниматься ею в университете. Мы также работали в компании, которая на тот момент в России занималась пост-квантовыми решениями. После окончания университета я решил продолжить и получить PhD в Нидерландах, в Эйндховенском университете. Сейчас, после PhD, я работаю в Blockstream, где мы занимаемся разными криптографическими, в том числе пост-квантовыми решениями для биткоина.

(00:06:00) Сергей Тихомиров: Потрясающе интересно звучит, мы постараемся обсудить это шаг за шагом. Мне интересно: когда ты начинал заниматься криптографией в Бауманке и в российском квантовом центре, как тогда выглядела перспектива квантовых компьютеров и важность пост-квантовой криптографии? Много ли людей понимали эту важность, или это казалось чем-то маргинальным?

(00:06:26) Михаил Кудинов: В университете этот топик в целом отсутствовал. Под конец обучения его где-то обсуждали в коридорах, можно было поговорить с профессором или преподавателем, что есть такой топик, но как дисциплина или курс — нет. Параллельно, когда я работал в квантовом центре, там топик уже был развитее. Параллельно шёл американский конкурс стандартизации NIST, который, насколько я помню, начался в 2016 году, по новым стандартам, обеспечивающим пост-квантовую криптографию. Наверное, в 2019–2020 годах похожие движения начали появляться и в России.

(00:07:19) Сергей Тихомиров: Расскажи, пожалуйста, немного про российский квантовый центр: что это за организация, как она работает, занимается ли она скорее конструированием компьютеров, дизайном криптографии или и тем и другим?

(00:07:30) Михаил Кудинов: Честно говоря, сложно до конца представить полный масштаб того, чем занимается организация, но в общих чертах идея такая: у них есть исследовательские группы, это, насколько я понимаю, частный исследовательский институт, они стараются привлекать гранты и так далее. Если какая-то группа вырастает до самостоятельной единицы, довольно часто она отпочковывается в отдельную компанию на коммерческом рынке. Группа, в которой работал я, была связана с пост-квантовой криптографией. Вследствие её развития группа отпочковалась в компанию QApp на текущий момент. Были и другие группы: теоретические исследования в области квантовых вычислений, квантовой криптографии, вроде бы и что-то связанное с квантовыми компьютерами, но чем занималась остальная часть центра, я плохо представляю.

(00:08:39) Александр Селезнев: То есть я верно понимаю, что российский квантовый центр — что-то вроде венчурной студии?

(00:08:44) Михаил Кудинов: Я плох в бизнес-терминологиях, но да, это, наверное, ближе к венчурной студии: частное мероприятие. Наверняка заметная часть финансирования связана с государственными грантами, выделенными проектами или ещё чем-то, но с точки зрения организации и процесса, насколько я понимаю, да. В частности, по исследованиям пост-квантовой криптографии тогда во многом шла работа с «Газпромом».

(00:09:20) Александр Селезнев: Удивительно слышать.

(00:09:22) Сергей Тихомиров: Неожиданно, надо сказать, я тоже не думал, что им было бы так интересно.

(00:09:26) Михаил Кудинов: Сложно сказать, как это выглядит сейчас и что там происходит на текущий момент, я уже не очень в курсе.

(00:09:33) Сергей Тихомиров: Мне кажется, сейчас правильный момент прояснить разницу, которая в чате тоже возникла, когда я написал анонс выпуска. Я сначала написал про квантовую криптографию, и меня переспросили: квантовую или пост-квантовую? Я задумался, что между понятиями есть разница. Можешь прояснить, в чём она?

(00:09:51) Михаил Кудинов: Когда мы говорим про пост-квантовую криптографию, это криптография, которую вы можете использовать на обычных компьютерах и вычислительных устройствах — телефон, ноутбук, чем мы пользуемся сегодня. Это алгоритмы, которые останутся стойкими при появлении большого мощного квантового компьютера. Когда мы говорим про квантовую криптографию, мы говорим про алгоритмы, в частности обычно про выработку общего ключа с помощью квантовых вычислений. Здесь у честных пользователей должно быть квантовое устройство, квантовый компьютер, чтобы обеспечить безопасность, конфиденциальность или что-то в этом роде.

(00:10:40) Сергей Тихомиров: Термины прояснили, в этом выпуске будем говорить главным образом про пост-квантовую криптографию. Ещё пара вещей про твой профессиональный путь. Ты многократный победитель олимпиады по криптографии NSUCRYPTO.

(00:10:53) Михаил Кудинов: Да.

(00:10:53) Сергей Тихомиров: Можешь рассказать, что это за олимпиада, как она проходит, кто в ней участвует?

(00:10:58) Михаил Кудинов: NSUCRYPTO — олимпиада, которую проводил, а я думаю, до сих пор проводит Новосибирский университет. Она в первую очередь связана с криптографией. Формат такой: часто выкладываются теоретические вопросы. В отличие от Capture the Flag и похожих олимпиад для кибербезопасников, где нужно что-то практическое решить, взломать и найти флаг, здесь довольно часто были теоретические задачи, где нужно придумать доказательство или условно провести исследование. Из интересного они часто выкладывали задачи с открытыми проблемами — нерешённые на тот момент. Участники олимпиады давали новые решения и чуть-чуть двигали исследования. Были именно research-проблемы, research-задачи.

(00:12:02) Сергей Тихомиров: Олимпиада рассчитана именно на студентов? Есть ограничение по возрасту или по профессиональной квалификации?

(00:12:08) Михаил Кудинов: В первую очередь, я думаю, на студентов. Довольно сложно работающему человеку неделю потратить на олимпиаду, особенно на групповой стадии. Когда мы участвовали в студенческие годы, надо было тратить неделю, практически каждый день по восемь часов. При этом жёстких ограничений нет: есть три разных зачёта. Если ты говоришь, что школьник, тебя отправляют в зачёт для школьников. Если студент — в зачёт для студентов. Если профессионал — в зачёт для профессионалов. Ты можешь занять первое место среди студентов — и ты молодец.

(00:12:54) Сергей Тихомиров: Задачи при этом разные или одинаковые?

(00:12:56) Михаил Кудинов: Задачи все одинаковые, просто разные таблицы победителей. Единственное: если ты занял призовые места как студент или школьник, нужно предоставить proof — выписку из университета или как-то иначе доказать, что ты действительно студент, а не профессионал, который притворяется ради грамоты и приза.

(00:13:20) Сергей Тихомиров: Завершая блок вопросов про твой профессиональный путь, хочу задать пару вопросов про университет Эйндховена, где ты написал PhD. Поздравляю с защитой.

(00:13:29) Михаил Кудинов: Спасибо большое.

(00:13:29) Сергей Тихомиров: Я вчера полистал тезис, introduction, по крайней мере, что-то даже понял, хотя очень немного — впечатляет. Расскажи, пожалуйста, почему именно Эйндховен? Там сильная школа криптографии. Как ты выбрал этот университет?

(00:13:40) Михаил Кудинов: В Эйндховене довольно сильная школа криптографии, это правда. Из самых громких имён здесь работает Tanja Lange, известная в криптографическом сообществе, но и много других именитых профессоров. Как я попал? Я занимался цифровыми подписями на хэш-функциях. Ещё в квантовом центре мы нашли проблемы с доказательствами безопасности одной из схем. После этого я написал одному из ведущих специалистов по этой схеме. Она тогда участвовала в конкурсе NIST на стандартизацию. Я представился, рассказал об интересном топике, что мы обнаружили проблему, меня интересует PhD, и в целом было бы интересно исправить положение и провести новое доказательство. Мы поработали совместно около полугода, я как раз заканчивал МГТУ, меня пригласили делать PhD, и схема в итоге оказалась выбрана в качестве стандарта. Если слушатели знакомы: на текущий момент это стандарт SLH-DSA, стандарт пост-квантовых подписей на хэш-функциях.

(00:15:09) Сергей Тихомиров: Мы поговорим, я думаю, чуть позже про технические детали. Хотелось ещё замечание к тому, что ты сказал: совет, который подтверждается и твоим опытом. Если вы хотите поступить на PhD, самый верный способ — таргетировать запрос и найти профессора, который занимается тем, что вам интересно, и написать ему с конкретным предложением работы или хотя бы проявить интерес и доказать, что вас интересует именно это.

(00:15:33) Михаил Кудинов: Если человек приходит заинтересованный в конкретной работе над чем-то, это сразу демонстрирует целеполагание: не «лишь бы куда», а конкретно. Второй момент: важно не бояться. Это не какое-то невероятно сложное мероприятие. Пробуйте, подходите, занимайтесь проектами и задачами. При достаточном количестве вложенных сил обязательно будут результаты.

(00:16:12) Сергей Тихомиров: Да, я думаю, профессорам очень приятно получать конкретные вопросы о своей работе. Ты писал исследование, его понимают, не знаю, 20 человек в мире, а приходит 21-й и задаёт осмысленный вопрос.

(00:16:23) Сергей Тихомиров: Можешь на высоком уровне сформулировать различия, может быть, особенности в стилях или организации работы между университетом Эйндховена, квантовым центром и Бауманкой? Насколько здесь применимо сравнение — понятна разница между образованием как студента и исследованием как исследователя, но что-то, может быть, тебе запомнилось?

(00:16:44) Михаил Кудинов: Из университетских различий очень видно, что по крайней мере в Эйндховене, я думаю, в целом в Нидерландах, не знаю, как по Европе дальше, но тоже думаю, что история похожая: профессорские цели, грубо говоря KPI, в первую очередь связаны с исследовательскими вопросами, а не с преподавательскими. Среди профессоров даже ходило обсуждение, что руководство университета просит дополнительные силы и время на образовательный контент, вкладываться ещё сильнее, а они отвечают: это прекрасно, но все KPI связаны с публикациями и результатами. Если я здесь только столько часов в день и трачу дополнительный час на улучшение какого-то курса, я ухудшаю KPI, и потом вы скажете: какой прекрасный курс вы улучшили, но показатели упали, значит ваша оценка и работа теперь ниже. В МГТУ, по крайней мере на нашей кафедре, внутреннюю кухню я не знаю, но снаружи выглядело так, что профессорский состав в первую очередь занимается преподаванием, а исследование скорее по второму приоритету. В основном люди занимаются преподаванием. Если сравнивать с квантовым центром, там компания и исследовательская группа были нацелены подготовить результаты и материалы, чтобы выделиться в отдельную компанию. Разница в том, что здесь очень практико-ориентированный research, и топики выбираешь в соответствии с тем, куда развивается компания.

(00:18:41) Сергей Тихомиров: Что вообще такое квантовый компьютер, и что криптографу нужно понимать про его внутреннее устройство, если вообще нужно?

(00:18:48) Михаил Кудинов: Квантовый компьютер — это устройство, которое работает с использованием эффектов на квантовом уровне. Вместо битов, которые в обычном компьютере принимают значение 0 или 1, здесь используются кубиты. Часто говорят, что это значение, которое одновременно и в нуле, и в единице. Мне такая интуиция не очень нравится. Я бы сказал, что это скорее похоже на подброшенную монетку, которая с определённой вероятностью даст либо ноль, либо единицу. Нет такого значения, которое одновременно и то, и другое. Если мы говорим про вычисления, мы говорим про вероятность: с такой-то вероятностью в нуле и с такой-то в единице. Второй важный момент — запутывание кубитов. Я могу подготовить два кубита, связанных между собой. У них есть вероятности 0 и 1. Например, я могу сделать так, что если я измерю первый кубит и там окажется 0, то с вероятностью 100% второй тоже окажется 0. Эти два эффекта — промежуточные состояния между 0 и 1 и возможность связывать кубиты — позволяют производить класс вычислений, недоступный классическому компьютеру. Часто говорят, что квантовый компьютер может очень быстро что-то вычислять. Это не устройство, которое просто считает быстрее. Это новый класс вычислений, который можно проводить быстрее за счёт этих эффектов, а не потому что «квантовый» сам по себе быстрее.

(00:20:40) Сергей Тихомиров: С точки зрения криптографа, разработчика алгоритмов, скажем, цифровых подписей, отличается ли работа криптографа, который разрабатывает пост-квантовый алгоритм, от работы с классическими?

(00:20:51) Михаил Кудинов: В какой-то степени отличается. Общее понимание принципов квантовых вычислений было бы неплохо, но криптографы тоже бывают разные. Я в первую очередь занимаюсь областью, которую называют Provable Security: я могу показать, что если злоумышленнику удастся взломать протокол, мы можем продемонстрировать, что взломан какой-то базовый блок, то есть свести более сложную задачу к внутреннему маленькому базовому блоку. В этой ситуации не так много требуется знаний про квантовую сторону. Да, они появляются, есть проблемы и нюансы в процессе сведения, но их, например, сильно меньше, чем у криптоаналитика. Криптоаналитик берёт базовые задачи и пытается придумать атаки, которые решат заданную математическую проблему. Если мы говорим про классическую криптографию, например факторизовать число, разложить на множители, криптоаналитик думает: если у него в доступе только классические вычисления, он использует один математический аппарат. Если в доступе квантовые вычисления, ему нужен дополнительный аппарат, чтобы придумать атаки с использованием квантовых вычислений.

(00:22:41) Сергей Тихомиров: Правильно ли я понимаю, что на практике и криптограф, и криптоаналитик в большей части случаев довольно редко соприкасаются с самим квантовым компьютером, то есть они используют симуляции или фреймворки, которые его моделируют, или я здесь не совсем прав?

(00:22:52) Михаил Кудинов: Верно. На самом деле, с точки зрения криптографии, на практике нам практически не нужен даже квантовый компьютер. Когда мы говорим про классические исследования в криптографии, в большинстве случаев, предполагая какую-то атаку, я в первую очередь рассуждаю о ней на бумаге, с математическим аппаратом. Я знаю, что может делать мой компьютер, знаю, какие алгоритмы и какой математический аппарат у меня есть, теоретизирую: вот так-то я могу это взломать. Может быть, на финальном шаге я постараюсь запустить алгоритм и продемонстрировать. Действительно, смотрите: у меня теоретические рассуждения, возможно, я даже всё доказал, но вдруг там ошибка? На финальном шаге я вас убеждаю, что атака работает. С квантовым компьютером история в целом та же. Я знаю, какой математический аппарат у меня потенциально будет. Мы знаем, к чему стремимся, знаем, что потенциально сможем построить. Берём этот аппарат и рассуждаем, что с ним можно сделать. Конечно, есть класс задач, где мы хотим провести эксперименты и на их основе придумать атаку. Здесь у нас на текущий момент практически нет возможностей воспользоваться квантовым компьютером, но такой класс подходов занимает гораздо меньший процент того анализа и тех исследований, которыми мы пользуемся, когда разрабатываем криптографические решения.

(00:24:33) Сергей Тихомиров: Правильно ли было бы сказать, что при потенциальных квантовых атаках наиболее под угрозой находится криптография с открытым ключом? То есть подписи и подобные алгоритмы, а не симметричная криптография?

(00:24:41) Михаил Кудинов: Да, правильно. У нас на текущий момент есть два наиболее широко известных алгоритма, которые связывают с криптографией: алгоритм Гровера и алгоритм Шора. Алгоритм Шора как раз позволяет за полиномиальное, то есть очень быстрое время решить задачи, на которых основывается наша современная криптография с открытым ключом. Это подписи, выработка общего ключа между двумя участниками, более сложные протоколы. Да, это открытая криптография. Алгоритм Гровера связан с ускорением поиска. Представим абсолютно случайную базу данных, и вас интересует один конкретный элемент. Если классическому компьютеру нужно проверить N ячеек, чтобы найти интересующий элемент, то квантовый компьютер может сделать это быстрее — с асимптотикой корень из N. Но это ускорение на практике не такое страшное. Мы даже на сегодняшний день не планируем усложнять наши симметричные алгоритмы, увеличивать сложность поиска, увеличивать эту базу данных. Почему? Когда мы говорим про классические атаки, мы всегда подразумеваем, что задачу решает не один процессор, не один компьютер. Если один компьютер, ему нужно проверить все N ячеек, и он делает это последовательно. Если мы взяли 10 компьютеров, каждому можно проверить одну десятую этих N ячеек, и мы решим быстрее. Для квантового компьютера вычисления параллелятся очень плохо. Сейчас не будем вдаваться в детали, но если мы возьмём 100 квантовых компьютеров, задача станет только в 10 раз проще. Если 10 тысяч — только в 100 раз проще. Из-за этого на практике квантовую атаку сильно усложняет необходимость последовательно решать проблемы. Поэтому на текущий момент, несмотря на то что асимптотически алгоритм стал несколько быстрее, он всё ещё медленный, и мы могли бы решить это просто увеличив размеры ключей. На практике мы даже этого не планируем делать, потому что дополнительные ограничения, связанные с квантовыми вычислениями, усложняют атаку.

(00:27:43) Александр Селезнев: То есть алгоритм Шора и алгоритм Гровера — это алгоритмы, которые станут нам доступны на практике после того, как такие квантовые компьютеры станут нам доступны на практике. Я верно понимаю?

(00:27:55) Михаил Кудинов: Всё верно. Алгоритм как таковой доступен, потому что алгоритм — это идея. Но чтобы запустить их и непосредственно использовать на практике, нужно дождаться момента, когда появится достаточно мощный и достаточно «чистый» компьютер. Что значит «чистый»? На текущий момент проблема ещё в том, что в вычислениях очень много ошибок и шума, и нужны качественные алгоритмы исправления ошибок, чтобы результат не был зашумлён и его можно было использовать.

(00:28:31) Александр Селезнев: Получается, для симметричного шифрования острая проблема не стоит: когда ты говоришь, что мы ничего с этим не планируем делать, под «мы» имеется в виду человечество. Острая проблема как раз у криптографии с открытым ключом, а не у симметричного шифрования.

(00:28:49) Сергей Тихомиров: Я ещё хотел спросить про алгоритм Шора, но не уверен, что в подкасте можно рассказать, что именно он делает — наверное, будет сложновато. Но насколько я понимаю, он представляет угрозу и для дискретного логарифмирования, и для дискретного логарифма на эллиптических кривых, и для факторизации по типу RSA. Мне показалось любопытным, что это как будто разные математические объекты и разные задачи, а тем не менее один алгоритм на них всех работает. В чём здесь фишка? Есть какая-то математическая общность между всеми этими вещами?

(00:29:21) Михаил Кудинов: Да, есть математическая общность. Когда мы говорим про все эти задачи, их можно описать в терминологии групп. Группа — это математический объект с заданными операциями и правилами, как производятся вычисления. Во всех этих проблемах есть задача о поиске периода группы. Что такое период элемента в группе? Если мы возьмём объект и будем умножать его сам на себя или складывать с самим собой, в этих группах рано или поздно снова получим его самого. Если упрощать, все объекты, связанные с факторизацией, с эллиптическими кривыми, со стандартным дискретным логарифмированием, сильно завязаны на возможность или невозможность найти период заданного элемента в группе. Если описать в этих абстракциях, все эти проблемы решаются одним и тем же алгоритмом, потому что он позволяет находить период интересующего элемента в группе.

(00:30:44) Сергей Тихомиров: То есть, насколько я понимаю — может быть, дилетантски, — есть какое-то гигантское множество объектов, и в нём есть внутренняя структура. Её сходу не видно, а с помощью этого алгоритма можно эту структуру разглядеть. Именно это и поможет в каждом случае что-то извлечь.

(00:30:57) Михаил Кудинов: Именно.

(00:31:00) Александр Селезнев: Пока мы, может быть, далеко не ушли: меня вдруг заволновало, пока мы рассуждали про применение квантовых компьютеров в криптографии. Какие ещё применения квантовых компьютеров ожидаются, помимо того чтобы всё на свете поломать?

(00:31:12) Михаил Кудинов: Я здесь, конечно, не эксперт, и это одна из проблем: нет очень широкого понимания, где конкретно квантовые компьютеры пригодятся. Я слышал, что может быть неплохой потенциал в исследованиях, связанных с химией и физикой, потому что физические объекты можно моделировать с помощью квантовых вычислений гораздо проще и эффективнее, что может повлечь прорывы в медицине, лекарствах и в этом духе. Из широко известного я, например, слышал в первую очередь про химию и физику, моделирование результатов исследований. И это одна из причин, почему заявления про квантовые вычисления вызывают относительно много скепсиса. Когда университеты получают грант, нужно объяснить источнику финансирования, кому это надо. Ты говоришь: вот мы сейчас построим — и криптографии конец, или мы что-нибудь… это очень важная штука, давайте делать, у нас столько прогресса, мы первые… Конечно, так занимаются не все, и, наверное, даже большинство ответственных исследователей стараются презентовать результаты честно. Но во всей этой истории она связана со страхом в первую очередь. Люди беспокоятся: если можно взламывать современную криптографию, это большая проблема и для рядового пользователя — мои данные про карточку я отправляю через интернет, их можно сохранить, потом прийти к квантовому компьютеру, что-нибудь взломать и украсть деньги, — и на государственном уровне: по интернету нельзя будет общаться, иначе любые передаваемые данные могут быть взломаны. На этом страхе тоже строятся дополнительные эмоциональные качели.

(00:33:39) Сергей Тихомиров: Я представил себе грантодателя, к которому приходишь и говоришь: мы сейчас всю криптографию взломаем. А он тебе: так вот, монеты Сатоши лежат, ждут вас — зачем вам гранты, забирайте тогда.

(00:33:50) Михаил Кудинов: Вот дайте нам грант, мы взломаем монеты Сатоши и ещё вернём вам с процентами.

(00:33:58) Сергей Тихомиров: Sounds like a deal. Допустим, у нас есть испытанные временем алгоритмы цифровых подписей, и мы знаем, что они будут уязвимы к квантовым атакам. Нужно ли их переделывать с нуля на принципиально других математических основах, или есть опция что-то подкрутить, сбоку добавить защитный слой, чтобы переиспользовать то, что проверено временем?

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

(00:35:17) Сергей Тихомиров: Под «подкрутить» я имел в виду не столько увеличение размеров ключей — понятно, что это не лучший путь. Я немного как дилетант фантазирую: где-нибудь дополнительно захэшировать, накрутить ещё один слой — или нужно переходить на принципиально новое?

(00:35:31) Михаил Кудинов: Нужно переходить на принципиально новое. Практически любой базовый блок алгоритма строится на базовой математической проблеме. Если базовая проблема уязвима для квантового компьютера, то что ни подкручивай — это строительный блок и это уязвимость. Если мы настолько подкрутили, что больше не опираемся на эту математическую проблему, можно сказать, что мы просто используем другой алгоритм. Это уже не подкручивание, мы взяли что-то другое.

(00:36:14) Сергей Тихомиров: Давай, наверное, поговорим про альтернативные подходы. Почитав обзорную статью и полистав страницу NIST Submissions в википедии, я увидел ключевые слова: lattice-based криптография, hash-based криптография — это как раз твоя экспертиза, — multivariate, code-based, isogeny-based криптография, symmetric key quantum resistance. Вряд ли мы будем углубляться во все эти понятия, но можешь охарактеризовать, какой у нас вообще спектр опций и чем криптография на основе хэшей выделяется среди остальных?

(00:36:52) Михаил Кудинов: Спектр опций хорошо проговорили. На самом деле у нас довольно много разных проблем, на которых можно основывать пост-квантовую криптографию. У всех есть разные преимущества и недостатки. На текущий момент, например, есть стандарты на двух математических проблемах: на основе hash-функции, когда мы используем hash-based алгоритмы, и lattice-based — решётки, тоже математическая структура. В Европе, насколько я помню, принят также стандарт выработки общего ключа на основе кодов. История с multivariate и isogenies пока ещё в относительно сыром виде. В целом туда вложено много усилий по исследованиям, это давно существующие подходы, но у них ещё достаточно проблем, которые требуют решения. Чем, например, выделяются алгоритмы на hash-функциях? Это, наверное, один из самых консервативных подходов. Hash-функция — что это такое? Она используется в разных вариантах, есть в стандартных алгоритмах, но это не криптографическая функция в строгом смысле, к ней меньше требований. В криптографии это функция: мы вычисляем результат от входных данных, и если известен только результат, найти исходные данные на входе оказывается вычислительно сложно, фактически невозможно. И, насколько нам известно, такие функции невозможно взломать с помощью квантового компьютера. У нас есть алгоритм Гровера, который ускоряет поиск прообраза, но, как мы обсудили, это ускорение косвенное, и нас не сильно беспокоит история с увеличением размеров данных или выходов hash-функции. Суть в том, что hash-функции используются практически везде в криптографии — в подписях, выработке общего ключа, протоколах, — и условно все алгоритмы на решётках, которые участвуют в конкурсе NIST, в разных местах используют hash-функцию. Это фактически минимальное предположение, насколько может быть. Можно сказать, это самый безопасный вариант из доступных, но за это приходится платить размером подписи. Если мы говорим про классические алгоритмы, это 64 байта, а подпись на основе hash-функции — 8 килобайт, 8 тысяч байт. Не очень приятно.

(00:40:11) Сергей Тихомиров: То есть на два порядка больше — от десятков байт до тысяч. А у других подходов, на решётках, с размером получше?

(00:40:21) Михаил Кудинов: Получше, но про «меньше сотни» мы пока забываем. Потенциал получить что-то порядка меньше сотни есть у алгоритмов на изогениях, но там нужно подождать и проверить, насколько всё хорошо с безопасностью. Один из алгоритмов участвовал в конкурсе, прошёл практически до финального раунда, и там обнаружили атаку, которую можно было запустить на обычном классическом компьютере и за несколько часов решить задачу. Это не уничтожило isogenies полностью: один конкретный подкласс задач на изогениях оказался неподходящим. Есть другие подклассы, которые остались в безопасности, но мы ждём, пока isogenies придут в себя. Решётки дают лучше результаты, чем hash-функции, с точки зрения размеров: там порядка трёх килобайт, полторы тысячи байт. Приятнее, чем восемь, но всё равно значительно крупнее.

(00:41:35) Сергей Тихомиров: Тут, мне кажется, как раз в тему вопрос от слушателя. Мы собирали вопросы в чате — спасибо большое всем, кто прислал. Я их творчески влил в план дискуссии. Некоторые ушли на следующий выпуск про влияние на блокчейны. Вопрос такой: насколько мы уверены, что для lattice-задач типа learning with errors не существует аналогичного квантового алгоритма? Не стоит ли сначала доказать, что в structured lattice нет скрытой структуры? Можем ли мы исключить риск прорыва, подобного алгоритму Шора, для решёток? Я расширю вопрос на все новые конструкции: можно ли доказать, что такого не будет? В принципе, такой риск всегда есть?

(00:42:15) Михаил Кудинов: Доказать такого, к сожалению, скорее всего не получится. Это близко к истории с NP versus P. Это не та же самая задача — это задачки на решётках. Если кто-то взломает решётки, это ещё не гарантирует, что NP равно P. Но история с доказательством, что такого класса алгоритмов на квантовом компьютере нет, маловероятна. Так же мы действовали и с классическими алгоритмами: нет доказательства, что не существует классических алгоритмов, которые взламывают, скажем, эллиптические кривые. Мы подождали достаточно времени, приложили достаточно усилий — как мы посчитали достаточным, — к поиску таких атак, к криптоанализу, получили определённые результаты и сказали: мы ничего лучше не можем придумать на протяжении 20–30 лет, может быть 15. Поэтому решаем, что такого нет. Если вдруг что-то появится, будем использовать что-то иное. Решётки на текущий момент — очень стабильный класс задач. Эти задачи ещё близко связаны с проблемами на кодах. Криптосистемы на кодах известны очень давно — система McEliece, не помню, в каком году придумана, но очень давно. Решётки довольно близки к кодам, поэтому полный взлом решёток мне видится маловероятным. Может быть, где-то будут улучшения атак: вместо 2 в 100-й степени вычислений понадобится 2 в 95-й. Где-то чуть отрежем уровни безопасности, но это всё ещё сложные задачи. Если есть беспокойство, что новые алгоритмы лучше или безопаснее старых, можно использовать гибридные версии. Берёте старую цифровую подпись на эллиптических кривых, берёте решётку, подписываете и тем, и тем. Нужно, чтобы валидатор проверил и то, и другое, и только если оба проходят, вы принимаете сообщение как правильное. Решётки потенциально защищают от квантового компьютера, но если мы что-то не досмотрели, есть старый проверенный вариант — не доказано, но мы более уверены, — который защищает от классических атак. Это довольно распространённый подход: совмещать старый классический алгоритм с новым пост-квантовым. Такой подход ещё хорошо помогает против проблем с реализацией. Если вы что-то напрограммировали с ошибкой, ничего страшного: есть старый алгоритм, который вы оттестировали и используете много лет, а новый ещё не прошёл испытание практикой. Гибридная версия также защищает от программистских реализационных ошибок.

(00:46:10) Сергей Тихомиров: Получается, мы ещё усугубляем ситуацию с размером подписи, если комбинируем две подписи. Но с другой стороны, если у нас и так 8 килобайт пост-квантовой, прибавить 64 байта классической — не такая уж беда.

(00:46:25) Михаил Кудинов: Да, особенно гибрид может быть немного сложнее с точки зрения протокола: усложняется логика, нужно проверить и те, и другие подписи. Потом оказывается, что могут быть разные комбинации: подпись на одной эллиптической кривой, на другой, у меня RSA на факторизации — K классических алгоритмов, плюс как минимум три стандартизированных пост-квантовых. Нужно ли уметь проверять все комбинации или только какой-то подкласс? Логика протокола усложняется, но с точки зрения эффективности и размеров классические алгоритмы настолько быстрее и меньше пост-квантовых, что overhead незаметен.

(00:47:29) Сергей Тихомиров: Я предлагаю немного поговорить про SPHINCS и SPHINCS+. Наверное, тоже не имеет смысла углубляться в технические подробности, но мне показалось интересным — поправь, если неправильно понял, — что этот алгоритм в каком-то смысле строится на идее одноразовых подписей, которые придумал ещё Лесли Лэмпорт в 1970-х. Можешь подробнее рассказать? Мне кажется интересно, как идеи из «античных» времён криптографии находят применение в современных алгоритмах.

(00:48:06) Михаил Кудинов: Да, всё верно. Основная идея уходит к алгоритму Лэмпорта. Часть пост-квантовых алгоритмов лежала у нас в шкафу уже довольно давно, просто мы ими не пользовались, потому что они были менее эффективны, чем алгоритмы на эллиптических кривых. Теперь, когда квантовые компьютеры забирают возможность пользоваться эллиптическими кривыми, мы достаём из шкафов разные подходы. Общая идея SPHINCS заключается в одноразовой подписи — подписи, которую, как следует из названия, можно использовать один раз.

(00:48:54) Сергей Тихомиров: А что будет, если использовать два раза?

(00:48:57) Михаил Кудинов: Если использовать два раза, любой другой участник сможет взять ваш открытый ключ и продолжать подписывать сообщения, которые будут проверяться этим ключом. Если я подписал только один раз, единственная пара «валидная подпись — сообщение» — та, которую я подписал. Никто другое сообщение подписать не сможет. Дальше мы можем взять много одноразовых подписей и собрать их в Merkle-дерево. Merkle-дерево — бинарное дерево: берём два открытых ключа, конкатенируем, хэшируем, получаем следующий результат; то же с соседней парой; эти два хэша снова хэшируем — и так с большим количеством ключей. Получаем дерево из одноразовых подписей. Делаем ещё одно такое дерево, и ещё, и ещё — таких деревьев очень много, поэтому получаем 8 килобайт. Их можно комбинировать: одно дерево может подписывать корень другого. Выстраивается большая структура. Внизу есть не только одноразовая подпись, но и few-times signatures — несколькоразовые подписи: можно подписать несколько раз, но обычно немного, например 16 раз. Если подписывать больше, безопасность схемы падает. Всё это объединяем в такие деревья. Потом случайно выбираем лист, который будем подписывать, и прикладываем элементы из дерева, чтобы валидатор проверил, что одноразовая подпись была в этой древовидной структуре, подпись верна и соответствует открытому ключу. Открытый ключ в данном случае — корень этой древовидной схемы.

(00:51:09) Сергей Тихомиров: Правильно ли я понимаю — в моей голове это несколько напоминает PKI в интернете, систему сертификатов, где центры подписывают ключи друг друга? У нас тоже древовидная структура: я удостоверяю, что мой сертификат валиден, прыгая по цепочке. Насколько идеи пересекаются? Деревья нужны, чтобы чего именно достичь?

(00:51:33) Михаил Кудинов: Идея полностью пересекается. Это очень хорошая аналогия. Действительно, у нас есть несколько таких деревьев. Каждое дерево можно в голове представить как условный сертификат. С помощью самого верхнего дерева, нашего корневого сертификата, мы подписываем много деревьев (сертификатов) на следующем уровне и так далее. Сертификатом в самом низу мы подписываем сообщение. Потом для валидации вы проверяете самый нижний сертификат: что он действительно подписал сообщение. И проверяете, что самый нижний сертификат подписан сертификатом с уровня повыше, и так далее, пока вы не доходите до корня, который является открытым ключом. Почему нам нужна именно такая система сертификатов? Потому что таким образом подписывать эффективнее. Если бы у нас был просто один большой сертификат, грубо говоря, на большое дерево, которое мы подписывали, то алгоритм подписи занимал бы очень много времени: нам нужно построить целиком всё это дерево, вычислить все его внутренние данные и так далее, и только тогда мы сможем подписать. Когда же у нас есть система из разных сертификатов на разных уровнях, при подписи мне не нужно генерировать все сертификаты. Мне нужно генерировать только те, которые находятся на пути от корня до листа, до нижнего уровня. Все остальные сертификаты, которые я не использовал в этой цепочке, меня больше не интересуют: я их не генерирую и не использую. Из-за этого алгоритм получается сильно эффективнее.

(00:53:15) Сергей Тихомиров: Я думаю, мы отошлём наших слушателей к статьям и письменным материалам и не будем мучить людей описанием деревьев из деревьев из деревьев. Но надеюсь, что какую-то главную, ключевую идею нам удалось передать. Мне хотелось бы поговорить в следующем блоке вопросов про стандартизацию. Ты уже упомянул, что этот алгоритм подписей был стандартизован американским институтом NIST, который занимается такого рода вещами. Мне интересно узнать твоё мнение по следующему вопросу. Как соблюсти баланс с точки зрения условного NIST между тем, что вариант уже достаточно хорош, давайте примем его как стандарт, и тем, чтобы ещё подождать год-другой: может, криптографы придумают что-то получше, или придумают, как взломать то, что мы раньше считали нормальным? В какой-то момент нужно поставить отсечку и сказать: вот это наш стандарт. Как к этому подходят?

(00:54:11) Михаил Кудинов: Здесь, мне кажется, нужно выставлять дедлайны. В целом такой подход уже использовали, на основе предыдущего опыта. Это не первая стандартизация, которая проходит. Понятно, что есть предыдущие стандарты: алгоритмы AES симметричного шифрования, алгоритмы на эллиптических кривых, стандарты различных хэш-функций и так далее. Мы говорим: хорошо, мы выделяем такое количество времени на первый раунд. Так это и происходило: до такого-то момента у различных исследователей есть возможность подать алгоритм на конкурс. Кто не успел, тот опоздал. Может быть, мы упустили что-то, что появилось через год или два, но кто не успел, тот опоздал, к сожалению. После первого раунда мы отсмотрели алгоритмы, получили подачи, выделяем время на анализ. Другие исследователи, другие команды могут анализировать, указывать на ошибки и проблемы. Мы внутри команды NIST также будем слушать этот фидбек и проводить собственный анализ. И мы выделяем на это определённое количество лет, получаем результат и говорим: такие-то алгоритмы не прошли в следующий раунд, такие-то прошли. Зачем мы это делаем? Чтобы сузить фокус, потому что чем ближе мы к финальному раунду, тем меньше алгоритмов. Чем меньше алгоритмов, тем больше на них фокуса. Если в начале у нас было, пусть будет, я не помню сколько, но пусть будет две сотни алгоритмов, исследователи смотрят на любой из них. Например, они нашли ошибку, атаку, публикуют условно заголовок: один из алгоритмов в конкурсе NIST взломан. Это интересное исследование, скорее всего оно даст тебе публикацию. Когда мы подходим к финальному раунду, у нас десять алгоритмов. Нам всё ещё интересно найти какую-то проблему, какой-то нюанс, либо, возможно наоборот, улучшение алгоритма. Фокус сужается, и всё больше людей смотрят и анализируют каждый из этих десяти алгоритмов. Таких раундов было четыре, после чего были выдвинуты стандарты.

(00:56:37) Михаил Кудинов: Другой разговор, что NIST также смотрит на ситуацию и видит, что есть какие-то дополнительные улучшения или сильно лучшие алгоритмы. Мы можем провести второй конкурс стандартизации. Мы можем сказать: хорошо, вот мы выпустили стандарты, вы уже можете этим пользоваться. Это было очень важно сделать, потому что есть такая проблема, называется атака Harvest Now, Decrypt Later. То есть я могу сидеть сейчас, мониторить трафик в интернете и сохранять его себе на жёсткий диск. Я ничего прочитать не могу. Сижу и жду, пока появится квантовый компьютер. Квантовый компьютер появляется, я прихожу со своим жёстким диском и своими данными, взламываю криптографию, которую используют сегодня, и читаю данные. Поэтому понятно, что мы хотим в первую очередь обеспечивать безопасность, и чем раньше мы сможем это сделать, тем лучше. Возможно, сегодня у нас окажутся алгоритмы чуть хуже, чем те, что появятся после второго конкурса стандартизации, в десять, в сто, в миллион раз лучше и эффективнее. Но у нас уже на текущий момент есть какая-то защита от этой потенциальной угрозы. И, например, с подписями так и вышло. У нас закончился конкурс стандартизации, был выбран алгоритм выработки общего ключа и три алгоритма подписи. Но при этом NIST сказал: слушайте, алгоритмы подписи мы выбрали, но они нас не очень радуют. Нам не очень нравится, что у нас всё на решётках, а на хэш-функциях у нас 8 килобайт. Мы проводим дополнительные раунды, присылайте снова ваши заявки, мы хотим найти что-нибудь ещё и также добавить в качестве стандарта. И сейчас продолжается второй этап стандартизации. Там также участвуют алгоритмы по выработке общего ключа, например, такого второго раунда нет: выбрали, пока остались довольны, может быть, позже решат, что хотят что-то ещё. Здесь просто нужно выставить сроки и дальше от них отталкиваться, потому что, к сожалению, возможно, какие-то улучшения и альтернативы не попадут, но как-то надо это фиксировать.

(00:59:04) Александр Селезнев: А в каком году был завершён первый конкурс, о котором ты говоришь, когда первые алгоритмы стали доступны?

(00:59:15) Михаил Кудинов: Сейчас я проверю.

(00:59:17) Сергей Тихомиров: Если ты про post-quantum security стандартизацию, у меня сейчас в Википедии открыто, то финальный результат там — 2024.

(00:59:25) Михаил Кудинов: У нас ещё нет окончательных стандартов для каких-то алгоритмов. В 2024 было решение, что будут стандартизованы алгоритмы SPHINCS+, Dilithium, Falcon, Kyber, неважно какие именно. Но, например, мы до сих пор ждём документ с непосредственно стандартом для алгоритма Falcon: его до сих пор не опубликовали, ждём.

(00:59:53) Александр Селезнев: Верно ли я понимаю, что к информации, которую я лично присылал в интернете в 2023 году, я могу относиться как к заведомо информации, которую я присылал по HTTP?

(01:00:01) Михаил Кудинов: Частично. Конечно, ситуация чуть получше, потому что вероятность, что кто-то сохранил данные, которые присылал непосредственно ты, наверное, маловероятна. Но в какой-то степени да. Если кто-то сохранил, то потенциально в будущем, опять же, первые квантовые компьютеры будут доступны очень ограниченному числу лиц. Не получится, я не знаю, соседу, который собирает на тебя компромат, пойти расшифровать твои данные. Но в какой-то степени, может, так можно смотреть.

(01:00:41) Александр Селезнев: Я просто думаю, что я там докрутил вопрос, но, тем не менее, какая-то информация особой важности, наверное, мониторилась достаточно пристально.

(01:00:53) Михаил Кудинов: Такое возможно. Были какие-то исследования различных криптографов, которые находили дата-центры, американские и неамериканские, которые мониторили информацию и старались сохранить. Но, если честно, я слабо погружён в этот вопрос, чтобы здесь не обмануть слушателей, и не готов утверждать каких-то прям серьёзных заявлений.

(01:01:23) Александр Селезнев: Просто интересно, что получается: подготовка к пост-квантовому миру должна в том числе заключаться в том, чтобы быть готовыми к тому, что эта информация станет доступна. Не знаю, например, какая-нибудь военная информация станет доступна твоему главному противнику — вся до 2023 года. Мне кажется, это тоже интересный аспект пост-квантового мира.

(01:01:51) Михаил Кудинов: Я думаю, много вообще. Ещё один важный момент заключается в том, что происходит в среднем, опять же, не во всех протоколах, но что происходит в среднем в сегодняшнем интернете. Когда я подключаюсь к какому-то доступу, мы вырабатываем общий ключ с моим собеседником, будь то сервер, сайт, другой пользователь или ещё что-то, и потом пользуемся симметричным шифрованием, чтобы шифровать наш трафик. Если оказалось так, что мы ключ выработали, а эти данные не сохранились, не получилось их перехватить или ещё что-то, то дальнейший трафик в безопасности, потому что симметричное шифрование не получится взломать. Мы выработали ключ, всё у нас есть, пусть предположим, что мы его выработали безопасно, мы общаемся, всё хорошо. Поэтому здесь ещё сложный или важный момент: в этом трафике нужно обязательно поймать тот момент, когда мы вырабатывали общий ключ.

(01:02:52) Сергей Тихомиров: У меня ещё был вопрос про стандартизацию, может быть, немного философского или политического толка. Пытаясь не скатиться в обсуждение геополитики, но тем не менее есть идея, что с точки зрения геополитических тенденций мы видим, как интернет раскалывается на континенты, которые друг от друга дрейфуют. Крупные страны или блоки стран обособляют свои кусочки интернета. И, насколько я представляю, поправь меня, если я не прав, в России свои стандарты криптографии, в Китае какая-то идёт работа, про ЕС я не знаю, но видимо тоже. Я задумывался: с точки зрения безопасности какая ситуация лучше, когда весь мир участвует в одном конкурсе и ревьюит работу друг друга, вроде математика же одна на всех, и это должно быть безопаснее? А с другой стороны, если разные страны принимают разные стандарты, может быть, больше вероятность того, что хотя бы один из них в итоге будет безопасен, как разная имплементация клиентов для эфириума, client diversity. У нас могут быть standard diversity. Что ты на эту тему мог бы сказать?

(01:04:02) Михаил Кудинов: Это довольно сложный вопрос, потому что есть аргументы «за» и «против». Аргумент «за» diversity говорит, что вдруг там что-то не так, то вдруг нас пронесёт. В целом, мне кажется, это довольно слабый аргумент, потому что алгоритмы, на которых мы строим протоколы, математические задачи, базовые блоки, они практически на сто процентов одинаковые. Надстройки могут действительно вносить потенциальные векторы атаки, но здесь мы стараемся эти нюансы нивелировать тем, чем я занимаюсь: показать, что мой новый алгоритм, который я построил на основе какой-то базовой задачи, если вы его взломаете, то вы можете взломать базовую задачу, то есть показать эквивалентность сложного протокола с какой-то базовой задачей. Такой подход очень сильно распространён. Он не всегда используется, но очень распространён, чтобы большинство алгоритмов, большинство протоколов мы старались свести к более базовой, примитивной задаче. С точки зрения «мы можем использовать одни и те же алгоритмы» здесь, конечно, мне кажется, просто политическая ситуация, особенно между конфликтующими странами, не представляет, грубо говоря, возможности. Потому что условно страна A стандартизовала какой-то алгоритм первой, страна B с ней в конфликте… ну, в общем, страны A?

(01:05:43) Сергей Тихомиров: А вдруг бэкдор?

(01:05:45) Михаил Кудинов: Есть следующий нюанс, да. В теории могут быть бэкдоры. На практике, с тем что происходит сейчас, например, с NIST-скими алгоритмами, например, на хэш-подписи: возьмите свою хэш-функцию, кроме хэш-функции вам ничего не надо, можете использовать дальше алгоритм полностью такой же. Есть доказательства, свидетельства, что если ваша хэш-функция хорошая, то и алгоритм хороший. Была работа, которая показывала, что у алгоритма Kyber, это алгоритм выработки общего ключа, слишком мало возможности поменять параметры так, чтобы туда встроить бэкдор. Я не читал, поэтому не очень знаю аргументы, что там происходит, но в целом тоже рассуждали: а вот NIST, а если они там забэкдорили? Соответственно, идёт рассуждение о том, что в связи с какими-то аргументами, не могу сказать, насколько они правильные, математические, строгие, что фактически это невозможно.

(01:06:51) Михаил Кудинов: Третий момент заключается в том, что конкурс всё-таки публичное мероприятие. Да, выбор алгоритмов был сделан NIST, и они публикуют свою аргументацию, то есть почему выбрали этот, а не этот, можно её почитать. Но, как выясняется, есть также у них коммуникация, которую они сразу не раскрыли, между ними и агентством национальной безопасности. Это один из активных участников криптографического сообщества, Бернштейн, который в своё время судился с американским государством за право использовать криптографию. Сейчас он соответственно с ними судится, потому что они обещали всё публиковать в открытый доступ, свои решения, а эту коммуникацию не опубликовали. Но при этом суд вынес решение: идите, публикуйте все ваши переписки. Насколько я понимаю, ничего сверхъестественного там не было, шло обсуждение о том, какой алгоритм лучше, какой хуже. Они не опубликовали это обсуждение, но, насколько я понимаю, ничего криминального в этом не было.

(01:08:04) Михаил Кудинов: Алгоритмы, которые были представлены на конкурс и выиграли в этом конкурсе, это алгоритмы, представленные известными, заслуженными исследователями в криптографическом сообществе, которые в нём были уже на протяжении многих лет. Вероятность того, что кто-то из них скооперировался и встроил какой-нибудь бэкдор, и никто из сообщества его как-то не нашёл, и всё это протолкнули в каком-то секрете, конечно, близка к конспирологии. Поэтому из тех стандартов, которые у нас есть, в моём представлении, я буду в шоке. Для меня это как инопланетянина увидеть.

(01:08:43) Александр Селезнев: А верно же я понимаю, что даже в этом конспирологическом случае, чтобы это всё сокрыть, нужно не просто встроить этот хитроумный бэкдор, чтобы его ещё никто не нашёл, но чтобы этот участник конкурса был ещё эффективный, быстрый и так далее, чтобы в конкурсе победить, и это вопросов не вызвало?

(01:09:05) Михаил Кудинов: Да, но ещё большая проблема заключается в том, что этот бэкдор должен, грубо говоря, встроить какой-то секретный ключ во всю эту систему. Потому что если этот бэкдор просто уязвимость алгоритма, то тогда вы стандартизуете алгоритмы, которыми будет пользоваться ваша страна, ваши пользователи, ваши граждане, с уязвимостью. И надеетесь, что никакая другая страна не додумается до этой уязвимости. Поэтому встроить нужно секретный ключ, и вот на этом, я так понимаю, строится аргумент, что в Kyber вам секретных ключей засунуть не получится, потому что там слишком мало, грубо говоря, переменных: не получится туда всунуть секретный ключ достаточного размера. Конечно, вероятность того, что там какие-то бэкдоры, как и с любой конспирологической теорией, в целом присутствует, может быть. Но я бы сказал, что это близко к невероятному.

(01:10:03) Сергей Тихомиров: Давайте поговорим немного про внедрение на практике пост-квантовой криптографии. Если оставить в стороне блокчейн и всякие Web3, о чём мы поговорим в следующем выпуске, насколько большой интернет перешёл сейчас на пост-квантовую криптографию, где она используется и в какой степени?

(01:10:21) Михаил Кудинов: На самом деле уже очень неплохо. Насколько я помню, есть один из крупных участников рынка, Cloudflare. Они анализируют трафик, который у них приходит, и они активные участники миграции на пост-квантовые алгоритмы. Уже, по-моему, у них больше 50% трафика через Cloudflare использует пост-квантовые алгоритмы. Есть большие инициативы в Google по этому направлению. Мы, например, знаем, что Signal Messenger перешёл на пост-квантовые алгоритмы. Аналогично сделал iMessage. Не помню точно, но вроде бы WhatsApp. Не уверен по WhatsApp. Но когда я говорю про этот переход, я сейчас говорю исключительно про пост-квантовую выработку общего ключа. Подписи, по-моему, пока отсутствуют вообще где-либо. Возможно, где-то они тестируются, есть какие-то проекты, наработки, бета-версии. Но на текущий момент, насколько я знаю, подписей чуть ли нигде нет. Опять же, почему? Во-первых, overhead с выработкой общего ключа: вы его выработали один раз, и потом общаетесь, как и раньше. Ничего не поменялось, вы шифруете симметричным алгоритмом. Вы сделали один раз, может быть, чуть сложнее обмен сообщениями, весь дальнейший трафик не поменялся по сравнению с тем, как было раньше. Подписи нужно приклеивать к каждому сообщению. И когда к каждому сообщению приклеивалось 64 байта, а теперь, хорошо, пусть будет не 8, пусть будет 3 килобайта, это сильная нагрузка на трафик. Cloudflare рассуждал, что у них среднее сообщение меньше 7 килобайт, которое транслируется. То есть если ещё у вас цепочка из сертификатов к этому сообщению, это не одна подпись, а на текущий момент чуть ли не семь, то по анализу Cloudflare вы в первую очередь будете пересылать подписи, а не контент. Это не очень приятно. Поэтому сейчас рассуждают над новыми подходами: вместо того чтобы использовать цепочку из сертификатов, активно набирает популярность подход Merkle Tree Certificates, где вы эти сертификаты комбинируете тоже в дерево, и вместо того чтобы отправлять конкретные ключи, вы отправляете корни к этим деревьям, таким образом общаетесь. И второй момент: мы просто ждём, что может быть новый стандарт во втором процессе стандартизации окажется получше, они что-нибудь стандартизируют.

(01:13:11) Михаил Кудинов: И ключевой момент заключается в том, что если мы как раз говорили про Harvest Now, Decrypt Later, если мы выработали общий ключ, мы всё шифруем дальше, всё хорошо конфиденциально, а подписи в большинстве кейсов нужны здесь и сейчас. Мне нужно здесь и сейчас проверить, что со мной говорит пользователь. Если я через 10 лет смогу как-то взломать эту подпись, это никакого преимущества не даст. Уже мы перешли на другие алгоритмы, и этот взлом не актуален. Это не для всех use-кейсов правда. Если вы спутник запускаете в космос, и он там будет летать 20 лет, и вам не очень удобно обновлять на нём криптографические алгоритмы и протоколы, то неплохо бы уже в спутник засунуть пост-квантовую подпись. Но для большинства практических кейсов на сегодняшний момент достаточно выработки общего ключа с шифрованием.

(01:14:08) Сергей Тихомиров: Из того, что я прочитал, готовясь к этому выпуску, у меня сложилось впечатление, что дата, которая довольно часто возникает и считается, как я понимаю, усреднённо консенсусной, это типа 2035. Но при этом последний таймлайн Google, например, сдвинул ближе к нам дату до 2029, когда Google свою инфраструктуру планирует перевести на пост-квантовую криптографию. Какие здесь мнения, какие даты тебе кажутся оправданными?

(01:14:36) Михаил Кудинов: Когда появится квантовый компьютер, никто не знает. Есть ряд задач, которые на текущий момент ещё не решены. Рассуждается о том, что эти задачи вот-вот решатся, есть какие-то новые идеи, новые подходы. Я плохо разбираюсь в устройстве квантовых компьютеров, поэтому здесь слабо могу прокомментировать. Сейчас какой-то компьютер на нейтральных атомах строится. Чем нейтральные атомы лучше ионных квантовых компьютеров, я, к сожалению, прокомментировать не смогу. Но рассуждается о том, что технология растёт. Что ещё очень важно, улучшаются алгоритмы. Первый алгоритм Шора требовал, пусть будет, я сейчас случайные цифры из головы говорю, пусть будет 10 миллионов кубитов. И 10 миллионов кубитов сложно построить квантовый компьютер, который оперирует 10 миллионами кубитов. Через какое-то количество времени вышла новая статья, которая показала, как реализовать алгоритм Шора теперь не 10, а 1 миллионом. Относительно недавно вышла новая статья, которая показала, что нужен не 1 миллион, пусть будет 50 тысяч. Поэтому алгоритмы улучшаются, тем самым сдвигая этот временной промежуток всё ближе и ближе. Куда ближе? Это дискуссионный вопрос. Откуда взята цифра 2035? Это также из NIST-овского, по-моему, или не NIST-овского, но тоже из американского правительства: выпустили указ, что внутренняя инфраструктура к 2035 году полностью должна перейти на пост-квантовые алгоритмы. Соответственно, 2035 — это наш дедлайн. Недавно Google тоже, наверное, в свете этих новых алгоритмических результатов, возможно, каких-то технических подходов, сказал, что хочет завершить миграцию к 2029. Что важно заметить: завершить миграцию и появится квантовый компьютер — это разные вещи. Мне кажется, часто то, что я вижу в интернете, в Твиттере, в свободном обсуждении: год 2029 начинают интерпретировать так, что Google сказал, в 2029-м квантовый компьютер появится. Нет. Google сказал, что в 2029-м они хотят завершить миграцию. Что это значит? Почти наверняка они уверены, что до 2029-го им не понадобится, иначе бы надо было сроки ещё уменьшать. И второй момент: наверное, это близко к тому времени, где они считают, что вероятность появления квантового компьютера становится не пренебрежима. Что условно, пусть будет в 2030-м, есть вероятность, пусть будет 1 на миллиард, что появится достаточно мощный квантовый компьютер. Просто когда мы говорим о том, что вероятность 1 на миллиард или на 100 миллиардов, с вероятностью 1 на 100 миллиардов ваша инфраструктура полностью взломана. Ну, это плохая вероятность всё ещё. Вам такое не подходит. Цена игры, грубо говоря, минус бесконечность, и вероятность 1 на миллиард уже не подходит. Когда появится квантовый компьютер? Это хороший вопрос, но, конечно, в моём представлении я очень сильно удивлюсь, если он появится до 2030-го года. 2035-й, возможно. Но в любом случае идея заключается в том, что мигрировать надо чем быстрее, тем лучше. Потому что когда станет ясно, что квантовый компьютер будет вот-вот, или где-то скоро, где мы сможем дать хороший, серьёзный прогноз, где мы сможем сказать: о, вот мы тут что-то сделали, теперь мы понимаем, что нам осталось два года, миграция — это сложный процесс, сильно сложный процесс. Менять алгоритмы, переходить с протоколов на протоколы, тестировать. Из стандартов глобально у нас есть NIST-ские стандарты, что-то стандартизовали в Европе, и на этом всё, на что будут переходить другие страны? Если кто-то использует американские стандарты, я знаю, вроде бы, в Японии они такие: ну вот мы — NIST-ские. Но если вы хотите что-то своё, удачи: вам сначала стандарт выпустить, потом только компании будут что-то приходить, потому что о чём без стандарта приходить, на что? Чтобы потом переделывать всё? Поэтому здесь, да, мне кажется, что готовыми нужно быть сегодня, может быть, лучше даже вчера.

(01:19:33) Сергей Тихомиров: Я слушал подкаст Zero Knowledge — у них был юбилейный 400-й выпуск с Деном Боне из Стэнфорда. Две мысли, которые гость там высказал, показались мне интересными: я их записал и хочу поделиться с вами. Во-первых, когда обсуждались пост-квантовая криптография, переход и почему Google поставил такой амбициозный дедлайн, Ден Боне говорит, что это огромная корпорация, там многослойный менеджмент. У них всё происходит медленно, и скорее всего, какой бы срок ни поставили, его пропустят. Поэтому лучше поставить 2029, заложить ещё два-три года на задержки из-за бюрократии — и как раз к 2035-му, скорее всего, перейдём. Это скорее комментарий, а не вопрос. Вторая, более содержательная мысль: Ден Боне говорит, что есть и риски, связанные со слишком быстрым переходом на пост-квантовые алгоритмы. Сейчас большая часть классической криптографии крутится в HSM, то есть в аппаратных модулях, где алгоритмы прописаны либо на уровне железа, либо на очень низкоуровневой логике. Всё там уже работает и протестировано. А для пост-квантовой криптографии таких аппаратных реализаций пока нет. На практике переход будет означать вынос приватных ключей обратно в обычные CPU, что повышает риски. Он говорит, что нужно балансировать эти риски с рисками квантовой атаки. Мне интересно, что ты на это скажешь.

(01:20:57) Михаил Кудинов: Мне кажется, это на сто процентов валидный аргумент. Среди возможных подходов здесь можно говорить про гибридные версии, где мы по-прежнему крутим классическую криптографию в этих HSM. Если она работает, итоговая гибридная версия тоже будет безопасной. С точки зрения миграции, конечно, можно что-то неправильно издать или запустить. Мы что-то выносим из HSM, новые протоколы могут содержать уязвимости. Но на сегодняшний момент этим процессом просто нужно заниматься. Если мы скажем: пока нет квантового компьютера, не будем заниматься — без задачи и запроса никто не станет делать новые железки для HSM, не будет стандарта, не будет дедлайнов. С точки зрения эффективности ни одна компания сама по себе не хочет пост-квантовые алгоритмы. Они дороже делают коммуникацию, требуют больше памяти для ключей, больше трафика, больше вычислений и энергии. Это всё затраты. История исключительно про вынужденность: безопасность, которую мы вынуждены обеспечивать, поэтому мы идём к пост-квантовым алгоритмам, а не потому что алгоритм так интересен. Процесс должен когда-то начаться. У него есть проблемы и подводные камни. Чем раньше мы начнём, тем медленнее и аккуратнее можем идти по этой дороге. Чем позже начнём, тем больше шанс, что шапка горит и HSM нужны были уже вчера.

(01:23:12) Александр Селезнев: Я бы от себя добавил, что точно знаю: сейчас есть команды, которые занимаются разработкой пост-квантовых HSM. У меня есть хороший знакомый в этой области — не уверен, насколько это публичная информация, поэтому имя произносить не буду, — но это точно задача, которую люди уже решают.

(01:23:34) Михаил Кудинов: Мне кажется, это спекуляция с моей стороны, но как раз дедлайны, которые мы выставляем сами себе — будь то Google, который публично объявляет 2029, — на которые смотрят другие компании. Вместо того чтобы проводить свой анализ, они думают: последуем, это всё-таки крупная корпорация, наверное, что-то умное говорит, и мы тоже будем этим заниматься. Тем самым растёт спрос на продукт. Сам Google как вендор: можно прийти и сказать — вот мои HSM, вам так нужны, вы к 2029 собираетесь, и так далее. Мне кажется, эти дедлайны лишь помогают процессу.

(01:24:16) Александр Селезнев: Я сейчас подумал, что любопытно: ты сказал, что компании увидели, что Google назвал 2029 год, и сами решили не разбираться — мол, Google лучше знает, подстроимся. Получается, они даже не поняли, что в 2029 году произойдёт. Реально многие люди, и я сам, сильно в этом не разбирался: думал, в 2029, наверное, появится квантовый компьютер. А оказывается, ситуация другая — сегодня я узнал от нашего гостя, что квантовый компьютер в 2029 вряд ли появится. Это очень важное новое знание.

(01:25:08) Михаил Кудинов: Как минимум это про появление такого мнения. По фактам здесь можно точно сказать, что Google сказал: мы завершаем миграцию, а не что мы считаем, будто к 2029 появится компьютер.

(01:25:25) Сергей Тихомиров: Я бы ещё внёс терминологическое уточнение: когда мы говорим «появится квантовый компьютер», имеется в виду криптографически релевантный, потому что какие-то квантовые компьютеры уже сейчас есть.

(01:25:33) Михаил Кудинов: Да, это точно.

(01:25:39) Сергей Тихомиров: Мы, наверное, сейчас перейдём к блоку вопросов от слушателей. Я буду их вольно обобщать и переформулировать и, наверное, не все успею задать, но некоторые обсудим. Один вопрос про квантовый криптоанализ — перескажу своими словами: какие у нас есть примеры наиболее важных, практически продемонстрированных атак на криптографические алгоритмы квантовым компьютером? Или это всё пока на уровне игрушечных параметров и разложения 35 на 5 и 7?

(01:26:22) Михаил Кудинов: На практике, наверное, скорее игрушечные параметры и разложение 5 и 7. В теории есть разные теоретические результаты: Шор, Гровер, их оптимизации, разные подходы к решёткам. Есть классы задач, которые сильно улучшаются на квантовом компьютере, и те, что улучшаются слабо. Подходы есть, но в первую очередь это теория. На практике — история про 5 и 7.

(01:26:50) Михаил Кудинов: Здесь ещё важный момент. Один из исследователей по квантовым компьютерам подготовил хорошую визуализацию: есть milestone, когда мы сможем, условно, взломать не 35, а, скажем, 63 — пройти порог работы с большим числом кубитов, справиться с ошибками и так далее. И срок между тем, как мы взломаем 63, и тем, как сможем взломать эллиптическую кривую, может составить пару лет. Аналогия такая: чтобы путешествовать во времени в любую точку, неплохо сначала научиться сдвинуться на секунду назад. На секунду назад никому особо не интересно, на практике мало что меняет. Но как только мы сможем на секунду, докрутить алгоритм до произвольного времени назад окажется сильно легче, чем сделать первый шаг на одну секунду.

(01:28:08) Сергей Тихомиров: Это напомнило аналогию, которую привёл искусственный интеллект, с которым я, в числе прочего, обсуждал тему, готовясь к выпуску. Он говорит, что это примерно как авиация в 1910 году: уже продемонстрировано, что самолёты тяжелее воздуха бывают, летают, садятся. Но до массовой коммерческой авиации — ещё десятилетия развития сопутствующих технологий.

(01:28:42) Михаил Кудинов: Здесь как раз наоборот. Как только продемонстрируем, что можно взломать небольшое число, до взлома большого — не десятилетия, а пара лет.

(01:28:52) Сергей Тихомиров: Наверное, аналогия была не совсем точной. Точнее было бы сказать, что человечество тысячелетиями пыталось научиться летать, потом братья Райт полетели и продемонстрировали возможность. На фоне всей истории человечества дальнейшее развитие авиации — короткий отрезок.

(01:29:06) Сергей Тихомиров: Давайте быстро обсудим ещё пару вопросов от слушателей. Есть вопрос, связанный с zero knowledge — мы эту тему вообще не затрагивали, хотя она релевантна и для блокчейнов, и не только. При переходе на пост-квантовую криптографию какой вариант ZK-proof предпочтителен и почему?

(01:29:15) Михаил Кудинов: У нас есть, предположительно, пост-квантовые zero-knowledge-проба. В общем случае этот класс алгоритмов часто называют STARK. Они построены на кодах, исправляющих ошибки — эта часть информационно-теоретическая и не связана с нашими вычислительными возможностями, она просто всегда работает — и на хэш-функциях. Хэш-функции — наше предположение, что они стойки против квантового компьютера. Среди последних алгоритмов Ethereum, насколько я знаю, ставят на WHIR — если правильно помню с головы. Это тоже алгоритмы на таких кодах и хэш-функциях, которые позволяют агрегировать утверждение и доказательство, и при необходимости добавить zero knowledge.

(01:30:24) Сергей Тихомиров: Что в пост-квантовой криптографии происходит с так называемыми side-channel-атаками? Нужно ли обеспечивать константное время работы криптографических алгоритмов в пост-квантовом мире, и как это делается, если нужно? И кратко, обобщая: что это такое?

(01:30:39) Михаил Кудинов: Side-channel-атаки — это атаки не на математическую часть алгоритма, не на математические структуры или анализ задач, а на данные, которые утекают из-за реализации. Например, сколько отрабатывает алгоритм. Если в зависимости от секретного ключа: при ключе из одних единиц он работает час, при ключе из нулей — секунду, и чем больше единиц, тем дольше, я могу замерить время ответа на запрос и по нему восстанавливать ключ — не из математической структуры, а из таких побочных данных. Обычно их делят на два класса: с физическим доступом к устройству и без. Без физического доступа в целом сводится к измерению времени. Среди пост-квантовых алгоритмов подходы учитывают такие атаки и реализуются так, чтобы нивелировать side-channel по времени. Есть физические атаки: измерить амплитуду тока и т. п., или внести ошибку в вычисление. Здесь применяют алгоритмические и физические защиты. Алгоритм по сути тот же, но внутри меняют операции: например, сложение не как A плюс B, а A разбивают на части A1, A2, A3, A4, A5, A7, B тоже, складывают по-разному, перекомбинируют — из-за такого разбиения даже с физическим доступом сложнее вытащить информацию. Для пост-квантовых схем это всё учитывается и анализируется; атаки по времени обязательно контролируются, как в классическом подходе. На это смотрим так же.

(01:33:17) Сергей Тихомиров: Что бы ты посоветовал почитать или за какими источниками следить нашим слушателям, если они хотят получать апдейты без слишком булшитных заголовков и нагнетания паники — о том, что реально происходит?

(01:33:28) Михаил Кудинов: Очень сильно зависит от технической подготовленности. Если это технический специалист, можно следить за конференциями: среди крупнейших криптографических — Crypto, Eurocrypt и Asiacrypt. С точки зрения практических обновлений и интересных результатов отлично подходит Real World Crypto — ближе практико-ориентированным людям, там обсуждают вопросы практики. Если хочется погрузиться в тему глубже — те же Crypto, Eurocrypt, Asiacrypt или более узкие конференции по направлению. Спросите у ChatGPT или другого любимого AI-помощника, какие конференции сильнее всего в этом направлении, смотрите публикации оттуда. И, конечно, фундаментальная база: математический аппарат, линейная алгебра, дискретная математика, группы, общие книги по криптографии — всё полезно. У меня был список материалов и книг, которые я читал на своём криптографическом пути — могу поделиться ссылкой.

(01:35:03) Сергей Тихомиров: Да, спасибо, думаю, будет очень полезно — приложим тогда в шоуноты.

(01:35:07) Сергей Тихомиров: Два последних вопроса от слушателей. Один звучит так: насколько мы близки к состоянию, когда квантовые компьютеры начнут использовать… «Северная Корея» в кавычках — я немного переформулирую: где строятся квантовые компьютеры, в каких странах, насколько страны коллаборируют или, наоборот, каждая пытается максимально оградить свои достижения от конкурентов?

(01:35:29) Михаил Кудинов: Здесь я вставлю преамбулу: по этому вопросу я не очень глубоко погружён. Из того, что понимаю, в первую очередь речь про американские компании — это очень дорогое мероприятие, возможно с дополнительным финансированием от государства, но в целом дорого; в университетах встречается реже, и чаще это коллаборация университета с частной компанией. Ходит обсуждение, что в Китае этим занимается в первую очередь государство, и есть мнение, что результаты там сильно менее публичные — насколько это правда или слухи, сказать сложно. Утверждение, что кто-то что-то не рассказывает, непроверяемо: я могу сказать, что строю квантовый компьютер и никому не рассказываю — у меня таких возможностей нет, у Китая есть, но это домысел. Если говорить про страны с меньшим экономическим развитием, там обычно меньше результатов. Мне кажется, это связано и с тем, что мы обсуждали в этой серии: практических применений квантового компьютера пока не так много — они есть, но довольно ограниченные.

(01:37:09) Сергей Тихомиров: Под занавес — вопрос, который, возможно, выведет нас на более философскую ноту. Если квантовые компьютеры однажды взломают почти всю современную криптографию, значит ли это, что цифровая безопасность по своей природе временная, а не постоянная?

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

(01:38:51) Александр Селезнев: Хочу под конец сказать свой hot take — интересно, согласится ли Михаил. Я весь выпуск слушал и думал: не получается ли, что изобретение квантовых компьютеров — это по сути долгий муторный путь просто сделать нашу жизнь хуже? Жили без квантовых компьютеров, гоняли всё на эллиптических кривых, подпись была 60 байт, не переживали. Долго работали, изобрели — теперь подпись килобайты, мучаемся, переходим, HSM переделываем. Одни 15 лет копали яму, другие 15 лет закапывают. Как будто абсурд.

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

(01:41:05) Александр Селезнев: Гранты крутятся, лавэха мутится. Ну что, я так понимаю, мы все свои вопросы задали по первой части. Михаил, огромное тебе спасибо.

(01:41:16) Михаил Кудинов: Спасибо вам за очень интересную беседу.

(01:41:18) Сергей Тихомиров: Если ты ещё хочешь что-то добавить, прорекламировать или объявить — можешь это сделать.

(01:41:23) Михаил Кудинов: Да, наверное, нет. Может быть, по итогам второй части у нас ещё что-нибудь появится.

(01:41:28) Александр Селезнев: Хорошо. Ещё раз спасибо всем участникам. Спасибо слушателям, что слушаете нас. Спасибо спонсорам: Zerion — Ethereum enterprise-grade Web3 API; Fluence — децентрализованная облачная платформа; Acki Nacki — самый быстрый возможный блокчейн; 1inch — ведущая экосистема DeFi. Подписывайтесь на нас на всех подкаст-площадках, ставьте лайки, подписывайтесь на YouTube. Давайте продвинем наш YouTube, чтобы больше людей слушало умный контент. Ну что ж, всем пока!