private-box
Advanced tools
Comparing version
29
index.js
@@ -37,3 +37,3 @@ var sodium = require('chloride') | ||
var _key = concat([new Buffer([recipients.length & max]), key]) | ||
var length_and_key = concat([new Buffer([recipients.length]), key]) | ||
return concat([ | ||
@@ -43,3 +43,3 @@ nonce, | ||
concat(recipients.map(function (r_pk, i) { | ||
return secretbox(_key, nonce, scalarmult(onetime.secretKey, r_pk)) | ||
return secretbox(length_and_key, nonce, scalarmult(onetime.secretKey, r_pk)) | ||
})), | ||
@@ -50,6 +50,2 @@ secretbox(msg, nonce, key) | ||
function get_key(ctxt, my_key) { | ||
} | ||
exports.multibox_open_key = function (ctxt, sk, max) { //, groups... | ||
@@ -62,18 +58,15 @@ | ||
var my_key = scalarmult(sk, onetime_pk) | ||
var _key, key, length, start = 24+32, size = 32+1+16 | ||
var length_and_key, key, length, start = 24+32, size = 32+1+16 | ||
for(var i = 0; i <= max; i++) { | ||
var s = start+size*i | ||
if(s + size > (ctxt.length - 16)) continue | ||
_key = secretbox_open(ctxt.slice(s, s + size), nonce, my_key) | ||
if(_key) return _key | ||
if(s + size > (ctxt.length - 16)) return null | ||
length_and_key = secretbox_open(ctxt.slice(s, s + size), nonce, my_key) | ||
if(length_and_key) return length_and_key | ||
} | ||
if(!key) return | ||
return secretbox_open(ctxt.slice(start+length*size), nonce, key) | ||
} | ||
exports.multibox_open_body = function (ctxt, _key) { //, groups... | ||
if(!_key) return | ||
var key = _key.slice(1) | ||
var length = _key[0] | ||
exports.multibox_open_body = function (ctxt, length_and_key) { //, groups... | ||
if(!length_and_key) return | ||
var key = length_and_key.slice(1) | ||
var length = length_and_key[0] | ||
var start = 24+32, size = 32+1+16 | ||
@@ -89,3 +82,1 @@ var nonce = ctxt.slice(0, 24) | ||
} | ||
{ | ||
"name": "private-box", | ||
"description": "encrypt a message to a secret number of recipients", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"homepage": "https://github.com/auditdrivencrypto/private-box", | ||
@@ -6,0 +6,0 @@ "repository": { |
@@ -6,3 +6,3 @@ | ||
var c = require('../') | ||
var sodium = require('chloride/build/Release/sodium') | ||
var sodium = require('chloride') | ||
@@ -9,0 +9,0 @@ var keypair = sodium.crypto_box_keypair |
31371
54.31%8
33.33%168
25.37%