Skip to content

Commit 012a203

Browse files
committed
Updating encrypt and decrypt tools
1 parent 1ae3e06 commit 012a203

2 files changed

Lines changed: 31 additions & 2 deletions

File tree

nodejs/decrypt.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var ece = require('./ece.js');
66

77
if (process.argv.length < 7) {
88
console.warn('Usage: ' + process.argv.slice(0, 2).join(' ') +
9-
' <receiver-private> <receiver-public> <sender-public> <salt> <message>');
9+
' <receiver-private> <receiver-public> <sender-public> <salt> <message> [auth-secret]');
1010
process.exit(2);
1111
}
1212

@@ -23,7 +23,8 @@ ece.saveKey('keyid', receiver, "P-256");
2323
var result = ece.decrypt(base64.decode(process.argv[6]), {
2424
keyid: 'keyid',
2525
dh: process.argv[4],
26-
salt: process.argv[5]
26+
salt: process.argv[5],
27+
authSecret: process.argv[7]
2728
});
2829

2930
console.log(base64.encode(result));

nodejs/encrypt.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'use strict';
2+
3+
var base64 = require('urlsafe-base64');
4+
var crypto = require('crypto');
5+
var ece = require('./ece.js');
6+
7+
if (process.argv.length < 4) {
8+
console.warn('Usage: ' + process.argv.slice(0, 2).join(' ') +
9+
' <receiver-public> <message> [auth-secret]');
10+
process.exit(2);
11+
}
12+
13+
var sender = crypto.createECDH('prime256v1');
14+
sender.generateKeys();
15+
ece.saveKey('keyid', sender, "P-256");
16+
17+
var salt = base64.encode(crypto.randomBytes(16));
18+
19+
var result = ece.encrypt(base64.decode(process.argv[3]), {
20+
keyid: 'keyid',
21+
dh: process.argv[2],
22+
salt: salt,
23+
authSecret: process.argv[4]
24+
});
25+
26+
console.log("Salt: " + salt);
27+
console.log("Public Key: " + base64.encode(sender.getPublicKey()));
28+
console.log("Encrypted Message: " + base64.encode(result));

0 commit comments

Comments
 (0)