Распределенная генерация случайных чисел

Похоже, pandas не установлен в вашем virtualenv. Это может быть на вашей машине, но ваша virtualenv изолирует ваше приложение от остальной части вашей машины.

Пока ваш virtualenv активен:

  • Открыть cmd / bash
  • Выполнить pip install pandas

Сейчас [112 ] должен быть доступен для вас в этом env. Позже вы можете сгенерировать файл requirements.txt , который значительно упростит управление зависимостями.

12
задан Alexandros Marinos 22 October 2008 в 00:28
поделиться

3 ответа

Править

Лучший алгоритм (благодарит wnoise):

  1. Все выбирают секретное число от 0 до M-1
  2. Все добавляют загрузку случайного месива к их числу и хешируют результат с безопасным хешем
  3. Все говорят всем остальным этот хеш
  4. Все говорят всем остальным их секретное число плюс случайное месиво, которое они добавили к нему
  5. Все проверяют, что числа и hashes+gunk соответствуют
  6. Добавьте все секретные числа вместе M по модулю, затем добавьте 1 для получения конечного результата

Как участник, я должен быть удовлетворен этим, потому что я знаю, что имел полное влияние по конечному результату - заключительное число, возможно, было чем-либо вообще, в зависимости от моего выбора секретного числа. Таким образом, так как никто еще не мог предсказать мое число, они, возможно, не предсказали конечного результата также.

Какой-либо способ уменьшить сообщения от 3M^2, что я подозреваю широковещательный подход, потребовал бы?

Я считаю, что только публикация хеша должна быть широковещательной передачей, но это все еще O (M^2). Я предполагаю, что единственный путь вокруг этого состоял бы в том, чтобы предварительно обмениваться ключами цифровой подписи, или иметь доверяемый коммуникационный концентратор.

Edit2 - Насколько безопасный вещь хеширования?

Возможные нападения включают:

  1. Если я могу генерировать хэш-коллизию затем, у меня есть два секретных числа с тем же хешем. Таким образом, после того как я знаю всех секретные числа else, я могу выбрать который из моих секретных чисел для раскрытия, таким образом выбрав один из двух возможных результатов.
  2. Если я генерирую свое секретное число и случайное месиво с помощью PRNG, то взломщик, пробующий к "в лоб" мой хеш, не должен пробовать каждый возможный number+gunk, только каждое возможное семя для PRNG.
  3. Я использую number+gunk, который все показывают для определения информации об их PRNGs - я мог попытаться предположить или "в лоб" семена или вычислить внутреннее состояние от вывода. Это помогает мне предсказать, какие числа они генерируют в следующий раз вокруг, который сужает пространство поиска для атаки перебором.

Поэтому Вы должны

  1. Используйте доверяемый, неповрежденный алгоритм хеширования.
  2. Используйте криптографически безопасный генератор случайных чисел, который имеет большое семя / состояние, и попытайтесь отобрать его из хорошего источника энтропии.
13
ответ дан 2 December 2019 в 21:04
поделиться

Я не знаю, возможно ли для людей договориться о случайности единственного числа; это должно быть в статистике. Если бы статистика многих случайных чисел соответствовала статистике чисел, взятых отсюда затем, то я считал бы Ваше число случайным, но я не знаю о следующем парне N+1 в сети.

1
ответ дан 2 December 2019 в 21:04
поделиться

Это, вероятно, не, что Вы смотрите, но только запустить этот поток как насчет этого -
Выберите лидера, позвольте лидеру выбрать число, распределите число всем.

0
ответ дан 2 December 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: