Login Register

Request for input: crypto

Hey all, While trying to finish up tasks for the upcoming 0.4 release (scheduled for late October), I'm looking ahead to the 0.5 release--in which I'm supposed to implement the majority of dojo.crypto. I don't think that will happen in full, so I'd like to prioritize--and I'd like your help. So... What crypto algorithms would you want to see implemented in Dojo? On my plate right now is the SHA series (different bit depths, up to 256 I think, although I may implement 512 as well), and an implementation of Rjindael. What else would you like to see?

My votes would be for (in

My votes would be for (in order): * SHA 256 * AES * DSA

SHA-1 to SHA-512 and MD5 for

SHA-1 to SHA-512 and MD5 for hashing. AES for 2 way.

As mentioned, SHA and AES

As mentioned, SHA and AES are the biggies. AES should include a CBC block mode. In fact, I don't know why you'd bother with anything else. Blowfish might be a nice alternative for the paranoid. But the real big news would be RSA encryption support. Being able to sign requests, or decrypt AES keys client-side, would be un-freeking-believably cool, and solve real problems out in the wild.

Andy--MD5 is already

Andy--MD5 is already available :)

Not sure anyone has really

Not sure anyone has really noticed, but Blowfish (with both EBC and CBC modes) is already available in Dojo. RSA would be nice but it requires big integer support, and that ends up being *slow* in JavaScript. But I'll put it on my list.

RSA is the only definite one

RSA is the only definite one on my list besides SHA and AES. Of course there's the implementation at http://www.ohdave.com/rsa/ to give you a start but I'm sure it could be tweaked for speed and object-orientedness.

Blowfish is there, just

Blowfish is there, just don't lose it please!

andy said: ...MD5 for

andy said: ...MD5 for hashing. I support that... Having hashing like MD5 would be great to have.

Blowfish is not going away,

Blowfish is not going away, and MD5 is already there.

RSA - need public key

RSA - need public key encryption for passing data without shared secrets.

AES-256 definitely, with

AES-256 definitely, with SHA-256 to be able to generate keys for it =)