# Simulateur de signatures à seuil BLS (Boneh–Lynn–Shacham) + génération distribuée de clés

Simule BLS12-381 de bout en bout : cérémonies Joint-Feldman DKG, signatures à seuil t-sur-n par interpolation de Lagrange, attaque à clé voyou et sa défense par preuve de possession, et agrégation d’attestations Ethereum 2.

> Page canonique: https://elysiatools.com/fr/tools/bls-boneh-lynn-shacham-threshold-signature-aggregation-distributed-key-gen-simulator

- **Catégorie:** Cryptography

- **Mots-clés:** simulateur signature bls, bls12-381, signatures à seuil, cérémonie dkg, joint feldman, clé voyou, preuve de possession, ethereum 2 bls, agrégation attestations, shamir lagrange

## Présentation

Un simulateur pédagogique du schéma de signatures BLS (Boneh–Lynn–Shacham 2001, normalisé dans draft-irtf-cfrg-bls-signature-04) — le schéma derrière les attestations de la chaîne phare d’Ethereum 2, Chia, Polkadot et Filecoin.

Le corps scalaire est l’ordre r réel du sous-groupe BLS12-381 : clés privées, parts de Shamir, coefficients de Lagrange et annulations de clé voyou utilisent exactement le module de production. Le groupe est un groupe multiplicatif didactique d’ordre premier avec l’appariement abstrait e(g^a, g^b) = g^(ab) : toute identité bilinéaire dont dépend BLS (σ = H(m)^sk vérifié par e(σ, g) = e(H(m), g^sk)) est préservée ; l’arithmétique de courbe elliptique et le hash-to-curve (SSWU) ne sont pas exécutés.

Scénarios :

1. Joint-Feldman DKG — chaque participant distribue un polynôme aléatoire de degré t−1, publie des engagements de Feldman C_i,k = g^{a_i,k} (plus des engagements Pedersen dissimulants facultatifs) et distribue ses parts en privé. Les vérifications démasquent les distributeurs malhonnêtes ; la clé publique de groupe Π C_i,0 égale g^{secret de groupe} bien que ce secret ne se matérialise jamais. Puis signature à seuil t-sur-n : les partielles σ_i = H(m)^{s_i} se combinent via Lagrange en une signature identique à celle du signataire complet ; les quorums sous le seuil sont rejetés.

2. Attaque à clé voyou — l’attaquant publie pk* = g^α·Πpkᵢ⁻¹ (calculable à partir des seules clés publiques) et forge une signature agrégée que la vérification naïve accepte. La défense par preuve de possession (PopProve = signer le haché de sa propre clé publique) rejette la clé voyou à l’enregistrement.

3. Agrégation d’attestations Ethereum 2 — n validateurs signent les mêmes données ; σ_agg = Πσᵢ reste à 96 octets et FastAggregateVerify coûte 2 appariements quel que soit n ; le sous-agrégat du quorum ⅔ vérifie de façon incrémentale.

Toute exécution est déterministe pour une graine donnée : les cérémonies se rejouent à l’identique.

## Entrées

- **Scénario** (select)
- **Participants n (3–9)** (number): 4
- **Seuil t (2–9)** (number): 3
- **Message / Données d’attestation** (text): committee attestation: block 9182
- **Graine déterministe (rejoue la même cérémonie)** (text): ceremony-2026
- **Ajouter des engagements Pedersen au DKG** (checkbox)

## Quand l'utiliser

- Pour comprendre et valider pas à pas le déroulement d'une cérémonie DKG Joint-Feldman avec engagements de Feldman et Pedersen.
- Pour visualiser le mécanisme d'une attaque à clé voyou (rogue-key) sur une agrégation naïve et observer son blocage par preuve de possession.
- Pour analyser l'agrégation de signatures BLS et le coût fixe de vérification (FastAggregateVerify) appliqué aux validateurs Ethereum 2.

## Fonctionnement

- Sélectionnez le scénario cryptographique souhaité : Joint-Feldman DKG avec seuil t-sur-n, attaque à clé voyou, ou agrégation d'attestations Ethereum 2.
- Configurez le nombre de participants (n), le seuil minimal requis (t), le message ou l'attestation à signer, ainsi qu'une graine textuelle déterministe.
- Activez si nécessaire les engagements dissimulants de Pedersen pour renforcer la phase d'échange de parts lors de la DKG.
- Générez le rapport complet affichant les matrices d'engagements, les coefficients de Lagrange, les signatures partielles et le verdict de vérification d'appariement.

## Cas d'usage

- Étude académique et démonstration en cours de cryptographie appliquée aux protocoles décentralisés.
- Prototypage conceptuel de protocoles de consensus ou de comités multi-signatures utilisant BLS12-381.
- Audit de sécurité pédagogique pour illustrer la nécessité des preuves de possession face aux attaques par annulation de clé.

## Questions fréquentes

### Quelles propriétés mathématiques de BLS12-381 sont simulées ?

Le simulateur utilise l'ordre scalaire réel r de BLS12-381 pour les clés et l'arithmétique polynomiale, couplé à un groupe multiplicatif abstrait préservant les identités d'appariement bilinéaire.

### Comment fonctionne la signature à seuil t-sur-n ?

Au moins t participants calculent leurs signatures partielles, qui sont ensuite combinées via des coefficients d'interpolation de Lagrange pour égaler la signature de la clé de groupe.

### Pourquoi l'attaque à clé voyou (rogue-key) réussit-elle sans défense ?

L'attaquant construit une clé publique annulant algébriquement les clés des tiers honnêtes, lui permettant de signer seul pour l'ensemble du groupe sans détenir leurs secrets.

### Comment la preuve de possession (PoP) bloque-t-elle l'attaque à clé voyou ?

Elle impose à chaque signataire de prouver la connaissance de sa clé privée lors de l'enregistrement en signant le haché de sa clé publique, ce qu'un attaquant ne peut faire pour pk*.

### Les résultats sont-ils reproductibles ?

Oui, chaque simulation dépend de la graine textuelle fournie, garantissant une exécution déterministe identique pour une même graine.

## Outils associés

- [Comparateur d’algorithmes de hachage](https://elysiatools.com/fr/tools/hash-algorithm-comparator): Hache la même entrée avec MD5, SHA-1, SHA-256, SHA-512, BLAKE2b et BLAKE3 et les compare : longueur, digest hex/Base64, statut de sécurité (cassé/moderne) et benchmark de vitesse relatif. Idéal pour l’enseignement, le choix d’algorithme ou la vérification de checksums.
- [Auditeur de constructions MAC : HMAC + BLAKE3 + SHA-3/Keccak + Poly1305 + BLAKE2 à clé](https://elysiatools.com/fr/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter): Calcule et audite des MAC sur HMAC-SHA-2/SHA-3, BLAKE2 à clé, BLAKE3, KMAC et Poly1305 avec autotests officiels à réponse connue, contrôle des longueurs clé/étiquette et matrice de compatibilité inter-constructions.
- [Pont PDF (OCR) vers JSON structuré](https://elysiatools.com/fr/tools/ocr-pdf-to-structured-json-bridge): Extrait la couche texte du PDF avec la géométrie (lignes par position y, tableaux par écarts de colonnes, titres par taille de police, paires clé-valeur à deux-points) puis remplit champ par champ un JSON Schema fourni — libellés appariés par clés normalisées, valeurs coercées vers les types déclarés et validées par ajv.
- [Validateur de propagation OpenTelemetry W3C traceparent / tracestate / baggage et en-têtes OTLP](https://elysiatools.com/fr/tools/opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator): Valide traceparent selon l'ABNF de W3C Trace Context (version / trace-id 16 octets / parent-id 8 octets / trace-flags 1 octet ; zéros et version ff rejetés, majuscules signalées), tracestate (≤32 membres, clés simples et tenant@système, doublons signalés) et baggage (valeurs percent-encodées avec propriétés opaques) ; vérifie le Content-Type d'export OTLP et le contexte binaire de 25 octets de grpc-trace-context-bin ; corrèle deux traceparent dans un aller-retour simulé (stabilité du trace-id et collision d'un span-id enfant aléatoire) et émet des en-têtes normalisés.
- [Validateur d'arbre de structure logique PDF (rôles WCAG)](https://elysiatools.com/fr/tools/pdf-logical-structure-tree-validator): Audite l'arbre de structure logique PDF/UA-1 : le RoleMap aboutit-il à des types standard, H1–H6 sautent-ils des niveaux ou le premier titre n'est-il pas H1, Figure/Formula manquent-ils d'Alt, la chaîne de langue est-elle déterminable, l'ordre MCID structure/contenu diverge-t-il ; arbre et points de contrôle Matterhorn inclus.
- [Orchestrateur de vérification formelle SMT-LIB 2.7 / AIGER / BTOR2 (CDCL + BMC + k-induction + interpolation de Craig + IC3)](https://elysiatools.com/fr/tools/smt-smtlib-2-7-cvc5-z3-btor2-aiger-k-induction-cddr-dbg-invariant-synthesis-orchestrator): Une pile complète de vérification formelle dans le navigateur — sans binaire cvc5/Z3 : un analyseur de scripts SMT-LIB 2.7 pour le cœur QF_BV + Bool avec bit-blasting Tseitin des opérateurs FixedSizeBitVectors, un lecteur AIGER (aag ASCII et aig binaire avec décodage delta ; sorties comme propriétés bad), un lecteur BTOR2 avec bit-blasting au niveau du mot et un moteur SAT CDCL écrit à la main (littéraux doublement surveillés, activités façon VSIDS, apprentissage 1-UIP, redémarrages). Sur les modèles séquentiels : BMC avec traces témoins, k-induction avec renforcement par états uniques, interpolation de Craig à la McMillan re-certifiée par SAT, et une boucle IC3/PDR-lite à blocage de cubes.
- [Contrôleur de conformité des sous-titres par plateforme](https://elysiatools.com/fr/tools/subtitle-platform-spec-checker): Valide des sous-titres selon les specs de livraison : Netflix Timed Text (vitesse de lecture 20/17 CPS, 42 caractères par ligne, deux lignes, minimum 5/6 de seconde et maximum 7 secondes, écarts de 2 images), guidelines télé BBC (37 caractères par ligne, 160-180 mpm, pauses de 1,5 s) et règles de sous-titres YouTube (UTF-8 brut, balisage non reconnu) — avec rapport détaillé par réplique.
- [Découpage train/test stratifié](https://elysiatools.com/fr/tools/train-test-split-with-stratification): Lit un jeu de données CSV/JSON et le découpe en train/validation/test avec échantillonnage stratifié par la colonne cible (70/15/15 par défaut, graine reproductible), ou k-fold stratifié ; rapport de distribution des classes par split avec barres d'écart, contrôle des fuites par lignes dupliquées, aperçu SMOTE (interpolation des plus proches voisins sur le train) et export des CSV en ZIP.

## Exemples

- [Exemples de Traçage Distribué](https://elysiatools.com/fr/samples/distributed-tracing-samples): Exemples complets de traçage distribué utilisant Jaeger, OpenTelemetry et outils d'observabilité modernes
- [Exemples de Patterns de Systèmes Distribués](https://elysiatools.com/fr/samples/distributed-systems): Patterns complets de systèmes distribués couvrant la cohérence, les algorithmes de consensus, le sharding et les mécanismes de tolérance aux pannes
- [Échantillons Audio MP3 Libres de Droits](https://elysiatools.com/fr/samples/mp3-samples): Collection d'échantillons audio libres de droits pour les tests et le développement, incluant les sons de la nature, la musique de méditation et l'audio ambiant
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
