HelloZeroNet / HelloZeroNet/ZeroNet

Switch to Ed25519 for keys

Ouverte
#2,784 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
18.8k
Forks
2.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Currently, ZeroNet uses ECDSA for its signatures. It would probably be a good idea to switch to Ed25519 long-term, for the following reasons:

  • Ed25519 public keys are slightly shorter than ECDSA keys (33 vs 32 bytes, no 64-byte "uncompressed" public key format)
  • Ed25519 is slightly easier to implement securely, because side channel attacks are harder to pull off, and because there is no need for a secure RNG to make signatures
  • Ed25519 is what BitTorrent uses, so it would be beneficial for interoperability if that ever happens
  • Using ECDSA in the Base58 encoding encourages unsafe kinds of key reuse

In principle, this is not an urgent change, and it would be breaking, so it's probably reasonable to do this at the same time as #2781.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Aucun fichier, test ou point d’entrée n’est nommé. Commencez par clarifier le périmètre de la migration et de la compatibilité avec l’issue #2781, puis retracez où ZeroNet crée, encode, vérifie actuellement les clés ECDSA et interopère avec elles ; le travail est terminé lorsque la transition incompatible vers Ed25519 est spécifiée sur l’ensemble de ces chemins.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
cryptography
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.