В случае Великой теоремы Ферма недостатка в любопытстве не было. Работа Гёделя о неразрешимости внесла элемент сомнения в вопрос о том, разрешима ли проблема Ферма, но истинных фанатиков Великой теоремы Ферма это ничуть не разочаровало. Гораздо более разочаровывающим было то, что с 30-х годов математики исчерпали все имевшиеся у них методы, а новых методов появилось явно недостаточно.
Вторая мировая война обусловила гигантский скачок в развитии со времен изобретения логарифмической линейки. И следующим этапом в направлении доказательства теоремы Ферма стало развитие вычислительной техники и криптографии.
Подход с позиций грубой силы
Когда в 1940 году Г.Г. Харди заявил о том, что самая первоклассная математика в основном бесполезна, он тут же был вынужден добавить, что это не обязательно плохо: «Настоящая математика не оказывает влияния на ведение войн. Никто еще не открыл ни одного применения теории чисел в военных целях». Вскоре выяснилось, что Харди заблуждался.
В 1944 году Джон фон Нейман в соавторстве с Оскаром Моргенштерном написал книгу «Теория игр и экономическое поведение», в которой ввел придуманный им термин «теория игр». Фон Нейман попытался использовать математику для описания структуры игр и того, как люди играют в них. Он начал с шахмат и покера, а затем попытался построить модели более сложных игр — таких, как экономика. После второй мировой войны корпорация RAND оценила потенциал идей фон Неймана и пригласила его принять участие в разработке стратегии холодной войны. С той поры математическая теория игр стала основным средством, с помощью которого генералы проверяют разрабатываемые ими стратегии, рассматривая вооруженные конфликты как усложненный вариант шахматных партий. Простой иллюстрацией применения теории игр к анализу военных операций служит задача о труэли.
Труэль аналогична дуэли, но с тремя участниками вместо двух. Однажды утром м-р Блэк, м-р Грей и м-р Уайт вздумали решить конфликт труэлью на пистолетах. Стрелять условились до тех пор, пока в живых не останется только один из участников. М-р Блэк стрелял хуже всех. В цель он попадал в среднем лишь один раз из трех. М-р Уайт стрелял лучше всех — без промаха. Чтобы уравнять шансы участников труэли, м-ру Блэку разрешено стрелять первым, за ним должен стрелять м-р Грей (если он останется в живых), затем мог стрелять м-р Уайт (если он еще будет жив).
Далее все начиналось снова, и так до тех пор, пока в живых не останется только один из участников труэли. Вопрос: в кого должен выстрелить м-р Блэк, производя свой первый выстрел? Вы можете попытаться ответить на этот вопрос, опираясь на свою интуицию, но лучше все же, если ваш ответ будет основан на теории игр. Решение задачи см. в Приложении 9.
Большое значение в военное время приобрела математическая теория криптографии — наука о конструировании и «взламывании» кодов. Во время второй мировой войны союзники поняли, что математическая логика может оказаться полезной для дешифровки немецких радиограмм, если только вычисления проводить достаточно быстро. Требовалось автоматизировать математические вычисления, чтобы их могла производить машина, и более других способствовал раскрытию немецких кодов английский математик Алан Тьюринг.
В 1938 году Тьюринг вернулся в Кембридж после стажировки в Принстонском университете. Он стал свидетелем того переполоха, который вызвали теоремы Гёделя о неразрешимости, и принял участие в попытках спасти осколки мечты Гильберта.
В частности, Тьюринг захотел выяснить, существует ли способ, позволяющий определить, какие проблемы разрешимы и какие неразрешимы, и попытался разработать метод, дающий ответ на этот вопрос. В те времена вычислительные устройства были весьма примитивными и, по существу, бесполезными, когда дело касалось серьезных задач. Поэтому Тьюринг основывал свои идеи не на реальных компьютерах, а на представлении о некоторой воображаемой машине, способной неограниченно производить вычисления.
Все, что требовалось Тьюрингу для исследования абстрактных логических проблем, — гипотетическая машина, снабженная бесконечной воображаемой лентой, разделенной на клетки, и способная неограниченно производить вычисления. Тьюринг и не подозревал, что предложенная им воображаемая автоматизация решения гипотетических проблем в конечном счете приведет к перевороту в выполнении реальных вычислений на реальных машинах.
Несмотря на начавшуюся войну, Тьюринг продолжал свои исследования в Кингс Колледже до 4 сентября 1940 года, когда размеренной жизни его кембриджского дома внезапно пришел конец. Тьюринг был командирован в Правительственную школу кодов и шифров, в задачу которой входила расшифровка данных вражеских радиоперехватов. Еще в довоенные годы немцы предприняли значительные усилия для разработки великолепной системы шифрования, и достигнутые ими успехи в этой области стали предметом особых забот британской разведки, которая до того с легкостью расшифровывала вражеские радиограммы. В официальной истории войны, выпущенной издательством Ее Величества под названием «Британская разведка во второй мировой войне», состояние дел в 30-х годах описывается следующим образом:
«В 1937 году было установлено, что в отличие от своих японских и итальянских аналогов, германская армия, германский военно-морской флот, возможно, германские военно-воздушные силы вместе с другими государственными организациями, вроде железных дорог и СС, использовали для всех нужд, кроме тактических коммуникаций, различные версии одной и той же шифровальной системы — шифровальной машины «Энигма», выпущенной на рынок в 20-е годы. Надежность ее немцы повышали, внося различные усовершенствования. В 1937 году Правительственной школе кодов и шифров удалось раскрыть устройство менее модифицированной и менее надежной модели машины «Энигма», используемой германскими, итальянскими и испанскими вооруженными силами. Не считая этого случая, «Энигма» до сих пор выдерживала все попытки раскрыть ее устройство. Весьма вероятно, что эти попытки будут продолжены».
Шифровальная машина «Энигма» состояла из клавиатуры, соединенной с шифровальным узлом. Шифровальный узел содержал три отдельных ротора. Положения роторов определяли, как шифруется каждая литера на клавиатуре. Раскрыть код «Энигма» было так трудно потому, что число внутренних состояний, в которых могла находиться машина, было необычайно велико. Во-первых, три ротора в машине можно было выбирать из пяти, заменять и переставлять, чтобы сбить с толку тех, кто попытается раскрыть код. Во-вторых, каждый ротор мог находиться в одном из двадцати шести. различных положений. Все это означало, что машина может находиться более чем в миллионе различных состояний. Кроме перестановок букв, производимых роторами, соединения на плате в тыльной стороне машины можно было менять вручную, что позволяло устанавливать машину более чем в 1,5·1020 возможных состояний. Чтобы еще больше увеличить надежность, три ротора постоянно изменяли ориентацию так, что после кодирования и передачи одной буквы при кодировании следующей буквы машина устанавливалась в новое состояние. Например, набрав на клавиатуре «DODO», мы получим кодированное сообщение «FGTB», так как хотя буквы «D» и «O» встречаются в сообщении дважды, кодируются они всякий раз по-другому.
Машины «Энигма» были взяты на вооружение германской армией, военно-морским флотом и военно-воздушными силами, а также использовались на железных дорогах и в других правительственных учреждениях. Подобно всем системам кодов того времени, «Энигма» имела слабое место: получатель должен был знать, как установлена машина отправителя. Для обеспечения безопасности установку «Энигмы» требовалось менять ежедневно. Один из способов, позволявших отправителю ежедневно менять код и сообщать его получателю, заключался в публикации установок машины на каждый день в секретной кодовой книге. Риск при такой системе состоял в том, что англичане могут захватить какую-нибудь немецкую подводную лодку и захватить кодовую книгу с ежедневными установками машины на следующий месяц. Альтернативный подход, который использовался на протяжении большей части войны, состоял в том, чтобы установка машины на текущий день сообщалась в преамбуле к сообщению и декодировалась с помощью кода на предыдущий день.
Когда разразилась вторая мировая война, штат Правительственной школы кодов и шифров в основном состоял из специалистов по древним языкам и лингвистов. Но вскоре британское министерство иностранных дел осознало, что специалисты по теории чисел имеют более высокие шансы подобрать ключ к немецким кодам, и тогда самые лучшие английские специалисты по теории чисел были собраны в новом здании Правительственной школы кодов и шифров в Бличли парке — викторианском здании в Бличли, в графстве Бакингхэмпшир. Тьюрингу пришлось оставить свои воображаемые машины с бесконечной лентой, разделенной на клетки, и бесконечным временем на обработку информации и заняться практической проблемой с конечными ресурсами и весьма сжатыми сроками.