Алгоритмы хеширования и их будущее

Алгоритмы хеширования и их будущее 1 Каталог ICO

Хеш и методы хеширования — это главные понятия, с которыми знакомятся новенькие в сфере блокчейна и которые которые постоянно идут о руку с сохранностью. Для поддержания децентрализованных сетей и консенсусных устройств, посреди которых Биткойн либо Ethereum с тысячью узлов, соединённых при помощи p2p, нужно «отсутствие доверия» и действенная система доказательства. Сиим сетям необходимы малогабаритные методы шифрования инфы, которые дозволяли бы участникам проводить резвую и неопасную проверку.

Блок — одна из главных составляющих Биткойна и Ethereum. Блок содержит информацию о транзакциях, временных метках и остальные значительные метаданные. Гигантскую роль в обеспечении сохранности играет возможность сжимать огромные объёмы инфы о глобальном состоянии сети в недлинные обычные сообщения, которые по мере необходимости можно просто проверить. Эти сообщения и есть хеш.

Алгоритмы хеширования и их будущее 11Если поменять хотя бы один знак входящего значения, получится совсем иной хеш!

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

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

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

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

нужно, чтоб метод вычисления x для s= hash(x) был фактически неосуществимым.

Итак, «достойные» методы хеширования обязаны иметь три характеристики:

  • Если поменять один бит входящих данных, должен образоваться лавинный эффект и получиться совсем иной хеш;
  • Маленькая возможность коллизий;
  • Эффективность, которая не жертвует коллизионной устойчивостью.

Взлом хешей

один из первых эталонов алгоритмов хеширования — хеш MD5. Этот метод воспользовался популярностью для проверки целостности файлов (контрольные суммы) и хранения хешированных паролей в базах данных Интернет-приложений. Его функционал довольно прост — он выдаёт строчку с фиксированной длиной в 128 бит для всякого входного значения и употребляет обычные однобокие операции в нескольких циклах для вычисления детерминированного выходящего значения. Из-за недлинной длины выходного значения и простоты операций хеш MD5 весьма просто поддаётся взлому, а именно атаке «дней рождения».

Атака «дней рождения»

Существует известное утверждение о том, что если в комнате находятся 23 человека, то шанс того, что у двое из их родились в один денек, приравнивается 50%. Если в комнате находятся 70 человек, то эта возможность возрастает до 99,9%. Это происходит согласно принципу Дирихле, который утверждает, что если поместить 100 голубей в 99 коробок, то в одной из коробок окажется два голубя. Ограничение фиксированной длины выходящего значения значит, что существует фиксированный уровень композиций для коллизий.

Алгоритмы хеширования и их будущее 13здесь очень много голубей! По последней мере в одной из коробок окажется два попугая.

Хеш MD5 так уязвим к коллизиям, что даже на ординарном микропроцессоре Pentium с частотой 2,4 ГГц можно вычислить коллизии хеша всего за несколько секунд. Наиболее того, обширное применение этого хеша на заре существования сети сделало миллионы прообразов MD5, которые можно было отыскать при помощи обыденного поиска Гугл по их хешу.

Обилие и эволюция алгоритмов хеширования
Начало: SHA1 и SHA2

АНБ (да-да, АНБ) уже в течение долгого времени является пионером по созданию эталонов алгоритмов хеширования. Конкретно АНБ предложило метод Secure Hashing Algorithm либо SHA1 с фиксированной длиной выходящего значения в 160 бит. К огорчению, SHA1 ненамного превосходил MD5 благодаря повышению значения, количества однобоких операций и их трудности, но этот хеш не предлагал основательных улучшений защиты от наиболее массивных машин, создающих различные векторы атаки.

Как сделать лучше метод хеширования?

SHA3

В 2006 году Государственный институт эталонов и технологий США (NIST — National Institute of Standards and Technology) объявил конкурс на создание кандидатуры методу SHA2, которая обязана была фундаментально различаться по собственному дизайну и стать новеньким эталоном. Из схемы алгоритмов хеширования под заглавием KECCAK (произносится как «кечак») возник метод SHA3.

Хотя SHA3 и имеет похожее с прошлыми методами заглавие, он очень различается по собственной внутренней структуре механизмом криптографической губы. Этот механизм производит случайные перестановки для поглощения и сотворения данных, служа источником случайности для входящих данных, которые будут попадать в метод хеширования в дальнейшем.

Алгоритмы хеширования и их будущее 15Обработка входящих данных при помощи криптографической губы KECCAK256

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

Хеширование и подтверждение выполненной работы

В рамках внедрения метода хеширования в протокол блокчейна для метода подтверждения выполненной работы Bitcoin употреблял SHA256, а показавшийся позднее Ethereum — измененную версию SHA3 (KECCAK256). При выбирании хеш-функции для блокчейна с подтверждением выполненной работы весьма принципиальна эффективность вычисления хеша.

SHA256 Биткойна быть может очень отлично вычислен при помощи специального аппаратного обеспечения — специализированных интегральных микросхем (ASIC — Application Specific Integrated Circuits). О использовании ASIC в майнинговых пулах и о том, как они приводят к централизации вычисления, написано весьма много. Подтверждение выполненной работы провоцирует создание пулов из групп действенных в вычислительном отношении машин, по этому возрастает так именуемая «хеш-мощность» либо количество хешей, которые может вычислять машинка за определённый период времени.

[прим.ред.: Майнинг в пуле против соло-майнинга никак не наращивает хэш-мощность участвующего. скорость нахождения хэшей при фиксированной хэш-мощности оборудования участника не изменяется, если ассоциировать с соло-майнингом. Но, собранная от различных участников хэш-мощность всех участников пула, дозволяет отыскивать блоки почаще, чем у всякого из единичных участников пула. Соответственно, пул находит блоки почаще и выплачивает вознаграждение за блок всем участникам пула в единицу времени пропорционально хэш-мощности, участвующей в пуле — за вычетом комиссии пула. к примеру, участник с 1Ghash/s при майнинге Биткойна соло мог бы ждать событие «нахождение блока» — и получение за него заслуги в размере 12,5 BTC — когда-нибудь в течение 5 лет (к примеру!). Роль же в пуле той же мощностью 1Ghash/s (при условии не конфигурации трудности на интервале 5 лет!) дозволяет тому же майнеру получать 12,5 BTC частями, умеренно в течение тех же 5 лет. Это решает делему майнера с выплатами фиата в реале на поддержание фермы].

В Ethereum внедрён измененный метод SHA3 — KECCAK256. метод подтверждения выполненной работы Ethereum под заглавием Dagger-Hashimoto добивался от аппаратного обеспечения очень много памяти для вычислений.

Алгоритмы хеширования и их будущее 17

Биткойн и двойной SHA256

Биткойн хеширует данные при помощи SHA256 необыкновенным методом: он запускает в протоколе два вида метода. необходимо осознавать, что это НЕ мера против атак «дней рождения», поэтому что если hash(x) = hash(y), то hash(hash(x)) = hash(hash(y)). Двойной метод SHA256 употребляется для борьбы с атакой удлинением сообщения.

Если злоумышленники знают длину входных данных хеша, то могут вынудить хеш-функцию взять определённую часть внутреннего состояния, добавив секретную строчку к значению хеша. Из-за этого недочета метода SHA256 из семейства алгоритмов SHA2 Биткойн вычисляет хеш два раза.

Ethereum 2.0 и BLAKE

SHA3 — не единственное изобретение, показавшееся в итоге конкурса NIST в 2006 году. 2-ое пространство занял метод BLAKE. Для сегментирования Ethereum 2.0 наиболее действенное хеширование — это фактически непременное требование, которое серьёзно исследуется командами разрабов. Кропотливому анализу подвергается метод хеширования BLAKE2b — очень улучшенная версия BLAKE — из-за собственной умопомрачительной эффективности по сопоставлению с KECCAK256 и высочайшего уровня сохранности.

На современном микропроцессоре вычисление при помощи BLAKE2b делается втрое резвее, чем при помощи KECCAK.

Перспектива: будущее алгоритмов хеширования

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

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

Что насчёт квантовых вычислений грядущего? Устоят ли методы хеширования против их?

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

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

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

Источник

Оцените статью
Добавить комментарий