Сообщество - Лига Криптовалют

Лига Криптовалют

5 379 постов 9 657 подписчиков

Популярные теги в сообществе:

Что происходит с криптовалютой на 21 августа. Рост крипторынка

Доминация BTC — 59,6%, ETH — 11,02%, стейблкоины — 9,78%, прочие — 19,61%. Капитализация рынка $2,61 трлн, +4,06% за сутки, объём торгов $156,58 млрд. Резкий вертикальный вынос капитализации в последние два дня после трёх месяцев болтанки в диапазоне $2,15–2,35 трлн.

Индекс 25 из 100 — зона «сезона биткоина». За 90 дней только 12 альтов из 48 обогнали BTC, 36 отстали, при этом сам BTC за период почти в нуле (−0,87%). Лучшие — CRV +38,68%, XLM +28,85%, EOS +17,85%; аутсайдеры — CHZ −66,78%, GALA −49,04%, MATIC −40,35%. С начала июня индекс держался в нейтральной зоне 30–50, но к концу августа сполз обратно к нижней границе.

За последний день +$104,9 млн, второй день притока подряд, лидер — ARKB (+$104,8 млн). Но накопленный поток за 72 дня остаётся отрицательным: −$5,68 млрд. Основной слив пришёлся на конец мая — июнь, с июля кривая пытается разворачиваться вверх, отыграно пока меньше четверти просадки.

За сутки вынесло $12,55 млрд — 35 743 позиции. Перекос односторонний: шорты $10,48 млрд против лонгов $2,07 млрд. Крупнейшая единичная ликвидация — шорт на BTCUSD_PERP на $733,8 млн. По инструментам картина та же: BTCUSD_PERP $4,49 млрд с распределением 6/94 в пользу шортов, BTCUSD — 5/95, сентябрьский фьючерс BTCUSD_260925 вообще 0/100. Спокойнее всего в BTC и ETHUSD — там перекос почти симметричный (45/55 и 47/53).

Что это добавляет к связке: вертикальный вынос капитализации на скрине 1 — это не приток новых денег, а вынос шортистов. Рынок рос на закрытии чужих позиций, и это самый хрупкий вид роста.

Данные https://etpinvest.ru/crypto/

Показать полностью 3
2

Демонстрация GLV-эндоморфизма и атаки на невалидных кривых с восстановлением приватного ключа через китайскую теорему об остатках

В данной работе проведён глубокий анализ криптографических свойств эллиптической кривой secp256k1, используемой в протоколе Биткоина. Рассмотрим подробно теоретические основы суперсингулярных кривых, следа Фробениуса, степени вложения (embedding degree) и атаки MOV-редукции. Покажем, на наличие эффективного GLV-эндоформизма, где кривая устойчива к основным структурным атакам (MOV, Pohlig–Hellman) благодаря большому embedding degree и простоте порядка группы. Однако реализационные уязвимости (fault injection, invalid curve) остаются актуальными. В качестве практической части применим готовые математические скрипты и различные алгоритмы для выполнения в среде Google Colab, которые демонстрируют вычисление embedding degree, проверку простоты порядка, реализацию GLV-разложения и моделирование атаки invalid curve.

Рассмотренные нами направлений показывают, что реальная безопасность эллиптической криптографии имеет многослойную природу. Ускоряющий эндоморфизм GLV, геометрия скрученных кривых, жизненный цикл сеансового ключа, математическая сборка остатков через CRT и квантовая вычислимость ECDLP образуют не набор изолированных тем, а связную карту криптографического риска. С этой точки зрения secp256k1 представляет собой показательный исследовательский объект. Она устойчива к классическим структурным атакам уровня MOV и к прямому ускорению через Полига–Хеллмана в основной группе, но остаётся чувствительной к ошибкам реализации, особенно если разработчик недооценивает необходимость строгой валидации точки, constant-time арифметики и протокольного применения эфемерных ключей. Именно поэтому современная научная статья о secp256k1 не должна ограничиваться только математикой кривой. Полноценный анализ обязан совмещать теорию чисел, вычислительную геометрию, модель побочных каналов, архитектуру TLS/ECDH, инварианты подгрупп и стратегию долгосрочной криптографической миграции. Только в таком интегральном виде исследование действительно отражает состояние практического криптоанализа эллиптических кривых.

Из более ранних наших публикации нам известно следующие типы атак: MOV-редукция (пары Вейля), Pohlig–Hellman, GLV-ускоренный Pollard rho, Fault injection (j=0 degenerate) и Small-subgroup / invalid curve которая ставит для нас цель как основу:

  • систематизировать теоретические сведения о данных атаках применительно к secp256k1;

  • оценить реальную угрозу каждой из них;

  • представить практические скрипты для их демонстрации в среде Google Colab, что позволит исследователям и разработчикам самостоятельно убедиться в свойствах кривой;

  • дополнительно реализовать полноценную атаку invalid curve с восстановлением ключа через CRT, включая автоматический поиск подходящих кривых с малыми порядками.

https://dzen.ru/video/watch/6a84e4470103724a810dc06a

Теоретические основы

1. Эллиптические кривые и след Фробениуса

Для эллиптической кривой E над полем Fq число точек #E(Fq)=q+1−t, где tслед Фробениуса. Кривая называется суперсингулярной, если t≡0(modp) (для характеристики p). Для суперсингулярных кривых степень вложения k (наименьшее число, такое что n∣qk−1, где n — простой порядок подгруппы) мала (обычно k≤6), что делает их уязвимыми для MOV-атаки.

2. MOV-редукция

Атака Менезеса–Окамото–Ванстоуна (MOV) использует спаривание Вейля для переноса ECDLP в мультипликативную группу поля Fqk∗, где применимы субэкспоненциальные алгоритмы (index calculus). Успех атаки напрямую зависит от малости k. Для secp256k1, как будет показано ниже, k имеет порядок самого n (~2256), что делает MOV-редукцию абсолютно непрактичной.

3. GLV-эндоформизм

Кривые с j-инвариантом j=0 (например, secp256k1, где a=0) обладают эффективным эндоформизмом — автоморфизмом ϕ:(x,y)↦(ωx,y), где ω — примитивный кубический корень из единицы в Fp2. Этот эндоформизм позволяет ускорить скалярное умножение, но также даёт ускорение алгоритма Полларда «ро» примерно в 2 раз (GLV-ускоренный Pollard rho).

4. Атаки на реализацию

Атаки fault injection и invalid curve относятся к классу атак по сторонним каналам или ошибкам в реализации. При физическом доступе к устройству можно вызвать сбой вычислений, что для кривых с j=0 может привести к упрощению задачи восстановления ключа до решения квадратного уравнения [4]. Атака invalid curve использует отсутствие проверки принадлежности точки исходной кривой, позволяя злоумышленнику подсунуть точку малого порядка на другой кривой и выведать скаляр.

Анализ secp256k1

Для secp256k1 выполняются следующие параметры:

  • p=2256−232−977

  • порядок группы n=115792089237316195423570985008687907852837564279074904382605163141518161494337 — простое число;

  • след Фробениуса t=432420386565659656852420866394968145599 (128-битное число, не равное нулю по модулю p).

Таким образом, кривая не является суперсингулярной. Её embedding degree k — это минимальное k, удовлетворяющее n∣pk−1. Как показано в [1, 7], k имеет порядок n, что делает поле Fpk астрономически большим и непригодным для index calculus. Следовательно, MOV-атака неприменима.

Атака Pohlig–Hellman также неэффективна, поскольку n — простое число, и группа имеет простой порядок.

GLV-эндоформизм даёт ускорение Pollard rho лишь на 2, что не снижает практическую сложность ниже 2128 операций.

Уязвимости, связанные с fault injection и invalid curve, являются проблемами реализации, а не структуры кривой. Они требуют физического доступа или ошибок в коде проверки.

Демонстрационные скрипты для Google Colab

Данная демонстрационная работа представляет собой развёрнутый криптоаналитический разбор вычислительного эксперимента (Google Colab notebook), демонстрирующего три взаимосвязанных аспекта безопасности эллиптической криптографии на кривой secp256k1: (1) проверку параметров кривой на устойчивость к атаке Менезеса–Окамото–Ванстоуна (MOV) через степень вложения; (2) верификацию простоты порядка группы как условие устойчивости к алгоритму Полига–Хеллмана; (3) построение эффективного вычислимого эндоморфизма GLV (Gallant–Lambert–Vanstone); и (4) практическую демонстрацию атаки на невалидных кривых (Invalid Curve Attack) с восстановлением секретного скаляра через китайскую теорему об остатках (CRT). Каждый программный блок анализируется как самостоятельный криптоаналитический артефакт, сопровождаемый историческими примерами реальных инцидентов — от атаки Джагера, Швенка и Соморовски на TLS-ECDH до особенностей проектирования кривых Коблица в Bitcoin.

.



Vev AI: GLV ENDOMORPHISM // INVALID-CURVE ATTACK // CRT KEY RECOVERY

Video screencast of the demonstration


1. Практическая ECC: аудит secp256k1 от теории к Invalid Curve Attack

Эллиптическая криптография (ECC) образует фундамент современных протоколов цифровой подписи и согласования ключей, включая ECDSA, ECDH и схему Schnorr, используемую в Bitcoin. Безопасность этих схем основана на вычислительной сложности задачи дискретного логарифма на эллиптической кривой (ECDLP). Однако практическая безопасность реализации зависит не только от математической стойкости выбранной кривой, но и от корректности проверки входных данных на уровне протокола — в первую очередь, от проверки принадлежности точки заданной кривой.

Рассматриваемый notebook посвящён кривой secp256k1 — кривой Коблица вида y2 = x3 + 7 над простым полем p = 2256 — 232 — 977, которая используется в Bitcoin, Ethereum и множестве других криптовалютных и распределённых протоколов. Анализ выстроен по классической схеме криптографического аудита: проверка структурных инвариантов кривой (степень вложения, простота порядка), затем демонстрация алгебраического ускорения (GLV-эндоморфизм), и, наконец, атака на протокольном уровне (invalid curve attack), иллюстрирующая, что даже теоретически стойкая кривая может быть скомпрометирована при отсутствии валидации точки на стороне получателя.



2. Установка зависимостей sympy математические библиотеки

Первый программный блок устанавливает библиотеки sympy, galois и pycryptodome. Библиотека sympy используется для операций теории чисел — проверки простоты (isprime), символьных вычислений и модульного обращения (invert), а также реализации CRT через sympy.ntheory.modular.crt. Библиотека galois предназначена для арифметики в конечных полях GF(pk), что теоретически необходимо для вычисления степени вложения в расширенных полях, хотя в данной демонстрации она используется ограниченно, поскольку показатель степени вложения secp256k1 огромен и не требует явного построения расширения поля.

Исторический контекст. Использование open-source библиотек теории чисел (PARI/GP, Sage, sympy) стало стандартом криптоаналитических исследований после публикации атаки Ленстры на факторизацию через эллиптические кривые (метод ECM, 1987) и алгоритма индексного исчисления Adleman–DeMarrais–Huang (1994) для гиперэллиптических кривых — оба метода были впервые верифицированы именно посредством символьных вычислительных систем, а не аппаратных реализаций.



3. Параметры устойчивости к MOV-атаке: фактор степени вложения

Второй блок задаёт классические параметры кривой: модуль поля p = 2256 — 232 — 977 и порядок группы точек n, являющийся 256-битным простым числом, определённым стандартом SEC2. Затем вычисляется степень вложения k — наименьшее натуральное число, для которого n | pk — 1, то есть pk ≡ 1 (mod n). Именно эта величина определяет размер расширенного поля, в которое пары точек кривой могут быть вложены посредством билинейного спаривания (пары Вейля или Тейта), что и лежит в основе MOV-атаки.

Код последовательно увеличивает k от 1, проверяя условие pk mod n = 1, и обрывает цикл при k > 10000, фиксируя вывод Embedding degree k = 10001. Такое значение на практике означает, что MOV-атака требует переноса задачи дискретного логарифма в поле GF(p10001) — поле астрономического размера, вычислительно абсолютно неосуществимое ни при каких современных ресурсах.

Исторический пример. Атака MOV была предложена Alfred Menezes, Tatsuaki Okamoto и Scott Vanstone в 1993 году именно как метод компрометации суперсингулярных эллиптических кривых, у которых степень вложения мала (k ≤ 6). Это открытие стало причиной того, что суперсингулярные кривые были исключены из стандартов IEEE P1363 и NIST FIPS 186 для классической ECDSA/ECDH — их использование ограничено исключительно парными (pairing-based) криптосистемами, где вложение является намеренной конструктивной особенностью, а не уязвимостью (например, BLS-подписи).



4. Защита от атаки Полига-Хеллмана: важность простого порядка

Третий блок повторно вызывает sympy.isprime(n), подтверждая, что порядок группы точек n — простое число. Это критично для устойчивости к алгоритму Полига–Хеллмана (Pohlig–Hellman, 1978), который сводит задачу ECDLP в группе порядка n = ∏ qiei к серии подзадач в подгруппах простых порядков qi, решаемых по отдельности и объединяемых через CRT — тот же математический аппарат, что и в атаке на невалидных кривых из пятой ячейки. Если бы n имело малые простые делители, дискретный логарифм можно было бы восстановить многократно быстрее, чем методом Полларда–ро для целой группы.

Исторический пример. Именно отсутствие проверки на гладкость (smoothness) порядка группы обусловило слабость ранних реализаций Diffie–Hellman по простому полю в 1990-х годах: протокол PKCS#3 не требовал проверки, что генератор порождает подгруппу простого порядка, что приводило к атакам малых подгрупп (Lim–Lee, 1997) — прямому прообразу описываемой в notebook атаки для эллиптических кривых.



5. GLV-эндоморфизм (ячейка 5)

5.1. Математическая конструкция

Кривая secp256k1 имеет вид y2 = x3 + b с параметром a = 0, что соответствует j-инварианту j = 0. Для таких кривых существует эффективно вычислимый эндоморфизм φ:(x, y) ↦ (βx, y), где β — примитивный кубический корень из единицы в поле Fp (β3 = 1, β ≠ 1). Данному геометрическому отображению соответствует скалярное умножение точки на величину λ по модулю n, такую что φ(P) = λP для любой точки P группы. Значение λ является корнем уравнения λ2 + λ + 1 ≡ 0 (mod n).

Код решает это квадратное уравнение через дискриминант −3, вычисляя √(−3) mod n алгоритмом Тонелли–Шенкса (Tonelli–Shanks), после чего находит оба корня по формуле λ = (−1 ± √(−3)) / 2 mod n. Вывод демонстрирует два корня — λ1 = 78074008874160198520644763525212887401909906723592317393988542598630163514318 и λ2 = 37718080363155996902926221483475020450927657555482586988616620542887997980018 — удовлетворяющих уравнению по модулю n.

5.2. Практическое применение

GLV-метод (Gallant, Lambert, Vanstone, 2001) применяется для ускорения умножения точки на скаляр k: скаляр разлагается на два «коротких» компонента k1, k2 примерно в 128 бит каждый, такие что k ≡ k1 + k2λ (mod n), после чего kP = k1P + k2φ(P) вычисляется методом одновременного умножения (Shamir’s trick / Straus–Shamir), что почти вдвое сокращает число операций удвоения точки по сравнению с наивным методом double-and-add для полноразмерного 256-битного скаляра.

Исторический и индустриальный пример. GLV-эндоморфизм реализован в эталонной библиотеке Bitcoin Core — libsecp256k1 — с момента её первой версии в 2013 году, но был отключён по умолчанию из-за опасений относительно дополнительной сложности кода и рисков побочно-канальных утечек; endomorphism-оптимизация была официально включена по умолчанию только в 2020–2021 годах (PR #830), дав приблизительно 20–25% прирост скорости проверки подписи — критичный показатель при валидации миллионов транзакций Bitcoin ежедневно. Это единственный документированный случай, когда криптографическая «уязвимость-подобная» структура (эндоморфизм, теоретически сужающий пространство эффективных атак Полларда до √(n/6) вместо √(n)) была осознанно принята индустрией как приемлемый компромисс между производительностью и безопасностью, поскольку итоговое ускорение атаки Полларда-ро составляет менее чем √(6) ≈ 2.45 раза — ничтожно по сравнению с экспоненциальной стойкостью 128-битного уровня безопасности.



6. Атака на невалидных кривых с восстановлением ключа через CRT (ячейка 6)

6.1. Принцип атаки

Invalid Curve Attack (атака на невалидных кривых) эксплуатирует ситуацию, когда получатель точки P в протоколе ECDH выполняет скалярное умножение kP без проверки того, что P действительно лежит на ожидаемой кривой. Атакующий отправляет точку P’, лежащую на другой (специально сконструированной, «невалидной») кривой E’: y2=x3+b’ с тем же значением a = 0, но с иным b’, выбранным так, чтобы порядок группы точек E'(F_p) содержал малый простой делитель ℓ. Формулы сложения и удвоения точек в форме Вейерштрасса не используют параметр b, поэтому уравнения дают корректный, хотя и «бессмысленный» на исходной кривой, результат вычислений — жертва не замечает подмены.

Получив в ответ Q=kP’, атакующий, зная, что P’ имеет малый порядок ℓ, решает дискретный логарифм в маленькой циклической подгруппе методом полного перебора (или Полларда–ро для больших ℓ), находя r такое, что rP’=Q, то есть k ≡ r (mod ℓ). Повторяя эту процедуру для набора кривых с различными взаимно простыми ℓi, атакующий собирает систему сравнений k ≡ ri (mod ℓi) и восстанавливает k mod ∏ℓi через китайскую теорему об остатках. Если произведение модулей ∏ℓi превышает n, приватный ключ восстанавливается однозначно.

6.2. Разбор кода

Программный блок генерирует случайный приватный ключ k в диапазоне [1, n — 1] и пытается найти кандидатные невалидные кривые b ∈ [1, 200] с малыми простыми делителями порядка (< 106). Комментарии в коде честно указывают на ограничение: подсчёт числа точек эллиптической кривой над 256-битным полем (алгоритм Шуфа – Schoof’s algorithm) невыполним в «чистом» Python без специализированных библиотек типа PARI/GP или SageMath, поэтому цикл поиска кривых фактически не выполняется (pass), и вывод честно показывает Found 0 candidate curves.

В качестве педагогической компенсации применяется резервный механизм: вместо честно найденных остатков от атаки берутся «искусственные» остатки k mod m_i для набора малых простых \{2,3,5,7,11,13,17,19,23\}, произведение которых M = 223092870 значительно меньше 256-битного n. CRT восстанавливает k mod M, но результат kcrt = 172842627 заведомо неполон, и вывод корректно фиксирует ошибку: Key not fully recovered because M < n. Это демонстрирует ключевое ограничение метода — необходимое условие успеха атаки: ∏ℓi > n.

Исторический пример — главный криптоаналитический факт статьи. Именно эта атака была впервые продемонстрирована практически в академической работе «Practical Invalid Curve Attacks on TLS-ECDH» (Tibor Jager, Jörg Schwenk, Juraj Somorovsky, ESORICS 2015). Авторы проанализировали восемь широко используемых криптографических библиотек и обнаружили, что реализации Oracle (JSSE с провайдером SunEC, используемым по умолчанию в Java) и Bouncy Castle не выполняли проверку принадлежности точки кривой в ECDH. Атакующие отправляли сервером сконструированные точки на кривых малого порядка, собирали ответы (в TLS — через различие в поведении при ошибке рукопожатия, то есть oracle-канал), и с помощью CRT восстановили полный статический приватный ключ сервера, используемый для аутентификации TLS-сессий — после единственного полного цикла атаки злоумышленник мог выдавать себя за легитимный сервер бесконечно долго. Это стало одним из наиболее значимых практических подтверждений теоретической атаки Antipa, Brown, Menezes, Struik и Vanstone (2003, «Validation of Elliptic Curve Public Keys»), впервые формально описавших invalid curve attack более чем десятилетием ранее.



7. Гарантированная демонстрация на уменьшенном поле p = 65537 (ячейка 7)

7.1. Замысел эксперимента

Поскольку полноразмерная атака на secp256k1 требует поиска кривых с известным числом точек, что вычислительно неосуществимо без алгоритма Шуфа, авторы notebook реализуют полный аналог атаки на значительно уменьшенном поле pdemo = 65537 (простое число Ферма 216 + 1), где перебор всех x ∈ [0, p) для подсчёта точек кривой практически мгновенен.

7.2. Реализация базовых операций

Блок кода самостоятельно реализует полный минимальный стек эллиптической криптографии: символ Лежандра (legendre_symbol) для проверки квадратичных вычетов, алгоритм Тонелли–Шенкса для извлечения квадратного корня по модулю простого числа, аффинное сложение и удвоение точек (ec_add_curve) по стандартным формулам хорды и касательной, скалярное умножение методом double-and-add (ec_mul_curve), полный перебор точек кривой (points_on_curve) и наивное определение порядка точки последовательным сложением (point_order).

Исходная кривая y2 = x3 + 7 над pdemo = 65537 имеет порядок ndemo = 65538 = 2·32·11·331 — уже само по себе гладкое (не простое!) число, что в реальном протоколе также было бы уязвимостью для атаки Полига–Хеллмана без невалидной кривой. Для демонстрации генерируется случайный демонстрационный ключ kdemo = 42379.

7.3. Результаты и их интерпретация

Перебирая b ∈ [1, 100], код успешно находит 100 кандидатных невалидных кривых — для каждой b порядок группы точек оказывается чётным, что даёт точку порядка \ell=2. Однако все 100 собранных остатков совпадают (r = 1 при \ell=2), потому что все они несут одну и ту же информацию — чётность kdemo mod 2. CRT из идентичных сравнений даёт тривиальный результат k ≡ 1 (mod 2), и итоговый модуль M = 2100 огромен по величине, но не несёт новой информации, поэтому ключ не восстанавливается: Key not recovered (M is still too small) с точки зрения покрытия уникальных, взаимно простых модулей, а не абсолютной величины M.

Данный результат методологически ценен: он иллюстрирует критически важное требование протокола CRT-атаки — собираемые модули ℓi должны быть попарно взаимно простыми и в совокупности превышать n, а не просто многочисленными. Если бы поиск был расширен для нахождения кривых с различными простыми делителями (3, 11, 331 и далее), результат достиг бы M ≥ ndemo = 65538 и ключ был бы восстановлен полностью, что подтверждает корректность самого механизма CRT, реализованного через sympy.ntheory.modular.crt, при должном разнообразии входных модулей.

Исторический пример. Аналогичная методологическая ловушка — сбор избыточных, но не независимых остатков — хорошо известна в классическом криптоанализе RSA-CRT: атака Boneh–DeMillo–Lipton (1997) на реализации RSA с ускорением через CRT показала, что одна-единственная ошибка вычисления в одной из двух ветвей CRT (по модулю p или q) достаточна для полной факторизации модуля через gcd(N, Se-C), тогда как множественные идентичные (неинформативные) ошибочные подписи не добавляют новой информации — свойство, зеркально отражающее наблюдение из ячейки 7 про необходимость разнообразия, а не количества модулей.



8. Уязвимости ECC: почему реализация подводит чаще, чем математика

Итоговый вывод блокнот Google Colab фиксирует три ключевых установленных факта: (1) secp256k1 устойчива к MOV-атаке благодаря огромной степени вложения; (2) устойчива к Полигу–Хеллману благодаря простому порядку группы; (3) обладает эффективным GLV-эндоморфизмом, используемым для легитимного ускорения вычислений, а не как уязвимость; и (4) invalid curve attack, будучи практически неосуществимой непосредственно на secp256k1 (из-за отсутствия известных невалидных кривых с гладким малым порядком в разумном диапазоне b), остаётся серьёзной угрозой на уровне реализации протокола — что и было эмпирически подтверждено на уменьшенном поле.

Криптоаналитический смысл всей демонстрации сводится к разграничению двух категорий уязвимостей: структурных (свойства самой кривой — степень вложения, гладкость порядка) и протокольных / реализационных (отсутствие валидации входных точек), причём именно вторая категория исторически являлась причиной подавляющего большинства реальных компрометаций ECC-систем, включая TLS-ECDH (Jager–Schwenk–Somorovsky, 2015), проприетарные RFID-протоколы и встраиваемые IoT-реализации.



9. Сводная таблица атак и защитных механизмов


10. Практические рекомендации для криптографических реализаций

  • Всегда проверять принадлежность полученной точки P=(x, y) заданной кривой: y2 ≡ x3+ax+b (mod p), а также проверять, что nP=O (точка имеет корректный порядок), прежде чем использовать её в вычислении общего секрета ECDH.

  • Не переиспользовать статический (долгосрочный) приватный ключ ECDH без дополнительной защиты — именно повторное использование эфемерно-статических ключей многократно увеличивает эффективность invalid curve attack, позволяя атакующему собрать сколь угодно много остатков CRT в отдельных сессиях.

  • Использовать представления кривых, устойчивые к атакам через X-координату (например, кривые Монтгомери с ladder-алгоритмом), которые снижают, но не полностью исключают риск атак на кручёных (twist) кривых.

  • Для высокопроизводительных реализаций (например, Bitcoin Core) применять GLV-эндоморфизм только после тщательного аудита побочных каналов, поскольку разложение скаляра k=k1+k2λ вносит дополнительную структуру, потенциально анализируемую методами анализа потребления энергии (DPA).


В отличие от базовой демонстрации, основной акцент сделан на дополнительных научно значимых аспектах: атаках по побочным каналам на GLV-разложение, роли скрученных кривых и twist security, влиянии эфемерных ключей на результативность invalid curve attack, двоякой природе CRT как механизма ускорения и поверхности атаки, а также на квантовых ограничениях классической стойкости ECDLP.

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

Кривая secp256k1, задаваемая уравнением y2 = x3 + 7 над полем p = 2256 — 232 — 977, часто рассматривается как пример кривой, в которой высокопроизводительная арифметика и криптоаналитическая устойчивость сосуществуют в одном объекте. Однако сама по себе математическая устойчивость к MOV-редукции и алгоритму Полига–Хеллмана не устраняет угроз, возникающих на уровне валидации точки, управления скаляром, протокольного повторного использования ключа и защиты от побочных каналов.

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



11. Атаки по побочным каналам на GLV-эндоморфизм

GLV-эндоморфизм ускоряет скалярное умножение за счёт разложения полного скаляра k на два более коротких компонента k1 и k2, удовлетворяющих соотношению k ≡ k1 + k2λ (mod n). После этого вычисление kP сводится к совместной обработке двух более коротких умножений: kP = k1P + k2φ(P), что снижает число дорогостоящих операций и делает метод особенно привлекательным для высокопроизводительных библиотек цифровой подписи.

Однако ускорение за счёт GLV меняет не только асимптотику, но и микроструктуру вычислений. Разложение секрета на две компоненты создаёт иную картину доступа к памяти, иную последовательность удвоений и сложений, а также другой профиль энергопотребления и электромагнитного излучения по сравнению с классическим double-and-add или алгоритмами типа Montgomery ladder.

Именно здесь возникает естественная поверхность атаки для DPA, SPA и тайминг-анализа. Если разложение скаляра, выбор окон, таблицы предвычислений или совместное умножение реализованы не в constant-time режиме, атакующий может извлекать коррелированную информацию о k1 и k2, а затем реконструировать исходный секретный скаляр. В такой постановке сама алгебраическая оптимизация не является уязвимостью, но становится усилителем утечки, если архитектура реализации недостаточно дисциплинирована.

С научной точки зрения это особенно важно потому, что GLV вносит дополнительную структуру в представление секрета. В классической реализации секрет наблюдается как один поток операций, тогда как в GLV-реализации он распадается на две зависимые координаты в решётке, и именно это часто делает защиту сложнее, а не проще. Поэтому при оценке безопасности GLV следует анализировать не только формулу разложения, но и конкретную микрореализацию одновременного умножения, стратегию маскирования и устойчивость к leakage-resilient моделям.

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



12. Скрученные кривые и twist security

Атака на невалидных кривых тесно связана с более широкой геометрической идеей: корректность арифметики точки не гарантирует корректность самой кривой, на которой фактически происходит вычисление. В формулах сложения и удвоения точки в модели короткой формы Вейерштрасса параметр b не участвует явно в вычислении наклона, поэтому злоумышленник может подать точку, принадлежащую иной кривой вида y2 = x3 + b′, и жертва выполнит скалярное умножение без немедленного обнаружения ошибки.

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

Именно поэтому понятие twist security представляет не только теоретический интерес, но и практическое значение для инженерии протоколов. Даже если исходная кривая имеет большой простой порядок рабочей подгруппы, скрученная кривая может содержать малые делители, удобные для атаки через малые подгруппы или для восстановления секрета по остаткам k mod ℓi. В такой модели атакующий не ломает исходную ECDLP на secp256k1, а переводит реализацию в небезопасную алгебраическую среду.

Для secp256k1 это означает, что проверка принадлежности точки должна считаться обязательной частью протокола, а не факультативной оптимизацией. Необходимо удостоверяться, что входная точка удовлетворяет сравнению y2 ≡ x3 + 7 (mod p), не является точкой на посторонней кривой, принадлежит корректной подгруппе и при необходимости удовлетворяет условию nP = O. Только совокупность этих проверок блокирует переход вычисления в чужую группу и устраняет основу invalid curve attack.

Научно полезно также рассматривать invalid curve attack и twist-based уязвимости как два близких класса явлений: в обоих случаях проблема заключается не в слабости самой формулы ECDLP, а в неконтролируемом переносе секрета в другую группу. Такая перспектива объединяет геометрию эллиптических кривых, безопасность API и формальную верификацию проверок входных параметров в единую исследовательскую тему.



13. Эфемерные ключи и Perfect Forward Secrecy

Эффективность invalid curve attack в значительной степени зависит от того, повторно ли используется один и тот же секретный скаляр. Если протокол применяет статический ECDH, атакующий может многократно инициировать взаимодействие с жертвой, каждый раз отправляя новую точку малого порядка и извлекая очередной остаток вида k ≡ ri (mod ℓi). Накопив достаточно много сравнений с попарно взаимно простыми модулями и достигнув условия ∏ℓi > n, злоумышленник восстанавливает приватный ключ через CRT.

Ситуация качественно меняется в схеме ECDHE, где скаляр генерируется заново для каждой сессии. Тогда каждый собранный остаток относится уже к новому ключу, а не к предыдущему, и CRT перестаёт быть механизмом последовательного накопления информации о единственном секрете. В такой архитектуре invalid curve attack может в лучшем случае повлиять на конкретную сессию, но теряет силу как средство полного восстановления долгосрочного ключа сервера.

Здесь проявляется фундаментальная ценность Perfect Forward Secrecy. PFS защищает не только от ретроспективного раскрытия записанного трафика после компрометации долгосрочного секрета, но и от кумулятивных протокольных атак, основанных на постепенном извлечении фрагментов одного и того же ключа. Следовательно, использование эфемерных ключей является не просто современной рекомендацией, а математически обоснованным способом разорвать логику CRT-восстановления на уровне архитектуры обмена.

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

Для полноты статьи имеет смысл явно указать, что устойчивость протокола к invalid curve attack зависит не только от проверки точки, но и от жизненного цикла секрета. Даже если две реализации используют одну и ту же кривую secp256k1 и одинаковую арифметику умножения точки, их криптоаналитическая поверхность будет различаться радикально, если одна переиспользует статический секрет, а другая создаёт новый эфемерный ключ на каждую сессию.



14. Роль и уязвимости китайской теоремы об остатках

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

В контексте ECC это проявляется в двух смежных сценариях. Первый связан с алгоритмом Полига–Хеллмана, где ECDLP в группе составного порядка разлагается на подзадачи в подгруппах простых степеней, а затем собирается через CRT. Второй сценарий соответствует invalid curve attack, где секретный скаляр не раскладывается самой структурой честной группы, а “разрезается” атакующим на остатки по специально подобранным малым порядкам посторонних точек.

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

Очень полезна параллель с RSA-CRT и fault injection. В RSA ускорение через CRT улучшает производительность подписи и расшифрования, но при появлении ошибки в одной ветви вычислений возникает возможность факторизации модуля или восстановления ключевых компонентов. Эта аналогия подчёркивает общий принцип: всякий раз, когда большая криптографическая задача декомпозируется на малые независимые ветви, безопасность начинает зависеть от того, может ли атакующий изолированно наблюдать, искажать или переиспользовать хотя бы одну из них.

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



15. Сопротивляемость квантовым вычислениям и пределы ECDLP

Классические атаки на secp256k1, обсуждаемые в исходной линии анализа, различаются по своей природе. MOV-редукция использует специальные структурные свойства кривой, invalid curve attack использует ошибки реализации и валидации, а алгоритм Полига–Хеллмана выигрывает от составного порядка группы. Во всех этих случаях атака зависит от дополнительной слабости: неправильного выбора кривой, незащищённой подгруппы или дефекта протокола.

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

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

Такой взгляд помогает правильно интерпретировать реальный риск. На текущем этапе для большинства прикладных систем более актуальны ошибки валидации точки, повторное использование секретов и side-channel leakage, чем полномасштабная квантовая атака. Однако для систем длительного хранения ценностей, долгоживущих подписей и архивной конфиденциальности необходимо уже сейчас учитывать горизонт перехода к гибридным и постквантовым схемам.

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



Заключение

Расширение исходной темы за счёт side-channel анализа GLV, twist security, PFS, двоякой роли CRT и квантового горизонта позволяет перевести статью из формата демонстрационного разбора в полноценное научное исследование криптоаналитического профиля secp256k1. Ключевой вывод состоит в том, что стойкость эллиптической системы определяется не одной формулой ECDLP, а совокупностью факторов: корректностью группы, контролем над входной точкой, дисциплиной реализации и моделью вычислительных угроз.

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


📚 Огромное благодарность:

  1. Menezes, A., Okamoto, T., Vanstone, S. (1993). Reducing elliptic curve logarithms to logarithms in a finite field. IEEE Trans. Inf. Theory, 39(5), 1639–1646.

  2. Gallant, R., Lambert, R., Vanstone, S. (2001). Faster point multiplication on elliptic curves with efficient endomorphisms. CRYPTO 2001.

  3. Degenerate Fault Attacks on Elliptic Curve Parameters, IACR ePrint 2019/400.

  4. SafeCurves: https://safecurves.cr.yp.to/

  5. Bernstein, D.J., & Lange, T. (2007). Fault attacks on elliptic curve cryptosystems. In: Cryptographic Hardware and Embedded Systems – CHES 2007.

  6. Silverman, J.H. (2009). The Arithmetic of Elliptic Curves. Springer.

  7. Pohlig, S. C., Hellman, M. E. “An Improved Algorithm for Computing Logarithms over GF(p) and Its Cryptographic Significance.” IEEE Transactions on Information Theory, 24(1), 1978, pp. 106–110.

  8. Gallant, R. P., Lambert, R. J., Vanstone, S. A. Original GLV method introduced at CRYPTO 2001; see also later formal treatments of the Gallant–Lambert–Vanstone decomposition method.

  9. Smart, N. P. “The Discrete Logarithm Problem on Elliptic Curves of Trace One.” Journal of Cryptology, 12, 1999.

  10. Antipa, A., Brown, D. R. L., Menezes, A., Struik, R., Vanstone, S. “Validation of Elliptic Curve Public Keys.” In: Public Key Cryptography — PKC 2003. Lecture Notes in Computer Science, vol. 2567. Springer, 2003. DOI: 10.1007/3-540-36288-6_16.

  11. Jager, T., Schwenk, J., Somorovsky, J. “Practical Invalid Curve Attacks on TLS-ECDH.” ESORICS 2015.

  12. Lim, C. H., Lee, P. J. “A Key Recovery Attack on Discrete Log-based Schemes Using a Prime Order Subgroup.” In: CRYPTO ’97, Lecture Notes in Computer Science, Springer, 1997.

  13. Hankerson, D., Menezes, A., Vanstone, S. Guide to Elliptic Curve Cryptography. Springer, 2004.

  14. Washington, L. C. Elliptic Curves: Number Theory and Cryptography. Chapman & Hall/CRC, 2nd ed., 2008.

  15. Cohen, H., Frey, G. (eds.). Handbook of Elliptic and Hyperelliptic Curve Cryptography. Chapman & Hall/CRC, 2006.

  16. Longa, P., Sica, F. “Four-Dimensional Gallant–Lambert–Vanstone Scalar Multiplication.” In: Advances in Cryptology — ASIACRYPT 2012.

  17. The Gallant–Lambert–Vanstone Decomposition Revisited. Information Security and Cryptology, follow-up study analyzing and refining the GLV decomposition method.

  18. SEC 2: Recommended Elliptic Curve Domain Parameters. Standards for Efficient Cryptography Group (SECG), Version 2.0, 2010.

  19. Bitcoin Core developers. libsecp256k1 technical documentation and implementation notes on high-performance secp256k1 arithmetic and endomorphism-based optimization.

  20. MOV-Reduction Attacks on Bitcoin’s ECDSA and Cryptographic Security >> This paper analyzes the Menezes-Okamoto-Vanstone (MOV) attack on elliptic curve cryptography, specifically focusing on the ECDSA algorithm used in Bitcoin’s secp256k1 curve. It demonstrates that the high embedding degree of secp256k1 renders the MOV attack computationally infeasible, providing practical scripts for testing vulnerabilities in supersingular curves.

  21. Pohlig-Hellman Attack Analysis on Bitcoin’s secp256k1 Curve >> This paper explores the Pohlig-Hellman algorithm’s applicability to Bitcoin’s ECDSA using the secp256k1 curve, demonstrating that the algorithm is ineffective due to the curve’s prime order. It provides practical implementations in Google Colab to illustrate the attack on smooth curves while emphasizing the robustness of secp256k1 against such cryptanalytic methods.

  22. GLV-Accelerated Pollard Rho Algorithm for ECDLP and Bitcoin Security >> This paper explores a modification of Pollard’s ρ method for solving the elliptic curve discrete logarithm problem (ECDLP) using the GLV endomorphism, specifically applied to the secp256k1 curve utilized in Bitcoin. It evaluates the theoretical and practical implications of this acceleration, demonstrating that despite a reduction in computational complexity, the attack remains infeasible for modern classical computers, thus maintaining Bitcoin’s security. The article includes practical implementations in Google Colab to illustrate the algorithm’s operation.

  23. Fault Injection Attacks on secp256k1: Analysis and Practical Demonstrations >> This paper analyzes fault injection vulnerabilities in elliptic curves with a j-invariant of 0, specifically focusing on the secp256k1 curve used in Bitcoin. It details the mathematical foundations of the attack, mechanisms for fault injection, and presents practical demonstrations in Google Colab, highlighting historical vulnerabilities and proposing countermeasures against such attacks.

  24. Frobenius Trace Vulnerabilities in MOV Attacks on Elliptic Curves >> This article discusses the vulnerabilities of isogenous supersingular curves related to secp256k1, particularly their susceptibility to Menezes-Okamoto-Vanstone (MOV) attacks due to specific Frobenius traces and embedding degrees. It provides mathematical analyses, executable scripts for testing these vulnerabilities on Google Colab, and emphasizes the need for regular auditing of cryptographic parameters to mitigate potential threats.

  25. Invalid Curve Attack on Bitcoin’s secp256k1 Elliptic Curve Cryptography >> This paper analyzes the Invalid Curve Attack (ICA) on the secp256k1 elliptic curve used in Bitcoin, highlighting vulnerabilities due to the absence of curve point validation in cryptographic libraries. It demonstrates how attackers can exploit this flaw to recover private keys using the Pohlig-Hellman algorithm and the Chinese Remainder Theorem, while also discussing real-world implications and protective coding practices.

  26. Cryptanalytic Analysis of Boneh-DeMillo-Lipton Attack on RSA Implementations >> This article explores the Boneh-DeMillo-Lipton (BDL) attack on RSA, highlighting its reliance on the Chinese Remainder Theorem and fault injection techniques. It discusses the mathematical foundations of the attack, provides implementation examples in Python, and emphasizes the vulnerabilities of RSA-CRT in hardware wallets, while also suggesting protective measures against such attacks.

  27. Deep Cryptanalysis of TLS-ECDH and Bitcoin Cryptography >> This paper analyzes the Jager–Schwenk–Somorovsky attack on the TLS-ECDH protocol, highlighting vulnerabilities in cryptographic libraries that fail to validate elliptic curve points. It details the mathematical foundations of the Invalid Curve Attack and demonstrates practical implementations using Python scripts in Google Colab, emphasizing the implications for Bitcoin’s secp256k1 curve and the necessity of point validation to prevent key extraction.

  28. Vulnerabilities of the Montgomery Ladder Algorithm on Elliptic Curves >> This paper analyzes the Montgomery ladder algorithm for scalar multiplication on elliptic curves, highlighting its vulnerability to fault attacks due to the lack of membership checks for intermediate points. It discusses various cryptanalytic attacks, including MOV, Pohlig-Hellman, and GLV methods, and provides practical demonstrations using SageMath in the Google Colab environment to illustrate these vulnerabilities.

  29. Quadratic Twist Attack Vulnerabilities in Elliptic Curve Cryptography and Bitcoin >> This article explores quadratic twist attacks on elliptic curve cryptography (ECC), particularly focusing on the secp256k1 curve used in Bitcoin. It details the mathematical foundations of these attacks, the relationship between curve and twist orders, and provides practical scripts for demonstrating the vulnerabilities and recovery of secret keys using the Chinese Remainder Theorem. The necessity of point validation in ECC implementations is emphasized to mitigate such vulnerabilities.

  30. Implementation of ADH Index Calculus Algorithm on Google Colab >> This paper analyzes the Adleman–DeMarrais–Huang (ADH) index calculus algorithm, focusing on its application to the discrete logarithm problem and its implications for elliptic curve cryptography, particularly the secp256k1 curve used in Bitcoin. The authors present computational scripts in Google Colab to demonstrate the algorithm’s processes and assess the security of Bitcoin against potential attacks, concluding that the ADH algorithm poses no significant threat due to the curve’s high embedding degree.

  31. Elliptic Curve Factorization Method: Theory and Practical Applications >> This paper provides a comprehensive analysis of the Elliptic Curve Factorization Method (ECM), emphasizing its mathematical foundations, efficiency in finding nontrivial divisors, and practical implementations in Google Colab. It discusses the algorithm’s relationship with Bitcoin cryptography and its complexity parameters, demonstrating ECM’s advantages over other factorization methods through Python, SageMath, and PARI/GP scripts.

  32. Application of Chinese Remainder Theorem in Cryptanalysis of Prime Order Subgroups >> This paper analyzes the use of the Chinese Remainder Theorem (CRT) in cryptanalysis, particularly for solving discrete logarithms in groups of composite order, emphasizing the Pohlig-Hellman attack. It highlights vulnerabilities in nonce generation within Bitcoin’s elliptic curve secp256k1, demonstrating how CRT can aid in key recovery despite the prime order of the base point. Practical Python scripts for implementation in Google Colab are provided to illustrate the concepts.

  33. Lim-Lee and Small Subgroup Attacks in Discrete Logarithmic Cryptosystems >> This paper analyzes small subgroup attacks and the Lim-Lee attack on discrete logarithm-based protocols, particularly focusing on their implications for Bitcoin and elliptic curve cryptography. It discusses the mathematical foundations, exploitation mechanisms, and protective measures against these vulnerabilities, emphasizing the importance of using prime order groups to enhance security.

  34. Attacks on Invalid Curves in TLS-ECDH and Bitcoin Cryptography >> This paper analyzes Invalid Curve Attacks (ICA) in TLS-ECDH protocols, highlighting how the absence of elliptic curve point membership checks can lead to the extraction of private keys. It discusses the implications for Bitcoin’s secp256k1 curve, presents historical attack examples, and provides practical testing scripts in Google Colab for demonstrating these vulnerabilities and their mitigation.

  35. Cryptanalysis of the Invalid Curve Attack on secp256k1 in Bitcoin >> This paper analyzes the Invalid Curve Attack (ICA) on the secp256k1 elliptic curve used in Bitcoin, detailing the mathematical foundations and vulnerabilities inherent in its implementation. It provides practical scripts for reproducing the attack in Google Colab, emphasizing the necessity of strict public key validation to prevent exploitation in cryptocurrency systems.

  36. The Tonelli–Shanks Algorithm’s Impact on Bitcoin’s Key Compression >> This paper explores the Tonelli–Shanks algorithm for extracting square roots modulo a prime, specifically its application in Bitcoin’s elliptic curve cryptography using the secp256k1 curve. It highlights how the choice of prime allows for efficient public key decompression, reducing computational complexity and enhancing transaction performance, supported by practical Google Colab examples.

  37. Analysis of X-only Computations on Montgomery Curves and Their Bitcoin Applications >> This paper explores the mathematical foundations of X-only computations on Montgomery curves, focusing on their cryptanalysis and implications for Bitcoin’s BIP-340 standard, which utilizes Schnorr signatures. It discusses vulnerabilities such as twist attacks and invalid curve attacks, providing practical implementations in Python and SageMath for demonstration and verification of X-only multiplication



Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.


Исходный код

Google Colab

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/N_1f9m_KeM0

Video tutorial: https://dzen.ru/video/watch/6a84e4470103724a810dc06a

Источник: https://cryptodeeptool.ru/glv-endomorphism



Показать полностью 19 2
0

ЦБ решил не мелочиться: для неквалифицированных инвесторов вводят лимит в 300к рублей в год на покупку криптоактивов через одного посредника

ЦБ решил не мелочиться: для неквалифицированных инвесторов вводят лимит в 300к рублей в год на покупку криптоактивов через одного посредника

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

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

По публичному обращению пока тоже всё довольно интересно: Bitcoin, Ethereum и USDT. С одной стороны, логично — высокая ликвидность, большие объёмы торгов и история существования. С другой — для инвестора это фактически три инструмента вместо полноценного рынка.

А теперь моих два сатоши

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

Крипта тут уже почти вторична. Главное — кто будет контролировать поток денег, кто станет посредником и где в итоге окажутся российские владельцы криптоактивов.

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

Посмотрим, не окажется ли эта «защита» троянским конём, который сначала ограничит рынок, а потом заставит всех идти в регулируемую инфраструктуру.

Источник: https://t.me/crypto_fish_ka/3977

Показать полностью
0

Криптоновости: топ главных событий 12.08

1️⃣ SEC представит 14 августа «Regulation Crypto» - первое полноценное правило по крипторынку. Три механизма: exemption для стартапов, exemption для крупных раундов (ориентир до $75 млн за 12 месяцев) и safe harbor для контрактов, перестающих считаться ценными бумагами. Итоговые пороги раскроют после голосования комиссаров и публичного обсуждения.

2️⃣ Крупнейшие игроки крипторынка призывают дать Bitcoin-разработчикам ранний доступ к передовым AI-моделям. Инициативу поддержали Coinbase, Strategy, Block, MARA, Galaxy, Bitwise и ещё 40+ организаций. Аргумент: ограничения мешают легальным исследователям, тогда как злоумышленники используют локальные модели без ограничений.

3️⃣ CEO Strategy: компания вернётся к активным покупкам биткоина в течение этого года. После семи недель без покупок долларовый резерв достиг $4,75 млрд. С начала года Strategy приобрела 175 000 BTC и продала около 7 000 BTC. У компании нет проблем с финансами: $55 млрд в BTC и средства на дивиденды на 2,7 года.

4️⃣ Сооснователь Sui арендовал завод для производства квантово-устойчивых карт-кошельков по $10. Подпись через NFC займёт 1–2 секунды. Толчком стал взлом Coldcard: хакеры вывели около 2055 BTC (~$130 млн) с 7700+ адресов из-за бага в прошивке.

5️⃣ Aster запустила AOS-2: открытый листинг перпов за стейкинг ASTER. Заявитель стейкает 1 млн ASTER на 4 года, валидаторы голосуют. При одобрении риск-команда настраивает рынок, при отказе токены возвращают. В планах - AOS-3.

6️⃣ Upbit залистит Prom (PROM) - L2 на Polygon CDK в формате модульного ZK-EVM. Токен вырос на 70% в моменте.

7️⃣ Harmony подверглась атаке: хакеры выпустили 4 млрд ONE (26% саплая) через «пустые блоки». Около 2,8 млрд уже выведены на биржи, цена ONE упала на 22%. Эндпоинт totalSupply скрывает реальную эмиссию. Протокол готовит патч и работает с биржами над заморозкой средств.

8️⃣ Binance намекнула на соцприложение для трейдинга, чтобы конкурировать с FOMO. Биржа опубликовала тизер с подписью «Soon». По слухам - социальное приложение для трейдинга.

Источник: https://t.me/crypto_fish_ka/3979

Показать полностью
0

Виталик снова перетряхнул роадмап Ethereum и сравнил его с текущим Strawmap

<!--noindex--><a href="https://pikabu.ru/story/vitalik_snova_peretryakhnul_roadmap_ethereum_i_sravnil_ego_s_tekushchim_strawmap_14233978?u=https%3A%2F%2Ft.me%2Fcrypto_fish_ka%2F3972&t=https%3A%2F%2Ft.me%2Fcrypto_fish_ka%2F3972&h=3040bb27380cbddc50d23ec64e1ae114d8f7cea3" title="https://t.me/crypto_fish_ka/3972" target="_blank" rel="nofollow noopener">https://t.me/crypto_fish_ka/3972</a><!--/noindex-->

https://t.me/crypto_fish_ka/3972


Что изменилось:

1️⃣ Квантовая безопасность резко поднялась в приоритетах.
2️⃣ VDF и большая часть улучшений EVM наоборот ушли ниже в списке.
3️⃣ Verkle заменяют на более удобную для ZK конструкцию PBT.
5️⃣ Приватность впервые стала полноценной целью самого протокола — privacy pools, wormholes, keyed nonces.
6️⃣ Появились новые штуки вроде zkzk-frames и leanSPHINCS для постквантового масштабирования.
7️⃣ Спеку активно переводят на lean для полной формальной верификации с помощью AI.

Короче, Ethereum теперь не пытается просто стать «быстрее во всём». Ставка идёт на специализированные механизмы масштабирования, STARKи + AI и защиту от квантовых компьютеров.

🤔 Ethereum 2.0 уже давно превратился в Ethereum «хрен пойми какой по счёту», но направление становится всё интереснее. Главный вопрос - спровоцирует ли эта стратегия долгосрочный рост эфира хотя бы до $8-10к

источник: https://t.me/crypto_fish_ka/3972

Показать полностью 1

Почему при наличии кучи позитивных трендов в крипте, рынок все равно мёртвый?

▫️ президент США открыто топит за крипту;

▫️ SEC прекратила крестовый поход против индустрии;

▫️ банкам разрешают нормально работать с криптой;

▫️ существуют BTC/ETH ETF;

▫️ принят федеральный закон о стейблкоинах;

▫️ запрещён американский CBDC;

▫️ создан Strategic Bitcoin Reserve;

▫️ BlackRock и другие крупнейшие институты окончательно пришли на рынок;

По ощущениям, при таких вводных уже давно должны:

BTC $200k+, ETH $10k+, а альты улететь нахуй в космос 🛸

В реальности BTC сейчас около $65k, большая часть альтов выглядит как кладбище и очень вероятно похоронены на нем навсегда, а сам рынок по ощущениям мертвее, чем когда-либо.

ETF продолжают покупать. Только за последние пять торговых дней в американские spot BTC ETF пришло около $865 млн. Но рынок переваривает такие деньги без эмоций.

Почему? Потому что с другой стороны находится огромное предложение. BTC уже прошёл путь от 16к до 126к за последние пять лет. У огромного количества старых холдеров сотни процентов прибыли, у кого-то даже тысячи, если брать более длинный отрезок времени.

Поэтому BlackRock может купить миллиард долларов BTC, а какой-нибудь OG, сидящий в биткоине с $20k, одновременно и единолично продать миллиард.

ETF оказались не только источником нового спроса, сколько идеальной exit liquidity для старого капитала.

Фактически, сломалась старая схема криптоцикла.

Раньше: человек заходил в BTC. Зарабатывал x3. Перекладывался в ETH. Потом искал большую бету в альтах. Потом начиналось абсолютное казино. Так рождался альтсезон.

Сегодня человек, купивший IBIT, после фиксации прибыли совсем не обязан покупать токен на солане. Он может купить NVIDIA Или облигации. Или просто выйти в доллар. А с учетом как все биржи педалируют тренд на TradFi, выводы делайте сами.

Я уже давно писал об этом и сейчас это подтверждается: институциональный спрос на Bitcoin больше не распространяется на весь крипторынок.

Это одно из важнейших структурных изменений этого цикла.

Вторая проблема - альткоинов просто дох#я и больше...

Раньше ограниченный капитал распределялся между сотнями активов. Потом тысячами. Сегодня создать торгуемый токен можно буквально за несколько минут.

По сути мы получили PVP market: чтобы ты сделал x10, кому-то другому необходимо купить у тебя этот токен значительно дороже. И вот эти деньги бегают от рынку к рынку в рамках микро-сезонов. Один забирает у другого. Крупный фиксирует фишки, выходит чиллить и конец тренду.

НУ И ГЛАВНОЕ, крипта проиграла войну за внимание.

В 2020–2021 крипта была главным казино планеты, где на 10 тысяч игроков 1 человечек делает лайфчендж, кричит об этом так громко, что еще 10 тысяч других игроков присоединяются лудить. Но сегодня у человека появилось столько новых рынков и возможностей, которые попросту отняли все внимание у крипты.

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

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

Сейчас не крипто-зима 2018 или 2022 года. Но сама крипта никуда не умирает. Стейблы растут. Wall Street пришёл. ETF работают. Банки используют блокчейн. Появляется нормальное законодательство. Президент США открыто прокриптовый.

Просто умирает старая модель крипторынка. Рынок получил практически всё, о чём мечтали криптоэнтузиасты последние четыре года, и внезапно выяснилось, массовое внедрение крипты ≠ рост стоимости токенов.

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

Рост стейблов не означает ETH по $10k. Использование блокчейна банками не означает LINK x10. Рост пользователей Coinbase не означает альтсезон. BlackRock в крипте не означает, что твой портфель должен вернуться на атх. И даже максимально прокриптовый президент США не способен создать триллион долларов нового спекулятивного капитала из воздуха.

Рынку нужны большие деньги. Ну как Вы криптаны? 😅

Источники:

Указ о цифровых активах от 23.01.2025: https://www.bankingdive.com/news/occ-shifts-gears-on-crypto-...

Крипто-саммит в Белом доме, Дэвид Сакс: «война против крипты окончена»: https://www.cnbc.com/2025/03/22/cryptos-long-battle-with-sec...

Банкам разрешили работать с криптой

https://www.jonesday.com/en/insights/2025/03/occ-eases-some-...

Закон о стейблкоинах https://www.whitehouse.gov/briefings-statements/2025/07/the-...

Strategic Bitcoin Reserve https://www.whitehouse.gov/presidential-actions/2025/03/esta...

Приток в BTC-ETF

https://www.theblock.co/news/markets/2026-08-08-bitcoin-ethe...

Исследование CoinGecko: из ~20,2 млн токенов, вышедших с середины 2021 по конец 2025, 53,2% больше не торгуются; 11,6 млн «умерли» в одном только 2025 году (Crowdfund Insider) — https://www.coingecko.com/research/publications/how-many-cry...

Разбор на CoinDesk: https://www.coindesk.com/markets/2026/01/14/more-than-half-o...

Показать полностью 4

С какой биржи начать путь алго-трейдера в 2026 и стоит ли оно того

Сразу спойлер: нет, скорее всего, денег вы на этом не заработаете.

Более того - на первых этапах есть хороший шанс их потерять. Я свои тоже терял 😄

Но если смотреть на алгоритмическую торговлю не как на способ быстро разбогатеть, а как на огромный технический полигон, то это одна из самых интересных областей, в которую можно зайти (мое личное мнение)

Здесь есть :

🤖 программирование торговых ботов
📡 WebSocket и работа с потоками данных
⚡ оптимизация задержек
📊 анализ больших объёмов данных
🏦 API бирж и торговые движки
🧠 разработка и тестирование стратегий, LLM, AI и все дела)
💰 и немного боли, когда твой прекрасный алгоритм только что потерял деньги

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

Можно конечно сегодня спросить GPT и получить классный совет, но работать он не будет и вот почему:

Сегодня индустрия хорошо покрыта маркетингом и все рейтинги в т.ч. на которые опираются  LLM уже пере-обучены.

Так как выбрать и с чего начать?

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

скорость - насколько быстро бот получает данные и может отправить заявку;

💧 реальное исполнение - насколько то, что мы видим в стакане, соответствует тому, что действительно можно купить или продать.

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

Если совсем упростить, то главный фильтр очень простой:

Биржа действительно исполняет заявку по той цене и на тот объём, который вы поставили?

И вот здесь начинается самое интересное.

Ничего рекламировать не хочу - если интересно, выводы и технические детали оставил на техпортале и в Telegram:
👉 https://t.me/bylabdata

Показать полностью
1

Структурные аномалии базовых точек эллиптических кривых secpXXXk1: криптоанализ Биткоина и практическое моделирование в Google Colab

В данной статье в качестве криптоанализа Биткоина разберём вычислительный научный эксперимент, воспроизводящий и расширяющий наблюдение John Zweng (2025) относительно точек-генераторов G семейства кривых Коблица SEC 2 — secp160k1, secp192k1, secp224k1 и secp256k1.

Обнаруженная закономерность: для всех кривых Кобица простого порядка семейства SEC 2 (secp160k1, secp192k1, secp224k1, secp256k1) точка, получаемая «делением» генератора G на 2 (умножением на обратный элемент 2 по модулю порядка подгруппы n), имеет x-координату аномально малой битовой длины и содержит общую 152‑битную гексадецимальную подстроку 8ce563f89a0ed9414f5aa28ad0d96d6795f9c6. Мы даём математическую формализацию операции, воспроизводим вычисления с помощью открытых скриптов на Python/SageMath, обсуждаем историческую непрозрачность стандарта SEC 2, а также — в отдельных разделах — протокольные следствия для Bitcoin, включая принципы NUMS-точек, аудит вторичных генераторов и безопасность ECDSA/Schnorr. Особое внимание уделяется практическим скриптам для Google Colab, которые позволяют каждому исследователю независимо верифицировать находку.

Johannes Zweng известный в GitHub в своём архиве прямо ссылается на выступление криптографа Nadia Heninger, посвящённое открытым вопросам происхождения стандартных кривых, как на дополнительный источник контекста для данной аномалии. Хенингер является одним из ведущих специалистов по практическому криптоанализу реализаций ECC/RSA (в частности, известна работами по атакам на слабую случайность при генерации ключей), и её внимание к теме подчёркивает значимость подобных архивных находок для сообщества академической криптографии.

<a href="https://pikabu.ru/story/strukturnyie_anomalii_bazovyikh_tochek_yellipticheskikh_krivyikh_secpxxxk1_kriptoanaliz_bitkoina_i_prakticheskoe_modelirovanie_v_google_colab_14192392?u=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNGLR2N4EK58&t=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNGLR2N4EK58&h=51a3c69a68f415c6e7ebd1d5d1b36100c060cc97" title="https://www.youtube.com/watch?v=NGLR2N4EK58" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=NGLR2N4EK58</a>

https://www.youtube.com/watch?v=NGLR2N4EK58

Видео, где криптограф Надия Хенингер в соавторстве с Travis Scholl и Dan Shumow обсуждает 152-битную гексадецимальную подстроку 8ce563f89a0ed9414f5aa28ad0d96d6795f9c6, было представлено на Rump Session в рамках конференции Crypto 2019.

Речь идет о странной структуре, найденной в алгоритме ECDSA при анализе блокчейна Bitcoin. Они искали коллизии nonce (случайных одноразовых чисел) и обнаружили следующее:

  • Около 99% повторяющихся значений nonce в блокчейне (которые позволяют вычислить приватный ключ) равны значению (n−1)/2, где n — порядок эллиптической кривой.

  • Если умножить это значение на базовую точку (генератор) кривой, получается X-координата длиной всего 166 бит, в то время как стандартная длина для Bitcoin-кривой — 256 бит.

  • При анализе целого семейства кривых Koblitz (secp) от Certicom выяснилось, что точки-генераторы во всех этих кривых имеют общую константу (ту самую подстроку 8ce563f89a0ed9414f5aa28ad0d96d6795f9c6), которая отличается только в нескольких старших и младших битах.

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

Эллиптическая криптография с открытым ключом (ECC) требует задания шести доменных параметров: поля 𝔽p, коэффициентов кривой a, b, порядка подгруппы n, кофактора h и точки-генератора G = (Gx, Gy). Стандарт SEC 2 (Standards for Efficient Cryptography Group, Certicom) фиксирует эти параметры для семейства кривых Кобица secpXXXk1, среди которых secp256k1 лежит в основе Биткоина, Эфириума и многих других блокчейн-протоколов.

Ключевая методологическая проблема, поднятая John Zweng, состоит в том, что процедура построения точки G в спецификации SEC 2 не документирована. В отличие от «верифицируемо случайных» кривых класса «r1» (secp256r1 и др.), для которых существует публичный seed и алгоритм SHA‑1, позволяющий проверить отсутствие «потайных ходов», для Koblitz-кривых такой процедуры нет. Это создаёт зону эпистемической неопределённости, особенно важную для Биткоина, где безопасность активов на сотни миллиардов долларов опирается на эти константы.

Показано, что точка H = G·2⁻¹ (mod n), «отменяющая» операцию удвоения, для всех четырёх кривых обладает x-координатой существенно короче номинальной битовой длины кривой и содержит общую 152-битовую гексадецимальную подстроку 8ce563f89a0ed9414f5aa28ad0d96d6795f9c6. Разбирается код анализируемого блокнота Google Colab по разделам, даётся математическая интерпретация, статистическая оценка вероятности случайного совпадения и историко-криптоаналитический контекст — от скандала с DES S-блоками до Dual_EC_DRBG и принципов nothing-up-my-sleeve (NUMS).



Практическая верификация: скрипты для Google Colab (Python + SageMath)

Для независимого воспроизведения результатов John Zweng мы предлагаем два варианта скриптов, которые можно запустить в среде Google Colab. Первый — на чистом Python с библиотекой ecdsa (доступна в Colab без установки), второй — с использованием SageMath (требует установки, но даёт более прямой доступ к функциям эллиптических кривых).

Скрипт (Python + библиотека ecdsa). Этот скрипт вычисляет точку H для secp256k1 и выводит её x-координату в hex, а также проверяет наличие общей подстроки.

Результат выполнения (для secp256k1): x(H) = 0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63, подстрока найдена, битовая длина ~166 бит.


Прикладное применение в аудите Bitcoin. Предложенная методика (деление точки на 2 и анализ битовой длины) может быть встроена в инструментарий проверки новых протокольных констант. Например, при введении вторичных генераторов для конфиденциальных транзакций, Pedersen-коммитментов или агрегированных подписей (MuSig2, FROST) рекомендуется выполнять «тест John Zweng» — деление на малые числа (2, 3, 5, 7) и проверку на аномально короткие координаты, что является эвристическим индикатором непрозрачного или потенциально скомпрометированного конструирования.


Аномалия secp256k1: скрытая структура кривых Коблица

Кривые secp160k1, secp192k1, secp224k1 и secp256k1 относятся к семейству кривых Коблица, стандартизированному в документе SEC 2: Recommended Elliptic Curve Domain Parameters организации Certicom. Кривая secp256k1 приобрела особую значимость благодаря использованию в Bitcoin, Ethereum и десятках других криптовалютных протоколов, где именно генератор G определяет всё пространство открытых ключей ECDSA.

Screencast: https://youtu.be/44CG3WhovE8

Google Colab: https://colab.research.google.com/drive/1e42DLAfRqEwTmsTNwZW2DFNC21umz6d0?usp=sharing

Анализируемый блокнот Google Colab ставит задачу проверить гипотезу, впервые опубликованную John Zweng в 2025 году в виде SageMath-скрипта: если умножить генератор G на мультипликативную обратную двойки по модулю порядка группы n, то результирующая точка H = G·2⁻¹ обладает аномально короткой и структурно повторяющейся x-координатой.

Историческая параллель. Подобные «скрытые регулярности» в криптографических константах — не новость. В 1975 году при стандартизации DES криптографическое сообщество обвиняло NSA во внедрении «непрозрачных» S-блоков; лишь спустя 15 лет, после открытия дифференциального криптоанализа Бихамом и Шамиром, выяснилось, что S-блоки DES были специально усилены против этой ещё не публичной атаки. Аномалия secpXXXk1 — пример того же явления в обратной постановке: структура, которая выглядит подозрительно, но пока не доказана как уязвимость.

Тень Dual_EC_DRBG и загадка x-координаты в криптоанализе

Первая ячейка в Google Colab формулирует «ключевое открытие»: для всех четырёх кривых точка H = G·2⁻¹ имеет x-координату, которая значительно короче номинального размера кривой и содержит общую 152-битовую подстроку. В своих исследованиях нам пришлось не констатировать наличие «backdoor», а поднять вопрос прозрачности процесса генерации параметров, используемых, в том числе, Bitcoin.

Именно такая формулировка соответствует принципу nothing-up-my-sleeve (NUMS) — требованию, чтобы криптографические константы выводились детерминированным и проверяемым способом, исключающим скрытый выбор «удобных» для атакующего значений.

Пример из архивов криптоанализа. Наиболее известный исторический случай нарушения принципа NUMS — генератор псевдослучайных чисел Dual_EC_DRBG, стандартизированный NIST в SP 800-90A. Константы P и Q, задающие эллиптическую кривую генератора, были предложены NSA без объяснения происхождения.

Установка библиотек (fastecdsa pandas)

!pip install fastecdsa pandas

Первая кодовая ячейка в Google Colab устанавливает библиотеку fastecdsa, предоставляющую примитивы для арифметики на эллиптических кривых, и pandas для табличного представления результатов. В выводе фиксируется конфликт версий пакетов (pandas 3.0.3 против требуемой Colab pandas<2.2.2) — типичная для Colab-окружений проблема зависимостей, не влияющая на математический результат, но требующая внимания при воспроизведении эксперимента.

Диагностика сбоя импорта кривых до ситуацию с шифром Enigma

Вторая markdown-ячейка в Google Colab описывает диагностированную проблему: прямой импорт объектов secp160k1, secp192k1, secp224k1, secp256k1 из fastecdsa.curve оказывается нестабильным между в

Решение — явное конструирование объектов кривых из опубликованных доменных параметров SEC 2 (p, a, b, порядок q, координаты генератора gx, gy), что делает вычисление независимым от внутренней структуры конкретной версии библиотеки.

Историческая параллель. Зависимость криптографического кода от «магических» констант библиотек напоминает ситуацию с шифром Enigma: захват немецких таблиц коммутаций и роторных настроек (например, в ходе операций польского Biuro Szyfrów и позже Bletchley Park) позволял союзникам восстанавливать «параметры системы» напрямую, а не полагаться на предположения о её внутреннем устройстве — методологически это то же самое, что явное задание доменных параметров вместо доверия недокументированному импорту.



Инициализация параметров кривых Коблица в Google Colab

Ключевая ячейка в Google Colab задаёт словарь CURVE_PARAMS с параметрами p, a, b, q (порядок подгруппы), gx, gy для всех четырёх кривых Коблица и функцию build_curve(), создающую объект Curve библиотеки fastecdsa. Здесь же определена константа COMMON_SUBSTRING = "8ce563f89a0ed9414f5aa28ad0d96d6795f9c6" — искомая 152-битовая подстрока, вокруг которой строится весь последующий анализ.

Важно отметить математический смысл величин b: для secp160k1 b=7, secp192k1 b=3, secp224k1 b=5, secp256k1 b=7 — это простые «короткие» коэффициенты кривой Вейерштрасса y² = x³ + b, что само по себе соответствует практике NUMS для параметра кривой, но не распространяется на выбор генератора G.

Анализ битовых длин генераторов secp-кривых

Ячейка в Google Colab строит таблицу pandas с битовой длиной x и y координат генератора и порядка группы для каждой кривой. Результат подтверждает ожидаемые размеры (secp256k1: order 256 бит, gx 255 бит, gy 255 бит), демонстрируя, что генераторы G сами по себе выглядят «случайными» — аномалия проявляется только после операции деления на 2.

Деление точки G: вычисление модульного обратного и точки H

Функции inv_mod(a, p) (реализована через pow(a, -1, p), эффективный алгоритм расширенного Евклида/Ферма) и compute_H(curve_obj, order) реализуют центральную операцию эксперимента:

inv2 = inv_mod(2, order) H = G * inv2 # H = G * 2⁻¹ mod n x_hex = hex(H.x)[2:]

Математически это эквивалентно поиску такой точки H, что 2H = G, то есть «раздваиванию в обратную сторону» операции удвоения точки на кривой. Если исходное G было получено как удвоение некоторой «красивой» точки H₀ (2H₀ = G), то восстановленное H совпадёт с H₀ и будет нести следы этой более простой исходной формы — короткую битовую длину и повторяющуюся подстроку.

Пример из архивов криптоанализа. Похожий приём «обращения операции конструирования» использовался при взломе шифровальной машины Lorenz SZ40/42 Биллом Татом (Bill Tutte) в 1942 году: анализируя структуру ключевого потока, криптоаналитики Bletchley Park восстановили внутреннюю логику генерации, не имея физического доступа к машине, — то есть «отменяли» неизвестное преобразование по наблюдаемым артефактам, точно как в данном блокноте Google Colab отменяется удвоение точки для восстановления скрытого прообраза генератора.



Уязвимость точек вне кривой в ECDH/ECDSA: явное построение точки G

Уточнённая версия compute_H() строит генератор явно через Point(curve_obj.gx, curve_obj.gy, curve_obj) и проверяет G.on_curve перед вычислением H — необходимая мера защиты от «invalid curve point» атак, класса атак на реализации ECDH/ECDSA, когда подсунутая точка вне кривой раскрывает секретный скаляр через китайскую теорему об остатках (атака Antipa/Biehl/Meyer/Müller, 2003).

Историческая параллель. Invalid-curve атаки — не абстракция: в 2015 году исследователи продемонстрировали практическое извлечение приватных ключей TLS-серверов через отправку точек, не лежащих на заявленной кривой, эксплуатируя отсутствие проверки on_curve в некоторых реализациях OpenSSL и Bouncy Castle. Явная проверка в блокноте Google Colab — прямое методологическое эхо этого урока.

Специфичность аномалии базовой точки: проверка малых делителей 3, 5, 7

Функция test_small_divisors() обобщает эксперимент, вычисляя G·d⁻¹ для d = 3, 5, 7 и проверяя наличие той же общей подстроки и аномально короткой битовой длины. Результат для secp256k1 показывает полную длину x-координаты (256 бит) без совпадения подстроки для всех трёх делителей — то есть аномалия строго специфична для делителя 2, что усиливает гипотезу о её происхождении именно как «G = 2·H₀» при выборе базовой точки.

Математика против случайности: анализ генерации кривых и статистическая интерпретация

Заключительный раздел блокнота Google Colab даёт количественную оценку: для случайно выбранного генератора 256-битовой кривой вероятность того, что x-координата H = G·2⁻¹ имеет битовую длину 166 бит или меньше (то есть отсутствуют по крайней мере 90 верхних бит), составляет порядка 2⁻90 — величина, астрономически малая. Совпадение этого паттерна сразу для четырёх независимо стандартизированных кривых, объединённых общей 152-битовой подстрокой, статистически исключает случайность и указывает на единый детерминированный метод генерации базовых точек.

Формально, если событие «короткая x-координата H» независимо и равновероятно для каждой кривой с вероятностью \(p \approx 2⁻90\), то вероятность наблюдения такого паттерна во всех четырёх кривых одновременно, да ещё с идентичной подстрокой, оценивается как \(p^4\) в самом консервативном приближении — величина, не имеющая практического шанса случайного возникновения.

Пример из архивов криптоанализа. Похожая статистическая аргументация лежала в основе разоблачения слабости в генераторе Debian OpenSSL PRNG (2006–2008): обнаружение того, что энтропия сид-пула сократилась до 15 бит из-за случайно удалённой строки кода, было доказано именно через статистическую невозможность наблюдаемого распределения ключей при истинно случайной генерации — уязвимость затронула тысячи SSH-ключей и SSL-сертификатов по всему миру.



Выводы для Bitcoin и криптографии в целом

Подчёркивают принципиальное различие между кривыми secp*r1 (verifiably random, параметры которых выводятся из хеш-семени по прозрачному алгоритму согласно X9.62/FIPS 186) и кривыми Коблица secp*k1, для которых публично не документирован ни сид, ни алгоритм генерации базовой точки. Это не означает наличие математической уязвимости в самой схеме ECDSA/Schnorr — общепризнано, что выбор конкретного генератора G среди генераторов группы простого порядка не влияет на стойкость схем, использующих единственный генератор. Однако находка усиливает аргумент в пользу строгого применения NUMS-принципов при введении новых констант — например, дополнительных генераторов для Taproot-коммитментов или confidential transactions, где взаимосвязь между несколькими точками уже критична для безопасности.

Пример из архивов криптоанализа. Именно из-за подобных опасений сообщество разработало альтернативные кривые с полностью документируемым, детерминированным происхождением: Curve25519 Дэниела Бернстайна (2005) и семейство NUMS curves (IETF draft-black-numscurves, 2014) явно фиксируют алгоритм выбора каждой константы, что исключает саму возможность «спрятанного» выбора, аналогичного обнаруженному в secpXXXk1.


Историко-стандартизационный контекст

В спецификации SEC 2 для Koblitz-кривых указано лишь, что параметры были «выбраны путём повторного подбора, допускающих эффективно вычислимый эндоморфизм, до тех пор пока не была найдена кривая простого порядка». Это описание касается выбора p и b, но не объясняет алгоритм выбора G. Для сравнения: для кривых NIST P-256 (secp256r1) используется процедура с публичным seed-значением и SHA‑1, что позволяет проверить отсутствие скрытых «лазеек» (verifiably random). Отсутствие такой процедуры для secp256k1 означает, что сообщество Bitcoin вынуждено доверять разработчикам Certicom, многие из которых уже недоступны для комментариев.

Находка John Zweng подтверждает, что G не был выбран случайно: общая подстрока и короткая длина координат указывают на детерминированный процесс, возможно, с использованием хеш-функции (например, SHA‑1), но точный алгоритм остаётся неизвестным. Это ставит серьёзные вопросы о том, насколько параметры secp256k1 соответствуют принципу «nothing-up-my-sleeve» (NUMS).



Криптографические следствия: уязвимость или артефакт?

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

Однако существуют три аспекта, придающих находке криптоаналитическую значимость:

  • Эпистемический: документирование непрозрачности стандартизации, что важно для оценки доверия (trust assumptions).

  • Методологический: предложенный тест является универсальным инструментом аудита ECC-параметров.

  • Практический для расширений протокола: если в будущем Bitcoin введёт второй генератор H с неизвестным соотношением к G (например, для конфиденциальных транзакций), то непрозрачное конструирование H может позволить создателю параметров вычислить дискретный логарифм logG H, что в схемах типа Pedersen-коммитментов эквивалентно возможности неограниченной эмиссии. Именно поэтому в BIP‑341 (Taproot) введено строгое требование NUMS-точек с полностью документированным алгоритмом получения.

Вывод для Bitcoin-разработчиков. Прецедент John Zweng служит эмпирическим обоснованием необходимости верифицируемой случайности при выборе любых новых криптографических констант в экосистеме Bitcoin. Любые предложения по добавлению дополнительных точек должны сопровождаться общедоступным, воспроизводимым скриптом, аналогичным представленным выше, и проходить «тест на аномалию» (малая битовая длина координат при делении на малые числа).



Формальная постановка гипотезы и модель случайности

В этом разделе мы формализуем модель, по которой оценивается случайность базовых точек в кривых семейства secp*k1, и рассматриваем вопросы выбора генераторов.

Перед нами встает один из душетрепещущих вопросов насколько корректна нулевая гипотеза о случайности x-координаты точки H = G·2⁻¹ mod n для стандартизованных генераторов семейства secp*k1? Ответом всплывает объяснение, что нулевая гипотеза предполагает, что генератор G выбран абсолютно случайно из всех точек кривой. При таком выборе точка H = G·2⁻¹ также должна быть псевдослучайной, и её x-координата должна иметь длину, близкую к порядку кривой (например, 256 бит для secp256k1). Обнаружение того факта, что координата x точки H ограничена примерно 166 битами и содержит фиксированную 152-битную подстроку для четырех различных кривых, делает нулевую гипотезу статистически несостоятельной. Вероятность такого события для одной кривой оценивается как 2⁻⁹⁰, а для четырех — как 2⁻³⁶⁰. Это однозначно указывает на детерминированный процесс выбора.

Также в наших криптоаналитических наблюдениях всплывает вопрос о том можно ли реконструировать правдоподобный детерминированный алгоритм выбора G, который объясняет наблюдаемую структуру лучше, чем модель случайного выбора? В конечном итоге мы положительно отрегировали на поставленную задачу и вопрос так как структура прямо указывает на алгоритм, в котором сначала детерминированно выбирается некая «базовая» точка H₀. Эта точка H₀ конструируется путем добавления переменного префикса (зависящего от конкретной кривой) к фиксированной 152-битной строке (8ce563f89a0ed9414f5aa28ad0d96d6795f9c6). Затем результирующая точка H₀ удваивается на кривой: G = 2H₀. Опубликованным стандартом генератором становится именно точка G, скрывая простую структуру H₀ до тех пор, пока кто-то не вычислит G·2⁻¹.

Безусловно мы рассмотрели вопрос чем случай secp*k1 отличается от verifiably random подхода для других стандартных кривых и от позднейших NUMS-практик? Также безусловно все имеющие кривые серии secp*r1 (например, secp256r1) генерировались по алгоритму verifiably random: параметры и базовая точка получались путем хеширования публично известного seed-значения (в соответствии со стандартами X9.62/FIPS 186). Это доказывает, что параметры не были выбраны для создания бэкдора. Для secp*k1 ни seed, ни алгоритм генерации G никогда не публиковались. Современные NUMS-практики (Nothing Up My Sleeve) требуют, чтобы константы выводились из фундаментальных чисел (например, цифр Пи) или прозрачных хеш-функций. Отсутствие такого обоснования для G в secp*k1 является отклонением от идеалов NUMS.



Статистические ограничения и множественные сравнения

Анализ аномалий часто страдает от проблемы множественных сравнений (p-hacking), однако в данном случае результаты обладают высокой робастностью.

Для этого мы подняли один самых важных вопросов как меняется статистическая значимость результата при учёте множественных сравнений и post hoc-выбора признаков аномальности? В итоге выяснили что даже с учетом поправки на множественные сравнения (например, если исследователь проверял умножение на различные малые константы 2, 3, 4, 5… и разные подстроки), изначальная вероятность 2⁻³⁶⁰ (для четырех кривых) настолько мала, что поправки Бонферрони или аналогичные методы не могут свести результат к статистической незначимости. Post-hoc выбор признаков мог бы объяснить случайное совпадение вероятностью 10⁻³ или 10⁻⁶, но не астрономические величины порядка 10⁻¹⁰⁰. Это подтверждает, что аномалия является намеренным артефактом генерации.

Углубившись в процессы криптоанализа у нас всплыл ещё один важный вопрос является ли обнаруженный паттерн свойством именно делителя 2 или проявляется в более широком семействе обратимых скаляров при иных метриках структуры? Ответ однозначно был в том что вычислительный эксперимент показал, что при делении на 3, 5 и 7 (вычисление G·d⁻¹) для secp256k1 получаются точки с полной 256-битной x-координатой без каких-либо общих подстрок. Аномалия строго специфична для делителя 2 (операции отмены удвоения). Это означает, что паттерн не является общим структурным свойством группы, а является прямым следствием конкретной алгебраической операции (G = 2H₀), примененной создателями при поиске генератора.



Криптографические последствия и границы интерпретации

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

В своих криптоаналитических исследованиях мы задались вопросом имеет ли наблюдаемая структура прикладные последствия для стойкости ECDSA/Schnorr, либо её значение ограничивается вопросами прозрачности стандартизации и криптографического доверия? В итоге, мы пришли к выводу что для протоколов ECDSA и Schnorr, использующих единственный генератор G, алгебраическая структура этого генератора (например, знание того, что G = 2H₀) не снижает криптографическую стойкость. Задача дискретного логарифмирования остается сложной. Однако, это открытие является серьезным вопросом криптографической гигиены и доверия. Недокументированная структура констант исторически ассоциируется с потенциальными бэкдорами (как в случае с Dual_EC_DRBG), что подчеркивает необходимость максимальной прозрачности.

Также какие критерии происхождения базовых точек должны считаться достаточными для современных стандартов открытых параметров? Наши исследование показали что современные стандарты должны требовать полностью прозрачного, воспроизводимого процесса (NUMS). Генерация базовых точек должна осуществляться путем применения односторонней функции (например, SHA-256 или SHA-3) к публично известной, очевидно нейтральной строке (например, «Bitcoin secp256k1 base point generation»). Алгоритм должен детерминированно отображать этот хеш в валидную точку кривой (например, метод hash-to-curve), исключая любую возможность создателя тайно выбрать точку с известным ему дискретным логарифмом относительно другой точки.

Следует ли применять подобный аудит ко всем публичным генераторам в протоколах Bitcoin и смежных системах, особенно там, где используется более одной базовой точки так как в системах, использующих несколько генераторов (например, протоколы с Pedersen commitments, Confidential Transactions, Taproot), критически важно, чтобы дискретный логарифм одного генератора относительно другого был неизвестен (принцип NUMS для нескольких генераторов). Отсутствие прозрачности в происхождении таких точек может позволить создателю подделывать обязательства или нарушать приватность. Аудит подобных структур обязателен для обеспечения доверия к сложным криптографическим протоколам.



Итоговое заключение:

Разобранный блокнот Google Colab представляет собой воспроизводимый вычислительный эксперимент, который методом явного и валидированного построения эллиптических кривых демонстрирует статистически значимую структурную регулярность в генераторах четырёх стандартизированных кривых Коблица. Хотя это открытие не компрометирует напрямую криптографическую стойкость ECDSA в Bitcoin, оно поднимает фундаментальный вопрос доверия к процессу стандартизации криптографических параметров — вопрос, исторически возникавший при DES, Dual_EC_DRBG и других эпизодах, где отсутствие прозрачности впоследствии оказывалось либо тревожным сигналом, либо, как в случае DES, скрытым усилением, распознанным лишь десятилетия позже.

Проведённый анализ вычислительного эксперимента неопровержимо доказывает, что базовые точки-генераторы в кривых семейства secp*k1, включая широко используемую в криптовалютах secp256k1, были сгенерированы не случайным образом. Статистическая вероятность обнаруженного структурного паттерна — дефицита битовой длины и наличия общей 152-битовой константы при отмене операции удвоения генератора — ничтожно мала, что исключает возможность случайного совпадения. Наличие детерминированного алгоритма генерации, скрытого от публики, противоречит современным стандартам открытых криптографических параметров и парадигме NUMS (Nothing Up My Sleeve).

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


📚 Огромное благодарность:

  1. Standards for Efficient Cryptography Group (SECG). SEC 2: Recommended Elliptic Curve Domain Parameters. Certicom Research.

  2. Zweng, John. The mystery of the generation points of the secpXXXk1 curves. GitHub Gist, 2025. URL: https://gist.github.com/johnzweng/863f412689ee383cc41ac7c709ca662c.

  3. Coppersmith, D. (1994). The Data Encryption Standard (DES) and its strength against attacks. IBM Journal of Research and Development.

  4. Nothing-up-my-sleeve number. Wikipedia.

  5. Green, M.; Bernstein, D.J. et al. Analyses of the Dual_EC_DRBG backdoor (2013–2014); NIST SP 800-90A withdrawal notices.

  6. Antipa, A.; Brown, D.; Menezes, A.; Struik, R.; Vanstone, S. (2003). Validation of elliptic curve public keys. PKC 2003; invalid-curve attack disclosures (2015).

  7. Debian OpenSSL predictable PRNG vulnerability (CVE-2008-0166), Debian Security Advisory.

  8. ANSI X9.62 / FIPS 186-4 verifiably random elliptic curve parameter generation procedure.

  9. Bernstein, Daniel J. Curve25519: new Diffie-Hellman speed records. Public-Key Cryptography (PKC) 2006, Lecture Notes in Computer Science, vol 3958. Springer, 2006.

  10. Wuille, Pieter, Nick, Jonas, and Ruffing, Tim. BIP 341: Taproot: SegWit version 1 spending rules. Bitcoin Improvement Proposals, 2020. URL: https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki.

  11. Certicom Research. SEC 2: Recommended Elliptic Curve Domain Parameters, Version 2.0. Standards for Efficient Cryptography Group (SECG), 2010. URL: https://www.secg.org/sec2-v2.pdf.

  12. Brown, Daniel R.L. SEC 1: Elliptic Curve Cryptography, Version 2.0. Standards for Efficient Cryptography Group (SECG), 2009. URL: https://www.secg.org/sec1-v2.pdf.

  13. Bernstein, Daniel J. Curve25519: new Diffie-Hellman speed records. Public-Key Cryptography (PKC) 2006, Lecture Notes in Computer Science, vol 3958. Springer, 2006.

  14. Presentation at the Crypto 2019 rump session on work of Nadia Heninger, Travis Scholl, Dan Shumow (The IACR is the International Association for Cryptologic Research, online at http://www.iacr.org)



Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.


Исходный код

Google Colab

Telegram: https://t.me/cryptodeeptech

Видеоматериал: https://youtu.be/ytFVasVx6Ak

Video tutorial: https://dzen.ru/video/watch/6a660f77a52c4438aad88da8

Источник: https://cryptodeeptool.ru/curve-anomalies



Показать полностью 14 2
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества