Односторонние функции в безопасности криптовалют

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

Два наиболее важных применения односторонних функций в блокчейне — это криптографические хеш-функции (такие как SHA-256, используемые в майнинге биткоинов и генерации адресов) и умножение на эллиптические кривые, используемое в криптографии с открытым ключом (где закрытый ключ легко генерирует открытый ключ, но открытый ключ нельзя использовать для получения закрытого ключа).

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

Безопасность Биткоина, Эфириума и практически любой криптовалюты основана на предположении, что некоторые математические операции действительно являются односторонними: что не существует эффективного алгоритма для обратного хеширования SHA-256 или для решения задачи дискретного логарифма на эллиптической кривой. Прорыв в этой области может поставить под угрозу системы, использующие затронутый примитив.

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

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

Происхождение и история

ГодСобытия
1874Уильям Стэнли Джевонс описывает концепцию односторонних функций (разложение больших чисел на множители).
1976Диффи и Хеллман формализуют односторонние функции в своей работе «Новые направления в криптографии».
1977Алгоритм RSA демонстрирует практическую одностороннюю функцию (сложность разложения на простые множители).
1989Меркле и Дамгард опубликовали влиятельные конструкции для хеш-функций, устойчивых к коллизиям.
1985Предложена криптография на эллиптических кривых – дискретный логарифм как односторонняя функция на кривых.
1993NIST публикует SHA-0 (FIPS PUB 180); SHA-1 появился в 1995 году; хеш-функция — широко распространенная односторонняя хеш-функция.
2002NIST публикует SHA-256 в стандарте FIPS 180-2 (Источник: стандарт хеширования NIST)
2004Ван и др. обнаружили столкновения в MD5, что демонстрирует возможность ослабления определенных односторонних функций.
2005Опубликованы теоретические атаки на SHA-1 – начало устаревания SHA-1.
2008Сатоши Накамото создал Биткойн на основе алгоритмов SHA-256 и эллиптической кривой secp256k1 – односторонние функции обеспечивают безопасность сети.
2009Запуск Bitcoin – односторонние функции защищают каждый закрытый ключ, адрес и хэш блока.
2012NIST выбирает SHA-3 (Keccak) – новое семейство односторонних хеш-функций; позже Ethereum использует Keccak-256.
2015Запуск Ethereum – для хеширования используется Keccak-256, для подписей – secp256k1.
2019Google добивается «квантового превосходства», повышая осведомленность об угрозах квантовым вычислениям для односторонних функций.
2024NIST завершил разработку трех постквантовых стандартов, использующих решеточные и хеш-основанные конструкции (Источник: Постквантовые стандарты NIST)

Как это работает

Односторонняя операция: вычисление выходных данных является эффективным, в то время как поиск соответствующих входных данных считается невозможным при соответствующих предположениях. Хэширование, вывод ключей на основе эллиптических кривых и конструкции типа «ловушка» имеют разные свойства и не должны рассматриваться как взаимозаменяемые.

Односторонняя функцияИспользуется вВперед ОперацияОбратная сложностьКвантовая угроза
SHA-256майнинг биткоинов, адресаХэширование любых данных → 256-битный дайджест2^256 грубая силаСнижено до 2^128 (все еще безопасно)
Кечак-256Адреса Ethereum, хешированиеХэширование любых данных → 256-битный дайджест2^256 грубая силаСнижено до 2^128 (все еще безопасно)
secp256k1 (ECDLP)Пары ключей Bitcoin/ETHЗакрытый ключ × G → Открытый ключ2^128 операций (классических)Сломано алгоритмом Шора
RSA (факторизация)TLS/SSL, устаревшие системыУмножение двух простых чисел → произведениеСубэкспоненциальный (сложный)Сломано алгоритмом Шора
Проблемы с решеткойПостквантовая криптографияРешеточные операцииДаже в квантовую механику я в это сильно верил.Устойчивость (основа PQC)

Простыми словами

  1. Легко вычислить, сложно обратить: подходящий Односторонняя функция может быть эффективно вычислена, в то время как восстановление входных данных вычислительно нецелесообразно при условии ее безопасности. Это не означает, что обращение математически невозможно.
  2. Хэш-функции — односторонние.Алгоритм SHA-256 (используемый в Биткоине) принимает любые входные данные и выдает фиксированный 256-битный результат. Одни и те же входные данные всегда дают одинаковый результат, но по одному только результату невозможно определить, какими были входные данные. Именно поэтому майнерам Биткоина приходится перебирать миллиарды случайных вариантов — они не могут восстановить выигрышный хеш.
  3. Кошелек безопасностиМногие типы биткойн-адресов используют хеши открытых ключей или скриптов, но выходные данные Taproot раскрывают открытый ключ. Открытые ключи также могут стать видимыми при совершении транзакций. Дизайн адреса имеет значение; хеширование не всегда скрывает каждый открытый ключ.
  4. Добыча полезных ископаемых — это игра в угадывание односторонней функции.Майнинг биткоинов работает благодаря алгоритму SHA-256, который работает в одностороннем порядке. Майнерам необходимо найти число (nonce), которое при хешировании с данными блока дает хеш, начинающийся с множества нулей. Поскольку SHA-256 работает в одностороннем порядке, они не могут вычислить ответ — им приходится угадывать и проверять миллиарды раз. Именно это и потребляет столько электроэнергии.
  5. Квантовые компьютеры — это задача будущего.Современные односторонние функции защищены от классических компьютеров, но квантовые компьютеры, использующие алгоритм Шора, могут взломать криптографию на основе эллиптических кривых. Именно поэтому криптографы разрабатывают постквантовые односторонние функции, основанные на задачах (например, задачах решеток), которые считаются сложными даже для квантовых компьютеров.

Примеры из реального мира

СценарийРеализацияРезультат
Генерация ключей биткоинаЗакрытый ключ, умноженный на точку-генератор на кривой secp256k1Открытый ключ генерируется за миллисекунды; для его обратного преобразования потребовались бы миллиарды лет.
Биткойн МайнингМайнеры хешируют заголовки блоков с помощью SHA-256, стремясь получить определенный шаблон выходных данных.Одностороннее свойство принуждает к поиску методом перебора — обеспечивает безопасность сети за счет подтверждения работы.
Хранение пароляВеб-сайты используют схемы хеширования паролей с добавлением соли, такие как Argon2id, вместо обычного SHA-256 (Источник: хранилище паролей OWASP)Медленное хеширование, требующее больших объемов памяти, повышает стоимость подбора пароля; слабые пароли все еще можно восстановить.
Эфириум АдресАдрес Ethereum использует последние 20 байтов хеша Keccak-256 несжатых координат открытого ключа.Открытый ключ можно восстановить из подписанной транзакции; закрытый ключ остается защищенным предположением дискретного логарифма.
Деревья МерклаХэши транзакций объединяются попарно с использованием SHA-256 до корня Меркла.Эффективная проверка включения транзакций без загрузки всего блокчейна.

Преимущества

ПреимуществаОписание
Основы криптобезопасностиМодель безопасности любой криптовалюты основана на одностороннем свойстве её функций.
Эффективная проверкаЛюбой может проверить выходные данные (подписи, хеши) без необходимости ввода конфиденциальной информации.
детерминистическийОдин и тот же входной сигнал всегда дает один и тот же выходной сигнал – надежное и предсказуемое поведение.
наборныйОдносторонние функции могут быть многоуровневыми (хеш хеша) для повышения безопасности.
Проверено в бояхАлгоритмы SHA-256 и secp256k1 выдержали десятилетия криптоаналитических атак.
Универсальное приложениеИспользуется во всех областях: майнинг, адреса, подписи, деревья Меркла и многое другое.

Получить криптокарту UPay

Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.

Регистрация

Недостатки и риски

СнижениеОписание
Недоказанное предположениеСуществование не доказано; односторонние функции подразумевали бы P ≠ NP, но обратное не установлено.
Квантовая уязвимостьАлгоритм Шора на квантовых компьютерах может нарушить работу односторонних функций эллиптических кривых.
Слабые стороны алгоритмаОтдельные реализации (например, MD5, SHA-1) со временем были частично взломаны.
Нет восстановленияЕсли односторонние функции защищают от потери ключа, у владельца нет математических средств защиты.
Режим катастрофического отказаКрупный криптографический взлом может угрожать затронутым системам; последствия зависят от примитива и типа атаки.
Вычислительная стоимостьВ майнинге алгоритм доказательства работы использует одностороннюю функциональную сложность, что потребляет огромное количество энергии.

Советы по управлению рисками:

  • Поймите, что безопасность криптовалют в конечном итоге основана на математических предположениях — сильных предположениях, но всё же предположениях.
  • Следуйте авторитетным постквантовым исследованиям и рекомендациям по миграции кошельков или сетей.
  • По возможности используйте адреса только один раз (особенно в случае с биткоином) — минимизация раскрытия открытого ключа уменьшает поверхность квантовой атаки.
  • Если вас беспокоят уязвимости конкретных алгоритмов, рассмотрите различные криптографические платформы.
  • Не следует предполагать, что неиспользуемый адрес скрывает свой открытый ключ: такие типы адресов, как Taproot, изначально предоставляют доступ к открытому ключу.

FAQ

В: Действительно ли однонаправленные функции невозможно обратить вспять?

А: Абсолютной невозможности не утверждается. Односторонность означает, что инверсия невозможна для соответствующего злоумышленника и параметров. Доказательство существования односторонних функций остается открытой проблемой; она связана с проблемой P против NP, но не идентична ей.

В: Что произойдет, если кто-то взломает хеш SHA-256?

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

В: Как односторонние функции связаны с майнингом биткоинов?

A: Майнеры биткоина ищут хеш заголовка блока ниже целевого значения, а не уникальный исходный входной параметр для заданного хеша. Они изменяют значение nonce и другие входные параметры заголовка и многократно вычисляют двойной SHA-256. Отсутствие практического способа ускорить этот поиск делает его вычислительно затратным.

В: Чем отличается функция с откидной дверцей от односторонней функции?

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

В: Нарушат ли квантовые компьютеры все односторонние функции?

А: Нет. Квантовые компьютеры (с помощью алгоритма Шора) представляют угрозу для определенных односторонних функций, основанных на факторизации и дискретных логарифмах, включая RSA и криптографию на эллиптических кривых. Однако хеш-функции, такие как SHA-256, лишь ослаблены (с 2^256 до 2^128 безопасности с помощью алгоритма Гровера), что все еще считается безопасным. А постквантовая криптография использует новые односторонние функции (основанные на задачах решеток, схемах на основе хеширования и т. д.), которые, как считается, устойчивы к квантовым атакам.

Связанные условия

  • Хэш-функция
  • SHA-256
  • Криптография с эллиптической кривой
  • Криптография с открытым ключом
  • Секретный ключ
  • Цифровая подпись
  • Доказательство работы (PoW)
  • Постквантовая криптография
  • Сопротивление столкновению
  • Кечак-256

Предупреждение: Данная статья в глоссарии предназначена исключительно для образовательных целей и не является финансовой консультацией. Торговля криптовалютами сопряжена со значительным риском, включая риск убытков. Всегда проводите собственное исследование (DYOR) и консультируйтесь с квалифицированным финансовым консультантом, прежде чем принимать инвестиционные решения.

Заключение

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

Дополнительная информация о UPay: Безопасность закрытого ключа ; Типы криптокошельков ; Объяснение самообслуживания

Источники

стандарт хеширования NIST

Постквантовые стандарты NIST

хранилище паролей OWASP

Медиа