Gsper arriver à coder Gsper

Voila qui est fait, donc Gsper est de nouveau accessible :wink:

Finalement, tu as utilisé quelle librairie ?

J’ai essayé avec tweetnacl, mais y a un truc qui me chiffonne.

J’ai regardé ton fichier duniter_tools et j’y vois plein de paramètres en plus que je ne comprends pas (seed, length, etc.).

Où sont-ils spécifiés ?

Quelqu’un aurait un tuto clair sur les algos utilisés svp ? :slight_smile:

duniter_tools à été codé par tortue, je me suis contenter d’utiliser ce qu’il a fait (et c’est un fichier qui contient à la fois du code maison et des lib incluses).
J’aimerais segmenter pour ne pas mélanger du code maison et du code de lib mais pour librer une V1 rapidement, j’ai composer avec l’existant.

Les algo : scrypt pour passer des idSecret/salt et password au seed, puis du seed aux clef publique et privé, et base58 pour passer les données en caractère lisible non ambigue.

@b3j0f

             ___________            _____________________________                _____________________________ 
            | libscrypt |          | libcrypto (NaCl, Sodium...) |              | libcrypto (NaCl, Sodium...) |
            |___________|   Seed   |_____________________________|   Keypair    |_____________________________|
salt ------>| generate  | -------->|  generate keypair from seed | -----------> |  Sign and verify  message   |
password -->|  seed     |          |                             |              | using keypair pub/priv key  |
            |___________|          |_____________________________|      ------> |_____________________________|
                                                                        |
                                                                     message         

Parametres SCrypt : N=4096, r = 16, p = 1

4 Likes

En me basant sur ton jolie schéma, je n’ai maintenant plus besoin de duniter_tools qui pesait plus d’1Mo.

J’ai retravaillé l’interface, ajouté des options, fluidifié l’avancement, mieux exploité la puissance du pc…

Bref Gsper qu’il commence à pouvoir réellement être utile :stuck_out_tongue:

https://gsper.duniter.io/

Il y a surement moyen d’améliorer encore les perf (en limitant le nombre d’aller/retour entre worker et page principale, en utilisant du webassembly pour faire la partie scrypt+nacl, et peutêtre d’autres manière encore) mais je pense que là, le plus utile, ça va être d’ajouter d’autres générateur de variantes.

3 Likes