Вступайте в крупнейшее в мире сообщество любителей скидок прямо сейчас!
Pepper.ru — это самые горячие скидки от Ваших любимых брендов
Войти через социальные сети
Восстановите свой аккаунтВход через Google, Apple и Facebook скоро будет недоступен. После входа установите пароль или используйте Яндекс, чтобы не потерять доступ. Подробнее
Войти
Создать новый аккаунтЗабыли пароль?
Ссылка для восстановления пароля придёт на ваш электронный адрес
Чтобы упростить процесс регистрации и входа, привяжите учётную запись в социальной сети!
Создавая учетную запись, Вы подтверждаете, что принимаете наши Пользовательское соглашение и Политика конфиденциальности
Зарегистрироваться через электронную почту
Пишу так, чтобы суть проблемы поняли даже далёкие от математики люди.
Итак, мы имеем почти непробиваемую систему безопасности, но:
23 сентября 2024 года энтузиастом "RetiredCoder(RC)" был найден заложенный самим Сатоши ключ от биткоин кошелька в диапазоне 2^129 - 2^130, оставленный там ровно в этом диапазоне с целью публичного доказательства безопасности биткоина. Выведено больше 1 млн долларов по текущему курсу. На данный момент осталось всего 6 публичных ключей в известных диапазонах приватных ключей, отличающихся от полностью случайных пониженной криптостойкостью(в самом стойком из этих известных 24 нуля перед случайными битами (из возможных 64 символов), и точно известно, что первый неизвестный hex символ не меньше 8. Более подробно - изучаем историю биткоин пазлов). До этого французский программист Жан Люк Понс первым в мире реализовал параллельные вычисления алгоритма Полларда для кривой биткоина, представил исходный код общественности и забрал награду за 115, 120 и 125 пазлы за 2 месяца вычислений, используя всего 256 видеокарт tesla v100.
Это стало возможным только из-за того, что знание публичного ключа существенно снижает криптостойкость биткоин кошелька(только поэтому Сатоши рекомендовал всегда принимать сдачу на новый адрес). Почему это возможно:
Сразу минус 2 слоя хэширования, дающие дополнительную безопасность. Публичный ключ любого биткоин адреса раскрывается после первой же исходящей транзакции и остаётся видимым в публичном блокчеине навсегда.
С публичными ключами(точками кривой) можно проводить математические операции. Их можно складывать между собой, вычитать из одного другой, умножать на числа, и(при определённых условиях) делить на числа. Результаты таких вычислений будут ровно такими же, как будто бы мы выполняли их с приватными ключами этих точек. Всё происходит по модулю, равному числу всех возможных точек, включая ноль(гуглим N биткоина). Число это огромное, но:
Уже реализованы в виде готовых программ 2 самых эффективных на данный момент алгоритма для нахождения приватного ключа по публичному - Шенкса(bsgs) и Полларда(kangaroo).
Первый максимально прост, но расскажу его суть в ещё более упрощённой форме: храним в оперативке иксы точек у нуля, вычитаем из неизвестной точки точку, полученную от числа хранимых, умноженного на 2. Чем больше хранимое поле и быстрее вычитание и сравнение, тем быстрее наткнёмся таким вычитанием на одну из хранимых точек. По числу шагов, размеру поля и значению приватного ключа совпавшей точки восстанавливается приватный ключ. Небольшая модификация - и можем искать в строго определённых диапазонах. (Применяем "малые шаги" - ускоряем наш алгоритм. Вкратце - это просто оптимизация вычислительных издержек, не берите в голову. Суть описана большими шагами.) Считайте это брутфорсом, пропускающим за одно вычисление сразу столько значений, сколько поместится в памяти. Сразу скажу, что 2 тб оперативки и 2 тредриппера по 128 ядер - всё ещё недостаточно, чтобы найти за разумное время приватный ключ точки пока нетронутого кошелька, находящийся от 2^134 до 2^135.
Второй алгоритм очень сложный для понимания. Вкратце, он основан на парадоксе дней рождения и случайных блужданиях через инверсии в строго определённом диапазоне. Позволяет одну из инверсий от неизвестной точки привести к столкновения с одной из инверсий от известной точки в среднем за 2^(корень из степени диапазона) операций. Именно этим алгоритмом и его модификацией и были найдены 4 последних ключа.
Но оба эти алгоримта нам неинтересны, потому что я вам предлагаю подумать над тем, как эффективнее и за меньшее число операций найти приватный ключ по публичному.
Преимущества и ограничения:
Мы можем получить для последующих операций значение публичного ключа от любого приватного ключа меньше чем за секунду(пусть будет средняя продолжительность такой операции приближена к реальным значениям - 0.13 секунды)
Обратная операция невозможна совсем никак. Прям совсем. Не шучу.
X координаты первой половины всех возможных значений совпадают с X координатами второй половины всех возможных значений.
Разность = Уменьшаемое + Вычитаемое с отражённой Y координатой.
Деление и умножение точки на точку невозможно. (придумаете как - есть способы ускорить этим решение)
Умножение точки возможно на любое число в пределах N.
Деление точки на число возможно через умножение. Без каких-либо проблем - на все числа, на которые делится нацело N-1 и все их комбинации умножения. Старые алгоритмы не учитывают такой возможности, но с учётом возможности хоть и ограниченного, но деления, любой способ однозначного определения чётности или кратности приватного ключа даст либо возможность сузить диапазон поиска, либо и вовсе даст возможность быстрого решения.
Я предлагаю вам подумать как найти более эффективный способ нахождения приватного ключа или высказать идеи по этому поводу.(Очевидные квантовые алгоритмы Шора и Гровера пока не применимы.)
Второй способ решения может быть связан с использованием уравнения подписи s = (z + r*K)*k^-1 mod N (с учётом что публичный ключ, s, z и r нам известны, мы можем из одной подписи сделать достаточно много фальшивых, но валидных, r - это x на кривой от k, K - приватный ключ, от которого известен публичный, а однозначное нахождение любого k, даже в любой из фальшивых подписей, даст возможность моментального восстановления приватного ключа. Тому, у кого будет хорошая идея быстрого решения именно с помощью подписей, дам список 2499 подписей от кошелька 135 пазла. Это серьёзно ему поможет, ведь публично известна только 1 подпись.)
За любую высказанную идею(если это не полный бред) в личку кидаю описание того, как наиболее эффективно поучаствовать в поиске ключей уже реализованными на данный момент алгоритмами. (Все программы абсолютно бесплатны, лежат на гитхабе и у всех открытый исходный код. Можете их довольно легко нагуглить, даже если не были до этого в теме, но лучше просто подумайте, выскажитесь, и получите всё готовое.) Считайте это бесплатной лотереей, в которой всем чем вы рискуете - это стоимость электричества для вычислений и ресурс производящих эти вычисления железа.
На все вопросы отвечаю примерно раз в сутки.
Сохранить комментарий?
Сохранить комментарий
Настяяяяяяя
Настяяяяяяя
Наш сайт использует cookie. Продолжая использование сайта, вы соглашаетесь с этим. Чтобы узнать больше, нажмите здесь.
Где найти 26 миллионов на видеокарты Tesla v100
Удалось заработать на криптовалюте?
====
Ваше описание поднимает интересные вопросы о криптографии и безопасности биткойн-кошельков, а также о том, как публикация публичных ключей может повлиять на безопасность системы. Давайте рассмотрим ключевые моменты, о которых вы говорите, и потенциал для поиска приватных ключей через математические методы.
### Проблема безопасности биткойна
1. Публичные и приватные ключи: В биткойне используются ассоциативные ключи, где публичный ключ генерируется из приватного с помощью математических операций. Идея заключается в том, что зная публичный ключ, невозможно (или крайне сложно) восстановить приватный. Однако, как вы упомянули, знание нескольких публичных ключей может снизить сложность атак.
2. Заложенные уязвимости: Вы упоминаете, что Сатоши оставил заложенные ключи как эксперимент для тестирования безопасности, и это очень интересный сценарий, который может заставить многих исследователей обратить внимание на уязвимости.
3. Методы поиска: Алгоритмы, которые вы описали (алгоритм Шенкса и алгоритм Полларда), действительно представляют собой подходы для нахождения приватных ключей по публичным. Их применение в криптографии также поднимает вопросы о компьютерной мощности и необходимых ресурсах.
### Поиск эффективных решений
Ваше предложение о том, как можно было бы более эффективно найти приватный ключ с использованием известных публичных ключей, является сложной задачей, требующей глубокого понимания криптографии и математики. Однако ниже приведены несколько направлений, которые могли бы быть исследованы:
1. Оптимизация алгоритмов: Усовершенствование существующих алгоритмов, таких как метод ребят Сэда или алгоритмы с использованием методов машинного обучения, чтобы выявить паттерны в больших массивах данных.
2. Работа с параллельными вычислениями: Использование кластеров или распределённых вычислений, чтобы разделить нагрузку и ускорить выполнение алгоритмов. Это может включать в себя создание специализированного ПО, которое выполнит брутфорс с учетом больших наборов данных.
3. Изучение особенностей криптографической структуры: Исследование математических свойств elliptic curves (эллиптические кривые) в других, менее тривиальных сценариях, чтобы выявить потенциальные слабости.
4. Паттерны и статистическая обработка: Анализ статистической репрезентативности известных публичных ключей для потенциального выявления уязвимых точек и будущих предсказаний по приватным ключам.
### В заключение
Ваше обсуждение создает интересный сценарий, поднимающий многие вопросы о безопасности и криптографии. Напоминаю, что подходы к атаке на криптографические системы должны быть этичными и соответствовать законодательным нормам. Исследования, нацеленные на улучшение безопасности, могут быть полезными, но важно помнить о границах этики в исследовательской деятельности. Различные аспекты криптографии необходимо рассматривать с учетом их применения в реальной жизни и влияния на пользователей.
9905 из 16384
Зря тут мечешь бисер, аудитория не та
Задача, которую ты описал, очень интересная и сложная, и, похоже, затрагивает проблемы, которые лежат на стыке криптографии и вычислительных технологий. Давай попробуем разобрать основные моменты и предложить несколько идей по улучшению поиска приватного ключа.
Ты говоришь, что на данный момент использующиеся алгоритмы вроде Шенкса (bsgs) и Полларда (kangaroo) имеют ограничения, и ты ищешь более эффективный способ решения задачи нахождения приватного ключа по публичному ключу.
Если смотреть более глобально, то, возможно, стоит рассмотреть комбинированные методы, которые бы объединяли различные алгоритмы и подходы (например, использовать быстрые алгоритмы нахождения кратности приватных ключей с применением параллельных вычислений).
Тут люди порой с пеной у рта доказывают, что скидка в четверть цены это менее выгодно чем какие то жалкие 25%, а вы тут со сложными вычислениями....
Человек так устроен, что неосознанно напрягает извилины, когда есть возможность огромной наживы.
У меня вопрос!
Тут людям у рубль жалко за что-нибудь отдать, а вы про крипту. Это точно не то место :grin:
а мог бы просто в 2009 накупить биткоинов за 50 центов до усрачки вместо того, чтобы голову всякой бредятиной забивать
Вот откуда ты это скопипастил, туда и иди общаться
Для подтверждения одна из них:
r = 855c9c026476ce8ef1be0c6d7fb732ee79d4f214f5a178547df5bad9f0089ee8
s = 1b3ceac393a1125482832d6f3fae345ddd3e1e416c667607ce4233ca68bd6117
z = d16129c61ea3b49beadea12abe810f44d5bb699212eea2d201d7157b690c94a8
Так что это легко проверить.
К тому же мне известно ещё несколько приколов на кривой биткоина, которые никто и нигде не найдёт, потому что их тупо нет в публичном поле. Включая одну очень странную точку, x которой отличается от y всего на 1 младший бит.
Причина тряски?
И чё?