Ответ на вопрос об энтропии: да, 256-битные секреты не могут быть применены грубо, и в ближайшее время они не станут практичными.
Однако вам нужно будет использовать ключи большего размера с асимметричными криптографическими алгоритмами.Также сложнее предсказать, насколько сильны эти типы ключей.Сила ключа и длина ключа не всегда одинаковы.(256-битный RSA не имеет 256-битной силы.) Мир асимметричных алгоритмов имеет больше качества гонок вооружений, чем симметричные алгоритмы.
Я часто вижу грубые усилия, связанные с биткойновыми хэш-значениями или DESвзломать оборудование.Вы не можете напрямую перевести метрики производительности для этих двух целей в метрики производительности грубой силы, нацеленные на другие алгоритмы, но мы можем использовать их для оценки.
Похоже, что максимальная оценочная скорость хэширования для Биткойн 2018около 60 миллионов террашиш в секунду .Давайте округим 60 * 10 6 + 12 хэшей в секунду до следующей степени двух, 2 66 , для простоты вычисления.
Давайте теперь предположим
- Мы повышаем эффективность нашего оборудования.Скажем, какая-то новая технология выполняет в миллион раз больше работы, чем современное оборудование, используя то же количество энергии.
- Человечеству удается как-то выработать в миллион раз больше электроэнергии.(Возможно, используя сплав или магию.)
- Допустим, мы получаем новую технологию, и тактовая частота нашего компьютера увеличивается в миллион раз.
- У наших графических процессоров в миллион раз больше ядер, или мы можемуменьшите размеры компьютеров на тот же коэффициент.
- Человечество населяет другие звездные системы, и мы увеличиваем нашу популяцию в миллион раз.
- Каждый человек может позволить себе в миллион раз больше компьютеров, чем может.теперь они все хотят угадать ваш 256-битный секрет.
Давайте представим, что каждое улучшение является ортогональным и что наша грубая сила линейно масштабируется со всеми этими улучшениями.Позволяет округлить каждый миллион до 2 20 .Наш новый показатель производительности составляет 2 66 + 6 (20) = 2 186 догадок в секунду.Сколько времени потребуется для проверки каждого возможного 256-битного значения?
Требуется 2 256 / 2 186 = 2 256-186 = 2 70 секунд.Это более 37 триллионов лет .Тысячи раз дольше, чем время, прошедшее с момента Большого взрыва.Поэтому использование 256-битной энтропии довольно консервативно.
(И с теми технологиями и ресурсами, которые у нас есть в настоящее время в реальном мире, мы не можем даже взломать 128-битные секреты.)
Квантовые компьютеры не представляют большой проблемы в отношении симметричных алгоритмов.,Если мы используем 256-битные симметричные ключи, тогда все равно потребуется 2 128 оценок функций с использованием алгоритма Гровера .Однако было бы разумно предположить, что стоимость n оценок на квантовом компьютере - это, по крайней мере, стоимость n оценок на классическом компьютере.
Если выгенерировать много случайных значений и ожидать, что каждое из них будет уникальным, вам нужно использовать вдвое больше битов, чем вы могли бы подумать из-за проблемы с днем рождения .Общие атаки на столкновения с использованием k-битной хеш-функции примерно эквивалентны 2 k / 2 оценкам хеш-функции.Для квантовых компьютеров это может быть 2 k / 3 .(Так что не путайте длину ключа и длину вывода хеш-функции.)
Эти общие атаки предполагают идеальную функцию.Определенные алгоритмы могут быть «взломаны», что означает, что атака лучше, чем грубая сила.
Важно, чтобы все секреты, которые вы генерируете, были получены с использованием непредсказуемых входных данных.Если вам нужен уровень безопасности n -бит, вам нужно иметь n -бит энтропии.(Таким образом, вы не можете использовать Mersenne Twister или PCG и не можете инициализировать свой RNG, используя системное время или пароль.)
256 бит энтропии хороши в 2018 году, и, за исключением невероятных научно-фантастических технологических достижений или магии, все еще будут в безопасности в 3018.
Также см. Landauer'sпринцип , который ограничивает эффективность наших расчетов.Я даже не собираюсь пытаться перевести этот основанный на времени аргумент в долларовую сумму по понятным причинам.