It's a dangerous addition which could lead users of browsers without crypto.getRandomValues support believe that they are equally secure as browsers that support it. Generating random data differently depending on which browser the user is using is dangerous and needs to be met with skepticism. Don't get me wrong, of course innovation should be welcomed and encouraged. However I find it quite misleading to fail over to a nontested PRNG instead of notifying the user that if they switch to any modern browser that supports the replaced function all is well.

Let's be honest towards each other: it's no coincidence that Mozilla spent five years finalizing exactly crypto.getRandomValues[1]. Those five years weren't wasted, random entropy generation for cryptography is extremely sensitive, those five years were spent to ensure validity. David Dahl's and other pilgrims' work should not be ignored merely because it is easy to call an alternative method when something is missing.

Let's start from the relevant beginning: where's the proof that shows that the Fortuna PRNG has been properly ported to JavaScript? Why did Fortuna never make it past the old -mm branch of the Linux kernel as a random.c replacement[2]? In this thread I see an implemented suggested alternative but no proof validating the fail over to Fortuna to begin with.

Welcoming attitudes by all means, cryptography is extremely fragile. It's not about resources, it's about science. Anyone implementing Fortuna before considering its actual strength and use is clearly not prioritizing security but the functionality across browsers. So, do we want secure cryptography or broken implementations that work across browsers?

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=440046
[2] http://jlcooke.ca/random/

/N

On 2013-06-23 16:50, Thomas Oberndörfer wrote:
On Sun, Jun 23, 2013 at 8:53 AM, Niklas <[email protected] <mailto:[email protected]>> wrote:

    Then perhaps you should leave it alone. People don't replace important


I would appreciate a more welcoming attitude towards contributions.
This functionality is not a replacement but an addition. If there are currently
no resources in this project to evaluate its correctness - fair enough.

Thomas


On Sun, Jun 23, 2013 at 8:53 AM, Niklas <[email protected] <mailto:[email protected]>> wrote:

    On 2013-06-23 13:24, Dr. M. Weihrauch wrote:
    > I don't exactly know

    Then perhaps you should leave it alone. People don't replace important
    functionality because it's mad easy to do wrong and can have
    catastrophical impact on those that rely on it for security, not
    because
    it's a programmatic challenge calling an alternative method when the
    original one is missing.

    /N
    _______________________________________________

    http://openpgpjs.org




_______________________________________________

http://openpgpjs.org

_______________________________________________

http://openpgpjs.org

Reply via email to