Разгадка RSA-129: От "Скептического Орла" до Облачных Вычислений
The Magic Words are Squeamish Ossifrage
Взлом RSA: история расшифровки сложного шифра "Squeamish Ossifrage" в 1993-94 годах. Масштабный проект с участием 600+ волонтеров и первых сетевых вычислений.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
"Волшебные слова – это «робкий костелом»" было решением криптографической задачи, предложенной изобретателями шифра RSA в 1977 году. Задача появилась в колонке Мартина Гарднера «Математические игры» в августовском выпуске журнала Scientific American за 1977 год. Она была решена в 1993–1994 годах крупным совместным компьютерным проектом, координированным Дереком Аткинсом, Майклом Граффом, Арьеном Ленстрой и Полом Лейландом. Более 600 добровольцев в течение шести месяцев предоставляли вычислительное время на около 1600 машинах (две из которых были факсами). Координация осуществлялась через Интернет и являлась одним из первых подобных проектов. Костелом (от лат. *ossifragus* – «ломающий кости») – старое название бородатого стервятника, падальщика, известного тем, что роняет кости животных и живых черепах на скалы, чтобы расколоть их. В 1993–1994 годах началась традиция использования слов «робкий костелом» в криптоаналитических задачах. Сложность взлома шифра RSA – восстановления открытого текста, имея шифротекст и открытый ключ – связана со сложностью факторизации больших чисел. Хотя неизвестно, математически эквивалентны ли эти две задачи, факторизация в настоящее время является единственным общедоступным методом прямого взлома RSA. Расшифровка шифротекста 1977 года включала в себя факторизацию 129-значного (426-битного) числа RSA 129 для восстановления открытого текста. Рон Ривест оценил в 1977 году, что факторизация 125-значного полупростого числа потребует 40 квадриллионов лет, используя наилучший известный алгоритм и самые быстрые компьютеры того времени. В своей первоначальной статье они рекомендовали использовать 200-значные (663-битные) простые числа для обеспечения запаса прочности на случай будущих разработок, хотя это могло лишь отсрочить решение, поскольку 200-значное полупростое число было факторизовано в 2005 году. Однако эффективные алгоритмы факторизации в то время мало изучались, и в последующие десятилетия был достигнут значительный прогресс. Аткинс и др. использовали алгоритм квадратичного решета, изобретенный Карлом Померансом в 1981 году. Хотя асимптотически более быстрое решето для числового поля было только что изобретено, в то время не было ясно, что оно будет лучше, чем квадратичное решето для 129-значных чисел. Требования к памяти нового алгоритма также вызывали опасения. За решение задачи был обещан приз в 100 долларов США, который победители пожертвовали Фонду свободного программного обеспечения. В 2015 году то же число RSA 129 было факторизовано примерно за один день с использованием реализации с открытым исходным кодом CADO NFS решета для числового поля и коммерческой облачной вычислительной службы стоимостью около 30 долларов.
"The Magic Words are Squeamish Ossifrage" was the solution to a challenge ciphertext posed by the inventors of the RSA cipher in 1977. The problem appeared in Martin Gardner's Mathematical Games column in the August 1977 issue of Scientific American. It was solved in 1993–94 by a large, joint computer project co ordinated by Derek Atkins, Michael Graff, Arjen Lenstra and Paul Leyland. More than 600 volunteers contributed CPU time from about 1,600 machines (two of which were fax machines) over six months. The coordination was done via the Internet and was one of the first such projects. Ossifrage ('bone breaker', from Latin) is an older name for the bearded vulture, a scavenger famous for dropping animal bones and live tortoises on top of rocks to crack them open. The 1993–94 effort began the tradition of using the words "squeamish ossifrage" in cryptanalytic challenges. The difficulty of breaking the RSA cipher—recovering a plaintext message given a ciphertext and the public key—is connected to the difficulty of factoring large numbers. While it is not known whether the two problems are mathematically equivalent, factoring is currently the only publicly known method of directly breaking RSA. The decryption of the 1977 ciphertext involved the factoring of a 129 digit (426 bit) number, RSA 129, in order to recover the plaintext. Ron Rivest estimated in 1977 that factoring a 125 digit semiprime would require 40 quadrillion years, using the best algorithm known and the fastest computers of the day. In their original paper they recommended using 200 digit (663 bit) primes to provide a margin of safety against future developments, though it may have only delayed the solution as a 200 digit semiprime was factored in 2005. However, efficient factoring algorithms had not been studied much at the time, and a lot of progress was made in the following decades. Atkins et al. used the quadratic sieve algorithm invented by Carl Pomerance in 1981. While the asymptotically faster number field sieve had just been invented, it was not clear at the time that it would be better than the quadratic sieve for 129 digit numbers. The memory requirements of the newer algorithm were also a concern. There was a US$100 prize associated with the challenge, which the winners donated to the Free Software Foundation. In 2015, the same RSA 129 number was factored in about one day, with the CADO NFS open source implementation of number field sieve, using a commercial cloud computing service for about $30.