53  

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

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

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

Насколько велики должны быть простые числа и их произведения, чтобы необратимая функция работала по-настоящему эффективно?

Концепция шифрования по общему ключу изобретена Уитфилдом Диффи (Whitfield Diffie) и Мартином Хеллманом (Martin Hellman) в 1977 году. Чуть позже другая группа ученых в области компьютерных наук, Рон Ривест (Ron Rivest), Ади Шамир (Adi Shamir) и Леонард Эдельман (Leonard Adelman), стала использовать разложение произведений простых чисел на множители как часть того, что теперь известно под названием «криптосистема RSA» (где RSA – первые буквы фамилий этих ученых). Они считали: чтобы разложить 13О-разрядное произведение простых чисел на множители, понадобятся миллионы лет – независимо от вычислительных мощностей. Для доказательства они предложили всем скептикам найти 2 множителя в 129-разрядном числе (среди тех, кто имеет отношение к криптографии, его называют RSA 129):

114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242 362 562 561 842 935 706 935 245 733 897 830 597 123 563 958 705 058 989 075 147 599 290 026 879 543 541

Ученые были уверены, что сообщение, зашифрованное ими с помощью этого общего ключа-числа, никогда не удастся прочитать. Но они то ли проигнорировали закон Мура (согласно которому, как я рассказывал во второй главе, вычислительная мощность компьютеров постоянно возрастает), то ли просто не ожидали такого успеха персональных компьютеров (который привел к колоссальному росту компьютерного парка и пользователей во всем мире). Так или иначе, в 1993 году более 600 ученых, не считая энтузиастов со всего мира, начали биться над этим 129-разрядным числом, координируя работу своих компьютеров по Internet. И менее чем за год они разложили это число на множители: одно число оказалось 64-разрядным, а другое – 65-разрядным. Эти простые числа выглядели так:

3 490 529 510 847 650 949 147 849 619 903 898 133 417 764 638 493 387 843 990 820 577

и

32 769 132 993 266 709 549 961 988 190 834 461 413 177 642 967 992 942 539 798 288 533

А зашифрованная фраза гласила: «The magic words are squeamish аnd ossifrage» («Волшебные слова: разборчивый и скопа»).

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

Увеличение ключа всего на несколько разрядов резко усложняет взлом. Сегодня математики пришли к выводу – разложение 250-разрядного произведения двух простых чисел займет несколько миллионов лет, даже с учетом постоянного роста вычислительных мощностей. Но кто за это поручится? Всегда есть вероятность – пусть и ничтожная, – что кто-то вдруг додумается до простого способа разложения больших чисел на множители. А значит, программную платформу информационной магистрали надо строить так, чтобы при необходимости можно было легко сменить систему шифрования.

  53  
×
×