Сколько времени займет большой компьютер, чтобы взломать закрытый ключ?

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

35 голосов | спросил shoeless joe 4 FebruaryEurope/MoscowbSat, 04 Feb 2012 10:32:55 +0400000000amSat, 04 Feb 2012 10:32:55 +040012 2012, 10:32:55

7 ответов


25
  

, как долго в байтах используется закрытый ключ

32 байта или 256 бит

  

, то сколько комбинаций чисел оно будет содержать

Существует 2 ^ 256 различных секретных ключей. Это немного больше, чем 1, за которым следуют 77 нулей.

  

какой самый быстрый компьютер или сеть суперкомпьютеров

На своем пике около августа 2011 года сеть Bitcoin проверяла 15 триллионов хэшей хэшей в секунду. (См. http://bitcoin.sipa.be/)

  

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

Если предположить, что для выполнения операции ECDSA требуется одно и то же время, чтобы проверить хэш-файл sha256 (требуется гораздо больше времени), и мы используем оптимизацию, которая позволяет нам использовать только 2 ^ 128 ECDSA-операции, затем необходимое время:

>>> pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9
0.6537992112229596

Это 0,65 миллиарда лет.

Это очень консервативная оценка времени, затраченного на разрыв одного битового адреса.

Изменить: было указано, что компьютеры со временем становятся экспоненциально более быстрыми, согласно Moore's Закон . Предполагая, что скорость вычислений удваивается каждый год (закон Мура говорит 2 года, но мы ошибаемся на стороне осторожности), то через 59 лет это займет всего 1,13 года. Таким образом, ваши монеты безопасны в течение следующих 60 лет без изменения алгоритмов, используемых для защиты цепочки. Тем не менее, я ожидал бы, что алгоритмы будут изменены задолго до того, как будет возможно сломать обеспечиваемую ими защиту.

ответил Chris Moore 4 FebruaryEurope/MoscowbSat, 04 Feb 2012 21:15:39 +0400000000pmSat, 04 Feb 2012 21:15:39 +040012 2012, 21:15:39
15

Личный ключ биткойн - это случайное 256-битное число. Однако открытый ключ раскрывает некоторую информацию о секретном ключе. Для наиболее известных алгоритмов разлома ECDSA требуются операции O (sqrt (n)). Это означает, что для разблокирования учетной записи Bitcoin потребуется 2 ^ 128 операций.

Самый большой ключ ECDSA, побитый до даты того типа, который использует Bitcoin, был длиной 112 бит. Биткойн-аккаунт более чем на 4000 миллиардов миллиардов раз труднее сломать.

Единственный реальный риск - это квантовые вычисления.

ответил David Schwartz 4 FebruaryEurope/MoscowbSat, 04 Feb 2012 14:19:41 +0400000000pmSat, 04 Feb 2012 14:19:41 +040012 2012, 14:19:41
3

Биткойный закрытый ключ (ключ ECC) представляет собой целое число от одного до примерно 10 ^ 77. Это может показаться не большой выборкой, но для практических целей она практически бесконечна. Если бы вы могли обрабатывать один триллион частных ключей в секунду, для учета их всех потребовалось бы более миллиона раз возраст всей Вселенной. Хуже того, просто перечислив эти ключи, потребляет больше, чем полная энергия выход солнца в течение 32 лет. Это огромное пространство ключей играет фундаментальную роль в обеспечении безопасности сети Bitcoin.

ответил Badr Bellaj 7 +03002016-10-07T20:57:33+03:00312016bEurope/MoscowFri, 07 Oct 2016 20:57:33 +0300 2016, 20:57:33
0

2 ^ 256 = 1.1x10 ^ 77 = количество комбинаций клавиш

2 ^ 128 = 3.4x10 ^ 38 = среднее количество необходимых догадок

Согласно этому сайту: http://en.wikipedia.org/wiki/TOP500 , самым быстрым суперкомпьютером является компьютер K, у которого 10.51 петафлопс.

Петафлоп - 10 ^ 15 FLOPS, инструкции с плавающей запятой в секунду.

До сих пор так хорошо, но мне нужно знать, сколько FLOPS необходимо для каждой догадки?

[Я рискну предположить:]

От 1000 до 10000 FLOPS (или целочисленных эквивалентов) за догадку.

10.51x10 ^ 15 ops /second /1000 to 10000 ops /guess) = 10.51x10 ^ 12 до 10.51x10 ^ 11 догад /секунду.

3.4x10 ^ 38 догадок /трещина /10.51x10 ^ 12 guess /second = 3.2x10 ^ 25 секунд.

3.2x10 ^ 25 секунд /60 секунд /мин /60 минут /час /24 часа /день /365,25 дня /год = 1,01x10 ^ 18 лет

1.01x10 ^ 18 лет /1x10 ^ 9 /1x10 ^ 9 = 1.014 до 10.014 млрд. лет.

Таким образом, компьютеры в сети Bitcoin в два раза быстрее, чем один самый крупный лабораторный компьютер.

ответил shoeless joe 8 FebruaryEurope/MoscowbWed, 08 Feb 2012 01:53:27 +0400000000amWed, 08 Feb 2012 01:53:27 +040012 2012, 01:53:27
0

Существует утилита vanitygen (проверьте версия exploitagency , которая является улучшенной версией версия samr7 ), которая может дать вам оценки того, сколько времени потребуется, чтобы найти закрытый ключ для данного шаблона (см. vg_output_timing_console() ). Некоторые специальные случаи (например, повторяющиеся символы) сложнее, чем другие.

  

Трудно найти адрес тщеславия зависит от его точной структуры (ведущие буквы и цифры) и насколько вероятен такой вывод, когда задействованы алгоритмы, которые могут состоять из нескольких опор, где трудности внезапно меняются. bitcoin wiki

Вот таблица, которую можно найти на странице bitcoin wiki , которая предоставляет время оценки для взломать секретные ключи для заданных шаблонов адресов:

 биткойн, vanitygen, чтобы попытаться атаковать адреса, Vanitygen, Keysearch Таблица тарифов, Mkey /s, CPU /GPU, таблица, decillion лет, среднее время

  

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

     

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


Практический пример

Давайте создадим следующий unspendable биткойн-адрес :

$ unspendable.py 23456789A123456789A12345678
mainnet: 123456789A123456789A12345678Yr8Dxi

Затем, используя vanitygen, я могу рассчитать производительность на моей машине (> 240 Kkey /s):

$ vanitygen -q -k -o/dev/null 1
[241.29 Kkey/s][total 2880199][Found 11618]

Примечание: выше было протестировано на MacBook Pro (2.3 ГГц Intel Core i7, 16 ГБ с частотой 1600 МГц DDR3).

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

  • , чтобы найти первые 5 символов из 26-35 (несколько секунд):

    $ vanitygen -q -k -o/dev/null 12345
    [698.17 Kkey/s][total 8192][Prob 0.2%][50% in 4.5s]
    
  • 6 первых символов из 26-35 (несколько минут):

    $ vanitygen -q -k -o/dev/null 123456
    [701.39 Kkey/s][total 51712][Prob 0.0%][50% in 4.3min]
    
  • 7 символов из 26-35 (несколько часов):

    $ vanitygen -q -k -o/dev/null 1234567
    [471.87 Kkey/s][total 8192][Prob 0.0%][50% in 6.3h]
    
  • 8 символов из 26-35 (несколько недель):

    $ vanitygen -q -k -o/dev/null 12345678
    [658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
    
  • 9 символов из 26-35 (несколько лет):

    $ vanitygen -q -k -o/dev/null 123456789
    [572.50 Kkey/s][total 1631744][Prob 0.0%][50% in 2.0y]
    
  • 10 персонажей из 26-35 (столетие):

    $ vanitygen -q -k -o/dev/null 123456789A
    [630.48 Kkey/s][total 118528][Prob 0.0%][50% in 104.2y]
    
  • 11 персонажей из 26-35 (несколько тысячелетий)

    $ vanitygen -q -k -o/dev/null 123456789A1
    [579.78 Kkey/s][total 17348352][Prob 0.0%][50% in 6571.6y]
    
  • 12 символов из 26-35 (сотни тысячелетий):

    vanitygen -q -k -o/dev/null 123456789A12
    [751.61 Kkey/s][total 6720512][Prob 0.0%][50% in 294013.9y]
    
  • 13 персонажей из 26-35 (тысячи тысячелетий, несколько миллионов лет):

    $ vanitygen -q -k -o/dev/null 123456789A123
    [666.93 Kkey/s][total 3886080][Prob 0.0%][50% in 1.921802e+07y]
    
  • 14 персонажей из 26-35 (миллиардов лет):

    $ vanitygen -q -k -o/dev/null 123456789A1234
    [817.44 Kkey/s][total 3994880][Prob 0.0%][50% in 9.094109e+08y]
    
  • 15 символов из 26-35 (50 миллиардов лет):

    $ vanitygen -q -k -o/dev/null 123456789A12345
    [784.31 Kkey/s][total 4633856][Prob 0.0%][50% in 5.497420e+10y]
    
  • ... 28 символов( decillion лет, если вам повезет)

    $ vanitygen -q -k -o/dev/null 123456789A123456789A12345678
    [910.34 Kkey/s][total 2723072][Prob 0.0%][50% in 3.981113e+33y]
    

Стоит отметить, что вышеописанный адрес имеет 34 байта, но первый символ - это только сетевой идентификатор (для биткойна обычно обычно 1 или 3)) , а последние 4 байта - только контрольная сумма. Более подробную информацию об адресе см. В этой странице биткойнов wiki .


Курс поиска по каталогам

Конечно, скорость поиска ключей может быть увеличена за счет использования лучшего графического процессора или нескольких процессоров (см .: -t), но тем не менее оценки могут быть огромными.

Например, вот таблица тарифов на поиск ключей на странице wiki-страницы bitcoin :

 Vanitygen, таблица цен Keysearch, Mkey /s, CPU /GPU

И вот несколько отчетов от пользователей для разных графических процессоров:

  • i7 8700K - ~ 3Mkey /c
  • GTX 980TI (v1.42) - ~ 73Mh
  • GTX 1050ti - ~ 23 Mkey /c
  • GTX 1070 - ~ 50Mhkey /s
  • GTX 1080ti - ~ 108 Mkey /c

Источник: Список поддерживаемых графических процессоров (GH-46) .

ответил kenorb 4 Maypm18 2018, 20:29:55
-1
  

Единственный реальный риск - это квантовые вычисления.

Или обнаружение ошибки или недостатка в алгоритмах программного обеспечения BTC. Тогда растрескивание может занять несколько секунд, в зависимости от типа дефекта.

ответил David Balažic 29 +04002013-10-29T01:55:24+04:00312013bEurope/MoscowTue, 29 Oct 2013 01:55:24 +0400 2013, 01:55:24
-2

Самый быстрый компьютер - 150 Petraflops FPC в секунду, а не 10 ... Постарайтесь не отставать от времени (карты NV Link и Volta HCP на процессорах IBM) ... вы можете читать или смотреть больше на веб-сайте команды green или конференция 2015 года на U-трубке. Поскольку общий ответ, похоже, основан на 10 Petraflops как самый быстрый компьютер в мире ... Вы должны четко видеть, как быстро FPC в секунду может измениться, Министерство энергетики планирует систему 300P, уже основанную на той же технологии ,

Дело в том, что ваши биткойны, рассказывающие вам, насколько безопасно это основано на 10P, уже имеют базовую математику в 15-30 раз, потому что они, очевидно, не знают столько, сколько они думают. Улучшения также не зависят от Закона Мура, недавние улучшения и существующие ограничения связаны с совершенно другим Законом, который, по мнению NV Link, как можно лучше и таким образом улучшил вычислительное время, Это просто сегодняшний пример того, как их теория миллиарда лет уже ошибается в 15-30 раз и будет по-прежнему становиться ошибочным каждый год на гораздо более высоком уровне, чем они предполагают. В течение 30 лет или менее биткойн на нынешнем уровне будет легко взломан всеми, у кого от 40 до 50 000 долларов потратить (в сегодняшних деньгах), или может использовать любое количество университетских или корпоративных суперкомпьютеров.

Любой, кто на самом деле полагает, что 50-летняя технология собирается сохранить что-то в цифровой форме 50 лет спустя, откровенно не тот человек, над которым вы должны вообще обращать внимание ... Значит ли это, что биткойн сегодня опасен? Не совсем, но если те же самые люди отвечают за его безопасность в течение 30 лет, это те же самые невежественные люди, которые сейчас здесь.

ответил Richard 21 Mayam15 2015, 06:33:19

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132