SHA-2

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

SHA-2

Создан

2002

Опубликован

2002

Размер хеша

224, 256, 384 или 512 бит

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

64 или 80

Тип

семейство хеш-функций

SHA-2 (англ. Secure Hash Algorithm Version 2 — безопасный алгоритм хеширования, версия 2) — семейство криптографических алгоритмов — однонаправленных хеш-функций, включающее в себя алгоритмы SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224. Хеш-функции предназначены для создания «отпечатков» или «дайджестов» для сообщений произвольной длины. Применяются в различных приложениях или компонентах, связанных с защитой информации.





История

Хеш-функции SHA-2 разработаны Агентством национальной безопасности США и опубликованы Национальным институтом стандартов и технологий в федеральном стандарте обработки информации FIPS PUB 180-2 в августе 2002 года.[1] В этот стандарт также вошла хеш-функция SHA-1, разработанная в 1995 году. В феврале 2004 года в FIPS PUB 180-2 была добавлена SHA-224[2]. В октябре 2008 года вышла новая редакция стандарта — FIPS PUB 180-3.[3] В марте 2012 года вышла последняя на данный момент редакция FIPS PUB 180-4, в которой были добавлены функции SHA-512/256 и SHA-512/224, основанные на SHA-512 (поскольку на 64-битных архитектурах SHA-512 работает быстрее, чем SHA-256)[4].

В июле 2006 года появился стандарт RFC 4634 «Безопасные хеш-алгоритмы США (SHA и HMAC-SHA)», описывающий SHA-1 и семейство SHA-2.

Агентство национальной безопасности от лица государства выпустило патент на SHA-2[5] под лицензией Royalty-free.[6]

Алгоритм

Общее описание

Хеш-функции семейства SHA-2 построены на основе структуры Меркла — Дамгарда.

Исходное сообщение после дополнения разбивается на блоки, каждый блок — на 16 слов. Алгоритм пропускает каждый блок сообщения через цикл с 64 или 80 итерациями (раундами). На каждой итерации 2 слова преобразуются, функцию преобразования задают остальные слова. Результаты обработки каждого блока складываются, сумма является значением хеш-функции. Тем не менее, инициализация внутреннего состояния производится результатом обработки предыдущего блока. Поэтому независимо обрабатывать блоки и складывать результаты нельзя. Подробнее — см. псевдокод.

Алгоритм использует следующие битовые операции:

Сравнение SHA хеш-функций.

В следующей таблице показаны некоторые технические характеристики различных вариантов SHA-2. «Внутреннее состояние» обозначает промежуточную хеш-сумму после обработки очередного блока данных:

Хеш-функция Длина дайджеста сообщения (бит) Длина внутреннего состояния (бит) Длина блока (бит) Максимальная
длина сообщения (бит)
Длина слова (бит) Количество итераций в цикле Скорость (MiB/s)[7]
SHA‑256, SHA‑224 256/224 256 (8 x 32) 512 264 − 1 32 64 139
SHA‑512, SHA‑384, SHA‑512/256, SHA‑512/224 512/384/256/224 512 (8 x 64) 1024 2128 − 1 64 80 154

Псевдокод

SHA-256

Пояснения:
Все переменные беззнаковые, имеют размер 32 бита и при вычислениях суммируются по модулю 232
message — исходное двоичное сообщение
m — преобразованное сообщение

Инициализация переменных
(первые 32 бита дробных частей квадратных корней первых восьми простых чисел [от 2 до 19]):</span>
h0 := 0x6A09E667
h1 := 0xBB67AE85
h2 := 0x3C6EF372
h3 := 0xA54FF53A
h4 := 0x510E527F
h5 := 0x9B05688C
h6 := 0x1F83D9AB
h7 := 0x5BE0CD19

Таблица констант
(первые 32 бита дробных частей кубических корней первых 64 простых чисел [от 2 до 311]):</span>
k[0..63] :=
   0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
   0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
   0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
   0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
   0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
   0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
   0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
   0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2

Предварительная обработка:
m := message ǁ [единичный бит]
m := m ǁ [k нулевых бит], где k — наименьшее неотрицательное число, такое что 
                (L + 1 + K) mod 512 = 448, где L — число бит в сообщении (сравнима по модулю 512 c 448)
m := m ǁ Длина(message) — длина исходного сообщения в битах в виде 64-битного числа
           с порядком байтов от старшего к младшему

Далее сообщение обрабатывается последовательными порциями по 512 бит:
разбить сообщение на куски по 512 бит
для каждого куска
    разбить кусок на 16 слов длиной 32 бита (с порядком байтов от старшего к младшему внутри слова): w[0..15]

    Сгенерировать дополнительные 48 слов:
    для i от 16 до 63
        s0 := (w[i-15] rotr 7) xor (w[i-15] rotr 18) xor (w[i-15] shr 3)
        s1 := (w[i-2] rotr 17) xor (w[i-2] rotr 19) xor (w[i-2] shr 10)
        w[i] := w[i-16] + s0 + w[i-7] + s1

    Инициализация вспомогательных переменных:
    a := h0
    b := h1
    c := h2
    d := h3
    e := h4
    f := h5
    g := h6
    h := h7

    Основной цикл:
    для i от 0 до 63
        Σ0 := (a rotr 2) xor (a rotr 13) xor (a rotr 22)
        Ma := (a and b) xor (a and c) xor (b and c)
        t2 := Σ0 + Ma
        Σ1 := (e rotr 6) xor (e rotr 11) xor (e rotr 25)
        Ch := (e and f) xor ((not e) and g)
        t1 := h + Σ1 + Ch + k[i] + w[i]

        h := g
        g := f
        f := e
        e := d + t1
        d := c
        c := b
        b := a
        a := t1 + t2

    Добавить полученные значения к ранее вычисленному результату:
    h0 := h0 + a
    h1 := h1 + b 
    h2 := h2 + c
    h3 := h3 + d
    h4 := h4 + e
    h5 := h5 + f
    h6 := h6 + g 
    h7 := h7 + h

Получить итоговое значения хеша:
digest = hash = h0 ǁ h1 ǁ h2 ǁ h3 ǁ h4 ǁ h5 ǁ h6 ǁ h7

SHA-224 идентичен SHA-256, за исключением:

  • для инициализации переменных h0h7 используются другие начальные значения,
  • в итоговом хеше опускается значение h7.
Начальные значения переменных h0h7 в SHA-224:
h0 := 0xC1059ED8
h1 := 0x367CD507
h2 := 0x3070DD17
h3 := 0xF70E5939
h4 := 0xFFC00B31
h5 := 0x68581511
h6 := 0x64F98FA7
h7 := 0xBEFA4FA4

SHA-512 имеет идентичную структуру, но:

  • слова имеют длину 64 бита,
  • используется 80 раундов вместо 64,
  • сообщение разбито на чанки по 1024 бит,
  • начальные значения переменных и константы расширены до 64 бит,
  • постоянные для каждого из 80 раундов - 80 первых простых чисел,
  • сдвиг в операциях rotr и shr производится на другое число позиций.
Начальные значения переменных h0h7 в SHA-512:
h0 := 0x6a09e667f3bcc908, 
h1 := 0xbb67ae8584caa73b, 
h2 := 0x3c6ef372fe94f82b, 
h3 := 0xa54ff53a5f1d36f1, 
h4 := 0x510e527fade682d1, 
h5 := 0x9b05688c2b3e6c1f, 
h6 := 0x1f83d9abfb41bd6b, 
h7 := 0x5be0cd19137e2179

SHA-384 идентичен SHA-512, за исключением:


  • переменные h0h7 имеют другие начальные значения,
  • в итоговом хеше опускаются значения h6 и h7.
Начальные значения переменных h0h7 в SHA-384
(первые 64 бита дробных частей квадратных корней простых чисел с 9-го по 16-е [от 23 до 53]):
h0 := CBBB9D5DC1059ED8
h1 := 629A292A367CD507
h2 := 9159015A3070DD17
h3 := 152FECD8F70E5939
h4 := 67332667FFC00B31
h5 := 8EB44A8768581511
h6 := DB0C2E0D64F98FA7
h7 := 47B5481DBEFA4FA4

SHA-512/256 идентичен SHA-512, за исключением:

  • переменные h0h7 имеют другие начальные значения,
  • итоговый хеш обрезается до левых 256 бит.
Начальные значения переменных h0h7 в SHA-512/256:
h0 := 22312194FC2BF72C
h1 := 9F555FA3C84C64C2
h2 := 2393B86B6F53B151
h3 := 963877195940EABD
h4 := 96283EE2A88EFFE3
h5 := BE5E1E2553863992
h6 := 2B0199FC2C85B8AA
h7 := 0EB72DDC81C52CA2

SHA-512/224 идентичен SHA-512, за исключением:

  • переменные h0h7 имеют другие начальные значения,
  • итоговый хеш обрезается до левых 224 бит.
Начальные значения переменных h0h7 в SHA-512/224:
h0 := 8C3D37C819544DA2
h1 := 73E1996689DCD4D6
h2 := 1DFAB7AE32FF9C82
h3 := 679DD514582F9FCF
h4 := 0F6D2B697BD44DA8
h5 := 77E36F7304C48942
h6 := 3F9D85A86A1D36C8
h7 := 1112E6AD91D692A1

Примеры

Ниже приведены примеры хешей SHA-2. Для всех сообщений подразумевается использование кодировки ASCII.

SHA-224("The quick brown fox jumps over the lazy dog") 
 = 730E109B D7A8A32B 1CB9D9A0 9AA2325D 2430587D DBC0C38B AD911525
SHA-256("The quick brown fox jumps over the lazy dog") 
 = D7A8FBB3 07D78094 69CA9ABC B0082E4F 8D5651E4 6D3CDB76 2D02D0BF 37C9E592
SHA-384("The quick brown fox jumps over the lazy dog") 
 = CA737F10 14A48F4C 0B6DD43C B177B0AF D9E51693 67544C49 4011E331 7DBF9A50
   9CB1E5DC 1E85A941 BBEE3D7F 2AFBC9B1
SHA-512("The quick brown fox jumps over the lazy dog") 
 = 07E547D9 586F6A73 F73FBAC0 435ED769 51218FB7 D0C8D788 A309D785 436BBB64
   2E93A252 A954F239 12547D1E 8A3B5ED6 E1BFD709 7821233F A0538F3D B854FEE6
SHA-512/256("The quick brown fox jumps over the lazy dog") 
 = DD9D67B3 71519C33 9ED8DBD2 5AF90E97 6A1EEEFD 4AD3D889 005E532F C5BEF04D
SHA-512/224("The quick brown fox jumps over the lazy dog") 
 = 944CD284 7FB54558 D4775DB0 485A5000 3111C8E5 DAA63FE7 22C6AA37

Малейшее изменение сообщения в подавляющем большинстве случаев приводит к совершенно другому хешу вследствие лавинного эффекта. К примеру, при изменении dog на cog получится:

SHA-256("The quick brown fox jumps over the lazy cog") 
 = E4C4D8F3 BF76B692 DE791A17 3E053211 50F7A345 B46484FE 427F6ACC 7ECC81BE

Криптоанализ

В 2003 году Гилберт и Хандшух провели исследование SHA-2, но не нашли каких-либо уязвимостей.[8] Однако в марте 2008 года индийские исследователи Сомитра Кумар Санадия и Палаш Саркар опубликовали найденные ими коллизии для 22 итераций SHA-256 и SHA-512.[9] В сентябре того же года они представили метод конструирования коллизий для усечённых вариантов SHA-2 (21 итерация).[10] [11] Позднее были найдены методы конструирования коллизий для 31 итерации SHA-256[12] и для 27 итераций SHA-512[13].

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

  • нахождение коллизий, то есть разных сообщений с одинаковым хешем,
  • нахождение прообраза, то есть неизвестного сообщения по его хешу.

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

Ввиду алгоритмической схожести SHA-2 с SHA-1 и наличия у последней потенциальных уязвимостей принято решение, что SHA-3 будет базироваться на совершенно ином алгоритме.[14][15] 2 октября 2012 года NIST утвердил в качестве SHA-3 алгоритм Keccak.

Применение и сертификация

См. также Применение хеширования

SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224 законом США допускаются к использованию в некоторых правительственных приложениях, включая использование в рамках других криптографических алгоритмов и протоколов, для защиты информации, не имеющей грифа секретности. Стандарт также допускает использование SHA-2 частными и коммерческими организациями.[16]

Хеш-функции SHA-2 используются для проверки целостности данных и в различных криптографических схемах. На 2008 год семейство хеш-функций SHA-2 не имеет такого широкого распространения, как MD5 и SHA-1[17], несмотря на обнаруженные у последних недостатки.

Некоторые примеры применения SHA-2 указаны в таблице:

Область применения Детали
S/MIME SHA-224, SHA-256, SHA-384 или SHA-512 дайджесты сообщений[18]
OpenLDAP SHA-256, SHA-384 или SHA-512 хеши паролей[19]
DNSSEC SHA-256 дайджесты DNSKEY в протоколе DNSSEC[20]
X.509 SHA-224, SHA-256, SHA-384 и SHA-512 используются для создания электронной цифровой подписи сертификата[21]
PGP SHA-256, SHA-384, SHA-512 используются для создания электронной цифровой подписи[22]
IPSec Некоторые реализации поддерживают SHA-256 в протоколах ESP и IKE[23]
DSA Семейство SHA-2 используется для создания электронной цифровой подписи[24]
SHACAL-2 Блочный алгоритм шифрования SHACAL-2 построен на основе хеш-функции SHA-256
Bitcoin Эмиссия криптовалюты Bitcoin осуществляется посредством поиска строк, SHA-256-хеш которых имеет заданную структуру

Как показали исследования[25], алгоритмы SHA-2 работают в 2—3 раза медленнее других популярных хеш-алгоритмов MD5, SHA-1, Tiger и RIPEMD-160.

Сертификация

Реализации SHA-2, как и всех Федеральных стандартов обработки информации, могут быть сертифицированы для использования в некоторых приложениях на территории США. Сертификация происходит в рамках процедуры Cryptographic Module Validation Program (англ.), которая проводится Национальным институтом стандартов и технологий США совместно с канадским Бюро безопасности связи.

На 5 ноября 2008 года было сертифицировано более 250 реализаций SHA-2, четыре из которых могли оперировать сообщениями с длиной в битах, не кратной восьми.[26]

Сертифицировано FIPS PUB 180-4, CRYPTREC и NESSIE.

Напишите отзыв о статье "SHA-2"

Примечания

  1. [csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf FIPS PUB 180-2] (англ.). — первоначальный вариант стандарта для SHA-2. Проверено 19 ноября 2008. [www.webcitation.org/66GOBWCaL Архивировано из первоисточника 18 марта 2012].
  2. [csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf FIPS PUB 180-2 with change notice] (англ.). — вариант стандарта с SHA-224. Проверено 19 ноября 2008. [www.webcitation.org/66GOBwst5 Архивировано из первоисточника 18 марта 2012].
  3. [csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf FIPS PUB 180-3] (англ.). — редакция Secure Hash Standard от октября 2008 года. Проверено 19 ноября 2008. [www.webcitation.org/66GOCOl1l Архивировано из первоисточника 18 марта 2012].
  4. [nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf FIPS PUB 180-4] (англ.). — редакция Secure Hash Standard от августа 2015 года. Проверено 28 августа 2015.
  5. [www.google.com/patents/US6,829,355 U.S. Patent 6 829 355]
  6. «[datatracker.ietf.org/ipr/858/ Licensing Declaration for US patent 6829355.]». Проверено 2008-02-17. (англ.)
  7. [www.cryptopp.com/benchmarks-amd64.html "Crypto++ 5.6.0 Benchmarks". Retrieved 2013-06-13.].
  8. Henri Gilbert; Helena Handschuh. «[cat.inist.fr/?aModele=afficheN&cpsidt=15735289 Security analysis of SHA-256 and sisters]» (fee required). Lecture notes in computer science (Springer, Berlin). ISSN [worldcat.org/issn/0302-9743 0302-9743]. Проверено 2008-01-30.
  9. Somitra Kumar Sanadhya, Palash Sarkar. [arxiv.org/abs/0803.1220 22-Step Collisions for SHA-2]  (англ.)
  10. Somitra Kumar Sanadhya, Palash Sarkar. [dx.doi.org/10.1007/978-3-540-85886-7_17 Deterministic Constructions of 21-Step Collisions for the SHA-2 Hash Family]  (англ.)
  11. [isc08.twisc.org/slides/S5P4_Deterministic_Constructions_of_21-Step_Collisions_for_the_SHA-2_Hash_Family.pdf Презентация «Deterministic Constructions of 21-Step Collisions for the SHA-2 Hash Family»] (англ.)
  12. Florian Mendel, Tomislav Nad, Martin Schläffer (2013). «[online.tugraz.at/tug_online/voe_main2.getvolltext?pCurrPk=69018 Improving Local Collisions: New Attacks on Reduced SHA-256]». Advances in Cryptology – EUROCRYPT 2013 (Springer Berlin Heidelberg) 7881: 262–278. DOI:10.1007/978-3-642-38348-9_16. ISSN [worldcat.org/issn/0302-9743 0302-9743].
  13. Christoph Dobraunig, Maria Eichlseder, and Florian Mendel (2016). «[eprint.iacr.org/2016/374.pdf Analysis of SHA-512/224 and SHA-512/256]».
  14. [www.schneier.com/blog/archives/2005/11/nist_hash_works_4.html Schneier on Security: NIST Hash Workshop Liveblogging (5)] (англ.)
  15. [www.heise-online.co.uk/security/Hash-cracked--/features/75686/2 Hash cracked — heise Security] (англ.)
  16. [csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf FIPS 180-2: Secure Hash Standard (SHS): 6. Applicability(англ.)
  17. [www.google.com/search?q=SHA-1 SHA-1], [www.google.com/search?q=SHA-256 SHA-256] в результатах поисковой системы Google
  18. [tools.ietf.org/html/draft-ietf-smime-sha2-08 draft-ietf-smime-sha2-08] (англ.): Using SHA2 Algorithms with Cryptographic Message Syntax
  19. [www.openldap.org/its/index.cgi/Contrib?id=5660 SHA-2 hash support in OpenLDAP] (англ.)
  20. RFC 4509: Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)
  21. RFC 4055: Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  22. RFC 4880: OpenPGP Message Format
  23. [technet.microsoft.com/en-us/library/cc749132.aspx Overview of Windows Vista Service Pack 1: New Standards] (англ.)
  24. [csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf FIPS-186-2]: Digital Signature Standard (DSS)]
  25. Speed Comparison of Popular Crypto Algorithms [www.cryptopp.com/benchmarks.html] (англ.)
  26. [csrc.nist.gov/groups/STM/cavp/documents/shs/shaval.htm SHS Validation List] (англ.)

Литература

  • Лапонина О.Р. [www.intuit.ru/department/security/networksec/9/2.html Криптографические основы безопасности]. — М.: Интернет-университет информационных технологий - ИНТУИТ.ру, 2004. — С. 320. — ISBN 5-9556-00020-5.
  • Нильс Фергюсон, Брюс Шнайер. Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. — М. : Диалектика, 2004. — 432 с. — 3000 экз. — ISBN 5-8459-0733-0, ISBN 0-4712-2357-3.</span>
  • [online.tu-graz.ac.at/tug_online/voe_main2.getvolltext?pDocumentNr=85215 Анализ усечённого варианта SHA-256] (англ.)
  • [dx.doi.org/10.1007/978-3-540-71039-4_1 Коллизии усечённого варианта SHA-256] (англ.)
  • [dx.doi.org/10.1007/978-3-540-70500-0_19 Нелинейные атаки на усечённые варианты хеш-функций SHA-2] (англ.)
  • [dx.doi.org/10.1007/978-3-540-85886-7_17 Детерминированное конструирование коллизий для семейства хешей SHA-2 с 21 итерацией] (англ.)

См. также

Ссылки

  • [csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf FIPS 180-3]: Secure Hash Standard (SHS)
  • RFC 3874: A 224-bit One-way Hash Function: SHA-224
  • RFC 4634: US Secure Hash Algorithms (SHA and HMAC-SHA)

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

Доктор сошел с лестницы и подошел к ней.
– Ему получше нынче, – сказал доктор. – Я вас искал. Можно кое что понять из того, что он говорит, голова посвежее. Пойдемте. Он зовет вас…
Сердце княжны Марьи так сильно забилось при этом известии, что она, побледнев, прислонилась к двери, чтобы не упасть. Увидать его, говорить с ним, подпасть под его взгляд теперь, когда вся душа княжны Марьи была переполнена этих страшных преступных искушений, – было мучительно радостно и ужасно.
– Пойдемте, – сказал доктор.
Княжна Марья вошла к отцу и подошла к кровати. Он лежал высоко на спине, с своими маленькими, костлявыми, покрытыми лиловыми узловатыми жилками ручками на одеяле, с уставленным прямо левым глазом и с скосившимся правым глазом, с неподвижными бровями и губами. Он весь был такой худенький, маленький и жалкий. Лицо его, казалось, ссохлось или растаяло, измельчало чертами. Княжна Марья подошла и поцеловала его руку. Левая рука сжала ее руку так, что видно было, что он уже давно ждал ее. Он задергал ее руку, и брови и губы его сердито зашевелились.
Она испуганно глядела на него, стараясь угадать, чего он хотел от нее. Когда она, переменя положение, подвинулась, так что левый глаз видел ее лицо, он успокоился, на несколько секунд не спуская с нее глаза. Потом губы и язык его зашевелились, послышались звуки, и он стал говорить, робко и умоляюще глядя на нее, видимо, боясь, что она не поймет его.
Княжна Марья, напрягая все силы внимания, смотрела на него. Комический труд, с которым он ворочал языком, заставлял княжну Марью опускать глаза и с трудом подавлять поднимавшиеся в ее горле рыдания. Он сказал что то, по нескольку раз повторяя свои слова. Княжна Марья не могла понять их; но она старалась угадать то, что он говорил, и повторяла вопросительно сказанные им слона.
– Гага – бои… бои… – повторил он несколько раз. Никак нельзя было понять этих слов. Доктор думал, что он угадал, и, повторяя его слова, спросил: княжна боится? Он отрицательно покачал головой и опять повторил то же…
– Душа, душа болит, – разгадала и сказала княжна Марья. Он утвердительно замычал, взял ее руку и стал прижимать ее к различным местам своей груди, как будто отыскивая настоящее для нее место.
– Все мысли! об тебе… мысли, – потом выговорил он гораздо лучше и понятнее, чем прежде, теперь, когда он был уверен, что его понимают. Княжна Марья прижалась головой к его руке, стараясь скрыть свои рыдания и слезы.
Он рукой двигал по ее волосам.
– Я тебя звал всю ночь… – выговорил он.
– Ежели бы я знала… – сквозь слезы сказала она. – Я боялась войти.
Он пожал ее руку.
– Не спала ты?
– Нет, я не спала, – сказала княжна Марья, отрицательно покачав головой. Невольно подчиняясь отцу, она теперь так же, как он говорил, старалась говорить больше знаками и как будто тоже с трудом ворочая язык.
– Душенька… – или – дружок… – Княжна Марья не могла разобрать; но, наверное, по выражению его взгляда, сказано было нежное, ласкающее слово, которого он никогда не говорил. – Зачем не пришла?
«А я желала, желала его смерти! – думала княжна Марья. Он помолчал.
– Спасибо тебе… дочь, дружок… за все, за все… прости… спасибо… прости… спасибо!.. – И слезы текли из его глаз. – Позовите Андрюшу, – вдруг сказал он, и что то детски робкое и недоверчивое выразилось в его лице при этом спросе. Он как будто сам знал, что спрос его не имеет смысла. Так, по крайней мере, показалось княжне Марье.
– Я от него получила письмо, – отвечала княжна Марья.
Он с удивлением и робостью смотрел на нее.
– Где же он?
– Он в армии, mon pere, в Смоленске.
Он долго молчал, закрыв глаза; потом утвердительно, как бы в ответ на свои сомнения и в подтверждение того, что он теперь все понял и вспомнил, кивнул головой и открыл глаза.
– Да, – сказал он явственно и тихо. – Погибла Россия! Погубили! – И он опять зарыдал, и слезы потекли у него из глаз. Княжна Марья не могла более удерживаться и плакала тоже, глядя на его лицо.
Он опять закрыл глаза. Рыдания его прекратились. Он сделал знак рукой к глазам; и Тихон, поняв его, отер ему слезы.
Потом он открыл глаза и сказал что то, чего долго никто не мог понять и, наконец, понял и передал один Тихон. Княжна Марья отыскивала смысл его слов в том настроении, в котором он говорил за минуту перед этим. То она думала, что он говорит о России, то о князе Андрее, то о ней, о внуке, то о своей смерти. И от этого она не могла угадать его слов.
– Надень твое белое платье, я люблю его, – говорил он.
Поняв эти слова, княжна Марья зарыдала еще громче, и доктор, взяв ее под руку, вывел ее из комнаты на террасу, уговаривая ее успокоиться и заняться приготовлениями к отъезду. После того как княжна Марья вышла от князя, он опять заговорил о сыне, о войне, о государе, задергал сердито бровями, стал возвышать хриплый голос, и с ним сделался второй и последний удар.
Княжна Марья остановилась на террасе. День разгулялся, было солнечно и жарко. Она не могла ничего понимать, ни о чем думать и ничего чувствовать, кроме своей страстной любви к отцу, любви, которой, ей казалось, она не знала до этой минуты. Она выбежала в сад и, рыдая, побежала вниз к пруду по молодым, засаженным князем Андреем, липовым дорожкам.
– Да… я… я… я. Я желала его смерти. Да, я желала, чтобы скорее кончилось… Я хотела успокоиться… А что ж будет со мной? На что мне спокойствие, когда его не будет, – бормотала вслух княжна Марья, быстрыми шагами ходя по саду и руками давя грудь, из которой судорожно вырывались рыдания. Обойдя по саду круг, который привел ее опять к дому, она увидала идущих к ней навстречу m lle Bourienne (которая оставалась в Богучарове и не хотела оттуда уехать) и незнакомого мужчину. Это был предводитель уезда, сам приехавший к княжне с тем, чтобы представить ей всю необходимость скорого отъезда. Княжна Марья слушала и не понимала его; она ввела его в дом, предложила ему завтракать и села с ним. Потом, извинившись перед предводителем, она подошла к двери старого князя. Доктор с встревоженным лицом вышел к ней и сказал, что нельзя.
– Идите, княжна, идите, идите!
Княжна Марья пошла опять в сад и под горой у пруда, в том месте, где никто не мог видеть, села на траву. Она не знала, как долго она пробыла там. Чьи то бегущие женские шаги по дорожке заставили ее очнуться. Она поднялась и увидала, что Дуняша, ее горничная, очевидно, бежавшая за нею, вдруг, как бы испугавшись вида своей барышни, остановилась.
– Пожалуйте, княжна… князь… – сказала Дуняша сорвавшимся голосом.
– Сейчас, иду, иду, – поспешно заговорила княжна, не давая времени Дуняше договорить ей то, что она имела сказать, и, стараясь не видеть Дуняши, побежала к дому.
– Княжна, воля божья совершается, вы должны быть на все готовы, – сказал предводитель, встречая ее у входной двери.
– Оставьте меня. Это неправда! – злобно крикнула она на него. Доктор хотел остановить ее. Она оттолкнула его и подбежала к двери. «И к чему эти люди с испуганными лицами останавливают меня? Мне никого не нужно! И что они тут делают? – Она отворила дверь, и яркий дневной свет в этой прежде полутемной комнате ужаснул ее. В комнате были женщины и няня. Они все отстранились от кровати, давая ей дорогу. Он лежал все так же на кровати; но строгий вид его спокойного лица остановил княжну Марью на пороге комнаты.
«Нет, он не умер, это не может быть! – сказала себе княжна Марья, подошла к нему и, преодолевая ужас, охвативший ее, прижала к щеке его свои губы. Но она тотчас же отстранилась от него. Мгновенно вся сила нежности к нему, которую она чувствовала в себе, исчезла и заменилась чувством ужаса к тому, что было перед нею. «Нет, нет его больше! Его нет, а есть тут же, на том же месте, где был он, что то чуждое и враждебное, какая то страшная, ужасающая и отталкивающая тайна… – И, закрыв лицо руками, княжна Марья упала на руки доктора, поддержавшего ее.
В присутствии Тихона и доктора женщины обмыли то, что был он, повязали платком голову, чтобы не закостенел открытый рот, и связали другим платком расходившиеся ноги. Потом они одели в мундир с орденами и положили на стол маленькое ссохшееся тело. Бог знает, кто и когда позаботился об этом, но все сделалось как бы само собой. К ночи кругом гроба горели свечи, на гробу был покров, на полу был посыпан можжевельник, под мертвую ссохшуюся голову была положена печатная молитва, а в углу сидел дьячок, читая псалтырь.
Как лошади шарахаются, толпятся и фыркают над мертвой лошадью, так в гостиной вокруг гроба толпился народ чужой и свой – предводитель, и староста, и бабы, и все с остановившимися испуганными глазами, крестились и кланялись, и целовали холодную и закоченевшую руку старого князя.


Богучарово было всегда, до поселения в нем князя Андрея, заглазное именье, и мужики богучаровские имели совсем другой характер от лысогорских. Они отличались от них и говором, и одеждой, и нравами. Они назывались степными. Старый князь хвалил их за их сносливость в работе, когда они приезжали подсоблять уборке в Лысых Горах или копать пруды и канавы, но не любил их за их дикость.
Последнее пребывание в Богучарове князя Андрея, с его нововведениями – больницами, школами и облегчением оброка, – не смягчило их нравов, а, напротив, усилило в них те черты характера, которые старый князь называл дикостью. Между ними всегда ходили какие нибудь неясные толки, то о перечислении их всех в казаки, то о новой вере, в которую их обратят, то о царских листах каких то, то о присяге Павлу Петровичу в 1797 году (про которую говорили, что тогда еще воля выходила, да господа отняли), то об имеющем через семь лет воцариться Петре Феодоровиче, при котором все будет вольно и так будет просто, что ничего не будет. Слухи о войне в Бонапарте и его нашествии соединились для них с такими же неясными представлениями об антихристе, конце света и чистой воле.
В окрестности Богучарова были всё большие села, казенные и оброчные помещичьи. Живущих в этой местности помещиков было очень мало; очень мало было также дворовых и грамотных, и в жизни крестьян этой местности были заметнее и сильнее, чем в других, те таинственные струи народной русской жизни, причины и значение которых бывают необъяснимы для современников. Одно из таких явлений было проявившееся лет двадцать тому назад движение между крестьянами этой местности к переселению на какие то теплые реки. Сотни крестьян, в том числе и богучаровские, стали вдруг распродавать свой скот и уезжать с семействами куда то на юго восток. Как птицы летят куда то за моря, стремились эти люди с женами и детьми туда, на юго восток, где никто из них не был. Они поднимались караванами, поодиночке выкупались, бежали, и ехали, и шли туда, на теплые реки. Многие были наказаны, сосланы в Сибирь, многие с холода и голода умерли по дороге, многие вернулись сами, и движение затихло само собой так же, как оно и началось без очевидной причины. Но подводные струи не переставали течь в этом народе и собирались для какой то новой силы, имеющей проявиться так же странно, неожиданно и вместе с тем просто, естественно и сильно. Теперь, в 1812 м году, для человека, близко жившего с народом, заметно было, что эти подводные струи производили сильную работу и были близки к проявлению.
Алпатыч, приехав в Богучарово несколько времени перед кончиной старого князя, заметил, что между народом происходило волнение и что, противно тому, что происходило в полосе Лысых Гор на шестидесятиверстном радиусе, где все крестьяне уходили (предоставляя казакам разорять свои деревни), в полосе степной, в богучаровской, крестьяне, как слышно было, имели сношения с французами, получали какие то бумаги, ходившие между ними, и оставались на местах. Он знал через преданных ему дворовых людей, что ездивший на днях с казенной подводой мужик Карп, имевший большое влияние на мир, возвратился с известием, что казаки разоряют деревни, из которых выходят жители, но что французы их не трогают. Он знал, что другой мужик вчера привез даже из села Вислоухова – где стояли французы – бумагу от генерала французского, в которой жителям объявлялось, что им не будет сделано никакого вреда и за все, что у них возьмут, заплатят, если они останутся. В доказательство того мужик привез из Вислоухова сто рублей ассигнациями (он не знал, что они были фальшивые), выданные ему вперед за сено.
Наконец, важнее всего, Алпатыч знал, что в тот самый день, как он приказал старосте собрать подводы для вывоза обоза княжны из Богучарова, поутру была на деревне сходка, на которой положено было не вывозиться и ждать. А между тем время не терпело. Предводитель, в день смерти князя, 15 го августа, настаивал у княжны Марьи на том, чтобы она уехала в тот же день, так как становилось опасно. Он говорил, что после 16 го он не отвечает ни за что. В день же смерти князя он уехал вечером, но обещал приехать на похороны на другой день. Но на другой день он не мог приехать, так как, по полученным им самим известиям, французы неожиданно подвинулись, и он только успел увезти из своего имения свое семейство и все ценное.
Лет тридцать Богучаровым управлял староста Дрон, которого старый князь звал Дронушкой.
Дрон был один из тех крепких физически и нравственно мужиков, которые, как только войдут в года, обрастут бородой, так, не изменяясь, живут до шестидесяти – семидесяти лет, без одного седого волоса или недостатка зуба, такие же прямые и сильные в шестьдесят лет, как и в тридцать.
Дрон, вскоре после переселения на теплые реки, в котором он участвовал, как и другие, был сделан старостой бурмистром в Богучарове и с тех пор двадцать три года безупречно пробыл в этой должности. Мужики боялись его больше, чем барина. Господа, и старый князь, и молодой, и управляющий, уважали его и в шутку называли министром. Во все время своей службы Дрон нн разу не был ни пьян, ни болен; никогда, ни после бессонных ночей, ни после каких бы то ни было трудов, не выказывал ни малейшей усталости и, не зная грамоте, никогда не забывал ни одного счета денег и пудов муки по огромным обозам, которые он продавал, и ни одной копны ужи на хлеба на каждой десятине богучаровских полей.
Этого то Дрона Алпатыч, приехавший из разоренных Лысых Гор, призвал к себе в день похорон князя и приказал ему приготовить двенадцать лошадей под экипажи княжны и восемнадцать подвод под обоз, который должен был быть поднят из Богучарова. Хотя мужики и были оброчные, исполнение приказания этого не могло встретить затруднения, по мнению Алпатыча, так как в Богучарове было двести тридцать тягол и мужики были зажиточные. Но староста Дрон, выслушав приказание, молча опустил глаза. Алпатыч назвал ему мужиков, которых он знал и с которых он приказывал взять подводы.
Дрон отвечал, что лошади у этих мужиков в извозе. Алпатыч назвал других мужиков, и у тех лошадей не было, по словам Дрона, одни были под казенными подводами, другие бессильны, у третьих подохли лошади от бескормицы. Лошадей, по мнению Дрона, нельзя было собрать не только под обоз, но и под экипажи.
Алпатыч внимательно посмотрел на Дрона и нахмурился. Как Дрон был образцовым старостой мужиком, так и Алпатыч недаром управлял двадцать лет имениями князя и был образцовым управляющим. Он в высшей степени способен был понимать чутьем потребности и инстинкты народа, с которым имел дело, и потому он был превосходным управляющим. Взглянув на Дрона, он тотчас понял, что ответы Дрона не были выражением мысли Дрона, но выражением того общего настроения богучаровского мира, которым староста уже был захвачен. Но вместе с тем он знал, что нажившийся и ненавидимый миром Дрон должен был колебаться между двумя лагерями – господским и крестьянским. Это колебание он заметил в его взгляде, и потому Алпатыч, нахмурившись, придвинулся к Дрону.