diff --git a/helios/templates/election_keygenerator.html b/helios/templates/election_keygenerator.html index 946533d523919b422d1091cb44fc57bbbfb5742d..33da0dd0191ddf1b8eef6ec5b2db2409ad88bc12 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 ebdc81fafa973097bd32e52819f84cc7f4cf4d10..5721f2093d9c4185d5259475eae3aa8f8926c5f4 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