Current Folder
This commit is contained in:
1 parent
8b3382289b
commit
cfcada880d
4379 files changed
No files matched your search
Generated
Vendored
-34
@@ -1,34 +0,0 @@
|
||||
var BigInteger = require('../libs/jsbn.js');
|
||||
var schemes = require('../schemes/schemes.js');
|
||||
|
||||
module.exports = function (keyPair, options) {
|
||||
var pkcs1Scheme = schemes.pkcs1.makeScheme(keyPair, options);
|
||||
|
||||
return {
|
||||
encrypt: function (buffer, usePrivate) {
|
||||
var m, c;
|
||||
if (usePrivate) {
|
||||
/* Type 1: zeros padding for private key encrypt */
|
||||
m = new BigInteger(pkcs1Scheme.encPad(buffer, {type: 1}));
|
||||
c = keyPair.$doPrivate(m);
|
||||
} else {
|
||||
m = new BigInteger(keyPair.encryptionScheme.encPad(buffer));
|
||||
c = keyPair.$doPublic(m);
|
||||
}
|
||||
return c.toBuffer(keyPair.encryptedDataLength);
|
||||
},
|
||||
|
||||
decrypt: function (buffer, usePublic) {
|
||||
var m, c = new BigInteger(buffer);
|
||||
|
||||
if (usePublic) {
|
||||
m = keyPair.$doPublic(c);
|
||||
/* Type 1: zeros padding for private key decrypt */
|
||||
return pkcs1Scheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength), {type: 1});
|
||||
} else {
|
||||
m = keyPair.$doPrivate(c);
|
||||
return keyPair.encryptionScheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength));
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
Reference in new issue
Block a user