Author

Topic: Huit mots pour une clef de 128 bits (Read 1474 times)

legendary
Activity: 1288
Merit: 1080
February 18, 2012, 06:40:01 AM
#3
Intéressant.. et très poétique Wink
j'imagine que c'est une suite du thread sur "comment stocker des bitcoins dans sa tête"..
Cependant est ce qu'il n'est pas plus simple d'utiliser un casascius coin ou un Ron Paul check pour stocker ses bitcoins durablement (ou les échanger) plutôt que mémoriser des phrase de ce genre ?
Pourquoi pas utiliser une Yubikey si c'est online (encore plus simple et adapté à ceux qui n'aime pas utiliser des longs mots de passe:fonctionnalité disponible chez bitcoin-central.net)?

Ce fil n'est plus vraiment d'actualité car je ne crois pas que la méthode des mots clefs soit efficace ou fiable.  Pour mémoriser un portefeuille, je préfère la technique de la "maison aux deux étages", en conjonction avec la génération déterministe de clefs.

Oui, utiliser un casacius coin ou un truc du genre c'est utile mais il y a toujours un support physique susceptible d'être volé/perdu/réquisitionné.

A terme, utiliser uniquement sa mémoire me paraîtra préférable.
legendary
Activity: 1221
Merit: 1025
e-ducat.fr
February 17, 2012, 07:43:41 PM
#2
Intéressant.. et très poétique Wink
j'imagine que c'est une suite du thread sur "comment stocker des bitcoins dans sa tête"..
Cependant est ce qu'il n'est pas plus simple d'utiliser un casascius coin ou un Ron Paul check pour stocker ses bitcoins durablement (ou les échanger) plutôt que mémoriser des phrase de ce genre ?
Pourquoi pas utiliser une Yubikey si c'est online (encore plus simple et adapté à ceux qui n'aime pas utiliser des longs mots de passe:fonctionnalité disponible chez bitcoin-central.net)?
legendary
Activity: 1288
Merit: 1080
December 22, 2011, 10:27:28 AM
#1
Tandis que je développais ma librairie bitcoin pour Perl, j'ai eu l'idée d'utiliser /usr/share/dict/words  pour mémoriser une clef privée (à la manière de ce qui est fait avec le client Electrum)

ça réduit le nombre de mots à huit pour une clef de 128 bits (valeur par défaut, modifiable avec la variable $Bitcoin::PrivateKey::entropy)

exemple:

Code:
use Bitcoin::PrivateKey;
my $key = new Bitcoin::PrivateKey;

say join ' ', $key->mnemonic;

affichera par exemple:

grimage recommander nymphes empêcheriez payement âcreté excusées exemptais

Je trouve ça plutôt cool.

Atention les verbes sont conjugués et les mots peuvent être au pluriel muet.  Il faut donc ajouter mentalement les pronoms ou les articles.  Par exemple dans l'exemple plus haut il faut lire:


le grimage
recommander
les nymphes
vous empêcheriez
payement
l'âcreté
elles sont excusées
hier, j'exemptais.

Mais dans l'absolu ça n'est même pas nécessaire, vous pouvez facilement écrire un programme qui essaie toutes les combinaisons quand il y a ambiguité.

L'idéal étant de se faire une petite histoire avec ces mots.

Théoriquement il est possible de réduire encore le nombre de mots en diminuant l'entropie, mais dans ce cas il faut augmenter le nombre d'itérations de sha256.  C'est fait par défaut mais vous pouvez hériter de la classe pour faire votre propre cuisine.  .


La sécurité d'une clef dépend à la fois de sa taille et de ce nombre d'itérations.  Une clef très courte devrait comporter un grand nombre d'itérations et devrait donc prendre beaucoup de temps à générer (plusieurs jours par exemple).  Un compromis est à trouver.  A vous de voir.
Jump to: