Карта → событие
Коблиц и Миллер: секущая Диофанта в каждом рукопожатии
Группа, которой семнадцать веков
Возьмите кубическую кривую и две точки на ней с рациональными координатами. Проведите через них прямую: она пересечёт кривую в третьей точке — и та тоже окажется рациональной, потому что кубическое уравнение с рациональными коэффициентами, у которого два корня рациональны, имеет рациональным и третий.
Этим приёмом Диофант искал решения ещё в третьем веке. ФермаПьер ФермаСоветник тулузского парламента, не напечатавший при жизни ни одной математической книги — и успевший заложить теорию чисел, аналитическую геометрию, метод касательных и теорию вероятностей. и НьютонИсаак НьютонСоздатель анализа, механики и оптики, четверть века проработавший начальником Монетного двора и потративший на алхимию и богословие больше бумаги, чем на физику. его формализовали, а в 1901 году ПуанкареАнри ПуанкареПоследний универсал математики: создал топологию, увидел хаос там, где все видели порядок, и подошёл к теории относительности вплотную, не сделав последнего шага. заметил главное: если третью точку отразить относительно оси, получается сложение. Рациональные точки кривой образуют группу.
Дальше эта группа и есть сюжет линии. Морделл доказал в 1922-м, что она порождается конечным числом элементов. Танияма связал такие кривые с модулярными формами, Бёрч и Свиннертон-Дайер на машине нащупали, чем управляется её размер, Фальтингс отделил их от кривых старшего рода, а Уайлс через девять лет закроет ими теорему Ферма.
Всё это — чистейшая теория чисел, в применения не метившая.
Что заметили в 1985-м
Ту же секущую можно проводить не над рациональными числами, а по модулю простого $p$. Кривая превращается в конечное множество точек, и сложение на нём остаётся тем же самым — просто теперь группа конечна.
Сосчитайте кривую целиком
Возьмите $E:\ y^{2} = x^{3} + x + 1$ над полем из пяти элементов. Переберите все $x$ от 0 до 4, найдите, для каких из них правая часть оказывается квадратом по модулю 5, и сосчитайте точки.
(Ответ: квадраты по модулю 5 — это 0, 1 и 4. При $x=0$ правая часть равна 1, годятся $y=1$ и $y=4$; при $x=1$ выходит 3 — не квадрат, точек нет; при $x=2$ снова 1, при $x=3$ снова 1, при $x=4$ получается 4 и годятся $y=2,3$. Итого восемь точек плюс бесконечно удалённая — девять. Теорема Хассе обещает, что число точек отличается от $p+1=6$ не больше чем на $2\sqrt{5}\approx 4{,}47$; у нас разница ровно 3.)
Теперь вспомним, чего требует протокол Диффи — Хеллмана. Ему нужна любая группа, в которой умножать легко, а извлекать показатель трудно. Обычно берут остатки по модулю простого. Но можно взять и точки кривой: вместо «возвести $g$ в степень $a$» — «сложить точку $P$ саму с собой $a$ раз».
Это и предложили в 1985 году, независимо друг от друга, Виктор Миллер из исследовательского центра IBM (доклад на конференции CRYPTO в августе) и Нил Коблиц из Вашингтонского университета в Сиэтле.
Зачем менять группу
Затем, что старую группу умеют взламывать лучше.
Для остатков по модулю $p$ есть метод исчисления индексов: он пользуется тем, что целые числа раскладываются на простые множители, и находит дискретный логарифм заметно быстрее перебора. У точек кривой раскладывать не на что — понятия «маленький простой делитель точки» не существует, и метод не переносится. Остаётся общий перебор с квадратным корнем, а он работает в любой группе и ничего про кривую не знает.
Отсюда практический вывод, ради которого всё и делалось:
| стойкость | ключ RSA | ключ на кривой |
|---|---|---|
| 80 бит | 1024 бита | 160 бит |
| 128 бит | 3072 бита | 256 бит |
| 256 бит | 15 360 бит | 512 бит |
При одинаковой стойкости ключ короче примерно в двенадцать раз, а подпись и рукопожатие — во столько же раз дешевле. Для смарт-карты, банковского чипа или телефона это разница между «работает» и «не помещается».
Почему стандартом стало не сразу
Мешали патенты: канадская фирма Certicom держала целый куст прав на приёмы быстрого счёта на кривых, и до середины 2000-х многие предпочитали не связываться. Перелом наступил в 2005 году, когда Агентство национальной безопасности США рекомендовало кривые для защиты собственных секретных данных.
А потом маятник качнулся обратно. В 2013 году выяснилось, что в стандарте генерации случайных чисел, продвинутом тем же агентством, скорее всего была закладка. Сами кривые это не порочило, но доверие к параметрам, происхождение которых никто не мог объяснить, кончилось. Победила кривая Curve25519 Даниэля Бернштейна (2005), у которой каждое число в определении выведено из явного правила и подобрать его тайно было нельзя. Сегодня именно она стоит по умолчанию в TLS, в SSH и в мессенджерах.
Человек, чьё имя здесь уже встречалось
Нил Коблиц — теоретик чисел, попавший в криптографию со стороны математики, а не связи. В том же 1985 году он вместе с женой, историком науки Энн Хибнер Коблиц, основал фонд имени Софьи КовалевскойСофья Васильевна КовалевскаяНашла третий и последний интегрируемый случай вращения тяжёлого волчка — после Эйлера и Лагранжа. Метод оказался важнее результата, а премию Парижской академии за него повысили с трёх до пяти тысяч франков., который до сих пор поддерживает женщин в науке в бедных странах: деньгами послужил гонорар за биографию Ковалевской, написанную Энн.
Что дальше
Обе конструкции — и разложение на множители, и дискретный логарифм на кривой — держатся на одном допущении: у противника обычный компьютер. Квантовый алгоритм 1994 года ломает и то и другое одинаково легко, и в 2024 году приняты первые стандарты шифров, построенных не на теории чисел вовсе, а на решётках и кодах.
Но пока квантовой машины нужного размера нет, семнадцативековая секущая Диофанта отрабатывает миллиарды рукопожатий в секунду.
Следующая точка: Принстон — где закроется задача, поставленная на полях книги за 357 лет до того.