Односторонняя функция

Поделись знанием:
Перейти к: навигация, поиск
Нерешённые проблемы информатики: ''Существуют ли односторонние функции ?''

Односторонняя функцияматематическая функция, которая легко вычисляется для любого входного значения, но трудно найти аргумент по заданному значению функции. Здесь «легко» и «трудно» должны пониматься с точки зрения теории сложности вычислений. Разрыв между сложностью прямого и обратного преобразований определяет криптографическую эффективность односторонней функции. Неинъективность функции не является достаточным условием для того, чтобы называть её односторонней. Односторонние функции могут называться также трудно обратимыми или необратимыми.

Существование односторонних функций до сих пор не доказано. Их существование докажет, что классы сложности P и NP не равны, попутно разрешив ряд вопросов теоретической информатики. Современная асимметричная криптография основывается на предположении, что односторонние функции всё-таки существуют.

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





Определение

Пусть <math> \{0, 1\}^n</math> — множество всех двоичных строк длины n. Функция <math>f: \{0, 1\}^* \rightarrow \{0, 1\}^*</math> является односторонней функцией, если она эффективно вычисляется за полиномиальное время на детерминированной машине Тьюринга, но не существует полиномиальной вероятностной машины Тьюринга, которая обращает эту функцию с более чем экспоненциально малой вероятностью. То есть для любой вероятностной полиномиальной машины <math>M</math>, для любого полинома <math>p(n)</math> и достаточно большого <math>n \in \mathbb{N}</math> выполняется:

<math>Pr[M(f(m)) \in f^{-1}(m)] < 1/p(n)</math>

где строка <math>m</math> выбирается случайным образом на множестве <math>\{0, 1\}^n</math> в соответствии с равномерным законом распределения. Время работы машины <math>M</math> ограничено полиномом от длины искомого прообраза[1].

Существование

Существование односторонних функций не доказано. Если f является односторонней функцией, то нахождение обратной функции является трудновычислимой (по определению), но легкопроверяемой задачей (путём вычисления f на ней). Таким образом, из существования односторонней функции следует, что P ≠ NP. Однако, не известно, влечёт ли за собой P ≠ NP существование односторонних функций.

Существование односторонних функций повлечёт за собой существование многих других полезных криптографических объектов, в том числе:

Использование

Говорят, что односторонняя функция сохраняет длину, если битовая длина значения функции равна битовой длине аргумента. Такие функции используются, например, в псевдослучайных генераторах. Если битовая длина значения односторонней функции постоянна при любой длине аргумента, то она называется хеш-функцией. Так, хеш-функция используется для хранения паролей или создания электронной подписи[1].

Трудность задачи построения криптографических схем из односторонних функций можно пояснить на следующем примере. Пусть <math>f</math> — односторонняя функция и нам требуется построить криптосистему с секретным ключом. В такой криптосистеме имеется только один ключ — секретный, который известен и отправителю, и получателю шифрованного сообщения. Алгоритмы шифрования <math>E_K</math> и дешифрования <math>D_K</math> оба зависят от этого секретного ключа <math>K</math> и таковы, что <math>D_K(E_K(m)) = m</math> для любого открытого текста <math>m</math>. Ясно, что если криптограмму <math>d</math> сообщения <math>m</math> вычислять как <math>d=f(m)</math>, то противник, перехвативший <math>d</math>, может вычислить <math>m</math> лишь с пренебрежимо малой вероятностью. Но во-первых, непонятно, каким образом сможет восстановить сообщение <math>m</math> из криптограммы законный получатель? Во-вторых, из того, что функция <math>f</math> односторонняя следует лишь, что противник не может вычислить все сообщение целиком. А это — весьма низкий уровень стойкости. Желательно, чтобы противник, знающий криптограмму <math>d</math>, не мог вычислить ни одного бита открытого текста.

Для решения первой задачи были придуманы односторонние функции с потайным входом. Это специальный тип односторонней функции для которой легко вычислить <math>f(m)</math> по заданному <math>m</math>, но трудно по известному <math>f(m)</math> вычислить <math>m</math>. Однако существует некоторая дополнительная секретная информация <math>y</math>, позволяющая при знании <math>f(m)</math> и <math>y</math> легко вычислить <math>m</math>.

Еще одним примером использования односторонних функций в криптографических схемах является следующая схема аутентификации:

Абонент <math>A</math> вырабатывает следующую последовательность сообщений: <math>m_0, m_1=f(m_0), m_2=f(m_1)</math> и т. д. <math>m_{100}=f(m_{99})</math>, где <math>f(m)</math> — односторонняя функция. Затем <math>m_{100}</math> передается по секретному каналу (или при встрече) абоненту <math>B</math>. Когда <math>A</math> необходимо подтвердить свою личность, он передаёт <math>B</math> по открытому каналу сообщение <math>m_{99}</math>. <math>B</math> проверяет: <math>f(m_{99}) =? m_{100}</math>. В следующий раз <math>A</math> передаст <math>m_{98}</math>, и <math>B</math> проверит: <math>f(m_{98}) =? m_{99}</math> и т. д. Перехват сообщений на i-ом этапе в открытом канале ничего не даст злоумышленнику, так как он не сможет получить соответствующее значение <math>m_{i-1}</math>, чтобы в следующий раз идентифицировать себя как абонента <math>A</math>. Такие схемы применяются для идентифкации «свой/чужой»[2].

Доказательство выполнения работы

Для защиты компьютерных систем от злоупотребления услугами запрашивающей стороне предлагается решить задачу, на поиск решения которой тратится достаточно много времени, а результат легко и быстро проверяется обслуживающей стороной. Примером такой защиты от спама может служить система Hashcash[3], которая запрашивает хеш частичной инверсии у отправляющей электронную почту стороне.

В системе «Биткойн» требуется, чтобы получаемая хеш-сумма была меньше специального параметра. Для поиска нужной хеш-суммы требуется её многократный пересчёт с перебором произвольных значений дополнительного параметра. На поиск одной хеш-суммы все компьютеры системы тратят примерно 10 минут, что регулирует скорость эмиссии новых биткойнов. Для проверки требуется лишь однократное вычисление хеша.

Стойкость криптографических схем

Существование односторонних функций является необходимым условием для стойкости многих типов криптографических схем. В некоторых случаях этот факт устанавливается достаточно просто. Рассмотрим функцию <math>f</math> такую, что <math>f(r) = K_1</math>. Она вычислима с помощью алгоритма <math>G</math> за полиномиальное время. Покажем, что если <math>f</math> не односторонняя функция, то криптосистема нестойкая. Предположим, что существует полиномиальный вероятностный алгоритм <math>A</math>, который инвертирует <math>f</math> с вероятностью по крайней мере <math>1/p(n)</math> для некоторого полинома <math>p</math>. Здесь <math>n</math> — длина ключа <math>K_1</math>. Атакующий может подать на вход алгоритму <math>A</math> ключ <math>K_1</math> и получить с указанной вероятностью некоторое значение <math>r'</math> из прообраза. Далее злоумышленник подает <math>r'</math> на вход алгоритма <math>G</math> и получает пару ключей <math>(K_1, K'_2)</math>. Хотя <math>K'_2</math> не обязательно совпадает с <math>K_2</math>, тем не менее, по определению криптосистемы <math>D_{K_2'}(E_{K_1}(m)) = m</math> для любого открытого текста <math>m</math>. Поскольку <math>K'_2</math> найден с вероятностью по крайней мере <math>1/p(n)</math>, которая в криптографии не считается пренебрежимо малой, криптосистема нестойкая.

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

На настоящий момент доказано, что существование односторонних функций является необходимым и достаточным условием для существования стойких криптосистем с секретным ключом, а также стойких криптографических протоколов нескольких типов, включая протоколы электронной подписи. С другой стороны, имеется результат Импальяццо и Рудиха, который является достаточно сильным аргументом в пользу того, что для некоторых типов криптографических схем (включая протоколы распределения ключей типа Диффи-Хеллмана) требуются более сильные предположения, чем предположение о существовании односторонних функций[4].

Кандидаты в односторонние функции

Далее описаны несколько претендентов на односторонние функции. На данный момент не известно, являются ли они действительно односторонними, но обширные исследования пока не смогли найти эффективный обратный алгоритм к каждой из них.

Умножение и факторизация

Функция <math>f</math> принимает на вход два простых числа <math>p</math> и <math>q</math> в двоичном представлении и возвращает их произведение <math>N = f(p, q)</math>. Эта функция может быть вычислена за время порядка <math>O</math><math>(n^2)</math>, где <math>n</math> — общая длина (количество двоичных чисел) входных данных. Построение обратной функции требует нахождения множителей заданного целого числа <math>N</math>. Определение множителей является очень трудоёмкой вычислительной операцией. Для оценки сложности алгоритма, раскладывающего целое число <math>N</math> на простые множители, часто используют функцию:

<math>L_N(\alpha, \beta) = \exp((\beta + o(1)(\ln N)^\alpha(\ln \ln N)^{1 - \alpha}))</math>

Если алгоритм имеет сложность <math>O(L_N(0, \beta))</math>, то ему требуется полиномиальное время на работу (размер задачи на входе, число бит числа, <math>\ln N</math>). При сложности <math>O(L_N(1, \beta))</math> ему потребуется уже экспоненциальное время. Таким образом скорость роста функции <math>L_N(\alpha, \beta)</math> при <math>0 < \alpha < 1</math> лежит между полиномиальной и экспоненциальной. Поэтому про алгоритмы с такой сложностью говорят, что они требуют суб-экспоненциального времени[5].

Существует несколько методов факторизации числа <math>N = p * q</math> с простыми <math>p</math> и <math>q</math>. Некоторые из них:

  • Пробное деление — в этом алгоритме для всех простых чисел <math>p</math>, не превосходящих <math>\sqrt{N}</math>, проверяется условие <math>N / p \in \mathbb Z</math>. Такой алгоритм близок к полному перебору и имеет экспоненциальную сложность <math>O(L_N(1, 1))</math>.
  • Метод эллиптической кривой хорошо работает, если один из простых множителей <math>p</math> не превосходит <math>2^{50}</math>. Его сложность оценивается как <math>L_p(1 / 2, c)</math>.
  • Квадратичное решето, вероятно, наиболее быстрый способ разложения чисел, лежащих между <math>10^{80}</math> и <math>10^{100}</math>. Его сложность — <math>L_p(1 / 2, 1)</math>.
  • Квадратичное решето в числовом поле. В настоящее время это наиболее успешный метод для чисел, насчитывающих 100 и более десятичных знаков. С его помощью можно разлагать на множители числа до <math>10^{155}</math>, а его сложность оценивается как <math>L_N(1/3,\;(64/9)^{\frac{1}{3}})</math>[5].

Функция может быть обобщена на диапазон полупростых чисел. Заметим, что <math>f</math> не сможет быть односторонней для произвольных <math>p, q > 1</math>, так как их произведение с вероятностью ¾ имеет множитель 2.

Заметим, что факторизация с полиномиальной сложностью возможна на квантовом компьютере с помощью алгоритма Шора (класс BQP).

Возведение в квадрат и извлечение квадратного корня по модулю

Функция <math>f</math> принимает два целых числа: <math>x</math> и <math>N</math>, где <math>N</math> — произведение двух простых <math>p</math> и <math>q</math>. На выходе — остаток от деления <math>x^2</math> на <math>N</math>. Нахождение обратной функции требует вычисления квадратного корня по модулю <math>N</math>, то есть нахождения <math>x</math> если известно <math>y</math> и то, что <math>x^2 \bmod N = y</math>. Можно показать, что последняя задача вычислительно так же сложна, как и разложение <math>N</math> на множители.

Криптосистема Рабина основывается на предположении, что функция Рабина является односторонней.

Дискретное экспоненцирование и логарифмирование

Функция дискретного экспоненцирования <math>f</math> принимает в качестве аргументов простое число <math>p</math> и целое <math>x</math> в интервале от <math>0</math> до <math>p - 1</math> и возвращает остаток от деления некоторого <math>A^x</math> на <math>p</math>. Эта функция может быть легко вычислена за время <math>O</math><math>(n^3)</math>, где <math>n</math> — количество битов в <math>p</math>. Обращение этой функции требует вычисления дискретного логарифма по модулю <math>p</math>. Пусть <math>(G, *)</math> - конечная абелева группа, например мультипликативная группа конечного поля или эллиптическая кривая над конечным полем. Задача вычисления дискретных логарифмов состоит в определении целого числа <math>x</math>, которое при данных <math>A, B</math> удовлетворяет соотношению:

<math>A^x = B</math>

Для некоторых групп <math>G</math> такая задача довольно проста. Например, если <math>G</math> - группа целых чисел по модулю <math>N</math> по сложению. Для других групп, однако, эта задача более сложная. Например, в мультипликативной группе конечного поля, наилучший из известных алгоритмов, решающий задачу дискретного логарифмирования, - это метод квадратичного решета в числовом поле. Сложность вычисления дискретных логарифмов в этом случае оценивается как <math>L_N(1/3, c)</math>. Схема Эль-Гамаля основывается на этой задаче[6].

Для групп, подобных эллиптической кривой, задача дискретного логарифмирования еще более трудна. Наилучший из доступных на сегодняшний день методов, вычисляющих дискретные логарифмы над общей эллиптической кривой над полем <math>\mathbb F_q</math>, называется ρ-метод Полларда. Его сложность <math>O(L_N(1, 1/2))</math>. Это экспоненциальный алгоритм, поэтому криптосистемы, основанные на эллиптической кривой, как правило, работают с малым ключом, около 160 бит. В то время как системы, отталкивающиеся от разложения на множители или вычисления дискретных логарифмов в конечных полях, используют ключи в 1024 бита[6].

С задачей дискретного логарифмирования так же связано несколько близких задач. Пусть дана конечная абелева группа <math>(G, *)</math>:

  • Задача Диффи-Хеллмана, которая состоит в следующем: даны элементы <math>A \in G, B = A^x, C = A^y</math>. Требуется вычислить <math>D = A^{xy}</math>.
  • Задача выбора Диффи-Хеллмана. Дано: <math>A \in G, B = A^x, C = A^y, D = A^z</math>. Требуется определить, является ли <math>z</math> произведением <math>x</math> и <math>y</math>.

Можно показать, что задача выбора Диффи-Хеллмана не сложнее задачи Диффи-Хеллмана, а задача Диффи-Хеллмана не сложнее задачи вычисления дискретных логарифмов[6].

Криптографические хэш-функции

Существует множество криптографических хэш-функций (например, SHA-256), которые быстро вычисляются. Некоторые из более простых версий не проходили сложный анализ, но самые сильные версии продолжают предлагать быстрые практические решения для односторонних вычислений. Большая часть теоретической поддержки этих функций направлена на срыв некоторых из ранее проведенных успешных атак.

Другие претенденты

Другие претенденты в односторонние функции основываются на сложности декодирования случайных линейных кодов и иных задачах.

См. также

Напишите отзыв о статье "Односторонняя функция"

Примечания

  1. 1 2 Птицын, 2002, с. 38-39.
  2. Схема аутентификации.
  3. Hashcash - A Denial of Service Counter-Measure (2002)
  4. Russell Impagliazzo, Steven Rudich. [www.csie.ntu.edu.tw/~lyuu/theses/thesis_r88067.pdf Private Information Retrieval Does Not Imply One-way Permutations].
  5. 1 2 Смарт, 2005, с. 185-186.
  6. 1 2 3 Смарт, 2005, с. 187-188.

Ссылки

  • Oded Goldreich. Volume 1, Basic Tools // [www.wisdom.weizmann.ac.il/~oded/frag.html Foundations of Cryptography]. — Cambridge University Press, 2001. — ISBN 0-521-79172-3.
  • Jonathan Katz, Yehuda Lindell. Introduction to Modern Cryptography. — CRC Press, 2007. — ISBN 1-58488-551-3.
  • Michael Sipser. Section 10.6.3: One-way functions // Introduction to the Theory of Computation. — PWS Publishing, 1997. — P. 374—376. — ISBN 0-534-94728-X.
  • Christos Papadimitriou. Section 12.1: One-way functions // Computational Complexity. — 1st edition. — Addison Wesley, 1993. — P. 279—298. — ISBN 0-201-53082-1.
  • [nature.web.ru/db/msg.html?mid=1157083&uri=node14.html Глава 2.3. Односторонние функции] // [nature.web.ru/db/msg.html?mid=1157083&uri=book.html Введение в криптографию] / Под ред. В. В. Ященко.
  • Глава 2.5.2 Односторонняя функция // [www.reid.ru/books/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F%20%D0%B8%20%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F/spec.lit/spechran/136-140/spec139/Pticin%20N.%20Prilozhenie%20teorii%20determinirovannogo%20haosa%20v%20kriptografii.%20(2002).pdf Приложение теории детерминированного хаоса в криптографии] / Птицын Н. — 2002.
  • Глава 7.2 Односторонние функции // [ru.scribd.com/doc/38151420/%D0%A1%D0%BC%D0%B0%D1%80%D1%82-%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F-2005 Криптография] / Смарт Н. — 2005. — ISBN 5-94836-043-1.
  • [netcode.ru/cpp/?artID=4010 Глава 4.1 Односторонние функции] (рус.). Проверено 9 октября 2014.

Отрывок, характеризующий Односторонняя функция

«Господи Боже! Тот, Кто там в этом небе, спаси, прости и защити меня!» прошептал про себя Ростов.
Гусары подбежали к коноводам, голоса стали громче и спокойнее, носилки скрылись из глаз.
– Что, бг'ат, понюхал пог'оху?… – прокричал ему над ухом голос Васьки Денисова.
«Всё кончилось; но я трус, да, я трус», подумал Ростов и, тяжело вздыхая, взял из рук коновода своего отставившего ногу Грачика и стал садиться.
– Что это было, картечь? – спросил он у Денисова.
– Да еще какая! – прокричал Денисов. – Молодцами г'аботали! А г'абота сквег'ная! Атака – любезное дело, г'убай в песи, а тут, чог'т знает что, бьют как в мишень.
И Денисов отъехал к остановившейся недалеко от Ростова группе: полкового командира, Несвицкого, Жеркова и свитского офицера.
«Однако, кажется, никто не заметил», думал про себя Ростов. И действительно, никто ничего не заметил, потому что каждому было знакомо то чувство, которое испытал в первый раз необстреленный юнкер.
– Вот вам реляция и будет, – сказал Жерков, – глядишь, и меня в подпоручики произведут.
– Доложите князу, что я мост зажигал, – сказал полковник торжественно и весело.
– А коли про потерю спросят?
– Пустячок! – пробасил полковник, – два гусара ранено, и один наповал , – сказал он с видимою радостью, не в силах удержаться от счастливой улыбки, звучно отрубая красивое слово наповал .


Преследуемая стотысячною французскою армией под начальством Бонапарта, встречаемая враждебно расположенными жителями, не доверяя более своим союзникам, испытывая недостаток продовольствия и принужденная действовать вне всех предвидимых условий войны, русская тридцатипятитысячная армия, под начальством Кутузова, поспешно отступала вниз по Дунаю, останавливаясь там, где она бывала настигнута неприятелем, и отбиваясь ариергардными делами, лишь насколько это было нужно для того, чтоб отступать, не теряя тяжестей. Были дела при Ламбахе, Амштетене и Мельке; но, несмотря на храбрость и стойкость, признаваемую самим неприятелем, с которою дрались русские, последствием этих дел было только еще быстрейшее отступление. Австрийские войска, избежавшие плена под Ульмом и присоединившиеся к Кутузову у Браунау, отделились теперь от русской армии, и Кутузов был предоставлен только своим слабым, истощенным силам. Защищать более Вену нельзя было и думать. Вместо наступательной, глубоко обдуманной, по законам новой науки – стратегии, войны, план которой был передан Кутузову в его бытность в Вене австрийским гофкригсратом, единственная, почти недостижимая цель, представлявшаяся теперь Кутузову, состояла в том, чтобы, не погубив армии подобно Маку под Ульмом, соединиться с войсками, шедшими из России.
28 го октября Кутузов с армией перешел на левый берег Дуная и в первый раз остановился, положив Дунай между собой и главными силами французов. 30 го он атаковал находившуюся на левом берегу Дуная дивизию Мортье и разбил ее. В этом деле в первый раз взяты трофеи: знамя, орудия и два неприятельские генерала. В первый раз после двухнедельного отступления русские войска остановились и после борьбы не только удержали поле сражения, но прогнали французов. Несмотря на то, что войска были раздеты, изнурены, на одну треть ослаблены отсталыми, ранеными, убитыми и больными; несмотря на то, что на той стороне Дуная были оставлены больные и раненые с письмом Кутузова, поручавшим их человеколюбию неприятеля; несмотря на то, что большие госпитали и дома в Кремсе, обращенные в лазареты, не могли уже вмещать в себе всех больных и раненых, – несмотря на всё это, остановка при Кремсе и победа над Мортье значительно подняли дух войска. Во всей армии и в главной квартире ходили самые радостные, хотя и несправедливые слухи о мнимом приближении колонн из России, о какой то победе, одержанной австрийцами, и об отступлении испуганного Бонапарта.
Князь Андрей находился во время сражения при убитом в этом деле австрийском генерале Шмите. Под ним была ранена лошадь, и сам он был слегка оцарапан в руку пулей. В знак особой милости главнокомандующего он был послан с известием об этой победе к австрийскому двору, находившемуся уже не в Вене, которой угрожали французские войска, а в Брюнне. В ночь сражения, взволнованный, но не усталый(несмотря на свое несильное на вид сложение, князь Андрей мог переносить физическую усталость гораздо лучше самых сильных людей), верхом приехав с донесением от Дохтурова в Кремс к Кутузову, князь Андрей был в ту же ночь отправлен курьером в Брюнн. Отправление курьером, кроме наград, означало важный шаг к повышению.
Ночь была темная, звездная; дорога чернелась между белевшим снегом, выпавшим накануне, в день сражения. То перебирая впечатления прошедшего сражения, то радостно воображая впечатление, которое он произведет известием о победе, вспоминая проводы главнокомандующего и товарищей, князь Андрей скакал в почтовой бричке, испытывая чувство человека, долго ждавшего и, наконец, достигшего начала желаемого счастия. Как скоро он закрывал глаза, в ушах его раздавалась пальба ружей и орудий, которая сливалась со стуком колес и впечатлением победы. То ему начинало представляться, что русские бегут, что он сам убит; но он поспешно просыпался, со счастием как будто вновь узнавал, что ничего этого не было, и что, напротив, французы бежали. Он снова вспоминал все подробности победы, свое спокойное мужество во время сражения и, успокоившись, задремывал… После темной звездной ночи наступило яркое, веселое утро. Снег таял на солнце, лошади быстро скакали, и безразлично вправе и влеве проходили новые разнообразные леса, поля, деревни.
На одной из станций он обогнал обоз русских раненых. Русский офицер, ведший транспорт, развалясь на передней телеге, что то кричал, ругая грубыми словами солдата. В длинных немецких форшпанах тряслось по каменистой дороге по шести и более бледных, перевязанных и грязных раненых. Некоторые из них говорили (он слышал русский говор), другие ели хлеб, самые тяжелые молча, с кротким и болезненным детским участием, смотрели на скачущего мимо их курьера.
Князь Андрей велел остановиться и спросил у солдата, в каком деле ранены. «Позавчера на Дунаю», отвечал солдат. Князь Андрей достал кошелек и дал солдату три золотых.
– На всех, – прибавил он, обращаясь к подошедшему офицеру. – Поправляйтесь, ребята, – обратился он к солдатам, – еще дела много.
– Что, г. адъютант, какие новости? – спросил офицер, видимо желая разговориться.
– Хорошие! Вперед, – крикнул он ямщику и поскакал далее.
Уже было совсем темно, когда князь Андрей въехал в Брюнн и увидал себя окруженным высокими домами, огнями лавок, окон домов и фонарей, шумящими по мостовой красивыми экипажами и всею тою атмосферой большого оживленного города, которая всегда так привлекательна для военного человека после лагеря. Князь Андрей, несмотря на быструю езду и бессонную ночь, подъезжая ко дворцу, чувствовал себя еще более оживленным, чем накануне. Только глаза блестели лихорадочным блеском, и мысли изменялись с чрезвычайною быстротой и ясностью. Живо представились ему опять все подробности сражения уже не смутно, но определенно, в сжатом изложении, которое он в воображении делал императору Францу. Живо представились ему случайные вопросы, которые могли быть ему сделаны,и те ответы,которые он сделает на них.Он полагал,что его сейчас же представят императору. Но у большого подъезда дворца к нему выбежал чиновник и, узнав в нем курьера, проводил его на другой подъезд.
– Из коридора направо; там, Euer Hochgeboren, [Ваше высокородие,] найдете дежурного флигель адъютанта, – сказал ему чиновник. – Он проводит к военному министру.
Дежурный флигель адъютант, встретивший князя Андрея, попросил его подождать и пошел к военному министру. Через пять минут флигель адъютант вернулся и, особенно учтиво наклонясь и пропуская князя Андрея вперед себя, провел его через коридор в кабинет, где занимался военный министр. Флигель адъютант своею изысканною учтивостью, казалось, хотел оградить себя от попыток фамильярности русского адъютанта. Радостное чувство князя Андрея значительно ослабело, когда он подходил к двери кабинета военного министра. Он почувствовал себя оскорбленным, и чувство оскорбления перешло в то же мгновенье незаметно для него самого в чувство презрения, ни на чем не основанного. Находчивый же ум в то же мгновение подсказал ему ту точку зрения, с которой он имел право презирать и адъютанта и военного министра. «Им, должно быть, очень легко покажется одерживать победы, не нюхая пороха!» подумал он. Глаза его презрительно прищурились; он особенно медленно вошел в кабинет военного министра. Чувство это еще более усилилось, когда он увидал военного министра, сидевшего над большим столом и первые две минуты не обращавшего внимания на вошедшего. Военный министр опустил свою лысую, с седыми висками, голову между двух восковых свечей и читал, отмечая карандашом, бумаги. Он дочитывал, не поднимая головы, в то время как отворилась дверь и послышались шаги.
– Возьмите это и передайте, – сказал военный министр своему адъютанту, подавая бумаги и не обращая еще внимания на курьера.
Князь Андрей почувствовал, что либо из всех дел, занимавших военного министра, действия кутузовской армии менее всего могли его интересовать, либо нужно было это дать почувствовать русскому курьеру. «Но мне это совершенно всё равно», подумал он. Военный министр сдвинул остальные бумаги, сровнял их края с краями и поднял голову. У него была умная и характерная голова. Но в то же мгновение, как он обратился к князю Андрею, умное и твердое выражение лица военного министра, видимо, привычно и сознательно изменилось: на лице его остановилась глупая, притворная, не скрывающая своего притворства, улыбка человека, принимающего одного за другим много просителей.
– От генерала фельдмаршала Кутузова? – спросил он. – Надеюсь, хорошие вести? Было столкновение с Мортье? Победа? Пора!
Он взял депешу, которая была на его имя, и стал читать ее с грустным выражением.
– Ах, Боже мой! Боже мой! Шмит! – сказал он по немецки. – Какое несчастие, какое несчастие!
Пробежав депешу, он положил ее на стол и взглянул на князя Андрея, видимо, что то соображая.
– Ах, какое несчастие! Дело, вы говорите, решительное? Мортье не взят, однако. (Он подумал.) Очень рад, что вы привезли хорошие вести, хотя смерть Шмита есть дорогая плата за победу. Его величество, верно, пожелает вас видеть, но не нынче. Благодарю вас, отдохните. Завтра будьте на выходе после парада. Впрочем, я вам дам знать.
Исчезнувшая во время разговора глупая улыбка опять явилась на лице военного министра.
– До свидания, очень благодарю вас. Государь император, вероятно, пожелает вас видеть, – повторил он и наклонил голову.
Когда князь Андрей вышел из дворца, он почувствовал, что весь интерес и счастие, доставленные ему победой, оставлены им теперь и переданы в равнодушные руки военного министра и учтивого адъютанта. Весь склад мыслей его мгновенно изменился: сражение представилось ему давнишним, далеким воспоминанием.


Князь Андрей остановился в Брюнне у своего знакомого, русского дипломата .Билибина.
– А, милый князь, нет приятнее гостя, – сказал Билибин, выходя навстречу князю Андрею. – Франц, в мою спальню вещи князя! – обратился он к слуге, провожавшему Болконского. – Что, вестником победы? Прекрасно. А я сижу больной, как видите.
Князь Андрей, умывшись и одевшись, вышел в роскошный кабинет дипломата и сел за приготовленный обед. Билибин покойно уселся у камина.
Князь Андрей не только после своего путешествия, но и после всего похода, во время которого он был лишен всех удобств чистоты и изящества жизни, испытывал приятное чувство отдыха среди тех роскошных условий жизни, к которым он привык с детства. Кроме того ему было приятно после австрийского приема поговорить хоть не по русски (они говорили по французски), но с русским человеком, который, он предполагал, разделял общее русское отвращение (теперь особенно живо испытываемое) к австрийцам.
Билибин был человек лет тридцати пяти, холостой, одного общества с князем Андреем. Они были знакомы еще в Петербурге, но еще ближе познакомились в последний приезд князя Андрея в Вену вместе с Кутузовым. Как князь Андрей был молодой человек, обещающий пойти далеко на военном поприще, так, и еще более, обещал Билибин на дипломатическом. Он был еще молодой человек, но уже немолодой дипломат, так как он начал служить с шестнадцати лет, был в Париже, в Копенгагене и теперь в Вене занимал довольно значительное место. И канцлер и наш посланник в Вене знали его и дорожили им. Он был не из того большого количества дипломатов, которые обязаны иметь только отрицательные достоинства, не делать известных вещей и говорить по французски для того, чтобы быть очень хорошими дипломатами; он был один из тех дипломатов, которые любят и умеют работать, и, несмотря на свою лень, он иногда проводил ночи за письменным столом. Он работал одинаково хорошо, в чем бы ни состояла сущность работы. Его интересовал не вопрос «зачем?», а вопрос «как?». В чем состояло дипломатическое дело, ему было всё равно; но составить искусно, метко и изящно циркуляр, меморандум или донесение – в этом он находил большое удовольствие. Заслуги Билибина ценились, кроме письменных работ, еще и по его искусству обращаться и говорить в высших сферах.
Билибин любил разговор так же, как он любил работу, только тогда, когда разговор мог быть изящно остроумен. В обществе он постоянно выжидал случая сказать что нибудь замечательное и вступал в разговор не иначе, как при этих условиях. Разговор Билибина постоянно пересыпался оригинально остроумными, законченными фразами, имеющими общий интерес.
Эти фразы изготовлялись во внутренней лаборатории Билибина, как будто нарочно, портативного свойства, для того, чтобы ничтожные светские люди удобно могли запоминать их и переносить из гостиных в гостиные. И действительно, les mots de Bilibine se colportaient dans les salons de Vienne, [Отзывы Билибина расходились по венским гостиным] и часто имели влияние на так называемые важные дела.
Худое, истощенное, желтоватое лицо его было всё покрыто крупными морщинами, которые всегда казались так чистоплотно и старательно промыты, как кончики пальцев после бани. Движения этих морщин составляли главную игру его физиономии. То у него морщился лоб широкими складками, брови поднимались кверху, то брови спускались книзу, и у щек образовывались крупные морщины. Глубоко поставленные, небольшие глаза всегда смотрели прямо и весело.
– Ну, теперь расскажите нам ваши подвиги, – сказал он.
Болконский самым скромным образом, ни разу не упоминая о себе, рассказал дело и прием военного министра.
– Ils m'ont recu avec ma nouvelle, comme un chien dans un jeu de quilles, [Они приняли меня с этою вестью, как принимают собаку, когда она мешает игре в кегли,] – заключил он.
Билибин усмехнулся и распустил складки кожи.
– Cependant, mon cher, – сказал он, рассматривая издалека свой ноготь и подбирая кожу над левым глазом, – malgre la haute estime que je professe pour le православное российское воинство, j'avoue que votre victoire n'est pas des plus victorieuses. [Однако, мой милый, при всем моем уважении к православному российскому воинству, я полагаю, что победа ваша не из самых блестящих.]
Он продолжал всё так же на французском языке, произнося по русски только те слова, которые он презрительно хотел подчеркнуть.
– Как же? Вы со всею массой своею обрушились на несчастного Мортье при одной дивизии, и этот Мортье уходит у вас между рук? Где же победа?
– Однако, серьезно говоря, – отвечал князь Андрей, – всё таки мы можем сказать без хвастовства, что это немного получше Ульма…
– Отчего вы не взяли нам одного, хоть одного маршала?
– Оттого, что не всё делается, как предполагается, и не так регулярно, как на параде. Мы полагали, как я вам говорил, зайти в тыл к семи часам утра, а не пришли и к пяти вечера.
– Отчего же вы не пришли к семи часам утра? Вам надо было притти в семь часов утра, – улыбаясь сказал Билибин, – надо было притти в семь часов утра.
– Отчего вы не внушили Бонапарту дипломатическим путем, что ему лучше оставить Геную? – тем же тоном сказал князь Андрей.
– Я знаю, – перебил Билибин, – вы думаете, что очень легко брать маршалов, сидя на диване перед камином. Это правда, а всё таки, зачем вы его не взяли? И не удивляйтесь, что не только военный министр, но и августейший император и король Франц не будут очень осчастливлены вашей победой; да и я, несчастный секретарь русского посольства, не чувствую никакой потребности в знак радости дать моему Францу талер и отпустить его с своей Liebchen [милой] на Пратер… Правда, здесь нет Пратера.