[dup-crypto-rs] Manage cryptographic operations for the Duniter/Ğ1 eco-system

Pour ma part, je trouve dommage qu’on ne puisse pas déchiffrer un message avec plusieurs clients.
Le problème de la signature n’en ai pas un, en fait : il suffit de signer le message, ou un hash du message, dans la trame qu’on envoi.
C’est ce que je fais dans Cesium+.
Voici un exemple de message :

{
        "issuer" : "DMwEdBiWuCGkPutfvGs7fAoyaqbiA3ZXeX5grcNsg5x8",
        "recipient" : "FbvRnCM8gQdDig614qR1y1QY7x7sUN2RzXr3a9D9Rzw4",
        "title" : "jBhFV2kDyUvDxmYtoWWO1D9ZpbX+j2vyOjVuMkgWa4vTyvM6VCqZWhutwYpMmXr1vdA=",
        "content" : "sX5/XOwcZe2RUIM2jd7Wlz9NoLTvgxPbNXZtNU8Qa4vT2qApB2rHFloNFdk+mHHo+NOfwk6RZjU3gnmUN0yi3eyUIOr2FYAoltdhx6C4Zmd9JQy5jVMzKg1HfD6K7daYbtN72ZTLfIxwlnAXG8z1+Rf9hZcmRNSIpFJ6lC2IUFcrFbulE8EsZuMPtrfuLlzNoW8HButmBlfbkMlALKcOcGYhVUCFhVAiL5FSgF+sHsUZe9CtubeGPlNT9m1y2joNZ8B4/rBn97XGV5odsaZZBO5gqcRQN4Y9SJSaNEbNFdaeWIFaO4NPT0r48eXKP4OGhYeQl4vCUQGG21U+GmcJiT4hiYJm41Xwp+qyjePlJ+om",
        "time" : 1504199549,
        "nonce" : "CWKAtBXqXu2ZuifenHRBePw15e36gw3v9",
        "hash" : "965E9C4693C0B63C6F4CC6924A93354F0CE2616F91BF0243FB5A355B4222D502",
        "signature" : "f0sPHFKukSbIahwkrYzPis9T5fP73QuH6UB76IdXN0JeWfg3Gh9A0oUc/YL78QmcKaM0FrD8JoK8BqYZNd1YAQ=="
      }

On y voit donc :

  • le nonce (pour répondre à ta question plus haut)
  • la pubkey ED25215 de l’émetteur et de récepteur
  • le hash du document (sérialisé par Json.stringify(), sans le hash ni la signature)
  • la signature, du hash, avec l’algo de signature ed25519

il est donc possible de vérifier l’authenticité du message sans l’ouvrir la box.

Bon après je suis pas un pro de la crypto. J’ai sans doute fait des erreurs…

@tuxmain générer de tels messages JSON, compatible Cs+, te semble il intéressant ?

2 Likes