RustCrypto items from WANT_FROM_OTHER_CRATES
Hello! I'm one of the leads of the https://github.com/RustCrypto project.
I saw the WANT_FROM_OTHER_CRATES file and wanted to follow up on a few of the items there related to our crates, and crates we develop which might address some of the other concerns you noted in crates you aren't currently using.
crypto: * key agreement trait (Or do they have one already?)
To answer the question we don't currently have traits for this. We have a Key exchange / KEM traits issue open, which has been on the backburner somewhat.
We will likely address this via KEM traits with an API inspired by the one used by the NIST PQcrypto competition.
For us, it would be good to know if a KEM API works for you, or if you're looking for something closer to a Diffie-Hellman API.
rsa: * get raw signed data, to allow multiple signed formats.
I don't work on the
rsa crate very much, but I'd curious to know a bit more about this issue.
To address some of the issues you reported about other crates we don't maintain which you aren't currently using:
rsa-der: * Support for RSA key without OID
rsa crate has PKCS#1 support built-in, so I'm curious why you were investigating this crate (or more generally, why it exists in the first place).
We will hopefully move the
rsa crate to a PKCS#1 implementation based on the forthcoming
pem: * should use multiline support or at least not copy when decoding base64 multiline. * should be stricter?
We've definitely encountered these problems as well, and would like to extract our PEM implementation (which uses the constant-time
base64ct crate) out of the
pkcs8 crate where it presently resides into a
rfc7468 crate, which implements a strict subset of PEM useful for things like PKCS#1, PKCS#8, and PKCS#12.
Unfortunately the multi-line support we have at present also copies when decoding, so we'll also need to address that.