Subtle Crypto Algorithms

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
RealityRipple
Astronaut
Astronaut
Posts: 659
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California
Contact:

Subtle Crypto Algorithms

Unread post by RealityRipple » 2019-10-13, 22:08

The W3 standard behind the Crypto.Subtle class does not define any specific algorithms, listing only a few as a suggested minimum. However, it seems no browser has gone any further. I doubt Chrome or FF are going to get anything done in this area until it's absolutely necessary, and maybe not even then, so I was wondering if you'd be interested in shaming the big guys by adding some better, even quantum-safe, options?

Here's the rundown of my suggestions, from easiest (and safest) to most difficult (and therefore potentially hazardous if the code isn't perfect) to implement:
  1. ECDSA Named Curves beyond the NIST three. This would be safe and easy because they're basically just different numerical parameters for different curve names. It's also creeped people out a bit that the only supported curves are NSA creations. Edwards curves would also be a nice allowance, but that requires more than just an extended select statement, so less easy and safe.
  2. CRC32 and MD5 digest support. This would be new code, but they're so well-known that it would be difficult to mess up these days. And while they're totally useless for cryptography, they're still both in regular use for error checking. And of course Gravatar is still MD5 based.
  3. ECC support. It seems really weird to me that signing was included when encrypting wasn't. This would require some actual new code, but if Mozilla did their job right with the ECDSA implementation (what are the chances of that, though?), it shouldn't be hard to stay safe. This provides the added bonus of only needing to generate one key for both signing and encrypting, and benefits from the prior EC suggestion as well.
  4. Popular password digest algorithms. The ones that are intentionally slow to make Rainbow Tables take forever to generate. Hashing tends to be less vulnerable to attacks, but this could still be a little too advanced of a step to make without expert oversight.
  5. Supersingular Elliptic Curves. This is likely to be much more difficult than anything else on the list and therefore has a much higher chance of adding vulnerabilities to the browser. However, we're heading toward a world with 100 qubit computers right now, and it'll only take a few thousand qubits to make RSA and ECC useless. We've got about ten years, at best, unless physics throws us a real curveball. Post-quantum cryptography should be the standard today, to prevent something stolen today from being exposed in a decade.
The first suggestion will be popular in Cryptocurrency circles (secp256k1), the last suggestion with everyone else. The rest are basically quality-of-life improvements for web developers.

It might also be nice to include some symmetric key options other than AES, but that's akin to a whole new project as opposed to just improving what already exists, and would probably be best done by a team of cryptography experts.

And I know it's kind of a cheap way to do it, but it might also help Pale Moon get some media attention if it's the first browser to support one or more of these options.

User avatar
Admin
Site Admin
Site Admin
Posts: 405
Joined: 2012-05-17, 19:06

Re: Subtle Crypto Algorithms

Unread post by Admin » 2019-10-14, 10:54

You should suggest this to Mozilla since they are in charge of NSS.
Did you know that moral outrage triggers the pleasure centers of the brain? It's unlikely you can actually get addicted to outrage, but there is plausible evidence that you can become strongly predisposed to it.
Source: https://www.bbc.co.uk/programmes/p002w557/episodes/downloads - "The cooperative species" and "Behaving better online"
Image

User avatar
RealityRipple
Astronaut
Astronaut
Posts: 659
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California
Contact:

Re: Subtle Crypto Algorithms

Unread post by RealityRipple » 2019-10-14, 20:35

Admin wrote:
2019-10-14, 10:54
You should suggest this to Mozilla since they are in charge of NSS.
I didn't realize that hadn't also been forked as part of the "Goana" package.

Locked