Случайность vanitygen достаточно безопасна?

Если два человека работают, vanitygen 1abcdefgкаков шанс, что оба человека получат один и тот же открытый ключ и закрытый ключ?

Я надеюсь, что ответ меньше, чем 0.0000001. Но для этого vanigygenнужно использовать случайный алгоритм (не простой while(true){ i++; test()}).

Мой вопрос: обычно, когда я создаю кошелек, используя http://bitaddress.org , мне нужно перемещать мышь, чтобы добавить дополнительную случайность , но vanitgygen не использует этот метод.

Просматривая код vanitygenв GitHub, я вижу, что они используют случайные функции. Могу ли я доверять этому? Это действительно случайно? Как это может быть безопасно? Это использование машинного времени или что?

Ответы (1)

Если два человека запускают vanitygen 1abcdefg, каков шанс, что оба человека получат один и тот же открытый ключ и закрытый ключ?

Если бы каждый миллиард суперкомпьютеров пробовал миллиард ключей в секунду в течение миллиарда лет, шансы на столкновение ключей все равно были бы меньше, чем один к миллиарду.

Я надеюсь, что ответ меньше 0,0000001.

Да, гораздо меньше.

Но для этого vanigygen нужно использовать случайный алгоритм (не простой while(true){ i++; test()}).

Ему просто нужно случайное начальное место. Вы можете увеличить оттуда, если хотите. Количество возможных начальных мест имеет 77 цифр, выраженных в десятичной системе счисления.

Как компьютер может получить рандомное начальное место, состоящее из 77 цифр...? Если это просто new Date().valueOf()не случайно
@Aminadav Это очень хорошо изученная проблема! Правильно определить случайность сложно и чрезвычайно важно, и разработчики или программное обеспечение для криптовалюты (по крайней мере, компетентные) очень стараются сделать это правильно. Часто используются источники реальной физической случайности, такие как дробовой шум, колебания температуры микроскопических зон и турбулентные поперечные силы. (Настоящие компьютеры не являются теоретически совершенными машинами, они соответствуют аналоговому физическому миру измеримыми способами.)
Это мой вопрос, могу ли я доверять этому программному обеспечению с открытым исходным кодом vanitygen. Как выбрать случайную проблему? На чем он основан?
@нейт. Я прочитал вики. Это связано с безопасностью. Это не объясняет, как машинный компьютер может обрабатывать случайное число начального состояния леса.
@Aminadav Vanitygen следует современным передовым методам, в том числе использует системный пул энтропии на платформах, на которых он есть. Пул энтропии системы использует физическую случайность, вызванную такими вещами, как дрожание тактового сигнала ЦП, вызванное колебаниями температуры его кварцевого кристалла. (Vanitygen не реализовали это сами, это было бы глупо.)
@Aminadav Он также использует несколько источников случайности и алгоритм, который гарантирует, что результат будет не менее сильным, чем его самый сильный ввод. Таким образом, вы можете смешивать информацию о системной памяти, тайминге диска и всевозможных других вещах, не опасаясь, что использование слишком большого количества слабых источников приведет к слабому результату.
Я обнаружил, что это настоящий секрет, как работают эти генераторы случайных чисел. Но некоторые люди перепроектируют это: en.wikipedia.org/wiki/CryptGenRandom#Method_of_operation