test_ecdh.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * Created by bmf on 11/2/13.
  3. */
  4. var assert = require('assert');
  5. var sodium = require('../build/Release/sodium');
  6. var ECDH = require('../lib/ecdh');
  7. var DHKey = require('../lib/keys/dh-key');
  8. if (process.env.COVERAGE) {
  9. ECDH = require('../lib-cov/ecdh');
  10. DHKey = require('../lib-cov/keys/dh-key');
  11. }
  12. describe("ECDH", function () {
  13. it("should calculate the same secret", function (done) {
  14. var bob = new DHKey();
  15. var alice = new DHKey();
  16. var aliceDH = new ECDH(bob.pk().get(), alice.sk().get());
  17. var bobDH = new ECDH(alice.pk().get(), bob.sk().get());
  18. var bobSecret = bobDH.secret();
  19. var aliceSecret = aliceDH.secret();
  20. assert.deepEqual(bobSecret,aliceSecret);
  21. done();
  22. });
  23. it("should calculate the same session key", function (done) {
  24. var bob = new DHKey();
  25. var alice = new DHKey();
  26. var aliceDH = new ECDH(bob.pk().get(), alice.sk().get());
  27. var bobDH = new ECDH(alice.pk().get(), bob.sk().get());
  28. var bobSecret = bobDH.sessionKey();
  29. var aliceSecret = aliceDH.sessionKey();
  30. assert.deepEqual(bobSecret, aliceSecret);
  31. done();
  32. });
  33. });