IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Криптография
Нурлан Темирович
сообщение 29.1.2008, 1:51
Сообщение #1


Скиталец
****

Группа: Пользователи
Сообщений: 227
Регистрация: 12.5.2007
Из: п.Боровое - г.Астана
Пользователь №: 375



Основы криптографии



Криптография (иногда употребляют термин криптология) – область знаний, изучающая тайнопись (криптография) и методы ее раскрытия (криптоанализ). Криптография считается разделом математики.

До недавнего времени все исследования в этой области были только закрытыми, но в посление несколько лет у нас и за рубежом стало появляться всё больше публикаций в открытой печати. Отчасти смягчение секретности объясняется тем, что стало уже невозможным скрывать накопленное количество информации. С другой стороны, криптография всё больше используется в гражданских отраслях, что требует раскрытия сведений.
4.1. Принципы криптографии

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

Раскрытием криптосистемы называется результат работы криптоаналитика, приводящий к возможности эффективного раскрытия любого, зашифрованного с помощью данной криптосистемы, открытого текста. Степень неспособности криптосистемы к раскрытию называется ее стойкостью.

Вопрос надёжности систем ЗИ - очень сложный. Дело в том, что не существует надёжных тестов, позволяющих убедиться в том, что информация защищена достаточно надёжно. Во-первых, криптография обладает той особенностью, что на "вскрытие" шифра зачастую нужно затратить на несколько порядков больше средств, чем на его создание. Следовательно тестовые испытания системы криптозащиты не всегда возможны. Во-вторых, многократные неудачные попытки преодоления защиты вовсе не означают, что следующая попытка не окажется успешной. Не исключён случай, когда профессионалы долго, но безуспешно бились над шифром, а некий новичок применил нестандартный подход - и шифр дался ему легко.

В результате такой плохой доказуемости надёжности средств ЗИ на рынке очень много продуктов, о надёжности которых невозможно достоверно судить. Естественно, их разработчики расхваливают на все лады своё произведение, но доказать его качество не могут, а часто это и невозможно в принципе. Как правило, недоказуемость надёжности сопровождается ещё и тем, что алгоритм шифрования держится в секрете.

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

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

Другое дело, что возможен метод ЗИ (строго говоря, не относящийся к криптографии), когда скрывается не алгоритм шифровки, а сам факт того, что сообщение содержит зашифрованную (скрытую в нём) информацию. Такой приём правильнее назвать маскировкой информации. Он будет рассморен отдельно.

4.2. Исторический экскурс

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

Широко известным историческим примером криптосистемы является так называемый шифр Цезаря, который представляет из себя простую замену каждой буквы открытого текста третьей следующей за ней буквой алфавита (с циклическим переносом, когда это необходимо). Например, "A" заменялась на "D", "B" на "E", "Z" на "C".

Несмотря на значительные успехи математики за века, прошедшие со времён Цезаря, тайнопись вплоть до середины 20 века не сделала существенных шагов вперёд. В ней бытовал дилетантский, умозрительный, ненаучный подход.

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

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

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

Тогда же, в период второй мировой войны появились и первые профессиональные службы дешифровки. Самая извесная из них - "Блечли-парк", подразделение английской службы разведки "МИ-5"
Дополнительная информация

Андрей Винокуров. Криптография, ее истоки и место в современном обществе (Цикл статей по криптографии. Введение)
4.3. Типы шифров

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

Этот тип шифров подразумевает наличие некой информации (ключа), обладание которой позволяет как зашифровать, так и расшифровать сообщение.

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

С другой стороны, среди шифров именно этой группы есть единственная в мире схема шифровки, обладающая абсолютной теоретической стойкостью. Все прочие можно расшифровать хотя бы в принципе. Такой схемой является обычная шифровка (например, операцией XOR) с ключом, длина которого равна длине сообщения. При этом ключ должен использоваться только раз. Любые попытки расшифровать такое сообщение бесполезны, даже если имеется априорная информация о тексте сообщения. Осуществляя подбор ключа, можно получить в результате любое сообщение.

4.5. Шифры с открытым ключом

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

Характерной особенностью шифров этого типа, выгодно отличающих их от шифров с секретным ключом, является то, что секретный ключ здесь известен лишь одному человеку, в то время как в первой схеме он должен быть известен по крайней мере двоим. Это даёт такие преимущества:
не требуется защищённый канал для пересылки секретного ключа, вся связь осуществляется по открытому каналу;
«что знают двое, знает свинья» - наличие единственной копии ключа уменьшает возможности его утраты и позволяет установить чёткую персональную ответственность за сохранение тайны;
наличие двух ключей позволяет использовать данную шифровальную систему в двух режимах - секретная связь и цифровая подпись.

Простейшим примером рассматриваемых алгоритмов шифровки служит алгоритм RSA. Все другие алгоритмы этого класса отличаются от него непринципиально. Можно сказать, что, по большому счёту, RSA является единственным алгоритмом с открытым ключом.
Алгоритм RSA

RSA (назван по имени авторов - Rivest, Shamir и Alderman) - это алгоритм с открытым ключом (public key), предназначенный как для шифрования, так и для аутентификации (цифровой подписи). Разработан в 1977 году. Он основан на трудности разложения очень больших целых чисел на простые сомножители (факторизации).

RSA - очень медленный алгоритм. Для сравнения, на программном уровне DES по меньше мере в 100 раз быстрее RSA; на аппаратном - в 1 000-10 000 раз, в зависимости от выполнения.

Алгоритм RSA заключается в следующем.
Берутся два очень больших простых числа p и q, и находятся их произведение n=pq и функция Эйлера от n:
.
Выбирается случайное целое число D, взаимно простое с M, и вычисляется E, такое, что:
.
Потом публикуется D и n как открытый ключ, E сохраняется в тайне (оно вместе с n составляет секретный ключ).
Пусть S - сообщение, длина которого должна быть в интервале (1..n); если длина его больше, то оно разбивается на части. Шифровка производится возведением в степень D по модулю n:
.
Для расшифровки производится аналогичная операция - возведение в степень E по модулю n:
.
В последнем равенстве нетрудно убедиться, используя малую теорему Ферма.

Таким образом, сообщение, зашифрованное открытым ключом, может быть расшифровано только секретным и наоборот.

Задача получения из открытого ключа {D, n} секретного ключа {E, n} сводится к задаче факторизации (разложения на простые сомножители) большого числа n. Такая задача для чисел длиной 100-150 десятичных разрядов пока не решена, и перспектив её решения в ближайшем будущем не видно. Однако, с другой стороны, пока не доказана и невозможность факторизации таких чисел (иначе, чем прямым перебором).

Алгоритм RSA запатентован в США. Его использование другими лицами не разрешено (при длине ключа свыше 56 бит). Правда, справедливость такого установления можно поставить под вопрос: как можно патентовать обычное возведение в степень? Но, тем не менее, RSA защищён законами об авторских правах.
Шифровка с открытым ключом


Сообщение, зашифрованное при помощи открытого ключа какого-либо абонента, может быть расшифровано только им самим, поскольку только он обладает секретным ключом. Таким образом, чтобы послать закрытое сообщение, вы должны взять открытый ключ получателя и зашифровать сообщение на нём. После этого даже вы сами не сможете его расшифровать.
Цифровая подпись


Когда мы действуем наоборот, то есть шифруем сообшение при помощи секретного ключа, то расшифровать его может любой желающий (взяв ваш открытый ключ). Но сам факт того, что сообщение было зашифровано вашим секретным ключом, служит подтверждением, что исходило оно именно от вас - единственного в мире обладателя секретного ключа. Этот режим использования алгоритма называется цифровой подписью.
4.6. Хэш-функции

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

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

Такая функция зовётся хэш-функцией. К её выбору следует отнестись тщательно. Неудачная хэш-функция позволит противнику подделать подписанное сообщение. Хэш-функция, так же, как и криптоалгоритмы, подлежит стандартизации и сертификации. В нашей стране она регламентируется ГОСТ Р-3411.

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

Например, при обмене сообщениями удалённых компьютеров, когда требуется аутентификация пользователя, может применяться метод, основанный на хэш-функции. Предположим, что один из компьютеров - клиент - должен несколько раз обратиться с запросами с компьютеру-серверу. Каждый раз проводить аутентификацию пользователя было бы неудобно. В то же время нельзя ограничиться проверкой лишь при первом контакте, поскольку злоумышленник может воспользоваться этим, подменив клиента после успешной проверки. Используется следующий метод. Компьютер-клиент генерирует случайное число и вычисляет от него одностороннюю функцию (хэш-функцию), затем эту же функцию от результата и так далее.
X0=Rnd();
X1=Hash(X0);
X2=Hash(X1);
X3=Hash(X2);
...

Эта последовательность X0...XN хранится в памяти клиента во время сеанса связи. При первом соединении и аутентификации на сервере клиент пересылает серверу последнее число последовательности XN. При следующем контакте в качестве подтверждения, что запрос исходит от уже прошедшего проверку клиента, пересылается предыдущее число - XN-1. Поскольку хэш-функция односторонняя, легко проверить, что XN=Hash(XN-1). При следующем обращении к серверу пересылается XN-2 и так далее. Но для злоумышленника, даже если он перехватит соединение, станет непосильной задачей из XN-1 вычислить XN, то есть, взять обратную функцию от Hash().
4.7. Криптография - оружие

Все государства уделяют пристальное внимание вопросам криптографии. Наблюдаются постоянные попытки наложить некие рамки, запреты и прочие ограничения на производство, использование и экспорт криптографических средств. Например, в России лицензируется ввоз и вывоз средств защиты информации, в частности, криптографических средств, согласно Указу Президента Российской Федерации от 3 апреля 1995 г. N 334 и постановлению Правительства Российской Федерации от 15 апреля 1994 г. N 331.

Объясняется такая политика теми особенностями, которые имеет криптография в плане её доступности для использования и трудности преодоления. О значении информации в современных производственных процессах было сказано в начале курса. Соответственно, с потерей контроля над информацией государство потеряет и свою власть над производственными и другими процессами. А криптография даёт обычному гражданину средства закрыть свою информацию настолько надёжно, что преодолеть защиту не сможет даже государство со всей его экономической мощью.

Почему государство всегда с опаской относилось к свободной продаже оружия гражданам? Вооружённые люди могут представлять угрозу для государственной власти. Но с появлением новых систем вооружения обычное стрелковое оружие стало не столь опасным, и к его свободному обращению относятся всё более либерально. Никакое количество людей с обычным стрелковым оружием не сможет противостоять, например, регулярной танковой дивизии.

Другое дело - криптография. Здесь соотношение «защита-нападение» уже иное. Криптографическая защита относительно дёшева, а средства её преодоления либо очень дороги, либо вообще не существуют. Один человек с персональным компьютером может успешно противопоставить свою защиту любым государственным структурам.

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

Объясняя важность общедоступности своего алгоритма, Филип Циммерманн, автор PGP, пишет: "Технологические достижения не оставляют возможности сохранения status quo в том, что касается приватности. Само status quo нестабильно. Если мы будем бездействовать, новые технологии предоставят правительству такие возможности для автоматизированной слежки, о которых не мечтал и Сталин. Единственным способом удержать позиции приватности в информационную эру является стойкая криптография."

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

Криптография становится оружием. Недаром правительства почти всех стран (и традиционно именуемых "демократическими" и тех, кого принято к таковым не относить) за последние годы хотя стали более либерально относиться к частному владению огнестрельным оружием, но постоянно ужесточают меры в отношении использования криптоалгоритмов. Власти пытаются запретить частное использование наиболее стойких из них, монополизировать, принудить производителей оставлять "чёрные ходы" в выпускаемых устройствах, ввести другие ограничения. Речь уже заходит о полном запрещении криптографии. Оставляя в стороне обсуждение вопросов приватности и свобод личности, на которые так напирает Циммерман, заметим, что подобная тенденция - неспроста. В наш информационный век, когда технология стоит дороже материалов, программное обеспечение - дороже аппаратной части, когда люди гибнут не «за металл», а за ценные сведения, информация становится реальной силой. Следовательно, криптография - оружием. И допустить попадание его в частные руки никакое государство не желает.

Несколько фактов в подтверждение такой точки зрения.
Законопроект США S.266 - внесенный в 1991 году рамочный законопроект, направленный против преступности, - таил в своих недрах беспрецедентные меры. Если бы этот билль принял форму закона, он принудил бы всех производителей оборудования для защищенной коммуникации оставлять в своих продуктах особые "черные ходы" с тем, чтобы правительство могло читать любую зашифрованную корреспонденцию. Билль гласил: "Конгресс постановляет, что поставщики услуг в области электронной коммуникации и производители оборудования, используемого для оказания услуг в области электронной коммуникации, обязаны обеспечить правительству доступ к незашифрованному содержимому всех передаваемых голосовых, цифровых и других данных в случаях, предусмотренных законом". После решительных протестов гражданских либертарианцев и промышленных групп указанные меры были исключены из законопроекта.
Законопроект США 1994 года "О цифровой телефонии" обязал телефонные компании устанавливать на центральных телефонных узлах точки входа для удаленного подслушивания, создав тем самым новую технологическую инфраструктуру "моментального подключения" для подслушивания. Конечно, закон все еще требует для осуществления подслушивания судебного постановления.
Через год после того, как законопроект 1994 года "О цифровой телефонии" стал законом, ФБР обнародовало план, согласно которому от всех телефонных компаний требовалось встраивать в свою инфраструктуру возможность одновременного подслушивания 1% всех телефонных разговоров во всех крупных городах США. ФБР утверждает, что эти возможности понадобятся в будущем. Эти намерения вызвали такое возмущение, что Конгресс отверг план, по крайней мере, на этот раз, в 1995 году.
В апреле 1993 года администрация Клинтона обнародовала новую инициативу в политике отношения к шифрованию, которая разрабатывалась Агентством национальной безопасности (АНБ) с начала правления Буша. Ядро этой инициативы - разработанное правительством шифровальное устройство под названием "Клиппер", которое содержит новый секретный алгоритм шифрования, придуманный АНБ. Правительство попыталось убедить частную промышленность встроить его во все выпускаемые продукты для обеспечения безопасности коммуникаций, такие как защищенные телефоны, защищенные факсы и т. п. Но дело в том, что в каждый кристалл "Клиппер" во время его производства загружается уникальный ключ шифрования, а правительство получает копию этого ключа, отправляемую в хранилище.
В докладной записке под названием "Шифрование: угрозы, применения и возможные решения", отправленной ФБР, АНБ и департаментом юстиции в адрес совета по национальной безопасности в феврале 1993 года, утверждается, что "технические решения будут работать только в том случае, если они встраиваются во все шифровальные продукты. Для обеспечения этого необходимо законодательное принуждение к использованию утвержденных правительством шифровальных продуктов или к соблюдению установленных правительством критериев".
В области средств защищенной телефонии ваш выбор невелик. Самым серьезным является устройство STU-III ("Защищенный телефонный аппарат"), продаваемый Motorola и AT&T по 2000-3000 долларов и используемый правительством для передачи секретной информации. Он использует стойкую криптографию, но для его покупки нужно особое правительственное разрешение. Доступна и его коммерческая версия, которая ослаблена для удобства АНБ, а также экспортная версия, ослабленная в еще большей степени. Затем, существует устройство Surity 3600, продаваемое AT&T по 1200 долларов, в котором для шифрования используется хваленая правительственная микросхема "Клиппер", а копии ключей помещены в правительственное хранилище для удобства подслушивающих.
После второй мировой войны США продавали немецкую шифровальную машину "Энигма" правительствам стран третьего мира. Однако последним при этом не сообщалось, что во время войны союзники взломали шифр "Энигмы" (факт, многие годы остававшийся засекреченным). Даже сейчас многие Unix-системы во всем мире используют шифр "Энигмы" для шифрования файлов, отчасти потому, что правительство создало юридические препятствия к использованию лучших алгоритмов. Оно даже пыталось помешать первой публикации алгоритма RSA в 1977 году. Кроме того, в течение многих лет правительство противостояло почти всем попыткам коммерческих фирм создать по-настоящему безопасные телефоны для массового использования.
АНБ отвечает за экспертизу и рекомендацию алгоритмов шифрования. Ряд критиков усматривает в этом конфликт интересов, подобно тому, как если бы козлу поручили сторожить огород. В 1980 годы АНБ проталкивало разработанный им алгоритм обычного шифрования, (COMSEC), но не сообщало о том, как он работает, так как алгоритм был засекречен.
В России предпринимаются аналогичные меры для ограничения использования криптографии частными лицами и фирмами. Создана аналогичная АНБ США стуктура - ФАПСИ, которая сделана монополистом в области защиты связи.
3 апреля 1995 г. подписан Указ "О мерах по соблюдению законности в области разработки, производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации." Этим Указом государственным организациям и предприятиям запрещено использование шифровальных средств, включая криптографические средства обеспечения подлинности информации (электронная цифровая подпись), не имеющих сертификата ФАПСИ. Этим же Указом Центральному банку РФ и ФАПСИ предложено "принять необходимые меры в отношении коммерческих банков РФ", уклоняющихся от использования защищенных технических средств хранения, обработки и передачи информации при информационном взаимодействии с подразделениями Центрального банка. Указом запрещается деятельность, связанная с разработкой, производством, реализацией и эксплуатацией шифровальных средств, а также защищенных технических средств хранения, обработки и передачи информации без лицензий, выданных ФАПСИ.
Здесь же следует упомянуть разработанный ФСБ законопроект "Технические требования к системе технических средств по обеспечению функций оперативно-розыскных мероприятий на сетях документальной электросвязи", вызвавший возмущение всех пользователей Интернета в России. В нём предусмотрено обязать всех провайдеров иметь оборудование для дистанционного съёма информации обо всех пользователях сети и всех их данных. Естественно, использование устойчивой криптографии пользователями сделает этот проект бессмысленным.
Дополнительная информация

Ф.Циммерман. Особенности модели безопасности и уязвимые места
4.8. DES и ГОСТ-28147; RSA и ГОСТ-Р-3410

DES (Data Encryption Standart) это алгоритм с симметричными ключами, т.е. один ключ используется как для шифровки, так и для расшифровки сообщений. Разработан фирмой IBM и утвержден правительством США в 1977 как официальный стандарт для защиты информации, не составляющей государственную тайну.

DES имеет блоки по 64 бит, основан на 16-кратной перестановке данных, для шифрования, использует ключ длиной 56 бит. Существует несколько режимов DES, например Electronic Code Book (ECB) и Cipher Block Chaining (CBC).

56 бит - это 8 семибитовых ASCII-символов, т.е. пароль не может быть больше чем 8 букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 256.

Один из шагов алгоритма DES.

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

После нескольких таких <взбиваний> можно считать, что каждый бит выходного блока шифровки может зависеть от каждого бита сообщения.

В России есть аналог алгоритма DES, работающий по тому же принципу секретного ключа. ГОСТ 28147 разработан на 12 лет позже DES и имеет более высокую степень защиты. Сравним их характеристики.Характеристика DES ГОСТ 28147
Длина ключа, бит 56 256
Размер блока, бит 64 512
Количество циклов 16 64

4.9. Сертификация и стандартизация криптосистем

Как уже было сказано, криптосистема не может считаться надёжной, если не известен полностью алгоритм её работы. Только зная алгоритм, можно проверить, устойчива ли защита. Однако проверить это может лишь специалист, да и то зачастую такая проверка настолько сложна, что бывает экономически нецелесообразна. Как же обычному пользователю, не владеющему математикой, убедиться в надёжности криптосистемы, которой ему предлагают воспользоваться?

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

У нас единственным органом, уполномоченным проводить сертификацию, является Федеральное агентство правительственной связи и информации при Президенте Российской Федерации (ФАПСИ). Орган этот подходит к вопросам сертификации очень тщательно. Совсем мало разработок сторонних фирм смогли получить сертификат ФАПСИ. Иногда можно наблюдать такую картину. Фирма торгует неким программным, программно аппаратным комплексом или техническим решением, при этом гордо заявляет: «Продукция имеет сертификат ФСБ, Минсвязи, Госсвязьнадзора и т.п.» Надо сознавать, что документы эти юридически ничтожны.

ФСБ уполномочена лишь создавать и эксплуатировать без лицензирования средства криптозащиты (ст.20 ФЗ "Об органах федеральной службы безопасности в Российской Федерации"; п.8 Положения о Федеральной службе безопасности Российской Федерации, утв. Указом Президента РФ от 6 июля 1998 г. N 806). Также право на создание и эксплуатацию криптографических средств предоставлено Федеральной службе охраны (ст.30 ФЗ "О государственной охране"). А вот Службе внешней разведки в праве разрабатывать криптосредства отказано (ст.6 ФЗ "О внешней разведке"). Порядок сертификации установлен Положением о сертификации средств защиты информации (утв. постановлением Правительства РФ от 26 июня 1995 г. N 608).

Кроме того ФАПСИ лицензирует деятельность предприятий, связанную с разработкой, производством, реализацией и эксплуатацией шифровальных средств, а также защищенных технических средств хранения, обработки и передачи информации, предоставлением услуг в области шифрования информации (Указ Президента РФ от 03.04.95 N 334 "О мерах по соблюдению законности в области разработки производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации"; а также Закон РФ "О федеральных органах правительственной связи и информации").

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


--------------------
Депутат Молодежного Маслихата г.Астаны
Перейти в начало страницы
 
+Цитировать сообщение
Нурлан Темирович
сообщение 29.1.2008, 1:57
Сообщение #2


Скиталец
****

Группа: Пользователи
Сообщений: 227
Регистрация: 12.5.2007
Из: п.Боровое - г.Астана
Пользователь №: 375



Алгоритм Blowfish


Blowfish это 64-битный шифр разработанный Шнайером в 1993 году. Это шифр Файстела, и каждый проход состоит из зависимой от ключа перестановки и зависимой от ключа с данными замены. Все действия основаны на операциях XOR и прибавлениях к 32-битным словам. Ключ может иметь длину до 72 байт (остальная часть ключа в данной реализации не влияет на работу).

Процедура шифрования(дешифрования) состоит из двух этапов:
Инициализация массивов P и S при помощи ключа
Непосредственно шифрование(дешифрование)

Инициализация массивов P и S реализована в блок-схеме initBlowfish.bls. На вход процедуры подается массив Key байтов ключа, размер массива Key передается в переменной n. В процедуре используется массив случайных величин RandomSeed, каждый из элементов которого имеет тип LongInt(= array [0..3] of byte). Следует заметить, что массив RandomSeed должен быть задан заранее и остается неизменным при шифровании(дешифровании). Использование массива RandomSeed не является обязательным, возможна инициализация массивов P и S случайными величинами напрямую.

Непосредственно шифрование осуществляется процедурой реализованной блок-схемой EncryptBlowfish.bls. Шифруются последовательно пары элементов Xl, Xr типа LongInt. При шифровке изменяется также содержание массивов P и S.

Операция дешифровки реализована в блок-схеме DecryptBlowfish.bls. Эта процедура аналогично дешифрует последовательно пары элементов Xl, Xr типа LongInt.

Таким образом, чтобы зашифровать/расшифровать некий массив 32-х битных величин, надо вначале инициализировать массивы (InitBlowfish) P и S, а затем последовательно подавать на вход процедуры шифровки(EncryptBlowfish)/дешифровки(DecryptBlowfish) пары элементов, при этом по ходу работы алгоритма шифрации/дешифрации массивы P и S будут постоянно изменяться.

Если данные блок-схемы напрямую экспортировать в Паскаль, они составят рабочий модуль шифровки/дешифровки на основе алгоритма Blowfish, но естественно не дадут слишком хороший результат по скорости работы. Желательно провести оптимизацию алгоритмов используя тот факт, что работа осуществляется с 32-битными величинами и следовательно можно существенно оптимизировать процедуры для машин c процессорами типа Pentium. Хотя следует заметить, что использование данных процедур напрямую, не вызвало видимой задержки при работе с файлами до 100 кбайт. Оптимизацию я оставляю Вам, свою же задачу я вижу в ознакомлении с данным алгоритмом.


--------------------
Депутат Молодежного Маслихата г.Астаны
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Mystic Cafe IPB Skin Designed by Fisana
Текстовая версия Сейчас: 26.4.2024, 22:23