Il s’agit du même algorithme utilisé dans Duniter!? Alors je me demande si je pourrai utiliser les clef d’un wallet à la place de mykey et/ou inversement.
~ $ silkaj generate_auth_file
Please enter your Scrypt Salt (Secret identifier):
Please enter your Scrypt password (masked):
Using default values. Scrypt parameters not specified or wrong format
Scrypt parameters used: N: 4096, r: 16, p: 1
Authentication file 'authfile' generated and stored in current folder for following public key: CDFKnaLHN32oyVFgWPiagztsXMqB4D6mRFY2TZk4e5JS
~ $ cat authfile
ce1e811b02e297436596a3a33783817c4198a60fac7383b1e0f96f9898081490
Le authfile de silkaj semble encodé en HEX.
Ce qui donne en base58 EsbxubvihwtuL4FgGJjiqr6YQN23aD44U5FDSWNqmETR (http://lenschulwitz.com/base58) mais n’a pas la même taille que mykey (que je peux changer avec l’option -s )
Où pourrai-je trouver de la documentation sur la méthode de génération de clef de Duniter?
Pensez-vous qu’il est possible d’établir un lien de cohérence cryptographique entre les 2 systèmes?
Si oui, quelle piste devrai-je suivre?
@Frederic_Renault Les implémentations d’ed25519 utilisés dans l’écosystème Duniter/G1 fournissent des trousseaux de clé de taille fixe :
64 octets pour la clé privée
32 octets pour la clé publique
Cela est possible car c’est un hash sha512 de la seed qui est utilisé, d’où la taille fixe quelque soit la taille de la seed.
Le fait d’utiliser un salt+password ne fait pas parti du protocole de Duniter, c’est une pratique je n’ai jamais compris et que je ne comprend toujours pas, la plupart des cryptos utilisant une seed unique.
Bref, tu génère ton trousseau de clés ed25519 comme tu veut, tant que ta clé publique a bien une taille de 32 octets ça fonctionnera dans Duniter et Durs (et aussi dans Juniter je suppose).
Pour te connecter a Cesium il te suffit de créer un fichier .dunikey respectant le format suivant :
Graçe a dunikey tu pourra notamment vérifier si une meme seed te donne le même trousseau de clés via IPFS et via l’écosystème Duniter/G1.
Par contre, il semble en zieutant la doc d’ipfs qu’ils n’est pas prévus la possibilité de renseigner soit même la seed souhaitée, j’ai l’impression que ça se limite a la génération aléatoire d’un trousseau, si c’est avéré c’est très limitant…
Concernant le fichier mykey généré par IPFS 2 possibilités :
il est probable qu’il s’agisse d’une concaténation des clés publiques et privées l’une a la suite de l’autre en binaire suivi d’une conversion en base58.
il également possible qu’il s’agisse de la clé privée seule (la clé publique pouvant être retrouvée par calculs).
Cependant vu la taille importante je penche davantage pour la 1ère possibilité
Oui dsl j’ai écris ça vite j’avoue que ça peut faire provocateur mais ce n’est pas le but
Oui sérieusement j’ai toujours trouvé que devoir gérer 2 pass ça complique la vie aux utilisateurs et je ne suis pas convaincu que ça apporte plus de sécurité
Je ne suis d’ailleurs pas le seul a penser ça, ceux qui ont l’habitude des autres cryptos comme @nanocryk ou @Looarn ont probablement un avis similaire.
Une seule passphrase a retenir c’est bien plus simple et tout aussi safe
avec plaisir
Que veut tu dire exactement ?
Comme tu l’a montré silkaj permet déjà de générer un trousseau en ligne de commande.
Duniter te le permet également avec la commande wizard key
si le problème c’est comment générer la clef avec une seul chaîne … voila comment le salt and password sont combiné chez moi. c’est le code des pods césium donc mieux vaut demander a benoît le détails
Ah oui, par rapport à une passephrase, je comprends. Je croyais que tu pensais plutôt au trousseau physique aléatoire qu’il faut stocker et surtout ne pas perdre.
Mais en effet la mono-passphrase suffit. J’ai proposé l’usage de la double passphrase uniquement à cause de scrypt, mais au final non seulement scrypt n’est pas nécessaire mais en plus, au pire, la passphrase peut peut être splittée en deux pour y satisfaire.
Mais comme tu dis, scrypt ne fait pas partie du protocole. Duniter, Cesium, Silkaj et autres peuvent déjà passer à la simple passphrase.