browserify / browserify/diffie-hellman

nodejs crypto module DH secret hash is not the same with diffie-hellman/browser

Offen
#30 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
JavaScript
Sterne
95
Forks
26
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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'));
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem Vergleich der über ./browser verwendeten Browser-Implementierung mit dem über ./ verwendeten regulären Modul und konzentriere dich dabei auf getDiffieHellman, getPublicKey('hex') und computeSecret(..., 'hex'). Reproduziere das modp18-Beispiel und überprüfe, ob beide Seiten identische hexadezimale Geheimnisse erzeugen; das Issue ist abgeschlossen, wenn die Abweichung erklärt ist und eine Regression-Prüfung die demonstrierten Aufrufe abdeckt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, nodejs
Bereich
cryptography
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.