RFC pour les Duniter Ascii Armor Messages

Duniterpy sait chiffrer et signer des messages avec les clefs Duniter, mais le résultat est un fichier binaire. Peu pratique. Je vais ajouter le format texte, ou Duniter Ascii Armor Messages

Avant de coder la fonctionnalité dans duniterpy, (et qui donc sera rapidement accessible dans Silkaj !)

je vais rédiger une petite RFC pour les messages chiffrés et signés par les clefs Duniter sous forme de texte. Inspirée de cette RFC PGP :

https://tools.ietf.org/html/rfc4880#section-6.2

A suivre…

[EDIT]
Le document est disponible sur le gitlab. Il a sa propre branche, mais comme celle-ci hérite de master, le document de WS2P V1 est visible aussi sur cette branche.

5 Likes

Merci de faire attention de ne pas ajouter de dépendance qui n’est pas empaqueté dans Debian.
Sinon, il faudra enpaqueter cette dépendance pour la version 11 de Debian.

1 Like

Normalement il n’y a rien d’autre à faire que de convertir le bytearray en base58 et de mettre un header et un footer. Pas de dépendances donc.

Pourquoi base58 et non base64 ?

Parce que c’est mieux (dixit wikipedia) ! :grin:

Et je sais qu’on l’utilise déjà pas mal pour Duniter.

the method is well-suited to encode large integers, but not designed to encode longer portions of binary data.

Pour encoder de grosses quantités de données c’est moins bien adapté que base64, tout dépend du besoin donc :slight_smile:

1 Like

Base58 c’est bien parce que c’est compatible avec les URL. Mais a priori on mettra pas de document chiffré directement dans des liens ^^

Ok, je verrai ça ce week-end. Je partirai sur du base64 alors…

J’ai édité le premier message de ce sujet pour ajouter le lien vers le document WIP !

N’hésitez pas à me faire des retours.

Je vais faire une implémentation dans Duniterpy, ce qui me permettra certainement d’améliorer ce document.

Je dis ça comme ça sans trop y réfléchir mais : les paramètres NRP ne devraient-ils pas faire partie des metadonnée de chiffrement ?

1 Like

C’est fait, on peut préciser les paramètres de scrypt !
Merci pour l’idée @inso !

1 Like

C’est en codant qu’on devient coderond…

Je me rend compte, après avoir codé le champ “scrypt” dans les ascii armor messages de duniterpy, qu’il ne sert à rien… Ni au logiciel, pour qu’il sache comment parser les messages, ni aux utilisateurs qui travaillent avec leurs credentials et leurs clef publiques… Bref, j’ai retourné le truc en tout sens, pas besoin de ces infos finalement.

Par contre, afficher la clef publique ayant servie à chiffrer ou permettant de vérifier les signatures pourrait être intéressant, mais il est plus sécurisé je pense de transmettre ces clefs via un autre canal que les messages…

Donc je vais supprimer le champ “scrypt” de la RFC et des Ascii Armor Messages.
Si quelqu’un a une objection, qu’il parle maintenant ou se taise à jamais, comme on dit… :wink:

1 Like