Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-rsa

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-rsa - npm Package Compare versions

Comparing version 0.3.3 to 0.3.4

2

package.json
{
"name": "node-rsa",
"version": "0.3.3",
"version": "0.3.4",
"description": "Node.js RSA library",

@@ -5,0 +5,0 @@ "main": "src/NodeRSA.js",

@@ -239,3 +239,3 @@ # Node-RSA

## Changelog
### 0.3.3

@@ -242,0 +242,0 @@ * Fixed PSS encode/verify methods with max salt length.

@@ -21,2 +21,3 @@ /**

* @param key
* @param options
* options [Object] An object that contains the following keys that specify certain options for encoding.

@@ -35,5 +36,7 @@ * └>signingSchemeOptions

Scheme.prototype.sign = function (buffer) {
var encoded = this.emsa_pss_encode(buffer, this.key.keySize - 1);
var res = this.key.$doPrivate(new BigInteger(encoded)).toBuffer(this.key.encryptedDataLength);
return res;
var mHash = crypt.createHash(this.options.signingSchemeOptions.hash || DEFAULT_HASH_FUNCTION);
mHash.update(buffer);
var encoded = this.emsa_pss_encode(mHash.digest(), this.key.keySize - 1);
return this.key.$doPrivate(new BigInteger(encoded)).toBuffer(this.key.encryptedDataLength);
};

@@ -50,3 +53,6 @@

return this.emsa_pss_verify(buffer, m, this.key.keySize - 1);
var mHash = crypt.createHash(this.options.signingSchemeOptions.hash || DEFAULT_HASH_FUNCTION);
mHash.update(buffer);
return this.emsa_pss_verify(mHash.digest(), m, this.key.keySize - 1);
};

@@ -57,7 +63,7 @@

*
* M [Buffer] Message to encode
* mHash [Buffer] Hashed message to encode
* emBits [uint] Maximum length of output in bits. Must be at least 8hLen + 8sLen + 9 (hLen = Hash digest length in bytes | sLen = length of salt in bytes)
* @returns {Buffer} The encoded message
*/
Scheme.prototype.emsa_pss_encode = function (M, emBits) {
Scheme.prototype.emsa_pss_encode = function (mHash, emBits) {
var hash = this.options.signingSchemeOptions.hash || DEFAULT_HASH_FUNCTION;

@@ -77,6 +83,2 @@ var mgf = this.options.signingSchemeOptions.mgf || OAEP.eme_oaep_mgf1;

var mHash = crypt.createHash(hash);
mHash.update(M);
mHash = mHash.digest();
var salt = crypt.randomBytes(sLen);

@@ -124,3 +126,3 @@

*
* M [Buffer] Message
* mHash [Buffer] Hashed message
* EM [Buffer] Signature

@@ -130,3 +132,3 @@ * emBits [uint] Length of EM in bits. Must be at least 8hLen + 8sLen + 9 to be a valid signature. (hLen = Hash digest length in bytes | sLen = length of salt in bytes)

*/
Scheme.prototype.emsa_pss_verify = function (M, EM, emBits) {
Scheme.prototype.emsa_pss_verify = function (mHash, EM, emBits) {
var hash = this.options.signingSchemeOptions.hash || DEFAULT_HASH_FUNCTION;

@@ -163,11 +165,4 @@ var mgf = this.options.signingSchemeOptions.mgf || OAEP.eme_oaep_mgf1;

/* mask = 0;
var bits = emBits - 8 * (emLen - 1);
for (i = 0; i < bits; i++) {
mask |= 1 << i;
}
DB[0] &= mask;*/
var bits = 8 * emLen - emBits;
var mask = 255 ^ (255 >> 8 - bits << 8 - bits);
bits = 8 * emLen - emBits;
mask = 255 ^ (255 >> 8 - bits << 8 - bits);
DB[0] = DB[0] & mask;

@@ -183,6 +178,2 @@

var mHash = crypt.createHash(hash);
mHash.update(M);
mHash = mHash.digest();
var Mapostrophe = new Buffer(8 + hLen + sLen);

@@ -201,2 +192,2 @@ Mapostrophe.fill(0, 0, 8);

return new Scheme(key, options);
};
};

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