Киви Б. Книга о странном

ОГЛАВЛЕНИЕ

Глава 3. Антикриптография

3.1. До и после контакта

В марте 2001 г. книжное издательство O'Reilly amp; Associates, специализирующееся на литературе компьютерной тематики, выпустило книгу, явно выпадающую из общего ряда не только своим содержанием, но и уже самим названием: «После контакта. Путеводитель по SETI и руководство по общению с инопланетными цивилизациями»[23].
В радиоастрономии, как известно, идея поиска сигналов от внеземных цивилизаций циркулирует с конца 1950-х годов. Уже около 40 лет энтузиасты, объединившись в рамках международного проекта SETI, или «Поиск внеземного разума», обшаривают потихоньку звездные системы нашей Галактики в надежде зацепить сигналы, хоть чем-то свидетельствующие о своем искусственном происхождении. Пока, увы, поиски успехом не увенчались, однако сам процесс исследований порождает интересные побочные результаты и даже открытия в самых разных областях, от астрономии до компьютеров и беспроводной связи.
О SETI написано уже достаточно много монографий и статей, но поданы они по преимуществу с точки зрения астрономии. Автор же новой книги американец Брайен Макконнел является программистом-разработчиком и специалистом по телекоммуникациям, поэтому материал здесь, естественно, изложен с позиций профессионала именно в этих дисциплинах.
Конечно, есть тут главы, посвященные общей истории проекта SETI, его родоначальникам и конкретным программам исследований. Однако центральную часть книги занимают проблемы приема и передачи сигналов на межзвездные расстояния, а главное – каким образом должен быть построен символьный язык общего назначения, предназначенный для обмена информацией между чуждыми друг другу разумами.
И вряд ли можно считать неожиданным, что программист-практик Макконнел выдвигает и разрабатывает экстравагантную на первый взгляд идею, согласно которой наилучшим языком общения между инопланетными цивилизациями являются компьютерные программы. Как убеждает читателей автор, передача компьютерных программ, моделирующих постигнутые феномены или решенные задачи, предоставляет возможности для наиболее емкого донесения информации относительно уровня знаний и технологических возможностей отправителя.
У читателя, в свою очередь, тут же возникает вполне естественный вопрос: «Но ведь даже программы перевода с одного человеческого языка на другой, несмотря на усилия разработчиков, продолжают оставаться предельно убогими. Так как же, опираясь на столь несовершенные компьютерные алгоритмы, мы сможем общаться с инопланетной цивилизацией?»
Ответ компьютерных ученых (и Макконнела) на данный вопрос звучит следующим образом. Программы машинного перевода столь убоги по той причине, что подаваемые им на вход документы имеют нестандартизованный формат. Множество значений одного и того же слова либо сразу приводит к ошибкам перевода, либо занимает неоправданно много времени на анализ групп слов и фраз целиком (а в итоге тоже приводит к ошибкам, хотя и не столь грубым).
Но проблему можно снять, если предварительно кодировать исходное сообщение таким образом, чтобы его разметка сама вела получателя к правильному декодированию послания. Один из способов, которым это можно сделать, заключается в создании некоего «числового языка», в котором каждой идее присвоен уникальный цифровой адрес. Тогда исчезает вся путаница вокруг множества смыслов и особенностей контекста, окружающего каждое конкретное слово или символ в выражении. Конечно, подобный подход несоизмеримо увеличивает трудозатраты автора исходного текста, поскольку процесс подготовки сводится к весьма утомительному кодированию, однако на приемном конце задача восстановления смысла послания чрезвычайно упрощается.
Эта общая методика изготовления посланий, имеющих встроенные в свое тело ключи к тому, как их декодировать, уже имеет и собственное название – антикриптография. Данной дисциплине, пока что не имеющей широкой известности, Брайен Макконнел посвятил специальную статью под бравым заглавием «Антикриптография – очередной рубеж в компьютерной науке»[24]. В статье подробно разбирается, каким образом можно наиболее эффективно компрессировать информацию, чтобы она (а) обладала наименьшей избыточностью, т. е. несла максимум полезных данных; (б) одновременно содержала исчерпывающие подсказки о том, как послание декодировать получателю, изначально не имеющему ни малейшего представления о содержимом.
Понятно, что данное направление исследований имеет самое непосредственное отношение к экзотической задаче контактов с инопланетным разумом. Однако уже сейчас исследователям видятся для антикриптографии и вполне конкретные земные области применения.
В сущности, достаточно просто осмыслить, что идея конструирования и рассылки файлов, которые сами себя описывают (хотя бы отчасти), является весьма и весьма практичной. Один из наиболее часто приводимых в этой связи примеров – программное обеспечение для распространения в Интернете графических изображений и видеороликов. При опоре на принципы антикриптографии становится возможным создать систему, которая снимает достаточно обременительную необходимость в загрузке специальных программ для просмотра компрессированных изображений.
Трюк заключается в том, чтобы перемежать данные, описывающие картинку, с алгоритмом (или командами) для преобразования данных в визуально воспринимаемый образ. При подобном сценарии компьютер пользователя автоматически обучается тому, как обрабатывать и выводить на дисплей любой новый тип кодирования графики. Ясно, что такой принцип был бы существенным шагом вперед по сравнению с нынешней ситуацией, когда для одних роликов надо загружать программу QuickTime, для других RealPlayer, для третьих – что-то еще столь же «фирменное».
Таким образом, подводит итог Макконнел, даже если SETI вообще не удастся ничего найти в безбрежных космических просторах, все равно «поиск внеземного разума» – это весьма полезная метафора для решения тех задач, с которыми постоянно сталкиваются разработчики программного обеспечения и телекоммуникационных систем. Научившись создавать такие конструкции, которые эффективно сами себя описывают, программисты смогут создавать значительно лучшие программы и сетевые услуги, на этих программах основанные.