<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ono &#187; Введение в криптографию</title>
	<atom:link href="/category/bezopasnost-platezhej/vvedenie-v-kriptografiyu/feed" rel="self" type="application/rss+xml" />
	<link>http://ono.org.ua</link>
	<description>жизнь в цифровом мире</description>
	<lastBuildDate>Wed, 07 Aug 2013 08:59:17 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.8</generator>
	<item>
		<title>Общие понятия</title>
		<link>http://ono.org.ua/obshhie-ponyatiya.html</link>
		<comments>http://ono.org.ua/obshhie-ponyatiya.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:39:47 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Введение в криптографию]]></category>

		<guid isPermaLink="false">http://ono.org.ua/?p=46</guid>
		<description><![CDATA[
Как уже отмечалось ранее, криптография играет одну из главных ролей в развитии технологий и стандартов ЭК. В используемых протоколах ЭК решаются типовые для различных областей техники задачи защиты информации от несанкционированного доступа, к числу которых относятся:

обеспечение целостности  [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/code_2.jpg"><img class="aligncenter size-full wp-image-256" title="code_2" src="/wp-content/uploads/2011/01/code_2.jpg" alt="криптография" width="614" height="461" /></a></p>
<p>Как уже отмечалось ранее, криптография играет одну из главных ролей в развитии технологий и стандартов ЭК. В используемых протоколах ЭК решаются типовые для различных областей техники задачи защиты информации от несанкционированного доступа, к числу которых относятся:</p>
<ul>
<li>обеспечение целостности информации (невозможность для третьей стороны, расположенной между участниками информационного обмена, модифицировать передаваемую информацию таким образом, чтобы принимающая сторона этого не заметила);</li>
<li>обеспечение конфиденциальности информации (невозможность для третьей стороны получить информацию, содержащуюся в передаваемых сообщениях);</li>
<li>аутентификация источника информации (подтверждение того, что передающая сторона является тем, за кого она себя выдает); остальную часть этого пункта нужно вычеркнуть то есть невозможность для третьей стороны присвоить себе авторство какого-либо сообщения);</li>
<li>нотаризация информации (невозможность отказаться от авторства сообщения).<span id="more-46"></span></li>
</ul>
<p>Для решения перечисленных задач используются различные криптографические алгоритмы. Под криптоалгоритмом понимается взаимнооднозначное преобразование, отображающее множество возможных сообщений отправителя, содержание которых необходимо скрыть от третьей стороны, во множество сообщений, называемых также криптотекстами, понятных только отправителю и адресату. Криптоалгоритмы иначе называют алгоритмами шифрования.</p>
<p>Все алгоритмы шифрования делятся на два класса:</p>
<ul>
<li>симметричные алгоритмы шифрования;</li>
<li>асимметричные алгоритмы шифрования.</li>
</ul>
<p>Симметричные алгоритмы шифрования основаны на использовании обеими сторонами информационного обмена общего секрета, называемого ключом. Знание ключа X полностью определяет криптографическое преобразование Z=EX(Y), которое еще иначе называют засекречиванием сообщения Y. Это преобразование является взаимно однозначным, то есть существует такая функция EX'(Z), что для любых Z и Y, связанных равенством Z=Ex(Y), верно Y=Ex1(Z). Обратное преобразование часто называют расшифрованием или дешифрованием сообщения Z.</p>
<p>Симметричные алгоритмы появились в глубокой древности для засекречивания важных сообщений. Уже знаменитый греческий историк Геродот (V век до нашей эры) приводил примеры писем, понятных только отправителю и адресату. Спартанцы использовали специальный механический прибор, при помощи которого важные сообщения писались особым способом, обеспечивающим сохранение тайны сообщения.</p>
<p>Самым надежным симметричным криптографическим алгоритмом является код Вернама. Суть алгоритма состоит в том, что для каждого отправляемого сообщения Y, представленного в виде последовательности двоичных нулей и единиц, по случайному закону генерируется из нулей и единиц последовательность той же длины, что и отправляемое сообщение. Эта последовательность играет в схеме Вернама роль одноразового ключа X. Тогда криптографическое преобразование состоит в побитном сложении по модулю 2 значений X и Y. Очевидно, что для «вскрытия» описанного криптоалгоритма (то есть для определения Y) необходимо перебрать все возможные значения ключа X.</p>
<p>Очевидными недостатками этого метода являются необходимость передачи получателю значения ключа Y для каждого шифруемого сообщения, а также переменная длина ключа. Конечно, различные значения ключа в схеме Вернама можно было бы перенумеровать и один раз передать надежным образом получателю (например, передачей из рук отправителя в руки получателя файла со значениями ключа). После этого в конце каждого зашифрованного сообщения можно сообщать получателю, каким по номеру значением ключа пользовался отправитель для засекречивания сообщения. Но при этом очевидно, что объем возможных значений ключа должен быть соизмерим с объемом информации, которым обмениваются стороны, что приводит к тому, что схема Вернама практически не используется (сегодня эта схема применяется в основном в военных системах для передачи очень важной информации).</p>
<p>Далее будет подробнее рассказано о других симметричных алгоритмах. В основе таких алгоритмов лежит принцип использования одного ключа относительно небольшого размера. Такие алгоритмы позволяют преобразовывать различные сообщения Y1, Y2, &#8230;,Yn таким образом, что, даже зная значения функции Zj=Ex(Yj) (i=l, &#8230;,n) для достаточно большого числа п, невозможно определить значение ключа X (отметим, что при использовании схемы Вернама для определения ключа достаточно знать единственную пару значений функции Z и сообщения Y).</p>
<p>Суть асимметричных алгоритмов (иначе схемы, основанные на таких алгоритмах, называют криптосистемами с общественными или открытыми ключами) состоит в следующем. В математике известны такие функции Е, для которых обратная функция D вычисляется достаточно сложно, если не известен некоторый параметр (в криптографических схемах этот параметр становится секретным ключом). Функция Е предоставляется в распоряжение любому желающему отправить сообщение обладателю параметра. Для шифрования информации, предназначенной обладателю параметра, достаточно применить к передаваемому сообщению преобразование Е. Тогда обладатель параметра, используя обратное преобразование D, легко расшифровывает полученное сообщение. Наоборот, лицо, не обладающее заветным параметром, не сумеет вычислить обратное преобразование и, следовательно, восстановить передаваемое сообщение. Понятие «не сумеет» имеет достаточно специфический смысл, который будет разъяснен далее.</p>
<p>Асимметричные алгоритмы являются идеальным механизмом для решения задач обеспечения целостности передаваемой информации и аутентификации ее источника. Решаются эти задачи с помощью схем с открытыми ключами следующим образом. В первую очередь к передаваемому сообщению Y (далее без ограничения общности предполагается, что сообщение Y имеет двоичное представление) применяется преобразование H(Y), называемое хэш-функцией, или дайджестом сообщения, отображающее сообщение Y в двоичную последовательность фиксированной длины (как правило, меньшей длины). Множество значений хэш-функции будет обозначаться М. Таким образом, преобразование H(Y) не является взаимно однозначным (зная значение H(Y) почти всегда невозможно однозначно определить значение Y), и потому его относят к классу односторонних функций. К преобразованию H(Y) предъявляют несколько плохо формализуемых требований, на качественном уровне состоящих в следующем:</p>
<ul>
<li>мощность множества М должна быть достаточно большой (на практике используются значения H(Y) длиной от 128 до 256 битов, хотя длина значения хэш-функции определяется конкретной задачей);</li>
<li>сообщения Y «равномерно» отображаются с помощью H(Y) в элементы множества М, то есть каждому элементу множества М соответствует примерно одинаковое количество сообщений Y, отображаемых в этот элемент (примерно |А|/|М|, где |А|, |М| — мощности, соответственно, множества всех возможных сообщений Y и множества значений хэш-функции);</li>
<li>функция H(Y) не должна быть непрерывной, то есть из «близости» значений Yx и Y2 не следует «близость» значений H(Yt) и H(Y2).</li>
</ul>
<p>Для практических целей, очевидно, достаточно, чтобы выполнялось неравенство |М| &lt; |А|. Легко показать, что в этом случае вероятность того, что для любых случайно выбранных сообщений Y, и Y2 выполняется H(Yj)=H(Y2), равна |М|&#187;&#8216;. В случае, когда функция H(Y) отображает сообщения в множество всех двоичных последовательностей длины т, вероятность события H(Y,)=H(Y2) равна 2 т. Длина значения хэш-функции на практике определяется вероятностью того, что значения хэшфункции от двух случайно выбранных сообщений не равны друг другу. Например, при т=160 такая вероятность приблизительно равна 0,68* 10-48, что делает событие H(Y,)=H(Y2) фактически невероятным.</p>
<p>После того как для сообщения Y вычислено значение хэш-функции H(Y), к нему применяется закрытое преобразование D отправителя сообщения. Значение s=D(H(Y)) и является электронной цифровой подписью (ЭЦП) сообщения Y.</p>
<p>Для проверки (верификации) цифровой подписи принимающая сторона применяет к s обратное преобразование Е и полученное значение hj=E(s) сравнивает со значением h2=H(Yr), где Yr — полученное сообщение, которое в общем случае может отличаться от переданного сообщения (например, из-за попытки исказить переданное сообщение).</p>
<p>Если hj=h2, то ЭЦП верна, что, во-первых, аутентифицирует источник информации (передающую сторону), а во-вторых, подтверждает целостность полученного сообщения (Y=Yr). Напомним читателю, что целостность сообщения подтверждается с вероятностью того, что значения хэш-функции от двух различных аргументов совпадают.</p>
<p>Теперь рассмотрим, как симметричные и асимметричные алгоритмы используются для решения задач обеспечения безопасности информационного обмена. Для решения задач аутентификации источника информации и обеспечения ее целостности, как правило, используются асимметричные алгоритмы шифрования. Эти алгоритмы по своей природе предназначены для решения подобных задач в системах информационного обмена между многими пользователями (закрытое преобразование для подписи и открытое — для проверки подписи).</p>
<p>Для решения задачи обеспечения конфиденциальности передаваемой информации обычно применяются симметричные алгоритмы. Если открытое и закрытое преобразования в асимметричном алгоритме определены на одном множестве сообщений и являются коммутативными, то есть выполняется равенство E(D(Y))=D(E(Y)), то асимметричный алгоритм может использоваться и для шифрования сообщений. Действительно, передающая сторона преобразует сообщение Y в сообщение E(Y) с помощью открытого преобразования адресата сообщения. Тогда обратное преобразование сможет выполнить только получатель сообщения, а значит, содержание Y будет известно только адресату, что и требовалось получить.</p>
<p>Нужно отметить, что свойством коммутативности обладают многие известные асимметричные алгоритмы (например, самый известный алгоритм — RSA). Однако на практике свойство «шифрования» таких асимметричных алгоритмов используется очень редко и, как правило, только для того, чтобы две стороны информационного обмена в начале конфиденциального диалога обменялись между собой симметричным ключом шифрования, который далее используется для шифрования сообщений внутри диалога. Это обстоятельство связано с тем, что при равной степени защиты, обеспечиваемой симметричными и асимметричными алгоритмами, первые работают на 2-4 порядка быстрее вторых. Скорость работы алгоритма (вычислительная сложность алгоритма) является ключевым фактором во многих системах информационного обмена, что и определяет главную роль симметричных алгоритмов при решении задачи обеспечения конфиденциальности информационного обмена.</p>
<p>Комбинирование симметричных и асимметричных алгоритмов мастерски реализовано в протоколе SET с целью оптимизации времени выполнения транзакции ЭК.</p>
]]></content:encoded>
			<wfw:commentRss>http://ono.org.ua/obshhie-ponyatiya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Краткий обзор симметричных алгоритмов шифрования</title>
		<link>http://ono.org.ua/kratkij-obzor-simmetrichnyx-algoritmov-shifrovaniya.html</link>
		<comments>http://ono.org.ua/kratkij-obzor-simmetrichnyx-algoritmov-shifrovaniya.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:32:29 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Введение в криптографию]]></category>

		<guid isPermaLink="false">http://ono.org.ua/?p=48</guid>
		<description><![CDATA[
Обзор начнем с самого популярного в мире симметричного алгоритма шифрования — алгоритма DES (Data Encryption Standard).
Алгоритм DES был разработан фирмой IBM и в 1977 г. принят Национальным институтом стандартов и технологий (National Institute of Standards and Technology) в качестве стандарта  [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/code.png"><img class="aligncenter size-large wp-image-254" title="code" src="/wp-content/uploads/2011/01/code-1024x585.png" alt="блочный шифр" width="614" height="351" /></a></p>
<p>Обзор начнем с самого популярного в мире симметричного алгоритма шифрования — алгоритма DES (Data Encryption Standard).</p>
<p>Алгоритм DES был разработан фирмой IBM и в 1977 г. принят Национальным институтом стандартов и технологий (National Institute of Standards and Technology) в качестве стандарта Правительства США для шифрования информации категории «less-than-top-secret» (ниже, чем высшей категории секретности). С тех пор он повторно сертифицировался в качестве такого стандарта каждые 5 лет вплоть до 1993 г. В 1998 г. Национальный институт стандартов и технологий США отказался сертифицировать DES, что было связано с тем, что уровень развития вычислительной техники сделал возможным вскрытие DES относительно дешевыми средствами.<span id="more-48"></span></p>
<p>DES является так называемым «блочным шифром» (когда шифруемая информация обрабатывается блоками фиксированной длины, в случае DES длина блока составляет 64 бита) и имеет ключ длиной 56 битов (ключ представляется двоичной последовательностью длиной 64 бита, которая получается из последовательности битов ключа добавлением после каждых 7 битов ключа бита проверки на нечетность; таким образом, в двоичном представлении ключа в позициях 8, 16, 24,&#8230;, 64 стоят биты проверки на нечетность).</p>
<p>В основе алгоритма DES лежат многочисленные нелинейные преобразования (перестановки, подстановки, сдвиги и S-преобразования), выполняемые над отдельным элементами шифруемого блока. Такие преобразования могут быть описаны системой нелинейных уравнений, решение которой является NP-полной задачей (не существует известного полиномиального по сложности алгоритма решения).</p>
<p>Очень схематично опишем работу алгоритма DES. Сначала 64-битовый блок шифруемой информации W подвергается начальной фиксированной перестановке (каждый бит w занимает положение, задаваемое специальной таблицей, определенной DES). Получившийся в результате блок w представляется в виде W=L(0)R(0), где L(0),R(0) соответственно первые и последние 32 бита W.</p>
<p>Алгоритм DES является циклическим. Если вычислены значения L(n-1),</p>
<p>R(n-1) для 1≤n≤16 , то L(n), R(n), определяются следующими равенствами:</p>
<p><a href="/wp-content/uploads/2011/01/img_10.jpg"><img class="aligncenter size-full wp-image-51" title="img_10" src="/wp-content/uploads/2011/01/img_10.jpg" alt="" width="322" height="77" /></a></p>
<p>где <a href="/wp-content/uploads/2011/01/img_11.jpg"><img class="alignnone size-full wp-image-52" title="img_11" src="/wp-content/uploads/2011/01/img_11.jpg" alt="" width="22" height="21" /></a> означает побитовое сложение, функция / определена далее, а К(п) — 48-битовые последовательности, получаемые из ключа DES с помощью фиксированного набора определенных в стандарте DES перестановок, сдвигов и подстановок. Криптотекст оригинального блока W представляет собой блок L(16)R(16).</p>
<p>Очевидно, что расшифрование криптотекста осуществляется с помощью следующего набора равенств:</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/img_12.jpg"><img class="alignnone size-full wp-image-53" title="img_12" src="/wp-content/uploads/2011/01/img_12.jpg" alt="" width="279" height="72" /></a></p>
<p>для 1≤n≤16. После вычисления с помощью этих равенств значений L(0), R(0) расшифрование начального блока очевидно. Функция /(х,у), где х — двоичная переменная длиной 32 бита, а у — переменная длиной 48 битов, имеет областью допустимых значений множество всевозможных последовательностей длиной 32 бита и строится следующим образом. Переменная х «расширяется» до блока xt длиной 48 битов с помощью определенной в стандарте DES следующей таблицы:</p>
<p><a href="/wp-content/uploads/2011/01/img_14.jpg"><img class="aligncenter size-full wp-image-54" title="img_14" src="/wp-content/uploads/2011/01/img_14.jpg" alt="" width="317" height="250" /></a></p>
<p>После такого «расширения» блок х, побитно складывается по модулю 2 с блоком у. Результирующий блок В, состоящий из 48 битов, делится на 8 шестибитовых блоков В=В1 В2 В3 В4 В5 В6 В7 В8. В свою очередь, каждый из этих восьми блоков преобразуется в четырехбитовые блоки А1 А2 А3 А4 А5 А6 А7 А8 с помощью специальных нелинейных преобразований S,,&#8230;, S8. Каждое S-преобразование задается определенной в алгоритме DES таблицей, состоящей из 4 строк и 16 столбцов. Элементами таблицы являются целые десятичные числа, принимающие значения от 0 до 15.</p>
<p>Рассмотрим таблицу для преобразования S7. В соответствии с DES таблица имеет следующий вид:</p>
<p style="text-align: center;">4	 11	 2	 14	 15	 0	 8	 13	 3	 12	 9	 7	 5	 10	 6	 1<br />
13	 0	 11	 7	 4	 9	 1	 10	 14	 3	 5	 12	 2	 15	 8	 6<br />
1	 4	 11	 13	 12	 3	 7	 14	 10	 15	 6	 8	 0	 5	 9	 2<br />
6	 11	 13	 8	 1	 4	 10	 7	 9	 5	 0	 15	 14	 2	 3	 12</p>
<p style="text-align: left;">Строки таблицы пронумерованы сверху вниз от 0 до 3, а столбцы — слева направо от 1 до 16.</p>
<p>Тогда преобразование S7, отображающее В7 (последовательность из 6 битов Z1,Z2, Z3, Z4, Z5, Z6) в Ay, строится следующим образом. Определяются два числа, двоичные представления которых соответственно равны ST=(Z,Z6), CL=(Z2 Z3 Z4 Z5). Далее из таблицы выбирается элемент, расположенный на пересечении строки ST и столбца CL. Вспомним, что элементами таблицы являются числа от 0 до 15. Поэтому для двоичного представления любого числа таблицы достаточно 4 битов. Двоичное представление выбранного элемента таблицы и есть последовательность А7.</p>
<p>Завершается определение функции / применением к 32-битному блоку А,А2 А3 А4 А5 А6 А7 А8 определенной в стандарте DES перестановки. Алгоритм DES обладает рядом интересных свойств. Первое свойство, касающееся симметрии, почти очевидно и состоит в том, что если в шифруемом блоке и ключе DES все 0 заменить на 1 и наоборот, то в результате шифрования получится блок, который образуется из первоначального криптотекста инверсией 0 и 1. Действительно, в DES используются только операции перестановки, подстановки, сдвиги и сложение по модулю 2, которые не зависят от того, как «называются» цифры 0 и 1.</p>
<p>Второе свойство носит название лавинообразного эффекта и является весьма желательным с точки зрения секретности: незначительное изменение исходного сообщения или ключа приводит к большим изменениям в криптотексте.</p>
<p>DES был впервые опубликован в 1973 г., и с тех пор во всем мире о нем написано такое количество различных статей и разделов в специальных книгах по криптографии, что, казалось бы, он должен быть давно вскрыт. Однако в течение долгого времени не происходило не только взлома этого шифра, но, по существу, даже снижения оценок его криптографической стойкости.</p>
<p>Сегодня известны два метода вскрытия DES. Первый метод состоит в полном переборе всех возможных вариантов ключа и их проверки на правильность расшифрования до получения истинного значения. В случае DES необходимо перебрать 2<sup>56</sup> (или примерно 7,2&#215;10<sup>16</sup>) возможных вариантов ключа.</p>
<p>Конечно, прогресс вычислительной техники за последние годы был настолько большим, что перебор всех возможных вариантов ключа DES уже не кажется сейчас столь же невероятной задачей, какой он представлялся еще в 1993 г. Известны две успешные атаки на алгоритм DES, совершенные в 1999 г. с привлечением компьютеров, подключенных к Интернету (open project). В первом случае ключ был скомпрометирован примерно за 3 месяца, и для его поиска было проанализировано 85 % всех возможных значений ключа. Во втором случае ключ был вскрыт за 6 недель, и для этого потребовалось перебрать около 25 % всех значений ключа. Кроме того, известен случай, когда компьютер, построенный за деньги организации Electronic Privacy Information Center и состоящий из 1728 процессоров, обеспечивающих перебор 88 млрд вариантов ключа в секунду, вскрыл DES за 56 часов работы.</p>
<p>В результате сегодня алгоритм DES уже не считается надежным, и в качестве наиболее простой альтернативы ему предлагается алгоритм Triple DES (другое обозначение — 3DES), использующий ключ длиной 112 битов.</p>
<p>Другой метод вскрытия DES называется дифференциальным криптоанализом. Он позволяет уменьшить число проверяемых ключей, но требует наличия криптотекстов для 2<sup>47</sup> выбранных значений шифруемых блоков. Трудно представить ситуацию, когда дифференциальный криптоанализ мог бы использоваться на практике. Поэтому этот метод имеет больше теоретическое, чем прикладное значение.</p>
<p>Важным достоинством DES является его высокая производительность. Так, DES быстрее алгоритма RSA (см. далее) той же криптостойкости, что и DES (для этого длина ключа в RS А должна быть равна 384 бита), в 100 раз, если используется программная реализация обоих криптоалгоритмов, и в 1000—10 000 раз, если применяется реализация алгоритмов в специализированных вычислительных устройствах, называемых Hardware Security Module.</p>
<p>Даже программная реализация DES на 486 PC позволяет шифровать данные со скоростью 400 Кбит/с. Экспорт программного обеспечения, использующего DES, до последнего времени контролировался Агентством национальной безопасности США. В результате в экспортируемом программном обеспечении использовался DES с ограниченной длиной ключа, равной 40 бит.</p>
<p>Как уже отмечалось, в 1998 г. Национальный институт стандартов и технологий отказался сертифицировать DES в качестве стандарта Правительства США.</p>
<p>После нескольких лет обсуждений американский Национальный институт стандартов и технологий 2 октября 2000 г. утвердил вместо DES новый стандарт блочного симметричного алгоритма шифрования AES (Advanced Encryption Standard).</p>
<p>Новый стандарт имеет очень хорошие шансы стать международным, если не де-юре, то, по крайней мере, де-факто. Во-первых, он был принят на основе открытого конкурса, в котором участвовали алгоритмы, предложенные математиками из многих стран (США, Канады, Австралии, Бельгии, Германии, Норвегии, Франции, Южной Кореи, Японии и даже Коста-Рики). Во-вторых, победителем стал алгоритм Rijndael, разработанный бельгийскими криптографами Винсентом Рэменом и Ионом Даменом. Название этого алгоритма образовано из первых букв фамилий его авторов, поэтому в транскрипции с фламандского оно произносится примерно как «рэндал». Бельгийское, а не американское происхождение Rijndael наверняка поможет AES получить признание в Европе, долгое время с подозрением относившейся к DES.</p>
<p>Алгоритм Rijndael был подвергнут скрупулезному анализу не только специалистами Национального института стандартов и технологий и Агентства национальной безопасности США, но и их конкурентами, среди которых были самые блестящие криптографы и криптоаналитики мира. Однако никому не удалось выявить уязвимые места этого алгоритма.</p>
<p>Rijndael может работать с ключами длиной 128, 192 и 256 битов, и поэтому в обозримом будущем он защищен от атак методом полного перебора всех возможных ключей. Кроме того, алгоритм сочетает в себе высокое быстродействие и умеренные требования к памяти. Поэтому он может быть реализован в самых различных устройствах, включая SIM мобильного телефона и смарт-карты. И наконец, Rijndael не защищен патентами и доступен для свободного использования в любых продуктах.</p>
<p>Большое распространение в последние годы получил симметричный алгоритм Triple DES. Этот алгоритм использует ключ, состоящий из двух ключей DES, и состоит из трех шагов. На первом шаге с помощью первого ключа и алгоритма DES 64-битный блок шифруется. На втором шаге с помощью второго ключа и в соответствии с алгоритмом DES полученный на первом шаге криптотекст дешифруется. На последнем, третьем шаге результат дешифрования, полученный на втором шаге, вновь шифруется с помощью первого ключа и алгоритма DES. Полученный 64-битный блок является криптотекстом Triple DES. Таким образом, алгоритм Triple DES требует трехкратного использования DES, откуда и происходит его название.</p>
<p>Очевидно, что для вскрытия алгоритма Triple DES методом полного перебора потребуется проверить 2<sup>112</sup>(или примерно 5,2х10<sup>33</sup>) различных ключей.</p>
<p>Скорость шифрования алгоритма Triple DES примерно в 3 раза ниже производительности DES и в случае программной реализации алгоритма на компьютере 486 PC составляет около 150 Кбит/с.</p>
<p>Следуя примеру США в разработке открытого национального стандарта шифрования, в 1989 г. государственный стандарт шифрования данных для сетей ЭВМ приняли в СССР. Он получил обозначение ГОСТ 28147-89 и имел гриф «Для служебного пользования» до конца существования самого СССР. В России он был принят официально с 1992 г. как стандарт шифрования данных наряду с другими бывшими стандартами СССР. Стандарт был формально объявлен полностью открытым в мае 1994 г. Стандарт ГОСТ 28147-89 так же, как и DES, является блочным шифром. Длина блока информации составляет также 64 бита. Длина ключа равняется 256 битам, и ни о какой практической возможности перебора всех допустимых вариантов ключа не только сегодня, но и в XXI веке не может быть и речи.</p>
<p>Примерно в это же время (в 1989 г.) был разработан и опубликован альтернативный алгоритму DES проект открытого национального стандарта шифрования данных Японии, получивший обозначение FEAL. Он также является блочным шифром, использует блок данных из 64 битов и ключ длиной 64 бита. Впрочем, ни он, ни какой-либо другой алгоритм так и не принят до настоящего времени в качестве национального стандарта шифрования Японии.</p>
<p>В 1990 г. К. Лэй и Дж. Мэсси (Швейцария) предложили проект международного стандарта шифрования данных, получивший обозначение IDEA (International Data Encryption Algorithm), который в международном криптографическом сообществе оценивается весьма высоко и за последние годы усилиями международных организаций по стандартизации (прежде всего европейских) активно выдвигался на роль официального общеевропейского стандарта шифрования данных. Длина ключа алгоритма IDEA равна 128 битов для шифрования блока длиной 64 бита. Как будет показано далее, алгоритм будет оставаться стойким к взлому на протяжении нескольких ближайших десятилетий.</p>
<p>Алгоритм IDEA использует три группы операций — побитовое сложение по модулю 2, сложение по модулю 2<sup>16</sup>, умножение по модулю 2<sup>16</sup>+1. Операции производятся над блоками длиной 16 битов, получающимися в результате деления шифруемого блока на 4 подблока. Алгоритм является циклическим — используется 8 циклов преобразований.</p>
<p>Сегодня алгоритм IDEA запатентован в США и большинстве европейских стран. Держателем патента является компания Ascom-Tech. Некоммерческое применение стандарта является бесплатным.</p>
<p>Алгоритм IDEA быстрее Triple DES, но медленнее DES. Скорость шифрования алгоритма в случае его программной реализации на компьютере 486 PC составляет около 200 Кбит/с. Алгоритм Skipjack был разработан Агентством национальной безопасности США для проектов Клиппер-чип (Clipper Chip) и Кэпстоун-чип (Capstone chip). Алгоритм использует ключ длиной 80 битов и использует 32 цикла на каждую операцию шифрования/дешифрования.</p>
<p>Проект Клиппер-чип был объявлен администрацией президента США в 1994 г. и должен был положить начало внедрению в США «Стандарта шифрования с депонированием ключа». Главный замысел проекта состоял в том, чтобы по решению суда предоставить правоохранительным органам беспрепятственный доступ к шифруемой с помощью Клиппер-чипа информации. Для этого в чипе используется алгоритм Skipjack с двумя ключами. Знание одного из ключей (мастер-ключа) достаточно для того, чтобы было возможно дешифровать любое сообщение, зашифрованное с помощью Клиппер-чипа. При изготовлении микросхемы этот мастер-ключ разделялся на две половины, подлежащих хранению в государственных организациях. Если правоохранительные органы получают необходимую санкцию в суде, они могут получить обе половины ключа и читать любую информацию, шифруемую с помощью соответствующей микросхемы. Сегодня можно утверждать, что идея проекта Клиппер-чипа провалилась. В то же время, известно, что Агентство национальной безопасности использует алгоритм Skipjack для шифрования собственных сообщений. Это подтверждает высокий уровень криптостойкости этого алгоритма.</p>
<p>Алгоритмы RC2 и RC4 — шифры с переменной длиной ключа для очень быстрого шифрования больших объемов информации (были разработаны Роном Райвестом). Эти два алгоритма быстрее, чем DES, и способны повышать степень защиты за счет выбора более длинного ключа. RC2 — блочный алгоритм, и его можно применять как альтернативу DES. RC4 представляет собой потоковый шифр и работает почти в десять раз быстрее DES.</p>
<p>Результаты сравнительного анализа рассмотренных алгоритмов приведены в таблице ниже</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/img_16.jpg"><img class="aligncenter size-full wp-image-49" title="img_16" src="/wp-content/uploads/2011/01/img_16.jpg" alt="" width="535" height="136" /></a><a href="/wp-content/uploads/2011/01/img_17.jpg"><img class="aligncenter size-full wp-image-50" title="img_17" src="/wp-content/uploads/2011/01/img_17.jpg" alt="" width="534" height="98" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ono.org.ua/kratkij-obzor-simmetrichnyx-algoritmov-shifrovaniya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Краткий обзор асимметричных алгоритмов шифрования</title>
		<link>http://ono.org.ua/kratkij-obzor-asimmetrichnyx-algoritmov-shifrovaniya.html</link>
		<comments>http://ono.org.ua/kratkij-obzor-asimmetrichnyx-algoritmov-shifrovaniya.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:27:27 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Введение в криптографию]]></category>

		<guid isPermaLink="false">http://ono.org.ua/?p=57</guid>
		<description><![CDATA[
Большинство современных асимметричных алгоритмов базируется на сложности решения следующих математических задач:

Задача факторизации (разложения на множители) большого числа: умножение двух больших чисел является полиномиальной от размеров сомножителей по сложности задачей. При этом обратная  [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/crypto_algorithm.jpg"><img class="aligncenter size-large wp-image-252" title="crypto_algorithm" src="/wp-content/uploads/2011/01/crypto_algorithm-1024x599.jpg" alt="алгоритм шифрования" width="614" height="359" /></a></p>
<p>Большинство современных асимметричных алгоритмов базируется на сложности решения следующих математических задач:</p>
<ul>
<li>Задача факторизации (разложения на множители) большого числа: умножение двух больших чисел является полиномиальной от размеров сомножителей по сложности задачей. При этом обратная задача — разложения на сомножители — является чрезвычайно трудоемкой, так, для разложения на множители числа длиной 200 цифр требуется не менее 1024 арифметических операций, что с вычислительной точки зрения является нереализуемой задачей. На сложности решения задачи факторизации основан алгоритм RSA.</li>
<li>Задача нахождения дискретного логарифма. С точки зрения вычислительной сложности достаточно легко выполнить операцию возведения в степень в конечном поле, но для решения обратной задачи — поиска дискретного логарифма — потребуется практически полный перебор элементов поля; на сложности решения задачи логарифмирования основаны алгоритмы DSA, EGSA, Diffie-Hellman.</li>
<li>Сложность декодирования в некоторых кодах, исправляющих ошибки, велика: достаточно легко получить кодовое слово (перемножить матрицы), но по кодовому слову найти базовое — задача вычислительно трудная. Этот метод редко используется на практике (известна криптосистема МсЕНесе, использующая коды Гоппа).<span id="more-57"></span></li>
</ul>
<p>Первой и наиболее известной в мире системой цифровой подписи стала система RSA, математическая схема которой была разработана в 1977 г. в Массачусетском технологическом институте (США) и запатентована в США в 1982 г. Она называется так по первым буквам фамилий авторов: R. Rivest, A. Shamir, L. Adleman.</p>
<p>В самых общих чертах система RSA состоит в следующем. Пусть р и q — два различных больших случайно выбранных простых числа (имеющих обычно не менее 100 разрядов в своем десятичном представлении).</p>
<p>Обозначим</p>
<p><a href="/wp-content/uploads/2011/01/img_18.jpg"><img class="aligncenter size-full wp-image-58" title="img_18" src="/wp-content/uploads/2011/01/img_18.jpg" alt="" width="261" height="25" /></a></p>
<p>Случайно выберем большое целое d, взаимно простое с ф(п), и определим 1&lt;е&lt;ф(п), удовлетворяющее сравнению:</p>
<p><a href="/wp-content/uploads/2011/01/img_19.jpg"><img class="aligncenter size-full wp-image-59" title="img_19" src="/wp-content/uploads/2011/01/img_19.jpg" alt="" width="191" height="30" /></a></p>
<p>Число е определяется с помощью алгоритма Евклида для нахождения наибольшего общего делителя двух целых чисел. Можно показать, что для нахождения е потребуется не более 2xlog ф(п) арифметических операций (здесь log означает логарифм по основанию 2).</p>
<p>Числа n, e и d называются, соответственно, модулем, экспонентой зашифрования и экспонентой расшифрования. Числа п и е образуют открытый ключ, тогда как оставшиеся числа р, q, ф(п) и d являются секретными. На практике следует оставить в качестве секретного ключа только экспоненту расшифрования d, а числа р, q, ф(п) могут быть уничтожены.</p>
<p>Процедура шифрования в схеме RSA определяется равенством</p>
<p><a href="/wp-content/uploads/2011/01/img_20.jpg"><img class="aligncenter size-full wp-image-60" title="img_20" src="/wp-content/uploads/2011/01/img_20.jpg" alt="" width="204" height="31" /></a></p>
<p>а процедура расшифрования — равенством</p>
<p><a href="/wp-content/uploads/2011/01/img_21.jpg"><img class="aligncenter size-full wp-image-61" title="img_21" src="/wp-content/uploads/2011/01/img_21.jpg" alt="" width="200" height="29" /></a></p>
<p>, что и доказывает равенство E(D(Y))=Y.</p>
<p>Для определения двух больших простых чисел р и q произвольно выбирается нечетное целое число г подходящего размера (скажем, 100-разрядное) и проверяется на простоту с помощью тестов Соловея-Штрассена. В случае если г не проходит тест на простоту, процедуре проверки подвергается число г+2 и т. д.</p>
<p>По теореме Чебышева о функции распределения числа простых чисел<a href="/wp-content/uploads/2011/01/img_24.jpg"><img class="aligncenter size-full wp-image-62" title="img_24" src="/wp-content/uploads/2011/01/img_24.jpg" alt="" width="299" height="28" /></a></p>
<p>100-разрядных простых чисел (здесь In означает натуральный логарифм). Если это число сравнить с числом</p>
<p><a href="/wp-content/uploads/2011/01/img_25.jpg"><img class="aligncenter size-full wp-image-63" title="img_25" src="/wp-content/uploads/2011/01/img_25.jpg" alt="" width="145" height="28" /></a></p>
<p>всех 100-разрядных нечетных чисел, видно, что вероятность успеха для конкретного теста приблизительно равна 0,00868. Как следует из определения схемы RSA, секретное и обратное преобразования являются коммутативными, что означает, что алгоритм RSA может использоваться для шифрования информации. Это свойство является чрезвычайно важным и широко используемым на практике.</p>
<p>Операцией, необходимой для зашифрования и расшифрования, является возведение в степень a<sup>r</sup> (mod n). Для ее реализации на практике используется метод последовательного возведения в квадрат (а<sup>2</sup>, а<sup>4</sup>, а<sup>8</sup>,&#8230;). Если k=[log2r]+1, то можно показать, что для получения а<sup>r</sup> (mod n) методом последовательного возведения в квадрат потребуется не более 2*к+1 произведений.</p>
<p>Обычно на практике экспонента расшифрования выбирается небольшой по размеру (иногда экспонента расшифрования одна и та же для целых групп пользователей). Это делает процедуру шифрования быстрее процедуры расшифрования, а процедуру верификации подписи быстрее процедуры подписывания. Алгоритмически процедуры с открытым ключом требуют О(К<sup>2</sup>) операций, с закрытым ключом — О(К<sup>3</sup>) операций, а процедура генерации ключей — О(К<sup>4</sup>) операций, где К — число битов в двоичном представлении модуля n.</p>
<p>Известны аппаратно-программные реализации алгоритма RSA, имеющие производительность более 600 Кбит/с при n=512 бит. Существуют два подхода к вскрытию алгоритма RSA. Первый состоит в попытке разложения п на простые множители (задача факторизации). Старейший и самый медленный метод разложения, решето Эратосфена, гарантирует решение задачи за n<sup>0,5</sup> проверок. Асимптотически самые быстрые алгоритмы факторизации требуют времени работы порядка <a href="/wp-content/uploads/2011/01/img_27.jpg"><img class="aligncenter size-full wp-image-64" title="img_27" src="/wp-content/uploads/2011/01/img_27.jpg" alt="" width="145" height="27" /></a> для произвольно малого ε.</p>
<p>Другой метод вскрытия RSA состоит в нахождении е-го корня по модулю n.</p>
<p>Поскольку с=т<sup>е</sup>, то е-й корень с представляет собой сообщение т. К настоящему времени не известно, чтобы этот метод сводился к задаче факторизации, так же так неизвестен способ вскрытия RSA, базирующийся на его использовании.</p>
<p>Сегодня криптосистемы RS А с модулем 384 бита считаются легко вскрываемыми, с модулем 512 битов — вскрываемыми правительственными службами, 784 бита — достаточно надежными, 1024 бита — надежными на ближайшие десятилетия.</p>
<p>В последние годы специалистам по компьютерной теории чисел с помощью весьма изощренных методов и мощных вычислительных систем (использовались самые быстрые суперкомпьютеры типа CRAY-3 или распределенные сети из нескольких сотен VAX-станций) удается иногда разлагать на множители целые числа из 150 десятичных знаков.</p>
<p>Алгоритм RSA де-факто является международным стандартом ЭЦП. Однако при рассмотрении вопроса о возможности практического использования метода RSA существуют следующие аргументы против:</p>
<ul>
<li>метод RSA защищен патентом США, и для его использования в коммерческих продуктах необходимо лицензионное соглашение с держателем патента — корпорацией RSA Data Security (США);</li>
<li>для обеспечения стойкости подписи на уровне 1018 необходимо использовать целые числа длиной не менее 360 битов (или 108 десятичных знаков) каждое, что требует достаточно больших вычислительных затрат;</li>
<li>при вычислении ключей в системе RSA необходимо проверять большое количество условий, невыполнение каждого из которых допускает возможность фальсификации подписи;</li>
<li>метод RSA позволяет без знания секретных ключей легко получать подписи под определенными новыми документами.</li>
</ul>
<p>Другой распространенный асимметричный алгоритм шифрования EGS А был разработан в 1984 г. американцем Т. Эль-Гамалем. Этот алгоритм не защищен патентом, что стало одним из доводов, использованных в августе 1991 г. Национальным институтом стандартов и технологий США для обоснования выбора алгоритма EGSА в качестве основы для национального стандарта DSA (Digital Signature Algorithm) перед комиссией Конгресса США.</p>
<p>По сравнению с методом RSA алгоритм EGSA имеет целый ряд преимуществ:</p>
<ul>
<li>во-первых, при заданном уровне стойкости алгоритма цифровой подписи целые числа, с которыми приходится проводить вычисления, короче, что, соответственно, уменьшает сложность вычислений и позволяет заметно сократить объем используемой памяти;</li>
<li>во-вторых, при выборе параметров достаточно проверить всего два простых условия;</li>
<li>в-третьих, процедура шифрования по этому методу не позволяет вычислять (как в RSA) цифровые подписи под новыми сообщениями без знания секретного ключа.</li>
</ul>
<p>Однако при всех перечисленных выше преимуществах алгоритм EGSA имеет и некоторые недостатки. В частности, при том же уровне стойкости длина подписи и время ее проверки оказываются больше, чем в RSA. Кроме того, повторение одного и того же случайного числа к в течение срока действия ключа х приводит к его раскрытию. Для этого достаточно решить систему из двух линейных уравнений.</p>
<p>Как и в схеме Эль-Гамаля, повторение одного и того же случайного числа к в течение срока действия ключа х приводит к его раскрытию.</p>
<p>Обзор не был бы полным без упоминания о первом асимметричном алгоритме шифрования — алгоритме Diffie-Hellman. Алгоритм Diffie-Hellman сегодня активно применяется для решения задачи организации обмена ключами в системах со многими пользователями.</p>
<p>Суть алгоритма состоит в следующем. Все операции производятся в некотором конечном поле GF(q) с примитивным элементом g. Порядок поля q представляет собой большое число (в алгебре доказывается, что порядок любого конечного поля представляет собой степень некоторого простого числа; на практике в качестве q используется простое число). Теперь рассмотрим двух участников криптосистемы — А и В. Каждый из них генерирует для себя секретное число (соответственно, а и b), которое хранится в секрете. Кроме того, каждый участник системы вычисляет в поле GF(q) величину g<sup>a</sup> и g<sup>b</sup>, соответственно. Вычисленные экспоненты являются публичными открытыми ключами, известными всем участникам криптосистемы.</p>
<p>Тогда, если А хочет организовать защищенное соединение с В, А генерирует сессионный ключ для некоторого симметричного алгоритма шифрования следующим образом: А берет публичный ключ стороны В — gb — и возводит его в степень своего секретного ключа а. В результате получается ключ g<sup>(a*b)</sup>. Очевидно, что этот же ключ может быть получен и стороной В на основании знания собственного секретного ключа b и открытого ключа А — ga.</p>
<p>Вскрытие алгоритма Diffie-Hellman близко к решению задачи нахождения логарифма в дискретном конечном поле, являющейся NP-полной задачей.</p>
<p>Криптостойкость алгоритма существенно зависит от выбора порядка поля, его примитивного элемента, а также размера секретных экспонент. В последнее время большое внимание уделяется алгоритмам ЕСС (Elliptic Curve Cryptography), основанным на применении конструкций, называемых эллиптическими кривыми. В основе этих алгоритмов лежит тот факт, что для уравнения a*x=b  относительно х при известных а и b и при условии, что a, b, x принадлежат эллиптической кривой Е, не известно другого алгоритма решения, кроме перебора всех возможных значений х. Более того, в силу сложности самой конструкции эллиптических кривых даже такой простой способ ее решения, как полный перебор, трудно оценить с вычислительной точки зрения. Поэтому оценки надежности систем цифровой подписи ЕСС до последнего времени считались специалистами существенно менее обоснованными, чем аналогичные оценки для задачи разложения на множители и дискретного логарифмирования. Лишь за последние 4-5 лет доверие аналитиков к конструкциям эллиптических кривых существенно возросло.</p>
<p>По современным оценкам сложности при уровне надежности алгоритмов ЕСС, соответствующим криптостойкости алгоритмов, основанным на задаче дискретного логарифмирования с длиной ключа 512 битов, можно ограничиться эллиптической кривой, точки которой описываются парами целых чисел, каждое из которых имеет длину 160 битов. Это позволяет сократить общую длину записи секретного ключа с 512 битов до 320, что, в свою очередь, уменьшает сложность вычислений (а значит, и время) в 2,4 раза. При этом в случае ЕСС сложность верификации ЭЦП в 36-480 раз больше, чем при использовании RSA.</p>
<p>Таким образом, эллиптические алгоритмы представляют особый интерес для приложений, связанных с микропроцессорными картами и ЭК, когда необходимо разгрузить процессоры карты и компьютера пользователя при операциях подписывания, а также использовать меньше памяти для хранения ключа (актуально только для карты).</p>
<p>В России приняты стандарты: ГОСТ Р 34.10-94 «Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма» и ГОСТ Р 34.11-94 «Функция хэширования». В основу российского стандарта положены схемы Эль-Гамаля и Шнорра.</p>
<p>Завершим обзор асимметричных алгоритмов шифрования перечнем наиболее часто используемых алгоритмов формирования дайджестов (хэш-кодов) сообщений.</p>
<p>MD2, MD4 и MD5 — алгоритмы дайджеста, разработанные Роном Райвестом. Каждый из них вырабатывает 128-битный хэш-код. Алгоритм MD2 — самый медленный, MD4 — самый быстрый. Алгоритм MD5 можно считать модификацией MD4, в котором скоростью пожертвовали ради увеличения надежности.</p>
<p>SHA-1 (Secure Hash Algorithm) — это алгоритм вычисления дайджеста сообщения, вырабатывающий хэш-код длиной 160 битов. Алгоритм SHA одобрен правительством США (как часть проекта Capstone). Он надежнее алгоритмов MDx, так как вырабатывает более длинный хэшкод, что снижает вероятность того, что разные входные последовательности будут преобразованы в одно значение хэш-кода.</p>
<p>В российском стандарте ГОСТ Р 34.11-94 длина дайджеста определена равной 256 битам.</p>
]]></content:encoded>
			<wfw:commentRss>http://ono.org.ua/kratkij-obzor-asimmetrichnyx-algoritmov-shifrovaniya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Методы оценки криптостойкости</title>
		<link>http://ono.org.ua/metody-ocenki-kriptostojkosti.html</link>
		<comments>http://ono.org.ua/metody-ocenki-kriptostojkosti.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:20:49 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Введение в криптографию]]></category>

		<guid isPermaLink="false">http://ono.org.ua/?p=66</guid>
		<description><![CDATA[
Остановимся теперь на оценке криптостойкости сегодняшних криптографических алгоритмов. Начнем с описания модели вскрытия секретного ключа.
Закон Мура, в соответствии с которым вычислительная производительность микропроцессоров увеличивается в 2 раза каждые 18 месяцев или, что то же самое, в 100  [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/crypto_strong.jpg"><img class="aligncenter size-large wp-image-248" title="crypto_strong" src="/wp-content/uploads/2011/01/crypto_strong-1024x685.jpg" alt="криптостойкость" width="614" height="411" /></a></p>
<p>Остановимся теперь на оценке криптостойкости сегодняшних криптографических алгоритмов. Начнем с описания модели вскрытия секретного ключа.</p>
<p>Закон Мура, в соответствии с которым вычислительная производительность микропроцессоров увеличивается в 2 раза каждые 18 месяцев или, что то же самое, в 100 раз каждые 10 лет. Сегодня типовой компьютер (Pentium based PC), подключенный к Интернету, имеет производительность около 100 MIPS (под 1 MIPS понимается производительность старого компьютера DEC VAX 11/780). Следовательно, средняя производительность PC в 2010 г. будет составлять 10 000 MIPS.<span id="more-66"></span></p>
<p>Оценки общего количества компьютеров в мире показывают, что сегодня их число составляет 100 миллионов. Число компьютеров за 10 лет увеличивается в 10 раз. Другими словами, в 2010 г. число компьютеров станет равно 1 миллиарду. По оценкам специалистов, 0,3 % всех компьютеров, подключенных к Интернету, могут быть вовлечены в криптоатаку (такие атаки относятся к классу Open Project и больше рассчитаны на общественное мнение, чем действительно направлены на компрометацию секретного ключа). Предполагается, что в будущем доля компьютеров, которые могут быть вовлечены в криптоатаку, составит 0,1 %.</p>
<p>Кроме атак, относящихся к классу Open Project, существуют атаки, принадлежащие классу Covert Project, суть которых состоит в том, что используются недоиспользованные циклы корпоративных вычислительных систем. Например, вычислительная мощность системы только одной компании Sun Microsystems составляет 100 000 MIPS. Таким образом, уже в 2010 г. вычислительная мощность, доступная для атаки класса Covert Attack, будет составлять 100 млн MIPS.</p>
<p style="text-align: left;">Предполагается, что разумная оценка для времени, затрачиваемого на криптоатаку, — 1 год.<br />
В таблице приведены доступные вычислительные мощности, выраженные в MY (1MY=MIPS*1 год).<br />
<a href="/wp-content/uploads/2011/01/img_46.jpg"><img class="aligncenter size-full wp-image-67" title="img_46" src="/wp-content/uploads/2011/01/img_46.jpg" alt="" width="594" height="113" /></a>Из этой модели, в частности, следует, что сегодня надежными могут считаться симметричные алгоритмы с длиной ключа не менее 80 битов. На вскрытие алгоритма DES, о котором говорилось выше, было потрачено 0,5 MY, что находится в хорошем соответствии с данными приведенной таблицы.</p>
<p>Другой подход к оценке криптостойкости сегодняшних алгоритмов шифрования приведен в книге Брюса Шнайера «Applied Cryptography». В книге приведены данные по затратам на создание компьютера (цены 1995 г.), необходимого для взлома симметричного алгоритма с различной длиной ключа. Некоторые из этих данных приведены в таблице.</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/img_47.jpg"><img class="aligncenter size-full wp-image-68" title="img_47" src="/wp-content/uploads/2011/01/img_47.jpg" alt="" width="601" height="113" /></a><a href="/wp-content/uploads/2011/01/img_48.jpg"><img class="aligncenter size-full wp-image-69" title="img_48" src="/wp-content/uploads/2011/01/img_48.jpg" alt="" width="590" height="90" /></a></p>
<p>Наконец, представляет несомненный интерес соответствие длин ключей симметричного алгоритма шифрования и алгоритма RSA при одинаковой криптостойкости алгоритмов.</p>
<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/img_49.jpg"><img class="aligncenter size-full wp-image-70" title="img_49" src="/wp-content/uploads/2011/01/img_49.jpg" alt="" width="596" height="175" /></a></p>
<p>Тот факт, что вычислительная мощность, которая может быть привлечена к криптографической атаке, за 10 лет выросла в 1000 раз, означает необходимость увеличения за тот же промежуток времени минимального размера симметричного ключа и асимметричного ключа, соответственно, примерно на 10 и 20 битов.</p>
]]></content:encoded>
			<wfw:commentRss>http://ono.org.ua/metody-ocenki-kriptostojkosti.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Системы управления ключами</title>
		<link>http://ono.org.ua/sistemy-upravleniya-klyuchami.html</link>
		<comments>http://ono.org.ua/sistemy-upravleniya-klyuchami.html#comments</comments>
		<pubDate>Mon, 31 Jan 2011 14:16:54 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Введение в криптографию]]></category>

		<guid isPermaLink="false">http://ono.org.ua/?p=72</guid>
		<description><![CDATA[
С появлением большого числа криптосистем, основанных на использовании принятых в мире стандартов шифрования, встала новая не менее важная проблема, связанная с тем, что для обмена зашифрованными сообщениями между двумя участниками криптосистемы необходимо, чтобы обоим участникам обмена были  [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="/wp-content/uploads/2011/01/crypto.jpg"><img class="aligncenter size-large wp-image-246" title="crypto" src="/wp-content/uploads/2011/01/crypto-1024x761.jpg" alt="криптосистемa" width="614" height="457" /></a></p>
<p>С появлением большого числа криптосистем, основанных на использовании принятых в мире стандартов шифрования, встала новая не менее важная проблема, связанная с тем, что для обмена зашифрованными сообщениями между двумя участниками криптосистемы необходимо, чтобы обоим участникам обмена были заранее доставлены тщательно сохраняемые в секрете ключи для зашифрования и расшифрования сообщений.</p>
<p>Эта проблема становится тем более сложной, чем больше удаленных друг от друга пользователей желают обмениваться между собою зашифрованными сообщениями. Так, для сети из N пользователей необходимо иметь  одновременно в действии N*(N-1)/2 различных ключей. Тогда уже при N=1000 количество необходимых ключей будет близко к полумиллиону. Поскольку из соображений безопасности секретные ключи для шифрования должны меняться как можно чаще, то изготовление, упаковка и рассылка их с надежными курьерами из некоего абсолютно надежного центра (как это привычно делают в действующих системах «закрытой связи») становится задачей совершенно нереальной.<span id="more-72"></span></p>
<p>Решение проблемы было предложено в виде технологии открытого распределения ключей (Public Key Infrastructure). Суть этой технологии состоит в том, что пользователи самостоятельно и независимо с помощью датчиков случайных чисел генерируют свои индивидуальные ключи, которые хранят в секрете от всех на своем индивидуальном носителе: дискете, специальной магнитной или процессорной карточке, таблетке энергонезависимой памяти Touch Memory (фирмы Dallas Semiconductor) и т. п. Затем каждый пользователь из своего индивидуального ключа вычисляет с помощью известной процедуры свой так называемый «открытый ключ», то есть блок информации, который он делает общедоступным для всех, с кем хотел бы обмениваться конфиденциальными сообщениями.</p>
<p>Открытыми ключами пользователи могут обмениваться между собой непосредственно перед передачей зашифрованных сообщений. Другая, более простая с организационной точки зрения альтернатива — поручить третьей стороне сбор всех открытых ключей пользователей в единый каталог. Администратор каталога должен заверить открытые ключи пользователей своей подписью и разослать этот каталог всем остальным участникам обмена. Сегодня службы администрирования открытых ключей принято называть центрами сертификации (ЦС).</p>
<p>В качестве стандарта для единого каталога ключей может использоваться протокол Х.500.</p>
<p>Открытые ключи, заверенные ЦС, называют сертификатами. Сертификат открытого ключа — это объект, связывающий пользователя с его ключом. Сертификат используется при проверке цифровой подписи.</p>
<p>Обычно сертификаты хранятся как объекты службы каталогов или на специально выделенных для этого серверах. В случае компрометации ключа или изменения данных самого сертификата сертификаты должны отзываться. Для этого их заносят в список отозванных сертификатов (Certificate Revocation List, CRL), поддерживаемый ЦС.</p>
<p>Х.509 — это стандарт, описывающий формат и синтаксис сертификатов. Различные протоколы, использующие защиту данных и аутентификацию, например SET, SSL, S-HTTP и другие, применяют сертификаты Х.509. Первая версия стандарта Х.509 была опубликована в 1988 г. Текущая версия — третья.</p>
<p>Главная задача сертификата — установить соответствие между пользователем и его открытым ключом. В состав полей сертификата стандарта Х.509, в частности, входят:</p>
<ul>
<li>номер версии стандарта Х.509;</li>
<li>номер сертификата;</li>
<li>идентификатор алгоритма ЭЦП;</li>
<li>идентификатор сертификационной службы, выдавшей сертификат;</li>
<li>идентификатор владельца сертификата;</li>
<li>срок действия сертификата;</li>
<li>сертифицируемый открытый ключ.</li>
</ul>
<p>Наибольшее распространение в мире технология открытого распределения ключей для шифрования конфиденциальных сообщений получила в корпоративных телекоммуникационных сетях и общедоступных сетях обмена электронными данными, прежде всего, в сети Интернет. Американский программист Филипп Циммерман (Zimmerman) даже написал общедоступный пакет программ для обмена сообщениями по электронной почте, получивший название PGP (Pretty Good Privacy). Основная идея Циммермана состояла в создании качественной, надежной программы шифрования для электронной почты, базирующейся на использовании наиболее сильных криптоалгоритмов, опубликованных в то время (на рубеже 80-90-х годов) в открытой литературе. Пакет PGP в первых его версиях вместе с исходными текстами программ был распространен в 1991 г. по сетям электронной почты практически во всем мире и был использован многими программистами в разработ<br />
ках средств защиты информации как неплохой, а главное, бесплатный материал.</p>
<p>Пакет PGP удачно совместил в себе возможности шифрования сообщений симметричными блочными алгоритмами, распределения симметричных ключей с помощью асимметричного алгоритма шифрования RSA, а также создания электронных подписей сообщений.</p>
<p>Предполагая возможное вмешательство правительства США в процесс развития подобных технологий в будущем, Циммерман вместе с программой версии 1.0 распространял и исходные тексты программы, положив начало традиции, поддерживаемой вплоть до настоящего времени. Это быстро привело к тому, что за улучшение программы взялись многочисленные добровольцы, и через несколько лет, по признанию самого Циммермана, в пакете PGP практически не осталось строк кода, написанных им самим.</p>
<p>Поскольку вплоть до последнего времени (до 17 декабря 1999 г.) по американским законам криптографическое программное обеспечение не разрешалось экспортировать без разрешения госдепартамента, а к 1993 г. пакет уже был распространен по всей планете, правительство США определило, что имело место нарушение закона. Было начато расследование, и только благодаря действиям группы юридической защиты программиста, созданной правозащитным движением, а также компании, развернутой в прессе в его поддержку, следствие по делу PGP было закрыто.</p>
<p>После этого Циммерман основал собственную компанию PGP для коммерческой раскрутки ставшего столь популярным продукта. К лету 1997 г. был готов самостоятельный продукт PGP Personal Privacy 5.0. В этой версии программа приобрела графический интерфейс и могла работать в операционных средах систем DOS, UNIX, Windows 95, Windows NT и Apple Macintosh.</p>
<p>В декабре 1997 г. компания была куплена Network Associates. Изменила свой статус и программа. Начиная с шестой версии, появившейся в сентябре 1998 г., PGP в качестве клиента входит в состав большого криптографического пакета PGP Enterprise Security, разработанного специально для защиты корпораций. При этом компания Network Associates сохранила распространяемую бесплатно версию PGPfreeware, хотя и лишенную множества дополнительных функций, но по-прежнему свободно доступную в Интернете.</p>
<p>Помимо протокола PGP существуют и другие системы управления ключами. Достаточно популярным является протокол Kerberos, разработанный в Массачусетском технологическом институте. Протокол реализует несколько функций. Одна из них — хранение личных ключей в защищенной БД. Ключ известен только Kerberos и его владельцу. Еще одна функция — доверенный посредник между двумя абонентами, желающими обменяться секретными ключами. Kerberos также предоставляет услуги аутентификации и рассылки ключей.</p>
<p>Известен также протокол SKIP (Simple Key Management for Internet Protocols). Это протокол управления ключами, разработанный компанией SUN Microsystems. SKIP легко реализуется. В нем описан способ вычисления ключа на основе сертификатов открытых ключей. Однако использование SKIP налагает определенные ограничения на выбор алгоритмов шифрования и хэширования. Протокол SKIP заявлен как необязательный компонент спецификации IPSec (Internet Protocol Security).</p>
<p>Кроме перечисленных протоколов для управления ключами используются алгоритмы Diffie-Hellman и KEA (Key Exchange Algorithm).</p>
]]></content:encoded>
			<wfw:commentRss>http://ono.org.ua/sistemy-upravleniya-klyuchami.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
