Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
exports.compute = function (arr, successCallback, failureCallback, jiff_instance) {
if (jiff_instance == null) {
jiff_instance = saved_instance;
}
var final_deferred = $.Deferred();
var final_promise = final_deferred.promise();
console.log('About to share array')
// SHARE VECTOR & SECRET ADD
jiff_instance.share_array(arr).then(function (shares_2d) {
var results = [];
for (var i = 0; i < shares_2d[1].length; i++) {
var sum = shares_2d[1][i];
for (var j = 2; j <= jiff_instance.party_count; j++) {
sum = sum.sadd(shares_2d[j][i]);
}
results.push(sum.open())//.then(successCallback, failureCallback));
}
threshold = receivers_list.length;
}
// Get the id of the triplet needed.
if (triplet_id == null) {
triplet_id = jiff.counters.gen_triplet_id(receivers_list);
}
// Send a request to the server.
var msg = { triplet_id: triplet_id, receivers: receivers_list, threshold: threshold, Zp: Zp, ratios: receivers_ratios};
msg = jiff.execute_array_hooks('beforeOperation', [jiff, 'triplet', msg], 2);
msg = JSON.stringify(msg);
// Setup deferred to handle receiving the triplets later.
var a_deferred = $.Deferred();
var b_deferred = $.Deferred();
var c_deferred = $.Deferred();
jiff.deferreds[triplet_id] = {a: a_deferred, b: b_deferred, c: c_deferred};
// send a request to the server.
if (jiff.id === 's1') {
jiff.socket.safe_emit('triplet', msg);
} else {
var cipher = jiff.hooks.encryptSign(jiff, msg, jiff.keymap['s1'], jiff.secret_key);
jiff.socket.safe_emit('triplet', JSON.stringify(cipher));
}
var a_share = jiff.secret_share(jiff, false, a_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':a', receivers_ratios);
var b_share = jiff.secret_share(jiff, false, b_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':b', receivers_ratios);
var c_share = jiff.secret_share(jiff, false, c_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':c', receivers_ratios);
return [a_share, b_share, c_share];
function jiff_triplet(jiff, receivers_list, threshold, Zp, triplet_id) {
if(Zp == null) Zp = jiff.Zp;
if(receivers_list == null) {
receivers_list = [];
for(var i = 1; i <= jiff.party_count; i++) receivers_list.push(i);
}
// Get the id of the triplet needed.
if(triplet_id == null) triplet_id = jiff.counters.gen_triplet_id(receivers_list);
// Send a request to the server.
var msg = JSON.stringify({triplet_id: triplet_id, receivers: receivers_list, threshold: threshold, Zp: Zp});
// Setup deferreds to handle receiving the triplets later.
var a_deferred = $.Deferred();
var b_deferred = $.Deferred();
var c_deferred = $.Deferred();
jiff.deferreds[triplet_id] = { a: a_deferred, b: b_deferred, c: c_deferred };
// send a request to the server.
if(jiff.id == "s1")
jiff.triplets_socket.safe_emit('triplet', msg);
else
jiff.triplets_socket.safe_emit('triplet', jiff.hooks.encryptSign(msg, jiff.keymap["s1"], jiff.secret_key, 'triplet'));
var a_share = jiff.secret_share(jiff, false, a_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":a");
var b_share = jiff.secret_share(jiff, false, b_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":b");
var c_share = jiff.secret_share(jiff, false, c_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":c");
return [ a_share, b_share, c_share ];
}
function jiff_triplet(jiff, receivers_list, threshold, Zp, triplet_id) {
if(Zp == null) Zp = jiff.Zp;
if(receivers_list == null)
for(var i = 1; i <= jiff.party_count; i++) receivers_list.push(i);
// Get the id of the triplet needed.
if(triplet_id == null) triplet_id = jiff.counters.gen_triplet_id(receivers_list);
// Send a request to the server.
var msg = JSON.stringify({triplet_id: triplet_id, receivers: receivers_list, threshold: threshold, Zp: Zp});
// Setup deferreds to handle receiving the triplets later.
var a_deferred = $.Deferred();
var b_deferred = $.Deferred();
var c_deferred = $.Deferred();
jiff.deferreds[triplet_id] = { a: a_deferred, b: b_deferred, c: c_deferred };
// send a request to the server.
if(jiff.id == "s1")
jiff.triplets_socket.safe_emit('triplet', msg);
else
jiff.triplets_socket.safe_emit('triplet', jiff.hooks.encryptSign(msg, jiff.keymap["s1"], jiff.secret_key, 'triplet'));
var a_share = jiff.secret_share(jiff, false, a_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":a");
var b_share = jiff.secret_share(jiff, false, b_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":b");
var c_share = jiff.secret_share(jiff, false, c_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":c");
return [ a_share, b_share, c_share ];
}
if (threshold == null) {
threshold = receivers_list.length;
}
// Get the id of the triplet needed.
if (triplet_id == null) {
triplet_id = jiff.counters.gen_triplet_id(receivers_list);
}
// Send a request to the server.
var msg = { triplet_id: triplet_id, receivers: receivers_list, threshold: threshold, Zp: Zp, ratios: receivers_ratios};
msg = jiff.execute_array_hooks('beforeOperation', [jiff, 'triplet', msg], 2);
msg = JSON.stringify(msg);
// Setup deferred to handle receiving the triplets later.
var a_deferred = $.Deferred();
var b_deferred = $.Deferred();
var c_deferred = $.Deferred();
jiff.deferreds[triplet_id] = {a: a_deferred, b: b_deferred, c: c_deferred};
// send a request to the server.
if (jiff.id === 's1') {
jiff.socket.safe_emit('triplet', msg);
} else {
var cipher = jiff.hooks.encryptSign(jiff, msg, jiff.keymap['s1'], jiff.secret_key);
jiff.socket.safe_emit('triplet', JSON.stringify(cipher));
}
var a_share = jiff.secret_share(jiff, false, a_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':a', receivers_ratios);
var b_share = jiff.secret_share(jiff, false, b_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':b', receivers_ratios);
var c_share = jiff.secret_share(jiff, false, c_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id + ':c', receivers_ratios);
function jiff_triplet(jiff, receivers_list, threshold, Zp, triplet_id) {
if(Zp == null) Zp = jiff.Zp;
if(receivers_list == null) {
receivers_list = [];
for(var i = 1; i <= jiff.party_count; i++) receivers_list.push(i);
}
// Get the id of the triplet needed.
if(triplet_id == null) triplet_id = jiff.counters.gen_triplet_id(receivers_list);
// Send a request to the server.
var msg = JSON.stringify({triplet_id: triplet_id, receivers: receivers_list, threshold: threshold, Zp: Zp});
// Setup deferreds to handle receiving the triplets later.
var a_deferred = $.Deferred();
var b_deferred = $.Deferred();
var c_deferred = $.Deferred();
jiff.deferreds[triplet_id] = { a: a_deferred, b: b_deferred, c: c_deferred };
// send a request to the server.
if(jiff.id == "s1")
jiff.triplets_socket.safe_emit('triplet', msg);
else
jiff.triplets_socket.safe_emit('triplet', jiff.hooks.encryptSign(msg, jiff.keymap["s1"], jiff.secret_key, 'triplet'));
var a_share = jiff.secret_share(jiff, false, a_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":a");
var b_share = jiff.secret_share(jiff, false, b_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":b");
var c_share = jiff.secret_share(jiff, false, c_deferred.promise(), undefined, receivers_list, threshold, Zp, triplet_id+":c");
return [ a_share, b_share, c_share ];
}
exports.compute = function (input, jiff_instance) {
try {
if (jiff_instance == null) {
jiff_instance = saved_instance;
}
var final_deferred = $.Deferred();
var final_promise = final_deferred.promise();
// Share the arrays
jiff_instance.share_array(input, input.length).then(function (shares) {
try {
// sum all shared input arrays element wise
var array = shares[1];
for (var p = 2; p <= jiff_instance.party_count; p++) {
for (var i = 0; i < array.length; i++) {
array[i] = array[i].sadd(shares[p][i]);
}
}
// sort new array
oddEvenSort(array, 0, array.length);
// Open the array
exports.compute = function (input, jiff_instance) {
if (jiff_instance == null) {
jiff_instance = saved_instance;
}
// Convert the input string into an array of numbers
// each number is the ascii encoding of the character at the same index
var arr = [];
for (var p= 0; p < input.length; p++) {
arr.push(input.charCodeAt(p));
}
var final_deferred = $.Deferred();
var final_promise = final_deferred.promise();
var promise = jiff_instance.share_array(arr);
promise.then(function (shares) {
var result = [];
for (var p = 1; p <= jiff_instance.party_count; p++) {
result = result.concat(shares[p]);
}
var promises = [];
for (var i = 0; i < result.length; i++) {
promises.push(jiff_instance.open(result[i]));
}
// Handle the results
exports.compute = function (input, jiff_instance) {
if (jiff_instance == null) {
jiff_instance = saved_instance;
}
var final_deferred = $.Deferred();
var final_promise = final_deferred.promise();
// Share the arrays
jiff_instance.share_array(input, input.length).then(function (shares) {
// sum all shared input arrays element wise
var array = shares[1];
for (var p = 2; p <= jiff_instance.party_count; p++) {
for (var i = 0; i < array.length; i++) {
array[i] = array[i].sadd(shares[p][i]);
}
}
// shuffle new array
var shuffled = shuffle(array, jiff_instance);
// Open the array
function receive_share(jiff, sender_id, share, op_id) {
// Decrypt share
share = jiff.hooks.decryptSign(share, jiff.secret_key, jiff.keymap[sender_id], 'share');
// Call hook
share = jiff.execute_array_hooks('receiveShare', [jiff, sender_id, share], 2);
// check if a deferred is set up (maybe the share was received early)
if(jiff.deferreds[op_id] == null) jiff.deferreds[op_id] = {};
if(jiff.deferreds[op_id][sender_id] == null)
// Share is received before deferred was setup, store it.
jiff.deferreds[op_id][sender_id] = $.Deferred();
// Deferred is already setup, resolve it.
jiff.deferreds[op_id][sender_id].resolve(share);
}