Open DiegoMagdaleno opened 3 years ago
Hi diego! I am not sure of any urgent CoreCrypto functions we need at the moment.
@facekapow is more familiar with it than me, he may know better!
Well, we're not desperately in need of any functions right now, but implementing more of them is always nice!
I'd say some good low-hanging fruits are the various symmetric encryption modes that need to be implemented, such as CFB, CTR, XTS, and a few more. Those should be pretty simple to implement.
The RNG system is also lacking its own PRNG implementation; we're always using libc's getentropy
(which is effectively the same as reading /dev/urandom
). The PRNG would be in src/ccrng_pbkdf2.c
; the function that's stubbed in there right now is the initializer; you'd have to implement that and also add an implementation for the RNG generate
callback.
Other than those, there are quite a few more things to implement (e.g. Blowfish, RC2/4, key wrapping, various KDFs), but these are either less important or more difficult (or both).
Concerning these more complicated algorithms, could we link to something like OpenSSL or libgcrypt and translate the API calls? (Bouncy Castle seems like a pretty good option as well, as does NSS)
I would love to contribute, but I dont see a TODO file with what needs to be currently implemented in the CoreCrypto Library