Ещё немного параллельных вычислений.

Posted: 2017-07-10 in IT
Метки:,

Расчёты на видеокарте меня откровенно прут.

В прошлый раз я делал красивые адреса для криптовалют BTC и DASH, а сегодня я расскажу, как сделать красивый адрес в сети TOR.

Для этого нам нужна тулза — scallion. Написана она на дотнете, исходники есть на гитхабе. Собирать её что под виндой (высушил-студио), что под линуксом (xbuild) мне не хотелось, поэтому есть смысл скачать готовые бинарники.

Чтобы их запустить, нужен рантайм. Дотнет-рантайм под линукс называется Mono, нам для запуска достаточно минимально необходимого количества пакетов.

Для Fedora-25:
dnf install mono-core

Создаём отдельного пользователя, от имени которого будем пускать утилиту (стороннее приложение !!).

После чего смотрим, видит ли скаллион наши железные молотилки:

$ mono ./scallion.exe -l
Using default runtime: v4.0.30319
Id:0 Name:GeForce GTX 1070
PreferredGroupSizeMultiple:32 ComputeUnits:15 ClockFrequency:1771
MaxConstantBufferSize:65536 MaxConstantArgs:9 MaxMemAllocSize:2126938112

По-умолчанию брутятся как раз onion-хэши для tor.
Шаблон тут задаётся регулярным выражением. Попробуем найти адрес, начинающийся с `aminblog`, и использующий 2048-битный RSA:

$ mono ./scallion.exe -k 2048 ^aminblog

По завершении утилита выдаст в консоль ( или в файлик, есть указана опция -o ) статистику процесса перебора, сам адрес и приватный ключ.
В выводе будет XML-блок, нас интересуют значения Hash (это имя будущего тор-сайта) и PrivateKey — это классический RSA-ключ для прописывания в настройки HiddenService.

Тут брутфорс очень похож на oclvanitygen (вероятностный перебор), но сами ключи и их хэши гораздо проще в реализации (RSA вместо эллиптических кривых). Это позитивно сказывается на скорости брутфорса — GeForce GTX-1070 выдает около 4.2 млрд ключей в секунду, GTX-1080-Ti — около 8.5 млрд.
Да, никакой опечатки тут нет — именно миллиардов и именно в секунду. На процессоре такие вещи брутить даже не хочется после такой радости. Потребление видеопамяти очень небольшое — буквально 90 Мб. После oclvanitygen и ccminer/zecminer, жрущих гиг-другой только в путь — 90 Mb кажутся небольшой цифрой, сопоставимо с Xorg+плазма при куче включенных эффектов.

Из минусов — не умеет использовать несколько GPU. При расчетах на ферме с разными версиями карт имеет смысл выбрать самый быстрый GPU из имеющихся. В будущих версиях поддержка нескольких gpu может появиться.

Опция —gpg позволяет сгенерить PGP-ключи с заданным коротким отпечатком. Но поскольку отпечаток — сугубо хексовый, интересных вариантов там гораздо меньше.

Призываю всех добавить немного красоты генерацией подобных имён.
Всем всего наилучшего.

Реклама

Обсуждение закрыто.