один для шифров-
ки сообщения, а второй - отличный от первого, но связанный с ним, - для
расшифровки. Располагая только ключом шифрования, сообщение легко зако-
дировать, но раскодировать его в пределах разумного времени практически
невозможно. Расшифровка требует отдельного ключа, доступного только оп-
ределенному получателю сообщения - точнее, компьютеру получателя. Ключ
шифрования основан на произведении двух огромных простых чисел, а ключ
дешифрования - на самих этих простых числах. Компьютер способен формиро-
вать новую пару уникальных ключей буквально в мгновение ока, ему ведь
ничего не стоит сгенерировать два больших простых числа и перемножить
их. Созданный таким образом ключ шифрования можно без особого риска сде-
лать общим, учитывая, насколько сложно даже другому компьютеру разложить
его на составные простые числа и тем самым получить ключ дешифрования.
Практически этот вид шифрования встанет в центр системы защиты на ин-
формационной магистрали. Весь мир будет во многом полагаться на эту
сеть, поэтому значимость должного уровня защиты информации очевидна. Ин-
формационную магистраль можно сравнить с сетью почтовых предприятий, где
у каждого есть свой бронированный почтовый ящик с не поддающимся взлому
замком. В щель почтового ящика любой может опустить письмо, но только у
владельца этого ящика есть ключ, который позволит достать оттуда коррес-
понденцию. (Некоторые правительства, наверное, будут настаивать, чтобы у
каждого почтового ящика была вторая, запасная дверца с отдельным ключом,
который бы хранился у какой-то правительственной организации, но мы пока
не станем обращать внимания на политические соображения, а сосредоточим-
ся на защите, обеспечиваемой программными средствами.)
Каждый пользовательский компьютер (или другое информационное уст-
ройство) на основе простых чисел будет генерировать ключ шифрования, со-
общаемый всем желающим, и ключ дешифрования, известный только конкретно-
му пользователю. Вот как это будет выглядеть на практике. У меня есть
информация, которую я хочу Вам передать. Моя система (на базе информаци-
онного устройства или компьютера) отыскивает Ваш общий ключ и с его по-
мощью шифрует сообщение перед посылкой. Никто, кроме Вас, это сообщение
прочитать не сможет, несмотря на то что этот ключ давно стал достоянием
гласности. Почему ? А потому, что принадлежащий Вам общий ключ не содер-
жит информацию, необходимую для дешифрования. Вы получаете сообщение, и
компьютер декодирует его на основе личного ключа, соответствующего обще-
му.
Но вот Вы захотели ответить на послание. Ваш компьютер отыскивает об-
щий ключ и с его помощью кодирует ответ. Никто другой это сообщение не
сумеет прочитать, невзирая на то что уж этот ключ - точно общий. И тем
не менее только я один узнаю содержание Вашей записки, потому что только
у меня есть личный ключ дешифрования. Такая система весьма практична,
поскольку никому не придется заблаговременно обмениваться ключами.
Насколько велики должны быть простые числа и их произведения, чтобы
необратимая функция работала по-настоящему эффективно ?
Концепция шифрования по общему ключу изобретена Уитфилдом Диффи
(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-разрядного произве-
дения двух простых чисел займет несколько миллионов лет, даже с учетом
постоянного роста вычислительных мощностей. Но кто за это поручится ?
Всегда есть вероятность - пусть и ничтожная, - что кто-то вдруг додума-
ется до простого способа разложения больших чисел на множители. А зна-
чит, программную платформу информационной магистрали надо строить так,
чтобы при необходимости можно было легко сменить систему шифрования.
Единственное, о чем беспокоиться не следует, - так это о том, что нам
не хватит простых чисел или что 2 компьютера ненароком используют под
ключи одинаковые числа. Простых чисел гораздо больше, чем атомов во Все-
ленной, поэтому шанс на случайное дублирование ничтожно мал.
Шифрование по ключу дает нечто большее простой конфиденциальности.
Оно обеспечивает и аутентификацию документов, потому что личный ключ
позволяет зашифровать сообщение, которое можно декодировать только с по-
мощью общего ключа. Работает это так. Информацию, которую я хочу подпи-
сать перед передачей Вам, мой компьютер кодирует моим личным ключом. Те-
перь Вы сможете прочитать это сообщение только в том случае, если
"отомкнете" его моим общим ключом. А он известен и Вам, и всем ос-
тальным. Таким образом, становится ясно, что сообщение поступило именно
от меня, поскольку такого личного ключа больше ни у кого нет.
Пойдем дальше. Мой компьютер берет это кодовое сообщение и снова шиф-
рует его, на этот раз применяя Ваш общий ключ. Затем по информационной
магистрали пересылает Вам уже дважды зашифрованное сообщение.
Ваш компьютер принимает его и расшифровывает с помощью Вашего личного
ключа. Тем самым он удаляет второй уровень шифрования, но оставляет пер-
вый - тот, который был осуществлен на основе моего личного ключа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
ки сообщения, а второй - отличный от первого, но связанный с ним, - для
расшифровки. Располагая только ключом шифрования, сообщение легко зако-
дировать, но раскодировать его в пределах разумного времени практически
невозможно. Расшифровка требует отдельного ключа, доступного только оп-
ределенному получателю сообщения - точнее, компьютеру получателя. Ключ
шифрования основан на произведении двух огромных простых чисел, а ключ
дешифрования - на самих этих простых числах. Компьютер способен формиро-
вать новую пару уникальных ключей буквально в мгновение ока, ему ведь
ничего не стоит сгенерировать два больших простых числа и перемножить
их. Созданный таким образом ключ шифрования можно без особого риска сде-
лать общим, учитывая, насколько сложно даже другому компьютеру разложить
его на составные простые числа и тем самым получить ключ дешифрования.
Практически этот вид шифрования встанет в центр системы защиты на ин-
формационной магистрали. Весь мир будет во многом полагаться на эту
сеть, поэтому значимость должного уровня защиты информации очевидна. Ин-
формационную магистраль можно сравнить с сетью почтовых предприятий, где
у каждого есть свой бронированный почтовый ящик с не поддающимся взлому
замком. В щель почтового ящика любой может опустить письмо, но только у
владельца этого ящика есть ключ, который позволит достать оттуда коррес-
понденцию. (Некоторые правительства, наверное, будут настаивать, чтобы у
каждого почтового ящика была вторая, запасная дверца с отдельным ключом,
который бы хранился у какой-то правительственной организации, но мы пока
не станем обращать внимания на политические соображения, а сосредоточим-
ся на защите, обеспечиваемой программными средствами.)
Каждый пользовательский компьютер (или другое информационное уст-
ройство) на основе простых чисел будет генерировать ключ шифрования, со-
общаемый всем желающим, и ключ дешифрования, известный только конкретно-
му пользователю. Вот как это будет выглядеть на практике. У меня есть
информация, которую я хочу Вам передать. Моя система (на базе информаци-
онного устройства или компьютера) отыскивает Ваш общий ключ и с его по-
мощью шифрует сообщение перед посылкой. Никто, кроме Вас, это сообщение
прочитать не сможет, несмотря на то что этот ключ давно стал достоянием
гласности. Почему ? А потому, что принадлежащий Вам общий ключ не содер-
жит информацию, необходимую для дешифрования. Вы получаете сообщение, и
компьютер декодирует его на основе личного ключа, соответствующего обще-
му.
Но вот Вы захотели ответить на послание. Ваш компьютер отыскивает об-
щий ключ и с его помощью кодирует ответ. Никто другой это сообщение не
сумеет прочитать, невзирая на то что уж этот ключ - точно общий. И тем
не менее только я один узнаю содержание Вашей записки, потому что только
у меня есть личный ключ дешифрования. Такая система весьма практична,
поскольку никому не придется заблаговременно обмениваться ключами.
Насколько велики должны быть простые числа и их произведения, чтобы
необратимая функция работала по-настоящему эффективно ?
Концепция шифрования по общему ключу изобретена Уитфилдом Диффи
(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-разрядного произве-
дения двух простых чисел займет несколько миллионов лет, даже с учетом
постоянного роста вычислительных мощностей. Но кто за это поручится ?
Всегда есть вероятность - пусть и ничтожная, - что кто-то вдруг додума-
ется до простого способа разложения больших чисел на множители. А зна-
чит, программную платформу информационной магистрали надо строить так,
чтобы при необходимости можно было легко сменить систему шифрования.
Единственное, о чем беспокоиться не следует, - так это о том, что нам
не хватит простых чисел или что 2 компьютера ненароком используют под
ключи одинаковые числа. Простых чисел гораздо больше, чем атомов во Все-
ленной, поэтому шанс на случайное дублирование ничтожно мал.
Шифрование по ключу дает нечто большее простой конфиденциальности.
Оно обеспечивает и аутентификацию документов, потому что личный ключ
позволяет зашифровать сообщение, которое можно декодировать только с по-
мощью общего ключа. Работает это так. Информацию, которую я хочу подпи-
сать перед передачей Вам, мой компьютер кодирует моим личным ключом. Те-
перь Вы сможете прочитать это сообщение только в том случае, если
"отомкнете" его моим общим ключом. А он известен и Вам, и всем ос-
тальным. Таким образом, становится ясно, что сообщение поступило именно
от меня, поскольку такого личного ключа больше ни у кого нет.
Пойдем дальше. Мой компьютер берет это кодовое сообщение и снова шиф-
рует его, на этот раз применяя Ваш общий ключ. Затем по информационной
магистрали пересылает Вам уже дважды зашифрованное сообщение.
Ваш компьютер принимает его и расшифровывает с помощью Вашего личного
ключа. Тем самым он удаляет второй уровень шифрования, но оставляет пер-
вый - тот, который был осуществлен на основе моего личного ключа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93