Открыть сервис

distributed.net

distributed.net — это некоммерческая организация, занимающаяся организацией и проведением проектов распределённых вычислений. Проекты distributed.net используют вычислительные мощности добровольцев со всего мира, объединённые через интернет, для решения задач, требующих значительных вычислительных ресурсов, в первую очередь в области криптоанализа и поиска оптимальных решений комбинаторных задач.

История

Организация distributed.net была основана в 1997 году группой энтузиастов, вдохновлённых успехом проекта по взлому шифра RC5 (RC5-32/12/7), организованного компанией RSA Laboratories. В 1997 году RSA объявила конкурс RSA Secret-Key Challenge, предложив призы за взлом различных шифров. Первый этап — взлом 56-битного ключа RC5 — был успешно выполнен за 250 дней силами добровольцев, координируемых через интернет. После этого было решено создать постоянную платформу для подобных проектов, которая получила название distributed.net.

Первоначально distributed.net базировалась на серверах и инфраструктуре, предоставленных компанией Internet Security Systems (ISS). В 1998 году организация была зарегистрирована как некоммерческая корпорация в штате Делавэр (США). Основной целью деятельности было заявлено проведение научных и образовательных экспериментов в области распределённых вычислений.

Цели и задачи

Основные цели distributed.net включают:

  • Криптоанализ: взлом симметричных шифров путём полного перебора ключей (brute-force attack). Это позволяет продемонстрировать уязвимость алгоритмов с короткой длиной ключа и стимулировать развитие криптографии.
  • Поиск оптимальных решений: решение комбинаторных задач, таких как поиск оптимальных комбинаций для задач теории графов (например, задача о клике) или поиск минимальных контрпримеров к математическим гипотезам.
  • Разработка и тестирование ПО: создание и совершенствование клиентского программного обеспечения для распределённых вычислений, которое может работать на различных операционных системах и аппаратных платформах.
  • Образовательная деятельность: популяризация распределённых вычислений и криптографии среди широкой аудитории.

Ключевые проекты

RC5-56

Первый крупный проект, начатый RSA Laboratories и продолженный distributed.net. Взлом 56-битного ключа шифра RC5 был завершён 19 октября 1997 года. В проекте участвовало около 5000 компьютеров, которые перебрали более 2,5 миллиардов ключей в секунду на пике.

RC5-64

Следующий этап — взлом 64-битного ключа RC5. Проект стартовал 28 января 1998 года и был завершён 14 июля 2002 года. Для взлома потребовалось более 4,5 лет работы распределённой сети, которая на пике обрабатывала около 35 миллиардов ключей в секунду. В проекте участвовало около 300 000 компьютеров. Это был один из самых длительных и масштабных проектов distributed.net.

RC5-72

Проект по взлому 72-битного ключа RC5, начатый 3 декабря 2002 года. По состоянию на 2024 год проект всё ещё активен, но прогресс незначителен из-за экспоненциального роста сложности. Для полного перебора 72-битного ключа требуется в 256 раз больше вычислительных ресурсов, чем для 64-битного.

DES Challenge III

Проект по взлому 56-битного ключа алгоритма DES (Data Encryption Standard), организованный совместно с RSA Laboratories и Electronic Frontier Foundation. Завершён 19 января 1999 года за 22 часа и 15 минут. В проекте участвовало около 100 000 компьютеров, а также специализированное устройство Deep Crack.

OGR (Optimal Golomb Rulers)

Проект по поиску оптимальных линеек Голомба — комбинаторных объектов, используемых в радиоастрономии, теории кодирования и других областях. Проект состоит из нескольких этапов: OGR-24, OGR-25, OGR-26, OGR-27, OGR-28. Первые четыре этапа завершены, в 2024 году ведётся работа над OGR-28. Поиск ведётся с помощью алгоритмов, основанных на методе ветвей и границ, и требует огромных вычислительных ресурсов.

Техническая реализация

Клиентское программное обеспечение

Для участия в проектах distributed.net используется клиентское приложение, которое может работать в фоновом режиме на компьютере пользователя. Клиент доступен для большинства операционных систем: Windows, macOS, Linux, FreeBSD, а также для некоторых специализированных платформ. Программа получает блоки данных (work units) с сервера проекта, выполняет вычисления и отправляет результаты обратно.

Протокол связи

Взаимодействие между клиентом и сервером осуществляется по протоколу, основанному на TCP/IP. Клиент периодически связывается с сервером для получения новых заданий и отправки результатов. В случае сбоя связи или потери данных, работа может быть продолжена с последней контрольной точки.

Организация вычислений

Каждый проект разбивается на множество независимых блоков, которые могут обрабатываться параллельно. Сервер распределяет блоки между клиентами, отслеживает прогресс и предотвращает дублирование работы. Для повышения надёжности используется репликация: один и тот же блок может быть отправлен нескольким клиентам, чтобы гарантировать получение корректного результата даже в случае ошибок.

Участие и сообщество

Участие в проектах distributed.net является добровольным и бесплатным. Пользователи могут зарегистрироваться на сайте организации, создать учётную запись и присоединиться к одному или нескольким проектам. Для повышения мотивации используется система рейтингов и статистики, которая показывает вклад каждого участника и команды. Существуют также неофициальные команды, объединяющие участников по географическому, языковому или организационному признаку.

Сообщество distributed.net активно общается через форум, IRC-каналы и списки рассылки. Организация регулярно публикует новости о ходе проектов, результатах и планах на будущее.

Критика и ограничения

Основные критические замечания в адрес distributed.net связаны с этическими аспектами взлома шифров. Критики утверждают, что демонстрация уязвимости алгоритмов может быть использована злоумышленниками. Однако сторонники distributed.net подчёркивают, что проекты нацелены на устаревшие или заведомо слабые алгоритмы, а их результаты способствуют развитию более стойких криптосистем.

Другим ограничением является то, что distributed.net использует метод полного перебора, который неэффективен для современных алгоритмов с длиной ключа 128 бит и более. Для таких алгоритмов требуются более сложные методы криптоанализа, которые не могут быть реализованы в рамках распределённых вычислений.

Значение и влияние

distributed.net внесла значительный вклад в популяризацию распределённых вычислений. Проекты организации продемонстрировали, что даже обычные домашние компьютеры, объединённые в сеть, могут решать задачи, ранее доступные только суперкомпьютерам. Опыт distributed.net был использован при создании других платформ для распределённых вычислений, таких как BOINC (Berkeley Open Infrastructure for Network Computing).

Кроме того, результаты проектов distributed.net имеют практическое значение. Взлом шифров RC5 и DES показал, что алгоритмы с короткой длиной ключа (56-64 бита) не обеспечивают достаточной криптостойкости и должны быть заменены на более надёжные. Это способствовало переходу к использованию алгоритмов с длиной ключа 128 бит и более (например, AES).

Источники

  • Официальный сайт distributed.net
  • RSA Laboratories Secret-Key Challenge
  • Electronic Frontier Foundation: Cracking DES
  • Статья «distributed.net» в вики-энциклопедии организации
  • Публикации в журналах и на конференциях по криптографии и распределённым вычислениям

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →