Интересно, что в 2014 году сайт dxdt.ru перешёл на HTTPS в качестве основного протокола. Десять лет назад такой вариант всё ещё не был типовым для “обычного сайта”, пусть HTTPS уже перестал быть сложной новинкой. Сейчас легче удивить “обычным сайтом”, который не использует HTTPS. А в 2024 году сайту dxdt.ru исполнилось 20 лет. В 2024 записок вышло немало, подборку я опубликовал ранее.
2025 это 81*25, то есть 3^4 * 5^2, а поэтому не делится на 60, но попадает на границу “пятилетнего цикла” между 2020 и 2030 (трёхлетние циклы используются реже).
С наступающим Новым годом! Спасибо, что читаете.
Комментировать »
Счётчик панели управления WordPress показывает, что, на момент выхода данной заметки, за 2024 год на dxdt.ru вышло 265 публикаций. Несколько меньше, чем в прошлом году, но немало. Сделал подборку, в которую вошли наиболее интересные, на авторский взгляд, заметки за 2024 год, с разбиением по условным рубрикам.
Рассуждения о технологиях
Философский аспект конструирования электронных часов
Программирование и компиляторы
Компиляторы в песочницах и сравнение программ
Циклы и логические формулы
Компиляторы и ассемблер
Околоматематическое и окололингвистическое
Планеты и окружности
Частотность слов и ChatGPT в аннотациях
Аппаратура/электроника и “механические” технологии
“Скорость света” и “скорость радара”
Оптимизирующие компиляторы, микроконтроллер и ассемблер
Сетевая геолокация передатчиков
Концепции информационной безопасности
Целевая подмена приложений и “прокси” для утечек
Разноцветные шары и “анонимизация”
Длина “постквантовых ключей” и немного про будущее DNS
Централизованные мессенджеры и многообразие мест хранения сообщений
Архитектура микропроцессоров и изоляция уровней исполнения
Алгоритмы преобразования в биометрии
Мониторинг жонглёров
Полиморфизм закладок в стиле ROP
Совпадения тегов ключей DNSSEC и парадокс дней рождения
Различительная способность “обезличенных” данных
Криптография и методы защиты информации
Срок действия сертификатов и компрометация ключей
Распознавание TLS-клиентов в трафике
Секретные ключи в трафике и симметричные шифры
Постквантовая криптография и рост трафика в TLS
Байты ключей в квантовом компьютере
Техническое: TLS-сообщение с постквантовой криптосистемой Kyber768
Техническое: где в ECDSA эллиптическая кривая
Сертификаты и их цепочки в вебе
Новые атаки на SHA-256 (SHA-2): технические пояснения
Маскирование криптографических ключей в памяти
Неочевидные аспекты системного администрирования и разработки в ИТ
DNS и TCP
Имена, не-имена и хостнеймы в DNS
Практикум: экспорт ключей TLS на примере библиотеки Go
DNS как база данных
Техническое: имена в TLS и Nginx
Имена в TLS для веба (HTTP/HTTPS)
Техническое: опция, отклоняющая TLS-соединение в Nginx
Вокруг ИИ/AI
Метки в текстах LLM и целевое влияние на результат
Зрение ИИ LLM на скриншотах
Следы звуков в кодах для LLM
ИИ и математические задачи, “автоматизированные” дважды
Машинный ИИ в книгах прошлого века
ИИ Google и олимпиадные задачи
Мешанина токенов в LLM
ИИ и формулы окружностей
Манускрипты, папирусы и прочая палеография
Совпадающие фрагменты текстов и манускрипты
Точки с запятыми в манускриптах и тексты Платона
Кусочки папирусов и буквы манускриптов
Вычисление размеров Земли и манускрипты
Онтологические рассуждения вокруг физики и квантовых вычислений
Эталоны и принцип неопределённости
Гравитация и квантовый хронометраж
Стопроцентная вероятность и колода карт
Древнегреческие орнитологи и квантовые вычисления у Гомера
Реплика: быстрая факторизация квантовым компьютером и штампы в СМИ
Варп и квантовые компьютеры
Представления о квантах и радиостанции
“Постквантовый” компьютер
Комментарии (2) »
В теоретической математике существует немало открытых проблем, которые пусть и не известны широкой публике, но всё же “широко известны среди специалистов”, то есть, достаточно знамениты, поскольку есть канонические списки (“Коуровская тетрадь” и др., не важно). Для заметной части из этих проблем и связанных задач можно было бы отыскать контрпримеры (и даже просто – примеры), используя современные возможности по оптимизированному перебору текстов компьютерных доказательств. В этом не только нет ничего особенно удивительного, но даже нет и проявления какого-то “нового интеллекта”: схема известная – перебирай себе тексты программ, проверяя автоматом корректность записи (см. историю проблемы о четырёх красках и так далее). Если бы, конечно, универсальным образом работал и перебор, и методы перевода на язык систем компьютерного доказательства нужных наборов теорем. Теоремы, впрочем, интенсивно переводят.
То есть, это самое реальное применение для знаменитых “LLM с нейросетками” на ближайшее время, при котором они могли бы оказаться очень эффективными для математических исследований. Попытки такие, вроде как, предпринимались, потому что подход достаточно очевидный, однако массового результата пока что не видно.
Комментировать »
Регулярно говорят и ещё чаще пишут, что, мол, если это GPS-трекер в наручных часах, то это “просто приёмник” – принимает сигнал со спутника, но ничего не передаёт.
Конечно, тут смотря с чем сравнивать, но, вообще-то, в современных приёмниках обычно есть и вполне себе “передатчик” – это внутренний генератор частоты (или даже сложного сигнала для коррелятора), который, грубо говоря, необходим для эффективной селекции и усиления принимаемого сигнала. Так что уже и этот внутренний генератор будет излучать через прочие схемы в эфир слабый сигнал, который, теоретически можно принимать. Помимо этого, такое сложное электронное устройство, как “умные” часы с GPS, содержит множество прочих элементов, излучающих в эфир сигналы. Понятно, что эти сигналы принимать и детектировать сложно, но, если говорить строго, то и современный приёмник – он же, в качестве побочного эффекта, и передатчик, – и микропроцессорное устройство содержит множество других схем, передающих в эфир побочные сигналы.
Впрочем, с современными часами-трекером всё обычно сильно проще, уточнений про практическую схемотехнику даже не требуется: в таких часах присутствуют, как минимум, ANT и Bluetooth, а то и полноценный WiFi-модуль. Так что, до спутника, может, и не добивает (в случае со Starlink – не факт), но точно уже внутри не “только приёмник”.
Комментировать »
Современные смартфоны и приложения мессенджеров: вообще, приложение на конкретном целевом устройстве может подменить как провайдер сервиса мессенджера, так и провайдер операционной системы. А различные утечки в современном мире не обязательно должны происходить строго через радиосеть и непосредственно со смартфона на центральные серверы того же мессенджера. Почему про эти моменты постоянно забывают – не понятно.
Целевая подмена приложения пройдёт незаметно для конкретного атакуемого пользователя, а других пользователей – вообще не затронет. В смартфоне много сенсоров. То, что какие-то из них заявлены как “отключенные”, то, что к каким-то запрещён доступ данному приложению на уровне ОС – всё это нужно воспринимать с определённой долей скептицизма: кто его там знает, как оно реально работает в конкретном устройстве.
Телефонный номер, привязанный к смартфону, тоже даёт много неожиданных возможностей по идентификации: если номер доступен в сети оператора, то это означает, что можно сопоставлять события мобильной телефонии с тем, что происходит в приложении. И не стоит забывать про межоператорские “сигнальные системы” – то, что принято обозначать аббревиатурой SS7. Занятно, кстати, что в том же Telegram в описании “приватности” буквально сказано: “В Telegram телефонные номера играют роль уникальных идентификаторов” (то есть, ресурс оператора связи служит идентификатором в мессенджере, как бы независимом).
Не следует забывать и о том, что сейчас очень много других устройств (не только смартфонов), находящихся неподалёку от целевого устройства. Поэтому, даже если на конкретном устройстве действуют некоторые эффективные методы защиты, это не означает, что эти же методы действуют и на других устройствах рядом: на них, напротив, могут быть установлены скомпрометированные приложения, как минимум. Такое устройство может передавать на удалённые сервера сведения о том, что наблюдается вокруг – вспомните, что уже внедрены даже штатные методы “отслеживания контактов”, а немного рассуждений про нештатные – ниже. Так что и полезные для идентификации геометки могут приходить от других устройств, и информация о присутствии того или иного “защищённого смартфона” рядом тоже не потеряется.
Для выдачи в окружающее пространство сигнала присутствия вовсе и не обязательно использовать радиоэфир: приложение или специально настроенный системный модуль ОС могут сигналить ультразвуком – об этом, опять же, привычно забывают, несмотря на то, что эффект многократно продемонстрирован на практике. Для передающего данные по акустическому каналу приложения-пищалки, кстати, не требуется разрешать в ОС доступ к микрофону (но у современных приложений мессенджеров и он, обычно, есть – требуется для голосовых вызовов). Акустический канал не закрывает клетка Фарадея и он прекрасно работает транспортом для утечек даже в тех “умных” устройствах, которые смартфоном не являются, управляются “по проводу USB”, а поэтому продвинутыми пользователями считаются безопасным “чистыми приёмником”. Но достаточно, чтобы в устройстве был управляемый динамик. Более того, звук, в качестве побочного излучения, генерируют многие другие компоненты “умных устройств”.
Комментировать »
В 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. Это существенный дефект используемой схемы “анонимизации”: одинаковые значения – отображаются в одинаковые значения, то есть, подобное хеширование вовсе и не удаляет “различительную способность”. Если вернуться обратно к записям адресов пользователей, то это означает, что нетрудно определить пользователей, проживающих вдесятером по одному адресу, даже не нужно ничего перебирать.
Не удаляет простое хеширование и сведения о том, какие “анонимизированные” носители прообразов обменивались между собой некоторыми аретфактами (см. недавнюю записку про разноцветные шары). Вообще никакие взаимосвязи между объектами не удаляются. Так что необходимо учитывать, что если в “анонимизированной” БД с географическим перемещением персон “захешированы” имена и фамилии, а также и координаты, то это не отменяет характерных траекторных цепочек. Цепочки очень быстро становятся уникальными. Так что, не только в данных будет отчётливо виден бегемот, который ходит к реке через туннель, проделанный им в зарослях, но и нетрудно определить персональный хеш этнографа, убегающего от этого бегемота через тот же туннель.
Комментировать »
Конструирование электронных часов, несомненно, среди самых популярных процессов в области радиоэлектроники как хобби. Вообще, с точки зрения именно разработки электроники, и не как хобби, есть только одна область, сравнимая с часами по масштабности – это источники питания во всех их проявлениях. Но о масштабах и уровне мистицизма, связанных с источниками питания, догадываются только специалисты, а вот часы – часы известны гораздо шире. И, конечно, не стоит забывать, что в электронных часах тоже есть схемы питания электричеством, которые, впрочем, здесь далеко не всегда оказываются в фокусе внимания.
Ввиду особенностей технологий окружающего мира, электронные часы – это упражнение совсем иного рода, чем часы механические. Эталоны времени – хоть “атомные”, хоть “квантовые”, но всё равно – электронные. Это неспроста. Существуют веские причины для того, чтобы конструирование электронных часов, в качестве хобби, стало очень полезным занятием. Особенно, “в наше непростое время”.
Например, DS1302 – популярный чип часов реального времени (RTC). Я его использую чаще других чипов, пусть другие имеют и более развитый набор функций, и бывают поточнее, хоть этот последний момент зависит не столько от DS1302, сколько от внешних элементов. Но, во-первых, я уже написал код для разных платформ, который работает именно с DS1302; во-вторых, я когда-то их заказал сразу большую пачку, поэтому они теперь всё время в наличии.
Электронные часы, как феномен, рассматриваемый с философской точки зрения, оснащены очень большим количеством связей с технологиями окружающей действительности. Многие аспекты процесса конструирования и постройки часов затрагивают ключевые технологические явления. И это оказывается очень важным. Ведь обобщённая технология – это не набор каких-то описаний или правил “подключения компонентов”, а пучок отношений между разнородными элементами, возникающий в результате применения принципов разрешения противоречий. Электронные часы, в процессе постройки, как раз позволяют сформировать необходимые фокальные объекты, на которые эти отношения опираются.
Чтобы прояснить ситуацию – вернёмся к DS1302. В своей основе, это счётчик, требующий наличия внешнего источника синхронных колебаний, то есть – источника частоты. Обычно, к чипу непосредственно подключается кварцевый резонатор, который принято называть просто – “кварц”. Так называемые “часовые кварцы”, – в случае хобби, – это металлические цилиндрики, внутри которых имеется элемент, настроенный на частоту 32 кГц. Особый камертон, в каком-то смысле.
Кварц припаивается к специально выделенным ножкам чипа DS1302. А в результате проявляется основная проблема часов на этих чипах – низкая точность, доходящая до грубости: готовые часы могут легко убегать на несколько секунд в сутки, и это ещё хороший результат. Но сам чип DS1302 в этом не виноват. Виноваты кварцы и отсутствие стабильности: лишние “тики” накидывают времени на счётчики, ведь реальный чип ничего не знает о времени, он просто считает импульсы.
И это первый из многих философских моментов, связанных с электронными часами: чип считает импульсы, а время, как феномен, вообще сложно определить, например потому, что его, – времени, – нет, но зато важны схемы часов. Фокальным объектом здесь становится тот самый кварц: он локализован в зеркальном корпусе, а все его свойства чрезвычайно важны, поскольку с помощью кварца можно управлять часами. Более того, кварцы можно добывать из старых часов. Иногда эти добытые кварцы оказываются точнее современных.
Впрочем, я решил проблему точности для DS1302 использованием качественного генератора частоты, специально для этого и предназначенного – он называется DS32KHZ. Да, это не очень-то выгодно в плане стоимости. Но для хобби-процесса, который мы здесь рассматриваем в философском разрезе, это не так важно. Упомянутый генератор с температурной компенсацией очень стабильный, поэтому тот же DS1302 в паре с DS32KHZ обеспечивает уже терпимую точность, теряя или прибавляя только какие-то десятые доли секунды в сутки (точно я не подсчитывал). И такие часы уже годятся для практического применения. Естественно, это далеко не единственный способ тактирования модуля часов, а генератор частоты, даже с температурной компенсацией, можно собрать самостоятельно, что, кстати, нередко и рекомендуется попробовать проделать, дабы попробовать улучшить понятийное, философско-технологическое, восприятие окружающей действительности.
Самодельные электронные часы бывают простые, а бывают – очень сложные. Самодельные электронные часы можно сделать на той или иной Arduino, используя макетную плату, набор проводков и простой LCD-индикатор (между прочим, такие часы можно выполнить даже и без модуля RTC, но это так себе вариант). С другой стороны, можно развернуться и запаять часы со светодиодным индикатором на специально изготовленной печатной плате вообще без единой “логической микросхемы”, непосредственно реализуя на десятках транзисторов каскадные счётчики и знакосинтезирующие схемы для сегментных светодиодных индикаторов. Чаще, конечно, выбирается какой-то промежуточный вариант, ближе к Arduino. Так, я делал часы и на разных Arduino, и на микроконтроллерах семейства PIC. Некоторые из собранных устройств даже давно используются по назначению, это, впрочем, часы “повышенной точности” с коррекцией по сигналу GPS.
В Сети нетрудно найти множество вариантов схем разной степени продвинутости, как в техническом, так и в идейном плане. Оказывается, этот идейный план сильно глубже, чем принято считать.
Вообще, все часы подсчитывают некоторые колебания. То есть, часы – это инструмент визуализации, для наблюдения над частотой. Определение секунды в СИ даётся через наблюдение над некоторыми переключениями состояния, – в данном случае, связанными с атомом цезия, но это не так важно, – с последующим фиксированием подсчитанного значения (частоты). Заметьте: определение секунды фиксирует точное числовое значение частоты, а это очень похоже, например, на “канторовское” определение понятия числа, которое состоит в обобщении свойства, возникающего для разных наборов объектов, при условии, что элементы этих наборов могут быть сопоставлены по одному. То есть, предположим, что имеется несколько наборов объектов: один набор состоит из отдельных камешков, другой – из шишек, третий – из интервалов, отмеченных засечками на палке. По условию, все объекты из всех этих наборов можно сопоставить по одному: каждому камешку – сопоставить одну шишку, каждому интервалу – один камешек и так далее. И вот, то общее, что появляется у таких сопоставляемых наборов вне зависимости от любых свойств составляющих их объектов, называется числом.
Основные единицы СИ, после отказа от эталонов-артефактов (например, от рельса-метра и гирьки-килограмма), именно в такой логике и определяются, через структуры более высокого уровня, позволяющие разрешать противоречия. Какие противоречия? Вот такие: основной эталон килограмма разошёлся со своими копиями в значении; что же делать? в какой вариант поверить? Правильный ответ, разрешающий возникающие противоречия, такой: нужно отказаться от эталонов-артефактов и зафиксировать численное значение постоянной Планка. (Что и было проделано.)
Конструирование и сборка электронных часов устанавливает связь со всей этой магией через взаимодействие с фокальными объектами. А это очень важно в условиях Нового средневековья, поскольку даёт возможности для более высокого понимания свойств действительности. Отвлечёмся немного от часов. Рассмотрим другой современный пример. Не просто современный, но даже более свежий, чем электронные часы. Это виниловые грампластинки. Сейчас этот вид носителя программы для генератора аналоговых сигналов переживает бум. Всё потому, что использование музыкальных записей на пластинках требует управления фокусированием внимания – тут тоже есть свои фокальные объекты: нужно купить пластинку, которую можно держать в руках и нести домой; настроить систему для проигрывания, соединив несколько устройств проводами; обеспечить расположение пластинки в проигрывателе и переместить рычаг для начала воспроизведения – каждый шаг требует некоторых ментальных усилий, как минимум, для осознания моментов перемещения того самого фокуса. Конечно, можно ещё и самостоятельно собрать усилители, даже попробовать изготовить грампластинку.
В процессе конструирования часов – не только шагов больше, но больше и путей. Да и некоторые фокальные объекты тут заметно мощнее.
Возьмём управляющий микроконтроллер, если часы – на микроконтроллере. Для микроконтроллера нужно написать программу. А это означает, что есть место для оптимизации алгоритмов: нужно ли читать все параметры из чипа часов или достаточно читать секунды? нужно ли обрабатывать кнопки в цикле или подключить аппаратное прерывание?
А ведь подсчёт времени непосредственно использует арифметику остатков. Это кроме того, что привычные минуты и часы работают в шестидесятеричной системе счисления, но при выводе используется и двенадцатеричная тоже.
Реализация знакосинтезирования требует преобразования битовых масок: например, при использовании обычного семисегментного индикатора каждая цифра задаётся “вручную”, а наборы битов записываются в знакосинтезирующий массив.
Вообще, при разработке тут встречается немало очень важных для практики программирования конструкций. Так, если используется мультиплексирование вывода на индикаторы, то коды, включающие один из четырёх модулей, можно записать в массив, вот так:
char codes[4] = { 0b0001, 0b0010, 0b0100, 0b1000 }
Но можно и заменить эту конструкцию на битовый сдвиг (1 << n), где n – это значение из {0, 1, 2, 3}. Можно и просто использовать тот факт, что все значения – степени двойки, написав 2^n; однако, при условии реализации компилятором “в лоб”, работать будет медленнее.
Сколь бы банальным это утверждение ни казалось, но часы важны как инструмент измерения времени. Например, новомодные устройства – это компактные “атомные часы”, очень точные, которые настолько компактные, что их можно встраивать в обычный серверный “юнит”. То есть, не требуется отдельное помещение и служба сопровождения. Идея тут, конечно, это независимость от GPS при получении сигнала точного времени. Такие сигналы необходимы для работы вычислительных сетей, в привычном сейчас “мультисервисном” понимании. Ненадёжность GPS, наконец-то, начали замечать.
Физика электронных часов приносит немало задач оптимизации аппаратуры: мультиплексирование (то есть, один формирователь сигнала, работающий на многие индикаторы, с быстрым переключением); использование сдвиговых регистров (а это даёт экономию выводов: ведь тут каждый контакт – важен); со сдвиговыми регистрами есть немало ловких трюков: скажем, если поступиться “очисткой” регистра при старте, то можно ещё один контакт освободить, заведя управляющий сигнал непосредственно в чип регистра. А ведь есть ещё и богатая тема регулирования яркости при помощи, так сказать, “темпорального диттеринга” светодиодов – это когда изменяется скважность (читай – PWM). Получается, что и устройство для измерения времени, и часть его функций реализуется при помощи операций, растянутых по времени.
Конструирование энергоэффективных часов требует вдумчивого подхода: так, микроконтроллер может включаться в режим “знакосинтезирования” по нажатию кнопки, опрашивать RTC, рисовать время на индикаторе, а потом опять засыпать, оставляя подсветку индикатора включенной на некоторое время, всё для экономии энергии батареи.
Многобразны способы отображения времени. Можно использовать привычный знакосинтезирующий индикатор. Можно использовать менее привычный знакосинтезирующий индикатор, например, газоразрядный. Можно поменять принцип кодирования при визуализации: “двоичные” часы, выводящие состояние битовых разрядов при помощи отдельных светодиодов. Естественно, никто не отменял и обычных, механических стрелок, пусть и управляемых электроникой. Тут описаны далеко не все мыслимые варианты индикации времени.
Корпус для часов – позволяет привлечь в процесс 3d-принтер и CAD-системы. Отладка схем – позволяет, как минимум, с пользой применить осцилограф и генератор сигналов, как максимум – требует расчёта параметров счётчиков и делителей частоты.
Конструирование часов, в качестве хобби, процесс, затрагивающий много разных технологических плоскостей: расчёт электронных схем, пайка и покраска лаком, 3d-моделирование, программирование и не только. Процесс не просто затрагивает перечисленные плоскости, но позволяет выделить в каждой фокальный объект, – как минимум, один, – и построить объединяющее представление. А с философской точки зрения это представление и есть суть технологии в целом, как явления.
Комментировать »
На 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 какой-нибудь залётный нейтрон может вызвать реакцию, которая переключит пару битов в модуле памяти. Нейтрон, конечно, может помешать, но это будет не то же самое, что и внесение обязательного сбоя непосредственно в логику алгоритма.
Комментировать »