Смекни!
smekni.com

Баричев С. Криптография без секретов (стр. 9 из 11)

Обратная задача вычисления x из y будет достаточно сложной. Если p выбрано достаточно правильно, то извлечение логарифма потребует вычислений, пропорциональных

L(p) = exp { (ln p ln ln p)0.5 }

Для обмена информацией первый пользователь выбирает случайное число x1, равновероятное из целых 1...p-1. Это число он держит в секрете, а другому пользователю посылает число

y1 = ax mod p

Аналогично поступает и второй пользователь, генерируя x2 и вычислив y2, отправляя его первому пользователю. В результате этого они могут вычислять k12 = ax1x2 mod p.

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

Не зная x1 и x2, злоумышленник может попытаться вычислить k12, зная только перехваченные y1 и y2. Эквивалентность этой проблемы проблеме вычисления дискретного логарифма есть главный и открытый вопрос в системах с открытым ключом. Простого решения до настоящего времени не найдено. Так, если для прямого преобразования 1000-битных простых чисел требуется 2000 операций, то для обратного преобразования (вычисления логарифма в поле Галуа) - потребуется около 1030 операций.

Как видно, при всей простоте алгоритма Диффи-Хелмана, вторым его недостатком по сравнению с системой RSA является отсутствие гарантированной нижней оценки трудоемкости раскрытия ключа.

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

В ка­че­ст­ве обоб­ще­ния ска­зан­но­го о рас­пре­де­ле­нии клю­чей сле­ду­ет ска­зать сле­дую­щее. За­да­ча управ­ле­ния клю­ча­ми сво­дит­ся к по­ис­ку та­ко­го про­то­ко­ла рас­пре­де­ле­ния клю­чей, ко­то­рый обес­пе­чи­вал бы:

* воз­мож­ность от­ка­за от цен­тра рас­пре­де­ле­ния клю­чей;

* вза­им­ное под­твер­жде­ние под­лин­но­сти уча­ст­ни­ков се­ан­са;

* под­твер­жде­ние дос­то­вер­но­сти се­ан­са ме­ха­низ­мом за­про­са-от­ве­та, ис­поль­зо­ва­ние для это­го про­грамм­ных или ап­па­рат­ных средств;

* ис­поль­зо­ва­ние при об­ме­не клю­ча­ми ми­ни­маль­но­го чис­ла со­об­ще­ний.


Про­бле­мы и пер­спек­ти­вы крип­то­гра­фи­че­ских сис­тем

Шиф­ро­ва­ние боль­ших со­об­ще­ний и по­то­ков дан­ных

Эта про­бле­ма поя­ви­лась срав­ни­тель­но не­дав­но с по­яв­ле­ни­ем средств муль­ти­ме­диа и се­тей с вы­со­кой про­пу­ск­ной спо­соб­но­стью, обес­пе­чи­ваю­щих пе­ре­да­чу муль­ти­ме­дий­ных дан­ных.

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

* фак­си­миль­ная, ви­део и ре­че­вая связь;

* го­ло­со­вая поч­та;

* сис­те­мы ви­део­кон­фе­рен­ций.

Объ­ем пе­ре­да­вае­мой ин­фор­ма­ции раз­ных ти­пов мож­но пред­ста­вить на ус­лов­ной диа­грам­ме.

Объем

информации

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

Это немыс­ли­мо без ис­поль­зо­ва­ния со­вре­мен­ных тех­но­ло­гий шиф­ро­ва­ния.

Наи­бо­лее рас­про­стра­нен­ным яв­ля­ет­ся по­то­ко­вое шиф­ро­ва­ние дан­ных. Ес­ли в опи­сан­ных ра­нее крип­то­си­сте­мах пред­по­ла­га­лось, что на вхо­де име­ет­ся не­ко­то­рое ко­неч­ное со­об­ще­ние, к ко­то­ро­му и при­ме­ня­ет­ся крип­то­гра­фи­че­ский ал­го­ритм, то в сис­те­мах с по­то­ко­вым шиф­ро­ва­ни­ем прин­цип дру­гой.

Сис­те­ма за­щи­ты не ждет, ко­гда за­кон­чит­ся пе­ре­да­вае­мое со­об­ще­ние, а сра­зу же осу­ще­ст­в­ля­ет его шиф­ро­ва­ние и пе­ре­да­чу.


Потоковое шифрование данных

Наи­бо­лее оче­вид­ным яв­ля­ет­ся по­би­то­вое сло­же­ние вхо­дя­щей по­сле­до­ва­тель­но­сти (со­об­ще­ния) с не­ко­то­рым бес­ко­неч­ным или пе­рио­ди­че­ским клю­чом, по­лу­чае­мым на­при­мер от ге­не­ра­то­ра ПСП[18]. Примером стандарта потокового шифрования является RC4, разработанный Ривестом. Однако, технические подробности этого алгоритма держатся в секрете[19].

Дру­гим, ино­гда бо­лее эф­фек­тив­ным ме­то­дом по­то­ко­во­го шиф­ро­ва­ния яв­ля­ет­ся шиф­ро­ва­ние бло­ка­ми. Т.е. на­ка­п­ли­ва­ет­ся фик­си­ро­ван­ный объ­ем ин­фор­ма­ции (блок), а за­тем пре­об­ра­зо­ван­ный не­ко­то­рым крип­то­гра­фи­че­ским ме­то­дом пе­ре­да­ет­ся в ка­нал свя­зи.

Ис­поль­зо­ва­ние “блу­ж­даю­щих клю­чей”

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

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

Идея ме­то­да дос­та­точ­но про­ста.

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

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

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

Наи­бо­лее дос­туп­ным яв­ля­ет­ся ис­поль­зо­ва­ние по­лей Га­луа. За счет воз­ве­де­ния в сте­пень по­ро­ж­даю­ще­го эле­мен­та мож­но по­сле­до­ва­тель­но пе­ре­хо­дить от од­но­го чис­ла к дру­го­му. Эти чис­ла при­ни­ма­ют­ся в ка­че­ст­ве клю­чей.

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

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

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

Шиф­ро­ва­ние, ко­ди­ро­ва­ние и сжа­тие ин­фор­ма­ции

Эти три ви­да пре­об­ра­зо­ва­ния ин­фор­ма­ции ис­поль­зу­ют­ся в раз­ных це­лях, что мож­но пред­ста­вить в таб­ли­це.

Вид преобразования

Цель

Изменение объема информации после преобразования.

Шифрование · пе­ре­да­ча кон­фи­ден­ци­аль­ной ин­фор­ма­ции; · обес­пе­че­ние ау­тен­ти­фи­ка­ции и за­щи­ты от пред­на­ме­рен­ных из­ме­не­ний; обыч­но не из­ме­ня­ет­ся, уве­ли­чи­ва­ет­ся лишь в циф­ро­вых сиг­на­ту­рах и под­пи­сях
По­ме­хо­устой­чи­вое ко­ди­ро­ва­ние · за­щи­та от ис­ка­же­ния по­ме­ха­ми в ка­на­лах свя­зи уве­ли­чи­ва­ет­ся
Сжа­тие (ком­прес­сия) · со­кра­ще­ние объ­е­ма передаваемых или хра­ни­мых дан­ных умень­ша­ет­ся

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