Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Немного технологических параллелей. Предположим, что на сервер баз данных, через сеть, отправляются запросы добавления записей. При этом каждый запрос требует завершения транзакции – то есть, обратно клиенту должен прийти пакет, подтверждающий выполнение, после этого клиент может отправить следующий запрос. В условных терминах привычного SQL – это будут команды INSERT. Известно, что в такой схеме производительность, по числу добавлений в секунду, определяется сетевой задержкой. То есть, если пакет находится в пути 10 ms, то сервер должен дожидаться следующего INSERT 20 ms (потому что в обе стороны), а это гарантирует верхний предел в 50 записей в секунду, даже если сервер выполняет одну запись за 1 микросекунду (на несколько десятичных порядков быстрее).
Проблема, конечно, решается поточной записью “списками”, когда новые запросы поступают без ожидания завершения транзакции или какого-либо подтверждения по предыдущим запросам (например, COPY). Сетевая задержка тут уже успевает помешать только один раз, в начале соединения, а дальше – очередной запрос поступает на сервер тут же, следом за предыдущим, что позволяет работать с большей производительностью.
Естественно, эта особенность действует не только для баз данных: ограничивающее влияние сетевых задержек на транзакционные схемы с подтверждением есть в TCP (где с этим явлением борются: см. TCP Fast Open), в TLS (здесь тоже борются: см. TLS Early Data/0-RTT и др.), и в других протоколах. Схема обобщается и на многие решения, которые не имеют отношения к интернет-протоколам.
Рассмотрим такой сценарий: РЛС, предназначенная для определения координат и скорости “быстрых объектов” на “существенном расстоянии”. Тривиальная импульсная РЛС, полагающаяся на отражения отдельных зондирующих импульсов в строгом порядке, оказывается в такой же ситуации, как и сервер баз данных выше (при том, конечно, что РЛС появились раньше таких серверов). Излучили короткий импульс – приняли отражённый сигнал, обработали, отправили очередной импульс – если время до цели 1 ms (300 км, примерно), то получается разрешающая способность наблюдения в 500 Гц, максимум. А если цель дальше, то будет меньше. Хуже всего, что отражённый сигнал вообще может не прийти обратно к точке излучения на нужном уровне. Но если импульсы отправлять чаще, не ждать отражения, или даже использовать непрерывный зондирующий сигнал, то ситуация, в теории, резко улучшается, как и в случае с сервером баз данных: можно обрабатывать отражённый сигнал с разрешением хоть в гигагерц. На практике, впрочем, возникнут проблемы, потому что РЛС – это не сервер баз данных. Принимать сигнал одновременно с излучением – весьма трудно, если не использовать разнесённые в пространстве антенны (бистатическая радиолокация). А увеличение частоты следования зондирующих импульсов требует использования более сложных алгоритмов кодирования и обработки, которые позволяют различать отражённые сигналы, соответствующие различным зондирующим импульсам. Это, впрочем, обычная задача для современных РЛС.
Комментировать »
“Песочница – это такая изолированная среда, где производится виртуальное исполнение подозрительного кода, чтобы без ущерба выявить возможную вредоносную активность. Вредоносы развиваются, логика их активации пользователем становится всё сложнее. Поэтому песочница должна имитировать действия пользователя всё точнее и точнее. Мы постоянно улучшали модель пользователя. Наша модель “открывала” файлы, “двигала” мышкой, генерировала клавиатурный ввод – сперва достаточно простые марковские цепи, потом многоуровневая система библиотек из словарей, построенная на литературном корпусе, с нелинейной памятью.
В какой-то момент выяснилось, что модель полностью выполняет все пользовательские задачи. Если процесс не прерывался вредоносным кодом, то обработка входящих сообщений в песочнице давала такой же результат, как и действия настоящего пользователя; а нередко результат был лучше. Оставалось только достать этот результат из песочницы и – настоящий пользователь уже оказывался не нужен. Неожиданно открывшиеся перспективы поражали.
Но коллеги из отдела “Основания математики”, говорившие что-то про диагонализацию, оказались правы. Как только мы попытались реализовать механизм безопасного вытаскивания наружу результата работы модели пользователя, выяснилось, что в модель требуется включить функцию взаимодействия с песочницей – иначе непоправимо страдала полнота: например, нельзя не учитывать такой триггер, как копирование файла на внешний, относительно песочницы, носитель. К сожалению, это означает, что внутри нашей песочницы придётся эмулировать ещё одну песочницу, которая нужна для полной модели пользователя. А внутри новой песочницы – нужна ещё одна. Казалось бы, на третьем уровне можно остановиться: потому что если “вывернуть” получившуюся конфигурацию, то она, в алгоритмическом смысле, окажется эквивалентной новому шагу конструктивного построения полной модели. Но операция “выворачивания” точно так же требует расширения модели.
Всё это довольно сложно. В общем, сейчас нас занимает совсем другая мысль: не являемся ли мы сами чьей-то моделью пользователя, ограничения которой не позволяют довести нашу песочницу до ума?”
(Май 2017 г.)
Комментировать »
Воскресное чтение манускриптов. В этот раз – пара иллюстраций из инструкции по созданию метательных машин от Герона Александрийского (первый век н.э), в версии манускрипта Vat.gr 1164 (а это уже 11 в., тысячу лет спустя) из Ватиканской Апостольской библиотеки. Схема баллисты:

Подробный чертёж важной детали (περίτρητα), которая обеспечивала крепление механической обвязки вокруг “торсиона” (текст со скриншота – относится к другому чертежу):

Описание этой детали из труда Герона обычно приводят в качестве примера древних научно-технических подходов, предоставлявших нужный уровень обобщения и абстракции не только через буквенные обозначения и математические основы черчения, но и путём использования вместо конкретных размеров указаний на отношение величин. Например, как в данном случае: через определение отношения 1:2 для сторон задающего деталь параллелограмма и т.д., это всё описывается в сопроводительном тексте – то есть, буквально, основы машинной графики и компьютерной геометрии, но две тысячи лет назад.
Комментировать »
Можно предположить, что передача сообщений по радио полностью защищена от прослушивания, если прослушивающая сторона ничего не знает об электромагнитных волнах (что уж там говорить про наличие у этой стороны радиоприёмников). В газете напишут – “абсолютно защищена”. Может ли такая вымышленная ситуация служить аллегорией для современного внедрения квантовой криптографии? Навряд ли.
По крайней мере, аллегория получится слишком неполной и размытой. Да, про квантовую криптографию, следуя волне “хайпа”, едва ли не постоянно пишут, что она является “абсолютно защищённой, абсолютно стойкой”, якобы, из-за некоторых “физических законов” (естественно, законов таких нет, они в физике невозможны; есть некоторые допущения, но это, впрочем, другая история). Проблема с упомянутой аллегорией в том, что у тех, кто обменивается сообщениями по радио – есть радиостанции. Неявно предполагается, что они их как-то изготовили, а потом ещё смогли оценить степень исключительности своих знаний. То есть, несколько другая история. В случае квантовой криптографии, предположения о стойкости строятся в рамках почти той же прикладной модели, которая позволила создать сами оконечные устройства – приёмники и передатчики. Так что вариант, когда оценка степени защиты информации в радиоканале на уровне “абсолютная защита” делается из допущения, что прослушивающая сторона ничего не знает о радиосвязи, он совсем о другом – получается что-то вроде принципа Керкгоффса, а не аллегория оценок квантовой криптографии.
Можно предположить, что и сами пользователи радиостанций ничего не знают не только об устройстве радиостанций, но и понятия не имеют об электромагнитных волнах. Для того, чтобы запомнить, что голос из одной коробочки передаётся в другую – многие знания не требуются, так как система работает сама. Ну, пока батарейка не разрядилась. Тут уже принцип Керкгоффса исчезает сам собой (обратите, кстати, внимание на то, что применимость данного принципа, оказывается, зависит от контекста). Но к роли квантовой криптографии в современности это тоже совсем и никак не подходит: построить даже опытный образец усилиями ИИ с LLM внутри не выйдет, что уж там рассуждать про интерпретации квантовой механики.
Впрочем, история показывает, что разработчики и, особенно, пользователи радиооборудования могут недооценивать возможности утечек по побочным каналам (те самые ПЭМИН). Это, аллегорически, означает, что кто-то смог разобраться с электромагнитными излучениями чуть лучше. Известно, что такие утечки работают и для устройств квантовой криптографии. Кто бы, как говорится, сомневался: известно ещё до появления оптоволоконных линий связи – даже если по кабелю передаются сообщения, зашифрованные абсолютно, – в полноценном, математическом смысле, – стойким шифром, это не означает, что вместе с зашифрованными сигналами не передаётся и эхо исходника, в открытом виде. Но то всё “классические” утечки. Возможны ли утечки “квантовые”? Пока что непонятно. Однако к аллегории про радиоканал и технически неподготовленную прослушивающую сторону, которая пытается подползти к окну радиобудки, чтобы снять акустическое эхо собственными ушами, это уже не относится.
Комментировать »
Картинка из прошлогодней записки про таблицу подстановок:

С чем связана такая геометрия верхней части? Прежде всего, с тем, что каждая строка там – это уменьшение “неопределённости” в два раза. И действительно: картинка состоит из значений байтов, повёрнутых вертикально, то есть, это таблица, в которой верхняя строка соответствует старшему биту байта. Последовательное увеличение значений байтов, справа налево, с использованием типового кодирования (это важная оговорка), означает, что половина клеток-пикселей старшего бита заполнена нулями, половина – единицами.
Нули и единицы разбивают всё пространство возможных значений на две равных части. Вот это и есть ключевой момент теоретико-информационного определения бита, про который нередко забывают даже при постоянной, – ручной, так сказать, – работе с битами/байтами: один бит информации соответствует уменьшению “неопределённости” в два раза, что бы там под “неопределённостью” ни подразумевалось. Если взять произвольный байт, то значений у него может быть 256 различных, это будет степень неопределённости. Если известен один бит, то возможных значений уже 128, если два бита, то 64, и так далее, перемещаясь по картинке вниз. А если эту концепцию наложить на идею непрерывности, то нетрудно увидеть целый набор фундаментальных математических объектов.
Комментировать »
(Минутка технократического юмора.) Недавно я писал про двухщелевой опыт с ИИ – траекторные координаты попаданий электронов вводятся в ИИ, который должен предсказывать координаты следующего электрона. Между прочим, подобный эксперимент, в современных реалиях, уж точно привлёк бы огромное внимание профильной и не очень профильной прессы, ведь тут используются сразу две из трёх нитей актуальной нарративной канвы: квантовая физика и искусственный интеллект (название третьей нити угадать нетрудно). Эксперимент пока что не реализовали. Скорее всего, подготовка аппаратуры требует немало времени. (Ну или какая другая причина. Мало ли.)
В той заметке про ИИ в двухщелевом опыте, кроме прочего, написано:
Можно же даже так сделать: электрон попадает в экран детектора, координаты точки автоматически вводятся в нейросетевую систему ИИ, система корректирует собственные предсказания (известная схема). Электроны можно излучать быстро, нейросеть – тоже на быстром компьютерном оборудовании, с большим объёмом памяти. Осталось построить, запустить и ждать – сойдётся ли процесс. А если сойдётся, то выяснится, к чему это приведёт.
Как вообще это могло бы сработать и с каким результатом? Например, за системой со сложным, непредсказуемым, возможно – случайным, поведением, может скрываться достаточно простой набор параметров и элементарный, по своей записи, алгоритм. Это известно. Впрочем, “случайность и непредсказуемость” тут оказываются мнимыми, происходящими из недостатка вычислительной мощности, доступной исследователю. Системы компьютерных ИИ сейчас строятся на записи и преобразовании огромных массивов, состоящих из ячеек памяти. Получается, что если за квантовой случайностью, проявляющейся в отметках электронов на экране двухщелевого опыта, стоит некоторый простой, но неведомый, алгоритм, то при подключении этого алгоритма в память системы ИИ, выдача алгоритма, последовательно растянутая по времени (важный момент!), начнёт двигать миллиарды зарядов в микроэлектронных элементах ячеек памяти. И не просто так двигать, а согласованным, – пусть и непонятно как согласованным, – образом.
Эффект может быть неожиданным. Предположим, система лабораторной установки выводит своё предсказание результата опыта в виде “расчётной” интерференционной картины. И вот, после некоторого достаточного обучения электронами, проходящими через щели, система, погудев и мигнув неонкой, рисует на модели лабораторного экрана изображение числа сорок два.
Комментарии (2) »
Немного занимательной математики и глобальной DNS.
Насколько велика вероятность, что в доменах первого уровня глобальной DNS совпадут теги разных ключей DNSSEC? Нередко приходится слышать, что так как тег 16-битный, то и вероятность, примерно, 1/65535 (за вычетом особенностей алгоритма вычисления значения тега и пр.). Это не верно. Если рассматривать совпадения внутри набора ключей DNS, то получаем хрестоматийный пример парадокса дней рождения: нам не важно, чтобы повторилось конкретное, заданное значение тега, напротив – требуется совпадение любого значения внутри любой пары, а это совсем другая история, поскольку количество всевозможных пар велико даже в небольших наборах ключей. Поэтому вероятность совпадения тегов DNSSEC-ключей, на практике, очень велика. Иногда ключи просто обязательно совпадут по тегам. Например, в списке доменов первого уровня (корневой зоны DNS) сейчас 1452 имени, то есть, можно составить 1053426 пар (больше миллиона). А это количество (практически) гарантирует, что будут совпадения тегов ключей.
И действительно, если собрать DNSKEY-записи из доменов первого уровня, то окажется, что значений повторяющихся тегов, – то есть, значений, которые встречаются для разных ключей в разных зонах, – сильно больше сотни: у меня получилось 129 таких тегов. Обратите, кстати, внимание, что некоторые ключи разных зон TLD имеют одинаковые теги потому, что это просто одинаковые ключи. Такие повторы отбрасывались. Потому что корректно – сравнивать именно сами значения ключей (как и в прочих случаях использования тегов). Например, различные DNSSEC-ключи с одинаковыми тегами опубликованы в зонах cab и today, в зонах agency, weber и temasek, и во многих других.
(Дополнение: естественно, выше предполагается, что ключи для различных зон генерируются независимо, случайным образом.)
Комментировать »
Как известно, современные мощные смартфоны могут дорисовывать детали на изображения, полученные встроенными камерами. Издание TechRadar цитирует комментарий руководителя Customer Experience компании Samsung, в котором он говорит про глубокую “доработку” с помощью ИИ-фильтров изображений, выводимых камерой новейшего смартфона, обосновывая произвольный уровень такой доработки тем, что настоящих снимков всё равно не существует, в принципе:
There was a debate around what constitutes a real picture. And actually, there is no such thing as a real picture. As soon as you have sensors to capture something, you reproduce [what you’re seeing], and it doesn’t mean anything. There is no real picture. (Шли споры о том, что же является настоящим снимком. И на самом деле – нет такой вещи, как настоящий снимок. Как только вы начинаете использовать сенсоры, чтобы зафиксировать что-то, вы воспроизводите [то, что видите] и это ничего не значит. Нет там настоящего снимка.)
Дальше там рассказывается, что выделяются два основных направления использования камеры: первое – “зафиксировать моментальное” в максимальной точности и полноте; второе – создать что-то новое, а не “воссоздавать реальность“. Второй момент, что занятно, перекликается с философским определением искусства и творчества. В целом, отбрасывание реальности за пределы области, доступной для камеры смартфона, чтобы тем мотивировать дорисовывание изображений средствами синтезирующего ИИ, это довольно сильная позиция, однако тут важно, в какую именно сторону повернётся трактовка в дальнейшем. Например, я год назад писал практически то же и про те же эффекты смартфонов Samsung на фотографиях:
Конечно, если подходить к вопросу в самом общем плане, то можно сказать, что всякая фотокамера, – тем более, цифровая в смартфоне, – лишь тем или иным способом демонстрирует результат некоторого процесса внутри камеры. В классической, плёночной фотографии – фиксируется (буквально) некоторый химический процесс превращения красителей, при этом, скажем, “чувствительность” можно изменять уже после того, как “фотонная” основа снимка воспринята веществами плёнки. Цифровые камеры используют иной процесс, более электрический, так сказать. Казалось бы, плёнка, в каком-то смысле, позволяет “дорисовать” несколько больше, чем сенсоры камеры, но тут в дело вмешивается “машинное обучение” со своими “методами улучшения”.
Если отбросить особенности определения “реальности” и связанные с этим концептуальные трудности фотографии, как вида искусства, – для случая массового использования смартфонов всё это так или иначе не применимо, – то простая бытовая проблема проявится в том, что фотографии из смартфонов не только принято повсеместно считать отражением реальных событий (что бы ту ни подразумевалось), так ещё и постоянно появляются всё новые сферы “цифровизации”, где снимкам, выполненным смартфоном, отводят ключевую, доказательную роль в автоматической обработке. Вспомните про все эти “фото с паспортом”, про дистанционное банковское обслуживание “по биометрии” (а там и без смартфонов “умные камеры” используются) и про другие, не менее занимательные, приложения.
Неплохо, если бы следом за многократными подтверждениями того, что смартфоны синтезируют картинки, а не “фиксируют реальность”, отказались бы и от придания этим картинкам автоматически статуса подлинных фотографий. Вот только в реальности ход опять окажется другим: будет заявлено, что внедрены методы “определения достоверности” и “детектирования изображений, сгенерированных ИИ”, а поэтому синтезирование отдельного потока “цифровой” “реальности”, с наращиванием всё новых слоёв, необходимо продолжать, усиливая регулирование.
Комментарии (2) »
Существует много интерпретаций квантовой механики, а та упрощённая теория, собирательно называемая “квантовой механикой” в массовом научпопе, неполна. Это, как минимум, означает, что за квантово-механическими опытами и явлениями стоит более глубокий механизм (отдельная тема), свойства которого пока что физиками-теоретиками не схвачены в точности, а поэтому даже в экспериментах ещё не используются – есть только предварительные гипотетические описания и предположения.
Но тут проявляется занимательный практический момент: вот есть “квантовая криптография” – способ создания физического защищённого канала связи, в котором оценка надёжности сигнализации об утечке основана на действующих квантово-механических допущениях; но может так оказаться, что через какое-то время предложат гипотетический “постквантовый компьютер” (условное название), который, используя ту или иную новую интерпретацию, позволит моделировать состояние квантовых систем на основе детектирования ранее скрытых параметров и, тем самым, предсказывать результат измерения для схем квантового распределения ключей достаточно точно и даже постфактум, из другой точки привычного пространства. (Аналогично тому, как сейчас побочные сигналы позволяют определять конфигурацию аппаратуры.) Конечно, эти скрытые параметры могут образовывать сложную, рекурсивную структуру, что делает затруднительным вычисление на “обычном компьютере”, и только поэтому соответствует описаниям современного аппарата квантовой механики. Однако тот самый гипотетический “постквантовый компьютер”, используя новые физические процессы, позволит, в теории, сложности даже не преодолеть, но обойти.
Возникнет ситуация, когда стойкости квантового распределения ключей (“квантовой криптографии”) будет угрожать создание “постквантового компьютера”. Естественно, “квантовая криптография” – это, в математическом смысле, не криптография, а поэтому ситуация отличается от современных постквантовых криптосистем и “угрозы квантового компьютера” (без “пост-“), но это только добавляет занимательности, поскольку тут развитие фундаментальной физики позволит повлиять на физический же метод обнаружения перехвата сигналов.
Комментарии (1) »
Единичной окружностью, при некоторых допущениях, можно назвать достаточно мощное множество пар чисел (x, y), которые удовлетворяют формуле X^2 + Y^2 == 1. Это, например, привычный случай школьной координатной плоскости. Но можно сказать, что “окружность”, без всяких формул, это большой набор конкретных пар чисел, которые буквально переписаны в массиве исходных данных. Отсутствие формулы в методе определения делает второй вариант существенно отличающимся от первого. И этот второй вариант как раз соответствует популярному сейчас подходу с использованием ИИ (“искусственного интеллекта”) в качестве инструмента анализа: вместо построения вычислительно эффективного общего метода – предлагается таскать с собой наборы исходных данных, проводя там поиск. Чтобы описать больше разных окружностей – возьмём больше разных массивов.
В случае с формулой – (координатная) пара принадлежит окружности, если подстановка в формулу сохраняет равенство. В случае с массивом исходных данных – пара принадлежит окружности тогда, когда удалось найти именно эту пару методом перебора массива. Зато нет дополнительных моделей и концепций. Это сильно различающиеся подходы.
Важный онтологический аспект: новое знание – это возможность заменить большой массив “исходных данных”, где из дополнительных структур присутствует только способ индексирования (“итератор”, если хотите), на структурный метод, который в вычислительном смысле не только короче, но и много проще, чем “итератор” с исходными данными. Понятно, что таблица координат точек, задающих окружность, тоже может использоваться во многих практических случаях, например, если нужно быстро рисовать некоторые “закрашенные круги” на некотором “матричном” дисплее (условном). Есть и другие варианты эффективного использования подобных таблиц. Но они не отменяют того факта, что можно написать короткую программу, – короче, чем массив с точками “окуржности”, – которая успешно сгенерирует сотни мегабайт видеопотока, имитирующего, предположим, полёт над некоторой фантастической местностью. И тут можно вспомнить популярные когда-то давно “демо-программы” (“демосцены”), работавшие на ограниченных вычислительных ресурсах.
Понятно, что не всякие наборы пар чисел укладываются в заданную выше формулу, если, конечно, не изменять базовую логику, определения операций и прочие свойства. У схемы X^2 + Y^2 == 1 – есть много оговорок, её запись и реализация требует некоторых дополнительных соглашений, в отличие от простого “итератора”, построенного в стиле попарного сопоставления некоторых элементов множества. Однако именно поэтому данная схема несравнимо богаче по познавательным возможностям. Например, использование формулы позволяет построить объяснение того, как так выходит, что некоторая пара чисел не лежит на заданной окружности, то есть, построить весьма мощные новые теории. А вот массив исходных данных, сам по себе, – такой возможности не предоставляет: тут только и можно сказать, что “соответствующей пары нет в списке”.
Комментировать »
Интересный аспект моделей физических вычислителей – влияние пространственных измерений. Предположим, что вычислитель электронный и состоит из некоторых элементарных частей (теоретических “транзисторов”), которые управляются электрически, через, условно говоря, “провода” или “контакты”. Речь идёт про сугубо теоретическую конструкцию, поэтому конкретными единицами измерения длин, сечений и напряжений можно пренебречь. Однако эти элементарные вычислительные элементы можно плотно укладывать в привычном трёхмерном пространстве. (Математические рассуждения про ситуацию с количеством измерений пространства больше трёх – оставим для другой записки, отметив, впрочем, что “очень многомерный арбуз” покупать не всегда выгодно, так как он почти весь состоит из корки.)
Построение вычислителя в трёхмерном пространстве сулит выигрыш, потому что доступный фронт распространения электромагнитного сигнала оказывается двумерным: то есть, можно построить эффективную параллельную и слоистую структуру из вычислительных элементов, которые будут размещены с максимальной плотностью, что позволит достичь малых задержек распространения сигнала, со всеми вытекающими свойствами: быстродействие, затраты энергии и т.д.
Однако выяснятся, что сам элементарный вычислительный элемент, – так как он хоть и теоретический, но электрический и классический, – при срабатывании выделяет тепло, а схемы отведения этого тепла требуют использования отдельного измерения. Так что размещение, собственно, элементов, должно быть двумерным. Ну или как-то придётся научиться либо вычислять без затрат энергии, либо – сбрасывать излишки в какое-то дополнительное, относительно привычных, измерение (например, забрасывать в будущее, как это нередко происходит со всякими “невычислительными” системами).
Комментировать »
Новый