Main menu

Доказательство с нулевым разглашением (ZKP): Парадоксы криптографии

Как математически доказать серверу, что вы знаете пароль от своего аккаунта, не пересылая по сети сам пароль (и даже его хеш)? Как доказать налоговой, что ваша зарплата превышает нужный порог, не раскрывая точную сумму? В дискретной математике и криптографии этот кажущийся неразрешимым парадокс элегантно решается с помощью протоколов Доказательства с нулевым разглашением (Zero-Knowledge Proof, ZKP), созданных в 1985 году.

Подробнее

Алгоритм Джонсона: Кратчайшие пути между всеми парами вершин

Задача поиска кратчайших путей между всеми парами вершин графа (All-Pairs Shortest Path, APSP) жизненно необходима для картографических сервисов и маршрутизации. Классический алгоритм Флойда-Уоршелла решает ее блестяще, но требует времени O(V^3). Для плотных графов это нормально, но для огромных разреженных графов (где ребер мало, как в сети реальных дорог) O(V^3) — это катастрофически долго. Алгоритм Джонсона (1977 год) предложил изящный математический трюк, снижающий сложность до O(V^2 log V + VE).

Подробнее

Дерево палиндромов (Eertree): Новое слово в алгоритмах на строках

Задачи поиска и анализа палиндромов (строк, читающихся одинаково в обоих направлениях) — классика спортивного программирования и биоинформатики. Алгоритм Манакера отлично находит самую длинную симметричную подстроку, но когда требуется найти все уникальные палиндромы, подсчитать их частоты или вычислить факторизацию строки на палиндромы, старые методы буксуют. Революция произошла в 2014 году, когда Михаил Рубинчик представил миру новую структуру данных — Дерево палиндромов (Eertree).

Подробнее

Соц. сети