Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Так как собираюсь свой экспериментальный сервер TLS 1.3 tls13.1d.pw отключить, можно рассказать про сверхтехничную “пасхалку”, которая на этом сервере присутствует. Почему сверхтехничная – будет, думаю, понятно из описания.
Если посмотреть на HTTP-заголовки в ответе сервера, то можно заметить заголовок “X-TLS-ClientRandom-Challenge”, в котором написано следующее:
try="0xDEADDEADDEADC0DE0[0...]-in-Random"
Заголовок служит затравкой. Под Random – имеется в виду поле в TLS-сообщении ClientHello, поскольку сообщения сервера клиент всё равно не контролирует в нужном объёме. Поле Random – это 32 байта, отсюда многоточие в HTTP-заголовке. Вообще, если внимательно посмотреть на значения соответствующего поля (Random) в ServerHello, которое присылает экспериментальный сервер, то нетрудно заметить, что оно почти всегда (кроме случая HelloRetryRequest) равно DE:AD:DE:AD:DE:AD:C0:DE:00… (далее – нулевые байты). Конечно, это сделано специально. Обычный TLS-сервер должен писать в это поле случайные байты (ну или сигналы, разной степени секретности: самый известный сигнал – как раз признак HelloRetryRequest, значение которого прописано в RFC, но это уже совсем технические детали). Так или иначе, наличие специального HTTP-заголовка и фиксированное значение поля Random в ServerHello достаточное основание для того, чтобы попробовать прислать со стороны клиента сообщение с сигналом в Random.
Тут, впрочем, есть одна проблема: вряд ли какая-то распространённая библиотечная утилита позволяет записать в Random произвольное значение, а раскрытие данной “пасхалки” предполагает, что TLS-соединение успешно установлено, что исключает варианты с грубым ручным редактированием байтов в записанном сообщении и повторной его отправкой серверу. Поэтому для реализации нужен какой-то более или менее тонкий инструмент, позволяющий управлять одним из полей в начальном сообщении TLS-сессии (но, думаю, какие-то низкоуровневые утилиты такое умеют; либо можно самостоятельно запрограммировать или модифицировать готовый исходный код, это не очень-то сложно).
Если ClientHello поступило с нужным сигналом в Random, то сервер встраивает в тело HTTP-ответа ASCII-рисунок, который иначе получить нельзя. В этом и состоит “пасхалка”. Надо заметить, что за все эти годы работы сервера (с 2018) было несколько успешных, – в смысле TLS-соединения, – запросов с нужным кодом в Random. Так что кто-то эту техничную “пасхалку” раскрыл.
Комментировать »
Картинка ниже иллюстрирует эффект применения таблицы подстановок (π) из состава шифра “Кузнечик”: верхняя часть – это последовательно увеличивающиеся (слева направо или наоборот – как хотите) значения байтов, биты конкретного байта записаны вертикально, синий пиксель – единица (или нуль, но тогда зелёный – единица); нижняя часть – замена по таблице подстановок, где байт в данном столбце заменяется на соответствующее значение из таблицы. Способ применения таблицы максимально простой – значение входного байта заменяется на байт из таблицы, соответствующий по номеру, например, 0x00 заменяется на 0xFC и так далее, для каждого значения от 0x00 до 0xFF. Состав подстановок зафиксирован спецификацией шифра.

Хорошо виден основной эффект: в результате замены, расстояние между байтами возрастающей последовательности увеличивается, а “статистика”, порождаемая алгоритмом (n+1), скрывается. Подобные таблицы замены относятся к основным элементам, используемым при построении современных шифров. Естественно, сама по себе таблица никакой стойкости не обеспечивает, но, например, решает важную задачу “быстрого” размывания последовательностей “близких” значений во входных данных. Значения для замены специально подбираются так, чтобы эффективно решать именно эту задачу. От таблиц замены зависит стойкость шифров, так что исследование их свойств имеет большое значение (в том числе, с точки зрения обнаружения возможных архитектурных бэкдоров), в частности, конкретно с таблицами “Кузнечика” связана целая серия работ, но это тема для другой записки. Возможно, я напишу подробное описание работы шифра “Кузнечик” для dxdt.ru. С цветными картинками. (“Магма”, второй шифр из соответствующих ГОСТ, – достаточно давно подробно описан.)
Комментировать »
Можно представить “исторический” детектив, – как художественное произведение, – разворачивающийся в средневековом европейском сеттинге: суровый инквизитор-специалист прибывает в определённый город с заданием искоренить еретиков-культистов, о бурной деятельности которых донесли агенты. При этом доклады агентов приходили подробные и детальные: выглядело так, что еретики-культисты почти уже захватили город.
Однако на месте инквизитор обнаруживает, что никаких культистов в том городе не видно. Первое предположение: городская агентурная сеть готовила фиктивные доклады, чтобы как-то оправдывать свою прочую деятельность, но агенты переусердствовали – реально прислали инквизитора. Впрочем, такой расклад тоже вполне себе создаёт для него дело. Однако встреча с местным старшим агентом только всё запутывает: тот утверждает, что отчёты писались (на пергаменте, конечно) полностью по реальным событиям и только по ним, но одна проблема – недавно все локальные записи об этих культистах исчезли, так что подтвердить нечем. Тогда инквизитор проверяет записи и манускрипты, которые привёз с собой: странным образом, но всё, что касалось культистов, – исчезло.
В ходе разбирательства в городе инквизитор выясняет, что какие-то следы культистов всё же есть, но со странностями: например, их магистр в какой-то момент по совершенно неясным причинам потерял доступ к святилищу – просто, исчезли ключи (магические, конечно), позволявшие входить в здание. В святилище проходили собрания, которые позволяли развивать общественное влияние культа. Естественно, исчезли и все манускрипты, свитки и другие носители как важнейших текстов, так и сиюминутных сведений – списки последователей, статистика сборов пожертвований, календари, расписания и расстановки для обрядов (это уже детали). То есть, ко всей тематической информации, к реквизитам доступа (кристаллы и металлические механизмы) оказалась применена известная максима: “данные удалены” (что бы это ни значило в средневековом сеттинге, да ещё и относительно механизмов). А без этих данных и реквизитов доступа – культ уже не работает, поэтому культисты просто разошлись и занялись другими делами.
В какой-то момент инквизитор отправляет запрос в Центральную библиотеку (шифровкой по почте, конечно, но гонцы подобные депеши доставляют быстро) – дабы получить какие-то подробности из отчётов о культистах. Но, как вы уже догадались, ответ не обнадёживает: записи исчезли и в Центральной библиотеке – там нет отчётов о еретиках-культистах из этого, определённого города (но остались отчёты о других). И даже исчезли записи об отправке самого инквизитора с заданием. Но, к счастью, маршал, который составлял задание, помнит, что действительно его составлял, а вот записи – отсутствуют. Поэтому инквизитору всё же лучше побыстрее вернуться обратно, чтобы попытаться разобраться в ситуации.
В итоге, собрав ещё некоторую информацию, хорошо обдумав события, инквизитор приходит к выводу, что некая третья сила, о которой до этого момента не знала Инквизиция, разобралась с еретиками-культистами раньше, но сделала это новым, “информационным” способом – удалив тематические данные из всех источников. Можно было бы разделаться с еретиками-культистами более суровыми методами, но это наверняка вызвало бы агрессивную реакцию, и, возможно, не только со стороны самих культистов. Кроме того, шум и слухи могли бы добавить популярности культу. “Удаление данных” оказалось гораздо более эффективным методом: даже инквизиторы теперь заняты выяснением способов незаметного и масштабного удаления данных, а о культистах – просто забыли.
Конечно, некоторые моменты тут выглядят надуманными, но это только из-за средневекового сеттинга. Достаточно перенести историю в Новое средневековье, в контекст “удаления цифровых следов и доступов”, чтобы она обрела нужную строгость.
Комментировать »
Сокрытие “статистики” входного потока данных – основная характеристика, связанная со стойкостью шифра. Собственно, в обобщённом смысле, цель использования шифра состоит именно в том, что, после обратимого преобразования, всякая “статистика”, порождающая различительные характеристики для входных сообщений, оказалась вычислительно эквивалентна случайной. Именно так нужно представлять эффект действия современного шифра. Можно представить, что есть некая “коробочка”, которая получает на вход открытый текст (исходное сообщение), а выводит либо результат зашифрования (с некоторым секретным ключом, который, для простоты, каждый раз новый), либо случайную, равновероятную последовательность битов (подходящую по длине). Тогда, для стойкого шифра, внешний наблюдатель, передающий в “коробочку” открытый текст, не может с высокой вероятностью определить, что именно пришло в ответ – результат зашифрования или случайные биты (тут нужно учитывать повторные попытки, свойства ключей, делать оговорки про вычислительные возможности и т.д., но это всё детали).
Так, если взять в качестве примера привычную запись текста на естественном языке, то простой шифр алфавитной замены (“А” -> “Д”, “Б” -> “Э” и т.д.: буквы заменяются на буквы по перестановке того же алфавита, ключом является перестановка) не обладает только что описанным свойством: если попросить “коробочку” зашифровать слово “длинношеее”, то результат, очевидно, получится угадываемым (ну, конечно, в той степени, в какой вообще можно поверить в случайные биты).
Данное представление с “размытием статистики” очень полезно для верхнеуровневого понимания свойств шифров. Так, отсюда прямо следует свойство “сокрытия информации” (фольклорное “нельзя прочитать”): если результат работы шифра нельзя отличить от случайного набора байтов, то и “прочитать ничего нельзя” (или “можно прочитать всё что угодно” – тут возможны разные интерпретации).
Интересно, что внесение дополнительного слоя сохранения некоторых статистических характеристик является одной из теоретических областей создания алгоритмических закладок/бэкдоров в шифрах. Представьте блочный шифр. То есть, такой шифр, который на вход получает, предположим, строго 256 битов и 256-битный ключ, а выводит тоже строго 256 битов шифротекста. Многие современные шифры так работают. Если шифр идеальный, то вывод будет равновероятным, а для успешного поиска нужно будет перебирать, хотя бы, 2^255 вариантов.
Однако можно предположить, что специальный дефект в алгоритме создаёт недокументированное разбиение всего пространства шифротекстов на некоторые интервалы (даже не обязательно, чтобы на непересекающиеся). Попадание шифротекста в тот или иной интервал связано со значением некоторых битов ключа. Тогда, если проверка свойств шифра проводится для нескольких случайных входных блоков, даже при использовании одного значения ключа, обнаружить какие-то подозрительные разбиения не получится. Однако сторона, знающая о недокументированном дефекте алгоритма, может передать кортеж специально подготовленных блоков открытого текста, прочитать вывод шифра, определить последовательность интервалов, в которые попали блоки шифротекста, и вычислить интервал возможных значений ключа (ключ использовался один и тот же). Этот вычисленный интервал для ключа может быть небольшим, – например, 2^32 значений, – что позволяет найти ключ перебором.
Так как использование одного значения ключа для зашифрования потока данных из многих блоков это обычная практика – подобная атака явяется вполне себе практической, но, конечно, необходимо наличие бэкдора в алгоритме шифра. Подобные разбиения могут достигаться при помощи специальных алгебраических конструкций внутри шифра (например, в таблицах подстановок, “регистровых” сдвигах и т.д.; опять же, это технические детали, довольно хитрые), однако устроить хорошо скрытый бэкдор весьма непросто.
Комментировать »
Предположим, мы хотим идентифицировать устройство и, возможно, даже пользователя Интернета по некоторым сигнатурам, связанным с использованием различных приложений. Самая простая “сигнатура” подключения – это IP-адрес. Но тут даже слово “сигнатура” используется в кавычках, так как IP-адрес, сам по себе, это всего лишь самый очевидный и банальный “номер узла”: в современном Интернете далеко не всегда IP-адрес даже примерно соответствует реальному подключению. Трансляция адресов (NAT) используется и провайдерами доступа, и за “клиентским подключением”, и в составе VPN, и так далее. IP-адрес принадлежит к наиболее важным идентификаторам в IP-сетях, но точность конкретного адреса для нашей задачи, – то есть, как “сигнатуры”, рассматриваемой в направлении пользовательского, клиентского подключения, – не велика. Более того, задачу даже принято формулировать в других терминах: как определить, что с новым IP-адресом подключается то же самое устройство? (Вынесем тут за скобки пользователя.)
Ниже IP-уровня спуститься тоже можно, но, во-первых, это уже не Интернет, во-вторых, идентификаторы и сигнатуры уровней ниже IP обычно распространяются на малые расстояния (в сетевом смысле): каждый коммутирующий узел “вымывает” часть идентификаторов, так что следы быстро теряются. В качестве рельефного примера можно взять MAC-адрес оконечного устройства – если он и есть, то всё равно уже на следующем “хопе” подключения его не видно. Однако и сквозь низкие уровни коммутации могут “просачиваться” сигнатуры, связанные с последовательностями пакетов. Прежде всего, различные эффекты времени задержки: так, характеристики доставки серий, соответствующих потокам видеотрансляции (например), могут зависеть от характеристик канала передачи, которые находятся ниже IP – радиоканалы отличаются от проводного подключения “последней мили”, бывает специфический “шейпинг” потоков данных, и так далее, и тому подобное. На конкретное устройство, конечно, подобные характеристики “последней мили” не указывают, однако могут существенно уменьшить количество возможных вариантов: а если удалось составить цепочку различных подключений, то тут уже и пользователей можно начать различать, как ни странно.
На уровне IP есть источники сигнатур, сходные по происхождению с только что описанными. Это те же сдвиги времени доставки (в том числе, можно подсчитывать скорость изменения задержек – брать производную), а кроме того, можно предположить, что и в заголовках пакетов присутствуют сочетания значений (ID, опции и пр.), которые связаны с конкретным источником пакета, но, опять же, всё, что есть в заголовке, размывается в ходе передачи пакетов промежуточными узлами (и это даже без учёта NAT-ов).
TCP предоставляет некоторое количество новых сигналов: что-то можно специально добавить, да ещё и на разных этапах установления соединения (см. SYN-куки и т.д.), при этом сам процесс установления сессии позволяет выделить дополнительные особенности – сдвиги по меткам времени, характеристики из заголовков, взятые по разным сигналам. Отдельный новый базис TCP – это номера портов, а точнее, их изменение: тут экзотические методы использования, – вроде port knocking, – вообще могут позволить узнать конкретный источник сессии без всякой привязки к IP-адресу или к параметрам протоколов более высоких уровней.
И всё же, перечисленные варианты не так уж информативны, особенно, если речь только о пассивном анализе трафика. Дополнительную информацию приносят данные из более высоких уровней. Клиентские TLS-сертификаты, сертификаты электронной подписи, криптографические ключи, передаваемые в рамках разных протоколов уровня приложений – могут достаточно точно указывать на пользователя (и могут идентифицировать устройство). DNS не так трудно снабдить индивидуальными метками: а неконтролируемые и прямые запросы в DNS делают даже те приложения, которые позиционируются как “защищённые”. Эти источники сигнатур вообще не зависят от транспортных протоколов, то есть переходят от канала к каналу без изменений. Главное – их увидеть. А про куки-файлы, HTTP-запросы, конечно, можно и не напоминать.
Комментировать »
В продолжение недавней записки про “слух человека и преобразование Фурье“. Интересно, что в рамках исследований того, как конкретный “сигнал” влияет на слуховое восприятие, происходит запись выдачи некоторого внешнего прибора (который как-то там, предположим, измеряет звуковое давление), далее выполняется визуализация этой записи при помощи алгоритмической и (так или иначе) дискретной обработки сигнала, а потом – описательное сравнение пересказанных человеком (испытуемым и исследователем) впечатлений от прослушивания такого же сигнала. При этом аппаратура и методы анализа используют много моделей явлений окружающей действительности: распространения звуковых волн, их детектирования, электромагнитного усиления в приборе, – опять же, то самое “преобразование Фурье”, – и так далее. Представление о предмете измерения преломляется при переходе между моделями. Но исследуемое прослушивание, как восприятие звука, естественно, проводится без только что описанной аппаратуры. Исследователи об этом часто знают и даже нередко учитывают эффекты. А вот в популярных статьях данный онтологический фон почему-то теряется – получаем очередные иллюстрации в стиле “как видит мир кошка”.
Комментировать »
Почему лабораторная установка для квантовых экспериментов показывает именно эту статистику? Физика не должна бы отвечать на столь общий вопрос “почему?”. Тем не менее, предположим, статистика такая потому, что через несколько минут две группы исследователей, работающих в одном общем эксперименте, но в разных лабораториях, удалённых одна от другой, сравнят результаты измерений и подставят их в формулу, связанную с неравенством Белла – показатели должны совпасть с уже согласованными ожиданиями.
Впрочем, возможна и несколько другая трактовка: в тот момент, когда исследователи обменялись результатами измерений, обсудили их и пришли к общему мнению, исходные показатели, полученные ранее лабораторными установками, участвовавшими в эксперименте, определились – но, из-за особенностей восприятия принципов причинности, всем исследователям кажется, что это в прошедший момент эксперимента показатели были именно такими. Вокруг неравенства Белла много подобных лазеек, а самые интересные из них вовсе и не касаются строго экспериментальных классических предположений (вроде задержек по времени, “паразитных” наводок в пространстве и тому подобных “эксперментально-физических” особенностей, которые, впрочем, не так давно были все закрыты современными экспериментами).
Эксперимент, связанный с неравенством Белла, строится так: квантовый объект, который можно разделить на пару достаточно хорошо локализуемых феноменов (например, запутанные, сцепленные общим состоянием частицы), распределяется по двум разнесённым в пространстве лабораториям, после чего две группы исследователей (или просто два исследователя, не важно), находящихся в этих лабораториях, измеряют каждый свою часть выбранным способом, а способ выбирают случайно (насколько вообще возможно случайно что-то выбрать: со случайностью тут связан отдельный набор “лазеек” – см. ниже). Дальше строится статистика по многим последовательным измерениям, где для каждого измерения, в каждой лаборатории, исследователи фиксируют, какие именно проводились измерения и какой получился результат. Потом эти результаты сравнивают между собой, обязательно учитывая последовательность типов измерений. Получается статистика, которую описывает модель квантовой механики. Определяющим моментом оказывается то, что измеряется одна квантово-механическая система.
Однако если попытаться свести наблюдаемый результат к некоторым заранее принятым допущениям, то легко возникает ощущение некоторой “контринтуитивности” – проступает корреляция, которой, как бы, быть не должно, поскольку, предположим, расставленные в разных и достаточно удалённых точках пространства системы не должны влиять одна на другую мгновенно. Это всего лишь допущения, которые иногда считают некими законами, как в “законах физики”. Видимо, отсюда растёт сравнение с “классической физикой”, приводящее к трактовкам в стиле “если измерить спин одного электрона из пары, то спин второго тут же изменится”. Однако “классическая физика”, что бы это ни значило, тут не должна никак мешать и вообще в процесс включаться.
Неравенство Белла показывает, что статистику, согласующуюся с некоторой интерпретацией экспериментов в области квантовой механики, нельзя получить при помощи параметров, находящихся за пределами модели, если, например, запрещено согласование этих параметров через пространство со сверхсветовой скоростью (а точнее – мгновенно). Но если мгновенное согласование возможно, то и статистику можно получить какую нужно. Нужна ли тут некоторая “не-локальность”? Не особенно: можно, например, продолжать считать, что всё “локально”, потому что ещё нужно принести и сравнить данные, чтобы построить статистику; а можно считать “локальной” саму квантовую систему. Подобная “не-локальность”, построенная на попытке вложить квантовый эксперимент над потоком вероятности в ту самую “классическую физику”, это лишь один из способов интерпретации, и вовсе не обязательно, что в него верят все физики.
“Локальность” против “не-локальности” основывается на введении расстояния и пространства. Как вообще можно понимать пространство? Предположим, что разнесённые по этому самому пространству частицы, участвующие в эксперименте, вовсе не удаляются одна от другой: эти частицы максимально похожи, они даже находятся в “общем” квантовом состоянии, что, – с точки зрения потока вероятности, описываемого, предположим, волновой функцией, – просто не позволяет их разделить в пространстве для измерения. Это всё один поток, который, предположим, экспериментально расщепляется на две статистики не ранее момента обсуждения результатов измерения экспериментаторами. В момент обсуждения одна последовательность результатов измерений привязывается к другой, а математический аппарат квантовой механики просто позволяет работать с потоком вероятностей так, что при преобразованиях несколько возможных исходов не теряются. Более того, известная интерпретация предполагает, что это группы исследователей, осуществляющие экспериментальные измерения квантовых феноменов, попадают в состояние “квантовой суперпозиции”, зацепившись за волновую функцию, а тот результат, который потом описывают популярные статьи, это как раз “коллапс волновой функции исследователей”, произошедший при сравнении показателей статистики.
С другой стороны, само пространство, выраженное в метриках расстояний, может представлять собой несколько более сложный феномен. Например, более “похожие” объекты находятся ближе. Тогда разнесение (условных) антенн экспериментального оборудования вовсе не означает, что и измеряемые частицы разнесены: дело в том, что для более или менее строгого экспериментального определения расстояния “в пространстве” требуется время, а для времени – требуется опорная частота, но её найти можно не всегда.
Ещё одна занятная лазейка касается “степени случайности” параметров измерений: исследователи, согласно условиям эксперимента, должны выбирать параметры измерений непредсказуемым, для окружающей эксперимент действительности, образом. Предположим, что при создании эксперимента строго определяется не только весь возможный набор результатов измерений, но и действия самих измеряющих. Тогда, опять же, можно получить любую статистику, подходящую под любые неравенства. Устранить этот аспект (обычно, называемый “супердетерминизмом”) не получится – он находится среди допущений, задающих интерпретацию эксперимента. Это позволяет, как минимум, уверенно сохранить “локальность”. Отменяет ли наличие подобного “супердетерминизма” свободу воли исследователей? Нет, не отменяет: исследователи всё так же вольны интерпретировать результаты, а перед этим – планировать серии измерений и технические детали экспериментов, составляя собственное представление о них. Здесь, кстати, кроется один из отличительных аспектов осознания, который никак не вписывается в новомодные системы ИИ с “машинным обучением”.
И это далеко не все онтологические лазейки, связанные с интерпретацией неравенства Белла.
(См. также “Алгоритм Шора и Вселенная кубиками“, “Алгоритм Шора в фантастической машине превращения вероятностей“.)
Комментировать »
Скриншот – рыба на букве ρ в слове ἔρχονται, из манускрипта Vat.Gr.1666, который датируется восьмым веком н.э. (это перевод “Диалогов” Григория I Великого, папы римского, на (древне)греческий, выполненный папой римским Захарием).

Комментировать »
Иногда приходится сталкиваться с мнением, что слуховая система человека, как чувство, “выполняет преобразование Фурье”, подобно некоторой машине, сигнальному процессору, предположим. Вообще, из экспериментов известно, что “акустический тракт” слуха человека, как минимум, работает на восприятии спектральной плотности, то есть, не отдельных чистых гармоник, а распределения энергии по пакетам частот и сочетания “пиков” амплитуды (форманты и так далее). Содержательные эффекты слуха связаны с отношением внутри набора частот. Это, конечно, сугубо механистическая точка зрения, но уже здесь алгоритмическое воплощение преобразований Фурье используется только для визуализации спектра в компьютерах исследователей, а не в слуховой системе. Вообще, более интересен другой аспект.
Как и в восприятии цвета, с восприятием на слух связано много неожиданных эффектов и иллюзий. Как и в случае зрения – основная, содержательная часть результатов работы слуховой системы связана с предыдущим опытом. По крайней мере, та часть, процесс осознания которой индивид может попытаться объяснить. При этом, слуховое восприятие “дорисовывается”, в том числе, с опережением по времени. Сложно сказать, чего больше в конкретных слуховых ощущениях – внешних изменений звукового давления или внутренней работы, основанной на психических эффектах и опыте. Сугубо механистическая модель вполне может давать расхождения даже в таких “зашкаливающих” случаях, как рёв двигателя реактивного самолёта. Так что “преобразование Фурье”, трактуемое как алгоритмический способ превращения сигнала в конечный набор гармоник, тут может служить разве что способом записи “принятых” данных, но не механизмом транслирования звуковых колебаний в слышимое. Тем более, вовсе не обязательно приводить сигнал в другой базис строго тем или иным алгоритмом, реализующим преобразование Фурье.
Комментировать »
Теорема Пифагора регулярно упоминается, когда речь заходит о Великой теореме Ферма. Это логично. Понятно, что теорема Пифагора называется так больше по историческим причинам (как и многие другие теоремы), а известна была раньше, но тем занимательнее выглядит тот факт, что математические идеи пифагорейцев можно увидеть и в современном доказательстве теоремы Ферма. Вообще, осознать математическую машинерию, позволяющую получить это доказательство, довольно трудно. Тем не менее, можно проиллюстрировать ситуацию некоторыми примерными построениями. В них видны необычные аспекты.
Так, связь модулярных форм с уравнением Ферма устанавливается через коэффициенты разложения Фурье для формы. Эти коэффициенты – целые числа, имеющие прямое перечислительное воплощение: количество решений уравнения (“в остатках”, или по модулю некоторого (простого) числа). При этом элементы ряда Фурье можно рассматривать как гармоники. Буквально – как некоторые вращающиеся по окружностям точки. Тогда, если хотите, упомянутые целочисленные коэффициенты образуют некоторый “спектр”, последовательно определяющий симметрии, связанные с исходным уравнением. Точнее, конечно, будет использовать термин “мотив” – однако подобные технические детали тут не важны, но обратите всё же внимание на данное название.
Всё это как раз очень напоминает пифагорейские концепции, описывающие конфигурации явлений окружающей действительности через “сочетаемость” натуральных чисел, происходящую из геометрических свойств этих чисел. И вот оказывается, что тройки решений, удовлетворяющие уравнению Ферма, не вкладываются в набор возможных конфигураций симметрий рациональных чисел. На более техничном языке, конечно, всё звучит сильно загадочнее, даже в первом приближении популярного изложения: эллиптическая кривая, соответствующая упомянутой тройке чисел, не может быть модулярной (Рибет); однако, она должна быть модулярной, потому что все такие кривые – модулярны (это доказательство Уайлса); отсюда и выводится нужное противоречие. Периодические функции, окружности (и диски, кстати), а также разнообразные их логические сочетания, постоянно используются в соответствующем математическом аппарате, но на очень высоком уровне абстракции, поэтому и обозначаются другими терминами, которые с одной стороны – точнее, а с другой – шире. Но конкретно суть доказательства теоремы Ферма, в самом первом приближении, можно представить как невозможность уложить числа в геометрические фигуры. А это подход пифагорейцев, пусть и геометрия используется несколько иная.
Комментировать »
Воскресное чтение манускриптов. На скриншоте ниже – фрагмент манускрипта Codex Vaticanus из Ватиканской апостольской библиотеки.

Манускрипт датируют четвёртым веком, но запись обновлялась позже, то есть, не только вносились редакторские правки/комментарии, но и буквы обводились новыми чернилами, что нетрудно увидеть на скриншоте. Именно интересный эффект такого обновления тут хорошо заметен: часть записи текста (Второе послание к Коринфянам) предшествующей версии не обновилась. Почему? Видимо, потому что это повтор (диттография): более блеклая часть повторяется далее. Соответствующий повторный фрагмент начинается словами κάλυμμα ἐπὶ τὴν καρδίαν αὐτῶν κεῖται (“покрывало на сердце их лежит”), но при этом κάλυμμα (“покрывало”) встречается ещё раз уже через несколько слов (см. конец третьей снизу строки и начало второй). Это, естественно, широко известный фрагмент (речь про запись). Можно предположить, что служащий скриптория, копировавший текст первоначально, отвлёкся, а потом ошибочно начал с того же слова, но стоявшего чуть раньше (ну или это были разные переписчики, но, как я понимаю, считается, что нет, не разные). В этом же фрагменте ещё отмечают правку “ε” в “αι” (см. между строк, над “περιερειται”), которая внесена дважды – и в “удалённый” фрагмент, и в обновлённый.
Комментировать »
Новый