Bartolomeu Velho, 1568; WikimediaЕсли выбрать систему координат таким образом, что Солнце движется в ней прямолинейно со скоростью несколько сотен км/сек., то траектория Земли окажется кривой, напоминающей синусоиду. В этой системе координат Земля вовсе не “вращается вокруг Солнца”, в том “наивном” смысле, что не описывает окружность, в центре которой Солнце.

Для навигации на поверхности Земли – удобны другие системы координат, в которых Солнце вращается вокруг Земли, поскольку она зафиксирована. Расхожее утверждение, что “Земля вращается вокруг Солнца” – не более чем фигура речи, пусть и очень популярная. Например, для того, чтобы получить существенные вычислительные преимущества при предсказании астрономических событий Солнечной системы, наблюдаемых с Земли, самой по себе гелиоцентрической системы не достаточно, нужно ещё учитывать геометрию орбит планет, иначе потребуется, как и в развитом геоцентрическом случае, вводить множество дополнительных “параметров”, чтобы наблюдения как-то сходились с моделью.

Существенные искажения смысла, которые сейчас встречаются повсеместно (см. надавнюю записку про соцопрос), возможно, вызваны таким явлением, как упрощённый, массовый “научпоп”: почему-то стало принято считать, будто уровень знаний достиг таких высот, что всё вокруг, от движения планет и устройства космических телескопов до систем связи пятого поколения и превращений элементарных частиц в ускорителях, очень просто, легко и, главное, детально, объясняется “физикой за пятый класс”. Сама “физика за пятый класс” при этом никак не определяется, поскольку важным признаётся именно подход, подразумевающий эквивалентность простых “утверждений”, которые легко запомнить (без осознания), и “научной грамотности”.

Вернёмся к движению планет. То, что Солнце существенно больше Земли, а наблюдаемое движение светила по небу можно объяснить при помощи модели, в которой именно Земля движется вокруг, выяснили ещё древние греки. Но, скажем, измерение годичного параллакса звёзд, как подтверждение движения Земли по орбите, удалось произвести только в 19 веке. Следует ли считать, что до этого момента утверждение “Земля вращается вокруг Солнца” было всего лишь популярным обобщением? Нет, конечно. Это утверждение, в изолированной форме, и сейчас не несёт особого смысла. То есть, процесс выбора моделей мира был длительным, непростым, и не сводился к тому, как сейчас нередко принято объяснять: “Коперник открыл, что Земля вращается вокруг Солнца”. Никаких особенных причин утверждать, что именно Земля движется, нет, а практическое удобство гелиоцентрических систем совсем в другом.

Но главное полезное наблюдение состоит не в этом. Так, в разных системах отсчёта, в разных системах координат, движение светил будет описываться различными формулами, которым соответствуют различные траектории. Результаты нередко выглядят неожиданными: например, траектория Луны, движушейся вокруг Солнца, очень близка к окружности. Действительно, от одной формулы можно перейти к другой. Именно на этом уровне и образуется новое знание, отличающееся от простого заучивания кратких “утверждений”. Это знание позволяет понять, почему разные системы отсчёта, представленные в наивном виде (“Земля вращается вокруг Солнца”), как бы “противоречат” друг другу. То есть, знание, – по крайней мере, математическое, – здесь соответствует механизму разрешения противоречий. Этот механизм находится на пару уровней выше утверждения “Земля вращается вокруг Солнца”. Естественно, астрономические успехи связаны с определением и строгим формулированием элементов этого механизма. На первом этапе – понимание того, что наблюдаемая картина движения светил может быть интерпретирована различными способами. На втором – создание логических конструкций, позволяющих вычленить существенные характеристики того, как различные модели переходят одна в другую, с сохранением наблюдаемого результата. И уже на третьем этапе – выяснение причин такого перехода и их строгое описание. Простое утверждение “Солнце вращается вокруг Земли” не играет сколь-нибудь значительной роли, гораздо важнее понимание того, что подразумевается под “вращением”, насколько это понятие универсально.



Комментировать »

“Коммерсант” пишет про результаты соцопроса, которые связывает, ни много ни мало, с “уровнем научной грамотности” (“невысоким”).

“Как показал опрос ВЦИОМа, 35% россиян считают, что Солнце вращается вокруг Земли. О том, что Земля вращается вокруг Солнца, знает 61% респондентов.”

Понятно, что влияет массовый “научпоп”, а опрос – манипулятивный, но всё равно довольно забавно читать выводы о “научной грамотности”, сделанные по результатам ответа на довольно бессмысленный вопрос, который был сформулирован следующим образом: “Согласны ли вы с утверждением: «Солнце вращается вокруг Земли»?”. Проблема в том, что интерпретация предложенного утверждения зависит от используемой модели и системы координат. Так, можно выбрать систему с зафиксированной Землёй в начале координат и, в таком случае, Солнце вращается вокруг Земли. Подобная система оказывается удобной при решении определённых задач. Можно выбрать систему, где началом координат является Солнце, а Земля движется вокруг – такая система хорошо подходит для других задач. А можно привязать начало координат к какому-нибудь далёкому пульсару. Но все эти хитрости не делают конкретную систему “истинной” настолько, чтобы с ней соглашаться или нет. Поэтому, если уж и судить о “научной грамотности”, то, скорее, как раз по высокой доле “неочевидных” ответов.



Комментарии (2) »

Анонимизация больших объёмов данных, которые собирались для конкретных персон, представляет большую проблему. Особенно, если данные достаточно подробные, уникальные и их много. В недавно опубликованной работе исследователи показывают, что публично доступные “анонимизированные” базы “расшифровок” человеческой ДНК, собранные различными проектами, не только оказываются пригодными для эффективной деанонимизации, но ещё и позволяют идентифицировать людей, которые образцов ДНК ни в какой проект не сдавали (но, понятно, где-то такой образец оставили). Данные ДНК могут показаться разрозненными, но это совсем не так, если смотреть на них с точки зрения биологических механизмов. Интересно, что если наложить на набор данных ДНК генеалогические деревья, сопоставив родственников по фрагментам кода, то исходный набор “анонимных” данных тут же теряет всю свою “вариативность”. Если у вас есть база данных с ФИО и отношениями родства, то достаточно подставить в дерево хотя бы одну реальную персону, как все остальные узлы тут же деанонимизируются самым очевидным образом. При неполных данных – всё равно можно уверенно перескакивать между ветками, обнаруживая двоюродную и троюродную родню.

В работе по ссылке – показано, что механизм наследования достаточно силён для того, чтобы покрыть практически всю популяцию, собрав ДНК лишь у небольшой части людей. И речь тут идёт о том, что публичные “анонимизированные” базы позволяют идентифицировать персон, ДНК которых в базе отсутствует, но нашлись родственники разной степени “отдалённости”. Цитата:

“Используя конкретную модель, мы можем предсказать, что база данных с записями о приблизительно 3 млн жителей США европейского происхождения (2% соответствующего взрослого населения), позволяет найти для 99% населения данной этнической принадлежности как минимум одного троюродного родственника, а для 65% – как минимум одного двоюродного”.

Чтобы сопоставить реальных персон записям в базах ДНК, исследователи используют год рождения, примерное место проживания – это позволяет резко улучшить точность. Собственно, задача складывается в чисто комбинаторную, а комбинаторные соображения очень часто помогают убрать всё лишнее и найти реальную структуру, стоящую за данными. Я довольно давно писал на сходную тему, правда, в привязке к “анонимизированным” данным геолокации.



Комментарии (3) »

Многие слышали про криптографию на эллиптических кривых. Но эллиптические кривые, которые давно являются мощным инструментом теории чисел, можно успешно применить к решению элементарной (по формулировке) арифметической задачки про бананы, яблоки и ананасы. Текст ниже – несколько сокращённая версия моего перевода ответа Quora.com, который дал Alon Amit (англ.).
Читать полностью



Comments Off on Фрукты и эллиптические кривые

Около года назад я кратко описывал возможную атаку на протокол биткойн, основанную на быстром вычислении дискретного логарифма при помощи квантового компьютера, что ломает подпись ECDSA. Вот, появилась весьма подробная научная публикация на эту же тему: Quantum attacks on Bitcoin, and how to protect against them – в работе рассматриваются и квантовые атака на алгоритм “доказательства проведённой работы” (PoW), они, впрочем, признаны неэффективными на практике.



Комментарии (1) »

Прямое и универсальное использование квантового компьютера для “взлома” симметричных шифров сводится к (квантовому) поиску при помощи алгоритма Гровера (это аналог полного перебора вариантов). Из-за квадратичного выигрыша, который даёт данный алгоритм относительно перебора на классическом вычислителе, симметричные шифры для сохранения практической стойкости должны использовать ключи в два раза большей разрядности. Но квантовый компьютер может быть использован и для криптоанализа, направленного на тот или иной конкретный шифр, то есть, для снижения стойкости конкретного шифра, а не для простого перебора: успешный криптоанализ – позволяет существенно снизить “мощность перебора”. При этом универсальный квантовый компьютер можно применить для реализации уже наработанных классических техник криптоанализа (с тем или иным выигрышем в производительности, либо без выигрыша), а можно разработать некие новые квантовые методы криптоанализа, что гораздо интереснее.

Эти квантовые методы должны использовать какие-то свойства взламываемого шифра, которые хорошо проецируются именно на возможности квантовых вычислений. Пример. Предположим, что для для заданного шифра можно построить некоторую периодическую функцию, разбивающую всё пространство ключей на интервалы. Период этой функции может эффективно определить квантовый компьютер (это типичная задача, так, на поиске периода основан квантовый алгоритм Шора факторизации чисел). Знание периода позволяет путём анализа нескольких пар, состоящих из открытого текста и соответствующего ему шифротекста, определить, в какой именно из интервалов попадает секретный ключ, а дальше уже перебирать значения только из этого интервала, который, предположим, невелик. (Можно переформулировать: пусть обнаруживается период функции, определяющей возможные ключи – в таком случае, зная период, можно будет проверить только их, прыгая по значениям.) Пары открытых текстов и шифротекстов часто известны на практике. Скажем, HTTPS, использующий TLS в качестве транспорта, подразумевает передачу куки-файлов или известных заголовков запросов. При этом режим счётчика (GCM и пр.) основан на зашифровании последовательных значений. Это грубое изложение, но оно математически сходно с атаками, которые уже несколько лет обсуждаются в публикациях, применительно к различным режимам симметричных шифров.

Другими словами, алгоритм Гровера, “грубый поиск”, является универсальным. Если он будет реализован (а для реализации, применительно к шифрам, потребуется сложный квантовый компьютер с тысячами кубитов), то это затронет стойкость всех симметричных шифров, но приведёт “всего лишь” к росту разрядности ключей в два раза. Однако неверно полагать, что не существует куда более эффективных квантовых методов криптоанализа, которые, в случае появления мощного квантового компьютера, снизят до уровня непригодности стойкость если не самих используемых сейчас симметричных шифров, то их повсеместно применяемых режимов работы.



Комментарии (1) »

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



Comments Off on Изогении кривых

Частота появления новых записок на dxdt.ru снизилась, и вот почему: я за это время написал большой текст про TLS, рассказывающий как этот протокол работает в подробностях. Несмотря на то, что изложение начинается с истории разработки TLS – это технический, ориентированный на специалистов, текст, подразумевающий некоторую подготовку у читателя: местами протокол разобран буквально до байта (в качестве примеров я рассматриваю дампы TLS-сессий). Подробных русскоязычных описаний для TLS очень мало, а протокол этот получает всё большее распространение – неправильное понимание принципов работы TLS ведёт к неприятным ошибкам в реализациях сервисов, которые его используют. Поэтому, думаю, такое описание будет полезно.

Описание я планирую дополнять, потому что, несмотря на объём, охвачены ещё не все аспекты, которые хотелось бы рассмотреть. Сейчас в деталях рассмотрены такие ключевые моменты, как установление соединения (Handshake) и логика построения обмена сообщениями – это основа основ TLS. В ближайших планах: раздел, разбирающий современные шифры (в различных режимах работы), пояснения про использование криптографии на эллиптических кривых. Вероятно, будут исходники на С, поясняющие некоторые моменты реализаций. Конечно, нужен структурный путеводитель по RFC, имеющим отношение к TLS (их великое множество). Для того, чтобы получился полноценный тематический сайт я выделил проекту отдельный адрес: https://tls.dxdt.ru/. (Правда, пока там многое нужно оформить.)

Если есть какие-то поправки, уточнения, пожелания по новым темам (про что написать подробнее) – сообщайте, пожалуйста, либо мне почтой, либо в комментарии к этой записке.

Сам текст:

Ключи, шифры, сообщения: как работает TLS



Комментарии (12) »

BirdВ продолжение заметки про сеансовые ключи TLS, генерируемые по протоколу Диффи-Хеллмана (DH). Этот протокол, в классическом случае, работает на “обычной” конечной группе (современный вариант использует группу точек эллиптической кривой – см. ниже). Группа DH задаётся единственным числом – модулем. Это обязательно большое простое число. На практике веб-серверы так настроены, что используют ту или иную типовую группу (или типовой модуль, что эквивалентно). Модуль не является секретным. То есть, известна группа, используемая большинством веб-серверов, поддерживающих DH (для Рунета это более 60% веб-серверов). Эта группа является 1024-битной, что не так много.

Вся практическая полезность DH строится на сложности задачи дискретного логарифмирования (отыскания по известным A,G такого e, что A = G^e). Так вот, один из моментов, на который обратили внимание авторы атаки на TLS Logjam, состоит в том, что если у вас много ресурсов, то, в теории, для 1024-битной группы можно уже сейчас предвычислить её арифметические структуры, потратив пару лет работы суперкомпьютера и сохранив результаты в специальных таблицах. После этого вычислять дискретный логарифм можно достаточно быстро (за часы, а возможно, даже в режиме онлайн), особенно, если вы используете специальную многопроцессорную систему. Это означает, что можно расшифровать записанный ранее трафик TLS-сессий (а также других протоколов, использующих DH). Дело в том, что сеансовый ключ, если вы умеете отыскивать дискретный логарифм, элементарно вычисляется из ключа DH, который передаётся в открытом виде. Предвычислить нужную структуру можно только для известной группы, поэтому важно, чтобы TLS-серверы использовали типовые параметры. При этом, для тех, у кого ресурсов мало (кто не является специализированным агентством, например), группа остаётся вполне стойкой.

Лирическое отступление: как упоминалось выше, есть современная разновидность DH, работающая на группе точек эллиптической кривой – ECDH. Этот протокол также распространён в современных реализациях TLS. Из-за особенностей групповой операции на эллиптической кривой, отыскание дискретного логарифма в такой группе сложнее, поэтому, во-первых, можно использовать более короткие ключи, и, во-вторых, использовать общую кривую. На практике самый распространённый случай – кривая secp256r1, предлагающая 256 бит. Естественно, на ум сразу приходят теории о том, что АНБ известна пара-тройка секретных теорем, которые позволяют резко уменьшить вычислительную сложность дискретного логарифмирования на кривой secp256r1 (которая, кстати, в АНБ и сконструирована).

Самое занятное, что если группу классического DH в TLS легко поменять – модуль и генератор передаются в сообщении сервера и могут быть любыми, – то для эллиптических кривых всё сильно сложнее: параметры здесь фиксированы заранее, клиент и сервер могут договориться только о самой кривой, выбрав её из ограниченного списка. Для эллиптической криптографии уже находили эффективные оптимизации: например, существуют так называемые суперсингулярные кривые, на которых дискретное логарифмирование оказывается разрешимым на практике. (Поэтому данный тип кривых нельзя применять в качестве основы для “классического” ECDH или алгебраически родственной криптосистемы ECDSA; что, кстати, не означает неприменимость этих кривых в криптографии вообще – предложены алгоритмы электронной подписи, использующие именно суперсингулярные кривые, но это другая история.) В общем, если вы умеете “логарифмировать” на эллиптической кривой, то ECDH точно также теряет надёжность, а памяти для хранения оптимизации, вполне возможно, требуется меньше (из-за меньшей разрядности группы).



Комментарии (6) »
Навигация по запискам: Раньше »