Chiffrement de portefeuille – Bitcoin Wiki – Bitcoin avis

?>

Cette page décrit l'algorithme utilisé pour crypter wallet.dat fichier utilisé dans le client Bitcoin d'origine.

Utilisations du chiffrement de sac à main AES-256-CBC pour crypter uniquement les clés privées contenues dans un portefeuille. Les clés sont cryptées avec une clé principale
ce qui est complètement aléatoire. Cette clé principale est ensuite chiffrée
AES-256-CBC avec une clé dérivée de la phrase secrète utilisant SHA-512 et
OpenSSL: s EVP_BytesToKey et un nombre dynamique de tours déterminé par
la vitesse de la machine qui effectue le premier cryptage (et est
est mis à jour en fonction de la vitesse d'un ordinateur ultérieur
mise à jour de la phrase de passe). Bien que le code sous-jacent prenne en charge plusieurs
des copies chiffrées de la même clé principale (et donc de plusieurs mots de passe)
le client n'a pas encore de méthode pour ajouter des phrases secrètes supplémentaires.

En conduisant, le client charge le portefeuille comme il le ferait habituellement
keystore stocke les clés sous forme cryptée. Quand la rançon
nécessaire (pour recharger le clavier ou envoyer des pièces) il vous sera soit demandé
avec une invite GUI, ou doit d'abord être entré avec phrase de passe
Commande RPC. Cela changera le portefeuille en état "déverrouillé" là-bas
la clé principale non chiffrée est stockée en mémoire (pour l'interface graphique, uniquement pour
assez longtemps pour terminer l'opération demandée, dans RPC, tant que
est spécifié par le deuxième paramètre phrase de passe). Le portefeuille est
est ensuite verrouillé (ou peut être verrouillé manuellement à l'aide de portefeuille Commande RPC)
et la clé principale non chiffrée est supprimée de la mémoire.

Détails de mise en œuvre pour le chiffrement de portefeuille

Lorsque le portefeuille est verrouillé, appelez sendtoaddress, envoyé de, envoyer beaucoup, aussi remplissage de clé reviendra Erreur -13: "Erreur: veuillez d'abord saisir la phrase de passe du mot de passe du portefeuille."

Lorsque le portefeuille est déverrouillé, appelez phrase de passe échouera.

Lorsqu'un portefeuille est crypté, la phrase secrète est requise pour remplir
clavier, donc si la phrase secrète est rarement spécifiée, il est possible de
le clavier peut se terminer. Dans ce cas, la clé par défaut sera utilisée comme
cible pour les paiements miniers et les appels à getnewaddress et getaccount
l'adresse renverra une erreur. Pour éviter de tels cas, le clavier
est automatiquement rempli lorsque phrase de passe s'appelle à juste titre
phrase de passe et quand topupkeypool appelé (pendant que le portefeuille est déverrouillé).
Notez que le clavier continue d'être rempli à différents moments, puis
une nouvelle clé du pool est utilisée et le portefeuille est déverrouillé (ou non chiffré).

Lorsque l'encodage de phrase de portefeuille est activé, toutes les clés inutilisées sont vidées du clavier (marquées comme utilisées) et de nouvelles clés protégées par cryptage sont ajoutées. Pour cette raison, vous effectuez une nouvelle sauvegarde de votre portefeuille afin de pouvoir restaurer les clés du nouveau pool de clés si l'accès à vos sauvegardes est nécessaire.