Comparing version 4.0.0 to 4.1.0
@@ -139,4 +139,4 @@ 'use strict'; | ||
// ECDSA | ||
KeyPair.prototype.sign = function sign(msg) { | ||
return this.ec.sign(msg, this); | ||
KeyPair.prototype.sign = function sign(msg, enc, options) { | ||
return this.ec.sign(msg, this, enc, options); | ||
}; | ||
@@ -143,0 +143,0 @@ |
@@ -64,5 +64,4 @@ 'use strict'; | ||
var hash = this.hash(); | ||
for (var i = 0; i < arguments.length; i++) { | ||
for (var i = 0; i < arguments.length; i++) | ||
hash.update(arguments[i]); | ||
} | ||
return utils.intFromLE(hash.digest()).mod(this.curve.n); | ||
@@ -94,7 +93,16 @@ }; | ||
EDDSA.prototype.encodePoint = function encodePoint(point) { | ||
return utils.pointToLEYoddX(point, this.encodingLength); | ||
var enc = utils.intToLE(point.getY(), this.encodingLength); | ||
enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0; | ||
return enc; | ||
}; | ||
EDDSA.prototype.decodePoint = function decodePoint(bytes) { | ||
return utils.pointFromLEYoddX(this.curve, bytes, bytes.length); | ||
bytes = utils.parseBytes(bytes); | ||
var lastIx = bytes.length - 1; | ||
var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80); | ||
var xIsOdd = (bytes[lastIx] & 0x80) !== 0; | ||
var y = utils.intFromLE(normed); | ||
return this.curve.pointFromY(y, xIsOdd); | ||
}; | ||
@@ -101,0 +109,0 @@ |
@@ -29,3 +29,3 @@ 'use strict'; | ||
if (pub instanceof KeyPair) | ||
return pub; | ||
return pub; | ||
return new KeyPair(eddsa, { pub: pub }); | ||
@@ -32,0 +32,0 @@ }; |
@@ -180,23 +180,1 @@ 'use strict'; | ||
utils.intToLE = intToLE; | ||
function pointToLEYoddX(point, length) { | ||
var enc = intToLE(point.getY(), length); | ||
enc[length - 1] |= point.getX().isOdd() ? 0x80 : 0; | ||
return enc; | ||
} | ||
utils.pointToLEYoddX = pointToLEYoddX; | ||
function pointFromLEYoddX(curve, bytes, expectedLength) { | ||
bytes = parseBytes(bytes); | ||
if (expectedLength !== undefined) | ||
utils.assert(bytes.length === expectedLength); | ||
var lastIx = bytes.length - 1; | ||
var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80); | ||
var xIsOdd = Boolean(bytes[lastIx] & 0x80); | ||
var y = intFromLE(normed); | ||
return curve.pointFromY(y, xIsOdd); | ||
} | ||
utils.pointFromLEYoddX = pointFromLEYoddX; |
{ | ||
"name": "elliptic", | ||
"version": "4.0.0", | ||
"version": "4.1.0", | ||
"description": "EC cryptography", | ||
@@ -5,0 +5,0 @@ "main": "lib/elliptic.js", |
@@ -41,2 +41,6 @@ var assert = require('assert'); | ||
// key.sign(msg, options) | ||
var sign = keys.sign('hello', { canonical: true }); | ||
assert.notEqual(sign.toDER('hex'), keys.sign('hello').toDER('hex')); | ||
// Load public key from compact hex | ||
@@ -43,0 +47,0 @@ var keys = ecdsa.keyFromPublic(keys.getPublic(true, 'hex'), 'hex'); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2783792
7977