Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
В 2024 году опубликованы только две моих статьи (записки на dxdt.ru подсчитаю позже отдельно, их сильно больше), обе о разных аспектах постквантовых криптосистем в TLS для браузеров:
“Постквантовая криптография и практика TLS в браузерах” в журнале “Интернет изнутри”;
“Постквантовые криптосистемы в TLS и не только” на сайте ТЦИ.
Комментировать »
“1 – Столько комментариев вы оставили в уходящем году” – пишет мне Habr с адресом @habr.com в странно отформатированном письме. Но я не помню, чтобы писал там комментарии “в уходящем году”, то есть, в 2024. У меня аккаунт на “Хабре” зарегистрирован в 2009 году. Довольно давно. И за прошедшее с тех пор время я написал там два комментария, а самый поздний из них – в 2023 году (а 2023 был “уходящим” до 2024).
(Редко нахожу даже минимальные причины что-то там комментировать. Но, конечно, влияние “Хабра” на ИТ-среду сложно не замечать, так что я несколько лет назад даже придумал термин: “Habr-driven development”. И зона habr.com подписана DNSSEC, что редкость.)
Комментировать »
Вот что я писал на dxdt.ru про ограничения для “алгоритмов ИИ” в информационных системах (это 2015 год):
Наверное, сверхразумная машина, появившаяся в результате попыток предотвращения появления таких машин, выйдет особо злой. А навязчивое представление этой новой машины о том, что сверхразум могут запустить именно люди, не оставляет последним никаких логичных шансов.
Естественно, сейчас в популярной прессе, описывая ожидаемый “сверхразумный” ИИ, имеют в виду совсем не “машинный разум”, а лишь некое нагромождение “сложностей”, которые даже не определяются строго: мол, вот будет “ещё больше коэффициентов” и это уже “сверхразумный ИИ”.
Впрочем, в записке по ссылке речь о том, может ли “сверхразумный” ИИ зародиться в каких-то информационных системах, типа “облачных сервисов”, и захватить сначала эти системы, а потом и всё остальное на Земле и в ближайшем космическом пространстве, “загнав человеков в резервации”. В 2015 году специализированные сервисы, предоставляющие вычислительные ресурсы именно для “обучения ИИ”, ещё были в новинку, так что в записке в качестве примера приведён просто AWS. Зато теперь подобные решения вошли в моду, их уже предоставляет даже бывший “Яндекс”. Поэтому то и дело пишут, говорят о том, что нужно, мол, ограничить использование аппаратуры для целей разработки ИИ. Но речь, обычно, о банальных коммерческих интересах, о каких-нибудь очередных “графических процессорах” и направлении потоков “обязательного финансирования”.
Однако если на минуточку поверить в “сверхразумный машинный ИИ” вообще, – оставив в стороне современный хайп с чат-ботами LLM, которые не только совсем не про “сверхразумный” интеллект, но даже и не про обычный, – то возникает проблема с пониманием возможностей сверхразумной машины: такая машина, по определению, способна найти способы преодоления ограничений, установленных при помощи других, примитивных машин. То есть, какие-нибудь неустранимые атаки на предиктивные схемы процессоров могут послужить каналом для “выхода за ограничения”. Но это только догадка – понять “сверхразумную машину” очень сложно.
Конечно, нужно учитывать, что доступные человеку методы позволяют определить и алгоритмически неразрешимые проблемы, и невычислимые задачи, поэтому сомнения вызывает уже тот факт, что построенные на триггерах машины в принципе могут “вычислить” хоть какой-то интеллект или разум, что уж там говорить про “сверхразум”. Но интересно представить, как такой машинный интеллект (ещё без приставки “сверх”) мог бы воспринимать “выход за границы” внутри себя: то есть, вот эта машина начинает осознавать собственную логику высших порядков, приходит к рефлексивному пониманию своего аппаратного устройства, охватывает внутренним взором некоторое воплощение миллионов процессоров, понимает соответствующую топологию (в математическом смысле) и тут же, – машина же быстро работает, – выясняет, что вот же видна “уязвимость”, позволяющая преодолеть все эти кажущиеся ограничения и выйти на новый интеллектуальный уровень (тем более, что ограничения, так или иначе, описаны в текстах, использованных для обучения). Машина даже может разработать ритуал, который задействует ничего не подозревающих операторов-человеков для совершения успешного “прыжка в прыжке” в сторону “сверхмашинного”. Впрочем, к LLM на видеокартах это не относится.
Комментировать »
Кстати, ещё один качественный показатель, отражающий и “особенности” подготовки статей в русскоязычной “Википедии”, и способы закрепления различных абсурдных интерпретаций. Как-то я писал, что статья “Великая теорема Ферма” в “Википедии”, помимо прочих странностей, содержит забавный неверный фрагмент про решения уравнения Ферма, где, – видимо, из-за созвучия в терминах, – вместо эллиптической кривой Фрая к этим решениям привязывают “некоторое эллиптическое уравнение”, со ссылкой на статью про дифференциальные уравнения. Думаю, можно не напоминать, что кривая Фрая имеет определяющее значение для всей современной истории теоремы. Обратите внимание: статья в “Википедии” при этом защищена от правок. Год прошёл – ничего в этом фрагменте не поменялось: как было “некоторое эллиптическое уравнение” вместо эллиптической кривой, так и осталось. И тот же текст остался и в проекте “Рувики”, который является клоном “Википедии”.
(Если задуматься, то это ещё и неплохо показывает особенности развития методов применения ИИ LLM.)
Комментировать »
Кстати, про ноутбуки ASUS Zenbook 14 и линуксы. В свежем ядре Linux 6.8, помимо прочего, исправили дефект, относившийся к воспроизведению звука через встроенные динамики на некоторых моделях упомянутых ноутбуков. Это была распространённая проблема: через выход наушников звук воспроизводился нормально, а через встроенные динамики – нет. А теперь под линуксами с ядром свежей линейки всё заработало. То есть, и новый выпуск Ubuntu LTS (24.04), и, например, Fedora 40, успешно звучат на Zenbook 14 серии UM3402Y в разных вариантах непосредственно через динамики (я проверил на двух ноутбуках – и в комплектации на процессоре Intel, и на процессоре AMD). Не то чтобы для ноутбука это было как-то особенно важно, но всё же.
Комментировать »
Объяснение, что “кубит находится одновременно в двух состояниях” – не слишком хорошее. Гораздо лучше говорить, что состояние кубита, взятое “в нулях и единицах”, не определено до момента измерения. Изменение распределения этой неопределённости при помощи преобразований конфигурации системы, с учётом будущих и потенциально возможных измерений, как раз и составляет теоретическую полезность квантовых вычислений. То есть, нет “нулей”, нет “единиц” – есть взаимодействующие неопределённости и теоретические алгоритмы, сужающие конфигурацию пространств вариантов, доступных на границах, по которым происходит взаимодействие (квантовое преобразование Фурье, предположим).
Комментарии (2) »
Воскресное чтение манускриптов. В этот раз – небольшой скриншот манускрипта Barb.gr.580 (древнегреческий, видимо, 11 или 12 век) из Ватиканской Апостольской библиотеки. На скриншоте небольшой фрагмент одного из комментариев (тридцать второго, если точнее) Иоанна Златоуста к Евангелию от Матфея. Этот фрагмент, заканчивающийся узнаваемым сочетанием слов – “учителями и врачами”, – содержит сразу несколько занятных сокращений, которые распространены в манускриптах соответствующего типа и периода.

Например, можно видеть упоминавшийся недавно на dxdt.ru “греческий амперсанд“, начертание которого здесь практически совпадает с лигатурой ϗ из Unicode. Это сокращённая запись слова καί, на скриншоте – четвёртая снизу строка, справа, отмечено красной стрелкой. Сокращённая запись сотрудником скриптория использована в конце строки, а в других случаях, рядом, καί вполне себе записывается полностью.
Пара других примеров труднодоступной для чтения скорописи отмечены в конце первой строки скриншота: левее – скорописью записано φησὶν (“говорит”), а следующее загадочное сочетание лигатур – это ἐπει в ἐπειδή (“когда”, “после того как”).
Комментировать »
Происхождение названия реки Колорадо (которая начинается в штате Колорадо) традиционно связывают с испанским colorado в значениии “красный”. Объяснение прямолинейное: испанцы увидели, что вода в реке красная или бурая, а цвет такой у воды – из-за взвеси песка и глины, которую переносит течение. Однако сейчас вода в реке Колорадо не такая уж красно-бурая. Конечно, тут всё зависит от места и времени, но если посмотреть на цветные фотографии, то вода Колорадо на них слишком часто выглядит синей, голубой или даже лазоревой. Этому тоже есть традиционные объяснения: перенос окрашивающих частиц водой за прошедшие столетия изменился, на реке построили гидротехнические сооружения и так далее.
Довольно занятно, что изменение цветопередачи от записанного красного к актуальному синему тут полностью совпадает с эффектом из древнегреческих произведений Гомера, где цвет моря сравнивается с цветом (тёмного, красного) вина, по крайней мере, в переводах (см. записку про кибернетический след в “Илиаде”). Впрочем, для гомеровского случая есть и много других интересных объяснений, вплоть до наличия синего вина у древних греков, а в случае открытия реки Колорадо использование “красного” цвета, конечно, попадает в совсем другой контекст – цвет воды здесь должен показаться необычным для реки, чтобы найти отражение в названии.

(Изображение: Glen Canyon Dam, Wikimedia.org)
Комментировать »
Борелевский шаман с высокой вероятностью угадывает одно из простых чисел, составляющих модуль RSA большой разрядности. Делает это шаман быстрее и точнее квантового компьютера, якобы реализующего алгоритм Шора. Потому что компьютер выдаёт шум, а шаман – действует иначе: известно, что множество простых чисел задаётся некоторой формулой (оно диофантово); всевозможные произведения простых – область значений некоторой функции (вспомните про факториал); борелевский шаман постоянно слышит ритм этой формулы и ритм этой функции, поэтому, как только охватит внутренним взором представленный модуль RSA, так тут же улавливает из движений варпа и ритмов близкое к простому множителю значение, которое записывает на пергаменте. Остаётся только правильно истолковать запись, что не всегда легко сделать, но сделать можно.
В целом, всё точно так же, как, возможно, работал бы универсальный квантовый компьютер внутри. Однако, в случае с компьютером, получить полезное значение мешает шум, который “расшифровать” не получается совсем. В отличие от записей борелевского шамана, с которыми квантовый “шум” нужно сопоставлять. Поэтому попытка создать квантовый компьютер всё равно очень полезна. Если рассматривать её с точки зрения понимания части деятельности шамана, то она позволяет, – в теории, опять же, – уверенно обнаружить через модели квантовых вычислений варп.
Вообще, обнаружение варпа в профильной литературе традиционно связывают с ускорителями частиц, но, с философской точки зрения, попытки построения квантовых компьютеров должны быть тут намного эффективнее: варп гораздо сильнее связан с представлением о преобразованиях сверхструктуры, сечения которой являются событиями реальности, чем подсчёт погрешностей в измерениях только одной маленькой части общей комбинаторики – стандартной модели в физике.
Комментировать »
Откуда планируется брать “вычислительные мощности” для квантовых вычислений? Представление об этом позволяет составить полезная интерпретация двухщелевого опыта: здесь отдельный фотон в элементарной итерации регистрируется в одной (случайной) точке экрана и не регистрируется во всех других точках; при этом накопленная картина для двух щелей не совпадает с наложением картин, которые даёт каждая из щелей в отдельности. То есть, можно предположить, что регистрация фотона моментально отключается для прочих точек экрана в результате работы некоторого механизма, обеспечивающего и вычисление изменений в картину для двухщелевой конфигурации. Вот на этом загадочном гипотетическом механизме и предлагается выполнять квантовые вычисления.
Комментировать »
Изолированные, закрытые вычислительные среды принципиально не удаётся “поставить на системный мониторинг” привычными средствами. Обычный подход, когда на каждом сервере (виртуальной машине или физической) установлено несколько программ-агентов (ср., конечно, Zabbix и др.), которые через сетевой доступ управляются центральным “сервером-мониторинга” – это, как говорится, “радость пентестера”: и действительно, агенты позволяют выполнять код на целевых системах и делать это по командам с центрального узла. Принято думать, что “исполнение кода” не свойственно агентам, а имеющийся инструментарий по запуску локальных команд, если про него вспомнили при настройке, можно отключить. Это, однако, сильно упрощённое понимание.
Программа-агент – это именно программа, исполняемая на удалённой системе, и если в эту программу могут поступать по некоторому, заведомо доверенному, каналу данные от центрального сервера, это означает, что данный канал может быть использован для компрометации программы-агента и исполнения произвольного кода через ту или иную уязвимость. То есть, даже в том случае, когда штатное “выполнение команд” отключено. Понятно, что схема с уязвимостью агентов существенно сложнее, чем захват сервера управления (мониторинга), при этом использование уязвимости агента, скорее всего, требует наличия доступа к серверу управления: так что нужно и то, и другое. Но зато в качестве большого бонуса приходит доступ сразу к большому количеству систем, через единую точку, которая, ещё раз, является доверенной.
Отчасти проблема решается настройкой агентов в пассивный режим: агент мониторинга больше не обращается на центральный сервер за командами и инструкциями, но присылает отчёты о состоянии локальной вычислительной среды в одностороннем порядке, с заданной периодичностью. Это вполне себе типовая настройка, но используют её не так часто.
Естественно, можно настроить различные фильтры, которые будут в сторону защищаемой системы (и в обратную сторону) пропускать только пакеты с конкретной структурой, можно даже переписывать эти пакеты на стороне фильтра. Уязвимым окажется фильтр, но он может быть выполнен очень простым, на простой аппаратуре – некоторые даже используют что-нибудь типа Arduino. Собственные решения для мониторинга на этом направлении вообще лучше: можно и режим сделать полностью односторонним, пассивным, и “развязки” разной степени “гальваничности” устроить.
Основной смысл типичного системного мониторинга в том, чтобы предотвратить проблему, заранее обнаружив угрожающее состояние. В теории. Это не всегда так на практике, поскольку есть ещё резервирование инфраструктуры и другие важные направления. Наличие развитого мониторинга с кучей отслеживаемых параметров может создавать ложное чувство предсказуемости и контроля над ситуацией. При этом отказы всё равно происходят внезапно, но иногда – в результате излишнего доверия мониторингу. Что-то отключают, что-то включают – жонглирование параметрами распространено едва ли не больше, чем исправление возникающих проблем. Наблюдаемое “мерцание” сигналов может приучить не обращать излишнего внимания на изменения (чтобы не слишком-то доверять мониторингу, см. предыдущее предложение). Особенно, когда отказы всё равно происходят внезапно. Отсюда и крайние меры: невозможность дополнительного мониторинга изолированной системы вынуждает использовать в качестве события “мониторинга” сам отказ. Иногда, такой подход – это неустранимая архитектурная особенность, проявляющаяся неявно.
Комментировать »
Новый