Введение

Распределенная вычислительная организация

Distributed.net – это проект добровольных вычислений, направленный на решение масштабных задач с использованием неиспользуемого времени процессора или графического процессора. Управляется компанией Distributed Computing Technologies, Incorporated (DCTI), некоммерческой организацией в соответствии с налоговым кодексом США 501(c)(3). Distributed.net работает над RC5 72 (взлом RC5 с 72-битным ключом). Проект RC5 72, по состоянию на февраль 2024 года, движется к полному перебору пространства ключей чуть более чем за 40 лет, однако проект будет завершен, как только требуемый ключ будет найден. RC5 содержит восемь нерешенных задач от RSA Security, хотя в мае 2007 года RSA Security объявила об отказе от денежных призов за правильный ключ к любым из своих задач, связанных с секретными ключами. В результате Distributed.net приняла решение самостоятельно финансировать первоначальный размер вознаграждения за найденный ключ. В 2001 году пропускная способность Distributed.net оценивалась в более чем 30 TFLOPS. По состоянию на 2019 год пропускная способность была сопоставима с Cray XC40, используемым в суперкомпьютере Lonestar 5, то есть около 1,25 петаФЛОПс.

История

В феврале 1997 года Эрл Эди и Кристофер Г. Стач II из Hotjobs.com и New Media Labs начали скоординированные усилия по взлому RC5 56 – части RSA Secret Key Challenge, 56-битного алгоритма шифрования, за взлом которого был обещан приз в 10 000 долларов США. К сожалению, эта первая попытка была приостановлена из-за SYN flood-атак на сервер со стороны участников. Новое независимое начинание, получившее название distributed.net, координировали Джеффри А. Лоусон, Адам Л. Беберг и Дэвид С. Макнетт вместе с другими, которые вошли в совет директоров и занимались обслуживанием инфраструктуры. К концу марта 1997 года были выпущены новые прокси-серверы для возобновления работы над RC5 56 и началась разработка улучшенных клиентов. В качестве иконки приложения и талисмана проекта была выбрана голова коровы. Задача RC5 56 была решена 19 октября 1997 года, спустя 250 дней. Правильный ключ был "0x532B744CC20999", а расшифрованное сообщение гласило: "Неизвестное сообщение: пора переходить к ключу большей длины". Задача RC5 64 была решена 14 июля 2002 года, спустя 1757 дней. Правильный ключ был "0x63DE7DC154F4D039", а расшифрованное сообщение гласило: "Неизвестное сообщение: некоторые вещи лучше оставить непрочитанными". Поиск оптимальных голомбовых линеек (ОГР) порядка 24, 25, 26, 27 и 28 был завершен distributed.net 13 октября 2004 года, 25 октября 2008 года, 24 февраля 2009 года, 19 февраля 2014 года и 23 ноября 2022 года соответственно.

Клиент

"DNETC" – это имя файла программного приложения, которое пользователи запускают для участия в любом действующем проекте distributed.net. Это командная строка с интерфейсом для настройки, доступная для широкого спектра платформ. distributed.net называет это программное обеспечение просто "клиентом". По состоянию на 2019 год, волонтеры, использующие 32-битную Windows с видеокартами AMD FireStream, внесли наибольший вклад в вычислительную мощность проекта RC5 72, а волонтеры, использующие 64-битную Linux, – в проект OGR 28. Части исходного кода клиента находятся в открытом доступе, однако пользователям запрещено распространять измененные версии. Проект RC5 72 от distributed.net доступен через обертку Moo! для клиента BOINC.

Разработка клиентов с поддержкой графических процессоров

В последние годы основная часть работы над проектом RC5 72 выполняется клиентами, использующими графические процессоры современных видеокарт. Хотя проект уже продолжался почти 6 лет, когда первые графические процессоры начали отправлять результаты, по состоянию на февраль 2024 года графические процессоры обеспечивают 87% всех завершенных рабочих единиц и выполняют более 95% всех рабочих единиц ежедневно. Для сравнения, высокопроизводительный одноядерный процессор 2008 года, работающий с RC5 72, достигал примерно 50 миллионов ключей в секунду, что является очень значительным прогрессом для RC5 72. По состоянию на февраль 2024 года клиенты CUDA выполнили 11% всей работы над проектом RC5 72. По состоянию на февраль 2024 года клиенты FireStream выполнили почти 25% всей работы над проектом RC5 72.