browserify / browserify/diffie-hellman
nodejs crypto module DH secret hash is not the same with diffie-hellman/browser
- Langage dominant
- JavaScript
- Étoiles
- 95
- Forks
- 26
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I do a test about crypto module with diffie-hellman/browser
- When I use the followed , DH secret hex is not the same,
```
var dh1_secret = dh1.computeSecret(dh2.getPublicKey('hex'), 'hex');
var dh2_secret = dh2.computeSecret(dh1.getPublicKey('hex'), 'hex');
console.log(dh1_secret.toString('hex') === dh2_secret.toString('hex')); // false
```
- when I use the followed, DH secret is the same,
```
var dh1_secret = dh1.computeSecret(dh2.getPublicKey());
var dh2_secret = dh2.computeSecret(dh1.getPublicKey()); // true
```
**The followed is the completed code.**
```
var myCrypto = require('./browser');
var crypto = require('./');
p1 = "modp18"
var dh1 = myCrypto.getDiffieHellman(p1);
let dh1_secret_key = dh1.generateKeys();
let dh1_pk = dh1.getPublicKey('hex');
let dh2 = myCrypto.getDiffieHellman(p1);
let dh2_secret_key = dh2.generateKeys();
var dh1_secret = dh1.computeSecret(dh2.getPublicKey('hex'), 'hex');
var dh2_secret = dh2.computeSecret(dh1.getPublicKey('hex'), 'hex');
console.log(dh1_secret.toString('hex') === dh2_secret.toString('hex'));
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par comparer l’implémentation du navigateur utilisée via ./browser avec le module standard utilisé via ./, en vous concentrant sur getDiffieHellman, getPublicKey('hex') et computeSecret(..., 'hex'). Reproduisez l’exemple modp18 et vérifiez si les deux côtés produisent des secrets hexadécimaux identiques ; l’issue est terminée lorsque l’écart est expliqué et qu’une vérification de non-régression couvre les appels présentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, nodejs
- Domaine
- cryptography
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100