Technique › Clés et adresses

Clés privées

La clé de dépense b, la clé de visualisation a et leurs moitiés publiques B et A

En bref

Un portefeuille Monero est une paire de scalaires : b (clé privée de dépense) et a = Hs(b) (clé privée de visualisation). Leurs versions publiques : B = b·G et A = a·G. Une adresse, c’est simplement B et A écrits ensemble.

La clé de dépense

La clé privée de dépense b est un scalaire aléatoire modulo l. Dans le format classique, la seed de 25 mots est b, simplement écrite en mots. Génération :

  1. prendre 32 octets aléatoires (ou plus, pour l’uniformité) ;
  2. les lire comme un nombre petit-boutiste (little-endian) ;
  3. réduire modulo l (sc_reduce32).

La clé de dépense sert à deux choses : calculer la clé privée d’une sortie à usage unique (pour signer une dépense) et calculer la key image.

La clé de visualisation

La clé privée de visualisation pourrait être un nombre aléatoire indépendant, mais les portefeuilles standard la dérivent de la clé de dépense :

a = Hs(b) = Keccak256(b) mod l

C’est pourquoi une seule seed suffit pour restaurer les deux clés. La clé de visualisation est utilisée lors du balayage de la blockchain : pour chaque transaction, le portefeuille calcule le secret partagé 8·a·R et vérifie si une sortie lui est destinée (détails dans adresses à usage unique).

Clés publiques

B = b·G      A = a·G

Deux points de la courbe, de 32 octets chacun. Ils ne sont pas secrets : votre adresse en est constituée.

bdépense privée avisu. privée Bdépense publique Avisu. publique Hs ·G ·G

Qui peut faire quoi

Vous avezVous pouvezVous ne pouvez pas
A, B (adresse)envoyer de l’argent à ce portefeuillevoir quoi que ce soit
a, B (lecture seule)trouver les sorties entrantes et leurs montantsdépenser ; voir de façon fiable les dépenses
a, btout—
Ce qui change avec Carrot

Avec Carrot, la hiérarchie des clés s’approfondit : des clés distinctes pour « voir les entrées », « tout voir », « générer les key images ». Pour les portefeuilles existants, a et b continuent de fonctionner.