RC6

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

Сеть Фейстеля алгоритма RC6
Создатель:

Рональд Райвест, М. Робшоу, Р. Сидни (RSA Laboratories)

Создан:

1998 г.

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

1998 г.

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

128, 192 или 256 бит (от 0 до 2040 бит)

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

128 бит (для 32-разрядных платформ)

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

20 (по умолчанию)

Тип:

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

RC6 — симметричный блочный криптографический алгоритм, производный от алгоритма RC5. Был создан Роном Ривестом, Мэттом Робшау и Рэем Сиднеем для удовлетворения требований конкурса Advanced Encryption Standard (AES). Алгоритм был одним из пяти финалистов конкурса, был также представлен NESSIE и CRYPTREC. Является собственническим (проприетарным) алгоритмом, и запатентован RSA Security.

Вариант шифра RC6, заявленный на конкурс AES, поддерживает блоки длиной 128 бит и ключи длиной 128, 192 и 256 бит, но сам алгоритм, как и RC5, может быть сконфигурирован для поддержки более широкого диапазона длин как блоков, так и ключей (от 0 до 2040 бит)[1]. RC6 ЕБЕТ RC5 по своей структуре и также довольно прост в реализации.

Является финалистом AES, однако одна из примитивных операций — операция умножения, медленно выполняемая на некотором оборудовании и затрудняет реализацию шифра на ряде аппаратных платформ и, что оказалось сюрпризом для авторов, на системах с архитектурой Intel IA-64 также реализована довольно плохо. В данном случае алгоритм теряет одно из своих ключевых преимуществ — высокую скорость выполнения, что стало причиной для критики и одной из преград для избрания в качестве нового стандарта. Однако, на системах с процессором Pentium II, Pentium Pro, Pentium III, PowerPC и ARM алгоритм RC6 опережает победителя — Rijndael[2].





Детали RC6

Так же, как и RC5, RC6 — полностью параметризированная семья алгоритмов шифрования. Для спецификации алгоритма с конкретными параметрами, принято обозначение RC6-w/r/b, где

Для того чтобы соответствовать требованиям AES, шифр должен обращаться с 128-битовыми блоками. Так как RC5 — исключительно быстрый блочный шифр, расширение его, чтобы работать с 128-битовыми блоками привело бы к использованию двух 64-битовых рабочих регистров. Но архитектура и языки программирования ещё не поддерживают 64-битные операции, поэтому пришлось изменить проект так, чтобы использовать четыре 32-битных регистров вместо двух 64-битных.

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

Генерация констант:

Так же, как и в RC5, в RC6 генерируются две псевдослучайные величины, используя две математические константы:экспонента (e) и золотое сечение (f).

<math>Q_w \leftarrow Odd((f-1)*2^w)</math>

<math>P_w \leftarrow Odd((e-2)*2^w)</math>,

где <math>Odd()</math> — это округление до ближайшего нечетного целого. При w = 32 бита (в шестнадцатеричном виде):

<math>Q_{32} = 9E3779B9</math>

<math>P_{32} = B7E15163</math>

Процедура расширения ключа для RC6-w/r/b:

Таблица ключей для шифра RC6 также идентична таблице шифра RC5. Отличие состоит в том, что большее количество слов из массива L получено из предоставленного пользователем ключа для использования в течение шифрования и расшифровки.

Вход:

  • b-байтный ключ, заданный пользователем, предварительно преобразованный в массив из <math>c</math> слов <math>L[0,...,c-1]</math>.
  • r — количество раундов.

Выход:

  • w-битная таблица ключей <math>S[0,...,2r+3]</math>.
	S[0]=Pw
	for i=1 to 2r+3 do
    		S[i]=S[i-1]+Qw

	A=B=i=j=0

	v=3*max{c,2r+4}
	for s=1 to v do
    	{
        	A=S[i]=(S[i]+A+B)<<<3
        	B=L[j]=(L[j]+A+B)<<<(A+B)
        	i=(i+1) mod (2r+4)
        	j=(j+1) mod c
    	}

Шифрование и расшифрование

RC6 работает с четырьмя w-битными регистрами A, B, C и D, которые содержат входной исходный текст и выходной шифрованный текст в конце шифрования.

Шифрование/Расшифрование с помощью RC6-w/r/b

Процедура шифрования:

Вход:

  • r количество раундов
  • w-разрядные ключи для каждого раунда S[0, … , 2r + 3]

Выход:

  • шифрованный текст сохраняется в A, B, C и D


	B = B + S[0]
	D = D + S[1]
	for i = 1 to r do
	{
		t = (B(2B + 1)) <<< lg w
		u = (D(2D + 1)) <<< lg w
		A = ((A ⊕ t) <<< u) + S[2i]
		C = ((C ⊕ u) <<< t) + S[2i + 1] 
                (A, B, C, D)  =  (B, C, D, A)

	}
	A = A + S[2r + 2]
	C = C + S[2r + 3]

Процедура расшифровки:

Вход:

  • шифрованный текст, сохранённый в A, B, C и D
  • r количество раундов
  • w-разрядные ключи для каждого раунда S[0, … , 2r + 3]

Выход:

  • исходный текст сохраняется в A, B, C и D


	C = C - S[2r + 3]
	A = A - S[2r + 2]

	for i = r downto 1 do
	{
	   (A, B, C, D) = (D, A, B, C)
	    u = (D(2D + 1)) <<< lg w
	    t = (B(2B + 1)) <<< lg w
	    C = ((C - S[2i + 1]) >>> t) ⊕ u
	    A = ((A - S[2i]) >>> u) ⊕ t
	}
	D = D - S[1]
	B = B - S[0]

Безопасность

Вариант алгоритма RC6, который был заявлен на AES, как уже было сказано, поддерживает блоки длиной 128 бит и ключи длиной 128, 192 и 256 бит, а также содержит 20 раундов. То есть RC6-128/20/b, где b=128,192 или 256 бит. В отношении такого алгоритма никаких атак не было обнаружено. Были обнаружены атаки только против упрощенных версий алгоритма, то есть алгоритма с уменьшенным количеством раундов.

Полагается, что лучший вариант нападения на RС6, доступный для криптоаналитика, является полным перебором b-байтового ключа шифрования (или расширенный ключевой массив S [0,…,43], когда предоставленный пользователем ключ шифрования особенно длинный). Для полного перебора требуется <math>min(2^{8b},2^{1408})</math> операций. Дон Копперсмит заметил, что за счет значительной памяти и предварительного вычисления можно организовать атаку «meet-in-the-middle», чтобы восстановить расширенный ключевой массив S [0,…,43]. Это потребовало бы <math>2^{704}</math> вычислений и таким образом требуемое количество операций равнялось <math>min(2^{8b},2^{704})</math>. Более продвинутые атаки, такие как дифференциальный и линейный криптоанализ, выполнимые на версиях шифра с маленьким количеством раундов, сложно выполнимы для нападение на полный шифр RC6 с 20 раундами. Сложность состоит в том, что трудно найти хорошие повторяющиеся особенности или линейные приближения, с которыми могла бы быть осуществлена атака.

Интересная проблема — установить соответствующие цели для безопасности против этих более продвинутых атак. Чтобы преуспеть, эти атаки типично требуют большого количества данных, и получение <math>2^{a}</math> блоков известных или выбранных пар зашифрованного\открытого текста — задача отличная от попытки возвратить один ключ из <math>2^{a}</math> возможных. Стоит заметить, что с шифром, работающим со скоростью один терабит в секунду (то есть, шифруя данные со скоростью <math>10^{12}</math> бит/сек), время, требуемое для 50 компьютеров, работающих параллельно, чтобы зашифровать <math>2^{64}</math> блоков данных, составляет более года; зашифровать <math>2^{80}</math> блоков данных — больше чем 98 000 лет; и зашифровать <math>2^{128}</math> блоков данных составляет больше чем <math>10^{19}</math> лет.

Хотя требования к данным для <math>2^{64}</math> блоков для успешной атаки могли бы быть рассмотрены как достаточные в практических сроках, разработчики стремились обеспечивать намного больший уровень безопасности.

Исследования RC5 не проявили слабостей в установке ключа. Это привело к использованию того же процесса установки ключа и в RC6. Процесс преобразования ключа, предоставляемого пользователем, к таблице ключей, кажется, хорошо смоделирован псевдослучайным процессом. Таким образом, в то время как нет доказательства, что никакие два ключа не приводят к одной и той же таблице ключей, это, кажется, очень маловероятно. Это можно оценить как веоятность того, что существуют два 256-битовых ключа, приводящие к одной и той же таблице 44, 32-разрядных ключей, есть приблизительно <math>2^{2*256-44*32}=2^{-896}=10^{-270}</math>.

Мы можем суммировать наши требования на безопасности RC6 следующим образом:

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

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

Важным критерием резерва безопасности является максимальное число раундов, при котором возможна атака. Это возможно для 12-, 14- и 15- раундовых вариантов RC6.

Шифр Количество раундов (b) Тип атаки Текст Байты памяти Операции
RC6-128/20/b 12 Статистические различия <math>2^{94}</math> <math>2^{42}</math> <math>2^{119}</math>
14 Статистические различия <math>2^{118}</math> <math>2^{112}</math> <math>2^{122}</math>
15 (256) Статистические различия <math>2^{119}</math> <math>2^{138}</math> <math>2^{215}</math>

В четвёртом столбце «Текст» находится информация о количестве блоков незашифрованного и соответствующих им блокам зашифрованного текста данным ключом. В пятом столбце «Байты памяти» записано максимальное количество байтов памяти, которые нужны в произвольной точке осуществления атаки. В шестом столбце «Операции» указано ожидаемое число операций, которые нужно произвести для осуществления атаки.

Оценка аппаратных средств

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

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

С 20 раундами на блок время шифрования приблизительно равно 100 наносекунд для каждого блока, обеспечивая предполагаемую скорость передачи данных приблизительно 1.3 Гбит/сек.

Выполнение

Как следует из описания алгоритма, RС6 — очень компактен. Действительно, реализация алгоритма RC6 на Ассемблере для микропроцессора Intel Pentium Pro может быть осуществлена в менее чем 256 байтах кода для каждой из задач:

  1. установки ключа,
  2. блока шифрования,
  3. блока дешифрования.

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

Учитывая, что RC6 полностью параметризуется, и что он может быть эффективно и компактно осуществлен, шифр кажется особенно универсальным.

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

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

В то время как RC6, представленный для рассмотрения на AES, базируется на использования 32-разрядных слов (размер блока 128 бит), будущая потребность рынка нуждается в расширении RC6 для других размеров блока. Наибольшую важность представляют размеры блока в 256 бит, которые использовали бы размер слова 64 бит и производительность, предлагаемую следующим поколением системной архитектуры. Также отметим, что структура RC6 позволяет эксплуатировать определенную степень параллелизма в подпрограммах расшифровки и шифровании. Например, вычисление t и u в каждом раунде может быть вычислено параллельно, как и обновления A и C. Поскольку процессоры развиваются в направлении увеличения количества внутреннего параллелизма (например, с перемещением к суперскалярной архитектуре), реализации RC6 должны продемонстрировать большую производительность.

Лицензирование

Так как RC6 не был выбран в качестве AES, то нет гарантий, что его использование является свободным. С января 2007 [www.rsasecurity.com/rsalabs/node.asp?id=2251 веб-страница] официального сайта RSA Laboratories, разработчика RC6, содержит следующее:

«We emphasize that if RC6 is selected for the AES, RSA Security will not require any licensing or royalty payments for products using the algorithm» («Мы подчеркиваем, что если RC6 будет выбран в качестве AES, то RSA Security не будет требовать каких либо лицензионных или авторских отчислений за продукты, использующие алгоритм»).

Выделенное слово «если» означает, что RSA Security Inc. теперь может требовать лицензионные и авторские платежи за любой продукт, который использует алгоритм RC6. RC6 является запатентованным алгоритмом шифрования ([www.google.com/patents/US5724428 U.S. Patent 5 724 428] и [www.google.com/patents/US5835600 U.S. Patent 5 835 600]).

Источники

  • R.L. Rivest, M.J.B. Robshaw, R.Sidney, and Y.L. Yin. [theory.lcs.mit.edu/~rivest/rc6.pdf The RC6 Block Cipher]. v1.1, August 1998.
  • J. Beuchat [perso.ens-lyon.fr/jean-luc.beuchat/Publications/fpl2003.pdf FPGA Implementations of the RC6 Block Cipher].

Напишите отзыв о статье "RC6"

Примечания

  1. [darksoftware.narod.ru/narod_is_best/rc6.zip Исходные тексты RC6-32/20/64 с ключом 512 бит на языке C]
  2. Сравнение алгоритмов RC6 и AES

Внешние ссылки

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

На совете в Филях у русского начальства преобладающею мыслью было само собой разумевшееся отступление по прямому направлению назад, то есть по Нижегородской дороге. Доказательствами тому служит то, что большинство голосов на совете было подано в этом смысле, и, главное, известный разговор после совета главнокомандующего с Ланским, заведовавшим провиантскою частью. Ланской донес главнокомандующему, что продовольствие для армии собрано преимущественно по Оке, в Тульской и Калужской губерниях и что в случае отступления на Нижний запасы провианта будут отделены от армии большою рекою Окой, через которую перевоз в первозимье бывает невозможен. Это был первый признак необходимости уклонения от прежде представлявшегося самым естественным прямого направления на Нижний. Армия подержалась южнее, по Рязанской дороге, и ближе к запасам. Впоследствии бездействие французов, потерявших даже из виду русскую армию, заботы о защите Тульского завода и, главное, выгоды приближения к своим запасам заставили армию отклониться еще южнее, на Тульскую дорогу. Перейдя отчаянным движением за Пахрой на Тульскую дорогу, военачальники русской армии думали оставаться у Подольска, и не было мысли о Тарутинской позиции; но бесчисленное количество обстоятельств и появление опять французских войск, прежде потерявших из виду русских, и проекты сражения, и, главное, обилие провианта в Калуге заставили нашу армию еще более отклониться к югу и перейти в середину путей своего продовольствия, с Тульской на Калужскую дорогу, к Тарутину. Точно так же, как нельзя отвечать на тот вопрос, когда оставлена была Москва, нельзя отвечать и на то, когда именно и кем решено было перейти к Тарутину. Только тогда, когда войска пришли уже к Тарутину вследствие бесчисленных дифференциальных сил, тогда только стали люди уверять себя, что они этого хотели и давно предвидели.


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

«Monsieur le prince Koutouzov, – писал он, – j'envoie pres de vous un de mes aides de camps generaux pour vous entretenir de plusieurs objets interessants. Je desire que Votre Altesse ajoute foi a ce qu'il lui dira, surtout lorsqu'il exprimera les sentiments d'estime et de particuliere consideration que j'ai depuis longtemps pour sa personne… Cette lettre n'etant a autre fin, je prie Dieu, Monsieur le prince Koutouzov, qu'il vous ait en sa sainte et digne garde,
Moscou, le 3 Octobre, 1812. Signe:
Napoleon».
[Князь Кутузов, посылаю к вам одного из моих генерал адъютантов для переговоров с вами о многих важных предметах. Прошу Вашу Светлость верить всему, что он вам скажет, особенно когда, станет выражать вам чувствования уважения и особенного почтения, питаемые мною к вам с давнего времени. Засим молю бога о сохранении вас под своим священным кровом.
Москва, 3 октября, 1812.
Наполеон. ]

«Je serais maudit par la posterite si l'on me regardait comme le premier moteur d'un accommodement quelconque. Tel est l'esprit actuel de ma nation», [Я бы был проклят, если бы на меня смотрели как на первого зачинщика какой бы то ни было сделки; такова воля нашего народа. ] – отвечал Кутузов и продолжал употреблять все свои силы на то, чтобы удерживать войска от наступления.
В месяц грабежа французского войска в Москве и спокойной стоянки русского войска под Тарутиным совершилось изменение в отношении силы обоих войск (духа и численности), вследствие которого преимущество силы оказалось на стороне русских. Несмотря на то, что положение французского войска и его численность были неизвестны русским, как скоро изменилось отношение, необходимость наступления тотчас же выразилась в бесчисленном количестве признаков. Признаками этими были: и присылка Лористона, и изобилие провианта в Тарутине, и сведения, приходившие со всех сторон о бездействии и беспорядке французов, и комплектование наших полков рекрутами, и хорошая погода, и продолжительный отдых русских солдат, и обыкновенно возникающее в войсках вследствие отдыха нетерпение исполнять то дело, для которого все собраны, и любопытство о том, что делалось во французской армии, так давно потерянной из виду, и смелость, с которою теперь шныряли русские аванпосты около стоявших в Тарутине французов, и известия о легких победах над французами мужиков и партизанов, и зависть, возбуждаемая этим, и чувство мести, лежавшее в душе каждого человека до тех пор, пока французы были в Москве, и (главное) неясное, но возникшее в душе каждого солдата сознание того, что отношение силы изменилось теперь и преимущество находится на нашей стороне. Существенное отношение сил изменилось, и наступление стало необходимым. И тотчас же, так же верно, как начинают бить и играть в часах куранты, когда стрелка совершила полный круг, в высших сферах, соответственно существенному изменению сил, отразилось усиленное движение, шипение и игра курантов.


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