From b5b035655697db4e03317b718a7ce6d6e5e8e44e Mon Sep 17 00:00:00 2001 From: Ben Adida <ben@adida.net> Date: Thu, 22 Dec 2011 08:21:58 -0800 Subject: [PATCH] Added server randomness for keygen, in case client-side is not enough --- helios/templates/election_keygenerator.html | 16 ++++++++++++---- helios/views.py | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/helios/templates/election_keygenerator.html b/helios/templates/election_keygenerator.html index 946533d..33da0dd 100644 --- a/helios/templates/election_keygenerator.html +++ b/helios/templates/election_keygenerator.html @@ -27,13 +27,21 @@ function reuse_key(secret_key_text) { show_pk(); } +// start collecting some local randomness +sjcl.random.startCollectors(); + $(document).ready(function() { clear_keys(); $('#generator').hide(); - BigInt.setup(function() { - ELGAMAL_PARAMS = ElGamal.Params.fromJSONObject({{eg_params_json|safe}}); - $('#waiting_message').hide(); - $('#generator').show(); + + // get some more server-side randomness for keygen + $.getJSON('../../get-randomness', function(result) { + sjcl.random.addEntropy(result.randomness); + BigInt.setup(function() { + ELGAMAL_PARAMS = ElGamal.Params.fromJSONObject({{eg_params_json|safe}}); + $('#waiting_message').hide(); + $('#generator').show(); + }); }); }); diff --git a/helios/views.py b/helios/views.py index ebdc81f..5721f20 100644 --- a/helios/views.py +++ b/helios/views.py @@ -508,7 +508,7 @@ def trustee_upload_pk(request, election, trustee): ## @json -@election_view(frozen=True) +@election_view() def get_randomness(request, election): """ get some randomness to sprinkle into the sjcl entropy pool -- GitLab