Рефераты. Современные криптографические методы

Международный алгоритм шиф­ро­ва­ния дан­ных IDEA

Шифр IDEA (International Data Encryption Algorithm) был разработан Лэй  и Мэсси  из ETH в Цюрихе. Этот шифр, наряду с RSA, применяется в популярной компьютерной криптосистеме PGP (Pretty Good Privacy).

IDEA представляет собой блочный шифр, использующий 128 битный ключ, для преобразования открытых 64 битных текстовых блоков.

Графическая схема алгоритма IDEA





64 битный текстовый блок подвергается  в ходе шифрования следующим процедурам:

·       A^B - побитовое сложение по модулю 2;

если A+B=>2, то A^B=А+B-2

если A+B<2 , то A^B<А+B, где A и B 1-битные числа.

·       A(+)B - сложение по модулю 216;

если A+B=>216, то A(+)B=A+B-216

если A+B<216 , то A(+)B=A+В, где A и B 16-битные числа.

·       A(*)B - умножение по модулю 216+1;

если A* B=>216+1, то A(*)B=A*B-216-1

если A* B<216+1 , то A(*)B=A*B, где A и B 16-битные числа.


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

На первом шаге:

p1 (*) s1 --> d1             p2 (+) s2 --> d2           p3 (+) s3 --> d3           p4 (*) s4 --> d4

d1 ^ d3 --> d5               d2 ^ d4 --> d6

d5 (*) s5 --> d7             d6 (+) d7 --> d8          d8 (*) s6 --> d9           d7 (+) d9 --> d10

d1 ^ d9  --> d11                        d3 ^ d9  --> d12          d2 ^ d10 --> d13         d4 ^ d10 --> d14

p1, p2, p3, p4 – четыре 16 битных блока, на которые разбиваются один блок исходного текста

s1, s2, s3, s4, s5, s6 – шесть 16 битных подключей.

На следующем шаге в качестве p1, p2, p3, p4 используют d11, d13, d12, d14 и новые шесть подключей. Полученные четыре последние 16 битных блока и есть зашифрованный текст. Процесс дешифрования осуществляется аналогично.

Шифрование и дешифрование отличаются только подключами. Первые восемь подключей определяются с помощью 128 битного ключа, который разделяется на восемь частей. Новые восемь подключей определяются следующим образом: начальный ключ смещается на 25 бит, и разделяется на восемь частей.

Подключи для дешифрования определяются таблицей:

1 шаг                                                   s49*  s50#  s51#  s52*  s47  s48

2 шаг                                                   s43*  s45#  s44#  s46*  s41  s42

3 шаг                                                   s37*  s39#  s38#  s39*  s35  s36

4 шаг                                                   s31*  s33#  s32#  s34*  s29  s30

5 шаг                                                   s25*  s27#  s26#  s28*  s23  s24

6 шаг                                                   s19*  s21#  s20#  s22*  s17  s18

7 шаг                                                   s13*  s15#  s14#  s16*  s11  s12

8 шаг                                                   s7*   s9#   s8#   s10*  s5   s6

Последнее преобразование              s1*   s2#   s3#   s4*


sXX* = мультипликативная инверсия sXX по  модулю 216+1

sXX# = аддитивная инверсия sXX по  модулю 216


Алгоритм RSA

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

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

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

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

 









Асимметричные крип­то­гра­фи­че­ские сис­те­мы ис­поль­зу­ют так называемые  не­об­ра­ти­мые  или од­но­сто­рон­ние функ­ции, ко­то­рые об­ла­да­ют сле­дую­щим свой­ст­вом: при за­дан­ном зна­че­нии x от­но­си­тель­но про­сто вы­чис­лить зна­че­ние f(x), од­на­ко ес­ли y=f(x), то нет про­сто­го пу­ти для вы­чис­ле­ния зна­че­ния x.

Ал­го­рит­мы шиф­ро­ва­ния с от­кры­тым клю­чом по­лу­чи­ли ши­ро­кое рас­про­стра­не­ние в со­вре­мен­ных ин­фор­ма­ци­он­ных сис­те­мах. Так, ал­го­ритм RSA стал ми­ро­вым стан­дар­том де-фак­то для от­кры­тых сис­тем.

Ал­го­рит­мы криптосистем с открытым ключом мож­но ис­поль­зо­вать в 3 на­зна­че­ни­ях.

1. Как са­мо­стоя­тель­ные сред­ст­ва за­щи­ты пе­ре­да­вае­мых и хра­ни­мых дан­ных.

2. Как сред­ст­ва для рас­пре­де­ле­ния клю­чей.

3. Сред­ст­ва ау­тен­ти­фи­ка­ции поль­зо­ва­те­лей.

Ал­го­рит­мы криптосистем с открытым ключом бо­лее тру­до­ем­ки, чем тра­ди­ци­он­ные крип­то­си­сте­мы, поэтому использование их в качестве са­мо­стоя­тель­ных сред­ст­в за­щи­ты нерационально.

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

Не­смот­ря на до­воль­но боль­шое чис­ло раз­лич­ных криптосистем с открытым ключом, наиболее популярна - криптосистема RSA, разработанная в 1977 году и по­лу­чив­шая на­зва­ние в честь ее соз­да­те­лей: Ривеста, Ша­ми­ра и Эй­дель­ма­на.

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

Пусть n=p*q, где p и q - различные простые числа, и e и d удовлетворяют уравнению

e*d (mod  (p-1)*(q-1))= 1

Если p и q - достаточно большие простые числа, то разложение n практически не осуществимо. Это и заложено в основу системы шифрования RSA.

{e,n} образует открытый ключ, а {d,n} - закрытый (можно взять и наоборот).

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

Шифрование осуществляется по формуле: Sшифр = Se  mod N

Шифрование осуществляется по формуле: S = Sdшифр  mod N

Где S – исходный текст, Sшифр – преобразованный текст, при этом S < N

Оценка надежности криптосистем

Группа известных специалистов-криптографов, созданная под эгидой Альянса производителей программного обеспечения для бизнеса (промышленной организации, препятствующей незаконному использованию программного обеспечения), пришла к выводу, что необходимая длина ключа в настоящее время должна быть не менее 75 битов с дальнейшим увеличением в течение последующих 20 лет до 90 битов. Проверим данное утверждение.

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

1)         использования достижений научно-технического прогресса и применения технологических новинок для увеличения производительности отдельного устройства;

2)                  увеличения количества таких устройств в системе.

C физической точки зрения тот тип транзистора, который является основой современной интегральной схемы, может быть уменьшен еще примерно в 10 раз, до размера 0,03 мк. За этой гранью процесс включения/выключения микроскопических переключателей станет практически невозможным. Таким образом максимальное быстродействие составит - 1016 операций/секунду, а предел роста наступит приблизительно в 2030 г.

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

Из списка, появившегося летом 1999 года, следует, что по быстродействию суперкомпьютеры распределились следующим образом:

с мощностью порядка 1012 FLOPS 3 экз.;

с мощностью порядка 1011 FLOPS 54 экз.;

с мощностью порядка 1010 FLOPS 428 экз.;

Страницы: 1, 2, 3, 4



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.