<?xml version="1.0" encoding="cp1251"?>
<?xml-stylesheet type="text/css" href="http://www.pgpru.com/styles/atom.css" media="screen"?>
<rss version="2.0">
<channel>
<title>openPGP в России/Библиотека/Статьи/АнализНадежностиPGP/АлгоритмыPGP/СимметричныеБлочныеШифры</title>
<link>http://www.pgpru.com/%C1%E8%E1%EB%E8%EE%F2%E5%EA%E0/%D1%F2%E0%F2%FC%E8/%C0%ED%E0%EB%E8%E7%CD%E0%E4%E5%E6%ED%EE%F1%F2%E8PGP/%C0%EB%E3%EE%F0%E8%F2%EC%FBPGP/%D1%E8%EC%EC%E5%F2%F0%E8%F7%ED%FB%E5%C1%EB%EE%F7%ED%FB%E5%D8%E8%F4%F0%FB</link>
<description>История изменений документа Библиотека/Статьи/АнализНадежностиPGP/АлгоритмыPGP/СимметричныеБлочныеШифры</description>
<copyright>http://www.pgpru.com/%CF%F0%EE%E5%EA%F2/%CF%F0%E0%E2%E8%EB%E0</copyright>
<language>ru</language>
<image>
<title>openPGP в России</title>
<link>http://www.pgpru.com/</link>
<url>http://www.pgpru.com/images/pgpru_banner.gif</url>
<width>88</width>
<height>31</height>
</image>
<item>
<title>Редакция от 05/12/2007 18:23</title>
<link>http://www.pgpru.com/%25c1%25e8%25e1%25eb%25e8%25ee%25f2%25e5%25ea%25e0/%25d1%25f2%25e0%25f2%25fc%25e8/%25c0%25ed%25e0%25eb%25e8%25e7%25cd%25e0%25e4%25e5%25e6%25ed%25ee%25f1%25f2%25e8pgp/%25c0%25eb%25e3%25ee%25f0%25e8%25f2%25ec%25fbpgp/%25d1%25e8%25ec%25ec%25e5%25f2%25f0%25e8%25f7%25ed%25fb%25e5%25c1%25eb%25ee%25f7%25ed%25fb%25e5%25d8%25e8%25f4%25f0%25fb/show?time=2007-12-05+18%3A23%3A51</link>
<guid isPermaLink="true">http://www.pgpru.com/%25c1%25e8%25e1%25eb%25e8%25ee%25f2%25e5%25ea%25e0/%25d1%25f2%25e0%25f2%25fc%25e8/%25c0%25ed%25e0%25eb%25e8%25e7%25cd%25e0%25e4%25e5%25e6%25ed%25ee%25f1%25f2%25e8pgp/%25c0%25eb%25e3%25ee%25f0%25e8%25f2%25ec%25fbpgp/%25d1%25e8%25ec%25ec%25e5%25f2%25f0%25e8%25f7%25ed%25fb%25e5%25c1%25eb%25ee%25f7%25ed%25fb%25e5%25d8%25e8%25f4%25f0%25fb</guid>
<description><![CDATA[<div class="pageBefore"></div><div class="page">
<h3>Сравнение редакций документа <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry">Библиотека / Статьи / Анализ Надежности P G P / Алгоритмы P G P / Симметричные Блочные Шифры</a> от <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry?time=2007-12-05+18%3A23%3A51">05/12/2007 18:23</a> и <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry">17/12/2007 19:55</a></h3>
<br />
<h2>Удалено:</h2><br />
<div class="deletions"><ul><li> 64-битовый вход данного раунда делится на четыре 16-битовых подблока: <!--notypo-->X<!--/notypo--><sub>1</sub>, <!--notypo-->X<!--/notypo--><sub>2</sub>, <!--notypo-->X<!--/notypo--><sub>3</sub> и <!--notypo-->X<!--/notypo--><sub>4</sub>.
</li><li> <tt>A = <!--notypo-->X<!--/notypo--><sub>1</sub> &#8727; <!--notypo-->S<!--/notypo--><sub>1</sub></tt>. Это умножение по модулю 65537. 0 умножается как -1.
</li><li> <tt>B = <!--notypo-->X<!--/notypo--><sub>2</sub> + <!--notypo-->S<!--/notypo--><sub>2</sub></tt>. Это сложение по модулю 2<sup>16</sup>.
</li><li> <tt>C = <!--notypo-->X<!--/notypo--><sub>3</sub> + <!--notypo-->S<!--/notypo--><sub>3</sub></tt>
</li><li> <tt>D = <!--notypo-->X<!--/notypo--><sub>4</sub> &#8727; <!--notypo-->S<!--/notypo--><sub>4</sub></tt>
</li><li> <tt>E = A &#8853; C</tt>
</li><li> <tt>F = B &#8853; D</tt>
</li><li> <tt>G = E &#8727; <!--notypo-->S<!--/notypo--><sub>5</sub></tt>
</li><li> <tt>H = F + G</tt>
</li><li> <tt>I = H &#8727; <!--notypo-->S<!--/notypo--><sub>6</sub></tt>
</li><li> <tt>J = G + I</tt>
</li><li> <tt>K = A &#8853; I</tt>
</li><li> <tt>L = C &#8853; I</tt>
</li><li> <tt>M = B &#8853; J</tt>
</li><li> <tt>N = D &#8853; J</tt></li></ul>
Сами подключи зависят от того, зашифровываете вы или расшифровываете. Если вы зашифровываете, то для первых 8 подключей просто берете биты ключа <tt>K</tt>, разделенного на 16-битовые группы, затем циклически сдвигаете ключ на 25 бит влево, снова берете 8 подключей, сдвигаете еще на 25 бит, ... пока не получите все подключи. Процесс суммирован в <a href="#t31" name="ot31">таблице 3.1</a>, где <!--notypo-->K<!--/notypo--><sub>0-16</sub> означает, что берутся биты ключа от 0 до 16.<br />
Если вы расшифровываете, то подключи представляют собой инвертированные подключи зашифрования с обратными значениями операций. Суть в том, что вы выполняете те же операции, что и при зашифровании, но наоборот. Пусть <tt>E(1,2)</tt>, или, сокращенно, <tt>E12</tt>, будет вторым подключом зашифрования из раунда 1, <tt>-X</tt> – инверсией прибавления <tt>X</tt>, а <tt>X'</tt> – инверсией умножения <tt>X</tt>. Тогда подключи расшифрования можно получить из <a href="#t32" name="ot32">таблицы 3.2</a>.<br />
<small><!--notypo--><a name="t31" href="#t31" title=""></a>
<!--/notypo-->Таблица 3.1. Подключи зашифрования IDEA</small><br />
<small><!--notypo--><a name="t32" href="#t32" title=""></a>
<!--/notypo-->Таблица 3.2. Подключи расшифрования IDEA</small><br />
Нестандартная часть реализации CFB в PGP заключается в том, что начальное состояние регистра не просто устанавливается, а определяется путем обработки случайных данных, а также в том, что он в любой момент позволяет обрабатывать сокращенные неполные блоки: когда шифруется множество больших чисел, синхронизация происходит после каждого числа. Эти небольшие нюансы не влияют на безопасность. Повторение первых двух случайных байт становится чем-то вроде контрольное суммы и позволяет вам обнаружить, что вы используете неправильный ключ. <sup><a href="#oftnd4" name="ftnd4">4</a></sup> Хорошим свойством этого режима является то, что вам не нужно заполнять последние байта неполного блока.<br />
Другой распространенный режим – это <tt>CBC</tt>, или <tt>Cipher Block Chaining</tt> (сцепление блоков шифртекста). PGP не использует этот режим непосредственно для шифрования, но он применяется внутри генератора случайных чисел (смотрите параграф "Случайные числа"). В этом режиме также есть регистр <tt>R</tt>, всегда содержащий последний выход. Блок открытого текста объединяется операцией XOR с <tt>R</tt> и затем шифруется.</div><br />
<h2>Добавлено:</h2><br />
<div class="additions"><ol type="1"><li> 64-битовый вход данного раунда делится на четыре 16-битовых подблока: <!--notypo-->X<!--/notypo--><sub>1</sub>, <!--notypo-->X<!--/notypo--><sub>2</sub>, <!--notypo-->X<!--/notypo--><sub>3</sub> и <!--notypo-->X<!--/notypo--><sub>4</sub>.
</li><li> <tt>A = <!--notypo-->X<!--/notypo--><sub>1</sub> &#8727; <!--notypo-->S<!--/notypo--><sub>1</sub></tt>. Это умножение по модулю 65537. 0 умножается как -1.
</li><li> <tt>B = <!--notypo-->X<!--/notypo--><sub>2</sub> + <!--notypo-->S<!--/notypo--><sub>2</sub></tt>. Это сложение по модулю 2<sup>16</sup>.
</li><li> <tt>C = <!--notypo-->X<!--/notypo--><sub>3</sub> + <!--notypo-->S<!--/notypo--><sub>3</sub></tt>
</li><li> <tt>D = <!--notypo-->X<!--/notypo--><sub>4</sub> &#8727; <!--notypo-->S<!--/notypo--><sub>4</sub></tt>
</li><li> <tt>E = A &#8853; C</tt>
</li><li> <tt>F = B &#8853; D</tt>
</li><li> <tt>G = E &#8727; <!--notypo-->S<!--/notypo--><sub>5</sub></tt>
</li><li> <tt>H = F + G</tt>
</li><li> <tt>I = H &#8727; <!--notypo-->S<!--/notypo--><sub>6</sub></tt>
</li><li> <tt>J = G + I</tt>
</li><li> <tt>K = A &#8853; I</tt>
</li><li> <tt>L = C &#8853; I</tt>
</li><li> <tt>M = B &#8853; J</tt>
</li><li> <tt>N = D &#8853; J</tt></li></ol>
Сами подключи зависят от того, зашифровываете вы или расшифровываете. Если вы зашифровываете, то для первых 8 подключей просто берете биты ключа <tt>K</tt>, разделенного на 16-битовые группы, затем циклически сдвигаете ключ на 25 бит влево, снова берете 8 подключей, сдвигаете еще на 25 бит, ... пока не получите все подключи. Процесс суммирован в <a href="#t1" name="ot1">таблице 1</a>, где <!--notypo-->K<!--/notypo--><sub>0-16</sub> означает, что берутся биты ключа от 0 до 16.<br />
Если вы расшифровываете, то подключи представляют собой инвертированные подключи зашифрования с обратными значениями операций. Суть в том, что вы выполняете те же операции, что и при зашифровании, но наоборот. Пусть <tt>E(1,2)</tt>, или, сокращенно, <tt>E12</tt>, будет вторым подключом зашифрования из раунда 1, <tt>-X</tt> – инверсией прибавления <tt>X</tt>, а <tt>X'</tt> – инверсией умножения <tt>X</tt>. Тогда подключи расшифрования можно получить из <a href="#t2" name="ot2">таблицы 2</a>.<br />
<small><!--notypo--><a name="t1" href="#t1" title=""></a>
<!--/notypo-->Таблица 1. Подключи зашифрования IDEA</small><br />
<small><!--notypo--><a name="t2" href="#t2" title=""></a>
<!--/notypo-->Таблица 2. Подключи расшифрования IDEA</small><br />
Нестандартная часть реализации CFB в PGP заключается в том, что начальное состояние регистра не просто устанавливается, а определяется путем обработки случайных данных, а также в том, что он в любой момент позволяет обрабатывать сокращенные неполные блоки: когда шифруется множество больших чисел, синхронизация происходит после каждого числа. Эти небольшие нюансы не влияют на безопасность. Повторение первых двух случайных байт становится чем-то вроде контрольное суммы и позволяет вам обнаружить, что вы используете неправильный ключ. <sup><a href="#oftnd4" name="ftnd4">4</a></sup> Хорошим свойством этого режима является то, что вам не нужно заполнять последние байты неполного блока.<br />
Другой распространенный режим – это <tt>CBC</tt>, или <tt>Cipher Block Chaining</tt> (сцепление блоков шифртекста). PGP не использует этот режим непосредственно для шифрования, но он применяется внутри генератора случайных чисел (смотрите параграф <span class="missingpage">&quot;Случайные числа&quot;</span><a href="http://www.pgpru.com/%C0%ED%E0%EB%E8%E7%C8%F1%F5%EE%E4%ED%EE%E3%EE%CA%EE%E4%E0/%D1%EB%F3%F7%E0%E9%ED%FB%E5%D7%E8%F1%EB%E0/edit?add=1" title="создать эту страницу">[создать]</a>). В этом режиме также есть регистр <tt>R</tt>, всегда содержащий последний выход. Блок открытого текста объединяется операцией XOR с <tt>R</tt> и затем шифруется.</div></div>
]]></description>
<pubDate>Wed, 05 Dec 2007 18:23:51 +0300</pubDate>
</item>
<item>
<title>Редакция от 07/09/2006 21:54</title>
<link>http://www.pgpru.com/%25c1%25e8%25e1%25eb%25e8%25ee%25f2%25e5%25ea%25e0/%25d1%25f2%25e0%25f2%25fc%25e8/%25c0%25ed%25e0%25eb%25e8%25e7%25cd%25e0%25e4%25e5%25e6%25ed%25ee%25f1%25f2%25e8pgp/%25c0%25eb%25e3%25ee%25f0%25e8%25f2%25ec%25fbpgp/%25d1%25e8%25ec%25ec%25e5%25f2%25f0%25e8%25f7%25ed%25fb%25e5%25c1%25eb%25ee%25f7%25ed%25fb%25e5%25d8%25e8%25f4%25f0%25fb/show?time=2006-09-07+21%3A54%3A03</link>
<guid isPermaLink="true">http://www.pgpru.com/%25c1%25e8%25e1%25eb%25e8%25ee%25f2%25e5%25ea%25e0/%25d1%25f2%25e0%25f2%25fc%25e8/%25c0%25ed%25e0%25eb%25e8%25e7%25cd%25e0%25e4%25e5%25e6%25ed%25ee%25f1%25f2%25e8pgp/%25c0%25eb%25e3%25ee%25f0%25e8%25f2%25ec%25fbpgp/%25d1%25e8%25ec%25ec%25e5%25f2%25f0%25e8%25f7%25ed%25fb%25e5%25c1%25eb%25ee%25f7%25ed%25fb%25e5%25d8%25e8%25f4%25f0%25fb</guid>
<description><![CDATA[<div class="pageBefore"></div><div class="page">
<h3>Сравнение редакций документа <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry">Библиотека / Статьи / Анализ Надежности P G P / Алгоритмы P G P / Симметричные Блочные Шифры</a> от <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry?time=2006-09-07+21%3A54%3A03">07/09/2006 21:54</a> и <a href="http://www.pgpru.com/biblioteka/statji/analiznadezhnostipgp/algoritmypgp/simmetrichnyeblochnyeshifry?time=2007-12-05+18%3A23%3A51">05/12/2007 18:23</a></h3>
<br />
<h2>Удалено:</h2><br />
<div class="deletions">Серьезной уязвимостью CFB представляется возможность вносить предсказуемые изменения в байты последнего блока: если вы измените биты в последней части зашифрованных данных, соответствующие биты расшифрованного текста также будут изменены. PGP обнаружит такие модификации, если зашифрованные данные были подписаны. Но иногда данные не подписывают: если вы использовали PGP, чтобы зашифровать файл паролем, он не будет полностью защищен от изменений. Секретные ключи тоже зашифрованы, но не подписаны. Это большая проблема, ведь все режимы шифрования разработывают с защитой от изменений, однако она не срабатывает для последнего блока. Атака Климы-Росы из параграфа <span class="missingpage">&quot;Чешская атака на закрытый ключ&quot;</span><a href="http://www.pgpru.com/%C1%E0%E3%E8%C0%F2%E0%EA%E8/edit?add=1" title="создать эту страницу">[создать]</a> использует эту брешь.</div><br />
<h2>Добавлено:</h2><br />
<div class="additions">Серьезной уязвимостью CFB представляется возможность вносить предсказуемые изменения в байты последнего блока: если вы измените биты в последней части зашифрованных данных, соответствующие биты расшифрованного текста также будут изменены. PGP обнаружит такие модификации, если зашифрованные данные были подписаны. Но иногда данные не подписывают: если вы использовали PGP, чтобы зашифровать файл паролем, он не будет полностью защищен от изменений. Секретные ключи тоже зашифрованы, но не подписаны. Это большая проблема, ведь все режимы шифрования разработывают с защитой от изменений, однако она не срабатывает для последнего блока. Атака Климы-Росы из параграфа <span class="missingpage">&quot;Чешская атака на закрытый ключ&quot;</span><a href="http://www.pgpru.com/%C1%E0%E3%E8%C0%F2%E0%EA%E8/%D7%E5%F8%F1%EA%E0%FF%C0%F2%E0%EA%E0/edit?add=1" title="создать эту страницу">[создать]</a> использует эту брешь.</div></div>
]]></description>
<pubDate>Thu, 07 Sep 2006 21:54:03 +0400</pubDate>
</item>
</channel>
</rss>
