Clés privées
La clé de dépense b, la clé de visualisation a et leurs moitiés publiques B et A
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 :
- prendre 32 octets aléatoires (ou plus, pour l’uniformité) ;
- les lire comme un nombre petit-boutiste (little-endian) ;
- 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 :
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
Deux points de la courbe, de 32 octets chacun. Ils ne sont pas secrets : votre adresse en est constituée.
Qui peut faire quoi
| Vous avez | Vous pouvez | Vous ne pouvez pas |
|---|---|---|
A, B (adresse) | envoyer de l’argent à ce portefeuille | voir quoi que ce soit |
a, B (lecture seule) | trouver les sorties entrantes et leurs montants | dépenser ; voir de façon fiable les dépenses |
a, b | tout | — |
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.