CAST-256

Поделись знанием:
Перейти к: навигация, поиск
CAST-256
Создатель:

Карлайл Адамс (англ.), Стаффорд Таварес (англ.)

Создан:

1998

Опубликован:

1998

Размер ключа:

128, 160, 192, 224 или 256 бит

Размер блока:

128 бит

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

48

Тип:

Сеть Фейстеля

CAST-256 (или CAST6) в криптографии — блочный алгоритм симметричного шифрования на основе сети Фейстеля, опубликованный в июне 1998 года в качестве кандидата на участие в конкурсе AES. Алгоритм разработан специалистами канадской компании Entrust Technologies.





Основные сведения

Этот алгоритм основан на более раннем алгоритме CAST-128. Оба шифра построены на основе методологии CAST, предложенной Карлайлом Адамсом (англ. Carlisle Adams) и Стаффордом Таваресом (англ. Stafford Tavares), первые две буквы имени которых формируют название методологии. В создании «дизайна» шифра принимали участие также Хейз Говард и Майкл Винер.

CAST-256 построен из тех же элементов, что и CAST-128, включая S-боксы, но размер блока увеличен вдвое и равен 128 битам. Это влияет на диффузионные свойства и защиту шифра.

В RFC 2612 указано, что CAST-256 можно свободно использовать по всему миру в коммерческих и некоммерческих целях.

Характеристики и структура алгоритма

Алгоритм шифрует информацию 128-битными блоками и использует несколько фиксированных размеров ключа шифрования: 128, 160, 192, 224 или 256 битов.

В алгоритме CAST-256 48 раундов. Рассмотрим первую половину шифра. 128-битный входной блок может быть разделён на четыре 32-битных субблока Ain, Bin, Cin и Din. Субблок Cin складывается по модулю 2 с Din, видоизмененного в зависимости от раундовой функции f. В результате, получаем субблок Dout. После сдвига входных субблоков вправо на одну позицию, получаем четыре выходных субблока: Aout, Bout, Cout и Dout. Для второй половины шифра рассматривается сдвиг субблоков на одну позицию влево.

Нелинейные функции Sj (где 1 < j < 4) являются подстановками из таблицы (S-бокс) 8x32 (в результате, происходит замена 8-битного входного значения на 32-битное). Из-за нелинейной природы, S-функции являются неотъемлемой составляющей безопасности шифра.

Операции «b», «c», и «d» представляют собой операции сложения и вычитания, которые выполняются с 32-битными операндами по модулю <math>2^{32}</math>. Операция «a» представляет собой наложение входного 32-битного субблока и 32-битного подключа (который называется маскирующим подключом). Эта операция, используя одну из 3 операций(«b», «c», или «d»), производит вращение в зависимости от 5-битного подключа (который называется подключом сдвига). Раундовые функции CAST-256 отличаются между раундами, потому что объединение операций, используемых для «a», «b», «c» и «d», различно.

Математически, типичная раундовая функция выглядит следующим образом:

<math> W = ((K_{m_i}+X_i) \lll K_{r_i}) ~~~(1)</math>
<math> Y_i = (( S_1 \left [ W_1 \right ] \oplus S_2 \left [ W_2 \right ] )+S_3 \left [ W_3 \right ]-S_4 \left [ W_4 \right ]</math>

где Xi представляет входные 32-бита данных, Wj входные 8-бит данных в Sj функции, Kmi и Kri представляют маскирующий подключ и подключ сдвига соответственно, Yi, есть выходные 32-бита данных, после воздействия раундовой функции, «<math>\oplus</math>» операции «+» и «-», представляют собой сложение и вычитание соответственно по модулю 2. Обозначение «<math>V \lll U</math>» представляет левый сдвиг V по отношению к U. W, Xi, Yi и Kmi, все они представляют собой 32-битные субблоки. Kri имеет длину 5 бит. Расшифровывание осуществляется по аналогии с шифрованием, с той лишь разницей, что подключи используются в обратной последовательности.

Дифференциальные свойства

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

Отметим, что XOR операция не невырождена, так как только один бит из каждого субблока влияет на выходной бит. При рассмотрении дифференциальных свойств CAST-256, получаем, что выходной субблок Dout в первом раунде зависит от всех входных бит субблока Din. Выходные биты субблоков Aout, Bout и Cout не зависят от соответствующих входных бит субблоков Ain, Bin и Cin.

В результате, получаем таблицу (таблица № 1), которая показывает зависимость шифра данных на выходе от указанных раундов. Пусть четырём 32-битным входным субблокам Ain, Bin, Cin и Din соответствуют P1, P2, P3 и P4.

Таблица № 1: Зависимость шифра от раунда

Раунд
Зависимости
1 <math>P_3</math>(<math>P_4</math>)
2 <math>P_2</math>(<math>P_3</math>, <math>P_4</math>)
3 <math>P_1</math>(<math>P_2</math>, <math>P_3</math>, <math>P_4</math>)
4 <math>P_4</math>(<math>P_1</math>, <math>P_2</math>, <math>P_3</math>, <math>P_4</math>)
5 <math>P_3</math>(<math>P_1</math>, <math>P_2</math>, <math>P_3</math>, <math>P_4</math>)
6 <math>P_2</math>(<math>P_1</math>, <math>P_2</math>, <math>P_3</math>, <math>P_4</math>)
7 <math>P_1</math>(<math>P_1</math>, <math>P_2</math>, <math>P_3</math>, <math>P_4</math>)

После одного раунда биты, соответствующие P3 субблока открытого текста теперь невырождены в биты преобразованного открытого текста субблока P4. Аналогично после двух раундов субблок P2 невырожден в биты преобразованных P3 и P4. После 4 раунда субблок, соответствующий субблоку P4, зависит от всех бит всех субблоков текста. После 7 раунда получаем полную зависимость выходных битов от входных, так как все четыре субблока P1, P2, P3 и P4 зависят от всех бит преобразованного открытого текста.

Защита от линейного криптоанализа

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

<math>P_{i_1} \oplus P_{i_2} \oplus... \oplus P_{i_a} \oplus C_{j_1} \oplus C_{j_2} \oplus... \oplus C_{i_b} = K_{k_1} \oplus K_{k_2} \oplus... \oplus K_{k_c} ~~~(2)</math>

где i1, i2,…, ia позиции бит открытого текста P, j1, j2,…, jb позиции зашифрованного текста C и k1, k2,…, kc позиции ключа К. Вероятность соотношений для раундов шифра оценивается следующим образом:

<math>|p_L - \frac{1}{2}| \leqslant 2^{a-1}\cdot|p_B - \frac{1}{2}|~~~(3)</math>

где pL вероятность того, что линейное выражение (2) выполнено, pB вероятность наилучшей линейной аппроксимации любой S-функции, и a количество S-функций, участвующих в линейном аппроксимации. Стойкость к линейному криптоанализу строго зависит от общего линейного выражения, ограничивающей вероятность (которое также называют «линейной оболочкой»). Линейные атаки строятся на основе линейного выражения, включающего биты открытого текста и шифротекста (как показано в левой части (2)). В правой части равенства (2) вычисляется XOR сумма битов ключа. Для этого требуется, примерно, следующее число открытых текстов:

<math>N_L = |p_L - \frac{1}{2}|^{-2}~~~~~~~~~~~~~~~~(4)</math>

Наилучшую линейную аппроксимацию определяет:

<math>|p_B - \frac{1}{2}| = \frac{2^{m-1}-NL_min}{2^{m}} ~~~(5)</math>

где m количество бит входных текстов и NLmin нелинейность S-функции. Для S-функций CAST-256, m = 8 и NLmin = 74. В каждом раунде выходной бит данных раундовой функции равен XOR сумме всех бит 4-х входных подблоков данных (каждый подблок размером m). Поэтому линейная аппроксимация выходных бит должна состоять из линейных аппроксимаций бит всех входных подблоков. На практике вероятность линейных аппроксимаций CAST-256 гораздо больше 1/2.

Пусть для r-раундого шифра a = r. При r = 48, NLmin = 74, число известных открытых текстов, которое требуется для линейного криптоанализа, составляет около <math>2^{122}</math>. Заметим, что это почти равно общему числу заданных открытых текстов (<math>2^{128}</math>) и выступает практичности против линейного нападения на этот шифр.

Более точную оценку числа открытых текстов, для линейного криптоанализа шифра CAST, можно получить, рассматривая объединение S-функций в раундовой функции. За счет объединения S-функций в результате XOR операции нелинейность NLmin S-бокса (который состоит из S-функций) выше 74. Рассмотрим 32х32 S-бокс, тогда m=32 и а=r/4 (так как мы аппроксимируем раундовые функции каждый 4-й раунд). Таким образом, получаем число открытых текстов, необходимых для линейного криптоанализа 48-раундового шифра, более чем <math>2^{176}</math>(больше чем количество заданных открытых текстов). Экспериментальные данные свидетельствуют о том, что объединение S-функции, используя такие операции, как сложение или вычитание, а не XOR, может увеличить нелинейность S-бокса ещё больше.

Защита от дифференциального криптоанализа

Дифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. Блочные шифры устойчивы по отношению к дифференциальному криптоанализу, если в каждом раунде для заданных разниц входных открытых текстов и выходных шифротекстов существует единственная пара разниц. Такие различия называют характеристиками. Как правило, наиболее эффективны различия в случае рассмотрения XOR двух блоков данных. В хорошем шифре вероятность всех отличий должна быть <math>2^{-N}</math>, где N размер блока. Для получения общей характеристики на входе и соответствующей ей характеристики на выходе XOR, составляется ряд характеристик, которые зависят от входных, выходных данных, подвергшихся операции XOR, в каждом раунде.

Анализ здесь основан на предположениях, что все ключи раундов независимы и, что выход XOR (результат, полученный после преобразования входных данных операцией XOR), соответствующий конкретному входу XOR (входные данные), независимы на разных раундах. При таких условиях, r-раундовая характеристика представляется в виде:

<math> p_{w_r} = \prod_{i=1}^{r} p_i ~~~(6)</math>

где pi вероятность разниц выхода XOR, соответствующие разнице входа XOR в раунде i.

Шифр CAST-256 с R раундами, показанный в таблице № 2, основан на переборе 4-раудовой характеристики.

Таблица № 2: Наилучшая r-раундовая характеристика R-раундового шифра

(0, 0, 0, <math>\Delta</math>) <math>[input ~XOR~ to~ round ~1]</math>
<math>0\leftarrow\Delta</math> <math>[round 1]</math>
<math>0\leftarrow0</math> <math>[round 2]</math>
<math>0\leftarrow0</math> <math>[round 3]</math>
<math>0\leftarrow0</math> <math>[round 4]</math>
(0, 0, 0, <math>\Delta</math>) <math>[input ~XOR~ to~ round~ 5]</math>
<math>0\leftarrow\Delta</math> <math>[round 5]</math>
<math>0\leftarrow0</math> <math>[round 6]</math>
<math>0\leftarrow0</math> <math>[round 7]</math>
<math>0\leftarrow0</math> <math>[round 8]</math>
<math>...</math> <math>repeat~ up ~to~ R/2 ~rounds</math>
(0, 0, 0, <math>\Delta</math>) <math>[input ~XOR~ to ~round~ R/2+1]</math>
<math>0\leftarrow\Delta</math> <math>[round R/2+1]</math>
<math>0\leftarrow0</math> <math>[round R/2+2]</math>
<math>0\leftarrow0</math> <math>[round R/2+3]</math>
<math>0\leftarrow0</math> <math>[round R/2+4]</math>
<math>...</math> <math>repeat ~up~ to~ r~ rounds</math>


XOR вектор (0, 0, 0, <math>\Delta</math>) заданных разниц, для 4 входных 32-битных субблоков, где 3 первых субблока (Ain, Bin и Cin) имеют нулевые XOR разницы, а 4-й входной субблок (Din в раунде) имеет некоторую отличную от нуля XOR разницу, <math>\Delta</math>.

В таблице показана характеристика общего R-раундового шифра, вход XOR раунда R/2 + 1 представляет собой вектор, в котором разница одного из субблоков не равна нулю, а разницы остальных трёх субблоков равны нулю. Вектор (0, 0, 0, <math>\Delta</math>), представленный в таблице, соответствует шифру CAST-256 с R = 48.

Ненулевая разница на входе XOR соответствует нулевой разнице выхода XOR каждый 4 раунд характеристики в таблице № 2 (как показано в 1, 5 и т. д. раундах). Вероятность, с которой заданным разницам открытых текстов и заданным разницам шифротекстов соответствует единственная пара разниц, для CAST <math> p\leqslant 2^{-14}</math>. Это основано на том факте, что все четыре S-функции в раундовой функции CAST инъективны и XOR пары открытых текстов и шифротекстов имеют разницы, равные 0. В результате раундовой функции, использующей сочетание таких операций, как сложение и вычитание, будет уменьшена вероятность существования пары разниц открытых текстов и шифротекстов. Лучшая r-раунд характеристика, как показано в таблице № 2 и на основе предположений, описанных выше, определяется вероятностью:

<math>p_{w_r}\leqslant(2^{-14})^{r/4}~~~~(4)</math>

В частности для 40-раундовой характеристики (которая потенциально могла бы быть использована для атаки 48-раундового шифра) вероятность должна быть меньше либо равна <math>2^{-140}</math>. Следовательно, число выбранных открытых текстов, необходимых для этой атаки, должно быть больше, чем <math>2^{140}</math> для 48-раундового шифра(существенно больше, чем количество открытых текстов для 128-битного размера блока).

Расширение ключа

Процедура расширения ключа сложнее чем само шифрование данных. Пусть массив ключей k = (ABCDEFGH) представляющий собой 256-битный блок, где фрагменты A, B,…,H каждый длиной по 32 бита. Пусть «k ← wi(k)», где w(<math>\cdot</math>) есть функция расширения и представима в следующем виде:

<math>G = G \oplus f_1(H, t_{r_0}, t_{m_0})</math>
<math>F = F \oplus f_2(G, t_{r_1}, t_{m_1})</math>
<math>E = E \oplus f_3(F, t_{r_2}, t_{m_2})</math>
<math>D = D \oplus f_1(E, t_{r_3}, t_{m_3})</math>
<math>C = C \oplus f_2(D, t_{r_4}, t_{m_4})</math>
<math>B = B \oplus f_3(C, t_{r_5}, t_{m_5})</math>
<math>A = A \oplus f_1(B, t_{r_6}, t_{m_6})</math>
<math>H = H \oplus f_2(A, t_{r_7}, t_{m_7})</math>

В результате 4 преобразований <math>k^{(i)}_r \leftarrow k</math> по 5 младших бита образуются подключи сдвига:

<math>k^{(i)}_{r_0} = 5LSB(A), k^{(i)}_{r_1} = 5LSB(C), k^{(i)}_{r_2} = 5LSB(E), k^{(i)}_{r_3} = 5LSB(G)</math>

где 5LSB(x)означает образование 5 младших бит в результате операции x. Аналогично <math>k^{(i)}_m \leftarrow k</math> образуются маскирующие подключи:

<math>k^{(i)}_{m_0} = H, k^{(i)}_{m_1} = F, k^{(i)}_{m_2} = D, k^{(i)}_{m_3} = B</math>

Реализация процедуры расширения ключа

В каждом раунде функции расширения ключа используются по 8 дополнительных переменных <math> T^{(i)}mj </math> и <math> T^{(i)}rj </math>.

1. Инициализация

<math> Cm = 2^{30}\sqrt{2} = 5A827999_16 </math>
<math> Mm = 2^{30}\sqrt{3} = 6ED9EBA1_16 </math>
<math> Cr = 19 </math>
<math> Mr = 17 </math>

Пусть <math> T^{(i)}mj </math> = Tmij, <math> T^{(i)}rj </math> = Trij.

  for(i=0; i<24; i++)
     for(j=0; j<8; j++){
                Tmij = Cm
                Cm = (Cm + Mm)mod2^32
                Trij = Cr
                Cr = (Cr + Mm)mod32
          }

2. Ключ расширения:

k = ABCDEFGH = 256 бит исходного ключа K. Пусть «<math> k \leftarrow w_{2_i}(k) </math>» <math>\sim</math> «<math> W2i(k)</math>», «<math> k \leftarrow w_{2i+1}(k) </math>» <math>\sim</math>«<math>W2i+1(k) </math>», «<math> k^{i}_r\leftarrow k </math>» <math>\sim</math>«<math>kr </math>», «<math>k^{i}_m \leftarrow k </math>»<math>\sim</math>«<math>km </math>»
    for(j=0; j<12; j++){ 
               W2i(k) 
               W2i+1(k) 
               kr
               km
         }

Если размер ключа k меньше 256 бит, то «лишние» фрагменты ключа считаются нулевыми:

<math>(|K| =128) \Rightarrow\,(E = F = G = H = 0) </math>
<math>(|K| =160) \Rightarrow\, (F = G = H = 0) </math>
<math>(|K| =192) \Rightarrow\, (G = H = 0) </math>
<math>(|K| =224) \Rightarrow\, (H = 0) </math>

Достоинства и недостатки алгоритма

В результате всестороннего анализа на первом этапе конкурса AES, причём исследовались не только криптографические свойства, такие как стойкость к известным атакам, отсутствие слабых ключей, хорошие статистические свойства, но и практические аспекты реализации: оптимизацию скорости выполнения кода на различных архитектурах (от ПК до смарт-карт и аппаратных реализаций), возможность оптимизации размера кода, возможность распараллеливания, были выявлены следующие достоинства и недостатки CAST-256 шифра.

Основными достоинствами являются:

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

В алгоритме было найдено ряд недостатков, из-за которых он не вошёл во второй раунд конкурса:

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

Напишите отзыв о статье "CAST-256"

Литература

  • Сергей Панасенко. Алгоритмы шифрования. — Санкт-Петербург: БХВ-Петербург, 2009. — P. 134-141. — 576 стр p. — ISBN 978-5-9775-0319-8.

Ссылки

  • [www.rfc-editor.org/rfc/rfc2612.txt RFC 2612]
  • Линейный криптоанализ
  • [www.mavi1.org/web_security/cryptography/aes-testing/cast/cast-256.pdf The CAST-256 Encryption Algorithm Carlisle Adams]
  • [www.engr.mun.ca/~howard/PAPERS/cast256.pdf An Analysis of the CAST-256 Cipher]
  • [www.ixbt.com/soft/alg-encryption-aes.shtml Конкурс AES]

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

– Всё совсем благополучно?
– Слава Богу, слава Богу!
Ростов, забыв совершенно о Денисове, не желая никому дать предупредить себя, скинул шубу и на цыпочках побежал в темную, большую залу. Всё то же, те же ломберные столы, та же люстра в чехле; но кто то уж видел молодого барина, и не успел он добежать до гостиной, как что то стремительно, как буря, вылетело из боковой двери и обняло и стало целовать его. Еще другое, третье такое же существо выскочило из другой, третьей двери; еще объятия, еще поцелуи, еще крики, слезы радости. Он не мог разобрать, где и кто папа, кто Наташа, кто Петя. Все кричали, говорили и целовали его в одно и то же время. Только матери не было в числе их – это он помнил.
– А я то, не знал… Николушка… друг мой!
– Вот он… наш то… Друг мой, Коля… Переменился! Нет свечей! Чаю!
– Да меня то поцелуй!
– Душенька… а меня то.
Соня, Наташа, Петя, Анна Михайловна, Вера, старый граф, обнимали его; и люди и горничные, наполнив комнаты, приговаривали и ахали.
Петя повис на его ногах. – А меня то! – кричал он. Наташа, после того, как она, пригнув его к себе, расцеловала всё его лицо, отскочила от него и держась за полу его венгерки, прыгала как коза всё на одном месте и пронзительно визжала.
Со всех сторон были блестящие слезами радости, любящие глаза, со всех сторон были губы, искавшие поцелуя.
Соня красная, как кумач, тоже держалась за его руку и вся сияла в блаженном взгляде, устремленном в его глаза, которых она ждала. Соне минуло уже 16 лет, и она была очень красива, особенно в эту минуту счастливого, восторженного оживления. Она смотрела на него, не спуская глаз, улыбаясь и задерживая дыхание. Он благодарно взглянул на нее; но всё еще ждал и искал кого то. Старая графиня еще не выходила. И вот послышались шаги в дверях. Шаги такие быстрые, что это не могли быть шаги его матери.
Но это была она в новом, незнакомом еще ему, сшитом без него платье. Все оставили его, и он побежал к ней. Когда они сошлись, она упала на его грудь рыдая. Она не могла поднять лица и только прижимала его к холодным снуркам его венгерки. Денисов, никем не замеченный, войдя в комнату, стоял тут же и, глядя на них, тер себе глаза.
– Василий Денисов, друг вашего сына, – сказал он, рекомендуясь графу, вопросительно смотревшему на него.
– Милости прошу. Знаю, знаю, – сказал граф, целуя и обнимая Денисова. – Николушка писал… Наташа, Вера, вот он Денисов.
Те же счастливые, восторженные лица обратились на мохнатую фигуру Денисова и окружили его.
– Голубчик, Денисов! – визгнула Наташа, не помнившая себя от восторга, подскочила к нему, обняла и поцеловала его. Все смутились поступком Наташи. Денисов тоже покраснел, но улыбнулся и взяв руку Наташи, поцеловал ее.
Денисова отвели в приготовленную для него комнату, а Ростовы все собрались в диванную около Николушки.
Старая графиня, не выпуская его руки, которую она всякую минуту целовала, сидела с ним рядом; остальные, столпившись вокруг них, ловили каждое его движенье, слово, взгляд, и не спускали с него восторженно влюбленных глаз. Брат и сестры спорили и перехватывали места друг у друга поближе к нему, и дрались за то, кому принести ему чай, платок, трубку.
Ростов был очень счастлив любовью, которую ему выказывали; но первая минута его встречи была так блаженна, что теперешнего его счастия ему казалось мало, и он всё ждал чего то еще, и еще, и еще.
На другое утро приезжие спали с дороги до 10 го часа.
В предшествующей комнате валялись сабли, сумки, ташки, раскрытые чемоданы, грязные сапоги. Вычищенные две пары со шпорами были только что поставлены у стенки. Слуги приносили умывальники, горячую воду для бритья и вычищенные платья. Пахло табаком и мужчинами.
– Гей, Г'ишка, т'убку! – крикнул хриплый голос Васьки Денисова. – Ростов, вставай!
Ростов, протирая слипавшиеся глаза, поднял спутанную голову с жаркой подушки.
– А что поздно? – Поздно, 10 й час, – отвечал Наташин голос, и в соседней комнате послышалось шуршанье крахмаленных платьев, шопот и смех девичьих голосов, и в чуть растворенную дверь мелькнуло что то голубое, ленты, черные волоса и веселые лица. Это была Наташа с Соней и Петей, которые пришли наведаться, не встал ли.
– Николенька, вставай! – опять послышался голос Наташи у двери.
– Сейчас!
В это время Петя, в первой комнате, увидав и схватив сабли, и испытывая тот восторг, который испытывают мальчики, при виде воинственного старшего брата, и забыв, что сестрам неприлично видеть раздетых мужчин, отворил дверь.
– Это твоя сабля? – кричал он. Девочки отскочили. Денисов с испуганными глазами спрятал свои мохнатые ноги в одеяло, оглядываясь за помощью на товарища. Дверь пропустила Петю и опять затворилась. За дверью послышался смех.
– Николенька, выходи в халате, – проговорил голос Наташи.
– Это твоя сабля? – спросил Петя, – или это ваша? – с подобострастным уважением обратился он к усатому, черному Денисову.
Ростов поспешно обулся, надел халат и вышел. Наташа надела один сапог с шпорой и влезала в другой. Соня кружилась и только что хотела раздуть платье и присесть, когда он вышел. Обе были в одинаковых, новеньких, голубых платьях – свежие, румяные, веселые. Соня убежала, а Наташа, взяв брата под руку, повела его в диванную, и у них начался разговор. Они не успевали спрашивать друг друга и отвечать на вопросы о тысячах мелочей, которые могли интересовать только их одних. Наташа смеялась при всяком слове, которое он говорил и которое она говорила, не потому, чтобы было смешно то, что они говорили, но потому, что ей было весело и она не в силах была удерживать своей радости, выражавшейся смехом.
– Ах, как хорошо, отлично! – приговаривала она ко всему. Ростов почувствовал, как под влиянием жарких лучей любви, в первый раз через полтора года, на душе его и на лице распускалась та детская улыбка, которою он ни разу не улыбался с тех пор, как выехал из дома.
– Нет, послушай, – сказала она, – ты теперь совсем мужчина? Я ужасно рада, что ты мой брат. – Она тронула его усы. – Мне хочется знать, какие вы мужчины? Такие ли, как мы? Нет?
– Отчего Соня убежала? – спрашивал Ростов.
– Да. Это еще целая история! Как ты будешь говорить с Соней? Ты или вы?
– Как случится, – сказал Ростов.
– Говори ей вы, пожалуйста, я тебе после скажу.
– Да что же?
– Ну я теперь скажу. Ты знаешь, что Соня мой друг, такой друг, что я руку сожгу для нее. Вот посмотри. – Она засучила свой кисейный рукав и показала на своей длинной, худой и нежной ручке под плечом, гораздо выше локтя (в том месте, которое закрыто бывает и бальными платьями) красную метину.
– Это я сожгла, чтобы доказать ей любовь. Просто линейку разожгла на огне, да и прижала.
Сидя в своей прежней классной комнате, на диване с подушечками на ручках, и глядя в эти отчаянно оживленные глаза Наташи, Ростов опять вошел в тот свой семейный, детский мир, который не имел ни для кого никакого смысла, кроме как для него, но который доставлял ему одни из лучших наслаждений в жизни; и сожжение руки линейкой, для показания любви, показалось ему не бесполезно: он понимал и не удивлялся этому.
– Так что же? только? – спросил он.
– Ну так дружны, так дружны! Это что, глупости – линейкой; но мы навсегда друзья. Она кого полюбит, так навсегда; а я этого не понимаю, я забуду сейчас.
– Ну так что же?
– Да, так она любит меня и тебя. – Наташа вдруг покраснела, – ну ты помнишь, перед отъездом… Так она говорит, что ты это всё забудь… Она сказала: я буду любить его всегда, а он пускай будет свободен. Ведь правда, что это отлично, благородно! – Да, да? очень благородно? да? – спрашивала Наташа так серьезно и взволнованно, что видно было, что то, что она говорила теперь, она прежде говорила со слезами.
Ростов задумался.
– Я ни в чем не беру назад своего слова, – сказал он. – И потом, Соня такая прелесть, что какой же дурак станет отказываться от своего счастия?
– Нет, нет, – закричала Наташа. – Мы про это уже с нею говорили. Мы знали, что ты это скажешь. Но это нельзя, потому что, понимаешь, ежели ты так говоришь – считаешь себя связанным словом, то выходит, что она как будто нарочно это сказала. Выходит, что ты всё таки насильно на ней женишься, и выходит совсем не то.
Ростов видел, что всё это было хорошо придумано ими. Соня и вчера поразила его своей красотой. Нынче, увидав ее мельком, она ему показалась еще лучше. Она была прелестная 16 тилетняя девочка, очевидно страстно его любящая (в этом он не сомневался ни на минуту). Отчего же ему было не любить ее теперь, и не жениться даже, думал Ростов, но теперь столько еще других радостей и занятий! «Да, они это прекрасно придумали», подумал он, «надо оставаться свободным».
– Ну и прекрасно, – сказал он, – после поговорим. Ах как я тебе рад! – прибавил он.
– Ну, а что же ты, Борису не изменила? – спросил брат.
– Вот глупости! – смеясь крикнула Наташа. – Ни об нем и ни о ком я не думаю и знать не хочу.
– Вот как! Так ты что же?
– Я? – переспросила Наташа, и счастливая улыбка осветила ее лицо. – Ты видел Duport'a?
– Нет.
– Знаменитого Дюпора, танцовщика не видал? Ну так ты не поймешь. Я вот что такое. – Наташа взяла, округлив руки, свою юбку, как танцуют, отбежала несколько шагов, перевернулась, сделала антраша, побила ножкой об ножку и, став на самые кончики носков, прошла несколько шагов.
– Ведь стою? ведь вот, – говорила она; но не удержалась на цыпочках. – Так вот я что такое! Никогда ни за кого не пойду замуж, а пойду в танцовщицы. Только никому не говори.
Ростов так громко и весело захохотал, что Денисову из своей комнаты стало завидно, и Наташа не могла удержаться, засмеялась с ним вместе. – Нет, ведь хорошо? – всё говорила она.
– Хорошо, за Бориса уже не хочешь выходить замуж?
Наташа вспыхнула. – Я не хочу ни за кого замуж итти. Я ему то же самое скажу, когда увижу.
– Вот как! – сказал Ростов.
– Ну, да, это всё пустяки, – продолжала болтать Наташа. – А что Денисов хороший? – спросила она.
– Хороший.
– Ну и прощай, одевайся. Он страшный, Денисов?
– Отчего страшный? – спросил Nicolas. – Нет. Васька славный.
– Ты его Васькой зовешь – странно. А, что он очень хорош?
– Очень хорош.
– Ну, приходи скорей чай пить. Все вместе.
И Наташа встала на цыпочках и прошлась из комнаты так, как делают танцовщицы, но улыбаясь так, как только улыбаются счастливые 15 летние девочки. Встретившись в гостиной с Соней, Ростов покраснел. Он не знал, как обойтись с ней. Вчера они поцеловались в первую минуту радости свидания, но нынче они чувствовали, что нельзя было этого сделать; он чувствовал, что все, и мать и сестры, смотрели на него вопросительно и от него ожидали, как он поведет себя с нею. Он поцеловал ее руку и назвал ее вы – Соня . Но глаза их, встретившись, сказали друг другу «ты» и нежно поцеловались. Она просила своим взглядом у него прощения за то, что в посольстве Наташи она смела напомнить ему о его обещании и благодарила его за его любовь. Он своим взглядом благодарил ее за предложение свободы и говорил, что так ли, иначе ли, он никогда не перестанет любить ее, потому что нельзя не любить ее.
– Как однако странно, – сказала Вера, выбрав общую минуту молчания, – что Соня с Николенькой теперь встретились на вы и как чужие. – Замечание Веры было справедливо, как и все ее замечания; но как и от большей части ее замечаний всем сделалось неловко, и не только Соня, Николай и Наташа, но и старая графиня, которая боялась этой любви сына к Соне, могущей лишить его блестящей партии, тоже покраснела, как девочка. Денисов, к удивлению Ростова, в новом мундире, напомаженный и надушенный, явился в гостиную таким же щеголем, каким он был в сражениях, и таким любезным с дамами и кавалерами, каким Ростов никак не ожидал его видеть.


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