Виталий№-4049905 „6“

0 +0−0Виталий16:44:38
15/05/2017
0 +0−0№-185669616:40:48
15/05/2017
Ну вот ты с моей помощью решил (но не до конца) эту задачу, молодец. Но оба решения (твоё и того парня) отстой.
Вы генерируете полное множество из 2^80 вариантов.
Поскольку в генерации домена участвует хэш-функция, перебрав все-все-все RSA-ключи, мы неизбежно встретим коллизии, когда разные ключи дадут одинаковое доменное имя.
А это означает, что какие-то комбинации из полного множества будут отсутствовать в реальном списке.
Реальный список короче, чем 1208925819614629174706176.
Так что задача, увы, не решена вообще никем.
Вот задача поиска коллизий хэш функций как раз и является наиболее востребованной, актуальной и важной.
И при этом крайне трудовыполнимой для современных хэш функций. Как доделают нормальный квантовый комп, поломают все эти хэши, и канет в лету Тор и вся криптография вместе с ним.
Спор у нас пустой, как и вся эта статья.
Я писал для того, чтобы люди понимали, что им чушью голову забивают, а ты тут смысл всё усердно ищешь. Ну ищи, ищи.
0 +0−0Виталий16:14:10
15/05/2017
0 +0−0№-185669613:03:15
15/05/2017
Я всё-таки надеюсь, что парень пошел дальше такой очевидной идеи, и составил алгоритм генерации доменов по порядку. Такой алгоритм был бы эквиваленте полному списку, ведь его можно "пролистать" от начала до конца, найти домены на нужных позициях и проверить, является ли строка доменом сети tor.
Тут хэши даже считать не надо, наш умнейший хацкер программист из статьи просто перебрал все возможные варианты вывода base32. В адресе 16 символов, каждый из которых может быть одним из 32-х доступных вариантов. То есть кол-во вариантов будет просто 32 в 16-й степени, что равно 1208925819614629174706176. Ровно то же число что, в статье! Проверьте сами на калькуляторе.
Так что задачка сводится к тупому перебору буковок и циферок.
0 +0−0Виталий16:08:44
15/05/2017
Комментарий удалён.
Ой, да какая разница. И id задавать надо начиная с числа 286511799958070431838109696 и заканчивая 38685626227668133590597631. Проблема только в том, что ulong такие числа не съест, но это легко поправимо.
А в функция всё равно будет вот такой.

string GetDarkName(ulong id)
{
string s = "abcdefghijklmnopqrstuvwxyz234567", res = "";
while (id > 0)
{
res += s[(int)(id % 32)];
id /= 32;
}
return res;
}

Как была статья фигней, так и осталась. Это задачка для школьника со знанием паскаля уровня 10-го класса.
0 +0−0Виталий13:57:44
15/05/2017
-1 +0−0M L12:56:51
15/05/2017
А ты как посчитал сколько нужно дисков, и сколько времени на генерацию ?
Берешь этот секстилион сайтов, умножаешь на 8 (число байт в имени сайта, но в реале будет больше), делишь на 16492674416640 байт (это 15 ТБ - объем самого большого диска) и получаешь те самые 586 миллиардов.
Ну а время обработки я взял как один такт процессора на обработку одного байта информации (в реальности будет в несколько раз больше), и поделил на 93000000000000000 ФЛОП (операций в секунду) самого крутого суперкомпьютера
0 +0−0Виталий13:52:07
15/05/2017
0 +0−0№-185669613:03:15
15/05/2017
Я всё-таки надеюсь, что парень пошел дальше такой очевидной идеи, и составил алгоритм генерации доменов по порядку. Такой алгоритм был бы эквиваленте полному списку, ведь его можно "пролистать" от начала до конца, найти домены на нужных позициях и проверить, является ли строка доменом сети tor.
О, это гениально, конечно же.
Я вот только что за 5 минут написал на языке C#

string GetDarkName(ulong id)
{
string s = "abcdefghijklmnopqrstuvwxyz0123456789", res = "";
while (id > 0)
{
res += s[(int)(id % 36)];
id /= 36;
}
return res;
}

Почему про меня на ленте не написали? Вот функция, водишь позицию, получаешь "обожемой" сайт в ДАРКНЕТЕ!
Конечно толковый программист меня поправит, этот алгоритм позволит получить лишь первые 18 446 744 073 709 551 615 сайтов, но поправить алгоритм для большего числа не сложно, мне просто лень.
5 +0−0Виталий12:33:28
15/05/2017
Уважаемая Лента, хоть бы проверяли информацию перед публикацией! Этот список никогда не создавался и его в принципе создать невозможно. Если учесть, что в среднем для хранения одного названия сайта нужно 8 байт (хотя в реальности ещё больше), то для того чтобы этот список сгенерировать и сохранить, понадобится 586 миллиардов самых ёмких жёстких дисков по 15 терабайт каждый. Сама генерация заняла бы более трёх лет при использовании самого мощного суперкомпьютера в мире с производительностью 93 петафлопс в секунду.

В общем, парень просто посчитал это число на калькуляторе, воспользовавшись простой формулой из комбинаторики, а вы теперь форсите этот бред.
Самые
^^^Наверх^^^Обратная связь