Jump to content

Программы для вычисления приватного ключа


alevlaslo

Recommended Posts

Три года прошло с момента создания темы: где бабки Карл?

Где приватники от Сатошиных битков?

Link to comment
Share on other sites

студентом писал диплом на данную тему - решение ECDLP. Это в принципе математическая проблема на которой базируется вся стойкость ассиметрического шифрования/подписи. Реализовавали кластер где клиент-серверная прожка использовала паралельный алгоритм ро-Полларда. В принципе тема не новая, еще Роберт Харли в 1990-e ломал некие кривые

Но современные кривые сломать невозможно. Проще реально тот кластер юзать для майнингов. Инетересно о каком алгоритме речь в данной проге

Link to comment
Share on other sites

5 часов назад, крип90 сказал:

Интересно о каком алгоритме речь в данной проге

Здесь на форуме всё есть. Приватный ключ превращается в публичный с помощью sha-256 и алгоритма эллиптической кривой. Публичный ключ превращается в адрес с помощью ripemd160. Адрес сравнивается с образцом.

 

Формат ключа WIFC. В его составе есть хэш для проверки целостности ключа. Видеокарты фильтруют ключи по этому хэшу. Хэш считается двойным sha256. То что подходит под известные символы центральный процессор пересчитывает в адрес и сравнивает с образцом. Так как в ключе нет последних трех символов, то часть хэша отсутствует. По этой причине ключей подходит довольно много и нагрузка на центральный процессор большая.

Edited by Lenchik
Link to comment
Share on other sites

  • 3 weeks later...
В 26.12.2023 в 21:42, Lenchik сказал:

Идею использовать QR подсказал мне ulex2006, что позволило сократить время перебора до ноля. Но программа для поиска написана.

 

Работает быстро RTX2070 + i7-3770K:

 

2023-12-26220046.thumb.png.083020302658458c4b8484614650d60f.png

 

Интересующиеся этой темой люди могут попробовать её работу. Программа не имеет цифровой подписи Майкрософт, по этой причине может появиться предупреждения о том, что она может нанести вред компьютеру. Никакого вируса в ней нет. 

Программа ищет по шаблону 

0000000000000000000000000000000000XXXXXXXXXX00000XXX

Где X те символы она перебирает. По другому не умеет, она для этого ключа написана.

 

Алфавит base58

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

От 1 до z. В десятичном виде было бы от 0 до 57. Минимальный знак 1. Поэтому я его и вписываю на недостающие места, а не потому, что он кому-то приснился.

Счетчик работает без затей, в плюс. Справа младшие разряды, слева старшие.

 

Для примера берем ключ:

KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVrwTSsABcd55Aici2KBQ

12BnFZwvThDrurDVHHNgu1j8FkMFem7KQg

Его адрес вписываем в качестве аргумента в Start.bat

Ключ изменяем согласно шаблона.

 

KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVrwTSsABcd55Aici2KBQ
0000000000000000000000000000000000XXXXXXXXXX00000XXX
KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVrwTS1111111Aici2111 - найдет очень быстро
KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVrwT11111111Aici2111 - 1 час полный перебор. Если найдет, то быстрее
KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVrw111111111Aici2111 - два с половиной дня
KxUAWf8fsqic3j17e4FgXJCtVqwyMDjoVr1111111111Aici2111 - на моем железе примерно пять месяцев полный перебор

 

Ключ вписываем в файл Key.txt и запускаем через Start.bat В файле Key.txt перед ключом и после него не должно быть ничего, пробелов, перевода строки. Обработчика, выбрасывающего непечатаемые символы в программе нет, и она выдаст сообщение о неправильной длине ключа.

 

PriKeyWIFC_CUDA_10_3.zip 718.17 \u043a\u0411 · 10 загрузок

 

 

Можете ли в Вашей программе промежуточные младшие разряды сделать тоже перебираемые 0000000000000000000000000000000000XXXXXXXXXXXXXXXXXX? Если принесет успех, я в долгу не останусь)

Link to comment
Share on other sites

@R3d  Это невозможно. У вас хэш ключа весь потерян. Вторая причина, 18 символов не перебрать за разумное время.

Link to comment
Share on other sites

18 часов назад, Lenchik сказал:

@R3d  Это невозможно. У вас хэш ключа весь потерян. Вторая причина, 18 символов не перебрать за разумное время.

логично, лотерее имеет место быть) а под такой формат 00XXXXXXXXXX0000000000000000000000000000000000000000, 10 символов

Link to comment
Share on other sites

3 часа назад, R3d сказал:

а под такой формат 00XXXXXXXXXX0000000000000000000000000000000000000000, 10 символов

А под такой формат пол интернете ищут. Фрутис и другие. Пока ничего не нашли.

 

Там где 18 программу написать можно. Есть там пара зацепок уменьшающая количество вариантов. Но это уже на другом принципе всё будет работать. Что то найти можно если у задачи есть решение. А это наверняка фейк. Взяли "жирный" адрес, поместили его рядом с левым ключем и сделали фото начальной части ключа. 

Link to comment
Share on other sites

43 минуты назад, Lenchik сказал:

А под такой формат пол интернете ищут. Фрутис и другие. Пока ничего не нашли.

 

Там где 18 программу написать можно. Есть там пара зацепок уменьшающая количество вариантов. Но это уже на другом принципе всё будет работать. Что то найти можно если у задачи есть решение. А это наверняка фейк. Взяли "жирный" адрес, поместили его рядом с левым ключем и сделали фото начальной части ключа. 

Где 18 не фейк, обычными перебиралками виф еще дольше, а тут я удивился скорости ) ну если что тогда в хексе буду по ренжу искать ?

Link to comment
Share on other sites

В 17.01.2024 в 12:13, Lenchik сказал:

А под такой формат пол интернете ищут. Фрутис и другие. Пока ничего не нашли.

 

Там где 18 программу написать можно. Есть там пара зацепок уменьшающая количество вариантов. Но это уже на другом принципе всё будет работать. Что то найти можно если у задачи есть решение. А это наверняка фейк. Взяли "жирный" адрес, поместили его рядом с левым ключем и сделали фото начальной части ключа. 

а можно ли увидеть как то вашу программу до конвертации в .exe ? и в чем она написана интересно

Link to comment
Share on other sites

1 час назад, R3d сказал:

и в чем она написана интересно

Тут же совершенно точно видно что на написана на CUDA. То есть может работать только на видеокартах Nvidia.

На сраном Phyton такого не сделать никогда.

 

Видел я программки для майнинга в названии которых есть слово CUDA. Посмотрел исходники, никакого кода CUDA я там не обнаружил. CUDA это самостоятельный язык программирования для видеокарт, подмножество C++. Нельзя написать на каком ни будь отстое, а потом перенаправить это на загадочный интерфейс CUDA. Интерфейс это Вулкан или OpenGL, а CUDA язык программирования. Критические части пишут на PTX. Это такой ассемблер от Nvidia. 

Ничего быстрее в мире пока не существует.

Link to comment
Share on other sites

Я ничего против не имею, если кто то напишет приложение работающее быстрее моего, но пока таких я не видел.

Link to comment
Share on other sites

16 часов назад, Lenchik сказал:

Тут же совершенно точно видно что на написана на CUDA. То есть может работать только на видеокартах Nvidia.

На сраном Phyton такого не сделать никогда.

 

Видел я программки для майнинга в названии которых есть слово CUDA. Посмотрел исходники, никакого кода CUDA я там не обнаружил. CUDA это самостоятельный язык программирования для видеокарт, подмножество C++. Нельзя написать на каком ни будь отстое, а потом перенаправить это на загадочный интерфейс CUDA. Интерфейс это Вулкан или OpenGL, а CUDA язык программирования. Критические части пишут на PTX. Это такой ассемблер от Nvidia. 

Ничего быстрее в мире пока не существует.

странно что говоришь на питоне не сделать, я допустим много статей видал про то как прицепить через него, прям в гугле первые по запросу ))) и сокрости твоей проги я удивился, круто ) 

Link to comment
Share on other sites

12 минут назад, R3d сказал:

странно что говоришь на питоне не сделать, я допустим много статей видал про то как прицепить через него, прям в гугле первые по запросу ))) и сокрости твоей проги я удивился, круто ) 

Да прицепляй. Но программисты не пишут на питоне. На питоне пишут жулики распальцованные. У них цель не написать эффективное приложение, а поиметь с килинта деньги.

 

К какому месту ты питон совбрался прицеплять? Видеокарта на питоне работать не умеет. Остальное нет никакого смысла писать на питоне. Зачем, что бы хуже работало?

 

CUDA приложение имет несколько зон. Device, то что выполняется на видеокарте, host, то что выполняется на компьютере и global, то место где и происходит передача данных. Если скажем нужно будет графический интерфейс, то его в части host на C++ можно написать. А питон то зачем?, зачем там еще эта срань господня?

Link to comment
Share on other sites

Некоторые интересуются исходниками. Но даже если я их покажу, малок кто здесь поймет как это работает.  Для этого нужно быть хорошим программистом и математиком. А сейчас в мире засилье скриптописателей. Программистов почти нет. Я по этой теме во всем мире человек трех видел, тех кто способны написать что то дельное.

 

На скриптовых языках каждая команда вызывает тысячи и миллионы команд процессора. Ресурсов жрет немеряно, а эффективность почти нулевая. Это совсем не годится для брутфорса.

 

Все эти фокусы возможны только с ключем WIFC. Он сразу так устроен, имеет избыточную информацию. Применен Base58 в этом алфавите исключены похожие символы. Например нет 0 и О. Ключ состоит из заголовка, номера сети, собственно ключа 256 бит, метки сжатого ключа один байт и хэша 4 байта. Благодаря этому искажения ключа сразу обнаруживаются. А в отдельных случаях часть утраченной информации можно восстановить.

 

Но преобразовать Base58 в HEX а потом начать перебирать, просто так не получится.

 

Вот пример:


KzXFY5GM97wGYy1wgeYi62gimeWA3QCXq7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXp7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXr7r4f6eniGYWZA9vk77i

 

Я беру ключ и q после X которая, сначала уменьшаю на единицу, а потом увеличиваю. 

Преобразую все это в HEX и мы видим что изменение одного символа ведет к существенному изменению представления HEX

806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d7656a410c138628f8b1501c1d6b5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d75b8e0120819b87b389c7315aeb5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d76f4680f7a570ca3dd8d906dfeb5a5

 

Если взять к примеру пазлы Сатоши, то там задан бинарный диапазон ключа. Там всё просто и прямо. Считаешь и каждый ключ сравниваешь с адресом. Для пазлов Сатоши есть программка. Конечно на CUDA, а не на сраном питоне.

Я её посмотрел. Хорошо написана. Если приложу все усилия, вряд ли увеличу скорость больше чем на в полтора, два раза. Некая группа ведет даже коллективный поиск. Вроде до 4.7 процентов от всего диапазона дошли.

Edited by Lenchik
Link to comment
Share on other sites

1 час назад, Lenchik сказал:

Некоторые интересуются исходниками. Но даже если я их покажу, малок кто здесь поймет как это работает.  Для этого нужно быть хорошим программистом и математиком. А сейчас в мире засилье скриптописателей. Программистов почти нет. Я по этой теме во всем мире человек трех видел, тех кто способны написать что то дельное.

 

На скриптовых языках каждая команда вызывает тысячи и миллионы команд процессора. Ресурсов жрет немеряно, а эффективность почти нулевая. Это совсем не годится для брутфорса.

 

Все эти фокусы возможны только с ключем WIFC. Он сразу так устроен, имеет избыточную информацию. Применен Base58 в этом алфавите исключены похожие символы. Например нет 0 и О. Ключ состоит из заголовка, номера сети, собственно ключа 256 бит, метки сжатого ключа один байт и хэша 4 байта. Благодаря этому искажения ключа сразу обнаруживаются. А в отдельных случаях часть утраченной информации можно восстановить.

 

Но преобразовать Base58 в HEX а потом начать перебирать, просто так не получится.

 

Вот пример:


KzXFY5GM97wGYy1wgeYi62gimeWA3QCXq7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXp7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXr7r4f6eniGYWZA9vk77i

 

Я беру ключ и q после X которая, сначала уменьшаю на единицу, а потом увеличиваю. 

Преобразую все это в HEX и мы видим что изменение одного символа ведет к существенному изменению представления HEX

806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d7656a410c138628f8b1501c1d6b5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d75b8e0120819b87b389c7315aeb5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d76f4680f7a570ca3dd8d906dfeb5a5

 

Если взять к примеру пазлы Сатоши, то там задан бинарный диапазон ключа. Там всё просто и прямо. Считаешь и каждый ключ сравниваешь с адресом. Для пазлов Сатоши есть программка. Конечно на CUDA, а не на сраном питоне.

Я её посмотрел. Хорошо написана. Если приложу все усилия, вряд ли увеличу скорость больше чем на в полтора, два раза. Некая группа ведет даже коллективный поиск. Вроде до 4.7 процентов от всего диапазона дошли.

про питона больше не буду) а то смотрю прям ярый противник )) как меняются ключи, поковырявшись я понял )) с пазлами интересно конечно, там я увидел только зависимость между первыми числами диапазона и примерный разброс в котором нужно искать ) я твой .exe через конвертатор прогнал и понял, что ничего не понял, я не отрицаю этого )) есть к чему расти) ?  раз разбираешься, молодец !)  надеюсь положительные результаты принесет ) 

1 час назад, Lenchik сказал:

Да прицепляй. Но программисты не пишут на питоне. На питоне пишут жулики распальцованные. У них цель не написать эффективное приложение, а поиметь с килинта деньги.

 

К какому месту ты питон совбрался прицеплять? Видеокарта на питоне работать не умеет. Остальное нет никакого смысла писать на питоне. Зачем, что бы хуже работало?

 

CUDA приложение имет несколько зон. Device, то что выполняется на видеокарте, host, то что выполняется на компьютере и global, то место где и происходит передача данных. Если скажем нужно будет графический интерфейс, то его в части host на C++ можно написать. А питон то зачем?, зачем там еще эта срань господня?

Вот здесь я увидел про привязки "В. А. Антонюк GPU+Python Параллельные вычисления в рамках языка Python", а так же на nvidia developer

Link to comment
Share on other sites

1 час назад, R3d сказал:

Вот здесь я увидел про привязки "В. А. Антонюк GPU+Python Параллельные вычисления в рамках языка Python", а так же на nvidia developer

Да хоть где ты его увидел.  Видеоката крутить алгоритм на ядрах CUDA. CUDA нельзя никуда приделать, это язык программирования. Приделать можно готовую подпрограмму на CUDA. Нажал я скажем в Visual Studio создать новое консольное приложение CUDA. Создал, отладил, оно работает. Но зачем я к нему буду какое то говнище приделывать, если оно и так работает? Параллельно работают ядра CUDA. На питоне они работать не могут. Да и вообще ни начем кроме CUDA и PTX не могут. Нельзя в коде работающем в видеокарте дать ссылку на внешнюю подпрограмму. Ссылку конечно можно, но опять же на код CUDA. По другому никак.

А внешняя часть у CUDA приложения на классическом C++. Что то прилеплять к нему можно только с целью ухудшить работу приложения.

Видеокарта выполняет задания пакетами. Просчитала, выдала результат, получила следующий пакет. 

 

И так быстро это вторая часть ключа. Первая часть ключа у меня считается с горазда более скромной скоростью.

Всего в 15 раз быстрее чем HashCat

 

 

1336892994_.jpg.d894828f904ddd149bd2026582120b8d.jpg

Link to comment
Share on other sites

В 22.01.2024 в 11:57, Lenchik сказал:

Да хоть где ты его увидел.  Видеоката крутить алгоритм на ядрах CUDA. CUDA нельзя никуда приделать, это язык программирования. Приделать можно готовую подпрограмму на CUDA. Нажал я скажем в Visual Studio создать новое консольное приложение CUDA. Создал, отладил, оно работает. Но зачем я к нему буду какое то говнище приделывать, если оно и так работает? Параллельно работают ядра CUDA. На питоне они работать не могут. Да и вообще ни начем кроме CUDA и PTX не могут. Нельзя в коде работающем в видеокарте дать ссылку на внешнюю подпрограмму. Ссылку конечно можно, но опять же на код CUDA. По другому никак.

А внешняя часть у CUDA приложения на классическом C++. Что то прилеплять к нему можно только с целью ухудшить работу приложения.

Видеокарта выполняет задания пакетами. Просчитала, выдала результат, получила следующий пакет. 

 

И так быстро это вторая часть ключа. Первая часть ключа у меня считается с горазда более скромной скоростью.

Всего в 15 раз быстрее чем HashCat

 

 

1336892994_.jpg.d894828f904ddd149bd2026582120b8d.jpg

короче я понял, что надо почитать мне овер много чего еще) спасибо что уделил мне время

Edited by R3d
Link to comment
Share on other sites

  • 2 weeks later...
В 22.01.2024 в 09:08, Lenchik сказал:

Некоторые интересуются исходниками. Но даже если я их покажу, малок кто здесь поймет как это работает.  Для этого нужно быть хорошим программистом и математиком. А сейчас в мире засилье скриптописателей. Программистов почти нет. Я по этой теме во всем мире человек трех видел, тех кто способны написать что то дельное.

 

На скриптовых языках каждая команда вызывает тысячи и миллионы команд процессора. Ресурсов жрет немеряно, а эффективность почти нулевая. Это совсем не годится для брутфорса.

 

Все эти фокусы возможны только с ключем WIFC. Он сразу так устроен, имеет избыточную информацию. Применен Base58 в этом алфавите исключены похожие символы. Например нет 0 и О. Ключ состоит из заголовка, номера сети, собственно ключа 256 бит, метки сжатого ключа один байт и хэша 4 байта. Благодаря этому искажения ключа сразу обнаруживаются. А в отдельных случаях часть утраченной информации можно восстановить.

 

Но преобразовать Base58 в HEX а потом начать перебирать, просто так не получится.

 

Вот пример:


KzXFY5GM97wGYy1wgeYi62gimeWA3QCXq7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXp7r4f6eniGYWZA9vk77i
KzXFY5GM97wGYy1wgeYi62gimeWA3QCXr7r4f6eniGYWZA9vk77i

 

Я беру ключ и q после X которая, сначала уменьшаю на единицу, а потом увеличиваю. 

Преобразую все это в HEX и мы видим что изменение одного символа ведет к существенному изменению представления HEX

806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d7656a410c138628f8b1501c1d6b5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d75b8e0120819b87b389c7315aeb5a5
806289248c4d85c2034a134ffe5e1d41ffa28d48670d6d76f4680f7a570ca3dd8d906dfeb5a5

 

Если взять к примеру пазлы Сатоши, то там задан бинарный диапазон ключа. Там всё просто и прямо. Считаешь и каждый ключ сравниваешь с адресом. Для пазлов Сатоши есть программка. Конечно на CUDA, а не на сраном питоне.

Я её посмотрел. Хорошо написана. Если приложу все усилия, вряд ли увеличу скорость больше чем на в полтора, два раза. Некая группа ведет даже коллективный поиск. Вроде до 4.7 процентов от всего диапазона дошли.

А можно немного подробнее про программу , ссылочку на программу? И что за группа такая? 

Link to comment
Share on other sites

5 минут назад, Lord_ICON сказал:

А можно немного подробнее про программу , ссылочку на программу? И что за группа такая? 

Если пазлы Сатоши найдете, найдете и программу. Проект открытый. Но там по моему в районе 5% пройдено коллективным поиском. Если найдут, то делить будут пропорционально вкладу в поиск. В основном "капиталисты" и видеокарты у них типа RTX4090. 

Link to comment
Share on other sites

@Lenchik С уважением отношусь к Вашим трудам.

Есть пара вопросов : Видеокарты АМД серий 6700 -6800 совсем не подходят для данной деятельности или под них тупо софта нет ?

Как вы смотрите на  проблему появления квантовых компьютеров с 1000+ кубитов.  Представляют ли они опасность для биткоина ?  Как вы думаете  сколько еще продержится шифрование биткоина при текущем развитии технологий ?

 

Link to comment
Share on other sites

@Арчи Сразу столько вопросов. CUDA работает только на Nvidia. OpenCL работает и на красных и на зеленых картах. Я не занимаюсь OpenCL, так как он дальше от железа. CUDA да еще со вставками в критических местах PTX пишется практически прямо по железу видеокарты. Дальше ускоряться просто некуда.

 

Квантовым компьютерам еще долго совершенствоваться. Я в живую их не видел, но по слухам они мало подходят для точных вычислений. Прогноз погоды это пожалуйста, а дешифровка там пока не идет. У них ответ вероятностный, а не точный.

 

В обозримом будущем ничего биткоину не грозит. Всё дело в геометрической прогрессии. Длина ключа 256 бит, а мы пока десяток байт перебрать быстро не можем. Каждый бит увеличивает время перебора в два раза. То есть увеличение скорости компьютеров в два раза ведет только к возможности перебрать еще один бита, а не увеличить количество перебираемых битов в два раза. К примеру у если пароли у wallet.dat состоят из 96 разных символов, это если не используются национальные алфавиты, то увеличение скорости вычислительной техники в 96 раз приведет только к возможности перебирать пароли на символ длиннее. 

Link to comment
Share on other sites

@Lenchik Вашим мозгам может позавидовать любой из тут присутствующих. Только направление все же не то . 

Вы не думали взять ии модель , и на истории графиков крипты научить ее делать предсказания вероятности движения . С расчетом на видеокартах .  Мне кажется языковая модель обученная на истории вплоть до 30 минуток  в состоянии предсказывать 4 часовые свечи . Понятно что примерно и в % вероятности . Но сам факт предсказания будущей волатильности на основании всей истории битка на 30минутных свечах обученной модели просто завораживает . Потом погонять такую модель на реальном счете собрать статистику за пол года , и можно иметь рынок ) да может глупо и наивно но вероятность возможности такой модели явно не равна 0.

Возможность задать умному человеку глупый вопрос уже сама по себе безценна )

Link to comment
Share on other sites

Наверно суть модели в том что она на всей истории будет искать похожие ситуации из преведущих 10 свечей и с определенной вероятностью в % предсказывать следующую . 

 

Люди это стадо обученное по одним учебникам . Они делают все из раза в раз одинаково . На основании этого я считаю можно предсказать следующую свечу с определенным % вероятности .

Link to comment
Share on other sites

@Арчи Квантовый компьютер, по-моему, вообще ничего не считает, он предвидит результат. То есть как оракул знает будущее. Создатели компьютера это сильно не афишируют, так как боятся, что их посчитают совсем чёкнутыми.

 

Велись разработки оптических компьютеров. Вроде как успешные. То есть транзистор оптический вроде как сделали. Один луч света переключает другой. Что-то последнее время об этом ничего не слышно. Идея в том что кванты света не имеют массы и могут переключатся сколь угодно быстро. Электроны в обычных микросхемах перезаряжают затворы полевых транзисторов, тратя на это время и энергия. Со светом этих проблем нет. 

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...