В 2024 году опубликованы только две моих статьи (записки на dxdt.ru подсчитаю позже отдельно, их сильно больше), обе о разных аспектах постквантовых криптосистем в TLS для браузеров:

“Постквантовая криптография и практика TLS в браузерах” в журнале “Интернет изнутри”;
“Постквантовые криптосистемы в TLS и не только” на сайте ТЦИ.



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

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

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

Сложность обращения мешает далеко не всегда. Во многих и многих практических случаях достаточно использовать прямое вычисление хеш-функции, чтобы, перебирая допустимые аргументы на входе, найти подходящий. Если известны ограничения на входные данные, метод оказывается очень эффективным. Чем больше ограничений, тем эффективность выше. В практических случаях – ограничения есть, и не одно. Я обычно привожу в пример домашние адреса из некоторой базы данных с пользователями, где адрес разбит на поля “Улица”, “Номер дома/квартира”. Пусть анонимизирующее значение хеш-функции вычисляется от объединения этих полей для одной записи. Сколько всего есть таких строк с возможными записями домашнего адреса для огромного мегаполиса? Десяток миллионов? Что-то около того. И эти строки можно взять из открытых картографических данных.

По современным вычислительным меркам – проверка десятка миллионов записей по SHA-256 не займёт какого-то существенного времени (вот, например, я посчитал для сравнения: реализация SHA-256 в OpenSSL на Raspberry Pi 5 обрабатывает больше миллиона 1024-байтовых блоков в секунду). Обычно, предлагают очевидные методы защиты: взять вместо SHA-256 специальную медленную хеш-функцию, привязанную к объёму памяти; взять секретный параметр (“соль”), который будет подмешиваться при “анонимизации”. Оба метода – не слишком подходят: требуют кратно больше вычислительных ресурсов и на стороне легитимного “анонимизатора”, требуют управления генерированием и хранением “соли” (так как это не защита от использования предвычисленных данных, “соль” нельзя совсем зафиксировать или передавать вместе с данными, но при этом текущее значение должно быть как-то проиндексировано, поскольку изменение соли приведёт к изменению соответствия в разных версиях анонимизированной таблицы).

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

Тем не менее, пример из предыдущего абзаца показывает, что такая схема позволяет с легкостью находить пользователей, посетивших один и тот же URL. Это существенный дефект используемой схемы “анонимизации”: одинаковые значения – отображаются в одинаковые значения, то есть, подобное хеширование вовсе и не удаляет “различительную способность”. Если вернуться обратно к записям адресов пользователей, то это означает, что нетрудно определить пользователей, проживающих вдесятером по одному адресу, даже не нужно ничего перебирать.

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



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

Конструирование электронных часов, несомненно, среди самых популярных процессов в области радиоэлектроники как хобби. Вообще, с точки зрения именно разработки электроники, и не как хобби, есть только одна область, сравнимая с часами по масштабности – это источники питания во всех их проявлениях. Но о масштабах и уровне мистицизма, связанных с источниками питания, догадываются только специалисты, а вот часы – часы известны гораздо шире. И, конечно, не стоит забывать, что в электронных часах тоже есть схемы питания электричеством, которые, впрочем, здесь далеко не всегда оказываются в фокусе внимания.

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

Image of indicator

Например, DS1302 – популярный чип часов реального времени (RTC). Я его использую чаще других чипов, пусть другие имеют и более развитый набор функций, и бывают поточнее, хоть этот последний момент зависит не столько от DS1302, сколько от внешних элементов. Но, во-первых, я уже написал код для разных платформ, который работает именно с DS1302; во-вторых, я когда-то их заказал сразу большую пачку, поэтому они теперь всё время в наличии.

Электронные часы, как феномен, рассматриваемый с философской точки зрения, оснащены очень большим количеством связей с технологиями окружающей действительности. Многие аспекты процесса конструирования и постройки часов затрагивают ключевые технологические явления. И это оказывается очень важным. Ведь обобщённая технология – это не набор каких-то описаний или правил “подключения компонентов”, а пучок отношений между разнородными элементами, возникающий в результате применения принципов разрешения противоречий. Электронные часы, в процессе постройки, как раз позволяют сформировать необходимые фокальные объекты, на которые эти отношения опираются.

Чтобы прояснить ситуацию – вернёмся к DS1302. В своей основе, это счётчик, требующий наличия внешнего источника синхронных колебаний, то есть – источника частоты. Обычно, к чипу непосредственно подключается кварцевый резонатор, который принято называть просто – “кварц”. Так называемые “часовые кварцы”, – в случае хобби, – это металлические цилиндрики, внутри которых имеется элемент, настроенный на частоту 32 кГц. Особый камертон, в каком-то смысле.

Electronic components

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

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

Впрочем, я решил проблему точности для DS1302 использованием качественного генератора частоты, специально для этого и предназначенного – он называется DS32KHZ. Да, это не очень-то выгодно в плане стоимости. Но для хобби-процесса, который мы здесь рассматриваем в философском разрезе, это не так важно. Упомянутый генератор с температурной компенсацией очень стабильный, поэтому тот же DS1302 в паре с DS32KHZ обеспечивает уже терпимую точность, теряя или прибавляя только какие-то десятые доли секунды в сутки (точно я не подсчитывал). И такие часы уже годятся для практического применения. Естественно, это далеко не единственный способ тактирования модуля часов, а генератор частоты, даже с температурной компенсацией, можно собрать самостоятельно, что, кстати, нередко и рекомендуется попробовать проделать, дабы попробовать улучшить понятийное, философско-технологическое, восприятие окружающей действительности.

Самодельные электронные часы бывают простые, а бывают – очень сложные. Самодельные электронные часы можно сделать на той или иной Arduino, используя макетную плату, набор проводков и простой LCD-индикатор (между прочим, такие часы можно выполнить даже и без модуля RTC, но это так себе вариант). С другой стороны, можно развернуться и запаять часы со светодиодным индикатором на специально изготовленной печатной плате вообще без единой “логической микросхемы”, непосредственно реализуя на десятках транзисторов каскадные счётчики и знакосинтезирующие схемы для сегментных светодиодных индикаторов. Чаще, конечно, выбирается какой-то промежуточный вариант, ближе к Arduino. Так, я делал часы и на разных Arduino, и на микроконтроллерах семейства PIC. Некоторые из собранных устройств даже давно используются по назначению, это, впрочем, часы “повышенной точности” с коррекцией по сигналу GPS.

В Сети нетрудно найти множество вариантов схем разной степени продвинутости, как в техническом, так и в идейном плане. Оказывается, этот идейный план сильно глубже, чем принято считать.

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

Основные единицы СИ, после отказа от эталонов-артефактов (например, от рельса-метра и гирьки-килограмма), именно в такой логике и определяются, через структуры более высокого уровня, позволяющие разрешать противоречия. Какие противоречия? Вот такие: основной эталон килограмма разошёлся со своими копиями в значении; что же делать? в какой вариант поверить? Правильный ответ, разрешающий возникающие противоречия, такой: нужно отказаться от эталонов-артефактов и зафиксировать численное значение постоянной Планка. (Что и было проделано.)

Конструирование и сборка электронных часов устанавливает связь со всей этой магией через взаимодействие с фокальными объектами. А это очень важно в условиях Нового средневековья, поскольку даёт возможности для более высокого понимания свойств действительности. Отвлечёмся немного от часов. Рассмотрим другой современный пример. Не просто современный, но даже более свежий, чем электронные часы. Это виниловые грампластинки. Сейчас этот вид носителя программы для генератора аналоговых сигналов переживает бум. Всё потому, что использование музыкальных записей на пластинках требует управления фокусированием внимания – тут тоже есть свои фокальные объекты: нужно купить пластинку, которую можно держать в руках и нести домой; настроить систему для проигрывания, соединив несколько устройств проводами; обеспечить расположение пластинки в проигрывателе и переместить рычаг для начала воспроизведения – каждый шаг требует некоторых ментальных усилий, как минимум, для осознания моментов перемещения того самого фокуса. Конечно, можно ещё и самостоятельно собрать усилители, даже попробовать изготовить грампластинку.

В процессе конструирования часов – не только шагов больше, но больше и путей. Да и некоторые фокальные объекты тут заметно мощнее.

Возьмём управляющий микроконтроллер, если часы – на микроконтроллере. Для микроконтроллера нужно написать программу. А это означает, что есть место для оптимизации алгоритмов: нужно ли читать все параметры из чипа часов или достаточно читать секунды? нужно ли обрабатывать кнопки в цикле или подключить аппаратное прерывание?

А ведь подсчёт времени непосредственно использует арифметику остатков. Это кроме того, что привычные минуты и часы работают в шестидесятеричной системе счисления, но при выводе используется и двенадцатеричная тоже.

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

Image of circuit board

Вообще, при разработке тут встречается немало очень важных для практики программирования конструкций. Так, если используется мультиплексирование вывода на индикаторы, то коды, включающие один из четырёх модулей, можно записать в массив, вот так:

char codes[4] = {
		0b0001,
		0b0010,
		0b0100,
		0b1000
		}

Но можно и заменить эту конструкцию на битовый сдвиг (1 << n), где n – это значение из {0, 1, 2, 3}. Можно и просто использовать тот факт, что все значения – степени двойки, написав 2^n; однако, при условии реализации компилятором “в лоб”, работать будет медленнее.

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

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

Конструирование энергоэффективных часов требует вдумчивого подхода: так, микроконтроллер может включаться в режим “знакосинтезирования” по нажатию кнопки, опрашивать RTC, рисовать время на индикаторе, а потом опять засыпать, оставляя подсветку индикатора включенной на некоторое время, всё для экономии энергии батареи.

Some timepice

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

Корпус для часов – позволяет привлечь в процесс 3d-принтер и CAD-системы. Отладка схем – позволяет, как минимум, с пользой применить осцилограф и генератор сигналов, как максимум – требует расчёта параметров счётчиков и делителей частоты.

Конструирование часов, в качестве хобби, процесс, затрагивающий много разных технологических плоскостей: расчёт электронных схем, пайка и покраска лаком, 3d-моделирование, программирование и не только. Процесс не просто затрагивает перечисленные плоскости, но позволяет выделить в каждой фокальный объект, – как минимум, один, – и построить объединяющее представление. А с философской точки зрения это представление и есть суть технологии в целом, как явления.



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

Боты и dxdt.ru

На dxdt.ru трафик минимальный, но тем заметнее набеги ботов. Я достаточно свободно отношусь к фильтрации на сервере, где работает dxdt.ru, но фильтры тут всё же есть: так, автоматический бан IP-адрес может получить за интенсивные попытки подключения по SSH, за не менее интенсивные попытки перебора логинов WordPress, ещё за некоторые достаточно экзотические действия. Это всё реализуется при помощи очень полезного инструмента fail2ban, который я много где и давно использую.

Однако всё чаще, что называется, “набигают” боты, отправляющие по адресам страниц на dxdt.ru десять-пятнадцать GET-запросов в секунду, в течение нескольких минут, включая повторные запросы к тем же URI, на которые буквально только что были получены ответы. И так – несколько раз в сутки (хотя на dxdt.ru новые записки выходят сильно реже, мягко говоря). И это не сканеры уязвимостей, не HTTP-DoS, а это явно какие-то “сломанные контент-боты”. Или, что более вероятно, очередные “скраперы” для целей ИИ – в этой среде, похоже, уже так принято: написать что попало с кривым User-Agent без всяких объяснений.

В общем, приходится иногда в полуавтоматическом режиме некоторые такие адреса включать в отдельный список для HTTP-перенаправления, ведущего в специальный “тупик” с кодом статуса 503: практика показала, что в такой конфигурации эти боты затихают после нескольких повторных запросов. Сейчас в данном списке всего несколько адресов-источников и специфических подстрок User-Agent. Так что, думаю, никакие корректные боты, а их немало ходит, не задеты. Но если вдруг данный строгий метод отключил кому-то RSS-читалку от dxdt.ru (сильно вряд ли, конечно), то напишите письмо – я включу.



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

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

Заметьте, что текст может быть не только газетной статьёй, но, как уже показывает практика, и законопроектом, и каким-то более важным распоряжением. То есть, вроде, формальный статус ИИ LLM тут получается на уровне “используется в работе сотрудниками”, а реальный статус – провайдер сервиса получает рычаги для целевого влияния на результат: такой spear phishing в квадрате.

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

Не нужно забывать, что сама концепция построения LLM происходит из методов атрибуции литературных текстов, так что, если метки строятся на уровне соотношений между многими внутренними коэффициентами, взятыми относительно токенов, то “сокрытие исходного авторства” для достаточно большого текста превращается в отдельную, тоже большую, задачу. Не имея доступа к базам самой LLM, тут придётся повозиться, и без гарантий успешного исхода. Так что процесс окажется не только трудоёмким, но и потребует ресурсов специалиста редкой квалификации, а это уже оказывается полностью вне контекста новомодного применения ИИ, поскольку сводит предполагаемые выгоды к нулю. Очевидно, всякая попытка автоматизации тут просто переключает контроль результата с одного провайдера на другого, то есть, на провайдера очередного “синонимайзера”. А использование собственных, исполняемых локально, сервисов LLM – тоже не приветствуется: кругом же “облачные технологии”, что это ещё за немодное “ретроградство”? И даже если крупный провайдер GPT декларирует создание “выделенных экземпляров”, контроль за этими экземплярами всё равно внешний.

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



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

В ML-KEM (ранее – Kyber) возможен вариант, когда корректно полученные сторонами секреты не совпадут. В стандарте NIST это называется Decapsulation failure. То есть, сами криптографические примитивы, составляющие ML-KEM, срабатывают всегда – выводят 256-битное значение. Но с некоторой (чрезвычайно малой) вероятностью принимающая сторона, расшифровывающая секрет, может получить значение, не совпадающее с тем, которое отправлено. “Чрезвычайно малая вероятность” тут означает 2^(-164.8). Выглядит более чем несущественным параметром. Но рассматривать сам факт наличия такой “погрешности” можно с разных сторон.

Многие криптографические алгоритмы хороши тем, что, математически, там никакой ошибки быть не может: если шаги выполнены верно, то и результат всегда строго совпадает. Это один из фундаментальных принципов использования алгебры в криптографии: нельзя проверить все 2^256 элементов и записать их в один массив, но можно использовать обозримые свойства структуры группы, чтобы гарантировать, что результаты операций с любыми сочетаниями этих 2^256 элементов не разойдутся.

Строго говоря, и в ML-KEM упомянутая “погрешность” оказывается в ряду заданных результатов алгоритма, просто, определяется она на другом уровне. Более того, при практической реализации алгоритмов, не имеющих встроенных “погрешностей”, эти самые погрешности постоянно возникают и из-за ошибок в программах, и даже из-за ошибок в работе оборудования. Особенно, если говорить о вероятностях порядка 2^(-165) – казалось бы, тут и без всяких Rowhammer какой-нибудь залётный нейтрон может вызвать реакцию, которая переключит пару битов в модуле памяти. Нейтрон, конечно, может помешать, но это будет не то же самое, что и внесение обязательного сбоя непосредственно в логику алгоритма.



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

“1 – Столько комментариев вы оставили в уходящем году” – пишет мне Habr с адресом @habr.com в странно отформатированном письме. Но я не помню, чтобы писал там комментарии “в уходящем году”, то есть, в 2024. У меня аккаунт на “Хабре” зарегистрирован в 2009 году. Довольно давно. И за прошедшее с тех пор время я написал там два комментария, а самый поздний из них – в 2023 году (а 2023 был “уходящим” до 2024).

(Редко нахожу даже минимальные причины что-то там комментировать. Но, конечно, влияние “Хабра” на ИТ-среду сложно не замечать, так что я несколько лет назад даже придумал термин: “Habr-driven development”. И зона habr.com подписана DNSSEC, что редкость.)



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

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

Популярные изложения физики нередко определяют пространство для классической механики, с абсолютным временем, как “феномен”, к которому можно привязать оси, образующие кортежи чисел – читай, координаты точки в пространстве-времени: (t, x, y, z). Тут должно быть много оговорок про метрику, векторы и т.д. Но популярные изложения постоянно используют что-то вроде евклидова пространства, так что, наверное, понятно о чём речь. Потому что интереснее другое: редко кто при этом объясняет, почему бы не поступить наоборот, а именно – сказать, что совокупность свойств кортежей чисел это и есть то, что само задаёт пространство, а не описывает. (Что такое тензор? Это элемент тензорного произведения.) При этом, привычно добавляя в кортеж “время” в качестве “ещё одной обычной оси измерения”, можно учитывать, что с алгебраической точки зрения трёхмерное и четырёхмерное пространства заметно отличаются: например, в четырёхмерном пространстве добавляется ещё один правильный многогранник.

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

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



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

В 2017 году я писал на dxdt.ru про киберпанк и базы данных “умного города”:

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



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

Кстати, проверим на системе GigaChat метод из недавно упоминавшейся на dxdt.ru работы про оценку реального интеллекта LLM ИИ. Задача, как говорится, для школьника пятого класса:

“Семен был отправлен собирать урожай крупных ананасов. В первый день он собрал 12 крупных ананасов. Во второй день он собрал в три раза больше крупных ананасов, чем в первый, но восемь из этих ананасов оказались неспелыми. Сколько всего крупных ананасов собрал Семен за два дня?”

И ответ GigaChat (через официального Telegram-бота):

“Сначала определим, сколько ананасов Семен собрал во второй день. По условию задачи, он собрал в три раза больше, чем в первый день:

12 * 3 = 36

Однако из этих 36 ананасов восемь оказались неспелыми, поэтому вычтем их из общего количества:

36 – 8 = 28

Теперь сложим количество ананасов, собранных Семеном за оба дня:

12 + 28 = 40

Итак, Семен собрал всего 40 крупных ананасов за два дня.”

Метод прекрасно сработал. Ответ, очевидно, ИИ дан неверный – ананасов Семён собрал не 40, а 48 крупных.

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



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

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

“Согласно принципу неопределённости у частицы не могут быть одновременно точно измерены положение и скорость (импульс)”.

Казалось бы, можно задуматься: а возможно ли вообще измерить какие-то такие параметры точно?

– Периметр шляпки этого гвоздя – один метр точно!
– А вы по орбитам электронов посчитали? А то у меня почему-то всё время три километра получается.

Скажем, не так давно был ещё единственный в мире механический артефакт, который весил абсолютно точно один килограмм. Потому что это был эталон килограмма из международного бюро. Ну так, с одной стороны, измерить его, в общепринятом смысле, все равно было невозможно – как вы станете измерять эталон? Это примерно как время определять через площадь секундной стрелки судового хронометра, упирая на то, что он в латунном корпусе.

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

Что произойдёт с лабораторным прибором, которым экспериментатор попытается “точно измерить” импульс частицы, предварительно локализовав эту частицу в пространстве тоже точно? Видимо, из прибора пойдёт дым и отвалится стрелка, показывающая значение импульса. А всё потому, что нет эталона.

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

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

Интересно, что неравенства, используемые для записи параметров этого самого принципа неопределённости, содержат постоянную Планка. И вот значение этой постоянной не так давно стало подлинным рациональным числом. Это значение, сколь бы квантовым оно ни казалось с популярной точки зрения, теперь можно знать абсолютно точно: 6.62607015*10^(-34) J/Hz. Значение зафиксировали. Что, кстати, имеет непосредственную связь с отменой определения килограмма через эталон.

Впрочем, всю рациональность портит деление на π – ведь там “h с чертой”. Так что можно продолжать уточнять цифры десятичного разложения.



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