Socket
Socket
Sign inDemoInstall

elliptic

Package Overview
Dependencies
Maintainers
1
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elliptic - npm Package Compare versions

Comparing version 5.1.0 to 5.2.0

48

lib/elliptic/curves.js

@@ -87,2 +87,50 @@ 'use strict';

defineCurve('p384', {
type: 'short',
prime: null,
p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'fffffffe ffffffff 00000000 00000000 ffffffff',
a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'fffffffe ffffffff 00000000 00000000 fffffffc',
b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +
'5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',
n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +
'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',
hash: hash.sha384,
gRed: false,
g: [
'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +
'5502f25d bf55296c 3a545e38 72760ab7',
'3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +
'0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'
]
});
defineCurve('p521', {
type: 'short',
prime: null,
p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'ffffffff ffffffff ffffffff ffffffff ffffffff',
a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'ffffffff ffffffff ffffffff ffffffff fffffffc',
b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +
'99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +
'3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',
n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +
'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',
hash: hash.sha512,
gRed: false,
g: [
'000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +
'053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +
'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',
'00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +
'579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +
'3fad0761 353c7086 a272c240 88be9476 9fd16650'
]
});
defineCurve('curve25519', {

@@ -89,0 +137,0 @@ type: 'mont',

2

lib/elliptic/ec/index.js

@@ -100,3 +100,3 @@ 'use strict';

var bkey = key.getPrivate().toArray();
for (var i = bkey.length; i < 21; i++)
for (var i = bkey.length; i < bytes; i++)
bkey.unshift(0);

@@ -103,0 +103,0 @@

@@ -7,3 +7,3 @@ 'use strict';

var parseBytes = utils.parseBytes;
var lazyComputed = utils.lazyComputed;
var cachedProperty = utils.cachedProperty;

@@ -44,7 +44,7 @@ /**

lazyComputed(KeyPair, 'pubBytes', function pubBytes() {
cachedProperty(KeyPair, function pubBytes() {
return this.eddsa.encodePoint(this.pub());
});
lazyComputed(KeyPair, 'pub', function pub() {
cachedProperty(KeyPair, function pub() {
if (this._pubBytes)

@@ -55,3 +55,3 @@ return this.eddsa.decodePoint(this._pubBytes);

lazyComputed(KeyPair, 'privBytes', function privBytes() {
cachedProperty(KeyPair, function privBytes() {
var eddsa = this.eddsa;

@@ -69,11 +69,11 @@ var hash = this.hash();

lazyComputed(KeyPair, 'priv', function priv() {
cachedProperty(KeyPair, function priv() {
return this.eddsa.decodeInt(this.privBytes());
});
lazyComputed(KeyPair, 'hash', function hash() {
cachedProperty(KeyPair, function hash() {
return this.eddsa.hash().update(this.secret()).digest();
});
lazyComputed(KeyPair, 'messagePrefix', function messagePrefix() {
cachedProperty(KeyPair, function messagePrefix() {
return this.hash().slice(this.eddsa.encodingLength);

@@ -80,0 +80,0 @@ });

@@ -7,3 +7,3 @@ 'use strict';

var assert = utils.assert;
var lazyComputed = utils.lazyComputed;
var cachedProperty = utils.cachedProperty;
var parseBytes = utils.parseBytes;

@@ -43,15 +43,15 @@

lazyComputed(Signature, 'S', function S() {
cachedProperty(Signature, function S() {
return this.eddsa.decodeInt(this.Sencoded());
});
lazyComputed(Signature, 'R', function S() {
cachedProperty(Signature, function R() {
return this.eddsa.decodePoint(this.Rencoded());
});
lazyComputed(Signature, 'Rencoded', function S() {
cachedProperty(Signature, function Rencoded() {
return this.eddsa.encodePoint(this.R());
});
lazyComputed(Signature, 'Sencoded', function S() {
cachedProperty(Signature, function Sencoded() {
return this.eddsa.encodeInt(this.S());

@@ -58,0 +58,0 @@ });

@@ -153,10 +153,11 @@ 'use strict';

function lazyComputed(obj, name, computer) {
function cachedProperty(obj, computer) {
var name = computer.name;
var key = '_' + name;
obj.prototype[name] = function lazyComputed() {
obj.prototype[name] = function cachedProperty() {
return this[key] !== undefined ? this[key] :
this[key] = computer.apply(this, arguments);
this[key] = computer.call(this);
};
}
utils.lazyComputed = lazyComputed;
utils.cachedProperty = cachedProperty;

@@ -163,0 +164,0 @@ function parseBytes(bytes) {

{
"name": "elliptic",
"version": "5.1.0",
"version": "5.2.0",
"description": "EC cryptography",
"main": "lib/elliptic.js",
"scripts": {
"test": "make lint && mocha --reporter=spec test/*-test.js"
"test": "make lint && istanbul test _mocha --reporter=spec test/*-test.js",
"coveralls": "cat ./coverage/lcov.info | coveralls"
},

@@ -27,2 +28,4 @@ "repository": {

"browserify": "^3.44.2",
"coveralls": "^2.11.3",
"istanbul": "^0.3.17",
"jscs": "^1.11.3",

@@ -29,0 +32,0 @@ "jshint": "^2.6.0",

@@ -1,2 +0,2 @@

# Elliptic [![Build Status](https://secure.travis-ci.org/indutny/elliptic.png)](http://travis-ci.org/indutny/elliptic)
# Elliptic [![Build Status](https://secure.travis-ci.org/indutny/elliptic.png)](http://travis-ci.org/indutny/elliptic) [![Coverage Status](https://coveralls.io/repos/indutny/elliptic/badge.svg?branch=master&service=github)](https://coveralls.io/github/indutny/elliptic?branch=master)

@@ -3,0 +3,0 @@ Fast elliptic-curve cryptography in a plain javascript implementation.

@@ -199,2 +199,88 @@ var assert = require('assert');

});
test({
name: 'ECDSA, 384 Bits (Prime Field)',
curve: elliptic.curves.p384,
key: '6b9d3dad2e1b8c1c05b19875b6659f4de23c3b667bf297ba9aa4774078713' +
'7d896d5724e4c70a825f872c9ea60d2edf5',
pub: {
x: 'ec3a4e415b4e19a4568618029f427fa5da9a8bc4ae92e02e06aae5286b30' +
'0c64def8f0ea9055866064a254515480bc13',
y: '8015d9b72d7d57244ea8ef9ac0c621896708a59367f9dfb9f54ca84b3f' +
'1c9db1288b231c3ae0d4fe7344fd2533264720'
},
cases: [
{
message: 'sample',
hash: hash.sha224,
r: '42356e76b55a6d9b4631c865445dbe54e056d3b3431766d05092447' +
'93c3f9366450f76ee3de43f5a125333a6be060122',
s: '9da0c81787064021e78df658f2fbb0b042bf304665db721f077a429' +
'8b095e4834c082c03d83028efbf93a3c23940ca8d'
},
{
message: 'sample',
hash: hash.sha384,
r: '94edbb92a5ecb8aad4736e56c691916b3f88140666ce9fa73d6' +
'4c4ea95ad133c81a648152e44acf96e36dd1e80fabe46',
s: '99ef4aeb15f178cea1fe40db2603138f130e740a19624526203b' +
'6351d0a3a94fa329c145786e679e7b82c71a38628ac8'
},
{
message: 'test',
hash: hash.sha384,
r: '8203b63d3c853e8d77227fb377bcf7b7b772e97892a80f36a' +
'b775d509d7a5feb0542a7f0812998da8f1dd3ca3cf023db',
s: 'ddd0760448d42d8a43af45af836fce4de8be06b485e9b61b827c2f13' +
'173923e06a739f040649a667bf3b828246baa5a5'
}
],
});
test({
name: 'ECDSA, 521 Bits (Prime Field)',
curve: elliptic.curves.p521,
key: '0fad06daa62ba3b25d2fb40133da757205de67f5bb0018fee8c86e1b68c7e75' +
'caa896eb32f1f47c70855836a6d16fcc1466f6d8fbec67db89ec0c08b0e996b' +
'83538',
pub: {
x: '1894550d0785932e00eaa23b694f213f8c3121f86dc97a04e5a7167db4e5bcd3' +
'71123d46e45db6b5d5370a7f20fb633155d38ffa16d2bd761dcac474b9a2f502' +
'3a4',
y: '0493101c962cd4d2fddf782285e64584139c2f91b47f87ff82354d6630f746a2' +
'8a0db25741b5b34a828008b22acc23f924faafbd4d33f81ea66956dfeaa2bfdfcf5'
},
cases: [
{
message: 'sample',
hash: hash.sha384,
r: '1ea842a0e17d2de4f92c15315c63ddf72685c18195c2bb95e572b9c5136ca4' +
'b4b576ad712a52be9730627d16054ba40cc0b8d3ff035b12ae75168397f5' +
'd50c67451',
s: '1f21a3cee066e1961025fb048bd5fe2b7924d0cd797babe0a83b66f1e35ee' +
'af5fde143fa85dc394a7dee766523393784484bdf3e00114a1c857cde1aa2' +
'03db65d61'
},
{
message: 'sample',
hash: hash.sha512,
r: 'c328fafcbd79dd77850370c46325d987cb525569fb63c5d3bc53950e6d4c5f1' +
'74e25a1ee9017b5d450606add152b534931d7d4e8455cc91f9b15bf05ec36e37' +
'7fa',
s: '617cce7cf5064806c467f678d3b4080d6f1cc50af26ca209417308281b68af2' +
'82623eaa63e5b5c0723d8b8c37ff0777b1a20f8ccb1dccc43997f1ee0e44da4a' +
'67a'
},
{
message: 'test',
hash: hash.sha512,
r: '13e99020abf5cee7525d16b69b229652ab6bdf2affcaef38773b4b7d087' +
'25f10cdb93482fdcc54edcee91eca4166b2a7c6265ef0ce2bd7051b7cef945' +
'babd47ee6d',
s: '1fbd0013c674aa79cb39849527916ce301c66ea7ce8b80682786ad60f98' +
'f7e78a19ca69eff5c57400e3b3a0ad66ce0978214d13baf4e9ac60752f7b15' +
'5e2de4dce3'
}
],
});
});

@@ -201,0 +287,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc