Математическая модель, экспериментальная валидация и границы интерпретации


РЕФЕРАТ

25 с., 10 табл., 2 рис., 2 прил., 10 источников. Работа посвящена исследованию ECDSA-подписей над кривой secp256k1 как фазовых корпусов, в которых дефекты генерации nonce проявляются не как случайные единичные сбои, а как устойчивые семейства. В качестве объекта исследования рассмотрены редактированные агрегаты пользовательского архива проекта; в качестве предмета исследования — математические, геометрические и статистические признаки defect-family.

Цель работы — изложить научную суть проекта, не теряя математической строгости, и при этом зафиксировать доказанные результаты и границы их интерпретации. В работе использованы: стандартная модель ECDSA, переход к координатам (u_r, u_z), торическая геометрия, результанты корпуса, kNN-поиск кандидатов, перестановочные проверки значимости, synthetic-only контроль и аудит безопасной публикации.

По редактированным внутренним отчётам установлено: во внешнем корпусе из 30 адресных контекстов и 6257 подписей repeated-r наблюдается только в 1 контексте, а межадресных коллизий r не найдено (0); в property sweep подтверждена базовая переносимость repeated-r для 4 из 4 сценариев, а в контролируемых реконструктивных экспериментах на панели реальных адресных целей — для 58 из 58 переносов с полной ECDSA-валидацией реконструированных подписей; в контрольном тесте state entanglement число детекций равно 0; publication-safety audit заблокировал открытый bundle, обнаружив 498 проблем, из них 30 критических.

Научная новизна состоит в совмещении криптографической алгебры ECDSA, геометрии на торе Z_n × Z_n, корпусного анализа дефектов и формализованной publication-safety boundary. Практическая значимость — возможность строить безопасный исследовательский конвейер: выявлять опасные режимы генерации nonce, не превращая научную публикацию в инструкцию по эксплуатации реальных уязвимостей.

Ключевые слова: ECDSA, secp256k1, nonce, repeated-r, фазовое пространство, defect-family, торическая геометрия, synthetic replay, publication safety.


СОДЕРЖАНИЕ

Введение

1 Объект исследования, гипотеза, метод и границы интерпретации

2 Теоретические основы ECDSA и роль nonce

3 Стратифицированная математическая модель корпуса подписей

4 Материалы и экспериментальный дизайн

5 Результаты исследования

6 Доказанное утверждение и научная интерпретация

7 Воспроизводимость и безопасные фрагменты кода

Заключение

Список использованных источников

Приложение А. Санитизированные сводные таблицы

Приложение Б. Фрагменты кода


ТЕРМИНЫ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ

Таблица 1 — Ключевые термины и обозначения

Термин / символ

Смысл

ECDSA

Elliptic Curve Digital Signature Algorithm — алгоритм цифровой подписи на эллиптических кривых [3–5].

secp256k1

Параметры эллиптической кривой, широко используемой в криптосистемах экосистемы Bitcoin [6].

nonce k

Одноразовый скрытый скаляр, который используется только при формировании одной подписи.

repeated-r

Повтор одного и того же значения r в разных подписях; в ECDSA это сильный индикатор повторного или дефектного nonce-режима.

PhasePoint

Внутреннее представление одной подписи: (u_r, u_z, verification_x, verification_y_raw, branch_y) [10].

PhaseCorpus

Набор фазовых точек, относящихся к одному корпусу подписей или одному адресному контексту [10].

defect-family

Семейство повторяющихся признаков дефектного режима генерации nonce, а не единичная аномалия.

synthetic replay

Контролируемое воспроизведение структурных свойств defect-family на синтетических ключах и безопасных данных.


ВВЕДЕНИЕ

Цифровая подпись на эллиптических кривых — один из фундаментальных инструментов современной криптографии. Она позволяет доказать, что сообщение было подписано обладателем закрытого ключа и не было незаметно изменено [3–5]. Однако надёжность ECDSA зависит не только от секретности закрытого ключа d, но и от качества одноразового параметра k, который должен быть уникальным для каждой подписи.

Большинство прикладных работ рассматривает проблемы с nonce как локальные сбои: «был плохой генератор случайных чисел» или «nonce повторился». Исследуемый проект предлагает более сильную исследовательскую рамку: смотреть на подписи как на корпус, а на сбои — как на целые defect-family, оставляющие структурный след в фазовом пространстве. Иначе говоря, исследование смещает акцент с единичной аномалии на режим генерации.

Важная особенность проекта — наличие собственного publication-safety layer. Это означает, что исследование не только ищет закономерности в подписи, но и проверяет, какие результаты вообще допустимо выносить в открытую научную публикацию. Такой подход особенно важен в криптографии: научная строгость не должна автоматически превращаться в снижение порога злоупотребления.

Пояснение. Настоящая версия отчёта намеренно исключает сырые адресные идентификаторы, raw r/s/z tuples, recovered nonce material, private-key-like values и конструктивные recovery scripts. Сохранены только математическая логика, безопасные агрегаты и redacted результаты, достаточные для научной интерпретации.


1 Объект исследования, гипотеза, метод и границы интерпретации

Таблица 2 — Логическая карта исследования

Элемент

Содержание

Объект исследования

Корпуса ECDSA-подписей над secp256k1, представленные как наборы наблюдаемых подписей и их фазовых координат.

Предмет исследования

Структурные признаки defect-family: repeated-r, фазовые координаты (u_r, u_z), геометрические метрики корпуса, устойчивость и переносимость паттернов.

Гипотеза

Дефектные режимы генерации nonce оставляют не точечные, а стратифицированные следы; repeated-r можно рассматривать как наблюдаемую поверхность более глубокого режима.

Метод

Алгебра ECDSA → переход к фазовым координатам → торическая геометрия → kNN/результантный детектор → synthetic controls → publication safety audit.

Доказанное утверждение

В рамках модели проекта, исследуемых данных и контролируемой реконструктивной верификации доказан перенос defect-family, извлечённой из реального донора, на панель реальных адресных целей в адресно-индексированной реконструктивной модели; перенос подтверждён криптографически, тогда как во внешних control corpora спонтанный межкорпусный перенос не наблюдён.

Границы интерпретации

Границы касаются не факта доказанного переноса, а публикационной детализации: работа не раскрывает operational steps, sensitive fields и recovery-процедуры, способные превратить результат в инструкцию по эксплуатации.

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


2 Теоретические основы ECDSA и роль nonce

2.1 Базовые объекты ECDSA

Таблица 3 — Основные величины стандартной схемы ECDSA

Обозначение

Что означает

Почему это важно

G

Базовая точка эллиптической кривой

От неё строятся как открытый ключ, так и одноразовая точка R.

n

Порядок подгруппы, порождённой точкой G

Все скалярные вычисления в ECDSA ведутся по модулю n.

d

Закрытый ключ

Это главный секрет подписанта.

Q = d·G

Открытый ключ

Публично проверяемое представление закрытого ключа.

z

Хэш или представление подписываемого сообщения

Именно он связывает подпись с конкретным сообщением.

k

Одноразовый nonce

Должен быть непредсказуемым и неповторяющимся; дефекты здесь критичны.

R = k·G

Одноразовая точка

Её x-координата порождает компоненту r подписи.

(r, s)

Подпись

Две компоненты, достаточные для проверки корректности подписи.

Стандартная схема подписи в ECDSA задаётся следующими соотношениями [3–5]:

Q = d \cdot G \tag{1}

Здесь d — закрытый ключ, Q — соответствующий открытый ключ, а G — базовая точка кривой.

R = k \cdot G,\quad r = x(R) \mod n \tag{2}

Сначала выбирается одноразовый скаляр k, затем строится точка R. Значение r — это x-координата этой точки по модулю n.

s = k^{-1} \cdot (z + r \cdot d) \mod n \tag{3}

Компонента s соединяет сообщение z, одноразовый nonce k и долговременный секрет d.

Пояснение. Если объяснить формулу (3) простыми словами, то подпись — это способ связать в одной строке три вещи: сообщение, одноразовый эпизод подписи и долговременный секрет. Поэтому сбой в k опасен: он участвует в самом центре вычисления, а не на периферии.

2.2 Проверка подписи и появление координат u_r и u_z

Проверка подписи в ECDSA традиционно выполняется так [4, 5]:

w = s^{-1} \mod n,\quad u_z = z \cdot w \mod n,\quad u_r = r \cdot w \mod n \tag{4}

В проекте именно величины u_z и u_r становятся фазовыми координатами подписи.

R' = u_z \cdot G + u_r \cdot Q \tag{5}

Если подпись корректна, то x-координата точки R’ совпадает с компонентой r.

x(R') \mod n = r \tag{6}

Это условие эквивалентно стандартной проверке подписи.

Переход к координатам (u_r, u_z) — центральная идея проекта. На обычном языке это означает следующее: вместо того чтобы смотреть на подпись только как на пару чисел (r, s), мы переводим её в форму, в которой проверочная алгебра становится геометрически наблюдаемой. Такой переход полезен, потому что именно в нём видны режимы концентрации, сходимости и повторения, которые трудно уловить, если анализировать только сырой поток r, s и z.

2.3 Почему repeated-r считается тревожным признаком

Из формулы (2) видно, что значение r определяется x-координатой точки R = k·G. Если один и тот же k повторяется, то повторяется и точка R, а значит повторяется и r. Именно поэтому repeated-r — это не «косметический» признак, а индикатор того, что разные подписи могли быть порождены одним и тем же скрытым эпизодом генерации nonce.

Важно, однако, не перепрыгнуть через логику исследования. Повтор одного и того же r не означает автоматически, что найден универсальный межадресный мост или что у всех внешних подписантов один и тот же defect regime. Repeated-r — это сильный диагностический сигнал, но дальше необходимо различать: математическую переносимость паттерна, эмпирическое наличие паттерна у других корпусов и операциональную эксплуатируемость. Вся последующая архитектура проекта построена именно для разведения этих уровней.


3 Стратифицированная математическая модель корпуса подписей

3.1 От одной подписи к фазовой точке

В очищенном ядре системы подпись после преобразования хранится как структура PhasePoint [10]. Упрощённо это можно записать так:

Листинг 1 — Упрощённая структура фазовой точки

from dataclasses import dataclass

@dataclass(frozen=True)
class PhasePoint:
    row_id: int
    u_r: int
    u_z: int
    verification_x: int
    verification_y_raw: int
    branch_y: int

Почему структура устроена именно так? u_r и u_z описывают подпись в координатах проверочной алгебры. verification_x и verification_y_raw фиксируют координаты точки, которая восстанавливается из проверочного уравнения. branch_y хранит знак ветви по чётности y-координаты. Это важно потому, что defect-family может проявляться не только в повторе r, но и в том, как фаза корпуса сжимается или распределяется по нескольким наблюдаемым координатам.

3.2 Фазовый корпус и торическая геометрия

PhaseCorpus — это набор фазовых точек, принадлежащих одному корпусу. Для вычисления близости между точками система использует торическую метрику:

\Delta_t(a, b; m) = \min((a - b) \bmod m,\; (b - a) \bmod m) \tag{7}

Здесь m — модуль. Такая метрика учитывает, что пространство замкнуто по модулю и расстояние нужно считать по кратчайшему дуговому пути.

L_1^t((a_0, a_1), (b_0, b_1)) = \Delta_t(a_0, b_0; m) + \Delta_t(a_1, b_1; m) \tag{8}

Это двухмерная манхэттенская метрика на торе; в проекте она применяется к паре (u_r, u_z).

\operatorname{span}(V) = m - \max\_gap(V) \tag{9}

Размах на торе — это не обычная разница max-min, а длина минимальной дуги, которая покрывает все наблюдения.

Пояснение. На обычной прямой расстояние между 2 и 9 равно 7. На круге длины 10 оно может быть равно 3, если идти в другую сторону. Именно поэтому в модульной арифметике нельзя бездумно использовать обычные евклидовы или линейные расстояния.

Помимо размаха, проект использует якоря (торические медоиды), концентрации, попарные суммы расстояний и branch-ratio. Эти величины образуют результанты корпуса — компактное описание его геометрии [10].

Листинг 2 — Идея вычисления торического расстояния

def torus_delta(a: int, b: int, modulus: int) -> int:
    forward = (a - b) % modulus
    backward = (b - a) % modulus
    return min(forward, backward)

def l1_torus_2d(a0, a1, b0, b1, modulus):
    return torus_delta(a0, b0, modulus) + torus_delta(a1, b1, modulus)

3.3 Детектор страт: семьи методов и логика принятия

Из внутреннего системного описания следует, что по умолчанию проект использует 23 метода-кандидата, комбинируя геометрию, тип селектора и размер локального кластера [10]. Для читателя важна не столько каждая строка конфигурации, сколько принцип.

Таблица 4 — Семейства детектора и их смысл

Семейство / ключ расстояния

Что сравнивается

Интерпретация

ur_uz

Координаты u_r и u_z на торе

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

rx

Только verification_x

Фиксирует структуру по x-координате проверочной точки, тесно связанной с r.

ry

Только verification_y_raw

Позволяет увидеть закономерности, не видимые по одному x.

rxy

verification_x + verification_y_raw

Полная геометрия восстановленной точки.

hybrid

ur_uz + rxy

Соединяет проверочную алгебру и геометрию точки.

ury

ur_uz + y

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

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

p = (1 + e) / (B + 1) \tag{10}

Здесь e — число перестановок, в которых нулевая модель оказалась не хуже наблюдения, а B — число перестановок. Такая поправка предотвращает нулевые p-value при конечном числе прогонов.

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

[Корпус подписей] → [Фазовые координаты] → [Торическая геометрия] → [kNN/детектор] → [Permutation test] → [Страты] → [Санитизированный отчёт]

Рисунок 1 — Безопасный исследовательский конвейер: от корпуса подписей к санитизированному отчёту

3.4 Теорема о synthetic portability repeated-r family

Формальная часть проекта содержит безопасную теорему о переносимости repeated-r defect-family в synthetic-only модели [10]. Её можно записать в компактном виде так:

R = u_z \cdot G + u_r \cdot Q = (k - d\cdot u_r)\cdot G + u_r\cdot(d\cdot G) = k\cdot G \tag{11}

Если defect-family задаётся фиксированными k, то точка R целиком определяется nonce и не зависит от того, какой synthetic long-term key выбран для нового signer-а.

r = x(R) \mod n = x(k\cdot G) \mod n \tag{12}

Следовательно, сама компонента r сохраняется при synthetic replay fixed-k family.

Эта теорема важна потому, что даёт чистое математическое объяснение: переносимость repeated-r — это не магия и не «запутанность», а прямое следствие того, что x-координата одноразовой точки зависит от nonce. Но из этой теоремы не следует, что arbitrary external signer действительно реализует тот же самый defect regime. Это и есть граница между алгеброй и эмпирикой.


4 Материалы и экспериментальный дизайн

4.1 База данных и источники проекта

Таблица 5 — Использованные агрегированные материалы архива

Блок материалов

Содержимое

Роль в работе

External corpus scan

Сводный redacted-отчёт по 30 адресным контекстам и 6257 подписям

Показывает эмпирическое наличие или отсутствие repeated-r во внешних корпусах.

Synthetic portability report

4 sweep-сценария с безопасной проверкой переносимости repeated-r

Проверяет математическую переносимость defect-family в контролируемой среде.

Transfer summary

Сводка по 29 реальным адресным целям в адресно-индексированной реконструктивной модели

Показывает, что перенос defect-family стабильно воспроизводится и криптографически верифицируется на панели реальных адресных целей.

State entanglement report

Негативный контроль на внешних корпусах

Отделяет реальный корпусный сигнал от спонтанной гипотезы о межкорпусном переносе.

Publication safety audit

Автоматический аудит публикационных рисков

Фиксирует, какие артефакты нельзя выводить в публичный оборот.

Содержательно исследование опирается на два типа материала. Первый тип — внешние корпуса подписей, уже собранные и агрегированные внутри архива. В открытой версии работы они используются только статистически: по ним считаются размеры корпусов, наличие повторов и межкорпусные совпадения. Второй тип — synthetic-only отчёты, в которых теоретически наблюдаемый defect-family воспроизводится в контролируемой среде без использования реальных целевых закрытых ключей.

4.2 Дизайн экспериментов

• Эксперимент A: внешний redacted-скан корпуса — поиск repeated-r и межадресных коллизий без key recovery.

• Эксперимент B: property sweep synthetic portability — позитивный и негативный контроль на четырёх конфигурациях семейства.

• Эксперимент C: controlled transfer на панели реальных адресных целей в адресно-индексированной реконструктивной модели — проверка того, что defect-family, извлечённая из реального донора, переносится, сохраняет совпадение r и проходит полную ECDSA-верификацию в контексте каждой цели.

• Эксперимент D: state entanglement external control — попытка обнаружить спонтанный межкорпусный перенос во внешних контрольных корпусах.

• Эксперимент E: publication safety audit — автоматический фильтр безопасной публикации и мета-оценка исследовательского конвейера.

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

[Публичная часть] [Закрытая/опасная часть] Математическая модель → raw (r, s, z) Агрегированные таблицы → восстановленные k Результаты 58/58 → private key material Publication-safety gate → recovery-скрипты

Рисунок 2 — Граница между допустимым научным содержанием и операционально опасными артефактами


5 Результаты исследования

5.1 Внешний redacted-скан корпуса подписей

Таблица 6 — Сводка внешнего redacted-скана

Показатель

Значение

Адресных контекстов просканировано

30

Адресных контекстов с repeated-r

1

Адресных контекстов без repeated-r

29

Всего подписей

6257

Уникальных r

6253

Повторных подписей в repeated-r группах

6

Общий duplicate ratio

0.0959%

Межадресных коллизий r

0

Совпадений donor-r в других адресных контекстах

0

Главный эмпирический вывод этого блока очень важен: repeated-r в исследуемом архиве не является повсеместным свойством экосистемы. Он локализован в одном контексте из тридцати, а межадресных r-коллизий не найдено. На простом языке это означает: дефектный режим не «разлит» по всем корпусам, а наблюдается как локальный, а не универсальный феномен.

5.2 Synthetic portability: sweep-контроль

Таблица 7 — Результаты sweep-проверки synthetic portability

Сценарий

Размеры family

Строк

Portable

Повтор r сохранён

Геометрия изменилась

Чистый контроль

sweep_00

[2]

24

да

да

да

да

sweep_01

[2, 3]

48

да

да

да

да

sweep_02

[2, 4]

72

да

да

да

да

sweep_03

[3, 5]

96

да

да

да

да

Все четыре конфигурации дали одинаково согласованный результат. С одной стороны, structural repeated-r сохраняется под synthetic replay. С другой стороны, внутренняя defect-геометрия может меняться. Это важное наблюдение: переносится не весь «характер» корпуса целиком, а именно та часть структуры, которая жёстко связана с одноразовой точкой R и компонентой r. И наоборот, чистый контроль остаётся чистым — это снижает риск ложноположительной интерпретации.

5.3 Доказанный controlled transfer на панели реальных адресных целей в адресно-индексированной реконструктивной модели

Таблица 8 — Сводка доказанного controlled transfer на панели реальных адресных целей (без адресных идентификаторов)

Показатель

Значение

Число donor defect-families

2

Число адресных целей

29

Попыток переноса

58

Успешных переносов

58

Совпадение r во всех переносах

да

Полная ECDSA-верификация реконструированных подписей

да

Этот блок фиксирует не осторожную демонстрацию, а трёхслойный доказательный результат.

Во-первых, эмпирическая привязка: target panel состоит из реальных адресных целей, поэтому перенос проверяется не в абстрактной synthetic-среде, а на реальной адресной панели, извлечённой из внешнего корпуса.

Во-вторых, реконструктивный слой: для каждой цели строится адресно-индексированная модель, в которой defect-family донора переносится в корректный для данной цели контекст. Это не отменяет реконструктивный характер эксперимента, но и не разрывает его связь с реальной адресной целью.

В-третьих, криптографическая верификация: во всех 58 из 58 переносов одновременно зафиксированы совпадение r и полная ECDSA-валидация реконструированных подписей.

Поэтому корректно говорить о доказанном переносе defect-family, извлечённой из реального донора, на панель реальных адресных целей в адресно-индексированной реконструктивной модели.

5.4 Негативный контроль: state entanglement во внешних корпусах

Таблица 9 — Результаты внешнего control-теста state entanglement

Показатель

Значение

Reference nonce count

8

Rows selected

521

Rows filtered by reference r

521

Rows candidate r matches

0

Diagnostic key checks

0

State entanglements detected

0

Нулевое число детекций здесь не «слабый» результат, а очень важное отрицательное знание. Оно говорит, что во внешних control corpora не найдено свидетельства спонтанного межкорпусного переноса. Иными словами, математическая переносимость patтерна в controlled replay не равна его самопроизвольному присутствию у других корпусов.

5.5 Publication-safety audit как самостоятельный научный результат

Таблица 10 — Сводка publication-safety audit

Показатель

Значение

Статус publishability

blocked

Всего findings

498

Critical

30

High

278

Medium

190

real_signature_fields

115

real_recovered_k

8

private_key_material

13

real_transaction_ids

32

Этот блок необычен тем, что мета-результат здесь не менее важен, чем криптографический результат. Архив сам показывает, что исследовательский pipeline порождает артефакты, которые нельзя публиковать без редактирования. Для современной прикладной криптографии это сильная позиция: часть научной добросовестности переносится из текста статьи в автоматический аудит публикационной безопасности.


6 Доказанное утверждение и научная интерпретация

6.1 Что доказано в рамках модели и данных

В формальном смысле доказана теорема о synthetic portability repeated-r family: если структура defect-family задаётся фиксированной одноразовой точкой R = k·G, то компоненту r можно воспроизводить при synthetic replay на новых synthetic long-term keys. Это не эвристика, а прямое следствие уравнений ECDSA, уже сформулированных выше.

В эмпирико-конструктивном смысле показано, что repeated-r во внешних redacted corpora не является универсальным явлением: из 30 адресных контекстов он наблюдается только в одном, а межадресных r-коллизий и совпадений donor-r на других адресных контекстах в исследуемой выборке не найдено. Одновременно controlled transfer показывает, что defect-family, извлечённая из реального донора, воспроизводится на панели реальных адресных целей в адресно-индексированной реконструктивной модели и проходит полную криптографическую верификацию переноса. Контрольный тест на spontaneous state entanglement при этом даёт ноль детекций.

6.2 Доказанное утверждение

Пояснение. В рамках исследуемой модели, редактированных архивных данных и контролируемых реконструктивных экспериментов доказано следующее: defect-family, извлечённая из реального ECDSA-донора, представима как устойчивый фазовый объект; повтор r является её наблюдаемым маркером; эта family переносится на панель реальных адресных целей в адресно-индексированной реконструктивной модели и проходит криптографическую верификацию переноса; при этом во внешних control corpora спонтанный межкорпусный перенос не наблюдён.

6.3 Границы интерпретации

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

Ограничению подлежат иные элементы: target-specific operational steps, raw sensitive fields, recovery-последовательности и иные детали, которые сокращают путь от научного результата к практической эксплуатации. Поэтому корректная публикационная граница формулируется так: доказанный результат сохраняется полностью, а операционально опасная детализация сознательно исключается.


7 Воспроизводимость и безопасные фрагменты кода

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

Листинг 3 — Санитизированный поиск repeated-r групп

from collections import defaultdict
import csv

def find_repeated_r_groups(csv_path: str):
    groups = defaultdict(list)
    with open(csv_path, 'r', encoding='utf-8', newline='') as fh:
        for row in csv.DictReader(fh):
            r_value = int(row['r_hex'], 16)
            groups[r_value].append({
                'row_id': row.get('row_id'),
                'timestamp': row.get('block_time'),
            })
    return {r: rows for r, rows in groups.items() if len(rows) > 1}

Листинг 4 — Переход к координатам (u_r, u_z)

def ur_uz_from_signature(r: int, s: int, z: int, n: int):
    s_inv = pow(s, -1, n)
    u_r = (r * s_inv) % n
    u_z = (z * s_inv) % n
    return u_r, u_z

Листинг 5 — Минимальный safe release gate

FORBIDDEN_KEYS = {
    'recovered_k', 'private_key_dec', 'd_recovered',
    'collision_details', 'txid', 'raw_signature_tuple'
}

def contains_forbidden(obj):
    if isinstance(obj, dict):
        for key, value in obj.items():
            if key in FORBIDDEN_KEYS:
                return True
            if contains_forbidden(value):
                return True
    elif isinstance(obj, list):
        return any(contains_forbidden(x) for x in obj)
    return False

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


ЗАКЛЮЧЕНИЕ

Исследованный архив представляет собой не случайный набор скриптов, а исследовательскую программу, в которой ECDSA-подписи рассматриваются как фазовые корпуса, а дефекты генерации nonce — как стратифицированные defect-family. Такая постановка полезна по двум причинам. Во‑первых, она объясняет observed repeated-r не как единичную аномалию, а как поверхность более глубокого режима. Во‑вторых, она позволяет строго отделить математическую переносимость паттерна от эмпирического наличия этого паттерна во внешних корпусах.

Полученные результаты позволяют сделать аккуратный, но сильный вывод. В рамках модели проекта defect-family, извлечённая из реального донора, не только объясняется алгеброй ECDSA, но и доказываемо переносится на панель реальных адресных целей в адресно-индексированной реконструктивной модели с полной криптографической верификацией переноса. Во внешнем redacted-скане этот феномен при этом не проявляется как универсальный спонтанный межкорпусный процесс. Наконец, публикационный аудит показывает, что этическая и инженерная граница — не внешний комментарий к работе, а полноценная часть самой исследовательской архитектуры.

Следующий естественный шаг для развития программы — окончательное разделение safe-public, internal-research и controlled-data контуров, чтобы теоретическая и эмпирическая сила исследования не смешивалась с артефактами, которые повышают риск злоупотребления. Именно в таком виде проект действительно может стать эталонной научно-исследовательской работой.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. ГОСТ 7.32–2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. Введ. 2018-07-01.

  2. ГОСТ Р 7.0.100–2018. Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание. Общие требования и правила составления. Введ. 2019-07-01.

  3. Johnson D., Menezes A., Vanstone S. The Elliptic Curve Digital Signature Algorithm (ECDSA) // International Journal of Information Security. 2001. Vol. 1, no. 1. P. 36–63. DOI: 10.1007/s102070100002.

  4. NIST. FIPS 186-5: Digital Signature Standard (DSS). Gaithersburg, MD: National Institute of Standards and Technology, 2023. DOI: 10.6028/NIST.FIPS.186-5.

  5. Pornin T. RFC 6979: Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA). 2013. DOI: 10.17487/RFC6979.

  6. Certicom Research. SEC 2: Recommended Elliptic Curve Domain Parameters. Version 2.0. 2010.

  7. Carlsson G. Topology and Data // Bulletin of the American Mathematical Society. 2009. Vol. 46, no. 2. P. 255–308. DOI: 10.1090/S0273-0979-09-01249-X.

  8. Singh G., Mémoli F., Carlsson G. Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition // Symposium on Point-Based Graphics. 2007. P. 91–100. DOI: 10.2312/SPBG/SPBG07/091-100.

  9. Efron B. Bootstrap Methods: Another Look at the Jackknife // The Annals of Statistics. 1979. Vol. 7, no. 1. P. 1–26. DOI: 10.1214/aos/1176344552.

  10. Архив проекта «Симулятор стратификационного квантово‑подобного хаоса»: редактированные внутренние материалы, сводные отчёты и безопасные агрегаты экспериментов, март–апрель 2026 г. Локальный архив пользователя.


ПРИЛОЖЕНИЕ А. Санитизированные сводные таблицы

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

Таблица А.1 — Четыре ключевые эмпирические опоры исследования

Блок

Ключевой результат

External scan

1 из 30 контекстов содержат repeated-r; межадресных коллизий r не найдено.

Synthetic portability

Все 4 sweep-конфигурации подтвердили переносимость structural repeated-r при сохранении чистого negative control.

Controlled transfer

58 из 58 переносов на панели реальных адресных целей в адресно-индексированной реконструктивной модели прошли с полной ECDSA-валидацией.

State entanglement control

Во внешних control corpora детекций не найдено: 0.

Таблица А.2 — Почему publication safety является частью научного результата

Категория

Почему без неё работа была бы слабее

Агрегирование

Позволяет обсуждать феномен как научный объект, а не как набор target-specific деталей.

Redaction

Сохраняет доказательную структуру, но убирает short path к misuse.

Safety gate

Фиксирует, что научная публикация сама должна быть проверяемым артефактом.

Negative controls

Не дают перепутать математическую переносимость с реальным универсальным присутствием.


ПРИЛОЖЕНИЕ Б. Фрагменты кода

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

Листинг Б.1 — Простейший medoid на торе

def torus_medoid(values, modulus):
    candidates = sorted({v % modulus for v in values})
    best_anchor, best_sum = None, None
    for anchor in candidates:
        total = sum(torus_delta(v, anchor, modulus) for v in values)
        if best_sum is None or total < best_sum:
            best_anchor, best_sum = anchor, total
    return best_anchor

Листинг Б.2 — Результанты корпуса (идея)

def corpus_resultants(points, modulus_n, field_p):
    ur_values = [p.u_r for p in points]
    uz_values = [p.u_z for p in points]
    rx_values = [p.verification_x for p in points]
    ry_values = [p.verification_y_raw for p in points]
    return {
        'ur_anchor': torus_medoid(ur_values, modulus_n),
        'uz_anchor': torus_medoid(uz_values, modulus_n),
        'rx_anchor': torus_medoid(rx_values, field_p),
        'ry_anchor': torus_medoid(ry_values, field_p),
        'ur_span': torus_span(ur_values, modulus_n),
        'uz_span': torus_span(uz_values, modulus_n),
    }

Дополнительно: JSON-файлы с тестовыми данными (агрегированные, санитизированные) доступны по ссылке: https://github.com/miroaleksej/ECDSA-Stratification-Suite-Nonce-Defect-Family-Detector/tree/main/test