Медленным шагомСтраница 3
Хотя бесконечность количества простых чисел навсегда разрушила надежды на скорое доказательство Великой теоремы Ферма, такой большой запас простых чисел пригодился, например, в таких областях как шпионаж или исследование жизни насекомых. Прежде чем мы вернемся к повествованию о поиске доказательства Великой теоремы Ферма, уместно немного отвлечься и познакомиться с тем, как правильно и неправильно используются простые числа.
* * *
Теория простых чисел — одна из немногих областей чистой математики, которые нашли непосредственное приложение в реальном мире, а именно в криптографии. Криптография занимается кодированием секретных посланий с таким расчетом, чтобы декодировать их мог только получатель, а перехватчик расшифровать бы их не мог. Процесс кодирования требует использования ключа к шифру, и по традиции для дешифровки необходимо снабдить получателя этим ключом. При такой процедуре ключ — самое слабое звено в цепи обеспечения безопасности. Во-первых, получатель и отправитель должны условиться о деталях ключа, и обмен информацией на этом этапе сопряжен с определенным риском. Если противнику удастся перехватить ключ при обмене информацией, то он сможет дешифровывать все последующие послания. Во-вторых, для поддержания безопасности ключи необходимо регулярно менять, и при каждой замене ключа существует риск перехвата нового ключа противником.
Проблема ключа вращается вокруг того факта, что применение ключа в одну сторону приводит к шифровке послания, а применение того же ключа в обратную сторону дешифрует послание — дешифровка производится столь же легко, как и шифровка. Но из опыта нам известно, что ныне существуют многие ситуации, когда дешифровка гораздо сложнее, чем шифровка: приготовить яичницу-болтунью несравненно легче, чем вернуть яичницу-болтунью в исходное состояние, разделив белки и желтки.
В 70-е годы XX века Уитфилд Диффи и Мартин Хеллман занялись поиском математического процесса, который было бы легко выполнить в одну сторону, но невероятно трудно — в противоположную сторону. Такой процесс дал бы идеальный ключ. Например, у меня мог бы быть мой собственный ключ из двух частей, и его шифровальную часть я мог бы опубликовать в общедоступном месте. После этого любой желающий мог бы посылать мне зашифрованные послания, но дешифровальная часть ключа была бы известна только мне. И хотя шифровальная часть ключа была бы доступна всем, к дешифровальной части она не имела бы никакого отношения.
В 1977 году Рональд Ривест, Ади Шамир и Леонард Адлеман — группа математиков и специалистов по компьютерам из Массачусеттского технологического института — выяснили, что простые числа являются идеальным базисом для процесса легкой шифровки и трудной дешифровки. Чтобы изготовить мой собственный персональный ключ, я мог бы взять два огромных простых числа, каждое из которых содержит до 80 знаков, и, умножив одно число на другое, получить еще большее составное число. Все, что требуется для кодирования посланий, — это знать большое составное число, тогда как для дешифровки послания необходимо знать два исходных простых числа, которые мы перемножили, т. е. простые множители составного числа. Я могу позволить себе опубликовать большое составное число — шифровальную половину ключа, и сохранить в тайне два простых множителя — дешифровальную половину ключа. Очень важно, что хотя любому известно большое составное число, разложить его на два простых множителя чрезвычайно трудно.
Рассмотрим более простой пример. Предположим, что я выбрал и сообщил всем желающим составное число 589, позволяющее каждому посылать мне шифрованные послания. Два простых множителя числа 589 я сохранил бы в тайне, поэтому расшифровать послания никто, кроме меня, не может. Если бы кому-нибудь удалось найти два простых множителя числа 589, то такой человек также смог бы дешифровывать адресованные мне послания. Но сколь ни мало число 589, найти его простые множители не так-то просто. В данном случае на настольном компьютере в несколько минут можно было бы обнаружить, что простые множители числа 589 равны 31 и 19 (31·19 = 589), поэтому мой ключ не мог бы гарантировать безопасность переписки особенно долго.
Но если бы составное число, которое я опубликовал, содержало более сотни знаков, это делало бы поиск простых множителей практически неразрешимой задачей. Даже если для разложения огромного составного числа (шифровального ключа) на два простых множителя (дешифровального ключа) использовать самые мощные компьютеры, которые только существуют в мире, то и тогда, чтобы найти эти множители, понадобилось бы несколько лет. Следовательно, чтобы сорвать коварные планы иностранных шпионов, мне необходимо всего лишь ежегодно менять ключ. Раз в год я довожу до всеобщего сведения свое новое гигантское составное число, и тогда всякий, кто пожелает попытать счастья и расшифровать мои послания, будет вынужден приступать заново к разложению опубликованного числа на два простых множителя.
Другое по теме
Описание нейронных сетей
В первой части этой главы описана система
построения сетей из элементов. Описаны прямое и обратное функционирование сетей
и составляющих их элементов. Приведены три метода построения двойственных сетей
и обоснован выбор самодво ...