N-Hash

Поделись знанием:
Перейти к: навигация, поиск
Криптографическая</br>хеш-функция
Название

N-Hash

Создан

1990

Опубликован

1990

Размер хеша

128 бит

Число раундов

12 или 15

Тип

хеш-функция

N-Hash — криптографическая хеш-функция на основе циклической функции FEAL. В настоящее время считается небезопасной[1].

Была разработана в 1990 году фирмой Nippon Telegraph and Telephone (также разработавшей FEAL).

Изначально, функция N-Hash была предназначена для того, чтобы решить проблему подмены информации на пути между двумя пользователями телефонной связи (Nippon Telegraph and Telephone — телекоммуникационная компания) и ускорить поиск данных. Например, если человек посылает смс-сообщение, то перед доставкой оно будет проверено на подлинность с помощью хеш-функции. А если пользователю продукции Nippon Telegraph and Telephone надо быстро найти в телефоне чей-либо контакт, то с помощью N-Hash можно упростить процесс поиска имени в списке. Это осуществляется благодаря тому, что хеш-кодом (маленькой по объёму определяющей частью контакта) имени объявляется первая буква контакта.





История возникновения

В основе алгоритма N-Hash лежит блочный алгоритм шифрования FEAL. Крупнейшая телекоммуникационная компания Nippon Telegraph and Telephone создала FEAL на основе DES. Но хотя этот алгоритм и выигрывает в быстродействии у DES, он является очень ненадежным и легко уязвимым: криптоаналитику требовалось очень мало информации, чтобы взломать алгоритм. Именно взлом алгоритма FEAL повлек за собой появление хеш-функции N-Hash в 1990 году. N-Hash также выигрывает в скорости у DES: по сравнению с 9 Кбит/сек у DES, N-Hash работает со скоростью 24 Кбит/сек для 15-раундовой схемы и со скоростью 29 Кбит/сек для 12-раундовой. При этом Nippon Telegraph and Telephone добилась повышения надёжности по сравнению с FEAL[1].

В течение некоторого времени алгоритм N-Hash использовался фирмой Nippon Telegraph and Telephone в соответствии с целями данной функции, но через некоторое время был разработан метод дней рождения, который с лёгкостью взламывал этот алгоритм. В связи со взломом отказались не только от N-Hash, но и почти от всех функций, основанных на блочных шифрах, так как для всех них характерна одна и та же проблема: они легко уязвимы методом дней рождения. Вместо них теперь используют более надежные функции, основанные на MD — технологиях: MD5, SHA-1 и другие, приведенные в списке функций, которые на данный момент считаются надежными (согласно стандарту ISO/IEC 10118).

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

Функция N-Hash использовалась в течение недолгого времени в начале 1990-х годов, пока не была взломана методом дней рождения.

  • N-Hash предназначалась для решения проблемы подмены данных:
    • Для современного человека эта проблема может легко быть описана на примере взаимодействия человека и интернет-магазина. Когда пользователь заказывает какой-нибудь товар в интернет-магазине, то магазин присылает ему номер заказа, сумму платежа и т. д. Далее, когда пользователь пытается оплатить заказ с помощью, например, Webmoney, то Webmoney вычисляет хеш-код полученного сообщения и сравнивает его с хеш-кодом, полученным от интернет-магазина. Если эти хеш-коды совпадают, то информация, присланная пользователем, правдива. Если не совпадают, то информация определяется как ложная и платеж не проходит.
  • Другой вариант использования прост: упорядочивание контактов в мобильном телефоне по алфавиту и поиск контакта по первой букве. Хеш-кодом имени выбирается первая буква этого имени, следовательно, когда человек нажимает некоторую букву в своем телефоне, то ищется хеш-код, который совпадает с этой буквой и на экран выводятся контакты, начинающиеся с неё.

Особенности N-Hash

Однонаправленность

Определение: Пусть <math>M</math> — сообщение некоторой длины.

Функция <math>H</math> называется однонаправленной, если из равенства <math>h=H(M)</math>

легко:

  • найти хеш-код <math>h</math>, зная сообщение <math>M</math>

очень трудоёмко:

  • найти сообщение <math>M</math> по известному хеш-коду <math>h</math> (т. е. если хеш-код пароля стал известен хакеру, то пароль он по нему не найдет);
  • найти отличное от <math>M</math> сообщение <math>M'</math>, такое что их хеш-коды <math>H(M')=H(M)</math> совпадают.

Проще определение можно записать так:

Однонаправленность — это «отпечаток пальца»:

  • Если дан конкретный человек, то можно взять у него отпечаток пальца;
  • Невозможно найти человека по отпечатку его пальца (если нет базы данных с отпечатками пальцев всех людей, а её нет);
  • Невозможно найти второго человека с таким же как у другого отпечатком пальца.

Однонаправленность решает очень важную проблему. Рассмотрим её на примере.

Алиса и Боб традиционно обозначают субъектов передачи информации.
Примеры
  • Допустим, Алиса подписала контракт <math>M</math> с известным Алисе и Бобу хеш-кодом <math>h=H(M)</math>. Если бы <math>H</math> была неоднонаправленная, то Боб мог бы найти такой другой контракт <math>M'</math>, что <math>H(M')=H(M)</math> и, значит, смог бы утверждать, что Алиса подписала <math>M'</math>.
  • Допустим, Алиса имеет один и тот же отпечаток пальца h с каким-нибудь преступником, тогда Боб смог бы утверждать, что этот преступник — Алиса.

Устойчивость к столкновениям

Чтобы предотвратить возможность Алисы использовать метод «дней рождения» для обмана Боба, очень удобно ввести ещё более сильное условие, чем условие однонаправленности. H такова, что трудно найти сообщения <math>M</math> и <math>M'</math>, такие что их хеш-коды <math>H(M)=H(M')</math> совпадают. То есть невозможно найти двух человек с одинаковыми отпечатками пальцев.

Данное условие называется устойчивостью к столкновениям и для хеш-функции N-Hash оно не выполняется.

По причине неустойчивости к столкновениям Алиса может обмануть Боба таким образом (метод «дней рождения»):

  • Алиса пишет две версии контракта: одна из них выгодна для Боба, а другая нет;
  • Внося небольшие изменения в каждый контракт (например, пробел заменяет на два пробела), она добьется того, что версий контрактов будет достаточно много для подбора <math>M</math> и <math>M'</math>, для которых совпадают хеш-коды (версия <math>M</math> выгодна Бобу, а <math>M'</math> — нет) (если в контракте 34 строки, то, внося или не внося изменения в каждую из строк, легко получить <math>2^{34}</math> версий контрактов);
  • Теперь Алиса сможет доказать, что Боб подписал <math>M'</math>.

Для того, чтобы избежать подобной проблемы, достаточно вносить косметические изменения в подписываемый контракт. И хотя это действие никак не изменяет хеш-функцию H, а, значит, никак не влияет на её устойчивость к столкновениям, но человек этим действием получит новую версию контракта, хеш-код которого не совпадает с хеш-кодом версии контракта злоумышленника. То есть, если Боб в 5-й строке поставит в каком-нибудь месте запятую, или поставит две точки вместо одной, то Алиса не сможет доказать, что он подписал другой контракт (так как его хеш-код уже не совпадает с хеш-кодом контракта Алисы).

Можно рассмотреть жизненный пример: когда нотариус ставит печать в подписываемый контракт, он вносит туда косметические изменения.

Цели N-Hash

Для того, чтобы понять как работает функция N-Hash, необходимо перейти на более научную речь. Ниже приведены цели данной функции не на примерах, а в соответствии с тем, как они осуществляются и с соответствующей терминологией.

  • Обеспечение целостности информации[1]:

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

<math>M_{new}=M+salt</math>, где salt — избыточная информация, M — сообщение <math>H(salt)=S</math>- контрольная сумма;

Из формулы следует, что если меняется salt, то меняется и S (контрольная сумма), а значит изменялось и <math>M_{new}</math> и <math>M</math>.

То есть можно сделать вывод, что была добавлена ложная информация.

Функция N-Hash работает с сообщениями M произвольной длины. При этом на выходе получается хеш-код фиксированной длины в 128 бит. Это получается за счет того, что сообщение делится на блоки <math>M_{i}</math>, размером 128 бит, и алгоритм работает последовательно с каждым из блоков.

Данное свойство выполняется для однонаправленных функций, какой и является N-Hash. Достоверность сообщения M проверяется путём нахождения конечного хеш-кода (дайджеста сообщения) дважды (отсылающая и принимающая стороны). Результаты сравниваются и, если они совпадают, то информация достоверна. Целостность не гарантирует достоверность.

  • Обеспечение конфиденциальности:

на сайтах, где нужно вводить логин и пароль, пароль после ввода переводится в хеш-код. То есть изначально пользователь вводит пароль M, но для входа в защищённую область используется хеш-код <math>h=H(M)</math>. По известному хеш-коду h и функции H вычислить M очень трудно, чем и обеспечивается конфиденциальность пароля.

Аутентификация — это процедура проверки подлинности пользователя или данных при помощи некоторого критерия.

Возникает вопрос, как хеш-функция обеспечивает правдивость аутентификации. Это легко показать на примере.

Когда пользователь вводит логин и пароль на каком-либо сайте, его пароль преобразуется в хеш-код и передается по сети для аутентификации. Очевидно, что для того чтобы войти под чужую учётную запись достаточно выяснить хеш-код пароля, а затем по формуле <math>h=H(M)</math> (h-хеш-код, M — пароль) найти пароль. Но N-Hash, являющаяся однонаправленной функцией, обеспечивает сохранность пароля, так как это уравнение для однонаправленных функций решается очень трудоёмко (не с помощью персонального компьютера).

Алгоритм

Алгоритм N-Hash основан на циклическом повторении (12 или 15 раз — число раундов) операций. На входе имеется хеш-код <math>h_{0}</math> и он может быть произвольным, на выходе получается хеш-код h сообщения M, которое необходимо хешировать. При этом размер выходящего хеш-кода фиксирован и равен 128 бит, тогда как размер M произволен[2].

Основные обозначения

  • <math>M</math> — сообщение, которое необходимо хешировать;
  • <math>M_{i}</math> — блок сообщения длиной 128 бит. Для того, чтобы хешировать сообщение <math>M</math> необходимо поделить его на блоки <math>M_{i}</math>;
  • <math>h_{i}</math> — хеш-код i-го шага;
  • <math>\nu=1010...1010</math> — константа, длиной 128 бит;
  • <math>||</math> — конкатенация;
  • <math>V_{j}=\delta||A_{j1}||\delta||A_{j2}||\delta||A_{j3}||\delta||A_{j4}||</math>, где <math>A_{jk}=4*(j-1)+k</math>, где k=1, 2, 3, 4; <math>\delta=00..00</math>, длиной 24 бит;
  • EXG — функция, которая меняет местами старшие и младшие разряды (64 младших и 64 старших);
  • PS — преобразующая функция;

Описание алгоритма

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

  • Покоординатное (попарное) суммирование означает сложение по модулю 2;
  • Если x поступает на вход функции f, то на выходе получается f(x).

Один цикл работы N-Hash

Ниже представлен один цикл работы алгоритма N-Hash.

  • На вход функции g подается хеш-код (i-1)-го шага <math>h_{i-1}</math> и i-й блок сообщения <math>M_{i}</math>. При этом <math>h_{0}</math> выбирается произвольно: например, он может быть нулевым. А также <math>h_{i-1}</math> подается на выход на операцию сложения по модулю 2, то есть результат (хеш-код следующего шага) будет выглядеть так: <math>h_{i-1}\oplus</math>(нечто пока неизвестное).
  • Из схемы видно, что <math>M_{i}</math> подается не только на XOR, но и на выход на операцию сложения по модулю 2. То есть теперь в соответствии с первым пунктом результат выглядит таким образом: <math>h_{i-1}\oplus M_{i}</math>(оставшееся пока неизвестным нечто).

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

  • Функция EXG меняет местами старшие и младшие разряды <math>h_{i-1}</math> и прибавляет к результату <math>\nu</math>, после чего результат складывает по модулю 2 с <math>M_{i}</math>.
  • Как видно из схемы, результат подается последовательно на входы j преобразующих функций, вторым аргументом которых является сумма <math>h_{i-1}\oplus V_{j}</math>, где j=1, … , 8.
  • В результате получается хеш-код i-го шага <math>h_{i}</math>:

<math>h_{i}=M_{i}\oplus g(M_{i}, h_{i-1})\oplus h_{i-1}</math>.

Преобразующая функция

Возникает вопрос, как действует преобразующая функция <math>PS(X, P)</math>.

Рассмотрим верхнюю часть схемы до перекрестья.

Исходное сообщение <math>X</math> разбивается на блоки по <math>128/4=32</math> бита.

Будем считать промежуточными выходами входы в нижнюю часть схемы. <math>X_{1}</math> и <math>X_{2}</math> подаются на промежуточные выходы, а на два других выхода подаются операции <math>f(X_{1}, P_{1})\oplus X_{2}\oplus X_{4}</math> и <math>f[f(X_{1}, P_{1})\oplus X_{2}, P_{2}]\oplus X_{1}\oplus X_{3}</math>. Теперь можно результаты на промежуточных выходах переобозначить и через них, аналогично верхней части, найти результаты на выходе нижней части, то есть и всей схемы в целом.

Сделав все необходимые вычисления, получим, что при подаче на вход <math>{X=X_{1}\parallel X_{2}\parallel X_{3}\parallel X_{4}}</math> сообщение на выходе <math>{Y=Y_{1}\parallel Y_{2}\parallel Y_{3}\parallel Y_{4}}</math> можно представить как конкатенацию сообщений

  • <math>{Y_{4}=X_{2}\oplus X_{4}\oplus f(X_{1}, P_{1})}</math>;
  • <math>{Y_{3}=f[f(X_{1}, P_{1})\oplus X_{2}, P_{2}]\oplus X_{1}\oplus X_{3}}</math>;
  • <math>{Y_{2}=X_{2}\oplus Y_{4}\oplus f(Y_{3}, P_{3})}</math>;
  • <math>{Y_{1}=f[f(Y_{3}, P_{3})\oplus Y_{4}, P_{4}]\oplus X_{1}\oplus Y_{3}}</math>.

Поиск функции f(x, P)

Так как функция f работает с аргументами, длина которых составляет 32 бит, то из схемы поиска функции f(x, P) имеем:

  • Величину <math>x\oplus P</math> разбиваем на части по 8 бит.
  • Запишем эти части как <math>x_{i}\oplus P_{i}</math>, i=1,…,4 и введёт новые обозначения:
    • <math>{Z_{1}=x_{1}\oplus P_{1}}</math>;
    • <math>{Z_{2}=x_{2}\oplus P_{2}}</math>;
    • <math>{Z_{3}=x_{3}\oplus P_{3}}</math>;
    • <math>{Z_{4}=x_{4}\oplus P_{4}}</math>;

Аргументами функции <math>{S_{0}}</math> (первая стрелка слева) являются <math>Z_{1}</math> и <math>{S_{1}[Z_{1}\oplus Z_{2}, Z_{3}\oplus Z_{4}]}</math>.

Аргументами функции <math>{S_{1}}</math> (вторая стрелка слева) являются <math>{Z_{1}\oplus Z_{2}}</math> и <math>{Z_{3}\oplus Z_{4}}</math>.

То есть две составляющие части из сообщения на выходе уже известны и равны

    • <math>{A_{1}=S_{0}(Z_{1}, S_{1}[Z_{1}\oplus Z_{2},Z_{3}\oplus Z_{4}])}</math>;
    • <math>{A_{2}=S_{1}[Z_{1}\oplus Z_{2}, Z_{3}\oplus Z_{4}]}</math>;

Далее будем пользоваться уже полученными оставляющими частями сообщения на выходе для удобства записи:

    • <math>{A_{3}=S_{0}[S_{0}[Z_{3}\oplus Z_{4}), A_{2}]}</math>;
    • <math>{~A_{4}=S_{1}[Z_{4}, A_{3}]}</math>;
  • Тогда сообщение на выходе можно представить в виде <math>{A=A_{1}||A_{2}||A_{3}||A_{4}}</math>.
  • Причём известно, что
    • <math>{S_{0}}</math>=(левый циклический сдвиг на 2 бита)(a+b) mod 256
    • <math>{S_{1}}</math>=(левый циклический сдвиг на 2 бита)(a+b+1) mod 256

Безопасность хеш-функций

Хеш-функция является безопасной в случае, когда криптоаналитику требуется очень много информации, для того чтобы взломать данную хеш-функцию (что делает взлом маловероятным) и если хеш-функция не взломана к данному времени[3].

Для того, чтобы хеш-функция была безопасной, необходимо, чтобы выполнялись условия:

  • При изменениях в тексте сообщения <math>M</math> (вставки, перестановки и т. д.) должен меняться и хеш-код сообщения;

Иначе человек, который вводит свои логин и пароль для входа в Википедию, мог бы попасть на страницу другого участника.

  • Невозможность нахождения сообщения <math>M</math> по известному хеш-коду <math>h</math> из <math>h=H(M)</math>;

Если данное условие не выполняется, то это делает возможным нахождение паролей пользователей Википедии.

  • Задача нахождения сообщений <math>M_{1}</math> и <math>M_{2}</math>, таких что их хеш-коды равны <math>h_{1}=h_{2}</math> должна быть очень трудоёмкой.

Иначе, можно было бы найти два пароля с одинаковыми хеш-кодами.

N-Hash не является безопасной функцией, так как для неё не выполнено последнее условие.

Криптоанализ N-Hash

В настоящее время N-Hash считается небезопасной функцией. На данном рисунке указаны все безопасные однонаправленные функции на данный момент согласно стандарту ISO/IEC 10118[1]:

Из алгоритмов, построенных как и N-Hash на основе блочных шифров, безопасными считаются только MDC-2 и MDC-4.

Для N-Hash характерна следующая проблема:

  • Так как длина хеш-кода равна длине блока алгоритма шифрования, то алгоритм нестоек перед атакой методом «дней рождения».

Атаки на хеш-функции

На данном рисунке приведена классификация атак на все алгоритмы хеширования в целом.

Атаки, зависящие от алгоритма, являются атаками, основанными на свойствах конкретного алгоритма.

Например, N-Hash успешно атакуют с помощью дифференциального метода, атакой с фиксированной точкой и встречей посередине.

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

Действенные атаки на N-Hash

Атаки, базирующиеся на уязвимости алгоритма
Дифференциальный метод

Ден Бур предложил способ построения коллизии для однораундовой схемы N-Hash.

Бихам и Шамир успешно применили метод дифференциального криптоанализа для компрометации 6-раундовой схемы N-Hash. Предложенный ими способ построения коллизии срабатывает для любого значения N кратного трём и при этом для N ≤ 12 он оказывается эффективнее подхода, основанного на парадоксе дней рождения.

Для 12-раундовой схемы сложность построения коллизий предложенным методом оценивается величиной 256 операций (трудоёмкость метода, основанного на парадоксе дней рождения — 264 операций).

Атаки, не зависящие от алгоритма

Увеличение длины хеш-кода и секретного ключа усложнит работу криптоаналитика. Можно попытаться сделать вычисления слишком трудоёмкими для персонального компьютера и требующими больших ресурсов. Тогда криптоаналитику надо будет или искать суперкомпьютер, или написать вирус, который на основе распараллеливания процесса взлома хеш-функции будет использовать сразу несколько персональных компьютеров для решения проблемы[3].

Также действенны такие методы защиты хеш-функции[4]:

  • использование контрольных сумм на разных этапах хеширования;
  • проверка на достоверность информации;
  • внедрение в сообщение информации типа salt.

Итоги

  • В настоящее время N-Hash мало распространён, так как не является безопасным и взломан более 10 лет назад.
  • Теперь для хеш-функций типа N-Hash существует специальное название — ключевые, то есть однонаправленные, но не устойчивые к столкновениям:
    • Если стороны доверяют друг другу (то есть каждая из сторон уверена, что другая не станет подменять контракт как в случае с Алисой и Бобом), то можно использовать N-Hash.

Сравнение N-Hash с другими хеш-функциями

Алгоритм Длина хеш-значения Скорость шифрования (Кбайт/сек)
Одновременная схема Davies-Meyer (c IDEA) 128 22
Davies-Meyer (с DES) 64 9
Хеш-функция ГОСТ 256 11
HAVAL (3 подхода) переменная 168
HAVAL (4 подхода) переменная 118
HAVAL (5 подходов) переменная 98
MD2 128 23
MD4 128 236
MD5 128 174
N-Hash (12 этапов) 128 29
N-Hash (15 этапов) 128 24
RIPE-MD 128 182
SHA-1 160 75
Snefru (4 прохода) 128 48
Snefru (8 подходов) 128 23

Напишите отзыв о статье "N-Hash"

Примечания

  1. 1 2 3 4 5 [www.cryptomach.com/get.php?lang=ru&catid=107&pageid=112 Хэш-функции](недоступная ссылка — история). Криптомаш. Проверено 27 ноября 2008.
  2. Брюс Шнайер. [www.ssl.stu.neva.ru/psw/crypto/appl_rus/ac_18_20.pdf Глава 18. Однонаправленные хэш-функции] // [www.ssl.stu.neva.ru/psw/crypto/appl_rus/appl_cryp.htm Прикладная криптография]. — 2-е изд.
  3. 1 2 [offline.cio-world.ru/2005/37/38930/ Основной вопрос криптографии] // CIO : журнал. — 17 мая 2005. — № 5.
  4. [www.cryptomach.com/get.php?lang=ru&catid=107&pageid=121 Криптоанализ хеш-функций](недоступная ссылка — история). Криптомаш. Проверено 27 ноября 2008.

См. также

Ссылки

  • [pmg.org.ru/ai/hash.htm Современное хеширование]
  • [web-protect.net/ecp.htm Аутентификация данных и электронная цифровая подпись]

Литература

  • А. Щербаков, А. Домашев. Прикладная криптография. — М.: Русская Редакция, 2003. — 404 с. — ISBN 5-7502-0215-1.
  • Брюс Шнайер. Прикладная криптография. — 2-е изд. — М.: Триумф, 2002. — 816 с.

Отрывок, характеризующий N-Hash

Ростов увидал отвозимых пленных и поскакал за ними, чтобы посмотреть своего француза с дырочкой на подбородке. Он в своем странном мундире сидел на заводной гусарской лошади и беспокойно оглядывался вокруг себя. Рана его на руке была почти не рана. Он притворно улыбнулся Ростову и помахал ему рукой, в виде приветствия. Ростову все так же было неловко и чего то совестно.
Весь этот и следующий день друзья и товарищи Ростова замечали, что он не скучен, не сердит, но молчалив, задумчив и сосредоточен. Он неохотно пил, старался оставаться один и о чем то все думал.
Ростов все думал об этом своем блестящем подвиге, который, к удивлению его, приобрел ему Георгиевский крест и даже сделал ему репутацию храбреца, – и никак не мог понять чего то. «Так и они еще больше нашего боятся! – думал он. – Так только то и есть всего, то, что называется геройством? И разве я это делал для отечества? И в чем он виноват с своей дырочкой и голубыми глазами? А как он испугался! Он думал, что я убью его. За что ж мне убивать его? У меня рука дрогнула. А мне дали Георгиевский крест. Ничего, ничего не понимаю!»
Но пока Николай перерабатывал в себе эти вопросы и все таки не дал себе ясного отчета в том, что так смутило его, колесо счастья по службе, как это часто бывает, повернулось в его пользу. Его выдвинули вперед после Островненского дела, дали ему батальон гусаров и, когда нужно было употребить храброго офицера, давали ему поручения.


Получив известие о болезни Наташи, графиня, еще не совсем здоровая и слабая, с Петей и со всем домом приехала в Москву, и все семейство Ростовых перебралось от Марьи Дмитриевны в свой дом и совсем поселилось в Москве.
Болезнь Наташи была так серьезна, что, к счастию ее и к счастию родных, мысль о всем том, что было причиной ее болезни, ее поступок и разрыв с женихом перешли на второй план. Она была так больна, что нельзя было думать о том, насколько она была виновата во всем случившемся, тогда как она не ела, не спала, заметно худела, кашляла и была, как давали чувствовать доктора, в опасности. Надо было думать только о том, чтобы помочь ей. Доктора ездили к Наташе и отдельно и консилиумами, говорили много по французски, по немецки и по латыни, осуждали один другого, прописывали самые разнообразные лекарства от всех им известных болезней; но ни одному из них не приходила в голову та простая мысль, что им не может быть известна та болезнь, которой страдала Наташа, как не может быть известна ни одна болезнь, которой одержим живой человек: ибо каждый живой человек имеет свои особенности и всегда имеет особенную и свою новую, сложную, неизвестную медицине болезнь, не болезнь легких, печени, кожи, сердца, нервов и т. д., записанных в медицине, но болезнь, состоящую из одного из бесчисленных соединений в страданиях этих органов. Эта простая мысль не могла приходить докторам (так же, как не может прийти колдуну мысль, что он не может колдовать) потому, что их дело жизни состояло в том, чтобы лечить, потому, что за то они получали деньги, и потому, что на это дело они потратили лучшие годы своей жизни. Но главное – мысль эта не могла прийти докторам потому, что они видели, что они несомненно полезны, и были действительно полезны для всех домашних Ростовых. Они были полезны не потому, что заставляли проглатывать больную большей частью вредные вещества (вред этот был мало чувствителен, потому что вредные вещества давались в малом количестве), но они полезны, необходимы, неизбежны были (причина – почему всегда есть и будут мнимые излечители, ворожеи, гомеопаты и аллопаты) потому, что они удовлетворяли нравственной потребности больной и людей, любящих больную. Они удовлетворяли той вечной человеческой потребности надежды на облегчение, потребности сочувствия и деятельности, которые испытывает человек во время страдания. Они удовлетворяли той вечной, человеческой – заметной в ребенке в самой первобытной форме – потребности потереть то место, которое ушиблено. Ребенок убьется и тотчас же бежит в руки матери, няньки для того, чтобы ему поцеловали и потерли больное место, и ему делается легче, когда больное место потрут или поцелуют. Ребенок не верит, чтобы у сильнейших и мудрейших его не было средств помочь его боли. И надежда на облегчение и выражение сочувствия в то время, как мать трет его шишку, утешают его. Доктора для Наташи были полезны тем, что они целовали и терли бобо, уверяя, что сейчас пройдет, ежели кучер съездит в арбатскую аптеку и возьмет на рубль семь гривен порошков и пилюль в хорошенькой коробочке и ежели порошки эти непременно через два часа, никак не больше и не меньше, будет в отварной воде принимать больная.
Что же бы делали Соня, граф и графиня, как бы они смотрели на слабую, тающую Наташу, ничего не предпринимая, ежели бы не было этих пилюль по часам, питья тепленького, куриной котлетки и всех подробностей жизни, предписанных доктором, соблюдать которые составляло занятие и утешение для окружающих? Чем строже и сложнее были эти правила, тем утешительнее было для окружающих дело. Как бы переносил граф болезнь своей любимой дочери, ежели бы он не знал, что ему стоила тысячи рублей болезнь Наташи и что он не пожалеет еще тысяч, чтобы сделать ей пользу: ежели бы он не знал, что, ежели она не поправится, он не пожалеет еще тысяч и повезет ее за границу и там сделает консилиумы; ежели бы он не имел возможности рассказывать подробности о том, как Метивье и Феллер не поняли, а Фриз понял, и Мудров еще лучше определил болезнь? Что бы делала графиня, ежели бы она не могла иногда ссориться с больной Наташей за то, что она не вполне соблюдает предписаний доктора?
– Эдак никогда не выздоровеешь, – говорила она, за досадой забывая свое горе, – ежели ты не будешь слушаться доктора и не вовремя принимать лекарство! Ведь нельзя шутить этим, когда у тебя может сделаться пневмония, – говорила графиня, и в произношении этого непонятного не для нее одной слова, она уже находила большое утешение. Что бы делала Соня, ежели бы у ней не было радостного сознания того, что она не раздевалась три ночи первое время для того, чтобы быть наготове исполнять в точности все предписания доктора, и что она теперь не спит ночи, для того чтобы не пропустить часы, в которые надо давать маловредные пилюли из золотой коробочки? Даже самой Наташе, которая хотя и говорила, что никакие лекарства не вылечат ее и что все это глупости, – и ей было радостно видеть, что для нее делали так много пожертвований, что ей надо было в известные часы принимать лекарства, и даже ей радостно было то, что она, пренебрегая исполнением предписанного, могла показывать, что она не верит в лечение и не дорожит своей жизнью.
Доктор ездил каждый день, щупал пульс, смотрел язык и, не обращая внимания на ее убитое лицо, шутил с ней. Но зато, когда он выходил в другую комнату, графиня поспешно выходила за ним, и он, принимая серьезный вид и покачивая задумчиво головой, говорил, что, хотя и есть опасность, он надеется на действие этого последнего лекарства, и что надо ждать и посмотреть; что болезнь больше нравственная, но…
Графиня, стараясь скрыть этот поступок от себя и от доктора, всовывала ему в руку золотой и всякий раз с успокоенным сердцем возвращалась к больной.
Признаки болезни Наташи состояли в том, что она мало ела, мало спала, кашляла и никогда не оживлялась. Доктора говорили, что больную нельзя оставлять без медицинской помощи, и поэтому в душном воздухе держали ее в городе. И лето 1812 года Ростовы не уезжали в деревню.
Несмотря на большое количество проглоченных пилюль, капель и порошков из баночек и коробочек, из которых madame Schoss, охотница до этих вещиц, собрала большую коллекцию, несмотря на отсутствие привычной деревенской жизни, молодость брала свое: горе Наташи начало покрываться слоем впечатлений прожитой жизни, оно перестало такой мучительной болью лежать ей на сердце, начинало становиться прошедшим, и Наташа стала физически оправляться.


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


В начале июля в Москве распространялись все более и более тревожные слухи о ходе войны: говорили о воззвании государя к народу, о приезде самого государя из армии в Москву. И так как до 11 го июля манифест и воззвание не были получены, то о них и о положении России ходили преувеличенные слухи. Говорили, что государь уезжает потому, что армия в опасности, говорили, что Смоленск сдан, что у Наполеона миллион войска и что только чудо может спасти Россию.
11 го июля, в субботу, был получен манифест, но еще не напечатан; и Пьер, бывший у Ростовых, обещал на другой день, в воскресенье, приехать обедать и привезти манифест и воззвание, которые он достанет у графа Растопчина.
В это воскресенье Ростовы, по обыкновению, поехали к обедне в домовую церковь Разумовских. Был жаркий июльский день. Уже в десять часов, когда Ростовы выходили из кареты перед церковью, в жарком воздухе, в криках разносчиков, в ярких и светлых летних платьях толпы, в запыленных листьях дерев бульвара, в звуках музыки и белых панталонах прошедшего на развод батальона, в громе мостовой и ярком блеске жаркого солнца было то летнее томление, довольство и недовольство настоящим, которое особенно резко чувствуется в ясный жаркий день в городе. В церкви Разумовских была вся знать московская, все знакомые Ростовых (в этот год, как бы ожидая чего то, очень много богатых семей, обыкновенно разъезжающихся по деревням, остались в городе). Проходя позади ливрейного лакея, раздвигавшего толпу подле матери, Наташа услыхала голос молодого человека, слишком громким шепотом говорившего о ней:
– Это Ростова, та самая…
– Как похудела, а все таки хороша!
Она слышала, или ей показалось, что были упомянуты имена Курагина и Болконского. Впрочем, ей всегда это казалось. Ей всегда казалось, что все, глядя на нее, только и думают о том, что с ней случилось. Страдая и замирая в душе, как всегда в толпе, Наташа шла в своем лиловом шелковом с черными кружевами платье так, как умеют ходить женщины, – тем спокойнее и величавее, чем больнее и стыднее у ней было на душе. Она знала и не ошибалась, что она хороша, но это теперь не радовало ее, как прежде. Напротив, это мучило ее больше всего в последнее время и в особенности в этот яркий, жаркий летний день в городе. «Еще воскресенье, еще неделя, – говорила она себе, вспоминая, как она была тут в то воскресенье, – и все та же жизнь без жизни, и все те же условия, в которых так легко бывало жить прежде. Хороша, молода, и я знаю, что теперь добра, прежде я была дурная, а теперь я добра, я знаю, – думала она, – а так даром, ни для кого, проходят лучшие годы». Она стала подле матери и перекинулась с близко стоявшими знакомыми. Наташа по привычке рассмотрела туалеты дам, осудила tenue [манеру держаться] и неприличный способ креститься рукой на малом пространстве одной близко стоявшей дамы, опять с досадой подумала о том, что про нее судят, что и она судит, и вдруг, услыхав звуки службы, ужаснулась своей мерзости, ужаснулась тому, что прежняя чистота опять потеряна ею.
Благообразный, тихий старичок служил с той кроткой торжественностью, которая так величаво, успокоительно действует на души молящихся. Царские двери затворились, медленно задернулась завеса; таинственный тихий голос произнес что то оттуда. Непонятные для нее самой слезы стояли в груди Наташи, и радостное и томительное чувство волновало ее.
«Научи меня, что мне делать, как мне исправиться навсегда, навсегда, как мне быть с моей жизнью… – думала она.
Дьякон вышел на амвон, выправил, широко отставив большой палец, длинные волосы из под стихаря и, положив на груди крест, громко и торжественно стал читать слова молитвы:
– «Миром господу помолимся».
«Миром, – все вместе, без различия сословий, без вражды, а соединенные братской любовью – будем молиться», – думала Наташа.
– О свышнем мире и о спасении душ наших!
«О мире ангелов и душ всех бестелесных существ, которые живут над нами», – молилась Наташа.
Когда молились за воинство, она вспомнила брата и Денисова. Когда молились за плавающих и путешествующих, она вспомнила князя Андрея и молилась за него, и молилась за то, чтобы бог простил ей то зло, которое она ему сделала. Когда молились за любящих нас, она молилась о своих домашних, об отце, матери, Соне, в первый раз теперь понимая всю свою вину перед ними и чувствуя всю силу своей любви к ним. Когда молились о ненавидящих нас, она придумала себе врагов и ненавидящих для того, чтобы молиться за них. Она причисляла к врагам кредиторов и всех тех, которые имели дело с ее отцом, и всякий раз, при мысли о врагах и ненавидящих, она вспоминала Анатоля, сделавшего ей столько зла, и хотя он не был ненавидящий, она радостно молилась за него как за врага. Только на молитве она чувствовала себя в силах ясно и спокойно вспоминать и о князе Андрее, и об Анатоле, как об людях, к которым чувства ее уничтожались в сравнении с ее чувством страха и благоговения к богу. Когда молились за царскую фамилию и за Синод, она особенно низко кланялась и крестилась, говоря себе, что, ежели она не понимает, она не может сомневаться и все таки любит правительствующий Синод и молится за него.