# Симулятор пороговых подписей BLS (Boneh–Lynn–Shacham) + распределённой генерации ключей

Полный цикл BLS12-381: церемонии Joint-Feldman DKG, пороговые подписи t-of-n с интерполяцией Лагранжа, атака мошенническим ключом и защита доказательством владения, агрегация аттестаций Ethereum 2.

> Каноническая страница: https://elysiatools.com/ru/tools/bls-boneh-lynn-shacham-threshold-signature-aggregation-distributed-key-gen-simulator

- **Категория:** Cryptography

- **Ключевые слова:** симулятор bls подписи, bls12-381, пороговые подписи, церемония dkg, joint feldman, мошеннический ключ, доказательство владения, ethereum 2 bls, агрегация аттестаций, шамир лагранж

## Обзор

Учебный симулятор схемы подписей BLS (Boneh–Lynn–Shacham 2001, стандартизована в draft-irtf-cfrg-bls-signature-04) — схемы, на которой держатся аттестации beacon-цепи Ethereum 2, Chia, Polkadot и Filecoin.

Скалярное поле — реальный порядок r подгруппы BLS12-381, поэтому приватные ключи, доли Шамира, коэффициенты Лагранжа и «обнуления» мошеннических ключей используют точный рабочий модуль. Группа — учебная мультипликативная группа простого порядка с абстрактным спариванием e(g^a, g^b) = g^(ab): сохраняется любая билинейная тождественность, на которую опирается BLS (σ = H(m)^sk проверяется как e(σ, g) = e(H(m), g^sk)); арифметика эллиптических кривых и hash-to-curve (SSWU) не выполняется.

Сценарии:

1. Joint-Feldman DKG — каждый участник раздаёт случайный многочлен степени t−1, публикует обязательства Фельдмана C_i,k = g^{a_i,k} (плюс необязательные скрывающие обязательства Педерсена) и приватно рассылает доли. Проверки долей разоблачают нечестных дилеров; групповой открытый ключ Π C_i,0 равен g^{групповой секрет}, хотя сам секрет нигде не собирается. Затем пороговая подпись t-of-n: частичные σ_i = H(m)^{s_i} комбинируются коэффициентами Лагранжа в подпись, идентичную подписи «полного» подписанта; квоты ниже порога отклоняются.

2. Атака мошенническим ключом — злоумышленник публикует pk* = g^α·Πpkᵢ⁻¹ (вычислимо только по открытым ключам) и подделывает агрегированную подпись, которую наивная проверка принимает. Защита — доказательство владения (PopProve = подпись хеша собственного ключа) отклоняет мошеннический ключ на регистрации.

3. Агрегация аттестаций Ethereum 2 — n валидаторов подписывают одни данные; σ_agg = Πσᵢ остаётся 96 байтами, FastAggregateVerify стоит 2 спаривания независимо от n; суб-агрегат кворума ⅔ проверяется инкрементально.

Все запуски детерминированы при фиксированном зерне — церемонии воспроизводятся байт в байт.

## Входные данные

- **Сценарий** (select)
- **Участники n (3–9)** (number): 4
- **Порог t (2–9)** (number): 3
- **Сообщение / данные аттестации** (text): committee attestation: block 9182
- **Детерминированное зерно (воспроизводит ту же церемонию)** (text): ceremony-2026
- **Добавить скрывающие обязательства Педерсена в DKG** (checkbox)

## Когда использовать

- Изучение и пошаговая отладка протоколов распределенной генерации ключей (DKG) на базе схемы Шамира и обязательств Фельдмана или Педерсена.
- Анализ механики порогового подписания t-of-n и восстановления подписи через полиномиальную интерполяцию Лагранжа.
- Исследование уязвимости мошеннического открытого ключа (rogue key) и проверка работы защитного механизма доказательства владения (PoP).

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

- Выберите один из трех сценариев: распределенная генерация Joint-Feldman DKG, атака мошенническим ключом (rogue-key) или агрегация аттестаций валидаторов Ethereum 2.
- Задайте параметры протокола: число участников (n от 3 до 9), порог кворума (t от 2 до 9), текст сообщения, зерно генератора (seed) и флаг обязательств Педерсена.
- Запустите симуляцию для генерации математического отчета с матрицами обязательств, таблицами долей, расчетом коэффициентов Лагранжа и проверкой спариваний.

## Сценарии использования

- Моделирование церемоний инициализации валидаторных комитетов и пороговых хранилищ без доверенного дилера.
- Демонстрация и аудит устойчивости протоколов агрегации подписей к rogue-key атакам в распределенных реестрах.
- Обучение принципам работы консенсуса Ethereum 2.0 и агрегации аттестаций фиксированного размера (96 байт).

## Частые вопросы

### Используются ли в симуляторе реальные параметры кривой BLS12-381?

Да, все операции с секретами, долями и интерполяцией Лагранжа вычисляются над точным скалярным полем порядка r кривой BLS12-381.

### Что происходит при попытке собрать пороговую подпись составом меньше порога t?

Симулятор демонстрирует отказ верификации, так как интерполяция Лагранжа по числу точек меньше t не восстанавливает корректное значение секрета в точке ноль.

### Как Proof-of-Possession (PoP) защищает от атаки мошенническим ключом?

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

### Почему вычисления одинаковы при повторном запуске?

Генерация секретов и многочленов полностью детерминирована и строго привязана к введенному текстовому зерну (seed).

### Сколько операций спаривания требует проверка FastAggregateVerify в Ethereum 2?

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

## Связанные инструменты

- [Сравнение хеш-алгоритмов](https://elysiatools.com/ru/tools/hash-algorithm-comparator): Хеширует один и тот же вход с помощью MD5, SHA-1, SHA-256, SHA-512, BLAKE2b и BLAKE3 и сравнивает их: длину, hex/Base64-дайджест, статус безопасности (взломан/современный) и относительный бенчмарк скорости. Полезно для обучения, выбора алгоритма и проверки контрольных сумм.
- [Аудитор MAC-конструкций: HMAC + BLAKE3 + SHA-3/Keccak + Poly1305 + BLAKE2 с ключом](https://elysiatools.com/ru/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter): Вычисляет и аудитурует MAC для HMAC-SHA-2/SHA-3, BLAKE2 с ключом, BLAKE3, KMAC и Poly1305 с официальными самотестами, проверкой длин ключа/метки и матрицей совместимости конструкций.
- [Мост OCR PDF → структурированный JSON](https://elysiatools.com/ru/tools/ocr-pdf-to-structured-json-bridge): Извлекает текстовый слой PDF с геометрией (строки по y-координате, таблицы по промежуткам колонок, заголовки по кеглю, пары ключ-значение через двоеточие) и заполняет пользовательскую JSON-схему поле за полем — метки сопоставляются по нормализованным ключам, значения приводятся к объявленным типам и проверяются ajv.
- [Валидатор распространения OpenTelemetry W3C traceparent / tracestate / baggage и заголовков OTLP](https://elysiatools.com/ru/tools/opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator): Проверяет traceparent по ABNF W3C Trace Context (версия / 16-байтовый trace-id / 8-байтовый parent-id / 1-байтовый trace-flags; нули и версия ff отклоняются, верхний регистр предупреждает), tracestate (≤32 членов, простые и tenant@system ключи, предупреждение о дублях) и baggage (процентно-кодированные значения с непрозрачными свойствами); проверяет Content-Type экспорта OTLP и 25-байтовый двоичный контекст grpc-trace-context-bin; коррелирует два traceparent в симулированном round-trip (стабильность trace-id и коллизия случайного дочернего span-id) и выдаёт нормализованные заголовки.
- [Валидатор логического дерева структуры PDF (роли WCAG)](https://elysiatools.com/ru/tools/pdf-logical-structure-tree-validator): Аудит логического дерева структуры PDF/UA-1: завершается ли RoleMap стандартными типами, не пропускают ли H1–H6 уровни и не начинается ли документ не с H1, нет ли у Figure/Formula отсутствующего Alt, определима ли цепочка языка, расходятся ли порядок MCID структуры и потока контента; с деревом и контрольными точками Matterhorn.
- [Оркестратор формальной верификации SMT-LIB 2.7 / AIGER / BTOR2 (CDCL + BMC + k-индукция + интерполяция Крейга + IC3)](https://elysiatools.com/ru/tools/smt-smtlib-2-7-cvc5-z3-btor2-aiger-k-induction-cddr-dbg-invariant-synthesis-orchestrator): Полный стек формальной верификации в браузере — без бинарников cvc5/Z3: парсер скриптов SMT-LIB 2.7 для ядра QF_BV + Bool с Tseitin-бит-бластингом операторов FixedSizeBitVectors, чтение AIGER (ASCII aag и двоичный aig с delta-декодированием; выходы как плохие свойства), чтение BTOR2 со словоуровневым бит-бластингом и собственный CDCL SAT-движок (двойные просматриваемые литералы, активности в стиле VSIDS, 1-UIP-обучение, перезапуски) в основании. На последовательностных моделях выполняются BMC с трассами-свидетелями, k-индукция с усилением уникальными состояниями, интерполяция Крейга в стиле Макмиллана с повторной SAT-сертификацией и цикл IC3/PDR-lite с блокировкой кубов.
- [Проверка субтитров по нормам платформ](https://elysiatools.com/ru/tools/subtitle-platform-spec-checker): Проверяет субтитры по спецификациям сдачи: Netflix Timed Text (скорость чтения 20/17 CPS, 42 знака в строке, две строки, минимум 5/6 секунды и максимум 7 секунд, зазоры в 2 кадра), рекомендации BBC для ТВ (37 знаков в строке, 160-180 сл/мин, паузы 1,5 с) и правила субтитров YouTube (чистый UTF-8, разметка не распознаётся) — с отчётом по каждой реплике.
- [Разделение train/test со стратификацией](https://elysiatools.com/ru/tools/train-test-split-with-stratification): Читает датасет CSV/JSON и делит на train/validation/test со стратификацией по целевому столбцу (по умолчанию 70/15/15, воспроизводимое зерно) или стратифицированный k-fold; отчёт о распределении классов по сплитам с полосами отклонения, проверка утечек через дубликаты строк, предпросмотр SMOTE (интерполяция ближайших соседей на train) и экспорт CSV в ZIP.

## Примеры

- [Примеры Распределенного Трейсинга](https://elysiatools.com/ru/samples/distributed-tracing-samples): Комплексные примеры распределенного трейсинга с использованием Jaeger, OpenTelemetry и современных инструментов
- [Примеры Паттернов Распределенных Систем](https://elysiatools.com/ru/samples/distributed-systems): Комплексные паттерны распределенных систем, включая согласованность, алгоритмы консенсуса, шардинг и механизмы отказоустойчивости
- [MP3 Аудио Образцы Без Авторских Прав](https://elysiatools.com/ru/samples/mp3-samples): Коллекция аудио образцов без авторских прав для тестирования и разработки, включая звуки природы, медитативную музыку и фоновое аудио
- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
